From f61f1346c2356f1d8d38388efb0959e360f0e76d Mon Sep 17 00:00:00 2001 From: axoniq-devops Date: Fri, 20 Dec 2024 14:40:56 +0000 Subject: [PATCH] deploy: e6498271c6d822cc32b3de9353c9b9370e1ab26c --- .../v2024.2/release-notes/index.html | 12 +- .../v2024.2/rn-as-major-releases/index.html | 45 +++ search-index.js | 2 +- site-manifest.json | 2 +- sitemap-amqp-extension-reference.xml | 16 +- sitemap-as-faq.xml | 2 +- sitemap-as-marketplace-installation-guide.xml | 2 +- sitemap-axon-framework-extensions.xml | 2 +- sitemap-axon-framework-reference.xml | 250 ++++++------- sitemap-axon-server-installation.xml | 2 +- sitemap-axon-server-query-language-guide.xml | 36 +- sitemap-axon-server-reference.xml | 334 +++++++++--------- sitemap-axon-server-upgrade.xml | 2 +- sitemap-axoniq-console-faq.xml | 2 +- sitemap-axoniq-console-getting-started.xml | 40 +-- sitemap-axoniq-console-reference.xml | 32 +- sitemap-bikerental-console-demo.xml | 30 +- sitemap-bikerental-demo.xml | 16 +- sitemap-dead-letter-queue-guide.xml | 16 +- sitemap-deadlines-guide.xml | 20 +- sitemap-event-driven-architectures.xml | 2 +- sitemap-home.xml | 12 +- sitemap-identifier-generation-guide.xml | 4 +- sitemap-jgroups-extension-reference.xml | 12 +- sitemap-jobrunr-pro-extension-reference.xml | 4 +- sitemap-kafka-extension-reference.xml | 24 +- sitemap-kotlin-extension-reference.xml | 20 +- ...ap-message-handler-customization-guide.xml | 12 +- sitemap-meta-annotations-guide.xml | 4 +- sitemap-mongodb-extension-reference.xml | 10 +- sitemap-multitenancy-extension-reference.xml | 20 +- sitemap-playbook.xml | 10 +- sitemap-reactor-extension-reference.xml | 6 +- sitemap-reference-guide.xml | 2 +- sitemap-spring-aot-extension-reference.xml | 16 +- sitemap-spring-cloud-extension-reference.xml | 10 +- sitemap-synapse-quick-start.xml | 48 +-- sitemap-synapse-reference.xml | 268 +++++++------- sitemap-tracing-extension-reference.xml | 6 +- 39 files changed, 700 insertions(+), 653 deletions(-) diff --git a/axon-server-reference/v2024.2/release-notes/index.html b/axon-server-reference/v2024.2/release-notes/index.html index 8175d3a1..2261b1da 100644 --- a/axon-server-reference/v2024.2/release-notes/index.html +++ b/axon-server-reference/v2024.2/release-notes/index.html @@ -319,15 +319,17 @@

Release Notes

- + -Release Type -Version +

Release Type

+

Version

- -

Major

+

2024.2

+ + +

2024.1

diff --git a/axon-server-reference/v2024.2/rn-as-major-releases/index.html b/axon-server-reference/v2024.2/rn-as-major-releases/index.html index d0767aa2..4e5c3f6a 100644 --- a/axon-server-reference/v2024.2/rn-as-major-releases/index.html +++ b/axon-server-reference/v2024.2/rn-as-major-releases/index.html @@ -307,6 +307,51 @@

Major Releases

+

Release 2024.2

+
+
+

Bug fixes and improvements:

+
+
+
    +
  • +

    Improved the stability of changes to cluster topology. +When changing cluster topology, for example, adding or removing nodes from replication groups, previously occurring instabilities have been fixed by revising the implementation of configuration changes.

    +
  • +
  • +

    Improved performance of message routing with many clients. +If the environment contains many client applications (more than 500), there previously were noticeable performance impacts. +These have been fixed, and explicit configuration options have been provided.

    +
  • +
  • +

    All-new AxonServer grafana dashboard. +The dashboard we provide for Grafana was completely reworked from scratch to simplify interpretation while at the same time improve accuracy. +The new dashboard reflects the new metrics introduced in previous versions.

    +
  • +
  • +

    Fixed a bug in the search screen, resulting in results from the previous search being mixed with the current one.

    +
  • +
  • +

    Better integration in Axoniq Console

    +
  • +
  • +

    Upgraded dependencies. +AxonServer was upgraded to the latest dependencies available wherever possible.

    +
  • +
  • +

    Adding a node with an already existing node name now fails gracefully

    +
  • +
  • +

    Improved contents of the diagnostics package

    +
  • +
  • +

    Ephemeral contexts now remove entries from the global index

    +
  • +
+
+
+
+

Release 2024.1

diff --git a/search-index.js b/search-index.js index ecb356a8..7532cb89 100644 --- a/search-index.js +++ b/search-index.js @@ -1 +1 @@ -antoraSearch.initSearch(lunr, {"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1-1",[0,32.923]],["name/1-1",[]],["text/1-1",[]],["component/1-1",[]],["title/1",[0,23.019,1,10.292,2,18.624]],["name/1",[3,1.542]],["text/1",[0,5.055,1,1.205,2,2.919,4,3.158,5,5.053,6,4.803,7,4.47,8,3.059,9,3.325,10,2.408,11,5.287,12,5.842,13,4.749,14,4.555,15,3.146,16,5.053,17,5.203,18,3.423,19,5.053,20,5.125,21,4.47,22,5.053,23,4.921,24,5.377,25,4.648,26,3.995,27,4.921,28,5.287,29,4.64,30,4.555,31,4.648]],["component/1",[0,0.855,1,0.382,2,0.692]],["title/2-1",[1,8.946,32,34.152,33,36.532,34,13.993]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[1,7.912,32,30.203,34,12.375,35,29.905,36,21.067]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[1,7.092,32,27.072,34,11.092,37,19.274,38,10.916,39,17.403]],["name/2-3",[]],["text/2-3",[]],["component/2-3",[]],["title/2-4",[1,3.669,32,14.007,34,5.739,38,5.648,40,16.674,41,12.372,42,17.788,43,14.983,44,14.301,45,24.109,46,9.067,47,14.151,48,10.931,49,8.281]],["name/2-4",[]],["text/2-4",[]],["component/2-4",[]],["title/2-5",[1,7.092,32,27.072,34,11.092,36,18.883,50,25.404,51,27.351]],["name/2-5",[]],["text/2-5",[]],["component/2-5",[]],["title/2-6",[1,6.426,32,24.53,34,10.051,52,23.212,53,24.056,54,24.056,55,24.782]],["name/2-6",[]],["text/2-6",[]],["component/2-6",[]],["title/2-7",[1,6.426,32,24.53,34,10.051,52,23.212,56,21.519,57,18.499,58,17.319]],["name/2-7",[]],["text/2-7",[]],["component/2-7",[]],["title/2",[1,10.292,34,16.098,59,51.224]],["name/2",[59,2.836]],["text/2",[1,1.924,2,1.538,4,1.349,7,1.908,10,2.518,14,1.945,20,2.188,21,1.908,34,2.908,36,3.715,37,2.309,38,2.861,39,3.9,42,5.262,45,3.212,46,1.271,47,3.277,48,2.532,49,1.918,50,3.888,53,3.181,54,3.181,55,3.277,56,2.846,57,3.628,58,2.29,60,8.798,61,3.563,62,1.743,63,3.059,64,4.704,65,3.862,66,1.582,67,4.698,68,1.582,69,2.107,70,2.323,71,0.875,72,3.005,73,3.005,74,2.338,75,1.945,76,2.494,77,2.157,78,3.813,79,3.349,80,3.826,81,2.561,82,2.188,83,1.276,84,4.164,85,4.704,86,2.296,87,1.299,88,2.257,89,1.964,90,2.561,91,1.461,92,1.647,93,1.229,94,1.381,95,2.482,96,2.402,97,1.908,98,1.393,99,2.47,100,1.435,101,2.128,102,1.786,103,2.732,104,2.436,105,1.875,106,1.786,107,2.349,108,2.385,109,1.628,110,2.848,111,2.732,112,3.242,113,2.561,114,3.17,115,2.222,116,1.668,117,1.945,118,2.561,119,2.075,120,1.338,121,2.561,122,1.333,123,3.005,124,1.518,125,2.638,126,1.338,127,2.972,128,2.296,129,2.222,130,1.964,131,2.006,132,2.188,133,2.436,134,1.668,135,2.296,136,1.814,137,2.732,138,2.028,139,2.257,140,1.8,141,1.416,142,2.028,143,2.482,144,1.984,145,1.678,146,1.7,147,2.222,148,2.737,149,1.929,150,2.638,151,2.638,152,1.154,153,2.494,154,1.387,155,3.005,156,2.732,157,2.188,158,1.908,159,6.13,160,3.005,161,1.422,162,1.689,163,2.245,164,1.747,165,1.338,166,1.481,167,1.115,168,3.005,169,1.591,170,1.859,171,2.494,172,3.242,173,1.668,174,2.006,175,1.908,176,1.773,177,1.747,178,1.29,179,2.222,180,1.875,181,2.638,182,2.157,183,1.454,184,2.101]],["component/2",[59,4.056]],["title/3-1",[185,41.432,186,44.527]],["name/3-1",[]],["text/3-1",[]],["component/3-1",[]],["title/3-2",[121,60.293,187,56.145]],["name/3-2",[]],["text/3-2",[]],["component/3-2",[]],["title/3-3",[188,81.486]],["name/3-3",[]],["text/3-3",[]],["component/3-3",[]],["title/3-4",[189,81.486]],["name/3-4",[]],["text/3-4",[]],["component/3-4",[]],["title/3-5",[190,81.486]],["name/3-5",[]],["text/3-5",[]],["component/3-5",[]],["title/3-6",[191,81.486]],["name/3-6",[]],["text/3-6",[]],["component/3-6",[]],["title/3-7",[192,81.486]],["name/3-7",[]],["text/3-7",[]],["component/3-7",[]],["title/3-8",[193,81.486]],["name/3-8",[]],["text/3-8",[]],["component/3-8",[]],["title/3-9",[186,44.527,194,36.276]],["name/3-9",[]],["text/3-9",[]],["component/3-9",[]],["title/3-10",[185,41.432,195,47.738]],["name/3-10",[]],["text/3-10",[]],["component/3-10",[]],["title/3-11",[196,75.483]],["name/3-11",[]],["text/3-11",[]],["component/3-11",[]],["title/3-12",[197,22.486,198,51.224,199,54.639]],["name/3-12",[]],["text/3-12",[]],["component/3-12",[]],["title/3-13",[1,10.292,34,16.098,200,36.868]],["name/3-13",[]],["text/3-13",[]],["component/3-13",[]],["title/3",[1,7.912,34,12.375,146,26.143,185,27.059,196,40.57]],["name/3",[201,2.117,202,1.784]],["text/3",[0,0.453,1,1.496,4,0.277,5,4.449,8,0.384,9,0.929,10,0.583,15,0.529,18,0.167,34,2.228,37,0.287,38,0.576,39,0.918,44,0.412,45,1.703,48,1.342,49,1.177,50,1.341,53,0.759,54,0.396,55,0.782,57,2.335,58,1.904,62,0.601,66,0.623,67,0.331,68,0.325,69,1.293,70,0.538,71,2.389,78,0.32,83,0.262,87,0.512,91,0.3,93,0.484,94,0.544,95,0.592,96,2.428,99,1.088,100,1.454,101,0.437,105,0.385,106,0.367,107,0.56,109,0.923,114,0.309,115,0.456,119,0.426,120,0.527,121,6.565,122,0.525,124,0.861,126,0.527,132,0.45,140,0.37,141,0.803,142,2.054,146,0.964,147,1.26,148,0.94,149,1.023,152,0.655,159,0.408,162,0.665,163,0.535,165,1.356,166,0.304,167,3.275,176,0.364,178,0.732,183,0.573,185,3.506,186,5.371,187,0.49,188,2.886,189,3.251,190,3.592,191,2.494,192,2.072,193,1.122,194,0.874,195,2.557,196,4.405,197,2.598,198,5.453,199,1.987,200,2.324,202,0.561,203,0.941,204,0.774,205,0.392,206,0.421,207,1.429,208,0.542,209,0.501,210,0.464,211,0.462,212,1.382,213,0.501,214,0.464,215,0.958,216,0.279,217,0.513,218,0.578,219,1.341,220,0.774,221,0.814,222,1.906,223,1.237,224,2.838,225,1.443,226,6.726,227,1.704,228,1.183,229,0.553,230,0.385,231,1.122,232,0.69,233,0.26,234,1.029,235,1.183,236,0.617,237,0.617,238,0.526,239,0.561,240,0.617,241,3.543,242,3.953,243,2.494,244,1,245,0.489,246,0.617,247,0.586,248,1.382,249,0.759,250,0.852,251,0.653,252,2.886,253,3.334,254,0.417,255,4.491,256,0.585,257,1.177,258,2.847,259,0.561,260,1.241,261,0.467,262,0.774,263,2.01,264,0.376,265,0.617,266,0.364,267,0.437,268,1.235,269,0.513,270,0.561,271,3.067,272,1.679,273,0.443,274,1.253,275,0.726,276,0.977,277,0.501,278,0.526,279,0.392,280,1.616,281,0.521,282,0.526,283,0.697,284,1.704,285,0.376,286,0.573,287,1.094,288,0.526,289,1.46,290,0.952,291,2.434,292,0.421,293,0.526,294,0.585,295,1.704,296,0.561,297,1.076,298,1.388,299,1.19,300,1.183,301,0.376,302,0.617,303,0.617,304,0.421,305,0.617,306,0.617,307,0.617,308,0.617,309,0.617,310,1.299,311,0.906,312,1.183,313,1.707,314,1.55,315,0.915,316,0.637,317,0.555,318,1.592,319,0.48,320,0.617,321,1.183,322,0.617,323,1.073,324,0.267,325,1.704,326,0.546,327,0.362,328,1.37,329,0.345,330,0.472,331,0.48,332,0.653,333,1.55,334,0.698,335,1.122,336,1.338,337,0.362,338,0.313,339,2.768,340,0.808,341,0.426,342,1.126,343,3.066,344,1.029,345,1.03,346,1.183,347,1.076,348,1.814,349,1.704,350,1.183,351,1.183,352,1.183,353,1.183,354,1.183,355,0.777,356,0.617,357,0.85,358,1.039,359,0.617,360,0.513,361,0.513,362,0.49,363,0.617,364,0.48,365,0.617,366,0.617,367,0.617,368,0.501,369,1.183,370,0.51,371,0.464,372,0.513,373,0.426,374,0.426,375,0.357,376,0.585,377,0.759,378,0.49,379,0.84,380,1.2,381,0.385,382,0.617,383,0.617,384,0.585,385,0.617,386,0.617,387,0.617,388,0.617,389,0.617,390,0.617,391,0.617,392,1.183,393,0.617,394,0.617,395,0.546,396,0.48,397,0.585,398,0.766,399,1.183,400,1.442,401,0.542,402,2.837,403,0.472,404,0.661,405,0.501,406,0.327,407,0.617,408,0.748,409,0.617,410,0.501,411,0.561,412,1.122,413,1.122,414,0.526,415,0.345,416,0.526,417,0.617,418,1.88,419,2.173,420,0.679,421,1.859,422,1.115,423,0.688,424,2.185,425,0.904,426,0.408,427,0.404,428,2.578,429,1.183,430,1.224,431,0.585,432,0.364,433,1.26,434,0.617,435,1.241,436,0.617,437,0.617,438,0.617,439,3.005,440,1.704,441,1.704,442,1.704,443,1.704,444,0.617,445,1.592,446,1.126,447,0.617,448,0.617,449,0.617,450,0.617,451,0.617,452,0.617,453,0.617,454,0.617,455,0.617,456,0.617,457,0.617,458,0.617,459,0.617,460,3.623,461,4.125,462,3.105,463,4.125,464,0.617,465,3.516,466,3.274,467,0.617,468,0.617,469,0.617,470,0.617,471,0.617,472,0.617,473,0.617,474,0.617,475,0.617,476,0.617,477,0.617,478,0.617,479,0.617,480,0.617,481,0.617,482,0.617,483,0.617,484,0.617,485,0.426,486,0.561,487,0.285,488,1.206,489,0.904,490,0.456,491,0.349,492,0.617,493,0.617,494,0.464,495,1.145,496,0.437,497,0.392,498,0.634,499,0.404,500,0.339,501,0.412,502,0.352,503,0.437,504,0.542,505,0.404,506,0.49,507,0.561,508,0.585,509,0.617,510,0.617,511,1.029,512,0.325,513,0.334,514,0.292,515,0.617,516,0.561,517,0.376,518,0.426,519,0.526,520,0.367,521,0.412,522,0.421,523,0.526,524,2.185,525,0.542,526,0.501,527,0.617,528,0.542,529,0.585,530,0.404,531,0.45,532,0.426,533,0.417,534,0.526,535,0.526,536,0.426,537,0.542,538,0.329,539,0.306,540,0.404,541,0.373,542,0.389,543,0.45,544,0.542,545,0.617,546,0.526,547,0.437,548,0.367,549,0.382,550,0.325,551,0.585,552,0.339,553,0.249,554,0.561,555,0.586,556,0.604,557,0.617,558,0.464,559,0.617,560,0.341,561,1.183,562,0.347,563,0.783,564,1.076,565,0.617,566,0.437,567,3.429,568,0.318,569,0.376,570,0.542,571,0.307,572,1.114,573,0.617,574,2.416,575,3.044,576,1.183,577,0.617,578,0.617,579,0.617,580,0.49,581,0.437,582,0.352,583,4.491,584,0.501,585,0.561,586,2.185,587,0.617,588,1.919,589,2.144,590,1.863,591,2.314,592,1.183,593,0.49,594,1.55,595,0.617,596,0.456,597,0.617,598,0.617,599,0.617,600,0.561,601,0.617,602,0.617,603,1.046,604,1.183,605,1.701,606,0.983,607,1.122,608,3.044,609,2.722,610,0.617,611,0.617,612,0.617,613,3.044,614,1.704,615,0.984,616,0.617,617,0.617,618,0.617,619,1.183,620,1.076,621,1.183,622,1.063,623,1.183,624,0.617,625,1.183,626,0.472,627,0.617,628,0.437,629,0.617,630,1.183,631,0.617,632,1.704,633,1.704,634,1.029,635,0.883,636,0.617,637,1.183,638,0.958,639,1.183,640,1.009,641,1.183,642,0.645,643,1.183,644,1.183,645,1.183,646,0.617,647,1.183,648,0.315,649,0.617,650,0.617,651,1.183,652,0.617,653,0.408,654,0.392,655,0.417,656,0.45,657,0.542,658,0.617,659,0.432,660,0.542,661,1.183,662,1.183,663,0.617,664,0.542,665,0.396,666,0.939,667,0.585,668,0.623,669,0.472,670,0.408,671,0.297,672,0.289,673,0.561,674,0.732,675,0.617,676,0.617,677,0.349,678,0.703,679,0.354,680,0.417,681,0.357]],["component/3",[1,0.382,34,0.598,146,1.264]],["title/4-1",[682,58.729,683,42.701]],["name/4-1",[]],["text/4-1",[]],["component/4-1",[]],["title/4-2",[62,16.531,116,33.359,289,33.359]],["name/4-2",[]],["text/4-2",[]],["component/4-2",[]],["title/4-3",[0,27.094,670,46.72]],["name/4-3",[]],["text/4-3",[]],["component/4-3",[]],["title/4-4",[145,39.514,684,42.701]],["name/4-4",[]],["text/4-4",[]],["component/4-4",[]],["title/4",[1,8.946,34,13.993,145,29.181,685,49.523]],["name/4",[686,3.59]],["text/4",[0,3.012,1,1.92,8,2.087,14,2.686,34,3.002,37,2.99,39,1.743,49,1.603,58,4.087,62,1.767,71,2.29,94,4.403,99,2.065,116,4.365,124,2.096,132,3.022,133,3.364,140,3.848,142,5.975,145,4.393,148,2.289,149,3.058,152,3.402,161,1.964,177,3.736,179,3.068,183,3.11,185,2.43,186,2.612,226,5.186,241,4.574,242,5.848,244,2.942,253,2.611,258,3.117,268,3.691,269,7.351,276,2.379,287,2.673,289,2.303,291,3.463,297,3.772,298,4.081,301,2.524,311,2.664,315,1.738,328,2.161,339,3.772,375,2.396,420,2.379,511,1.623,571,2.065,670,5.194,685,6.091,687,6.091,688,7.939,689,3.536,690,2.261,691,3.975,692,2.866,693,3.772,694,7.863,695,3.022,696,2.303,697,3.022,698,6.932,699,4.149,700,4.476,701,4.149,702,2.128,703,4.476,704,3.068,705,6.932,706,4.476,707,4.476,708,2.612,709,1.834,710,4.476,711,3.933,712,2.379,713,3.117,714,2.712,715,3.117,716,2.566,717,3.772,718,3.536]],["component/4",[1,0.382,34,0.598,145,1.247]],["title/5-1",[9,13.247,32,24.53,175,23.833,719,31.982,720,30.426,721,13.247,722,16.162]],["name/5-1",[]],["text/5-1",[]],["component/5-1",[]],["title/5-2",[32,34.152,149,20.313,197,19.546,723,29.181]],["name/5-2",[]],["text/5-2",[]],["component/5-2",[]],["title/5-3",[9,16.311,32,30.203,70,14.585,233,19.482,721,16.311]],["name/5-3",[]],["text/5-3",[]],["component/5-3",[]],["title/5-4",[1,5.41,9,11.153,32,20.651,34,8.461,98,14.641,268,14.826,281,13.91,336,12.32,721,11.153]],["name/5-4",[]],["text/5-4",[]],["component/5-4",[]],["title/5-5",[9,12.11,32,22.424,63,11.305,70,10.828,98,15.898,370,14.775,721,12.11,724,19.808]],["name/5-5",[]],["text/5-5",[]],["component/5-5",[]],["title/5-6",[32,20.651,87,13.656,716,19.541,725,31.589,726,26.226,727,22.377,728,49.017,729,19.884]],["name/5-6",[]],["text/5-6",[]],["component/5-6",[]],["title/5-7",[9,7.564,32,14.007,71,10.845,126,9.543,290,9.33,379,10.563,702,10.987,721,7.564,730,10.664,731,22.139,732,21.425,733,21.425,734,10.822]],["name/5-7",[]],["text/5-7",[]],["component/5-7",[]],["title/5-8",[32,30.203,229,21.593,681,26.679,735,23.51]],["name/5-8",[]],["text/5-8",[]],["component/5-8",[]],["title/5-9",[32,27.072,52,25.617,681,23.913,735,13.956,736,36.365,737,44.68]],["name/5-9",[]],["text/5-9",[]],["component/5-9",[]],["title/5-10",[32,34.152,93,21.369,120,23.267,428,25.516]],["name/5-10",[]],["text/5-10",[]],["component/5-10",[]],["title/5-11",[32,39.289,120,26.767,738,41.022]],["name/5-11",[]],["text/5-11",[]],["component/5-11",[]],["title/5-12",[32,27.072,96,20.042,152,15.909,159,27.351,163,18.734,739,37.65]],["name/5-12",[]],["text/5-12",[]],["component/5-12",[]],["title/5-13",[9,13.247,32,24.53,211,14.635,222,15.1,299,16.974,721,13.247,740,22.474]],["name/5-13",[]],["text/5-13",[]],["component/5-13",[]],["title/5-14",[9,12.11,32,22.424,63,11.305,211,13.378,721,12.11,740,20.545,741,19.284,742,18.694]],["name/5-14",[]],["text/5-14",[]],["component/5-14",[]],["title/5-15",[9,16.311,32,30.203,299,20.9,496,32.727,721,16.311]],["name/5-15",[]],["text/5-15",[]],["component/5-15",[]],["title/5",[9,21.218,59,51.224,721,21.218]],["name/5",[743,3.59]],["text/5",[1,1.261,2,1.264,9,3.753,10,0.575,15,1.345,26,0.633,30,1.088,34,1.845,36,0.767,37,0.782,38,1.309,41,0.971,46,0.711,49,0.65,54,1.928,57,0.829,60,9.01,62,1.122,63,2.98,65,1.308,66,0.885,67,3.057,69,1.277,70,3.226,71,1.188,78,1.558,86,1.285,87,1.3,89,1.099,91,0.817,93,2.031,96,1.455,98,3.192,99,1.497,100,1.948,106,2.425,107,1.931,108,1.334,113,1.433,118,2.563,120,2.212,122,0.746,126,1.339,129,1.243,135,1.285,138,1.135,141,1.417,144,1.11,146,2.81,148,0.927,149,1.169,152,1.155,153,2.051,159,1.986,163,0.761,167,2.353,169,1.592,171,1.396,175,1.91,177,0.978,194,0.862,197,1.527,200,1.031,205,1.068,211,0.656,216,0.761,222,1.21,223,0.683,224,0.746,230,1.049,232,2.79,233,0.709,234,0.568,245,1.686,250,0.841,251,1.659,253,1.658,257,0.65,260,2.024,261,0.664,268,0.789,272,1.659,283,1.23,299,1.36,315,0.704,317,0.789,326,1.388,336,1.937,355,0.767,370,2.459,380,1.86,381,1.049,395,0.776,410,1.363,419,0.964,423,0.978,428,1.993,445,1.224,446,0.867,487,0.776,496,1.191,498,0.9,501,1.122,511,0.658,513,1.629,514,0.796,517,1.023,519,1.433,521,2.007,536,2.818,539,0.833,546,1.433,553,0.679,560,0.927,563,0.773,571,1.497,591,1.135,635,1.558,648,1.534,672,0.786,679,0.964,681,1.737,684,1.815,702,1.542,704,1.243,708,1.058,716,1.86,721,3.608,722,1.757,723,2.279,724,1.737,726,1.396,727,1.191,728,1.594,729,3.594,730,0.837,731,0.999,732,3.007,733,3.007,735,3.391,738,3.897,739,2.734,740,1.801,741,2.294,744,1.11,745,1.135,746,1.305,747,1.476,748,1.567,749,2.101,750,1.584,751,1.285,752,3.244,753,2.997,754,1.161,755,1.845,756,3.111,757,2.029,758,2.39,759,1.363,760,1.575,761,0.74,762,2.298,763,0.89,764,1.243,765,1.363,766,0.922,767,0.837,768,1.308,769,1.681,770,2.387,771,1.814,772,1.55,773,1.876,774,0.927,775,1.681,776,2.591,777,6.342,778,1.263,779,1.814,780,1.476,781,1.594,782,1.594,783,0.622,784,1.814,785,1.681,786,0.978,787,1.814,788,1.814,789,3.214,790,1.659,791,1.396,792,2.667,793,1.91,794,0.992,795,1.363,796,1.243,797,2.734,798,1.528,799,2.546,800,1.04,801,1.078,802,1.528,803,1.814,804,1.845,805,2.082,806,1.263,807,1.147,808,1.058,809,1.122,810,1.691,811,1.814,812,2.785,813,0.786,814,1.681,815,1.528,816,1.594,817,3.118,818,0.906,819,2.387,820,0.927,821,0.964,822,1.176,823,1.49,824,4.099,825,1.528,826,2.13,827,3.868,828,1.814,829,0.867,830,1.528,831,1.058,832,1.147,833,1.528,834,1.363,835,3.387,836,1.099,837,1.224,838,1.681,839,1.015,840,1.099,841,0.786,842,2.223,843,0.719,844,2.223,845,1.224,846,1.526,847,1.191,848,2.373,849,2.34,850,1.702,851,1.396,852,0.833,853,1.243,854,0.964,855,1.068,856,1.088,857,1.135,858,1.814,859,1.814,860,1.814,861,1.814,862,1.135,863,1.814,864,1.814,865,0.916,866,0.668]],["component/5",[9,0.788,59,1.903,721,0.788]],["title/6-1",[867,92.74]],["name/6-1",[]],["text/6-1",[]],["component/6-1",[]],["title/6-2",[38,12.178,245,19.087,487,21.325,868,33.174,869,32.307]],["name/6-2",[]],["text/6-2",[]],["component/6-2",[]],["title/6",[38,15.841,868,43.153,869,42.026]],["name/6",[3,1.542]],["text/6",[1,0.406,7,1.505,10,1.39,15,2.385,16,1.702,34,0.635,38,3.258,42,3.374,45,4.093,46,1.72,49,2.444,51,1.565,52,3.3,57,1.168,67,2.857,70,0.748,80,1.431,91,1.976,96,2.582,98,1.883,101,1.679,106,1.409,107,1.122,109,1.284,114,3.162,119,1.637,122,2.367,124,1.197,125,2.081,126,1.81,134,2.256,140,2.434,152,0.91,153,1.191,154,1.094,161,1.924,165,1.81,166,1.168,170,4.801,183,1.147,197,0.887,200,1.454,211,2.466,215,1.332,216,1.072,222,1.635,223,1.651,229,1.108,232,2.881,245,2.612,251,1.307,260,0.966,276,1.359,287,2.63,299,1.072,311,0.982,317,1.112,380,1.081,408,1.04,419,6.53,439,1.726,487,1.094,505,1.549,511,1.59,522,1.618,539,1.174,548,1.409,552,1.299,553,0.957,556,2.073,563,4.497,568,1.222,589,2.299,634,1.431,680,2.742,712,1.359,719,2.02,720,1.922,722,1.021,723,1.324,731,1.409,734,1.197,741,2.284,742,2.215,749,1.72,767,2.655,772,1.222,773,5.179,776,1.505,780,2.081,792,1.549,796,1.752,808,1.492,810,1.332,826,1.679,841,1.108,852,1.174,862,1.599,866,0.942,868,3.83,869,4.974,870,8.373,871,3.162,872,5.023,873,1.752,874,2.247,875,2.581,876,2.774,877,3.005,878,1.781,879,3.463,880,4.234,881,2.557,882,2.081,883,1.534,884,1.479,885,1.657,886,1.881,887,2.155,888,1.844,889,2.557,890,1.021,891,2.37,892,1.215,893,2.081,894,2.557,895,4.384,896,1.881,897,1.811,898,1.702,899,1.726,900,2.557,901,1.679,902,1.881,903,3.374,904,3.147,905,2.081,906,2.37,907,1.881,908,1.968,909,1.811,910,1.811,911,1.752,912,1.702,913,3.374,914,1.968,915,1.431,916,1.492,917,1.702,918,1.248,919,1.519,920,2.557,921,2.557,922,1.679,923,1.359,924,1.519,925,1.549,926,1.479,927,1.657,928,1.203,929,1.42,930,2.155,931,1.341,932,2.081,933,1.968,934,1.378,935,2.155,936,1.599,937,1.702,938,1.454,939,2.557,940,1.781,941,1.752,942,1.726,943,3.053,944,1.657,945,1.726,946,2.02,947,1.378,948,1.582,949,1.519,950,1.599,951,2.202,952,1.968,953,1.277,954,2.657,955,2.247,956,1.255,957,1.299,958,1.534,959,1.726,960,1.922,961,2.557,962,1.599,963,2.557,964,1.922,965,2.215,966,1.466,967,2.081,968,2.247,969,2.557,970,2.37,971,2.247,972,1.505,973,1.657,974,2.37,975,2.155,976,1.844,977,2.155,978,2.557,979,1.968,980,1.844,981,1.922,982,1.454]],["component/6",[38,0.589,868,1.603,869,1.561]],["title/7-1",[884,53.631]],["name/7-1",[]],["text/7-1",[]],["component/7-1",[]],["title/7-2",[983,56.771]],["name/7-2",[]],["text/7-2",[]],["component/7-2",[]],["title/7-3",[984,52.775,985,47.7,986,48.733]],["name/7-3",[]],["text/7-3",[]],["component/7-3",[]],["title/7",[677,48.64]],["name/7",[677,1.883]],["text/7",[1,2.008,2,2.686,9,4.14,34,2.322,38,2.285,59,9.184,70,2.736,149,4.19,194,4.445,499,5.666,721,3.804,848,5.04,849,4.971,850,4.905,868,6.224,869,6.061,987,4.068,988,5.077,989,6.512,990,8.668]],["component/7",[331,3.703]],["title/8-1",[9,24.975,989,53.145]],["name/8-1",[]],["text/8-1",[]],["component/8-1",[]],["title/8-2",[677,48.64]],["name/8-2",[]],["text/8-2",[]],["component/8-2",[]],["title/8-3",[29,37.57]],["name/8-3",[]],["text/8-3",[]],["component/8-3",[]],["title/8-4",[18,23.307]],["name/8-4",[]],["text/8-4",[]],["component/8-4",[]],["title/8",[9,24.975,991,56.145]],["name/8",[3,1.542]],["text/8",[1,1.622,2,2.199,9,4.249,18,2.568,29,4.66,34,1.901,38,2.246,44,3.154,51,3.121,57,3.498,62,1.3,67,5.072,70,1.492,71,1.376,102,2.809,106,5.065,126,3.16,128,3.611,149,1.837,152,2.726,161,2.237,170,2.923,178,2.028,183,2.287,194,2.423,223,2.883,273,3.393,281,2.081,311,2.941,316,4.589,400,2.591,511,1.849,536,3.264,553,1.908,563,2.172,634,2.852,677,4.015,681,2.729,721,2.505,722,2.035,746,2.05,748,3.697,767,2.352,809,3.154,839,6.127,852,2.341,866,1.878,871,3.677,884,2.948,926,2.948,937,3.393,988,2.768,989,5.331,991,5.632,992,2.71,993,3.494,994,3.832,995,5.095,996,4.48,997,4.015,998,2.218,999,6.727,1000,4.725,1001,2.852,1002,4.296,1003,4.725,1004,4.725,1005,5.891,1006,6.451,1007,2.657,1008,2.809,1009,4.296,1010,2.974,1011,3.751,1012,4.507,1013,4.48,1014,4.296,1015,3.121,1016,3.304,1017,3.832,1018,2.899,1019,4.725,1020,3.923]],["component/8",[331,3.703]],["title/9-1",[6,48.284,839,42.701]],["name/9-1",[]],["text/9-1",[]],["component/9-1",[]],["title/9-2",[0,32.923]],["name/9-2",[]],["text/9-2",[]],["component/9-2",[]],["title/9",[18,23.307]],["name/9",[18,0.902]],["text/9",[0,3.788,1,2.197,2,3.617,9,3.492,34,2.649,721,3.492,987,4.642]],["component/9",[331,3.703]],["title/10-1",[29,30.918,242,46.72]],["name/10-1",[]],["text/10-1",[]],["component/10-1",[]],["title/10",[1,10.292,2,18.624,29,26.268]],["name/10",[1,0.336,2,0.608]],["text/10",[1,1.532,2,2.772,9,3.158,29,4.802,63,2.948,70,2.824,71,2.604,143,4.473,287,3.72,316,4.817,380,4.078,553,3.611,648,4.563,721,3.158,730,4.452,735,3.014,786,5.201,926,5.58,928,4.54,992,5.129,1021,6.036,1022,6.036]],["component/10",[331,3.703]],["title/11-1",[29,30.918,242,46.72]],["name/11-1",[]],["text/11-1",[]],["component/11-1",[]],["title/11",[1,10.292,29,26.268,34,16.098]],["name/11",[1,0.336,34,0.526]],["text/11",[1,2.16,29,5.514,34,3.379,71,2.524,77,6.224,145,4.842,146,6.097,316,4.669,553,3.499,751,6.624,783,3.206,926,5.408,992,4.971,1023,7.196]],["component/11",[331,3.703]],["title/12-1",[1,12.114,2,21.922]],["name/12-1",[]],["text/12-1",[]],["component/12-1",[]],["title/12-2",[1,12.114,34,18.948]],["name/12-2",[]],["text/12-2",[]],["component/12-2",[]],["title/12",[29,37.57]],["name/12",[3,1.542]],["text/12",[1,1.917,9,3.257,29,5.479,34,2.999,37,3.176,63,2.249,70,2.154,71,1.987,77,4.899,102,4.056,122,3.027,143,3.412,145,3.811,146,5.22,184,4.771,216,3.087,222,2.746,245,2.819,250,3.412,287,2.838,316,3.675,379,3.364,380,3.111,553,2.755,648,3.481,689,5.815,721,2.409,730,3.396,735,2.299,751,5.214,755,4.186,763,3.613,783,2.524,786,3.968,839,5.569,884,4.257,926,5.756,928,3.463,995,4.899,1012,4.334,1013,6.468,1014,6.203,1021,4.604,1022,4.604,1023,5.665]],["component/12",[331,3.703]],["title/13-1",[9,24.975,989,53.145]],["name/13-1",[]],["text/13-1",[]],["component/13-1",[]],["title/13-2",[677,48.64]],["name/13-2",[]],["text/13-2",[]],["component/13-2",[]],["title/13-3",[29,37.57]],["name/13-3",[]],["text/13-3",[]],["component/13-3",[]],["title/13-4",[18,23.307]],["name/13-4",[]],["text/13-4",[]],["component/13-4",[]],["title/13",[9,24.975,991,56.145]],["name/13",[3,1.542]],["text/13",[1,1.622,2,2.199,9,4.249,18,2.568,29,4.66,34,1.901,38,2.246,44,3.154,51,3.121,57,3.498,62,1.3,67,5.072,70,1.492,71,1.376,102,2.809,106,5.065,126,3.16,128,3.611,149,1.837,152,2.726,161,2.237,170,2.923,178,2.028,183,2.287,194,2.423,223,2.883,273,3.393,281,2.081,311,2.941,316,4.589,400,2.591,511,1.849,536,3.264,553,1.908,563,2.172,634,2.852,677,4.015,681,2.729,721,2.505,722,2.035,746,2.05,748,3.697,767,2.352,809,3.154,839,6.127,852,2.341,866,1.878,871,3.677,884,2.948,926,2.948,937,3.393,988,2.768,989,5.331,991,5.632,992,2.71,993,3.494,994,3.832,995,5.095,996,4.48,997,4.015,998,2.218,999,6.727,1000,4.725,1001,2.852,1002,4.296,1003,4.725,1004,4.725,1005,5.891,1006,6.451,1007,2.657,1008,2.809,1009,4.296,1010,2.974,1011,3.751,1012,4.507,1013,4.48,1014,4.296,1015,3.121,1016,3.304,1017,3.832,1018,2.899,1019,4.725,1020,3.923]],["component/13",[18,0.824,29,1.328]],["title/14",[71,17.5,324,25.981,1024,41.51]],["name/14",[1024,2.298]],["text/14",[2,1.235,38,2.284,49,1.541,62,2.109,63,2.053,71,1.161,87,2.693,140,2.388,152,1.532,167,4.75,173,2.213,197,1.492,211,2.99,244,1.825,250,4.334,266,2.352,267,2.824,283,3.136,287,1.658,290,1.736,313,1.796,336,1.555,344,2.407,355,1.818,381,3.887,418,4.752,421,5.109,422,4.422,511,2.437,553,1.61,572,2.606,622,4.783,674,2.466,683,3.76,702,2.044,734,2.014,755,2.446,805,2.034,813,1.863,818,4.668,848,2.318,849,4.397,850,4.338,856,6.74,866,3.046,875,2.532,962,2.69,1025,1.895,1026,6.732,1027,2.286,1028,7.666,1029,4.78,1030,3.524,1031,7.666,1032,6.229,1033,6.229,1034,5.172,1035,4.592,1036,5.663,1037,5.663,1038,3.86,1039,3.987,1040,3.987,1041,4.301,1042,4.301,1043,6.229,1044,3.987,1045,3.047,1046,2.904,1047,7.268,1048,3.233,1049,4.606,1050,3.987,1051,3.987,1052,3.047,1053,4.301,1054,2.16,1055,4.413,1056,2.69,1057,2.388,1058,2.099,1059,3.987,1060,3.987]],["component/14",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/15-1",[38,10.916,843,17.71,848,24.082,849,23.749,850,23.433,1061,18.444]],["name/15-1",[]],["text/15-1",[]],["component/15-1",[]],["title/15-2",[163,16.974,211,14.635,250,18.766,553,15.149,848,21.82,849,21.519,850,21.233]],["name/15-2",[]],["text/15-2",[]],["component/15-2",[]],["title/15",[848,26.866,849,26.496,850,26.143,853,34.16,866,18.358]],["name/15",[866,1.322]],["text/15",[10,2.035,15,1.228,26,1.733,38,1.835,49,1.78,62,2.451,71,1.732,97,1.745,107,3.295,115,2.031,116,2.556,140,1.645,152,1.055,161,1.3,163,2.083,165,1.224,167,4.595,173,1.525,176,1.621,178,1.179,194,3.049,197,1.028,203,1.183,211,4.402,215,1.544,216,1.243,218,1.342,221,1.312,223,1.116,229,1.284,232,1.113,244,2.723,250,5.387,253,1.116,260,1.12,261,1.085,266,1.621,283,1.884,286,1.33,289,1.525,291,1.21,304,4.059,324,1.991,326,2.126,334,1.621,336,2.714,345,1.295,355,2.1,377,1.761,404,1.535,488,2.541,511,1.802,514,2.18,530,3.888,553,1.859,555,2.281,572,3.011,581,5.943,679,1.575,708,1.729,720,2.228,722,1.183,760,1.439,790,1.515,801,1.761,805,1.402,813,3.253,818,2.481,843,1.175,846,1.394,848,3.458,849,3.41,850,2.606,852,2.946,853,6.203,856,2.981,866,1.83,890,1.984,892,1.409,928,1.394,929,1.645,954,1.796,956,1.455,972,1.745,992,1.575,1025,1.306,1029,2.852,1030,1.263,1038,3.453,1056,1.854,1057,1.645,1058,1.447,1061,2.051,1062,7.752,1063,1.609,1064,1.834,1065,2.064,1066,2.099,1067,2.099,1068,2.341,1069,1.897,1070,1.598,1071,2.281,1072,2.573,1073,4.969,1074,2.964,1075,3.108,1076,3.679,1077,2.964,1078,2.747,1079,1.535,1080,2.747,1081,4.969,1082,1.921,1083,2.747,1084,4.397,1085,2.604,1086,2.747,1087,7.509,1088,1.586,1089,2.604,1090,7.509,1091,4.044,1092,3.519,1093,2.66,1094,2.964,1095,2.498,1096,2.498,1097,2.228,1098,4.606,1099,2.747,1100,2.604,1101,2.228,1102,2.964,1103,2.747,1104,2.281,1105,1.361,1106,2.341,1107,2.099,1108,2.964,1109,2.341,1110,1.761,1111,1.729,1112,2.498,1113,1.834,1114,2.964,1115,2.747,1116,2.747,1117,2.412,1118,2.747,1119,2.498,1120,2.604,1121,2.604,1122,2.747,1123,2.341,1124,2.604,1125,1.854,1126,1.745]],["component/15",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/16-1",[1127,60.891]],["name/16-1",[]],["text/16-1",[]],["component/16-1",[]],["title/16",[1,7.912,2,14.317,848,26.866,849,26.496,850,26.143]],["name/16",[3,1.542]],["text/16",[2,2.008,7,2.665,29,2.833,38,3.29,47,2.771,62,1.783,63,1.383,67,2.247,70,1.324,71,1.222,100,3.095,107,1.986,109,2.273,126,3.527,131,2.8,148,2.314,153,3.257,211,4.48,224,1.861,244,3.626,251,2.314,261,1.657,272,2.314,276,3.717,283,3.239,287,1.745,315,1.757,334,2.475,408,2.843,419,2.406,488,2.314,500,2.3,511,1.641,533,2.831,542,4.985,543,4.72,563,1.929,568,2.163,634,2.533,665,2.69,671,2.021,716,4.009,722,1.807,755,3.976,766,3.553,773,2.618,790,2.314,793,2.665,818,2.26,839,3.912,843,3.387,846,5.166,848,3.769,849,3.717,850,5.04,853,4.792,856,2.716,888,3.265,892,3.324,919,5.077,928,3.29,941,3.102,949,2.69,953,3.491,954,2.743,972,2.665,983,2.771,1025,3.081,1027,3.717,1035,4.743,1054,2.273,1069,2.898,1072,2.344,1076,5.51,1079,3.62,1111,2.641,1125,2.831,1128,4.195,1129,3.814,1130,1.667,1131,3.483,1132,3.814,1133,3.684,1134,2.475,1135,2.771,1136,3.33,1137,3.717,1138,4.526,1139,2.743,1140,4.195,1141,3.576,1142,3.814]],["component/16",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/17",[848,26.866,849,26.496,856,29.905,972,29.345,1076,28.579]],["name/17",[856,2.154]],["text/17",[2,1.33,4,1.926,9,1.515,15,1.919,26,1.615,38,1.131,47,2.834,62,1.18,69,2.801,70,1.355,71,1.92,87,2.851,167,4.482,211,4.508,216,1.941,218,2.096,247,2.126,250,4.509,253,1.744,266,3.891,283,1.755,287,1.785,317,2.014,329,3.684,337,2.514,344,2.591,355,1.957,381,2.678,404,2.397,418,3.616,421,3.236,422,3.365,488,2.367,514,3.122,522,2.929,539,2.126,552,2.353,553,1.733,563,1.973,571,2.136,572,5.251,626,5.04,696,2.382,702,2.201,716,2.655,719,3.658,721,1.515,755,4.046,758,2.514,813,2.006,818,3.552,843,1.835,848,3.835,849,4.607,850,5.812,854,2.461,856,2.778,875,2.726,890,1.849,938,2.633,949,2.751,1025,3.136,1026,3.769,1029,3.163,1030,1.973,1054,2.325,1058,2.26,1069,2.964,1076,4.969,1084,4.877,1097,3.48,1143,3.48,1144,4.63,1145,3.173,1146,3.34,1147,3.48,1148,2.551,1149,4.068,1150,2.929,1151,2.701,1152,2.551,1153,4.63,1154,2.514,1155,4.63,1156,4.63,1157,4.63,1158,7.116,1159,4.63,1160,4.63,1161,4.63,1162,4.63,1163,4.63,1164,4.555,1165,4.068,1166,3.224,1167,2.236,1168,3.34,1169,3.28,1170,4.292,1171,4.63,1172,3.902,1173,3.769,1174,3.406,1175,2.865,1176,2.26,1177,4.068]],["component/17",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/18",[71,17.5,324,25.981,1024,41.51]],["name/18",[1024,2.298]],["text/18",[38,2.252,43,3.318,49,1.834,51,3.134,57,2.34,71,2.073,107,2.246,120,2.114,129,3.509,149,1.845,152,2.735,154,3.286,161,2.246,163,2.147,167,4.469,174,3.167,223,2.893,234,2.405,253,2.893,260,1.935,266,2.8,286,2.297,287,1.974,290,3.1,316,2.556,324,3.077,326,2.19,379,2.34,421,3.493,500,3.903,502,2.703,503,3.362,511,1.856,538,2.527,540,3.102,553,1.916,571,2.362,654,3.014,655,3.202,674,2.936,702,2.434,727,5.042,735,2.399,772,2.446,786,6.623,789,4.608,818,3.834,823,2.351,866,1.886,944,3.318,1025,2.256,1029,3.414,1038,2.114,1058,4.498,1125,3.202,1139,3.012,1152,4.231,1178,6.556,1179,5.772,1180,2.887,1181,3.848,1182,5.12,1183,3.278,1184,7.501,1185,2.961,1186,3.167,1187,4.314,1188,5.65,1189,3.456,1190,5.12,1191,4.745,1192,5.12,1193,4.745,1194,3.848,1195,4.499,1196,5.12,1197,3.407,1198,5.12,1199,4.745,1200,4.745,1201,4.745,1202,3.693,1203,5.12,1204,4.745,1205,4.314,1206,5.12,1207,4.167,1208,2.8,1209,5.12]],["component/18",[29,1.328,786,1.768]],["title/19",[138,47.738,866,28.108]],["name/19",[138,2.246]],["text/19",[1,1.488,2,1.938,23,4.372,34,1.675,38,1.648,39,3.652,48,4.433,69,2.655,70,1.974,71,2.908,91,3.04,95,3.127,102,6.741,116,4.823,148,3.449,170,3.868,197,2.339,218,3.054,220,4.088,244,3.978,260,2.549,261,2.469,281,2.753,315,2.619,324,2.703,329,3.493,336,3.389,530,7.055,654,5.519,679,5.727,760,3.275,786,6.276,818,5.813,839,3.774,866,2.485,944,4.372,1063,3.662,1125,5.864,1139,2.646,1188,4.963,1210,4.885,1211,5.927,1212,4.554,1213,5.927,1214,4.13,1215,4.623,1216,4.866,1217,5.329,1218,7.9,1219,4.778]],["component/19",[29,1.328,786,1.768]],["title/20",[786,41.136,866,28.108]],["name/20",[866,1.322]],["text/20",[1,1.375,2,1.078,10,1.914,26,3.022,38,2.117,41,2.009,49,2.161,57,1.716,62,2.42,63,1.147,70,1.099,71,2.338,78,2.898,93,1.423,120,3.577,144,2.298,152,1.337,154,2.581,161,1.647,165,1.55,166,1.716,167,4.72,194,1.784,205,3.552,207,2.275,216,2.53,223,1.414,234,1.176,244,1.593,245,1.438,260,1.419,287,1.447,290,1.515,315,2.342,317,1.633,336,2.181,344,2.101,379,1.716,406,1.843,418,3.066,421,2.744,422,2.853,427,2.275,514,2.648,538,1.853,539,1.724,556,2.853,615,2.009,622,3.489,648,1.775,735,1.173,786,5.116,792,2.275,813,2.614,818,3.012,823,2.77,841,1.626,890,2.409,911,2.573,1029,4.737,1030,1.6,1038,1.55,1058,4.229,1061,1.55,1082,3.911,1088,4.637,1139,2.367,1145,2.573,1152,3.324,1154,4.107,1176,1.833,1181,6.512,1186,2.323,1188,6.374,1189,4.073,1191,3.48,1193,8.031,1194,4.535,1218,6.375,1220,1.885,1221,3.164,1222,3.299,1223,3.299,1224,3.299,1225,3.48,1226,3.754,1227,2.535,1228,6.034,1229,2.499,1230,3.104,1231,5.593,1232,2.659,1233,4.016,1234,5.302,1235,2.275,1236,3.48,1237,3.754,1238,3.754,1239,3.754,1240,3.056,1241,3.23,1242,3.754,1243,3.754,1244,3.754,1245,3.48,1246,3.754,1247,3.754,1248,3.754,1249,2.19,1250,3.754,1251,3.754,1252,2.465,1253,3.754,1254,3.164,1255,2.068,1256,5.593,1257,2.659]],["component/20",[29,1.328,786,1.768]],["title/21",[786,49.986]],["name/21",[3,1.542]],["text/21",[29,3.019,37,3.215,38,2.772,46,2.923,49,2.669,62,1.9,71,3.276,87,4.021,120,3.076,124,3.489,149,2.686,245,2.854,261,2.727,264,4.203,266,4.075,287,2.873,324,4.021,344,4.169,355,4.241,408,3.03,500,3.787,511,2.702,568,3.56,677,3.908,727,4.893,772,3.56,786,6.83,789,4.471,852,3.421,956,3.657,983,4.562,1024,4.771,1139,2.923,1152,5.529,1179,5.601,1181,5.601,1188,5.482,1210,3.883,1241,3.989,1258,4.96,1259,5.571,1260,4.387,1261,5.189,1262,5.601,1263,5.887,1264,3.934]],["component/21",[29,1.328,786,1.768]],["title/22",[500,38.785,786,41.136]],["name/22",[500,1.825]],["text/22",[71,1.743,87,3.644,97,3.802,152,2.3,154,2.763,167,4.737,344,5.888,421,4.136,500,4.621,626,4.574,678,3.558,772,3.086,786,4.901,789,5.456,823,2.965,1025,2.846,1029,2.871,1030,2.752,1038,2.666,1049,6.232,1058,4.438,1063,3.506,1154,6.537,1199,5.986,1201,5.986,1202,7.592,1204,5.986,1205,5.442,1230,3.323,1235,6.377,1241,3.457,1256,5.986,1259,3.585,1265,6.559,1266,5.675,1267,8.314,1268,4.854,1269,6.458,1270,6.458,1271,5.675,1272,6.458,1273,9.093,1274,5.986,1275,9.093,1276,6.458,1277,6.458,1278,5.675,1279,6.458,1280,6.458,1281,6.458,1282,5.675,1283,6.458]],["component/22",[29,1.328,786,1.768]],["title/23",[380,32.256,928,35.908]],["name/23",[3,1.542]],["text/23",[1,1.009,2,1.826,38,1.553,61,4.23,66,3.103,69,2.502,70,1.86,71,3.23,93,3.409,122,2.614,161,2.789,165,2.624,176,3.476,197,3.118,211,2.298,229,2.754,234,1.991,241,4.618,253,3.93,260,2.402,267,4.173,283,2.41,315,2.467,380,4.41,432,4.917,763,3.12,783,2.179,857,3.976,866,4.178,928,4.231,957,3.23,1001,3.556,1021,5.624,1030,4.446,1183,4.069,1221,7.577,1284,12.427,1285,3.27,1286,5.585,1287,6.356,1288,6.758,1289,5.356,1290,4.356,1291,5.757,1292,8.992,1293,4.173,1294,8.992,1295,3.476,1296,4.426,1297,4.069,1298,4.676,1299,4.12,1300,5.022,1301,3.852,1302,3.976,1303,7.901,1304,3.476]],["component/23",[29,0.976,380,1.018,928,1.133]],["title/24",[134,39.266,735,23.839]],["name/24",[134,1.089,735,0.661]],["text/24",[1,0.441,4,1.157,10,0.882,26,0.97,38,0.679,46,2.402,49,0.996,62,2.501,63,2.997,69,2.41,70,0.813,71,1.271,81,2.196,87,1.114,93,1.785,94,1.185,100,1.231,122,1.936,134,5.259,143,2.183,152,2.871,154,1.189,163,1.166,165,1.148,167,4.661,197,2.124,205,2.772,222,1.756,224,1.143,232,1.768,234,0.871,241,1.231,245,1.065,250,1.289,253,1.047,254,1.739,290,2.472,299,1.166,311,1.068,324,1.114,338,1.308,344,2.634,345,1.215,355,1.175,418,2.393,421,2.785,422,2.896,423,1.498,497,1.637,511,2.613,552,1.413,553,2.697,562,1.449,563,1.185,568,1.328,589,1.458,622,2.723,648,3.408,683,4.032,735,3.789,768,2.005,776,1.637,783,0.953,801,1.652,805,2.896,813,4.428,823,1.276,831,2.747,857,1.739,866,2.255,890,1.11,923,1.478,947,2.538,992,1.478,1021,3.83,1029,4.362,1030,3.436,1038,2.975,1056,2.945,1057,2.614,1058,1.357,1061,1.944,1088,1.488,1107,1.969,1130,1.024,1139,1.09,1154,3.913,1176,1.357,1230,4.505,1232,1.969,1235,1.685,1259,1.543,1293,3.091,1297,1.78,1298,2.045,1302,1.739,1305,4.134,1306,2.486,1307,2.263,1308,1.622,1309,2.882,1310,1.969,1311,1.72,1312,1.905,1313,2.196,1314,2.577,1315,6.333,1316,6.124,1317,6.333,1318,1.43,1319,3.454,1320,2.78,1321,1.72,1322,2.045,1323,2.78,1324,3.022,1325,8.063,1326,2.78,1327,2.78,1328,2.78,1329,2.78,1330,2.78,1331,2.78,1332,2.78,1333,2.78,1334,6.68,1335,6.124,1336,2.78,1337,1.969,1338,2.78,1339,2.78,1340,4.137,1341,4.137,1342,3.091,1343,4.988,1344,2.78,1345,2.78,1346,2.78,1347,2.78,1348,4.708,1349,4.708,1350,1.85,1351,2.78,1352,1.759,1353,2.78,1354,1.905,1355,2.78,1356,2.78]],["component/24",[29,0.771,63,0.582,143,0.883,735,0.595]],["title/25",[63,19.807,143,30.058,735,20.254]],["name/25",[3,1.542]],["text/25",[10,2.695,46,4.747,49,3.044,63,3.904,69,3.345,70,2.487,71,3.266,98,3.651,143,3.939,217,6.539,283,3.222,287,3.276,327,4.613,379,3.883,427,5.149,530,5.149,547,5.58,648,5.723,683,4.755,735,2.655,837,5.737,852,3.902,866,3.13,1016,5.508,1027,4.517,1105,3.902,1357,5.149,1358,6.917,1359,7.467,1360,6.252,1361,6.917]],["component/25",[29,0.771,63,0.582,143,0.883,735,0.595]],["title/26",[1105,35.04,1362,45.352]],["name/26",[1105,0.972,1362,1.258]],["text/26",[37,3.403,38,1.927,62,2.011,166,3.605,197,2.736,218,3.571,230,6.028,241,5.168,253,3.926,260,2.981,271,5.051,311,4.005,315,3.062,542,6.082,543,5.326,735,2.464,746,3.173,857,4.935,866,2.905,1001,4.414,1021,6.52,1030,4.974,1105,3.622,1133,6.421,1295,4.314,1298,5.804,1302,4.935,1303,6.932,1362,4.688,1363,6.932,1364,8.784,1365,10.424,1366,5.493,1367,9.838,1368,4.688,1369,4.935,1370,4.414,1371,6.932]],["component/26",[29,0.771,63,0.582,143,0.883,735,0.595]],["title/27",[648,36.09,1021,47.738]],["name/27",[3,1.542]],["text/27",[1,1.444,10,2.398,33,3.25,62,1.278,67,4.517,68,2.447,71,2.735,80,2.805,93,1.901,143,2.324,167,3.484,173,2.58,177,4.075,197,1.739,218,2.27,232,1.882,234,3.173,247,2.302,253,3.817,261,1.835,264,2.828,276,2.665,283,2.866,290,3.673,291,3.714,327,2.722,345,3.303,355,2.119,502,2.647,511,1.818,553,1.876,648,6.434,679,2.665,683,4.23,709,3.097,735,2.361,741,3.939,776,2.952,792,3.038,801,2.979,805,2.371,813,2.172,837,3.385,947,2.702,1016,3.25,1021,7.42,1029,2.229,1105,2.302,1130,1.847,1186,5.63,1219,3.551,1221,4.225,1230,4.682,1306,2.647,1317,4.405,1343,4.677,1357,3.038,1372,6.371,1373,3.038,1374,5.014,1375,5.014,1376,5.014,1377,5.014,1378,5.014,1379,5.014,1380,10.133,1381,6.643,1382,5.972,1383,3.491,1384,5.014,1385,4.225,1386,4.405,1387,3.617,1388,3.617,1389,3.617,1390,4.647,1391,5.014,1392,5.014,1393,3.292]],["component/27",[29,0.976,648,1.139,1021,1.507]],["title/28-1",[97,33.182,120,23.267,152,20.069,730,26.001]],["name/28-1",[]],["text/28-1",[]],["component/28-1",[]],["title/28-2",[18,19.18,203,30.47]],["name/28-2",[]],["text/28-2",[]],["component/28-2",[]],["title/28",[1127,60.891]],["name/28",[3,1.542]],["text/28",[1,2.137,2,3.8,5,3.142,9,2.363,10,3.685,18,1.815,26,2.519,29,2.926,34,1.793,38,2.4,42,5.557,57,2.157,63,3.234,67,4.877,69,1.858,70,2.566,71,2.652,84,5.553,89,2.86,98,2.028,106,2.601,117,4.333,120,3.621,122,1.941,130,4.376,145,3.739,159,2.89,194,2.244,203,2.883,206,2.986,224,1.941,232,1.772,234,2.261,245,1.808,260,1.784,281,1.927,313,1.972,316,2.357,328,3.487,370,1.885,487,3.09,500,3.67,512,2.304,536,3.022,555,2.167,568,2.255,721,2.363,730,4.046,747,3.842,749,1.851,750,2.304,761,2.948,783,2.476,821,2.509,829,3.45,843,1.871,868,3.142,884,2.73,929,2.621,1012,2.779,1015,2.89,1027,2.509,1093,3.865,1126,2.779,1210,2.46,1220,3.626,1260,2.779,1394,3.978,1395,3.405,1396,3.344,1397,2.684,1398,3.344,1399,3.729,1400,2.641,1401,5.428,1402,3.473]],["component/28",[1,0.382,2,0.692,18,0.605]],["title/29-1",[47,34.503,48,26.653,1318,28.998,1403,47.495]],["name/29-1",[]],["text/29-1",[]],["component/29-1",[]],["title/29-2",[380,21.067,690,25.179,1064,30.838,1076,28.579,1404,30.513]],["name/29-2",[]],["text/29-2",[]],["component/29-2",[]],["title/29",[690,32.754,1185,37.497,1405,54.639]],["name/29",[690,0.758,1185,0.868,1405,1.265]],["text/29",[0,0.954,1,1.657,2,2.47,10,1.451,24,1.904,34,1.75,36,1.933,38,2.242,39,1.782,40,1.939,41,2.449,47,3.656,48,3.334,56,2.432,57,1.228,68,1.312,71,2.72,83,1.058,91,2.061,102,2.52,105,1.554,116,1.383,117,2.745,126,1.109,130,1.628,134,1.383,136,1.504,138,1.681,141,1.174,152,0.957,154,1.957,161,2.007,166,1.228,174,1.663,176,1.47,180,1.554,203,1.073,207,1.628,211,0.972,218,2.071,219,2.601,222,2.63,229,1.164,241,2.025,245,1.029,283,2.997,290,1.085,299,1.127,310,3.291,311,2.295,315,1.043,324,1.833,327,1.459,328,1.298,334,1.47,375,1.438,379,2.09,380,3.635,408,1.093,428,2.704,497,4.15,498,1.334,502,2.415,511,0.975,514,2.007,517,1.516,520,1.481,522,2.894,528,2.187,555,2.1,568,1.284,622,1.554,635,2.869,648,3.334,668,1.312,678,1.481,680,1.681,689,2.123,690,3.993,709,1.101,712,1.429,715,1.871,722,1.073,731,2.52,734,1.258,748,3.404,753,1.504,763,2.245,783,0.921,790,1.374,812,1.7,823,1.234,837,1.814,843,1.065,865,1.358,866,0.99,875,1.582,892,1.277,915,1.504,918,1.312,928,1.264,938,1.528,953,2.982,984,3.723,1012,1.582,1025,2.016,1027,3.175,1035,3.316,1063,1.459,1064,2.83,1069,1.721,1070,1.449,1071,2.068,1076,4.932,1093,2.449,1126,1.582,1134,2.502,1143,4.489,1147,2.02,1151,1.568,1167,1.298,1185,1.554,1208,3.266,1210,3.112,1212,1.814,1214,1.645,1255,1.481,1293,3.922,1318,3.627,1321,1.663,1359,2.361,1362,1.597,1403,3.855,1404,2.8,1405,2.265,1406,1.721,1407,2.361,1408,2.491,1409,1.481,1410,2.491,1411,2.688,1412,2.688,1413,1.789,1414,2.265,1415,3.52,1416,1.366,1417,3.219,1418,6.194,1419,5.575,1420,6.898,1421,3.52,1422,2.491,1423,2.491,1424,2.688,1425,5.355,1426,2.688,1427,5.248,1428,1.904,1429,1.358,1430,1.438,1431,2.491,1432,3.614,1433,2.361,1434,2.02,1435,2.361,1436,1.977,1437,1.568,1438,2.187,1439,2.688,1440,2.688,1441,4.24,1442,4.24,1443,1.742,1444,2.361,1445,5.569,1446,1.742,1447,2.491,1448,1.977,1449,2.688,1450,4.02,1451,1.765,1452,1.284,1453,2.688,1454,2.745,1455,1.334,1456,3.186,1457,1.663,1458,1.842,1459,2.187,1460,2.491,1461,2.361,1462,1.628,1463,2.187,1464,1.681]],["component/29",[1,0.382,2,0.692,18,0.605]],["title/30-1",[35,45.789,1220,38.325]],["name/30-1",[]],["text/30-1",[]],["component/30-1",[]],["title/30-2",[1,12.114,63,23.313]],["name/30-2",[]],["text/30-2",[]],["component/30-2",[]],["title/30-3",[1,12.114,997,40.028]],["name/30-3",[]],["text/30-3",[]],["component/30-3",[]],["title/30-4",[1,10.292,38,15.841,57,29.629]],["name/30-4",[]],["text/30-4",[]],["component/30-4",[]],["title/30-5",[1,12.114,500,38.785]],["name/30-5",[]],["text/30-5",[]],["component/30-5",[]],["title/30-6",[1,12.114,62,19.457]],["name/30-6",[]],["text/30-6",[]],["component/30-6",[]],["title/30-7",[1,10.292,34,16.098,1465,42.573]],["name/30-7",[]],["text/30-7",[]],["component/30-7",[]],["title/30-8",[1,12.114,26,26.621]],["name/30-8",[]],["text/30-8",[]],["component/30-8",[]],["title/30-9",[1,8.946,26,19.66,162,29.369,761,23.004]],["name/30-9",[]],["text/30-9",[]],["component/30-9",[]],["title/30-10",[1,12.114,1466,67.059]],["name/30-10",[]],["text/30-10",[]],["component/30-10",[]],["title/30-11",[1,12.114,829,36.464]],["name/30-11",[]],["text/30-11",[]],["component/30-11",[]],["title/30-12",[1,12.114,1467,60.293]],["name/30-12",[]],["text/30-12",[]],["component/30-12",[]],["title/30-13",[1,12.114,1468,50.11]],["name/30-13",[]],["text/30-13",[]],["component/30-13",[]],["title/30-14",[1,10.292,31,39.693,1469,51.224]],["name/30-14",[]],["text/30-14",[]],["component/30-14",[]],["title/30-15",[0,27.094,1220,38.325]],["name/30-15",[]],["text/30-15",[]],["component/30-15",[]],["title/30-16",[1,12.114,27,49.467]],["name/30-16",[]],["text/30-16",[]],["component/30-16",[]],["title/30-17",[1,7.912,26,17.386,27,32.307,162,25.973,761,20.344]],["name/30-17",[]],["text/30-17",[]],["component/30-17",[]],["title/30-18",[1,12.114,1470,70.737]],["name/30-18",[]],["text/30-18",[]],["component/30-18",[]],["title/30-19",[1,12.114,17,52.304]],["name/30-19",[]],["text/30-19",[]],["component/30-19",[]],["title/30-20",[1,7.912,17,34.16,26,17.386,162,25.973,761,20.344]],["name/30-20",[]],["text/30-20",[]],["component/30-20",[]],["title/30-21",[1,10.292,19,43.153,20,43.773]],["name/30-21",[]],["text/30-21",[]],["component/30-21",[]],["title/30-22",[1,7.092,19,29.735,20,30.162,26,15.584,162,23.281,761,18.236]],["name/30-22",[]],["text/30-22",[]],["component/30-22",[]],["title/30-23",[1,12.114,21,44.931]],["name/30-23",[]],["text/30-23",[]],["component/30-23",[]],["title/30-24",[1,7.912,21,29.345,26,17.386,162,25.973,761,20.344]],["name/30-24",[]],["text/30-24",[]],["component/30-24",[]],["title/30-25",[1,12.114,22,50.794]],["name/30-25",[]],["text/30-25",[]],["component/30-25",[]],["title/30-26",[1,10.292,22,43.153,500,32.951]],["name/30-26",[]],["text/30-26",[]],["component/30-26",[]],["title/30-27",[1,12.114,1066,54.056]],["name/30-27",[]],["text/30-27",[]],["component/30-27",[]],["title/30-28",[1,7.912,26,17.386,162,25.973,761,20.344,1066,35.305]],["name/30-28",[]],["text/30-28",[]],["component/30-28",[]],["title/30-29",[1,10.292,164,34.949,1471,46.77]],["name/30-29",[]],["text/30-29",[]],["component/30-29",[]],["title/30-30",[1,7.092,26,15.584,162,23.281,164,24.082,761,18.236,1471,32.228]],["name/30-30",[]],["text/30-30",[]],["component/30-30",[]],["title/30-31",[1,12.114,25,46.72]],["name/30-31",[]],["text/30-31",[]],["component/30-31",[]],["title/30-32",[1,7.912,25,30.513,26,17.386,162,25.973,761,20.344]],["name/30-32",[]],["text/30-32",[]],["component/30-32",[]],["title/30-33",[1,8.946,26,19.66,87,22.584,519,44.526]],["name/30-33",[]],["text/30-33",[]],["component/30-33",[]],["title/30-34",[1,10.292,26,22.617,30,38.902]],["name/30-34",[]],["text/30-34",[]],["component/30-34",[]],["title/30-35",[1,7.092,26,24.145,30,26.806,162,23.281,761,18.236]],["name/30-35",[]],["text/30-35",[]],["component/30-35",[]],["title/30-36",[1,12.114,31,46.72]],["name/30-36",[]],["text/30-36",[]],["component/30-36",[]],["title/30-37",[1,7.912,26,17.386,31,30.513,162,25.973,761,20.344]],["name/30-37",[]],["text/30-37",[]],["component/30-37",[]],["title/30-38",[1,10.292,795,48.733,1005,49.895]],["name/30-38",[]],["text/30-38",[]],["component/30-38",[]],["title/30",[1220,46.57]],["name/30",[1220,1.803]],["text/30",[0,2.011,1,2.17,2,1.749,10,3.411,13,1.224,14,1.656,16,0.696,17,3.56,19,1.837,20,1.863,21,3.058,22,3.114,23,1.268,24,1.955,25,2.864,26,4.107,27,3.367,28,1.922,30,2.083,31,4.188,34,1.162,35,1.656,36,0.442,38,1.584,39,0.762,46,0.41,48,0.494,49,1.861,53,0.621,56,1.04,57,0.894,58,2.606,62,2.169,63,1.73,65,0.754,66,0.51,69,1.841,70,1.782,71,1.936,84,1.026,87,1.106,91,0.471,92,0.531,98,0.449,100,0.463,102,1.078,104,0.785,107,0.859,109,0.525,114,0.484,116,1.007,120,1.696,124,0.489,125,0.851,126,1.433,130,2.835,140,0.58,141,0.457,143,0.484,144,0.64,147,1.891,149,1.251,162,4.844,163,0.821,164,1.871,165,1.139,166,0.478,167,2.352,169,0.513,178,4.975,182,0.696,186,0.61,194,1.312,197,0.679,211,0.378,216,2.718,218,0.473,221,0.463,223,0.737,224,0.43,230,0.604,232,1.756,233,0.765,234,1.465,245,0.749,250,1.279,251,2.392,261,0.382,262,0.633,263,0.74,268,0.455,271,1.253,276,0.555,279,1.625,286,0.469,311,2.176,313,0.436,315,0.406,323,2.025,326,0.447,330,0.74,336,0.707,340,0.661,345,0.457,375,0.559,377,0.621,379,0.478,408,0.425,415,2.932,427,0.633,432,1.07,487,0.447,488,0.534,495,0.95,498,0.971,499,0.633,500,3.095,514,0.459,519,1.546,521,1.211,539,1.594,553,1.033,563,1.176,566,3.999,638,1.02,668,0.51,670,0.64,672,0.848,677,1.026,681,0.559,690,0.528,692,0.669,708,0.61,709,0.428,722,0.417,730,0.903,734,0.489,735,0.611,746,1.882,749,0.768,758,0.567,760,1.994,761,3.929,767,0.903,772,0.499,783,0.671,790,0.534,795,1.471,800,1.582,806,0.728,809,0.647,812,0.661,823,0.48,826,1.285,829,1.318,839,0.585,854,1.04,865,0.989,866,1.279,887,0.881,890,2.864,905,3.808,908,0.804,914,0.804,915,0.585,916,0.61,943,1.363,953,0.522,956,0.513,968,0.918,992,1.467,997,1.821,1005,1.506,1010,0.61,1057,0.58,1066,2.909,1067,0.74,1072,1.429,1079,0.541,1126,0.615,1130,0.721,1131,0.804,1132,0.881,1139,0.768,1151,0.61,1176,0.51,1210,1.809,1220,6.28,1255,0.576,1260,0.615,1297,1.253,1299,1.268,1369,0.654,1370,1.942,1395,1.991,1446,0.677,1452,0.935,1455,3.217,1464,0.654,1465,1.285,1466,2.425,1467,2.743,1468,1.285,1469,2.18,1470,2.558,1471,1.991,1472,0.754,1473,0.754,1474,1.649,1475,4.492,1476,3.05,1477,1.045,1478,5.666,1479,0.969,1480,0.785,1481,1.649,1482,6.368,1483,1.546,1484,1.471,1485,0.969,1486,1.045,1487,0.716,1488,0.567,1489,0.567,1490,0.918,1491,0.804,1492,0.677,1493,0.851,1494,0.826,1495,0.785,1496,0.769,1497,0.686,1498,0.918,1499,1.045,1500,1.045,1501,0.969,1502,0.969,1503,0.769,1504,0.74,1505,0.969,1506,0.881,1507,0.969,1508,0.804,1509,0.705,1510,0.826,1511,0.74,1512,1.321,1513,1.045,1514,1.957,1515,1.045,1516,1.957,1517,2.76,1518,1.957,1519,1.814,1520,1.957,1521,1.814,1522,1.957,1523,1.814,1524,0.969,1525,2.325,1526,1.957,1527,1.814,1528,0.804,1529,0.918,1530,0.769,1531,0.548,1532,1.814,1533,1.719,1534,1.506,1535,0.881,1536,0.74,1537,0.851,1538,0.785,1539,0.918,1540,0.881,1541,0.969,1542,0.851,1543,0.918,1544,1.045,1545,1.045,1546,1.045,1547,1.045,1548,1.045,1549,0.969,1550,1.045,1551,0.969,1552,1.045,1553,1.045,1554,1.045,1555,0.654]],["component/30",[1,0.382,2,0.692,18,0.605]],["title/31-1",[866,28.108,1093,40.849]],["name/31-1",[]],["text/31-1",[]],["component/31-1",[]],["title/31-2",[1,10.292,62,16.531,1130,23.88]],["name/31-2",[]],["text/31-2",[]],["component/31-2",[]],["title/31-3",[26,19.66,62,14.369,761,23.004,1030,24.015]],["name/31-3",[]],["text/31-3",[]],["component/31-3",[]],["title/31-4",[26,19.66,241,24.947,291,23.004,761,23.004]],["name/31-4",[]],["text/31-4",[]],["component/31-4",[]],["title/31-5",[26,19.66,241,24.947,761,23.004,1556,44.526]],["name/31-5",[]],["text/31-5",[]],["component/31-5",[]],["title/31-6",[117,45.789,1093,40.849]],["name/31-6",[]],["text/31-6",[]],["component/31-6",[]],["title/31-7",[1557,65.686]],["name/31-7",[]],["text/31-7",[]],["component/31-7",[]],["title/31-8",[1093,34.704,1111,37.829,1558,43.773]],["name/31-8",[]],["text/31-8",[]],["component/31-8",[]],["title/31-9",[4,26.975,38,15.841,1093,34.704]],["name/31-9",[]],["text/31-9",[]],["component/31-9",[]],["title/31-10",[1559,64.312,1560,56.145]],["name/31-10",[]],["text/31-10",[]],["component/31-10",[]],["title/31-11",[1557,65.686]],["name/31-11",[]],["text/31-11",[]],["component/31-11",[]],["title/31-12",[1561,69.701]],["name/31-12",[]],["text/31-12",[]],["component/31-12",[]],["title/31-13",[222,28.468,380,32.256]],["name/31-13",[]],["text/31-13",[]],["component/31-13",[]],["title/31-14",[1562,81.486]],["name/31-14",[]],["text/31-14",[]],["component/31-14",[]],["title/31",[1093,49.637]],["name/31",[1093,1.922]],["text/31",[0,0.328,1,1.008,2,0.501,4,1.303,10,0.993,15,0.723,35,0.555,37,0.752,38,2.235,39,1.451,41,0.495,46,0.684,48,0.825,49,1.335,50,2.118,52,0.53,57,0.422,58,1.059,62,2.15,63,2.932,65,1.258,66,0.851,68,0.451,69,1.233,70,1.248,71,2.727,75,0.555,78,1.189,79,0.578,83,0.686,87,0.992,91,2.702,92,0.47,95,0.429,98,0.397,107,1.635,109,0.876,114,0.429,122,1.955,126,0.72,143,1.977,144,0.566,145,0.479,149,0.333,152,0.881,153,0.812,154,1.34,158,0.544,161,1.635,163,0.731,166,1.131,167,3.825,173,0.897,176,0.506,194,1.771,197,1.086,200,0.526,211,0.334,215,0.482,216,0.388,218,1.121,220,0.56,221,0.409,222,3.218,223,1.18,224,0.38,229,0.756,232,1.954,234,0.775,244,0.74,245,1.993,247,0.801,253,1.606,254,0.578,257,1.335,260,0.935,261,0.338,264,1.767,268,0.402,272,0.473,281,0.712,283,2.853,286,0.415,287,0.954,290,0.999,291,0.377,298,0.544,299,0.388,301,1.767,311,0.67,315,1.446,316,0.462,317,0.402,319,2.26,324,0.37,326,0.396,327,0.502,329,0.479,333,2.086,336,1.541,355,1.046,370,0.988,375,0.495,380,2.374,398,1.046,400,0.47,408,0.376,415,0.903,419,0.491,421,0.42,426,0.566,428,1.121,430,0.615,432,0.954,460,0.752,486,0.779,487,0.396,488,1.602,491,0.485,495,0.449,497,0.544,499,0.56,511,1.724,512,1.208,514,0.765,522,1.566,530,0.56,532,0.592,533,0.578,538,0.456,540,1.057,541,1.753,542,1.444,550,0.451,553,1.779,555,0.801,563,0.394,568,0.442,569,0.521,589,1.643,615,0.495,635,0.838,668,1.529,674,0.53,678,0.509,679,1.316,683,0.517,704,1.195,708,2.174,709,1.014,712,0.491,713,0.644,714,1.898,720,0.695,723,0.479,724,0.495,734,0.816,741,2.478,742,1.582,746,0.996,748,0.446,749,1.672,750,0.451,755,0.526,759,0.695,763,0.856,766,0.886,783,1.074,786,0.94,792,0.56,794,1.713,800,0.53,805,0.437,809,0.572,810,0.482,813,1.072,819,0.68,823,0.424,824,0.615,831,0.539,865,1.582,866,1.751,872,0.555,878,1.724,883,0.555,887,0.779,890,0.696,892,0.439,896,1.821,911,0.634,915,2.386,916,0.539,917,1.161,918,0.451,919,0.549,947,0.94,948,1.079,951,0.464,953,0.462,959,0.624,972,0.544,976,0.667,982,0.992,992,0.927,998,0.759,1001,2.66,1010,1.444,1012,0.544,1024,0.592,1025,1.091,1029,2.822,1030,2.973,1038,1.538,1058,0.451,1070,0.498,1082,0.599,1088,0.933,1093,6.704,1105,0.424,1106,0.73,1110,1.036,1130,0.34,1136,0.68,1137,0.491,1147,1.311,1148,0.509,1150,1.103,1166,1.214,1167,0.446,1174,0.68,1180,0.521,1185,0.535,1210,1.632,1217,1.378,1221,0.779,1230,0.476,1255,0.509,1258,0.615,1259,0.968,1261,1.214,1289,0.779,1295,0.506,1296,0.644,1301,0.56,1306,0.488,1311,0.572,1318,3.59,1321,0.572,1324,0.861,1350,0.615,1357,1.5,1362,0.549,1373,1.898,1386,0.812,1400,2.084,1409,0.509,1414,0.779,1416,3.69,1417,1.334,1429,3.029,1430,0.933,1432,0.73,1434,0.695,1448,0.68,1452,0.442,1454,1.046,1458,0.634,1483,0.73,1531,0.915,1536,0.655,1557,4.497,1559,1.47,1560,2.741,1561,4.507,1562,2.752,1563,0.925,1564,0.592,1565,8.026,1566,5.245,1567,0.667,1568,0.812,1569,0.73,1570,0.73,1571,0.752,1572,4.823,1573,0.857,1574,1.103,1575,4.007,1576,0.992,1577,2.476,1578,0.779,1579,0.655,1580,1.342,1581,0.812,1582,0.812,1583,0.624,1584,0.68,1585,1.625,1586,3.274,1587,1.027,1588,1.616,1589,0.68,1590,0.857,1591,0.779,1592,0.711,1593,1.47,1594,0.752,1595,0.711,1596,0.925,1597,0.984,1598,1.744,1599,1.532,1600,1.283,1601,2.294,1602,1.532,1603,0.925,1604,2.294,1605,1.956,1606,0.634,1607,0.711,1608,1.616,1609,0.634,1610,4.412,1611,0.73,1612,0.925,1613,2.385,1614,0.925,1615,0.578,1616,3.726,1617,0.925,1618,2.476,1619,2.476,1620,1.744,1621,1.744,1622,1.744,1623,2.086,1624,3.952,1625,1.744,1626,0.925,1627,0.925,1628,0.925,1629,0.925,1630,0.925,1631,0.925,1632,0.925,1633,0.925,1634,0.925,1635,0.779,1636,0.779,1637,0.655,1638,0.779,1639,0.925,1640,0.73,1641,0.752,1642,0.925,1643,0.667,1644,0.695,1645,1.342,1646,0.695,1647,3.686,1648,0.752,1649,1.378,1650,2.015,1651,1.258,1652,4.407,1653,2.752,1654,1.378,1655,0.566,1656,0.812,1657,1.378,1658,0.925,1659,0.925,1660,0.925,1661,1.235,1662,0.925,1663,0.925,1664,2.475,1665,0.779,1666,2.294,1667,0.752,1668,0.925,1669,0.752,1670,1.103,1671,1.42,1672,0.857,1673,1.42,1674,0.925,1675,0.779,1676,0.585,1677,0.578,1678,2.476,1679,1.744,1680,1.744,1681,0.711,1682,0.857,1683,0.925,1684,0.585,1685,0.925,1686,0.73,1687,0.857,1688,0.73,1689,0.615,1690,0.925,1691,0.925,1692,0.506,1693,0.925,1694,2.476,1695,1.161,1696,0.68,1697,0.599,1698,0.925,1699,0.667,1700,0.857,1701,2.294,1702,0.857,1703,0.812,1704,0.695,1705,0.857,1706,0.857,1707,0.925,1708,0.695,1709,0.925,1710,0.644,1711,0.812]],["component/31",[1,0.382,2,0.692,18,0.605]],["title/32-1",[62,19.457,1455,37.883]],["name/32-1",[]],["text/32-1",[]],["component/32-1",[]],["title/32-2",[165,26.767,654,38.173,1064,40.115]],["name/32-2",[]],["text/32-2",[]],["component/32-2",[]],["title/32-3",[1,7.912,26,17.386,162,25.973,761,20.344,1712,49.846]],["name/32-3",[]],["text/32-3",[]],["component/32-3",[]],["title/32-4",[26,17.386,62,12.708,422,23.571,761,20.344,1455,24.742]],["name/32-4",[]],["text/32-4",[]],["component/32-4",[]],["title/32-5",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/32-5",[]],["text/32-5",[]],["component/32-5",[]],["title/32-6",[26,19.66,38,13.77,1713,39.921,1714,43.371]],["name/32-6",[]],["text/32-6",[]],["component/32-6",[]],["title/32",[26,22.617,130,39.289,761,26.464]],["name/32",[26,0.523,130,0.909,761,0.613]],["text/32",[0,0.718,1,1.96,2,0.581,4,1.487,10,1.134,14,1.214,26,4.393,29,0.82,34,1.193,36,0.855,38,2.166,39,1.871,48,0.957,49,1.281,52,2.05,62,3.013,68,1.745,69,0.796,70,2.315,71,2.592,107,0.888,116,1.041,124,2.249,149,2.09,152,0.72,153,0.942,154,1.529,162,3.813,165,2.735,167,1.994,178,1.422,203,0.808,216,2.778,218,2.626,223,0.762,224,0.832,232,0.759,234,2.075,241,3.501,242,2.188,249,1.202,253,1.347,257,1.721,274,1.9,281,1.459,283,1.355,285,2.016,289,1.839,291,0.826,299,0.848,301,2.016,310,1.97,311,1.846,313,0.845,315,1.865,327,1.098,336,0.731,375,1.913,380,1.511,400,1.028,406,0.993,487,0.865,501,1.252,502,1.888,511,0.734,517,1.141,540,1.226,549,1.16,553,0.757,566,1.328,569,1.141,570,2.91,571,0.933,638,4.388,648,2.271,654,2.105,683,1.132,702,2.283,709,2.376,722,0.808,735,0.632,746,1.932,755,3.298,761,4.654,764,1.386,766,1.028,772,0.966,783,2.271,792,1.226,800,1.16,801,2.124,843,0.802,857,1.265,866,2.44,890,3.696,904,5.252,918,0.987,938,1.15,944,1.311,948,1.252,956,0.993,958,1.214,995,1.346,1021,2.236,1030,3.777,1061,2.394,1063,1.098,1064,4.528,1068,1.598,1088,1.083,1107,5.184,1126,1.191,1139,0.793,1166,1.409,1210,1.863,1220,2.913,1249,1.18,1258,2.379,1264,1.068,1285,1.041,1299,3.759,1370,2.688,1404,4.48,1454,3.48,1455,3.926,1495,1.52,1496,1.488,1578,3.013,1636,1.705,1677,2.236,1686,2.824,1715,1.598,1716,1.311,1717,1.598,1718,1.598,1719,1.875,1720,1.777,1721,1.875,1722,1.875,1723,2.023,1724,1.705,1725,1.433,1726,1.295,1727,2.023,1728,2.023,1729,1.875,1730,1.386,1731,1.409,1732,1.646,1733,1.777,1734,2.63,1735,2.023,1736,1.875,1737,2.023,1738,3.575,1739,3.575,1740,3.575,1741,3.575,1742,3.575,1743,3.575,1744,3.313,1745,3.313,1746,3.575,1747,3.575,1748,3.575,1749,3.575,1750,3.575,1751,3.575,1752,3.575,1753,3.575,1754,3.575,1755,3.575,1756,3.575,1757,5.8,1758,6.625,1759,2.023,1760,2.023,1761,2.023,1762,1.875,1763,2.023,1764,3.575,1765,2.023,1766,2.023,1767,1.386,1768,2.023,1769,1.646,1770,1.459,1771,1.646,1772,2.023]],["component/32",[1,0.382,2,0.692,18,0.605]],["title/33-1",[145,29.181,328,27.215,1773,65.148]],["name/33-1",[]],["text/33-1",[]],["component/33-1",[]],["title/33-2",[328,36.851,421,34.711]],["name/33-2",[]],["text/33-2",[]],["component/33-2",[]],["title/33-3",[328,36.851,422,36.09]],["name/33-3",[]],["text/33-3",[]],["component/33-3",[]],["title/33-4",[328,36.851,418,38.785]],["name/33-4",[]],["text/33-4",[]],["component/33-4",[]],["title/33-5",[145,29.181,328,27.215,1773,44.526,1774,45.875]],["name/33-5",[]],["text/33-5",[]],["component/33-5",[]],["title/33-6",[328,36.851,421,34.711]],["name/33-6",[]],["text/33-6",[]],["component/33-6",[]],["title/33-7",[328,36.851,422,36.09]],["name/33-7",[]],["text/33-7",[]],["component/33-7",[]],["title/33-8",[328,36.851,418,38.785]],["name/33-8",[]],["text/33-8",[]],["component/33-8",[]],["title/33-9",[145,29.181,328,27.215,1774,67.121]],["name/33-9",[]],["text/33-9",[]],["component/33-9",[]],["title/33-10",[670,46.72,1775,52.304]],["name/33-10",[]],["text/33-10",[]],["component/33-10",[]],["title/33",[1,8.946,2,16.189,145,29.181,1401,42.361]],["name/33",[145,0.777,205,0.884,1776,1.083]],["text/33",[1,1.998,2,3.237,10,0.679,18,0.944,26,3.024,49,1.799,58,2.149,61,1.425,62,1.93,63,1.148,71,2.563,83,0.843,95,0.992,100,0.948,105,2.173,126,1.551,136,2.103,140,2.086,141,0.935,143,2.328,145,5.094,149,0.772,152,1.788,154,2.149,157,1.445,161,0.939,162,1.116,167,2.076,174,1.325,176,1.171,179,3.442,203,0.855,207,1.297,209,1.609,216,2.106,219,2.856,221,0.948,223,1.892,224,0.88,232,0.804,234,1.177,241,0.948,244,0.909,245,0.82,253,0.806,257,1.346,261,0.784,266,2.055,274,1.998,283,1.904,286,1.686,287,2.328,289,1.101,291,1.534,298,1.26,301,3.876,313,0.894,315,1.459,324,0.858,328,1.815,355,3.199,360,2.892,368,2.825,380,2.552,404,1.108,418,2.553,420,1.998,487,1.608,495,1.039,498,1.063,502,1.13,503,3.298,511,1.363,514,0.939,526,1.609,529,1.881,539,0.983,540,1.297,553,2.26,569,2.119,570,1.743,670,5.307,702,1.786,708,1.249,712,1.138,722,0.855,734,1.002,746,1.511,749,0.84,760,2.438,761,2.805,763,1.051,790,1.095,810,1.116,825,1.804,865,1.081,875,1.26,997,1.971,1009,6.877,1017,1.609,1018,1.217,1025,1.656,1057,1.189,1063,1.162,1070,1.154,1072,1.946,1076,3.941,1079,1.108,1126,1.26,1134,2.055,1148,1.18,1151,1.249,1167,2.425,1176,1.045,1183,1.371,1208,1.171,1217,1.691,1220,2.522,1288,1.609,1293,3.965,1321,1.325,1324,1.057,1362,1.272,1369,3.777,1401,5.69,1409,1.18,1420,5.166,1425,2.93,1437,1.249,1450,1.881,1457,1.325,1475,3.965,1476,3.302,1490,3.302,1496,1.575,1538,2.825,1584,2.765,1704,1.609,1716,1.388,1744,1.984,1745,1.984,1773,8.421,1774,9.309,1775,2.576,1777,2.141,1778,2.141,1779,6.873,1780,2.141,1781,1.804,1782,1.691,1783,1.544,1784,2.576,1785,4.655,1786,2.141,1787,1.647,1788,2.141,1789,3.483,1790,2.141,1791,2.141,1792,2.141,1793,2.141,1794,2.141,1795,2.141,1796,2.141,1797,2.141,1798,2.141,1799,2.141,1800,2.141,1801,2.141,1802,2.141,1803,2.141,1804,2.141,1805,2.141,1806,2.141,1807,2.141,1808,2.141,1809,2.141,1810,2.141,1811,2.141,1812,2.141,1813,2.141,1814,2.141,1815,2.141,1816,2.141,1817,2.141,1818,2.141,1819,2.141,1820,2.141,1821,2.141,1822,4.655,1823,3.758,1824,3.758,1825,3.167,1826,4.655,1827,3.758,1828,2.141,1829,2.141,1830,2.141,1831,1.371,1832,2.141,1833,2.141,1834,2.141,1835,1.406,1836,2.141,1837,2.141,1838,1.804,1839,1.425,1840,3.302,1841,3.758,1842,3.758,1843,2.141,1844,3.758,1845,2.141,1846,2.141,1847,2.141,1848,2.141]],["component/33",[1,0.382,2,0.692,18,0.605]],["title/34-1",[1497,60.891]],["name/34-1",[]],["text/34-1",[]],["component/34-1",[]],["title/34-2",[1849,59.371]],["name/34-2",[]],["text/34-2",[]],["component/34-2",[]],["title/34-3",[234,20.305,774,33.153,892,30.819]],["name/34-3",[]],["text/34-3",[]],["component/34-3",[]],["title/34",[234,23.9,774,39.023]],["name/34",[234,0.663,774,1.082]],["text/34",[1,0.237,2,0.429,10,2.745,15,0.618,33,0.967,44,0.923,46,3.395,62,0.38,63,2.543,70,1.097,71,2.491,84,0.782,87,0.598,106,0.822,109,0.749,111,2.292,122,0.614,126,2.218,141,1.188,149,0.538,152,0.531,161,1.644,166,0.682,167,4.063,173,0.768,178,0.593,180,0.863,184,0.967,194,0.709,197,0.517,203,0.596,205,1.601,211,1.355,215,0.777,216,1.14,221,2.045,222,1.014,223,1.412,225,1.665,232,1.407,233,0.583,234,4.146,244,0.633,245,0.571,247,0.685,253,0.562,254,0.933,257,0.974,260,0.564,263,2.654,274,1.446,281,0.609,290,1.098,301,0.841,311,0.573,315,1.455,324,1.09,326,0.638,329,1.408,332,0.763,336,0.539,338,1.763,341,0.955,345,1.188,374,0.955,380,1.149,400,0.758,406,1.335,408,0.607,418,2.348,420,1.446,421,2.74,422,2.849,432,0.816,488,2.747,491,0.782,498,1.35,511,0.541,513,0.749,518,1.741,530,1.648,533,0.933,539,0.685,541,0.835,542,1.587,548,0.822,553,0.558,568,1.299,569,1.534,571,0.688,582,1.979,589,0.782,615,0.799,622,2.167,648,1.772,672,0.646,681,2.006,696,0.768,709,0.611,722,1.086,735,2.36,740,0.828,741,0.777,742,1.893,745,2.89,748,1.313,767,0.688,774,5.725,783,0.512,793,0.878,800,1.559,805,2.849,813,3.606,832,0.944,841,2.327,852,3.655,854,0.793,866,1.702,877,1.022,884,0.863,890,1.845,892,4.508,904,2.049,911,1.022,914,1.148,918,0.728,923,0.793,928,3.343,936,1.701,949,2.227,951,1.366,953,0.745,954,0.904,983,0.913,1010,0.87,1016,1.763,1025,2.368,1029,1.666,1030,1.597,1034,2.884,1038,2.933,1057,2.081,1058,1.829,1067,1.057,1070,0.804,1072,0.772,1075,2.344,1105,2.122,1126,0.878,1130,1.002,1134,0.816,1135,0.913,1137,3.777,1139,2.363,1154,2.035,1175,1.683,1180,0.841,1186,1.683,1197,3.076,1215,1.022,1219,1.057,1229,0.993,1230,3.1,1264,0.788,1271,2.39,1285,0.768,1290,1.022,1293,1.786,1301,3.255,1304,2.938,1305,1.007,1306,0.788,1310,1.057,1318,3.888,1322,3.4,1352,0.944,1357,0.904,1362,0.887,1389,1.076,1393,0.98,1400,1.522,1404,0.913,1409,0.822,1429,0.754,1454,0.895,1462,1.648,1488,0.81,1496,1.098,1497,5.227,1512,1.007,1531,1.426,1597,0.841,1606,1.022,1695,0.993,1714,1.148,1726,0.955,1732,1.214,1776,1.962,1849,4.548,1850,2.958,1851,1.492,1852,0.993,1853,3.748,1854,5.37,1855,1.492,1856,2.39,1857,1.492,1858,3.748,1859,4.283,1860,1.492,1861,1.492,1862,2.72,1863,1.492,1864,1.492,1865,1.492,1866,1.383,1867,1.492,1868,1.383,1869,1.383,1870,2.39,1871,2.001,1872,2.39,1873,1.492,1874,1.492,1875,3.4,1876,3.761,1877,1.383,1878,3.894,1879,2.093,1880,1.492,1881,1.492,1882,1.076,1883,1.492,1884,1.492,1885,1.492,1886,3.748,1887,1.492,1888,0.98,1889,1.492,1890,2.72,1891,1.492,1892,1.864,1893,1.383,1894,1.257,1895,1.214,1896,2.72,1897,1.492,1898,1.257,1899,1.311,1900,1.492,1901,1.148,1902,1.492,1903,1.492,1904,2.72,1905,1.098,1906,1.383,1907,1.492,1908,1.836,1909,1.007,1910,0.887,1911,1.214,1912,1.492,1913,1.214,1914,1.007,1915,1.311,1916,1.383,1917,1.383,1918,1.492,1919,1.257,1920,1.492,1921,1.492,1922,0.955,1923,1.098,1924,0.777,1925,1.492,1926,0.81]],["component/34",[1,0.382,2,0.692,18,0.605]],["title/35-1",[234,20.305,735,20.254,1139,25.431]],["name/35-1",[]],["text/35-1",[]],["component/35-1",[]],["title/35-2",[287,21.729,556,26.653,1180,31.787,1306,29.758]],["name/35-2",[]],["text/35-2",[]],["component/35-2",[]],["title/35-3",[38,18.389,57,22.777,638,25.973,735,15.57]],["name/35-3",[]],["text/35-3",[]],["component/35-3",[]],["title/35-4",[234,15.609,735,15.57,934,26.866,1055,32.727,1139,19.55]],["name/35-4",[]],["text/35-4",[]],["component/35-4",[]],["title/35-5",[131,40.115,234,20.305,735,20.254]],["name/35-5",[]],["text/35-5",[]],["component/35-5",[]],["title/35",[234,23.9,735,23.839]],["name/35",[234,0.663,735,0.661]],["text/35",[1,0.611,4,0.915,10,0.697,18,0.298,34,0.294,37,1.328,38,2.538,46,3.769,48,0.56,49,1.837,57,3.012,58,0.507,62,0.302,63,1.566,68,0.578,69,0.865,70,0.346,71,1.661,80,2.869,93,0.449,95,0.549,98,0.509,100,0.524,101,0.777,106,0.652,109,1.104,114,0.549,118,0.935,122,0.904,131,0.733,138,1.375,141,0.517,143,1.019,148,0.605,149,0.792,152,1.096,153,0.552,154,1.317,156,0.998,158,0.697,161,0.52,163,0.496,164,0.638,167,4.152,173,1.131,174,0.733,176,1.202,178,0.471,180,0.685,183,0.986,184,0.767,197,1.569,203,0.473,211,0.428,216,0.496,218,0.536,221,0.973,222,1.688,229,0.513,234,3.834,244,0.502,245,1.179,247,0.544,249,0.704,251,0.605,253,1.159,254,0.741,257,0.788,260,3.022,261,0.433,276,2.726,281,0.483,283,0.449,285,0.668,287,1.977,289,0.609,290,0.887,291,0.483,311,0.455,315,1.756,323,2.64,324,1.233,326,0.941,327,0.643,338,1.034,344,2.869,345,0.961,373,1.408,374,0.758,379,1.005,404,0.613,408,0.894,415,1.138,418,1.117,420,1.169,421,1.4,422,1.455,432,0.647,433,0.811,439,2.078,487,0.941,488,1.124,491,0.621,495,1.494,498,1.091,500,1.117,511,1.116,522,0.749,532,0.758,538,1.085,539,3.026,547,0.777,552,2.606,553,0.823,555,1.413,556,4.155,558,0.824,562,0.617,568,2.45,569,0.668,638,2.004,648,4.704,665,0.704,696,1.583,708,0.691,709,1.576,712,2.045,722,1.536,734,0.554,735,3.107,742,1.111,758,0.643,766,0.602,767,0.546,772,2.45,774,0.605,776,0.697,789,3.077,792,0.717,793,0.697,796,0.811,813,3.806,820,0.605,840,0.717,852,2.825,854,0.629,857,0.741,862,0.741,866,0.436,875,0.697,876,1.947,890,0.878,892,0.563,916,0.691,918,0.578,919,0.704,928,3.101,934,1.659,936,0.741,938,1.25,947,0.638,953,0.591,957,1.955,966,1.261,972,0.697,998,0.515,1010,0.691,1012,0.697,1025,1.994,1027,0.629,1029,3.555,1030,2.415,1038,1.588,1049,0.811,1055,1.444,1057,2.512,1058,2.209,1067,0.839,1105,1.009,1126,1.294,1135,0.725,1137,0.629,1139,4.948,1146,0.854,1151,0.691,1154,3.34,1180,0.668,1184,1.789,1186,5.122,1187,2.593,1189,1.484,1210,0.617,1212,0.799,1229,0.788,1230,2.638,1235,0.717,1236,1.097,1257,1.557,1260,0.697,1285,0.609,1297,0.758,1298,0.871,1301,2.742,1306,1.161,1318,3.165,1324,1.899,1342,0.777,1357,1.332,1370,1.23,1381,1.04,1382,0.935,1404,3.766,1409,0.652,1416,0.602,1429,1.111,1446,0.767,1491,0.911,1512,0.799,1531,2.689,1533,1.04,1555,0.741,1592,2.368,1606,0.811,1645,0.911,1670,1.391,1677,0.741,1689,0.788,1852,0.788,1856,4.98,1872,1.932,1879,0.911,1901,2.368,1922,0.758,1923,2.264,1924,0.617,1927,1.796,1928,1.184,1929,3.946,1930,3.565,1931,0.89,1932,4.321,1933,0.998,1934,0.911,1935,0.911,1936,1.097,1937,1.04,1938,0.799,1939,5.404,1940,2.431,1941,0.998,1942,0.964,1943,0.964,1944,0.998,1945,2.431,1946,1.097,1947,1.04,1948,1.04,1949,1.097,1950,3.565,1951,1.184,1952,2.199,1953,2.199,1954,1.932,1955,2.704,1956,1.184,1957,1.097,1958,1.097,1959,0.998,1960,1.932,1961,1.04,1962,1.184,1963,0.811,1964,1.097,1965,1.097,1966,1.097,1967,0.811,1968,0.911,1969,1.184,1970,0.741,1971,0.964,1972,1.097,1973,1.184,1974,0.749,1975,1.04,1976,1.932,1977,0.741,1978,1.184,1979,0.911,1980,0.935,1981,1.932,1982,1.184,1983,1.184,1984,1.04,1985,1.184,1986,1.184,1987,1.184,1988,1.184,1989,1.184,1990,1.04,1991,1.184,1992,1.184,1993,1.097,1994,1.097,1995,1.097,1996,1.097,1997,1.097,1998,1.097,1999,0.839,2000,1.184,2001,1.184,2002,0.935]],["component/35",[1,0.382,2,0.692,18,0.605]],["title/36-1",[62,19.457,1139,29.934]],["name/36-1",[]],["text/36-1",[]],["component/36-1",[]],["title/36-2",[234,20.305,735,20.254,1061,26.767]],["name/36-2",[]],["text/36-2",[]],["component/36-2",[]],["title/36-3",[234,20.305,323,37.829,997,34.008]],["name/36-3",[]],["text/36-3",[]],["component/36-3",[]],["title/36-4",[53,45.352,323,44.527]],["name/36-4",[]],["text/36-4",[]],["component/36-4",[]],["title/36-5",[38,15.841,57,29.629,323,37.829]],["name/36-5",[]],["text/36-5",[]],["component/36-5",[]],["title/36-6",[1139,29.934,1291,48.86]],["name/36-6",[]],["text/36-6",[]],["component/36-6",[]],["title/36-7",[2003,85.955]],["name/36-7",[]],["text/36-7",[]],["component/36-7",[]],["title/36-8",[2004,81.486]],["name/36-8",[]],["text/36-8",[]],["component/36-8",[]],["title/36-9",[866,28.108,2005,62.119]],["name/36-9",[]],["text/36-9",[]],["component/36-9",[]],["title/36",[62,23.643]],["name/36",[62,0.915]],["text/36",[1,1.144,2,1.352,4,1.959,6,0.789,10,1.862,15,0.956,26,2.048,33,0.809,37,0.538,38,2.397,39,1.834,46,0.905,48,1.522,49,2.438,53,1.913,57,2.151,58,0.987,62,2.455,63,1.226,69,2.095,70,1.174,71,2.694,78,0.599,79,0.78,87,0.925,91,0.562,92,0.634,93,0.473,95,0.578,97,0.734,98,0.991,102,0.687,109,0.626,116,0.642,117,0.748,120,0.953,122,0.513,124,0.584,126,0.953,131,0.772,141,1.008,143,0.578,144,0.764,152,1.146,154,1.717,158,0.734,161,0.547,165,1.329,167,3.963,173,0.642,176,0.682,178,0.918,194,1.097,197,2.36,203,0.921,207,0.756,209,0.938,216,2.854,218,1.045,219,0.709,221,0.552,222,2.825,223,1.213,225,2.456,229,0.54,232,0.866,234,2.818,244,0.529,245,0.478,249,0.741,251,0.638,253,1.773,257,1.437,260,1.516,261,1.468,272,0.638,276,0.663,281,0.942,283,1.521,286,0.56,287,0.481,290,0.504,299,0.523,301,0.704,304,0.789,311,0.479,315,1.25,316,0.623,317,0.543,323,6.863,324,1.608,326,0.987,336,1.164,337,0.677,344,1.291,345,2.326,370,1.88,374,0.799,379,0.57,380,0.975,406,1.133,420,0.663,427,4.124,432,1.761,462,0.809,488,1.18,491,0.654,495,0.606,497,0.734,502,0.659,511,1.455,517,0.704,520,0.687,530,0.756,534,0.986,538,0.616,539,0.573,547,1.515,552,1.636,555,1.842,556,2.776,568,0.596,582,2.486,634,0.698,638,0.65,648,2.226,654,1.895,664,1.015,670,0.764,672,0.54,673,1.051,677,1.21,679,0.663,695,0.842,696,2.064,697,0.842,709,1.644,712,1.227,722,0.498,723,0.646,735,2.365,742,1.166,746,0.502,748,0.602,749,0.905,758,0.677,761,1.638,763,0.612,766,1.173,772,1.102,773,0.721,778,0.869,783,1.376,805,1.522,810,0.65,813,3.425,826,0.819,840,0.756,852,1.478,855,1.895,857,0.78,862,0.78,866,3.225,869,0.809,884,1.334,890,2.125,904,0.682,909,0.884,911,0.855,918,1.571,928,1.086,932,1.015,934,0.672,937,1.536,953,1.152,956,1.133,957,2.393,959,0.842,972,0.734,997,1.21,1012,0.734,1025,0.55,1027,0.663,1029,2.829,1030,2.502,1038,0.515,1057,1.281,1058,1.126,1061,2.627,1064,0.772,1088,3.143,1091,1.015,1105,1.842,1125,0.78,1130,1.186,1139,4.981,1154,1.748,1186,2.482,1187,1.944,1189,0.842,1212,0.842,1229,0.83,1230,0.642,1235,0.756,1241,1.235,1252,0.819,1257,1.634,1259,0.693,1264,0.659,1290,2.75,1291,0.799,1295,0.682,1301,3.226,1302,1.443,1310,0.884,1324,1.139,1343,0.772,1350,0.83,1362,0.741,1370,0.698,1394,1.051,1404,0.764,1409,1.271,1429,0.63,1430,1.235,1437,0.728,1452,1.917,1455,0.619,1462,0.756,1488,0.677,1492,0.809,1530,0.918,1536,0.884,1537,1.015,1555,0.78,1558,1.558,1609,1.581,1640,0.986,1644,0.938,1645,0.96,1692,0.682,1850,0.799,1923,1.698,1924,0.65,1927,0.728,1929,2.477,1939,2.037,1943,1.015,1944,1.051,1945,0.986,1963,0.855,1970,0.78,1977,0.78,1994,4.364,1995,2.984,1996,2.139,1997,2.139,1998,2.139,2003,3.719,2004,2.028,2005,4.779,2006,2.894,2007,1.247,2008,1.247,2009,1.156,2010,1.398,2011,2.028,2012,1.247,2013,1.156,2014,0.96,2015,0.842,2016,1.156,2017,2.028,2018,2.308,2019,1.247,2020,0.918,2021,1.247,2022,0.842,2023,0.938,2024,0.83,2025,1.247,2026,0.672,2027,1.247,2028,1.247,2029,1.247,2030,1.247,2031,1.096,2032,1.247,2033,1.247,2034,1.247,2035,1.051,2036,2.829,2037,2.037,2038,1.247,2039,1.247,2040,1.247,2041,1.247,2042,1.096,2043,1.051,2044,1.944,2045,0.986,2046,0.855,2047,1.156,2048,1.247,2049,1.247,2050,1.156,2051,1.156,2052,0.938,2053,1.015,2054,1.096,2055,1.247,2056,1.247,2057,0.869,2058,1.247,2059,1.247,2060,1.247,2061,2.139,2062,1.015,2063,1.247]],["component/36",[1,0.382,2,0.692,18,0.605]],["title/37",[234,29.041]],["name/37",[3,1.542]],["text/37",[1,2.01,2,3.398,10,2.79,18,1.549,29,3.563,62,2.242,63,3.954,67,4.366,70,2.574,71,2.768,84,3.232,167,2.119,178,2.451,203,4.466,206,3.899,222,2.299,223,2.321,234,4.126,287,2.376,313,2.574,326,2.636,423,3.321,487,2.636,512,3.008,514,2.704,555,2.829,556,2.914,734,2.885,735,1.925,750,3.008,766,3.132,774,3.151,800,3.533,852,4.038,884,3.564,890,2.46,925,3.734,956,3.024,983,6.279,997,4.613,1015,3.772,1016,3.994,1072,3.19,1126,3.628,1139,2.417,1397,3.504,1464,3.854,1510,4.868,1511,7.923,1606,4.223,2064,5.712,2065,5.016]],["component/37",[1,0.382,2,0.692,18,0.605]],["title/38-1",[1849,59.371]],["name/38-1",[]],["text/38-1",[]],["component/38-1",[]],["title/38-2",[62,19.457,1849,48.86]],["name/38-2",[]],["text/38-2",[]],["component/38-2",[]],["title/38-3",[2066,78.148]],["name/38-3",[]],["text/38-3",[]],["component/38-3",[]],["title/38-4",[2067,92.74]],["name/38-4",[]],["text/38-4",[]],["component/38-4",[]],["title/38-5",[1854,75.483]],["name/38-5",[]],["text/38-5",[]],["component/38-5",[]],["title/38-6",[143,23.106,197,17.286,234,15.609,1850,31.911,2068,46.199]],["name/38-6",[]],["text/38-6",[]],["component/38-6",[]],["title/38-7",[234,20.305,402,35.996,904,35.458]],["name/38-7",[]],["text/38-7",[]],["component/38-7",[]],["title/38-8",[2069,81.486]],["name/38-8",[]],["text/38-8",[]],["component/38-8",[]],["title/38-9",[2070,85.955]],["name/38-9",[]],["text/38-9",[]],["component/38-9",[]],["title/38-10",[2071,78.148]],["name/38-10",[]],["text/38-10",[]],["component/38-10",[]],["title/38-11",[234,20.305,415,33.57,904,35.458]],["name/38-11",[]],["text/38-11",[]],["component/38-11",[]],["title/38-12",[402,42.369,2072,38.552]],["name/38-12",[]],["text/38-12",[]],["component/38-12",[]],["title/38-13",[666,56.145,957,38.785]],["name/38-13",[]],["text/38-13",[]],["component/38-13",[]],["title/38-14",[80,42.701,1938,51.523]],["name/38-14",[]],["text/38-14",[]],["component/38-14",[]],["title/38-15",[2073,73.264]],["name/38-15",[]],["text/38-15",[]],["component/38-15",[]],["title/38-16",[62,12.708,402,27.672,666,36.669,957,25.331,2072,25.179]],["name/38-16",[]],["text/38-16",[]],["component/38-16",[]],["title/38-17",[2074,71.363]],["name/38-17",[]],["text/38-17",[]],["component/38-17",[]],["title/38",[800,53.173]],["name/38",[800,2.059]],["text/38",[0,0.855,1,0.933,2,0.487,4,1.512,6,1.072,10,1.744,13,0.289,15,1.388,17,0.895,18,0.328,26,1.452,30,0.538,33,0.299,34,0.324,37,1.316,38,1.135,39,1.305,46,0.944,48,0.218,49,1.2,52,0.265,57,0.211,62,2.59,63,0.517,66,0.225,68,0.438,69,0.514,70,0.98,71,2.268,75,0.277,76,0.355,78,0.627,80,3.288,83,0.182,84,0.242,87,0.679,91,0.763,93,0.495,95,1.269,96,0.207,97,0.528,98,0.561,100,0.397,101,0.303,102,0.254,106,0.254,107,0.203,109,0.851,113,0.365,114,0.214,120,0.191,122,1.255,124,0.42,126,0.539,136,1.532,138,0.289,141,0.9,143,1.116,144,0.283,149,0.61,152,1.086,153,0.96,154,1.171,155,0.428,161,1.057,162,0.681,164,0.483,165,0.191,166,0.211,167,4.32,169,0.227,170,0.265,173,0.672,176,0.252,177,0.483,178,0.674,183,0.207,184,0.581,194,1.727,197,0.835,203,0.823,205,0.272,207,1.659,211,2.529,216,1.01,218,0.406,221,1.608,222,1.977,223,0.907,224,0.19,226,0.251,229,1.043,230,0.518,232,1.745,233,0.18,234,3.703,241,0.204,244,1.542,245,0.649,247,1.106,248,0.982,249,3.025,250,0.785,253,0.492,254,1.289,257,0.468,260,2.003,261,0.478,272,0.236,274,0.476,276,0.694,281,0.533,283,2.296,286,0.402,287,1.176,290,1.232,291,0.533,299,0.376,304,1.523,313,0.193,315,0.657,317,1.048,323,0.523,324,0.679,326,0.559,327,0.251,329,1.067,332,0.668,336,1.411,337,0.487,338,1.436,342,0.283,344,0.501,345,0.9,355,0.379,370,0.676,374,0.296,379,0.41,380,1.157,395,0.383,402,2.449,403,1.706,404,0.239,408,0.531,415,1.881,419,0.476,421,0.408,422,0.218,432,0.49,439,0.605,487,0.197,488,0.668,491,0.242,495,0.224,498,0.229,500,0.861,501,0.555,502,0.473,503,0.303,511,0.747,514,0.743,520,0.254,522,0.292,530,0.543,532,0.296,534,0.708,538,0.228,539,0.212,541,0.501,542,0.523,543,0.312,552,0.664,553,0.634,555,0.946,556,0.618,560,0.236,562,0.467,563,0.197,569,0.506,571,0.414,572,1.026,582,1.088,589,2.048,606,0.355,615,0.247,628,0.589,648,2.305,659,0.581,664,0.376,666,2.673,668,0.438,672,2.111,679,0.476,690,0.233,696,1.869,709,1.904,712,0.694,713,0.91,714,0.28,715,0.91,716,0.514,722,0.676,734,0.216,735,1.046,740,0.498,741,0.241,742,0.453,744,0.549,745,0.561,746,0.36,748,0.433,749,0.181,758,0.251,761,1.483,765,0.347,766,0.235,772,0.984,774,2.71,778,0.321,789,1.236,793,0.769,794,0.252,796,0.316,800,0.265,801,0.274,805,1.969,810,0.681,813,3.641,815,0.389,819,0.34,820,0.458,821,0.245,822,0.299,823,0.946,824,0.597,826,1.581,834,0.674,840,0.28,841,0.893,843,0.183,844,0.614,846,0.422,856,2.18,862,0.561,866,2.293,872,0.277,876,0.292,877,0.895,878,0.321,884,0.518,890,1.093,892,1.856,897,0.327,904,2.898,916,0.762,918,0.225,919,0.776,923,1.455,926,0.518,928,0.615,929,0.498,933,0.69,934,0.249,936,0.289,938,0.262,941,0.614,942,0.312,944,0.581,946,0.365,947,2.377,949,2.159,950,0.561,951,0.232,953,1.029,956,0.227,957,2.241,959,0.882,962,0.817,964,0.674,966,0.514,972,0.997,973,0.299,982,1.369,998,0.896,1001,0.501,1010,0.269,1011,0.34,1012,0.272,1015,0.283,1016,0.299,1021,0.289,1025,0.576,1027,1.622,1029,3.553,1030,2.343,1035,2.017,1038,3.253,1049,0.316,1054,0.232,1055,0.303,1056,2.907,1057,2.311,1058,1.489,1061,0.191,1063,0.487,1069,0.296,1071,0.355,1075,0.561,1079,0.239,1082,2.171,1088,1.793,1092,1.2,1093,1.465,1101,0.982,1105,2.433,1110,0.274,1111,0.523,1112,0.389,1123,1.032,1126,0.272,1130,1.124,1135,1.037,1136,0.34,1137,3.124,1139,1.912,1148,0.254,1152,0.72,1164,0.574,1166,0.321,1174,0.961,1176,0.225,1180,0.506,1183,0.574,1207,0.376,1214,0.8,1215,0.614,1216,0.333,1220,0.232,1230,0.238,1235,0.28,1241,0.247,1249,0.523,1252,0.303,1257,0.635,1259,0.498,1261,0.321,1285,0.672,1291,0.296,1295,0.252,1297,0.296,1298,0.34,1304,4.429,1305,0.605,1306,0.244,1308,1.202,1318,0.672,1321,0.808,1322,1.516,1324,0.836,1337,0.327,1350,0.307,1358,0.376,1362,1.007,1366,0.321,1369,0.289,1370,0.501,1382,0.365,1389,0.333,1396,0.327,1400,1.347,1409,0.254,1413,0.869,1429,0.66,1430,0.247,1436,0.34,1437,0.523,1443,0.581,1445,0.365,1446,0.299,1457,0.286,1461,0.406,1465,0.589,1466,1.148,1472,0.333,1478,0.365,1482,1.303,1483,0.365,1488,0.709,1492,0.581,1496,0.34,1497,4.685,1512,0.882,1525,0.389,1531,0.242,1538,0.347,1541,0.428,1542,0.376,1555,0.289,1576,0.51,1580,0.69,1585,0.303,1587,0.272,1589,0.34,1592,0.355,1606,0.614,1613,0.574,1615,0.289,1644,0.347,1645,0.355,1666,0.428,1667,0.376,1670,0.826,1684,0.826,1689,0.597,1692,0.252,1697,0.299,1704,0.347,1714,0.69,1731,0.91,1770,0.333,1771,1.063,1839,0.597,1849,1.084,1850,2.824,1852,1.371,1854,1.379,1869,0.428,1870,0.788,1876,1.677,1877,0.428,1878,0.755,1888,0.589,1892,0.614,1905,0.34,1908,3.137,1910,1.813,1913,1.063,1922,0.574,1924,0.241,1927,0.269,1931,0.674,1932,0.389,1937,3.193,1938,2.06,1963,0.316,1970,0.561,1977,0.817,2006,0.333,2017,0.406,2024,0.307,2026,0.913,2037,0.292,2043,0.389,2066,0.755,2068,0.831,2069,2.681,2070,2.232,2071,3.916,2072,2.228,2073,2.41,2074,1.853,2075,0.376,2076,0.355,2077,0.406,2078,0.389,2079,0.462,2080,0.327,2081,0.283,2082,0.961,2083,0.462,2084,0.428,2085,0.428,2086,0.389,2087,1.694,2088,0.462,2089,0.355,2090,0.831,2091,0.428,2092,0.73,2093,0.428,2094,0.428,2095,0.462,2096,0.327,2097,0.389,2098,0.333,2099,0.831,2100,0.518,2101,0.316,2102,0.624,2103,0.895,2104,0.831,2105,0.462,2106,0.355,2107,0.406,2108,0.428,2109,0.406,2110,0.428,2111,1.57,2112,0.755,2113,1.306,2114,0.462,2115,0.581,2116,0.896,2117,0.347,2118,0.462,2119,0.896,2120,0.831,2121,0.896,2122,0.896,2123,0.462,2124,0.428,2125,0.376,2126,0.462,2127,0.462,2128,0.462,2129,0.462,2130,0.462,2131,0.73,2132,0.406,2133,1.211,2134,1.523,2135,0.755,2136,0.462,2137,0.406,2138,1.005,2139,0.462,2140,1.306,2141,0.896,2142,0.462,2143,0.896,2144,2.408,2145,0.462,2146,1.101,2147,1.063,2148,1.303,2149,0.462,2150,1.306,2151,0.69,2152,0.982,2153,1.306,2154,0.896,2155,0.896,2156,1.81,2157,0.462,2158,0.321,2159,0.406,2160,1.303,2161,0.34,2162,0.428,2163,0.462,2164,0.896,2165,0.462,2166,0.462,2167,0.674,2168,0.406,2169,0.316,2170,0.428,2171,0.462,2172,0.389,2173,0.462,2174,0.333,2175,0.462,2176,0.674,2177,0.462,2178,0.462,2179,0.333,2180,0.462,2181,0.462,2182,0.462,2183,0.428,2184,0.376,2185,0.869,2186,0.462,2187,0.333,2188,0.462,2189,0.462,2190,0.896,2191,0.428,2192,0.34,2193,0.755,2194,0.462,2195,0.462,2196,0.462,2197,0.406,2198,0.406,2199,0.462,2200,1.57,2201,0.462,2202,0.462,2203,0.462,2204,0.831,2205,0.462,2206,0.755,2207,0.462,2208,0.389,2209,0.389,2210,0.462,2211,0.462,2212,0.462,2213,0.896,2214,0.428,2215,0.462,2216,0.462,2217,0.462,2218,0.462,2219,0.788,2220,0.376,2221,0.389,2222,0.34,2223,0.462,2224,0.428,2225,0.406,2226,0.462,2227,0.389,2228,0.406,2229,0.365,2230,0.365,2231,1.032,2232,2.116,2233,1.694,2234,0.34,2235,0.462,2236,1.306,2237,0.896,2238,0.896,2239,0.896,2240,0.462,2241,0.389,2242,0.462,2243,0.462,2244,0.462,2245,0.462,2246,0.462,2247,0.389,2248,0.462,2249,1.306,2250,0.462,2251,0.347,2252,0.376,2253,0.389,2254,0.462,2255,0.376,2256,0.365,2257,1.306,2258,0.376,2259,0.462,2260,1.101,2261,0.896,2262,0.428,2263,0.462,2264,0.428,2265,0.316,2266,0.376,2267,0.389,2268,0.347,2269,0.406,2270,0.406]],["component/38",[1,0.382,2,0.692,18,0.605]],["title/39-1",[786,41.136,1152,42.048]],["name/39-1",[]],["text/39-1",[]],["component/39-1",[]],["title/39-2",[46,29.934,786,41.136]],["name/39-2",[]],["text/39-2",[]],["component/39-2",[]],["title/39-3",[70,18.972,71,17.5,87,25.981]],["name/39-3",[]],["text/39-3",[]],["component/39-3",[]],["title/39-4",[62,23.643]],["name/39-4",[]],["text/39-4",[]],["component/39-4",[]],["title/39",[120,31.506,786,41.136]],["name/39",[120,0.874,786,1.141]],["text/39",[0,0.627,1,0.503,4,0.735,10,1.005,19,4.869,20,2.908,26,2.552,38,1.478,39,2.356,46,2.372,49,2.167,58,1.843,62,1.715,63,1.316,69,1.247,70,0.517,71,2.235,78,0.848,87,1.726,93,1.633,96,2.356,98,1.851,101,1.16,114,0.819,120,1.308,122,0.726,143,0.819,148,0.903,152,1.128,154,1.355,161,1.39,162,2.245,163,1.328,165,1.778,167,4.372,169,0.867,178,1.714,194,2.048,197,1.099,214,2.206,216,1.806,218,0.8,223,1.193,229,2.275,232,1.189,244,0.749,245,0.676,247,1.455,251,0.903,253,2.278,254,1.105,260,1.628,261,1.577,286,0.792,299,1.328,315,0.686,324,1.269,327,0.959,336,0.638,338,0.831,344,3.384,345,0.772,355,1.339,379,1.448,395,0.756,404,0.914,418,0.898,422,0.835,427,1.92,497,1.04,500,0.898,511,1.905,514,1.39,517,0.996,552,0.898,553,1.186,555,1.978,562,3.506,568,0.844,634,1.772,648,0.835,688,3,696,2.216,709,1.298,712,0.939,722,0.705,723,0.914,725,1.637,735,1.346,741,3.152,742,0.892,746,0.71,761,2.986,767,0.815,772,1.514,786,6.971,789,1.06,791,1.359,794,0.966,813,1.372,818,0.882,820,0.903,831,1.03,852,0.811,866,2.478,890,1.265,892,0.839,918,0.862,926,1.832,927,2.792,933,1.359,951,0.887,956,0.867,998,0.768,1025,0.778,1029,2.991,1030,1.835,1038,1.308,1058,3.571,1079,0.914,1088,3.916,1092,3.72,1093,3.238,1095,2.67,1101,2.381,1104,1.359,1105,1.455,1139,2.06,1152,6.471,1178,5.557,1188,5.382,1189,1.192,1210,2.245,1211,2.784,1213,3.785,1218,1.488,1225,1.637,1227,4.939,1230,1.63,1240,1.438,1241,2.811,1245,2.936,1264,0.932,1268,1.327,1319,0.996,1369,1.105,1370,0.988,1429,0.892,1430,0.945,1455,1.573,1488,1.72,1492,1.145,1509,1.192,1531,1.662,1580,1.359,1589,1.299,1655,1.081,1684,1.117,1697,1.145,1699,2.285,1725,1.251,1888,1.16,1929,1.359,1970,1.105,2037,1.117,2046,1.21,2148,4.042,2151,2.438,2192,1.299,2265,1.21,2271,1.766,2272,3.506,2273,1.552,2274,1.23,2275,1.766,2276,1.251,2277,1.766,2278,1.766,2279,7.829,2280,1.766,2281,4.308,2282,3.168,2283,1.637,2284,2.936,2285,1.395,2286,1.766,2287,1.766,2288,1.766,2289,1.766,2290,6.729,2291,3.168,2292,3.785,2293,2.936,2294,2.784,2295,1.637,2296,1.637,2297,1.766,2298,1.766,2299,1.766,2300,1.766,2301,1.766,2302,1.766,2303,1.327,2304,6.781,2305,1.637,2306,1.251,2307,1.552,2308,3.168,2309,3.168,2310,1.766,2311,1.327,2312,1.637,2313,1.766,2314,3.993,2315,2.171,2316,1.766,2317,1.766,2318,1.552,2319,1.766,2320,1.766,2321,3.993,2322,5.253,2323,1.766,2324,1.552,2325,2.936,2326,2.503,2327,1.766,2328,1.766,2329,1.766,2330,1.766]],["component/39",[1,0.382,2,0.692,18,0.605]],["title/40-1",[38,15.841,786,34.949,1152,35.723]],["name/40-1",[]],["text/40-1",[]],["component/40-1",[]],["title/40-2",[38,15.841,158,38.173,1152,35.723]],["name/40-2",[]],["text/40-2",[]],["component/40-2",[]],["title/40-3",[19,43.153,38,15.841,1152,35.723]],["name/40-3",[]],["text/40-3",[]],["component/40-3",[]],["title/40-4",[38,13.77,688,39.248,1152,45.434]],["name/40-4",[]],["text/40-4",[]],["component/40-4",[]],["title/40-5",[1,8.946,34,13.993,38,13.77,1152,31.052]],["name/40-5",[]],["text/40-5",[]],["component/40-5",[]],["title/40-6",[38,15.841,1152,35.723,2331,54.639]],["name/40-6",[]],["text/40-6",[]],["component/40-6",[]],["title/40-7",[26,26.621,62,19.457]],["name/40-7",[]],["text/40-7",[]],["component/40-7",[]],["title/40",[38,18.646,1152,42.048]],["name/40",[38,0.517,1152,1.166]],["text/40",[1,1.347,4,0.771,10,1.42,13,1.159,19,6.722,26,2.624,34,1.722,36,1.397,37,0.799,38,2.578,39,1.288,49,2.484,51,2.024,52,1.896,54,2.661,62,2.355,66,1.614,68,0.904,69,1.762,70,0.542,71,2.726,87,0.742,91,0.835,95,1.533,96,2.009,97,1.091,98,1.42,99,1.525,102,1.021,116,2.304,120,2.246,124,0.867,126,1.849,130,2.004,152,0.66,154,1.415,158,1.091,162,1.723,163,0.777,166,0.847,167,1.54,169,0.909,176,1.013,178,0.737,194,0.881,197,1.553,203,0.74,216,1.386,218,0.839,223,1.245,229,1.432,232,1.241,245,2.084,247,1.518,250,0.859,253,0.698,261,0.678,266,1.013,283,0.702,286,0.831,291,1.828,299,0.777,315,1.283,316,0.925,317,0.806,324,1.794,327,1.006,329,0.959,336,2.72,344,3.496,355,1.397,370,0.74,375,0.992,376,1.628,377,1.101,379,2.046,408,1.344,428,0.839,432,1.808,494,1.29,495,0.899,503,1.216,511,1.199,514,1.451,539,0.851,540,1.123,560,1.691,568,1.58,626,1.312,654,2.636,665,1.101,667,2.905,668,2.186,688,4.829,696,0.953,709,1.834,722,1.32,726,1.426,727,1.216,734,0.867,746,1.33,760,1.605,761,2.83,772,2.139,786,1.782,791,1.426,805,0.876,813,1.432,818,0.925,830,1.561,832,1.172,841,0.803,866,3.125,875,1.947,888,2.385,890,1.32,898,1.233,901,1.216,908,3.446,915,1.037,919,1.101,924,1.965,926,2.59,929,3.021,933,1.426,934,0.999,944,1.201,982,1.053,995,1.233,998,0.806,1022,1.159,1029,2.778,1030,0.789,1038,1.365,1054,0.93,1082,2.902,1088,2.913,1092,3.854,1093,4.755,1095,1.561,1101,1.392,1106,1.464,1111,1.081,1113,1.146,1137,0.985,1152,6.808,1164,1.186,1166,1.29,1169,1.312,1176,0.904,1178,1.186,1183,1.186,1202,2.385,1210,3.256,1214,2.024,1222,1.628,1235,1.123,1249,1.081,1252,3.573,1261,1.29,1301,1.123,1304,2.449,1321,1.146,1324,1.632,1342,1.216,1400,1.037,1409,1.822,1410,1.717,1413,1.233,1416,2.276,1425,1.929,1436,1.363,1455,2.223,1458,1.27,1474,1.561,1488,1.006,1503,1.363,1535,2.786,1560,1.363,1568,1.628,1569,1.464,1600,1.363,1651,1.336,1762,1.717,1781,1.561,1888,1.216,1910,1.101,1934,3.446,1936,4.15,2023,2.485,2026,1.782,2046,4.752,2134,1.172,2148,2.544,2151,1.426,2160,1.426,2179,1.336,2192,1.363,2265,2.266,2285,4.299,2303,1.392,2311,1.392,2321,5.044,2324,1.628,2326,1.464,2331,5.843,2332,1.984,2333,8.293,2334,2.432,2335,1.628,2336,1.717,2337,1.853,2338,1.853,2339,3.773,2340,1.853,2341,4.15,2342,6.093,2343,1.853,2344,1.426,2345,1.853,2346,1.853,2347,1.853,2348,2.342,2349,1.853,2350,1.392,2351,1.717,2352,1.853,2353,1.853,2354,1.853,2355,1.561,2356,1.853,2357,3.307,2358,1.85,2359,1.27,2360,1.853,2361,3.294,2362,3.307,2363,1.508,2364,1.628,2365,1.853,2366,1.853,2367,1.426,2368,1.508,2369,1.717,2370,1.853,2371,1.717,2372,1.853,2373,1.853]],["component/40",[1,0.382,2,0.692,18,0.605]],["title/41",[786,49.986]],["name/41",[3,1.542]],["text/41",[1,1.593,2,2.883,10,2.363,18,1.873,29,3.019,38,2.452,46,3.936,68,3.637,71,2.708,84,3.908,87,2.986,107,3.27,120,4.143,165,3.076,203,4.007,206,4.715,313,3.112,316,3.72,327,4.045,338,4.722,432,4.075,487,3.188,512,3.637,555,3.421,750,3.637,786,7.31,789,4.471,884,4.309,924,4.428,1012,4.387,1015,4.562,1025,3.284,1139,2.923,1152,6.688,1178,4.771,1210,3.883,1264,5.298,1321,4.61,1397,4.237,1398,5.278,2284,6.907]],["component/41",[1,0.382,2,0.692,18,0.605]],["title/42-1",[38,15.841,774,33.153,1139,25.431]],["name/42-1",[]],["text/42-1",[]],["component/42-1",[]],["title/42-2",[38,13.77,774,28.818,956,27.663,1139,22.106]],["name/42-2",[]],["text/42-2",[]],["component/42-2",[]],["title/42",[38,18.646,774,39.023]],["name/42",[38,0.517,774,1.082]],["text/42",[1,0.867,2,1.569,10,2.556,38,3.323,46,2.142,48,1.571,57,2.496,63,2.925,68,1.621,70,0.972,71,1.474,75,3.277,95,1.54,98,2.347,149,1.197,153,3.241,158,1.956,167,3.635,183,1.49,203,1.326,216,2.29,221,1.47,229,1.439,234,2.178,245,1.272,250,1.54,257,1.19,260,1.255,286,1.49,289,2.81,299,1.393,315,1.289,324,1.331,326,1.421,328,2.637,332,1.698,336,1.201,337,1.803,338,2.57,355,1.404,379,2.496,380,1.404,404,2.828,408,1.351,420,1.766,498,1.649,539,1.525,550,1.621,553,2.044,555,1.525,556,2.583,568,1.587,589,2.865,638,4.64,665,1.974,672,3.491,691,1.905,734,1.555,735,2.173,740,1.844,741,1.731,745,2.078,748,1.604,766,1.688,772,4.575,774,2.793,805,2.583,813,2.366,831,3.187,852,1.525,854,1.766,866,2.012,890,2.181,892,1.579,899,2.242,904,1.816,915,1.858,918,1.621,928,2.57,936,2.078,958,3.277,998,1.445,1010,3.187,1021,2.078,1025,1.464,1029,3.959,1030,2.327,1038,1.371,1045,2.353,1057,3.032,1058,1.621,1076,3.989,1139,4.627,1154,1.803,1167,1.604,1185,1.921,1186,2.055,1189,2.242,1197,2.211,1227,2.242,1235,2.013,1257,2.353,1264,2.884,1301,2.013,1305,2.242,1306,2.884,1310,2.353,1318,1.709,1352,2.101,1370,3.056,1404,2.033,1446,2.153,1684,2.101,1716,2.153,1850,2.127,1859,3.079,1924,1.731,1927,1.938,1929,2.556,1939,2.101,1942,2.704,1943,2.704,1944,2.799,1945,2.624,1967,2.276,1999,2.353,2046,2.276,2306,2.353,2315,3.743,2374,2.396,2375,2.919,2376,3.322,2377,5.063,2378,2.919,2379,2.497,2380,3.079,2381,3.079,2382,3.079,2383,3.322,2384,5.063,2385,3.322,2386,3.322,2387,3.322,2388,5.063,2389,3.322,2390,3.079,2391,4.603,2392,3.322,2393,3.079,2394,3.079]],["component/42",[1,0.382,2,0.692,18,0.605]],["title/43-1",[38,15.841,735,20.254,1061,26.767]],["name/43-1",[]],["text/43-1",[]],["component/43-1",[]],["title/43",[38,18.646,735,23.839]],["name/43",[38,0.517,735,0.661]],["text/43",[1,1.139,2,1.344,18,1.531,26,1.633,38,3.026,46,3.647,49,0.989,62,2.371,63,1.43,70,2.099,71,1.644,83,1.087,84,1.448,93,1.775,98,1.186,100,1.222,126,1.14,141,2.045,152,2.17,165,1.14,167,4.622,203,1.102,211,0.998,222,2.676,223,2.295,244,1.172,245,1.792,249,2.781,257,2.183,260,2.711,263,1.956,274,2.488,290,1.114,311,1.061,326,1.181,342,1.69,345,1.206,355,1.167,379,1.262,400,1.403,420,1.468,511,1.001,514,1.211,520,1.521,533,1.727,539,1.268,541,2.619,553,1.752,566,1.813,568,1.319,572,2.836,582,1.458,648,3.798,655,2.928,668,2.974,696,3.692,709,2.94,722,1.102,735,3.476,741,4.185,761,1.91,763,2.297,766,2.379,813,5.102,876,1.747,890,3.712,898,1.838,915,1.545,998,2.036,1029,4.531,1030,3.717,1038,1.14,1056,1.727,1057,1.533,1058,3.92,1061,2.515,1084,5.504,1105,4.006,1126,1.626,1130,1.017,1220,1.387,1259,1.533,1302,4.488,1318,3.135,1324,1.363,1350,1.838,1362,1.641,1512,1.864,1609,1.892,1670,1.747,1681,2.125,1692,2.56,1697,1.79,1914,1.864,1977,2.928,2057,1.923,2100,1.597,2315,3.208,2395,2.559,2396,6.262,2397,2.327,2398,2.426,2399,2.247,2400,3.524,2401,4.813,2402,2.559,2403,3.518,2404,2.075,2405,2.761,2406,8.031,2407,4.681,2408,6.093,2409,6.093,2410,6.093,2411,2.761,2412,2.761,2413,2.761,2414,2.559,2415,2.761,2416,2.075,2417,2.327,2418,2.761,2419,2.761,2420,7.175,2421,2.761,2422,2.247,2423,2.761,2424,2.559]],["component/43",[1,0.382,2,0.692,18,0.605]],["title/44-1",[38,18.646,1647,54.056]],["name/44-1",[]],["text/44-1",[]],["component/44-1",[]],["title/44-2",[10,17.875,866,20.758,1290,38.626,1647,39.921]],["name/44-2",[]],["text/44-2",[]],["component/44-2",[]],["title/44-3",[264,43.042,1647,54.056]],["name/44-3",[]],["text/44-3",[]],["component/44-3",[]],["title/44-4",[62,19.457,1647,54.056]],["name/44-4",[]],["text/44-4",[]],["component/44-4",[]],["title/44",[38,18.646,58,32.651]],["name/44",[38,0.517,58,0.906]],["text/44",[1,0.713,2,0.284,4,1.869,7,0.583,10,1.585,14,0.594,15,0.771,26,0.649,37,1.938,38,3.131,39,1.947,44,0.613,49,0.667,57,1.517,58,2.834,61,0.659,62,1.851,66,0.908,68,0.483,69,0.732,70,1.597,71,2.107,76,0.762,78,0.894,87,1.054,91,0.446,95,0.459,96,0.835,97,0.583,98,0.425,101,0.65,102,0.546,105,0.573,111,0.835,122,0.407,124,0.464,126,1.086,141,1.45,142,0.619,149,0.357,152,3.101,153,2.543,154,0.424,163,0.415,165,2.996,166,0.453,167,4.267,173,0.957,174,0.613,183,0.444,197,0.913,203,0.743,207,1.127,211,1.973,216,0.415,218,0.842,219,2.555,222,1.865,223,3.547,229,0.806,232,2.208,238,0.782,241,0.438,245,1.008,247,0.455,251,1.346,253,0.701,257,0.667,260,0.703,261,0.362,264,1.049,271,0.634,273,1.751,276,0.989,283,0.705,285,2.22,286,0.835,287,1.732,290,0.751,299,0.78,301,0.559,311,1.011,315,1.744,317,0.431,326,0.424,329,0.513,334,1.018,344,1.041,345,0.433,355,0.786,368,0.744,370,0.743,371,0.69,379,0.85,380,1.112,400,0.946,401,0.806,404,1.363,406,0.486,408,0.757,416,0.782,419,0.526,421,0.45,426,0.606,427,0.6,430,0.659,495,0.481,496,2.179,497,0.583,511,1.629,517,1.049,535,0.782,538,0.489,539,0.854,541,1.041,542,0.578,550,0.908,553,0.696,555,0.455,556,1.57,564,0.835,568,1.257,569,0.559,582,1.389,589,0.519,638,0.516,648,1.861,668,2.193,672,1.438,677,0.976,678,0.546,679,0.526,683,1.857,691,0.568,695,0.669,696,0.957,697,1.777,709,0.406,712,0.989,719,1.47,722,0.395,734,1.554,740,0.55,741,1.371,746,0.398,760,0.903,761,0.759,794,1.018,797,0.835,805,0.88,813,1.947,820,1.346,823,0.854,831,1.086,843,0.393,845,0.669,852,3.585,854,0.526,857,0.619,865,0.94,866,3.279,871,0.714,884,1.076,890,1.051,892,0.884,897,0.701,911,1.804,912,0.659,915,0.554,916,0.578,918,1.285,927,0.642,928,0.466,931,0.519,934,0.534,938,0.563,948,1.151,953,0.929,956,0.486,964,0.744,975,0.835,988,0.538,992,0.526,995,0.659,998,0.809,1011,0.729,1012,0.583,1018,1.496,1029,3.227,1030,2.962,1038,3.223,1054,0.497,1056,1.646,1057,1.461,1058,0.483,1061,0.768,1070,0.534,1075,0.619,1079,0.513,1088,2.405,1093,3.147,1105,0.455,1126,1.549,1130,0.685,1134,0.542,1137,0.526,1139,1.032,1151,0.578,1154,2.714,1167,0.478,1176,0.483,1208,1.018,1230,2.025,1232,1.318,1235,1.127,1258,0.659,1285,0.51,1290,1.804,1298,0.729,1301,1.127,1302,3.127,1311,0.613,1312,0.679,1318,0.957,1324,0.489,1357,1.127,1362,1.106,1370,0.554,1385,0.835,1388,1.342,1409,0.546,1415,2.025,1416,2,1429,2.525,1430,1.409,1437,1.086,1448,0.729,1452,3.468,1454,0.594,1456,0.69,1457,2.054,1463,0.806,1473,0.714,1475,1.222,1481,0.835,1489,0.538,1531,1.741,1555,0.619,1565,0.806,1575,0.835,1576,0.563,1585,0.65,1592,1.432,1593,1.568,1610,0.729,1647,9.034,1648,0.806,1649,4.645,1661,1.318,1671,0.806,1677,1.164,1681,0.762,1684,0.627,1689,0.659,1695,2.209,1696,0.729,1699,1.342,1702,3.076,1708,1.398,1710,2.741,1711,0.87,1717,0.782,1720,0.87,1775,0.679,1784,1.275,1835,0.65,1923,0.729,1924,0.516,1931,0.744,1970,0.619,1977,0.619,2026,0.534,2037,0.627,2085,0.918,2107,0.87,2169,0.679,2269,0.87,2306,0.701,2315,1.804,2414,0.918,2425,0.87,2426,0.729,2427,0.729,2428,0.729,2429,0.99,2430,0.619,2431,0.99,2432,0.99,2433,0.99,2434,0.99,2435,0.835,2436,0.99,2437,1.861,2438,0.99,2439,0.99,2440,0.99,2441,0.99,2442,1.47,2443,0.99,2444,0.87,2445,8.055,2446,1.568,2447,0.99,2448,0.762,2449,0.835,2450,0.99,2451,0.99,2452,0.642,2453,5.808,2454,4.999,2455,1.725,2456,0.69,2457,0.99,2458,1.861,2459,0.99,2460,0.806,2461,0.99,2462,2.439,2463,0.806,2464,0.99,2465,0.99,2466,0.99,2467,0.99,2468,0.99,2469,0.918,2470,0.99,2471,1.861,2472,1.861,2473,0.99,2474,2.439,2475,2.439,2476,3.319,2477,1.861,2478,1.861,2479,1.861,2480,1.861,2481,3.319,2482,1.861,2483,1.861,2484,1.861,2485,0.99,2486,0.99,2487,0.99,2488,0.99,2489,1.861,2490,0.99,2491,0.99,2492,0.918,2493,0.806,2494,0.99,2495,4.392,2496,0.835,2497,0.99,2498,0.918,2499,0.99,2500,4.493,2501,0.99,2502,0.99,2503,0.87,2504,0.729,2505,1.861,2506,1.861,2507,0.99,2508,0.99]],["component/44",[1,0.382,2,0.692,18,0.605]],["title/45",[38,22.657]],["name/45",[3,1.542]],["text/45",[1,1.934,2,3.328,10,2.95,18,1.677,29,2.703,38,3.433,39,2.599,52,3.825,58,3.98,63,3.855,67,4.618,70,3.391,71,2.511,84,4.879,167,3.683,170,3.825,203,4.276,206,4.221,222,2.489,313,2.786,329,3.454,487,3.98,512,3.256,555,3.063,735,2.084,750,3.256,766,3.39,774,3.411,843,2.645,852,4.271,875,3.928,876,4.221,904,3.648,925,4.043,956,3.275,1015,4.084,1176,3.256,1180,3.763,1260,3.928,1397,3.793]],["component/45",[1,0.382,2,0.692,18,0.605]],["title/46-1",[38,18.646,904,41.735]],["name/46-1",[]],["text/46-1",[]],["component/46-1",[]],["title/46-2",[38,18.646,39,29.727]],["name/46-2",[]],["text/46-2",[]],["component/46-2",[]],["title/46-3",[1,8.946,34,13.993,38,13.77,39,21.953]],["name/46-3",[]],["text/46-3",[]],["component/46-3",[]],["title/46-4",[38,15.841,39,25.255,2509,54.639]],["name/46-4",[]],["text/46-4",[]],["component/46-4",[]],["title/46-5",[2510,75.483]],["name/46-5",[]],["text/46-5",[]],["component/46-5",[]],["title/46-6",[2511,78.148]],["name/46-6",[]],["text/46-6",[]],["component/46-6",[]],["title/46-7",[2512,78.148]],["name/46-7",[]],["text/46-7",[]],["component/46-7",[]],["title/46-8",[38,15.841,39,25.255,2332,38.902]],["name/46-8",[]],["text/46-8",[]],["component/46-8",[]],["title/46-9",[38,15.841,48,30.662,1113,40.115]],["name/46-9",[]],["text/46-9",[]],["component/46-9",[]],["title/46-10",[38,12.178,39,19.415,223,18.774,317,21.684,1134,27.258]],["name/46-10",[]],["text/46-10",[]],["component/46-10",[]],["title/46-11",[38,15.841,39,25.255,1319,36.568]],["name/46-11",[]],["text/46-11",[]],["component/46-11",[]],["title/46-12",[211,23.44,1093,34.704,2448,49.895]],["name/46-12",[]],["text/46-12",[]],["component/46-12",[]],["title/46-13",[38,13.77,943,39.248,1093,30.167,2513,52.24]],["name/46-13",[]],["text/46-13",[]],["component/46-13",[]],["title/46-14",[38,18.646,415,39.514]],["name/46-14",[]],["text/46-14",[]],["component/46-14",[]],["title/46",[38,18.389,39,19.415,167,17.138,904,27.258]],["name/46",[800,2.059]],["text/46",[0,0.223,1,1.306,2,0.181,3,0.27,4,1.628,9,0.206,10,1.823,11,0.438,14,1.345,15,1.466,18,0.158,21,0.712,23,1.131,26,1.913,27,0.784,34,0.878,35,0.378,37,0.967,38,3.005,39,3.906,42,0.484,46,0.247,47,0.385,48,3.056,49,1.123,51,0.385,56,0.335,57,2.244,58,0.269,62,2.701,63,0.685,65,0.454,66,0.59,68,0.307,69,0.687,70,1.437,71,2.806,77,1.161,78,1.077,79,0.394,82,0.425,84,0.33,87,0.252,91,1.218,93,0.662,95,0.809,96,0.282,98,0.519,100,0.279,102,0.666,109,0.316,116,2.195,120,0.499,122,0.718,124,0.295,126,0.72,136,0.976,141,1.709,143,0.292,149,0.227,152,0.621,154,1.513,158,0.371,161,0.531,162,0.909,163,0.507,164,0.652,165,3.21,167,4.355,170,0.361,173,0.324,176,0.344,177,0.652,178,0.694,194,2.186,197,0.605,203,0.251,207,1.057,215,1.168,216,0.732,218,0.547,219,0.688,221,0.992,222,0.451,223,0.844,226,0.342,229,0.524,232,1.015,233,1.382,234,0.197,241,0.279,244,2.209,245,0.668,249,0.719,253,0.237,260,1.336,261,0.639,264,0.355,266,0.344,272,0.322,283,2.532,285,0.682,287,0.673,289,0.324,290,0.254,291,0.257,299,1.483,301,0.984,304,0.398,310,0.666,311,1.359,313,0.263,315,1.906,316,0.604,317,0.759,318,0.425,319,0.454,323,0.367,324,1.083,326,0.747,327,0.342,329,0.904,332,0.322,334,0.344,336,0.977,338,0.296,345,0.275,355,0.738,368,0.473,370,0.483,371,0.842,372,0.484,373,0.403,375,0.337,377,0.374,380,0.266,395,0.269,402,0.349,408,0.492,414,0.497,415,1.623,421,0.55,422,0.572,426,0.385,430,0.419,432,0.344,460,0.984,466,0.463,488,0.322,495,1.313,496,0.794,498,0.312,499,0.381,500,0.32,502,0.332,511,1.547,512,0.307,514,0.531,517,0.355,522,0.398,532,0.403,533,0.394,539,0.555,549,0.361,550,1.094,552,0.887,553,0.453,555,1.241,562,0.328,563,0.268,568,0.578,569,0.355,570,1.42,571,0.29,582,1.428,584,0.473,589,0.634,648,0.572,654,2.891,665,0.719,668,0.307,672,1.171,679,0.335,680,0.756,682,1.725,683,0.677,690,0.611,691,0.361,697,0.425,709,0.919,714,0.733,719,0.497,722,1.079,731,0.347,734,0.817,735,0.197,742,0.611,746,0.702,749,0.247,755,0.358,758,0.342,761,1.741,766,0.887,767,0.558,772,0.834,774,0.322,776,0.712,783,0.927,790,0.322,792,0.381,801,0.719,808,1.018,810,0.63,813,2.127,818,0.314,823,0.555,839,0.677,843,0.889,846,0.821,850,0.33,852,0.289,854,1.88,865,1.583,866,2.117,872,0.378,878,0.438,883,1.047,884,0.364,887,0.53,890,0.895,892,1.066,897,0.446,904,0.661,915,1.254,922,0.794,928,0.296,929,1.74,931,0.33,933,0.484,934,0.339,938,0.358,947,1.208,951,0.316,953,0.604,956,0.594,957,0.615,959,0.425,973,0.408,992,0.928,997,0.33,998,0.274,1010,0.367,1021,0.394,1025,1.192,1027,0.335,1029,3.457,1030,2.932,1038,2.841,1056,2.447,1057,2.172,1058,1.094,1061,0.499,1063,0.342,1064,2.639,1065,2.463,1066,0.856,1069,0.403,1072,0.326,1076,0.693,1082,2.536,1088,2.283,1091,3.185,1092,2.771,1093,4.404,1095,1.471,1096,1.889,1100,0.553,1101,0.909,1103,1.121,1111,0.367,1113,0.748,1123,0.497,1130,1.302,1137,0.928,1139,1.387,1146,0.454,1147,0.473,1150,0.398,1154,0.342,1166,0.438,1167,0.304,1183,0.403,1207,0.512,1208,0.661,1210,0.328,1214,0.385,1216,0.454,1217,0.497,1219,0.446,1220,0.607,1227,0.425,1233,0.419,1255,0.666,1260,0.371,1264,0.921,1285,0.324,1295,1.226,1297,0.403,1299,1.131,1302,0.394,1304,0.661,1318,0.898,1319,0.355,1337,1.915,1350,0.805,1357,0.381,1358,0.512,1373,0.381,1393,0.413,1400,0.677,1404,1.372,1409,0.347,1417,0.941,1420,0.473,1425,1.308,1428,0.446,1429,0.611,1430,0.337,1452,1.071,1454,0.378,1455,0.866,1462,0.381,1465,1.146,1473,0.872,1475,0.413,1480,0.473,1482,1.343,1483,0.497,1488,2.124,1489,0.342,1509,0.425,1528,0.484,1531,0.634,1535,0.53,1536,0.446,1537,0.512,1538,0.473,1555,1.092,1557,1.236,1558,0.425,1561,1.312,1564,0.403,1565,2.201,1566,0.473,1567,0.872,1568,0.553,1569,0.497,1570,0.497,1571,0.512,1572,1.618,1573,0.583,1574,0.398,1575,1.471,1576,1.275,1578,0.53,1587,2.082,1599,0.553,1600,0.89,1613,1.117,1643,0.454,1644,0.473,1647,0.446,1651,0.454,1654,0.497,1655,0.385,1657,0.497,1661,0.856,1673,0.512,1681,0.931,1684,0.765,1686,0.497,1695,0.419,1718,0.497,1719,1.121,1721,1.121,1722,0.583,1725,0.446,1729,0.583,1730,2.682,1731,0.438,1767,0.431,1773,0.955,1774,0.984,1787,2.412,1852,0.419,1910,1.607,1916,0.583,1924,0.328,1935,0.484,1968,0.484,1974,0.398,2006,0.872,2010,0.381,2020,0.463,2037,1.983,2045,3.88,2046,0.431,2052,0.473,2076,0.484,2080,0.856,2081,1.655,2102,0.438,2115,2.031,2131,0.512,2134,0.398,2135,1.019,2137,0.553,2146,1.889,2147,1.825,2151,1.725,2167,0.473,2170,0.583,2193,0.53,2227,0.53,2234,0.463,2247,0.53,2253,1.471,2255,0.984,2256,0.497,2265,0.431,2332,0.726,2334,0.463,2348,1.236,2361,0.89,2399,0.512,2400,0.364,2416,0.473,2428,0.89,2435,0.53,2444,0.553,2452,0.408,2456,0.438,2510,4.237,2511,4.138,2512,2.641,2514,2.376,2515,4.315,2516,1.745,2517,0.629,2518,0.629,2519,0.629,2520,4.927,2521,0.53,2522,0.629,2523,1.618,2524,1.121,2525,0.629,2526,0.629,2527,0.693,2528,1.825,2529,0.473,2530,0.629,2531,2.078,2532,0.497,2533,0.497,2534,0.583,2535,0.454,2536,1.745,2537,0.629,2538,0.629,2539,0.629,2540,0.629,2541,0.583,2542,1.209,2543,0.629,2544,0.629,2545,0.629,2546,0.629,2547,0.629,2548,0.629,2549,0.553,2550,0.629,2551,0.629,2552,0.53,2553,0.629,2554,0.629,2555,0.446,2556,0.629,2557,0.629,2558,0.629,2559,4.262,2560,1.063,2561,2.078,2562,2.078,2563,1.209,2564,0.629,2565,0.583,2566,0.583,2567,2.376,2568,0.497,2569,0.553,2570,0.629,2571,1.745,2572,1.745,2573,0.629,2574,1.209,2575,0.629,2576,1.343,2577,1.745,2578,0.629,2579,0.583,2580,0.629,2581,0.629,2582,0.629,2583,0.53,2584,0.583,2585,0.629,2586,0.629,2587,0.629,2588,0.583,2589,0.629,2590,0.629,2591,0.53,2592,0.629,2593,0.629,2594,1.121,2595,0.553,2596,0.629,2597,1.019,2598,0.583,2599,1.121,2600,0.629,2601,0.629,2602,0.629,2603,2.078,2604,0.629,2605,0.583,2606,0.629,2607,0.89,2608,1.121,2609,0.629,2610,1.209,2611,0.955,2612,0.984,2613,0.629,2614,0.629,2615,0.629,2616,0.629,2617,0.497,2618,0.629,2619,0.53,2620,0.629,2621,0.431,2622,0.629,2623,0.583,2624,0.629,2625,0.629,2626,0.583,2627,0.629]],["component/46",[1,0.382,2,0.692,18,0.605]],["title/47-1",[299,32,1021,47.738]],["name/47-1",[]],["text/47-1",[]],["component/47-1",[]],["title/47-2",[63,19.807,299,27.187,553,24.264]],["name/47-2",[]],["text/47-2",[]],["component/47-2",[]],["title/47",[63,23.313,2628,70.737]],["name/47",[63,0.647,2628,1.962]],["text/47",[1,1.048,10,2.094,15,2.129,37,1.331,38,1.255,63,4,66,1.506,69,1.214,70,0.903,71,1.387,87,1.236,91,1.39,101,3.373,140,1.712,141,1.348,152,2.351,158,1.816,163,3.229,165,2.121,166,3.519,167,1.767,170,1.769,175,1.816,177,1.663,197,2.67,206,1.952,211,1.115,221,1.365,222,3.445,223,1.162,229,2.226,234,1.609,244,2.18,260,3.232,285,1.74,287,2.545,290,3.953,299,4.931,310,5.395,311,1.185,315,1.197,324,1.236,380,3.254,418,2.611,421,3.502,422,3.641,495,1.497,511,2.394,526,2.318,541,1.726,552,2.611,553,1.923,555,2.359,566,2.025,582,1.629,589,5.586,635,1.482,659,1.999,665,1.833,709,2.705,735,0.964,741,4.012,749,3.355,767,1.423,776,5.437,805,3.122,813,1.336,819,2.269,852,1.416,866,1.892,878,2.148,890,2.051,915,1.726,916,1.8,917,3.419,918,3.223,923,1.64,927,1.999,928,2.417,941,2.114,947,4.15,951,1.549,953,2.565,966,1.769,1018,1.754,1021,7.356,1035,1.712,1038,2.121,1109,2.437,1135,1.888,1217,2.437,1230,2.643,1259,1.712,1264,1.629,1302,1.929,1318,3.962,1324,1.523,1399,2.437,1430,2.75,1509,2.082,1594,2.511,1909,4.457,1927,1.8,1931,2.318,2026,1.663,2080,2.185,2103,2.114,2115,4.991,2315,5.277,2629,3.953,2630,5.374,2631,2.71,2632,4.762,2633,3.085,2634,5.138,2635,3.085,2636,2.859,2637,3.085,2638,3.085,2639,3.085,2640,3.085,2641,3.085,2642,3.085,2643,3.085,2644,3.085,2645,3.085,2646,3.085,2647,3.085,2648,2.859]],["component/47",[1,0.382,2,0.692,18,0.605]],["title/48-1",[338,30.507,735,20.254,1137,34.466]],["name/48-1",[]],["text/48-1",[]],["component/48-1",[]],["title/48-2",[648,30.662,813,28.088,2649,51.224]],["name/48-2",[]],["text/48-2",[]],["component/48-2",[]],["title/48",[46,29.934,1137,40.568]],["name/48",[46,0.83,1137,1.125]],["text/48",[1,1.298,2,1.214,7,2.488,10,2.594,38,1.619,46,4.768,63,3.073,67,2.098,68,2.063,70,3.123,71,2.499,78,2.03,93,1.602,94,1.801,95,1.959,100,1.871,105,4.73,122,1.738,124,1.978,126,2.736,167,1.453,181,3.44,203,1.687,216,1.772,222,2.473,232,1.587,234,3.15,244,2.813,245,3.852,261,1.547,290,2.675,315,1.64,327,2.294,338,1.988,341,2.706,380,1.786,415,4.234,487,2.836,495,2.052,511,1.532,522,2.674,542,2.466,553,2.481,569,2.383,648,3.135,734,1.978,735,2.071,746,3.289,783,3.175,813,1.831,823,1.94,831,2.466,852,1.94,866,2.441,871,3.048,876,4.194,879,3.339,884,2.444,892,3.887,915,2.365,926,2.444,935,3.561,958,2.536,972,3.902,973,2.739,1012,2.488,1025,1.862,1030,3.485,1038,3.376,1135,4.058,1137,6.872,1185,2.444,1265,3.048,1305,2.853,1306,2.231,1308,3.867,1309,2.587,1311,2.615,1312,2.896,1321,4.101,1407,3.713,1409,2.328,1430,2.262,1531,3.477,1686,3.339,1734,3.109,1852,4.412,2110,6.144,2225,3.713,2359,2.896,2649,5.237,2650,4.226,2651,7.58,2652,4.226,2653,4.226,2654,4.226,2655,2.511,2656,4.226,2657,3.561,2658,4.226,2659,4.226,2660,4.226]],["component/48",[1,0.382,2,0.692,18,0.605]],["title/49-1",[234,29.041]],["name/49-1",[]],["text/49-1",[]],["component/49-1",[]],["title/49-2",[38,22.657]],["name/49-2",[]],["text/49-2",[]],["component/49-2",[]],["title/49-3",[783,31.796]],["name/49-3",[]],["text/49-3",[]],["component/49-3",[]],["title/49-4",[63,23.313,724,40.849]],["name/49-4",[]],["text/49-4",[]],["component/49-4",[]],["title/49",[63,23.313,884,44.136]],["name/49",[3,1.542]],["text/49",[1,0.987,2,0.943,4,0.765,6,1.163,9,1.075,10,1.042,13,1.15,16,1.224,18,0.825,29,0.745,31,2.01,33,1.192,38,3.157,39,2.918,45,1.103,46,1.288,49,1.176,50,1.045,57,0.84,63,3.716,68,0.897,69,1.752,70,1.583,71,2.648,89,1.114,91,1.48,96,0.825,98,1.411,100,0.814,116,0.946,122,0.756,124,1.537,126,0.759,143,0.852,152,1.169,153,0.856,154,1.904,164,0.991,165,1.356,166,0.84,167,0.632,170,1.054,173,2.29,176,2.434,178,0.731,181,1.496,183,1.473,186,1.073,194,0.874,197,0.638,206,1.163,207,1.114,211,1.187,216,0.771,218,0.832,221,0.814,222,2.319,223,2.341,229,1.928,232,2.591,234,2.772,245,0.704,248,3.345,253,1.237,261,0.673,266,1.005,281,0.75,287,2.661,289,0.946,290,0.742,299,1.377,311,2.652,313,0.768,317,0.8,324,0.737,338,0.865,340,1.163,344,1.029,370,2.482,379,0.84,380,0.777,395,0.787,403,1.302,404,0.952,406,0.902,415,1.7,423,0.991,494,1.28,502,0.971,511,2.254,512,0.897,536,1.177,539,0.844,541,1.029,543,1.241,548,1.809,550,1.603,555,1.508,556,3.263,568,1.569,582,2.35,589,4.198,635,0.883,638,1.711,672,1.423,691,1.054,702,0.874,708,1.916,721,1.075,723,0.952,724,2.382,730,1.515,735,2.34,740,2.471,741,3.239,742,1.659,749,3.611,755,1.045,772,1.569,774,2.767,778,1.28,783,2.366,805,1.553,809,1.137,813,0.796,819,1.353,823,0.844,831,2.596,841,0.796,852,0.844,866,3.113,875,1.933,884,1.063,890,2.482,892,1.561,898,4.137,901,1.207,902,1.353,904,2.434,908,1.415,910,1.302,915,3.028,918,3.369,919,1.952,922,1.207,923,2.366,927,1.192,928,3.765,931,0.964,932,2.673,938,1.045,953,0.918,997,0.964,1012,1.082,1016,2.129,1017,1.382,1018,1.045,1027,0.977,1030,1.399,1035,1.021,1038,1.837,1076,1.883,1079,0.952,1082,1.192,1105,0.844,1125,1.15,1134,1.005,1139,2.938,1150,1.163,1176,0.897,1180,2.51,1214,2.01,1235,1.114,1241,0.984,1255,1.013,1257,2.326,1260,2.62,1264,0.971,1285,1.69,1288,1.382,1290,3.708,1301,1.99,1302,1.15,1304,1.005,1305,5.057,1318,3.198,1322,1.353,1343,1.137,1352,1.163,1370,1.029,1396,2.326,1429,0.929,1434,1.382,1452,0.878,1462,1.99,1464,1.15,1509,1.241,1536,1.302,1606,5.485,1644,1.382,1684,1.163,1686,2.594,1875,1.353,1924,1.711,1931,1.382,1967,2.251,2026,0.991,2037,1.163,2054,1.615,2102,1.28,2315,4.73,2399,1.496,2535,1.326,2629,1.415,2630,3.622,2636,3.044,2661,1.496,2662,1.615,2663,1.704,2664,1.382,2665,1.615,2666,4.404,2667,5.06,2668,1.839,2669,1.704,2670,1.839,2671,1.326,2672,1.615,2673,1.839,2674,4.56,2675,1.839,2676,1.839,2677,1.839,2678,1.415,2679,1.839,2680,1.549]],["component/49",[1,0.382,2,0.692,18,0.605]],["title/50-1",[10,20.564,299,27.187,2681,43.773]],["name/50-1",[]],["text/50-1",[]],["component/50-1",[]],["title/50-2",[2682,81.486]],["name/50-2",[]],["text/50-2",[]],["component/50-2",[]],["title/50-3",[2683,85.955]],["name/50-3",[]],["text/50-3",[]],["component/50-3",[]],["title/50-4",[2684,85.955]],["name/50-4",[]],["text/50-4",[]],["component/50-4",[]],["title/50-5",[10,15.808,143,23.106,299,20.9,866,18.358,2681,33.65]],["name/50-5",[]],["text/50-5",[]],["component/50-5",[]],["title/50-6",[62,23.643]],["name/50-6",[]],["text/50-6",[]],["component/50-6",[]],["title/50",[63,23.313,2681,51.523]],["name/50",[63,0.647,2681,1.429]],["text/50",[1,1.046,2,1.59,10,3.061,18,1.054,26,1.931,37,1.809,38,1.352,46,0.953,49,1.502,62,2.713,63,3.919,69,1.651,70,0.711,71,2.355,83,1.651,84,1.274,95,1.126,98,1.043,141,1.061,143,1.126,149,0.875,152,3.789,154,1.039,161,3.264,167,4.617,173,2.158,197,0.842,217,1.869,218,1.1,221,1.075,222,0.906,223,2.802,225,1.487,234,2.063,245,0.93,250,1.126,253,0.915,257,1.983,266,1.328,271,3.544,276,1.291,283,2.099,286,1.089,290,2.234,291,1.712,299,2.763,310,3.05,315,0.943,317,1.825,324,0.973,340,1.537,342,1.487,344,1.359,345,1.061,374,1.555,428,1.1,433,1.664,488,1.242,491,1.274,498,1.206,502,1.282,511,2.007,513,1.22,553,0.909,563,1.035,589,4.576,668,2.047,683,2.347,695,1.64,734,1.137,749,0.953,758,1.318,761,1.712,772,1.16,783,0.833,805,1.983,813,1.817,831,1.417,852,1.926,866,2.74,872,1.457,883,2.516,892,1.994,897,1.72,928,3.829,936,1.519,947,2.261,951,1.22,966,1.393,1021,1.519,1025,1.07,1029,4.73,1030,3.468,1036,2.047,1038,3.071,1058,1.185,1061,2.285,1088,2.963,1107,1.72,1130,1.545,1134,1.328,1154,1.318,1219,1.72,1230,2.158,1259,2.328,1291,1.555,1297,1.555,1301,2.541,1318,1.25,1322,1.787,1429,1.227,1585,1.595,1609,1.664,1615,1.519,1677,1.519,1692,1.328,1695,1.616,1784,1.664,1910,2.492,2010,1.472,2220,1.977,2252,3.414,2265,1.664,2442,1.919,2460,3.414,2629,5.071,2681,5.89,2682,7.666,2683,3.887,2684,5.131,2685,2.429,2686,1.72,2687,8.447,2688,5.536,2689,6.589,2690,3.025,2691,2.429,2692,2.429,2693,4.194,2694,4.194,2695,2.429,2696,3.887,2697,5.536,2698,2.429,2699,2.429,2700,2.429,2701,2.429,2702,4.194,2703,2.429,2704,2.429,2705,4.194,2706,2.047,2707,2.429,2708,2.429,2709,2.429,2710,2.429,2711,2.429,2712,2.429,2713,2.429,2714,2.429]],["component/50",[1,0.382,2,0.692,18,0.605]],["title/51-1",[234,23.9,1308,44.527]],["name/51-1",[]],["text/51-1",[]],["component/51-1",[]],["title/51-2",[234,20.305,774,33.153,1308,37.829]],["name/51-2",[]],["text/51-2",[]],["component/51-2",[]],["title/51-3",[285,43.042,538,37.669]],["name/51-3",[]],["text/51-3",[]],["component/51-3",[]],["title/51-4",[234,20.305,735,20.254,1308,37.829]],["name/51-4",[]],["text/51-4",[]],["component/51-4",[]],["title/51-5",[648,36.09,2715,64.312]],["name/51-5",[]],["text/51-5",[]],["component/51-5",[]],["title/51-6",[38,18.646,1308,44.527]],["name/51-6",[]],["text/51-6",[]],["component/51-6",[]],["title/51-7",[38,15.841,774,33.153,1308,37.829]],["name/51-7",[]],["text/51-7",[]],["component/51-7",[]],["title/51-8",[38,15.841,735,20.254,1308,37.829]],["name/51-8",[]],["text/51-8",[]],["component/51-8",[]],["title/51-9",[783,26.167,1308,44.527]],["name/51-9",[]],["text/51-9",[]],["component/51-9",[]],["title/51-10",[774,33.153,783,22.231,1308,37.829]],["name/51-10",[]],["text/51-10",[]],["component/51-10",[]],["title/51-11",[285,43.042,538,37.669]],["name/51-11",[]],["text/51-11",[]],["component/51-11",[]],["title/51-12",[735,20.254,783,22.231,1308,37.829]],["name/51-12",[]],["text/51-12",[]],["component/51-12",[]],["title/51-13",[648,36.09,2716,60.293]],["name/51-13",[]],["text/51-13",[]],["component/51-13",[]],["title/51-14",[2649,73.264]],["name/51-14",[]],["text/51-14",[]],["component/51-14",[]],["title/51",[63,23.313,1313,60.293]],["name/51",[63,0.647,1313,1.672]],["text/51",[1,0.275,2,0.894,3,0.515,4,0.925,10,0.987,15,0.497,37,2.232,38,2.187,43,1.442,46,4.01,49,1.258,50,0.984,57,0.285,58,0.267,62,1.08,63,3.282,68,0.845,69,1.921,71,1.735,83,0.246,84,0.327,91,0.281,94,0.948,95,1.031,98,2.563,101,1.137,117,0.719,120,0.258,122,0.257,124,0.81,126,1.284,127,0.961,129,1.839,136,0.349,138,0.39,139,1.205,149,0.432,152,0.222,153,0.559,154,0.267,158,0.367,161,0.76,163,1.305,165,1.284,166,0.285,167,4.598,173,0.891,178,0.477,183,0.538,194,0.297,197,1.218,211,1.764,218,0.543,221,1.188,222,1.45,223,1.011,225,0.382,229,0.75,232,1.591,234,3.201,244,0.509,245,1.75,247,1.612,249,1.029,253,0.235,254,0.75,257,1.115,260,0.654,261,0.439,267,0.41,272,1.591,276,1.182,281,0.489,283,0.843,285,0.676,286,0.998,290,0.898,291,0.255,299,1.305,311,1.195,313,0.261,315,0.672,324,0.694,326,0.513,332,0.885,336,0.226,338,1.047,344,0.671,345,0.273,355,0.94,370,0.888,375,0.334,377,0.713,379,1.605,380,1.134,404,0.323,421,0.787,422,0.819,423,0.933,488,0.613,491,0.327,495,0.303,497,0.367,498,1.104,511,1.876,512,0.305,513,0.313,538,2.409,543,0.809,552,0.609,553,1.936,555,0.551,556,1.269,562,1.159,568,0.298,571,1.62,582,0.329,589,2.038,634,0.671,638,0.325,648,3.735,659,1.442,665,0.713,668,0.305,679,0.332,683,1.245,696,2.805,708,0.364,709,1.592,713,0.434,714,1.049,722,0.479,729,0.364,735,3.357,741,0.902,742,3.014,746,0.482,748,0.301,749,1.662,758,0.651,763,0.589,772,1.282,774,4.038,783,2.479,792,1.348,805,1.471,806,0.835,809,0.742,813,3.421,820,0.885,823,0.795,826,2.306,843,0.475,846,0.294,852,0.795,866,2.285,873,0.428,876,1.698,883,0.374,890,2.734,892,0.57,904,1.92,915,0.349,918,0.305,924,1.849,929,0.961,931,0.629,932,0.508,933,0.923,934,0.336,950,0.75,954,1.049,1010,0.364,1025,2.151,1029,4.294,1030,2.542,1038,2.015,1054,0.313,1055,0.41,1057,0.666,1058,3.438,1061,1.749,1070,0.336,1072,0.323,1075,0.75,1079,0.323,1088,0.642,1092,0.442,1105,2.376,1111,1.298,1134,0.656,1135,1.905,1136,1.273,1137,4.93,1139,1.524,1150,0.395,1154,0.94,1183,0.768,1185,0.361,1210,0.325,1230,1.381,1234,1.054,1235,0.727,1255,1.714,1257,0.849,1260,0.367,1299,0.777,1301,0.727,1304,0.947,1306,1.854,1308,6.701,1311,1.376,1312,0.822,1313,3.348,1318,0.617,1321,0.386,1322,0.882,1324,0.308,1341,2.358,1343,0.386,1357,0.378,1362,1.029,1383,1.549,1404,0.734,1416,0.609,1420,0.901,1429,1.572,1430,0.334,1454,0.374,1497,3.398,1531,1.167,1555,0.39,1585,0.41,1594,0.508,1615,0.39,1677,0.75,1684,1.968,1689,0.798,1692,0.341,1695,1.786,1770,0.45,1852,4.278,1871,0.882,1879,0.48,1901,1.712,1910,2.518,1911,0.508,1927,1.01,1935,0.48,1939,0.759,1967,0.428,1977,0.39,2010,0.378,2026,0.646,2037,0.395,2046,2.904,2081,0.382,2096,1.576,2117,0.469,2124,3.602,2214,0.578,2311,1.301,2315,1.524,2367,0.48,2396,1.424,2400,0.361,2422,0.508,2520,0.493,2533,0.493,2560,0.548,2568,3.07,2649,4.308,2681,2.1,2715,2.261,2716,5.852,2717,1.199,2718,1.368,2719,1.459,2720,1.199,2721,1.955,2722,0.624,2723,1.054,2724,0.578,2725,0.624,2726,1.199,2727,1.199,2728,1.054,2729,0.624,2730,1.111,2731,1.054,2732,2.225,2733,2.225,2734,1.199,2735,2.225,2736,1.054,2737,0.901,2738,1.111,2739,0.548,2740,0.624,2741,6.017,2742,1.521,2743,0.624,2744,2.225,2745,1.199,2746,1.199,2747,1.199,2748,0.624,2749,1.199,2750,1.199,2751,0.624,2752,1.199,2753,2.225,2754,0.624,2755,0.493,2756,0.624,2757,0.442,2758,0.578,2759,0.624,2760,0.624,2761,0.469,2762,0.624,2763,1.199,2764,0.624,2765,0.624,2766,0.624,2767,0.624,2768,0.624,2769,0.624,2770,1.199,2771,0.624,2772,0.624,2773,0.882,2774,0.624,2775,0.624,2776,0.578,2777,0.624,2778,0.434,2779,0.624,2780,0.548,2781,0.526,2782,1.199,2783,0.578,2784,1.199,2785,1.731,2786,2.12,2787,1.636,2788,0.624,2789,1.199,2790,0.624,2791,0.624,2792,0.624,2793,0.624,2794,0.624,2795,0.624,2796,0.469,2797,0.624,2798,1.199,2799,0.624,2800,1.199,2801,1.199,2802,0.624,2803,0.624,2804,2.358,2805,2.225,2806,1.199,2807,0.624,2808,0.624,2809,0.624,2810,0.624,2811,0.624,2812,0.624,2813,1.199,2814,0.624,2815,0.624,2816,0.624,2817,1.199,2818,0.624,2819,0.624,2820,1.054,2821,0.624,2822,0.624]],["component/51",[1,0.382,2,0.692,18,0.605]],["title/52-1",[234,17.65,735,17.605,746,22.666,1105,25.877]],["name/52-1",[]],["text/52-1",[]],["component/52-1",[]],["title/52-2",[38,13.77,735,17.605,746,22.666,1105,25.877]],["name/52-2",[]],["text/52-2",[]],["component/52-2",[]],["title/52-3",[735,17.605,746,22.666,783,19.324,1105,25.877]],["name/52-3",[]],["text/52-3",[]],["component/52-3",[]],["title/52",[648,26.653,735,17.605,746,22.666,1105,25.877]],["name/52",[648,0.55,735,0.363,746,0.467,1105,0.534]],["text/52",[1,0.252,2,0.455,10,1.251,13,0.992,26,2.726,36,0.67,37,2.957,38,2.484,46,2.201,49,1.412,57,0.725,58,1.687,62,1.431,63,3.165,68,0.774,70,1.154,71,0.428,83,0.624,87,0.635,93,1.836,95,1.333,98,1.235,100,1.745,106,2.172,118,1.253,119,1.015,122,1.622,126,1.628,143,1.333,152,0.565,153,0.739,154,0.678,161,0.696,166,0.725,173,1.479,203,1.574,211,1.751,222,4.616,224,1.622,232,2.356,234,1.965,245,1.101,249,0.942,251,0.811,253,2.364,257,1.735,260,1.086,261,2.054,283,2.792,286,2.517,290,3.155,291,1.173,311,1.515,315,2.436,316,1.969,318,2.662,324,0.635,326,3.151,336,0.573,345,0.693,355,0.67,370,0.633,374,1.84,380,1.666,400,1.461,408,1.169,427,3.802,428,1.301,432,0.867,495,0.77,497,1.692,512,1.925,530,0.961,539,1.32,542,0.925,550,1.403,553,2.925,562,2.524,568,1.373,580,1.167,589,5.529,615,2.11,634,2.206,648,5.496,668,1.403,672,0.687,680,3.51,696,2.029,709,1.178,735,2.442,741,4.643,742,1.992,746,0.638,758,3.407,772,1.373,783,2.152,786,0.855,801,1.708,805,0.75,813,3.386,831,2.825,848,1.549,849,1.528,852,1.32,857,1.798,866,2.067,909,1.123,923,2.574,924,2.343,927,3.139,928,2.279,947,2.125,966,0.909,1025,0.699,1030,1.225,1061,2.591,1063,1.561,1075,2.466,1076,0.909,1088,4.184,1105,5.383,1111,2.3,1139,2.201,1152,0.874,1186,1.778,1188,1.167,1210,0.826,1227,2.662,1229,1.055,1230,2.029,1249,2.3,1255,0.874,1259,2.689,1285,0.816,1295,0.867,1298,4.128,1302,0.992,1310,1.123,1322,4.616,1324,1.419,1362,6.774,1363,4.255,1364,2.422,1400,0.887,1413,1.913,1429,1.992,1585,1.041,1594,3.942,1597,0.894,1643,1.144,1684,1.003,1695,1.055,1704,1.192,1770,2.844,1831,1.015,1910,3.729,1927,0.925,1974,1.003,2020,1.167,2099,3.655,2292,2.526,2305,1.47,2315,3.319,2379,2.964,2396,1.84,2426,1.167,2532,2.271,2568,4.957,2667,5.108,2678,1.22,2715,1.336,2741,1.393,2787,2.115,2823,3.465,2824,3.943,2825,2.664,2826,1.586,2827,1.22,2828,1.393,2829,1.47,2830,1.586,2831,1.586,2832,1.586,2833,2.875,2834,1.253,2835,1.253,2836,1.47,2837,1.586,2838,1.291,2839,1.47,2840,2.422]],["component/52",[1,0.382,2,0.692,18,0.605]],["title/53",[37,32.923,1910,45.352]],["name/53",[37,0.913,1910,1.258]],["text/53",[1,0.932,2,1.687,4,0.704,8,0.509,10,1.319,13,1.058,15,1.263,37,5.439,38,0.413,41,0.906,46,1.632,49,3.044,52,0.97,62,0.431,63,3.181,70,0.495,71,2.478,78,1.464,79,1.058,87,1.221,93,2.482,94,0.721,98,0.727,101,2.002,116,0.871,120,1.717,122,1.711,126,2.703,136,3.663,139,5.637,140,0.939,141,1.817,149,2.117,152,0.603,154,1.304,161,1.338,163,0.709,165,0.699,167,3.045,169,0.83,173,2.14,176,1.667,178,1.655,194,0.804,197,1.057,211,3.69,218,0.766,220,1.025,222,0.631,223,1.567,225,1.866,229,0.733,232,1.562,233,0.661,234,0.955,245,1.593,249,1.005,257,0.606,261,0.619,281,1.244,283,0.642,286,2.634,287,1.961,289,0.871,311,1.598,315,0.657,317,0.736,318,2.808,324,1.667,328,0.817,338,1.957,357,1.126,380,0.715,400,2.114,408,1.24,410,1.272,466,2.243,488,0.865,495,0.821,498,1.513,512,0.826,514,0.742,517,0.954,530,1.025,539,0.777,541,1.706,568,1.456,571,1.406,582,1.609,615,0.906,634,4.529,648,1.442,654,0.996,668,2.03,679,1.62,680,1.058,681,0.906,696,2.617,704,1.16,713,4.559,714,1.847,718,1.337,734,0.792,735,2.045,741,0.882,742,0.855,746,1.226,755,1.733,763,0.83,766,1.549,783,0.58,793,0.996,813,2.836,820,3.003,826,1.111,832,1.071,846,1.434,852,0.777,854,0.899,866,1.123,877,1.16,882,1.377,883,1.829,884,0.979,890,2.345,892,2.791,898,3.909,915,1.706,919,1.005,923,0.899,924,4.81,926,2.406,929,4.243,931,0.887,937,1.126,938,0.962,943,1.178,944,1.097,953,0.845,966,0.97,972,2.449,998,0.736,1016,1.976,1025,0.746,1034,1.302,1035,0.939,1038,1.717,1061,2.703,1092,1.198,1105,1.4,1135,1.866,1137,4.063,1151,1.778,1152,0.932,1168,1.221,1178,1.083,1180,0.954,1183,1.952,1217,1.337,1288,1.272,1304,2.782,1306,1.609,1324,0.835,1430,0.906,1436,1.245,1445,1.337,1451,1.111,1473,1.221,1484,1.272,1492,1.976,1497,1.111,1684,3.218,1715,1.337,1876,1.377,1910,7.562,1922,1.083,1924,0.882,1938,1.142,1970,1.907,2026,0.912,2045,1.337,2081,6.374,2082,3.06,2092,1.377,2167,1.272,2176,1.272,2198,1.487,2303,1.272,2306,2.159,2348,2.946,2355,1.426,2503,1.487,2568,6.713,2569,2.678,2591,2.569,2655,1.005,2773,1.245,2778,1.178,2796,1.272,2841,1.16,2842,3.048,2843,3.048,2844,1.487,2845,1.487,2846,1.692,2847,1.692,2848,2.199,2849,1.692,2850,3.048,2851,3.048,2852,1.692,2853,3.048,2854,1.692,2855,1.692,2856,1.692,2857,1.692,2858,1.692,2859,3.048,2860,1.692,2861,1.692,2862,1.692,2863,1.692,2864,1.692,2865,1.692,2866,1.692,2867,1.692,2868,1.568,2869,1.426,2870,1.426,2871,1.692,2872,3.856,2873,1.692,2874,1.692,2875,1.692,2876,1.692,2877,1.692,2878,1.302,2879,1.692,2880,1.692,2881,2.678,2882,1.692,2883,1.692,2884,1.568,2885,1.692,2886,1.692]],["component/53",[1,0.382,2,0.692,18,0.605]],["title/54-1",[1,6.426,26,14.121,34,10.051,761,16.523,807,25.612,923,21.519,2887,30.426]],["name/54-1",[]],["text/54-1",[]],["component/54-1",[]],["title/54",[807,48.284,923,40.568]],["name/54",[807,2.271]],["text/54",[1,1.757,2,2.79,10,3.081,26,3.388,70,3.239,71,1.917,143,3.292,165,4.01,169,5.433,178,2.825,215,3.701,223,2.675,224,2.921,233,4.871,281,2.899,402,3.943,404,3.677,487,3.038,488,3.631,491,3.725,513,3.566,520,3.913,548,3.913,635,3.411,730,3.276,760,3.448,761,3.964,799,6.882,807,7.529,923,5.884,982,4.038,1220,3.566,1285,3.654,1587,5.718,1767,4.867,2015,4.795,2368,5.781,2527,4.072,2887,7.3,2888,8.185,2889,7.102,2890,7.102]],["component/54",[1,0.382,2,0.692,18,0.605]],["title/55-1",[97,33.182,120,23.267,152,20.069,730,26.001]],["name/55-1",[]],["text/55-1",[]],["component/55-1",[]],["title/55-2",[18,19.18,203,30.47]],["name/55-2",[]],["text/55-2",[]],["component/55-2",[]],["title/55",[730,42.783]],["name/55",[3,1.542]],["text/55",[1,1.859,2,3.365,9,2.827,10,3.208,15,2.49,18,1.51,26,2.096,29,2.434,31,6.192,38,2.471,41,3.216,61,3.999,62,2.202,63,2.639,70,2.959,71,1.622,89,3.641,120,2.481,129,4.118,135,4.256,203,2.399,245,2.301,281,2.453,311,2.309,313,2.51,327,3.262,336,2.172,370,2.399,487,2.571,512,2.933,536,3.847,539,2.759,555,2.759,568,2.871,571,2.772,721,2.827,730,4.666,735,1.877,746,2.417,749,3.388,750,2.933,761,2.453,798,5.064,799,4.996,807,5.465,829,5.284,831,3.506,832,3.802,843,3.424,862,3.759,875,3.538,923,4.592,931,5.305,1139,2.357,1167,2.902,1168,4.335,1395,4.335,1397,3.417,1398,6.119,1446,3.895,1611,4.747,1644,4.516,2887,4.516,2891,3.679,2892,4.624,2893,4.747]],["component/55",[1,0.382,2,0.692,18,0.605]],["title/56-1",[299,32,2681,51.523]],["name/56-1",[]],["text/56-1",[]],["component/56-1",[]],["title/56-2",[272,39.023,1308,44.527]],["name/56-2",[]],["text/56-2",[]],["component/56-2",[]],["title/56",[63,23.313,931,40.028]],["name/56",[63,0.647,931,1.11]],["text/56",[1,0.78,2,2.138,10,3.736,15,2.036,31,5.502,38,2.45,39,1.913,46,2.92,63,4.109,69,1.933,70,1.437,71,2.426,78,4.816,79,4.656,102,2.706,158,2.892,163,2.06,205,2.892,222,2.777,229,2.128,232,1.844,234,2.815,244,3.159,245,1.881,251,5.798,257,1.76,260,1.856,272,5.127,281,2.005,286,2.204,299,3.121,311,1.887,336,1.776,370,1.961,408,1.997,418,3.783,421,3.386,422,3.52,498,2.438,514,2.155,563,3.172,589,2.576,596,3.366,668,2.398,683,2.748,691,2.816,724,2.629,735,1.534,742,3.76,748,2.372,763,2.411,774,2.512,802,4.139,805,2.323,823,2.255,831,2.866,866,1.809,918,2.398,928,3.502,931,5.26,966,2.816,1010,2.866,1021,3.072,1035,4.132,1067,3.479,1079,2.543,1241,3.984,1357,2.976,1416,2.496,1425,2.866,1924,2.56,2460,3.998,2681,7.656,2682,6.541,2687,4.139,2739,4.316,2894,8.988,2895,4.912,2896,4.316]],["component/56",[1,0.382,2,0.692,18,0.605]],["title/57-1",[2897,81.486]],["name/57-1",[]],["text/57-1",[]],["component/57-1",[]],["title/57-2",[1,10.292,62,16.531,1130,23.88]],["name/57-2",[]],["text/57-2",[]],["component/57-2",[]],["title/57-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/57-3",[]],["text/57-3",[]],["component/57-3",[]],["title/57-4",[1467,73.264]],["name/57-4",[]],["text/57-4",[]],["component/57-4",[]],["title/57-5",[1,7.912,62,12.708,114,23.106,398,29.905,1130,18.358]],["name/57-5",[]],["text/57-5",[]],["component/57-5",[]],["title/57-6",[1,8.946,62,14.369,398,33.815,1130,20.758]],["name/57-6",[]],["text/57-6",[]],["component/57-6",[]],["title/57-7",[26,15.584,62,11.391,114,20.712,398,26.806,761,18.236,1455,22.177]],["name/57-7",[]],["text/57-7",[]],["component/57-7",[]],["title/57-8",[26,17.386,62,12.708,398,29.905,761,20.344,1455,24.742]],["name/57-8",[]],["text/57-8",[]],["component/57-8",[]],["title/57",[829,44.309]],["name/57",[829,1.715]],["text/57",[1,1.21,2,0.727,4,0.573,10,1.112,26,1.769,37,0.594,38,0.618,46,1.375,62,2.95,63,3.338,66,0.673,68,0.673,71,1.172,87,2.032,91,1.14,94,0.587,107,2.225,126,0.569,135,3.076,143,2.013,152,2.233,167,4.867,169,1.241,175,0.811,205,1.489,211,0.498,222,1.308,229,1.096,232,1.316,234,0.432,245,0.969,253,2.872,254,0.862,257,1.556,260,0.521,261,0.504,274,1.863,283,2.567,286,1.135,290,1.753,291,0.562,311,0.53,326,0.59,334,1.383,336,1.267,342,1.548,355,0.582,373,0.882,398,2.606,408,1.028,511,1.839,513,1.27,547,0.905,553,0.516,563,0.587,574,1.014,615,1.876,668,0.673,671,1.565,672,1.882,674,0.79,709,0.565,730,1.617,741,0.718,742,0.696,744,0.844,745,0.862,761,2.07,766,0.7,783,0.472,806,0.96,810,0.718,812,2.218,829,4.784,843,1.003,844,0.944,854,0.733,866,1.868,890,2.704,910,1.791,919,0.819,927,0.893,931,0.723,942,0.93,953,1.263,972,1.489,992,0.733,1020,1.06,1029,3.552,1030,2.672,1038,2.981,1058,3.061,1061,2.981,1072,0.714,1079,0.714,1088,0.738,1130,0.932,1134,1.383,1150,0.872,1154,2.358,1176,0.673,1197,1.683,1220,2.546,1241,0.738,1249,0.804,1252,0.905,1299,2.272,1301,0.835,1304,1.917,1311,0.853,1312,0.944,1352,0.872,1370,0.771,1383,3.025,1406,1.619,1409,0.759,1430,0.738,1467,6.816,1495,1.036,1497,0.905,1501,1.277,1502,1.277,1503,1.014,1504,0.976,1505,1.277,1506,1.161,1507,1.277,1531,2.278,1576,0.784,1580,1.06,1670,1.6,1677,0.862,1692,0.754,1871,1.014,1963,1.733,2006,2.528,2037,0.872,2046,0.944,2146,5.284,2147,3.535,2152,1.036,2208,1.161,2446,1.161,2773,4.613,2778,0.96,2897,3.08,2898,1.378,2899,2.579,2900,4.81,2901,10.659,2902,4.026,2903,1.824,2904,1.277,2905,0.872,2906,5.071,2907,1.06,2908,5.071,2909,5.016,2910,1.378,2911,1.378,2912,3.505,2913,3.505,2914,3.505,2915,1.378,2916,2.529,2917,1.378,2918,3.505,2919,3.505,2920,2.529,2921,1.378,2922,2.529,2923,3.66,2924,2.529,2925,1.202,2926,2.344,2927,2.529,2928,2.529,2929,2.529,2930,1.378,2931,1.378,2932,1.378,2933,2.529,2934,2.529,2935,2.529,2936,2.529,2937,7.714,2938,4.026,2939,7.051,2940,4.343,2941,4.343,2942,5.708,2943,7.991,2944,1.378,2945,1.378,2946,1.378,2947,1.378,2948,1.378,2949,4.343,2950,6.772,2951,4.343,2952,4.343,2953,1.378,2954,2.222,2955,2.853,2956,5.071,2957,5.071,2958,3.505,2959,2.529,2960,5.708,2961,3.505,2962,1.378,2963,2.059,2964,2.529,2965,1.378,2966,1.378]],["component/57",[1,0.382,2,0.692,18,0.605]],["title/58-1",[38,15.841,799,37.497,2893,51.224]],["name/58-1",[]],["text/58-1",[]],["component/58-1",[]],["title/58-2",[829,44.309]],["name/58-2",[]],["text/58-2",[]],["component/58-2",[]],["title/58",[38,15.841,730,29.912,843,25.702]],["name/58",[843,1.423]],["text/58",[1,0.499,10,1.654,15,2.161,38,2.888,41,1.681,46,1.232,63,0.959,68,1.533,70,2.278,71,2.331,87,2.68,91,1.415,122,1.292,124,1.47,126,1.297,169,1.542,204,1.903,211,3.369,260,1.187,267,2.062,274,1.669,276,1.669,281,2.129,286,3.493,290,2.105,310,1.73,311,2.004,324,2.09,327,1.705,342,4.767,345,3.402,355,2.204,400,2.65,408,4.202,421,1.428,428,1.422,505,3.16,511,2.425,514,1.378,555,3.575,556,3.162,568,1.501,668,1.533,672,1.361,691,1.801,709,2.74,722,3.109,730,3.592,731,1.73,742,1.587,767,1.449,772,1.501,783,1.077,794,1.718,799,5.71,804,1.786,807,1.987,813,1.361,816,2.76,817,2.225,820,1.606,821,1.669,823,2.394,829,4.717,843,4.096,844,3.574,845,5.832,846,3.146,854,1.669,896,2.31,923,3.555,928,1.478,931,2.735,936,1.965,947,1.693,962,1.965,997,1.647,1010,1.832,1025,2.298,1034,2.417,1038,2.761,1046,2.12,1075,3.262,1105,1.442,1180,1.771,1212,2.12,1220,2.619,1232,5.515,1249,3.043,1252,3.424,1285,4.006,1304,1.718,1366,2.187,1400,4.357,1429,3.933,1451,2.062,1452,2.492,1509,2.12,1871,2.31,1914,4.515,1974,3.299,2014,2.417,2072,5.22,2101,4.583,2268,2.361,2274,3.632,2834,6.151,2835,2.481,2891,1.923,2893,6.151,2899,3.837,2900,2.647,2905,1.987,2923,2.647,2954,4.582,2967,2.76,2968,4.395,2969,2.911,2970,2.911,2971,4.245,2972,5.215,2973,3.141,2974,4.834,2975,5.215,2976,3.141,2977,3.141,2978,3.141,2979,4.12,2980,4.834,2981,3.141,2982,2.911,2983,2.911,2984,2.31,2985,2.556,2986,2.31,2987,2.225,2988,1.965,2989,3.141,2990,2.911]],["component/58",[1,0.382,2,0.692,18,0.605]],["title/59-1",[1291,48.86,2991,54.056]],["name/59-1",[]],["text/59-1",[]],["component/59-1",[]],["title/59-2",[1,10.292,62,16.531,1130,23.88]],["name/59-2",[]],["text/59-2",[]],["component/59-2",[]],["title/59-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-3",[]],["text/59-3",[]],["component/59-3",[]],["title/59-4",[2992,85.955]],["name/59-4",[]],["text/59-4",[]],["component/59-4",[]],["title/59-5",[1134,41.735,1291,48.86]],["name/59-5",[]],["text/59-5",[]],["component/59-5",[]],["title/59-6",[1,10.292,62,16.531,1130,23.88]],["name/59-6",[]],["text/59-6",[]],["component/59-6",[]],["title/59-7",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-7",[]],["text/59-7",[]],["component/59-7",[]],["title/59-8",[36,39.196]],["name/59-8",[]],["text/59-8",[]],["component/59-8",[]],["title/59-9",[222,28.468,2991,54.056]],["name/59-9",[]],["text/59-9",[]],["component/59-9",[]],["title/59-10",[2569,67.059,2991,54.056]],["name/59-10",[]],["text/59-10",[]],["component/59-10",[]],["title/59-11",[10,20.564,1343,40.115,2991,45.925]],["name/59-11",[]],["text/59-11",[]],["component/59-11",[]],["title/59-12",[1,10.292,62,16.531,1130,23.88]],["name/59-12",[]],["text/59-12",[]],["component/59-12",[]],["title/59-13",[26,15.584,62,11.391,761,18.236,934,24.082,1088,23.913,1455,22.177]],["name/59-13",[]],["text/59-13",[]],["component/59-13",[]],["title/59-14",[26,15.584,62,11.391,427,27.072,761,18.236,1088,23.913,1455,22.177]],["name/59-14",[]],["text/59-14",[]],["component/59-14",[]],["title/59-15",[1469,73.264]],["name/59-15",[]],["text/59-15",[]],["component/59-15",[]],["title/59-16",[62,23.643]],["name/59-16",[]],["text/59-16",[]],["component/59-16",[]],["title/59-17",[1475,60.891]],["name/59-17",[]],["text/59-17",[]],["component/59-17",[]],["title/59-18",[1476,81.486]],["name/59-18",[]],["text/59-18",[]],["component/59-18",[]],["title/59-19",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-19",[]],["text/59-19",[]],["component/59-19",[]],["title/59-20",[62,19.457,1151,44.527]],["name/59-20",[]],["text/59-20",[]],["component/59-20",[]],["title/59-21",[2993,81.486]],["name/59-21",[]],["text/59-21",[]],["component/59-21",[]],["title/59-22",[272,47.418]],["name/59-22",[]],["text/59-22",[]],["component/59-22",[]],["title/59-23",[1,10.292,62,16.531,1130,23.88]],["name/59-23",[]],["text/59-23",[]],["component/59-23",[]],["title/59-24",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-24",[]],["text/59-24",[]],["component/59-24",[]],["title/59-25",[31,46.72,890,30.47]],["name/59-25",[]],["text/59-25",[]],["component/59-25",[]],["title/59-26",[234,29.041]],["name/59-26",[]],["text/59-26",[]],["component/59-26",[]],["title/59-27",[1,12.114,34,18.948]],["name/59-27",[]],["text/59-27",[]],["component/59-27",[]],["title/59-28",[1,10.292,34,16.098,114,30.058]],["name/59-28",[]],["text/59-28",[]],["component/59-28",[]],["title/59-29",[38,22.657]],["name/59-29",[]],["text/59-29",[]],["component/59-29",[]],["title/59-30",[38,18.646,843,30.252]],["name/59-30",[]],["text/59-30",[]],["component/59-30",[]],["title/59-31",[38,15.841,843,25.702,1452,30.979]],["name/59-31",[]],["text/59-31",[]],["component/59-31",[]],["title/59-32",[38,15.841,808,37.829,843,25.702]],["name/59-32",[]],["text/59-32",[]],["component/59-32",[]],["title/59-33",[786,49.986]],["name/59-33",[]],["text/59-33",[]],["component/59-33",[]],["title/59-34",[1417,49.986]],["name/59-34",[]],["text/59-34",[]],["component/59-34",[]],["title/59-35",[1210,48.324]],["name/59-35",[]],["text/59-35",[]],["component/59-35",[]],["title/59-36",[783,31.796]],["name/59-36",[]],["text/59-36",[]],["component/59-36",[]],["title/59-37",[783,26.167,937,50.794]],["name/59-37",[]],["text/59-37",[]],["component/59-37",[]],["title/59-38",[1,12.114,34,18.948]],["name/59-38",[]],["text/59-38",[]],["component/59-38",[]],["title/59-39",[1,10.292,34,16.098,114,30.058]],["name/59-39",[]],["text/59-39",[]],["component/59-39",[]],["title/59-40",[783,26.167,1452,36.464]],["name/59-40",[]],["text/59-40",[]],["component/59-40",[]],["title/59-41",[1,12.114,34,18.948]],["name/59-41",[]],["text/59-41",[]],["component/59-41",[]],["title/59-42",[1,10.292,34,16.098,114,30.058]],["name/59-42",[]],["text/59-42",[]],["component/59-42",[]],["title/59-43",[783,22.231,2994,48.733,2995,43.153]],["name/59-43",[]],["text/59-43",[]],["component/59-43",[]],["title/59-44",[1,12.114,34,18.948]],["name/59-44",[]],["text/59-44",[]],["component/59-44",[]],["title/59-45",[1,10.292,34,16.098,114,30.058]],["name/59-45",[]],["text/59-45",[]],["component/59-45",[]],["title/59-46",[729,44.527,783,26.167]],["name/59-46",[]],["text/59-46",[]],["component/59-46",[]],["title/59-47",[63,19.807,735,20.254,1977,40.557]],["name/59-47",[]],["text/59-47",[]],["component/59-47",[]],["title/59",[31,46.72,415,39.514]],["name/59",[31,2.198]],["text/59",[0,0.749,1,1.307,2,2.201,3,0.487,4,1.686,10,1.967,15,2.059,18,0.531,26,1.168,29,0.238,31,7.178,34,1.301,36,0.249,37,0.707,38,2.185,39,0.639,46,3.836,47,0.36,49,0.587,52,0.65,53,2.6,57,0.518,58,0.252,62,2.493,63,2.474,66,0.287,67,0.292,68,0.8,69,1.595,70,0.98,71,1.838,78,0.787,79,1.026,82,0.397,83,0.232,84,0.309,87,1.875,88,0.41,89,1.546,91,0.265,95,0.525,96,0.736,97,0.965,98,1.273,107,0.719,108,0.433,114,0.273,118,0.895,120,0.468,122,0.868,124,0.988,126,1.223,130,0.357,135,0.803,141,1.294,143,0.979,144,0.36,148,0.301,149,0.761,152,2.046,153,0.764,154,0.701,161,2.299,163,1.835,166,1.999,167,3.81,169,0.805,177,1.138,178,1.179,179,1.124,183,0.947,184,0.381,186,0.661,194,0.28,197,2.426,203,1.183,204,0.357,207,0.357,211,0.41,215,0.307,216,1.242,218,1.341,221,0.26,222,1.746,223,1.763,225,3.208,230,1.475,232,0.616,234,2.4,244,1.421,245,0.977,247,0.969,250,0.525,253,2.766,257,2.222,260,0.62,261,0.773,266,0.322,272,0.58,276,0.313,281,0.669,283,0.967,286,1.144,287,0.227,291,0.24,298,0.346,310,0.324,311,1.138,315,0.228,317,1.763,323,1.232,324,0.236,327,1.818,329,0.305,332,0.301,336,0.763,338,0.277,341,0.377,345,0.495,355,1.078,368,0.442,370,1.019,375,0.878,377,0.35,379,0.518,380,0.479,400,0.299,402,2.061,406,0.289,408,0.858,415,0.587,419,2.923,494,0.41,495,0.55,498,0.563,501,0.364,502,0.311,503,0.386,511,1.074,512,0.8,513,1.281,514,1.119,517,1.191,520,0.624,530,0.357,539,0.27,540,0.687,541,0.329,542,1.232,543,0.397,547,0.386,553,1.637,560,0.301,562,0.591,563,1.087,568,0.281,571,0.523,581,2.199,582,0.311,589,0.594,590,3.202,603,0.335,615,1.793,635,2.102,638,0.307,672,0.255,680,0.368,681,0.315,683,0.634,684,0.329,696,2.408,702,0.28,704,0.403,709,0.241,729,0.661,730,0.271,731,1.845,734,0.988,735,1.462,740,0.327,741,0.854,742,2.778,744,0.694,746,2.107,748,0.792,749,1.314,753,0.634,756,1.066,758,0.319,761,1.209,763,0.556,772,2.627,773,0.34,774,2.812,783,2.729,786,2.522,790,1.079,792,0.357,805,0.278,808,0.957,813,2.027,818,1.274,820,1.515,829,0.281,831,0.957,835,0.872,840,0.687,841,0.255,843,1.607,852,2.281,855,0.346,862,0.368,865,0.297,866,1.493,871,0.424,872,0.353,875,0.346,877,1.124,890,0.843,892,1.592,897,0.417,898,0.392,904,1.154,907,0.433,916,0.343,918,0.553,922,0.386,923,1.356,924,0.674,926,1.221,928,1.576,931,0.594,934,1.138,937,1.698,942,0.397,943,0.41,947,0.317,951,0.823,952,0.872,953,0.819,957,1.073,965,0.828,988,0.319,992,0.872,998,0.713,1018,3.762,1025,1.306,1029,3.265,1030,2.448,1038,1.053,1056,2.737,1057,2.429,1058,1.446,1061,0.468,1063,0.615,1069,0.377,1079,0.305,1082,0.735,1088,1.586,1107,0.803,1111,0.661,1129,0.496,1130,0.217,1139,2.157,1142,0.955,1152,1.632,1176,1.446,1178,1.05,1208,0.322,1210,1.544,1212,1.107,1215,1.124,1220,0.295,1227,0.765,1229,0.392,1241,0.607,1249,0.343,1252,0.386,1255,0.324,1258,0.754,1264,0.311,1285,2.556,1291,1.05,1308,0.661,1337,0.803,1343,0.364,1370,0.634,1387,0.424,1396,0.417,1398,0.417,1400,0.917,1406,0.377,1416,0.299,1417,2.001,1425,0.957,1430,0.315,1452,1.219,1454,0.353,1455,1.266,1469,4.899,1473,1.84,1482,0.872,1497,1.077,1531,0.309,1558,0.397,1571,0.479,1576,0.644,1597,0.639,1615,0.368,1637,1.161,1655,0.36,1675,0.496,1689,0.392,1714,0.453,1731,0.41,1784,0.777,1924,0.307,1968,0.453,1976,0.517,1977,3.107,2015,0.397,2026,0.317,2073,0.465,2081,0.36,2115,0.381,2117,0.442,2125,0.479,2148,4.936,2156,0.442,2167,1.587,2234,1.553,2260,0.955,2401,0.465,2452,0.381,2621,0.403,2632,0.545,2667,0.923,2681,0.397,2690,0.818,2696,1.05,2755,1.668,2778,1.142,2783,0.545,2823,0.517,2878,0.453,2896,0.517,2925,0.28,2988,0.709,2991,7.744,2993,3.562,2994,0.442,2995,0.392,2996,0.433,2997,1.779,2998,0.588,2999,1.52,3000,0.588,3001,1.957,3002,2.551,3003,1.133,3004,1.133,3005,0.588,3006,1.133,3007,2.746,3008,0.545,3009,0.479,3010,0.588,3011,0.588,3012,1.957,3013,1.52,3014,0.517,3015,2.111,3016,1.133,3017,0.479,3018,0.588,3019,0.588,3020,0.545,3021,0.588,3022,3.349,3023,0.588,3024,0.588,3025,0.588,3026,0.588,3027,0.588,3028,0.588,3029,0.588,3030,0.588,3031,0.588,3032,0.545,3033,0.588,3034,0.588,3035,0.588,3036,0.588,3037,2.551,3038,0.588,3039,0.588,3040,0.588,3041,0.588,3042,0.442,3043,0.588,3044,0.588,3045,0.372,3046,0.588,3047,1.05,3048,0.496,3049,0.517,3050,0.588,3051,0.588,3052,0.588,3053,0.588,3054,0.588,3055,0.588,3056,0.588,3057,0.588,3058,0.588,3059,0.588,3060,0.588,3061,0.588,3062,0.588,3063,0.588,3064,0.496,3065,0.588,3066,0.588,3067,0.588,3068,1.133,3069,1.133,3070,1.133,3071,1.133,3072,1.133,3073,0.588,3074,0.588,3075,0.588,3076,1.133,3077,0.588,3078,0.588,3079,1.133,3080,0.588,3081,0.588,3082,0.588,3083,1.382,3084,1.133,3085,0.545,3086,0.479,3087,0.588,3088,0.588,3089,0.588,3090,0.545,3091,0.588,3092,0.517,3093,0.417,3094,0.588,3095,1.64,3096,1.133,3097,0.588,3098,0.588,3099,0.588,3100,1.133,3101,0.588,3102,1.133,3103,0.588,3104,0.588,3105,0.545,3106,0.453,3107,0.588,3108,0.588,3109,0.453,3110,0.588,3111,1.133,3112,0.588,3113,0.588,3114,0.588,3115,0.588]],["component/59",[1,0.382,2,0.692,18,0.605]],["title/60-1",[735,20.254,783,22.231,1061,26.767]],["name/60-1",[]],["text/60-1",[]],["component/60-1",[]],["title/60",[62,23.643]],["name/60",[62,0.915]],["text/60",[1,0.564,26,2.014,46,3.292,49,1.274,62,2.354,63,1.086,71,1.559,78,1.708,126,1.468,141,2.523,152,2.056,161,1.56,167,4.269,211,2.088,222,3.443,229,1.54,244,1.509,245,1.362,253,2.746,257,3.007,260,2.182,261,2.669,283,1.348,286,1.595,290,1.435,311,2.802,317,1.547,323,3.369,326,1.521,332,1.818,345,1.554,380,1.503,395,1.521,488,1.818,511,2.094,523,2.809,552,1.807,555,2.651,582,1.877,648,3.969,668,2.819,709,1.457,722,1.42,735,3.929,741,4.374,742,1.796,748,1.717,749,1.395,761,2.357,766,1.807,774,1.818,783,4.602,813,4.284,820,1.818,840,2.155,852,2.651,854,3.07,890,2.306,892,2.745,915,1.989,918,1.736,923,1.89,951,4.215,998,1.547,1001,1.989,1025,1.567,1029,3.732,1030,3.933,1038,2.384,1061,4.082,1079,1.841,1088,1.903,1105,1.633,1130,1.31,1134,1.945,1285,1.829,1318,1.829,1372,2.996,1388,5.26,1409,1.959,1429,1.796,1430,1.903,1446,2.305,1555,2.224,1609,2.437,1635,2.996,1655,2.177,1677,2.224,1875,2.616,1935,2.736,2006,4.166,2010,2.155,2011,5.074,2013,3.296,2786,7.293,2787,6.175,3017,2.894,3092,5.074,3109,2.736,3116,3.296,3117,10.133,3118,5.352,3119,3.556,3120,3.296,3121,3.296]],["component/60",[1,0.382,2,0.692,18,0.605]],["title/61-1",[783,26.167,1850,48.86]],["name/61-1",[]],["text/61-1",[]],["component/61-1",[]],["title/61-2",[783,26.167,904,41.735]],["name/61-2",[]],["text/61-2",[]],["component/61-2",[]],["title/61-3",[3122,75.483]],["name/61-3",[]],["text/61-3",[]],["component/61-3",[]],["title/61-4",[3123,78.148]],["name/61-4",[]],["text/61-4",[]],["component/61-4",[]],["title/61",[866,34.155]],["name/61",[866,1.322]],["text/61",[1,1.775,10,2.518,26,2.769,34,1.698,49,1.161,62,3.174,63,0.99,68,1.582,70,0.949,71,1.846,78,2.571,79,2.028,83,1.276,93,1.229,136,1.814,141,2.339,162,2.79,167,4.329,194,2.545,203,2.137,211,1.172,216,2.867,218,1.468,222,1.209,226,2.906,232,1.217,233,1.267,244,1.376,249,3.181,253,1.221,260,1.225,281,1.323,283,2.03,313,1.354,315,1.258,317,2.329,332,1.657,336,1.172,370,1.294,380,1.37,395,1.387,404,1.678,415,1.678,432,2.928,514,1.422,572,1.964,582,1.712,635,2.571,672,1.404,715,2.257,722,2.137,735,2.48,761,3.241,766,1.647,774,5.353,783,4.53,800,1.859,805,2.532,809,2.006,813,2.962,821,1.723,841,2.962,866,2.924,877,2.222,890,1.294,892,1.541,904,4.806,923,1.723,936,2.028,949,1.926,951,3.434,953,1.618,956,1.591,986,2.436,998,1.41,1025,3.014,1029,3.53,1030,2.281,1038,2.21,1056,3.349,1057,2.972,1058,1.582,1061,2.21,1088,1.735,1092,3.792,1101,2.436,1123,2.561,1126,1.908,1130,1.972,1134,2.928,1145,2.222,1215,2.222,1285,1.668,1304,1.773,1430,2.865,1465,4.49,1482,5.262,1496,2.385,1512,2.188,1850,5.083,1888,2.128,1908,2.188,2006,2.338,2147,2.638,2148,4.12,2151,2.494,2253,5.763,2255,4.357,2256,2.561,2778,3.728,2994,2.436,2995,2.157,3106,2.494,3122,6.462,3123,5.763,3124,2.296,3125,3.242,3126,3.242,3127,3.242,3128,3.242,3129,5.354,3130,3.242,3131,3.242,3132,3.005,3133,3.242,3134,3.242]],["component/61",[1,0.382,2,0.692,18,0.605]],["title/62-1",[222,28.468,783,26.167]],["name/62-1",[]],["text/62-1",[]],["component/62-1",[]],["title/62-2",[1398,65.686]],["name/62-2",[]],["text/62-2",[]],["component/62-2",[]],["title/62",[783,31.796]],["name/62",[3,1.542]],["text/62",[1,1.723,2,2.607,10,1.584,11,3.477,15,2.069,29,2.023,46,2.956,62,1.921,63,3.725,67,3.741,70,2.205,71,2.729,80,2.794,84,2.619,141,3.293,167,2.591,169,2.451,178,2.998,183,2.24,203,3.624,222,3.772,245,1.912,249,2.967,313,2.085,317,2.172,327,2.711,332,3.853,340,3.159,395,2.136,406,2.451,423,2.691,512,2.437,555,2.292,635,4.36,729,4.397,735,3.159,749,1.958,750,2.437,763,2.451,766,2.537,774,4.642,783,4.771,818,2.493,852,3.46,866,1.839,884,2.888,892,4.806,925,3.026,951,2.507,954,3.026,956,2.451,983,5.557,998,2.172,1016,3.236,1038,3.747,1072,2.585,1126,2.94,1139,1.958,1264,2.636,1324,2.464,1397,2.839,1398,3.537,1400,2.794,1416,2.537,1452,3.601,1510,3.945,1511,6.43,2064,4.628,2065,4.064,2258,4.064,2994,3.753,2995,3.323,3135,4.993]],["component/62",[1,0.382,2,0.692,18,0.605]],["title/63-1",[783,28.274,904,30.822,1850,36.083]],["name/63-1",[]],["text/63-1",[]],["component/63-1",[]],["title/63-2",[332,46.625,783,22.231]],["name/63-2",[]],["text/63-2",[]],["component/63-2",[]],["title/63-3",[783,22.231,2994,48.733,2995,43.153]],["name/63-3",[]],["text/63-3",[]],["component/63-3",[]],["title/63-4",[729,44.527,783,26.167]],["name/63-4",[]],["text/63-4",[]],["component/63-4",[]],["title/63-5",[783,26.167,1452,36.464]],["name/63-5",[]],["text/63-5",[]],["component/63-5",[]],["title/63-6",[136,36.278,1452,30.979,3136,60.097]],["name/63-6",[]],["text/63-6",[]],["component/63-6",[]],["title/63-7",[1178,59.371]],["name/63-7",[]],["text/63-7",[]],["component/63-7",[]],["title/63-8",[46,29.934,846,35.908]],["name/63-8",[]],["text/63-8",[]],["component/63-8",[]],["title/63",[774,39.023,783,26.167]],["name/63",[774,1.082,783,0.726]],["text/63",[0,0.335,1,0.765,2,0.271,4,0.392,6,1.124,10,1.2,11,0.656,15,0.391,25,1.087,34,0.234,36,1.346,37,0.407,38,0.778,43,1.151,44,0.583,46,1.891,47,0.577,49,0.636,52,0.54,62,0.24,63,2.323,66,0.46,69,1.489,71,2.49,78,0.453,82,0.636,83,2.529,85,1.561,87,0.712,88,0.656,91,0.425,94,1.844,95,0.823,98,1.082,104,0.708,109,0.473,114,0.437,115,0.646,116,0.485,124,0.441,136,0.994,138,0.59,141,1.391,152,0.897,153,0.827,154,0.403,158,1.046,161,0.779,167,3.919,171,0.725,175,0.555,180,0.545,183,4.399,194,0.448,197,0.873,203,0.376,205,1.874,214,0.656,216,2.022,218,0.427,220,0.571,221,1.409,222,3.246,223,0.949,229,1.639,230,1.027,232,0.945,233,0.368,234,0.295,244,0.4,245,1.657,247,1.156,251,0.908,253,1.425,257,0.338,260,1.203,261,0.922,281,0.725,283,0.673,287,1.227,290,0.38,299,1.056,311,1.223,313,0.742,315,1.236,317,1.646,323,0.55,324,2.113,326,0.76,329,0.92,332,1.628,336,0.91,338,0.443,355,1.346,370,0.709,372,0.725,375,0.951,380,0.398,395,1.362,400,0.479,406,1.857,418,1.618,420,0.944,421,2.922,422,2.046,423,0.508,432,0.971,445,0.636,487,0.403,488,0.482,495,0.458,496,0.619,497,1.046,498,0.468,511,1.155,513,1.599,518,0.603,520,0.519,525,0.767,539,0.433,541,0.527,552,0.479,553,1.191,555,1.462,556,2.691,560,0.482,562,0.925,563,0.402,564,0.794,571,0.435,582,0.938,622,2.188,628,0.619,634,0.527,635,1.817,648,0.84,668,0.867,672,0.408,679,0.501,681,0.951,690,1.608,696,0.914,702,0.448,709,0.386,714,0.571,722,0.376,724,1.704,727,2.091,729,3.749,735,2.882,740,0.523,741,1.659,742,0.476,744,0.577,748,0.455,749,0.37,758,0.512,760,1.223,767,0.819,772,2.52,773,3.716,774,1.935,776,0.555,783,4.574,789,1.511,794,0.515,804,1.432,805,0.84,808,2.208,809,0.583,813,2.63,818,1.257,820,0.482,825,0.794,832,0.596,841,1.639,846,1.78,852,0.433,857,1.111,865,0.476,866,1.776,872,3.414,875,0.555,877,0.646,878,0.656,890,1.511,892,3.843,904,2.366,907,1.307,923,0.501,924,0.56,929,2.677,937,1.182,938,0.536,950,0.59,951,3.391,952,4.378,953,0.471,954,0.571,966,0.54,972,0.555,983,0.577,988,0.512,997,2.27,998,1.883,1010,1.469,1015,0.577,1025,1.667,1027,0.501,1029,2.699,1030,1.073,1035,0.523,1038,3.338,1054,3.226,1058,0.46,1061,1.04,1072,0.488,1079,1.304,1105,1.462,1110,0.56,1113,0.583,1128,0.874,1134,0.971,1137,0.944,1145,0.646,1167,0.455,1175,1.099,1176,0.46,1178,2.422,1241,0.951,1255,0.519,1264,0.498,1285,0.914,1290,0.646,1293,1.166,1298,1.307,1305,0.636,1311,0.583,1312,0.646,1319,0.532,1324,0.465,1343,0.583,1352,2.394,1362,0.56,1397,1.432,1415,0.725,1452,4.482,1480,0.708,1489,0.512,1496,0.693,1511,0.668,1512,0.636,1536,0.668,1574,1.124,1610,1.307,1615,0.59,1623,0.794,1655,0.577,1667,0.767,1676,0.596,1677,0.59,1689,1.182,1692,0.515,1695,0.627,1850,2.038,1852,0.627,1888,0.619,1892,1.217,1908,1.199,1910,0.56,1926,0.512,1938,0.636,1939,3.841,1959,0.794,1963,0.646,1977,0.59,1999,2.255,2026,0.508,2082,0.693,2109,0.828,2120,0.874,2176,0.708,2192,0.693,2230,0.745,2265,0.646,2332,0.565,2396,0.603,2531,0.874,2607,0.693,2655,2.249,2690,0.68,2761,1.335,2778,1.237,2786,0.745,2787,3.548,2836,0.874,2878,0.725,2994,2.393,2995,2.119,3032,1.646,3093,1.784,3106,1.938,3109,0.725,3117,3.325,3120,0.874,3124,2.68,3136,1.646,3137,0.943,3138,0.943,3139,0.943,3140,3.647,3141,1.776,3142,1.776,3143,2.334,3144,0.943,3145,0.943,3146,1.646,3147,0.943,3148,0.943,3149,0.943,3150,0.943,3151,0.943,3152,0.943,3153,0.646,3154,3.184,3155,0.943,3156,0.943,3157,0.943,3158,0.943,3159,3.184,3160,0.943,3161,0.943,3162,0.943,3163,0.943,3164,0.943,3165,2.334,3166,0.943,3167,0.943,3168,0.943,3169,0.943,3170,0.943,3171,0.874,3172,0.943,3173,0.943,3174,0.943,3175,2.519,3176,2.951,3177,0.943,3178,1.776,3179,0.943,3180,0.943,3181,0.943,3182,1.776,3183,0.943,3184,0.943,3185,0.943,3186,0.943,3187,0.943,3188,0.943,3189,0.943,3190,0.943,3191,0.943,3192,1.776,3193,3.184,3194,2.213,3195,0.943,3196,0.828,3197,3.08,3198,0.943,3199,0.828,3200,0.943,3201,1.446,3202,1.561,3203,0.943,3204,0.943,3205,1.335,3206,2.519,3207,0.828,3208,0.943,3209,0.943,3210,0.943,3211,0.943,3212,0.874,3213,0.943,3214,0.828,3215,0.874,3216,0.943,3217,0.794,3218,0.943,3219,0.943,3220,0.943,3221,0.943,3222,0.943,3223,0.943,3224,1.776,3225,0.693,3226,0.874,3227,1.403,3228,0.828,3229,0.943,3230,0.943,3231,0.943,3232,0.943]],["component/63",[1,0.382,2,0.692,18,0.605]],["title/64-1",[264,36.568,735,20.254,783,22.231]],["name/64-1",[]],["text/64-1",[]],["component/64-1",[]],["title/64-2",[153,26.256,161,24.73,735,17.605,783,19.324]],["name/64-2",[]],["text/64-2",[]],["component/64-2",[]],["title/64-3",[290,22.749,735,17.605,783,19.324,1038,23.267]],["name/64-3",[]],["text/64-3",[]],["component/64-3",[]],["title/64-4",[141,21.777,260,18.836,290,20.119,746,20.045,1038,20.577]],["name/64-4",[]],["text/64-4",[]],["component/64-4",[]],["title/64-5",[260,18.836,290,20.119,317,21.684,746,20.045,1038,20.577]],["name/64-5",[]],["text/64-5",[]],["component/64-5",[]],["title/64-6",[290,26.171,1038,26.767,3233,60.097]],["name/64-6",[]],["text/64-6",[]],["component/64-6",[]],["title/64",[735,23.839,783,26.167]],["name/64",[735,0.661,783,0.726]],["text/64",[1,0.848,2,0.519,12,1.389,18,0.454,38,0.789,39,0.703,46,2.907,48,0.854,62,0.824,63,1.876,68,0.881,69,0.711,71,1.657,79,1.129,83,1.272,86,1.279,91,0.814,93,0.685,96,0.81,101,1.186,116,0.929,126,0.745,140,1.002,141,2.981,143,0.837,153,0.841,154,0.772,161,1.418,167,4.37,183,0.81,184,2.094,197,1.121,203,0.721,221,0.799,222,3.525,223,1.217,232,0.678,234,0.565,244,0.766,245,0.691,247,2.014,249,2.606,253,0.68,257,2.444,260,3.165,261,1.183,263,2.289,264,1.018,274,0.96,290,2.479,299,0.757,310,2.416,311,2.359,313,0.754,315,1.702,317,2.323,323,1.053,326,1.382,341,1.156,344,1.01,345,0.789,355,0.763,375,0.966,377,1.073,380,2.257,420,1.718,421,0.821,422,0.854,488,0.923,491,0.947,495,0.877,500,0.918,511,1.59,512,0.881,514,0.792,520,2.416,539,0.829,550,0.881,553,1.641,555,1.484,556,0.854,562,1.684,563,0.769,566,1.186,582,0.953,648,3.227,655,1.129,672,0.782,695,1.219,696,3.159,709,2.516,722,1.751,723,1.673,727,1.186,735,3.386,741,1.684,746,2.147,748,0.872,774,1.652,783,4.468,813,4.696,852,1.484,854,0.96,866,0.665,890,0.721,892,3.981,918,1.577,947,0.973,951,2.681,953,0.901,982,1.027,986,3.296,992,0.96,997,2.801,998,0.786,1011,1.328,1025,0.796,1029,4.201,1030,5.033,1038,4.128,1057,1.794,1061,0.745,1105,2.014,1154,1.754,1179,1.357,1216,1.302,1230,0.929,1260,1.063,1302,2.743,1318,5.144,1324,0.891,1350,1.202,1357,1.094,1359,1.587,1362,1.073,1416,0.918,1429,0.912,1430,1.73,1452,0.863,1457,1.117,1472,1.302,1576,1.027,1585,1.186,1587,1.063,1592,1.389,1595,5.251,1615,2.021,1665,2.723,1670,1.142,1692,0.987,1697,1.17,1872,1.587,1911,1.47,1914,1.219,1927,1.885,1954,1.587,2002,1.426,2234,2.377,2247,1.522,2348,3.782,2399,1.47,2400,2.536,2401,4.218,2402,1.674,2403,2.429,2404,2.429,2426,1.328,2493,3.57,2631,5.396,2663,1.674,2678,3.375,2778,1.257,2786,1.426,2787,7.163,3092,1.587,3117,6.513,3118,1.674,3234,4.386,3235,5.34,3236,1.806,3237,1.806,3238,1.674,3239,1.806,3240,1.806,3241,1.674,3242,1.587,3243,4.386,3244,3.232,3245,3.232,3246,1.806,3247,6.824,3248,3.232,3249,1.806,3250,1.806,3251,3.232,3252,1.806,3253,1.806,3254,2.995,3255,1.587,3256,1.806,3257,1.806,3258,1.806]],["component/64",[1,0.382,2,0.692,18,0.605]],["title/65",[8,22.976,261,27.932]],["name/65",[3,1.542]],["text/65",[1,1.408,2,2.548,8,3.718,58,3.796,75,5.323,203,3.542,222,3.309,261,3.247,1401,8.453,1402,8.274,3259,8.872,3260,7.486,3261,9.155,3262,9.478,3263,8.453,3264,8.113,3265,8.274,3266,9.478,3267,9.883,3268,9.155,3269,6.399]],["component/65",[1,0.382,2,0.692,18,0.605]],["title/66-1",[8,22.976,3260,50.794]],["name/66-1",[]],["text/66-1",[]],["component/66-1",[]],["title/66-2",[36,39.196]],["name/66-2",[]],["text/66-2",[]],["component/66-2",[]],["title/66-3",[134,47.713]],["name/66-3",[]],["text/66-3",[]],["component/66-3",[]],["title/66-4",[671,34.082,3270,36.464]],["name/66-4",[]],["text/66-4",[]],["component/66-4",[]],["title/66-5",[3271,51.484]],["name/66-5",[]],["text/66-5",[]],["component/66-5",[]],["title/66-6",[8,22.976,3261,62.119]],["name/66-6",[]],["text/66-6",[]],["component/66-6",[]],["title/66-7",[287,24.997,1027,34.466,1584,47.7]],["name/66-7",[]],["text/66-7",[]],["component/66-7",[]],["title/66-8",[36,39.196]],["name/66-8",[]],["text/66-8",[]],["component/66-8",[]],["title/66-9",[134,47.713]],["name/66-9",[]],["text/66-9",[]],["component/66-9",[]],["title/66-10",[671,34.082,3270,36.464]],["name/66-10",[]],["text/66-10",[]],["component/66-10",[]],["title/66-11",[3271,51.484]],["name/66-11",[]],["text/66-11",[]],["component/66-11",[]],["title/66-12",[8,22.976,3262,64.312]],["name/66-12",[]],["text/66-12",[]],["component/66-12",[]],["title/66-13",[36,39.196]],["name/66-13",[]],["text/66-13",[]],["component/66-13",[]],["title/66-14",[134,47.713]],["name/66-14",[]],["text/66-14",[]],["component/66-14",[]],["title/66-15",[671,34.082,3270,36.464]],["name/66-15",[]],["text/66-15",[]],["component/66-15",[]],["title/66-16",[3271,51.484]],["name/66-16",[]],["text/66-16",[]],["component/66-16",[]],["title/66-17",[8,22.976,1401,57.361]],["name/66-17",[]],["text/66-17",[]],["component/66-17",[]],["title/66-18",[36,39.196]],["name/66-18",[]],["text/66-18",[]],["component/66-18",[]],["title/66-19",[134,47.713]],["name/66-19",[]],["text/66-19",[]],["component/66-19",[]],["title/66-20",[671,34.082,3270,36.464]],["name/66-20",[]],["text/66-20",[]],["component/66-20",[]],["title/66-21",[3271,51.484]],["name/66-21",[]],["text/66-21",[]],["component/66-21",[]],["title/66-22",[8,22.976,1402,56.145]],["name/66-22",[]],["text/66-22",[]],["component/66-22",[]],["title/66-23",[36,39.196]],["name/66-23",[]],["text/66-23",[]],["component/66-23",[]],["title/66-24",[134,47.713]],["name/66-24",[]],["text/66-24",[]],["component/66-24",[]],["title/66-25",[671,34.082,3270,36.464]],["name/66-25",[]],["text/66-25",[]],["component/66-25",[]],["title/66-26",[3271,51.484]],["name/66-26",[]],["text/66-26",[]],["component/66-26",[]],["title/66-27",[8,22.976,3263,57.361]],["name/66-27",[]],["text/66-27",[]],["component/66-27",[]],["title/66-28",[134,47.713]],["name/66-28",[]],["text/66-28",[]],["component/66-28",[]],["title/66-29",[671,34.082,3270,36.464]],["name/66-29",[]],["text/66-29",[]],["component/66-29",[]],["title/66-30",[8,22.976,3264,55.051]],["name/66-30",[]],["text/66-30",[]],["component/66-30",[]],["title/66-31",[134,47.713]],["name/66-31",[]],["text/66-31",[]],["component/66-31",[]],["title/66-32",[671,34.082,3270,36.464]],["name/66-32",[]],["text/66-32",[]],["component/66-32",[]],["title/66-33",[8,22.976,3265,56.145]],["name/66-33",[]],["text/66-33",[]],["component/66-33",[]],["title/66-34",[134,47.713]],["name/66-34",[]],["text/66-34",[]],["component/66-34",[]],["title/66-35",[671,34.082,3270,36.464]],["name/66-35",[]],["text/66-35",[]],["component/66-35",[]],["title/66-36",[8,22.976,3266,64.312]],["name/66-36",[]],["text/66-36",[]],["component/66-36",[]],["title/66-37",[134,47.713]],["name/66-37",[]],["text/66-37",[]],["component/66-37",[]],["title/66-38",[671,34.082,3270,36.464]],["name/66-38",[]],["text/66-38",[]],["component/66-38",[]],["title/66-39",[8,22.976,3267,67.059]],["name/66-39",[]],["text/66-39",[]],["component/66-39",[]],["title/66-40",[134,47.713]],["name/66-40",[]],["text/66-40",[]],["component/66-40",[]],["title/66-41",[671,34.082,3270,36.464]],["name/66-41",[]],["text/66-41",[]],["component/66-41",[]],["title/66-42",[8,22.976,3268,62.119]],["name/66-42",[]],["text/66-42",[]],["component/66-42",[]],["title/66-43",[134,47.713]],["name/66-43",[]],["text/66-43",[]],["component/66-43",[]],["title/66-44",[671,34.082,3270,36.464]],["name/66-44",[]],["text/66-44",[]],["component/66-44",[]],["title/66",[8,22.976,75,45.789]],["name/66",[8,0.637,75,1.27]],["text/66",[0,0.386,1,1.229,2,1.331,4,0.158,8,1.452,9,0.125,10,1.139,14,0.228,15,0.308,18,0.274,19,1.153,22,0.253,25,0.233,26,2.181,28,0.265,29,0.154,31,1.06,34,1.053,36,1.209,37,0.747,38,1.981,39,1.011,41,0.583,44,0.236,46,1.891,47,0.233,48,0.18,49,0.266,52,0.218,56,0.202,57,0.34,58,0.318,62,1.844,63,1.731,66,0.363,67,0.369,68,0.363,69,0.558,70,0.911,71,1.827,75,0.228,78,1.247,83,1.225,87,0.568,91,0.49,93,0.282,94,0.162,95,0.344,96,0.912,97,0.437,98,0.164,100,0.329,102,0.954,103,0.321,104,0.559,105,0.82,107,0.622,109,0.191,114,0.505,117,1.039,120,0.958,122,0.306,124,0.664,126,0.839,130,1.05,134,1.335,136,0.416,139,0.758,140,0.604,141,0.619,143,0.344,144,0.666,145,0.734,148,2.168,149,0.624,152,1.108,153,0.177,154,0.993,161,0.478,162,0.198,163,3.247,164,0.205,165,1.181,166,1.307,167,0.256,170,0.218,173,0.196,178,0.433,179,0.972,180,0.22,183,1.283,185,0.207,194,0.966,195,0.238,197,1.164,200,0.423,203,0.566,204,0.659,207,0.45,210,1.808,211,0.938,213,0.286,215,0.387,216,0.726,218,1.175,219,1.156,221,0.169,222,1.582,223,0.874,224,0.157,229,0.471,232,2.495,233,0.29,234,1.051,241,0.169,244,0.602,245,1.285,247,0.5,250,0.177,253,0.874,254,0.238,260,0.281,261,0.634,264,0.215,267,0.25,272,1.039,273,0.253,274,0.202,276,0.579,281,0.444,283,1.897,285,0.215,286,0.333,287,1.554,289,0.196,290,0.3,291,0.579,299,0.16,301,1.146,304,0.897,311,1.196,313,0.455,315,0.789,316,0.19,317,0.617,323,1.514,324,0.568,326,0.163,327,0.207,328,0.981,332,0.195,336,0.735,338,0.512,341,1.109,342,0.233,343,0.228,345,0.325,355,0.161,370,0.297,373,0.697,377,0.226,379,1.641,380,0.732,381,0.22,395,0.466,398,0.446,400,0.378,402,0.211,404,0.385,406,0.696,408,1.46,415,0.197,418,1.453,422,0.18,423,0.205,425,0.27,427,0.45,428,1.05,430,0.724,432,0.406,439,0.502,487,0.606,488,0.556,496,0.715,497,0.437,498,1.152,500,3.246,501,0.46,503,0.488,506,0.801,511,0.514,512,0.186,514,0.326,520,0.781,521,0.673,530,0.231,533,0.465,538,1.537,539,0.175,542,0.827,543,0.257,548,0.954,550,0.692,552,0.193,553,1.256,554,0.321,555,0.651,556,0.351,562,0.567,568,0.355,569,0.215,571,0.343,581,0.715,582,0.201,589,0.39,591,0.238,600,0.321,605,0.275,634,0.416,635,1.936,640,0.301,648,2.605,653,0.233,654,0.641,668,0.992,670,0.455,671,1.893,672,0.614,679,0.202,681,1.088,683,0.416,684,0.213,688,0.517,689,0.301,690,2.142,691,0.218,696,0.729,697,1.169,702,0.181,709,0.71,712,0.579,713,0.265,715,0.265,721,0.356,722,0.692,723,0.385,731,0.409,734,0.348,735,1.818,740,0.211,742,0.55,746,2.673,748,1.12,749,0.291,750,0.186,760,0.361,761,1.37,766,0.193,767,1.07,772,0.182,774,0.556,783,1.151,786,2.599,794,0.208,796,0.261,797,0.321,798,0.321,799,0.629,800,0.426,805,0.67,807,0.241,808,0.222,809,0.673,813,3.035,818,0.371,819,0.28,820,0.38,823,1.752,826,0.25,829,0.355,831,0.222,840,0.859,843,1.598,845,0.957,846,1.092,848,1.678,849,1.655,850,1.066,852,0.341,854,0.202,856,0.653,866,1.562,875,0.224,876,0.241,882,0.31,883,0.446,890,1.433,892,0.674,896,0.547,897,0.27,899,0.257,907,0.28,911,0.261,915,0.213,916,0.434,918,0.845,922,0.715,923,0.395,924,0.647,925,0.231,926,0.22,928,0.35,929,0.413,931,1.217,934,1.251,940,0.265,941,0.509,942,0.257,944,0.247,951,0.87,953,0.708,956,0.187,957,0.72,958,0.446,972,0.437,973,0.247,982,0.216,991,0.28,992,0.202,997,0.2,1010,0.434,1012,0.224,1016,0.247,1020,0.293,1025,0.327,1027,0.579,1030,0.866,1035,0.211,1037,0.321,1038,0.585,1045,0.27,1052,0.27,1054,0.191,1055,0.488,1061,1.072,1064,0.236,1065,0.758,1067,0.27,1068,1.368,1070,3.37,1072,0.563,1075,0.887,1076,0.624,1079,0.197,1082,1.123,1084,0.509,1086,0.353,1088,0.583,1089,0.335,1093,1.088,1096,0.321,1104,0.293,1105,0.795,1107,0.526,1111,0.434,1113,0.236,1127,0.488,1130,0.401,1135,0.233,1137,2.361,1139,2.452,1143,0.286,1145,0.746,1147,0.286,1148,1.278,1152,1.715,1168,0.275,1175,0.236,1176,0.363,1186,0.46,1188,1.043,1197,0.253,1205,0.321,1208,0.947,1210,1.871,1213,0.335,1214,0.233,1220,0.712,1235,0.45,1241,0.204,1252,0.488,1257,0.27,1259,0.413,1260,0.437,1261,0.265,1262,0.286,1263,0.86,1264,0.392,1266,1.522,1267,1.833,1291,1.301,1295,0.406,1296,0.265,1297,0.244,1299,0.247,1302,0.238,1303,0.335,1304,0.406,1306,0.201,1308,1.011,1309,0.666,1310,0.27,1311,1.072,1315,0.335,1317,0.653,1319,0.8,1321,0.673,1324,0.855,1342,0.488,1343,0.236,1352,0.689,1362,2.396,1364,0.321,1372,0.626,1383,0.265,1385,0.321,1386,0.653,1389,0.275,1397,0.423,1401,0.818,1402,0.28,1409,0.6,1415,2.763,1416,0.193,1417,1.678,1419,0.482,1421,0.293,1425,0.222,1429,0.375,1430,0.583,1437,0.827,1438,0.31,1442,0.353,1445,0.301,1446,0.247,1448,0.28,1452,1.366,1454,0.446,1455,1.009,1464,0.465,1465,1.137,1467,0.587,1468,0.715,1469,0.301,1475,0.25,1478,0.587,1488,0.591,1491,1.997,1492,0.247,1493,0.31,1504,0.27,1512,1.566,1536,0.771,1537,0.31,1540,0.321,1543,0.335,1555,0.238,1557,0.27,1558,0.735,1559,0.321,1560,0.28,1561,0.559,1562,0.653,1565,0.31,1575,0.321,1583,0.957,1584,0.547,1587,0.224,1589,0.28,1597,0.215,1599,0.335,1605,0.301,1606,0.261,1607,0.293,1609,0.261,1615,0.238,1637,0.27,1645,0.293,1649,1.368,1667,1.154,1670,0.241,1676,0.47,1684,0.47,1687,0.353,1688,1.368,1689,0.495,1711,0.653,1716,0.705,1718,0.587,1770,1.249,1771,0.31,1773,1.606,1774,2.113,1775,0.261,1787,0.293,1831,0.697,1849,0.244,1852,0.495,1854,0.31,1876,0.31,1878,0.626,1908,0.257,1909,0.257,1910,0.226,1922,0.244,1926,0.207,1931,0.286,1934,0.572,1935,0.572,1938,0.257,1960,0.335,1967,0.261,1970,0.238,1974,0.897,1976,0.335,1977,0.238,1981,0.335,1990,0.335,2010,0.859,2015,0.502,2022,0.257,2026,0.205,2036,0.335,2037,0.241,2043,0.321,2044,0.626,2046,0.261,2051,0.353,2066,0.626,2071,0.321,2072,0.716,2074,0.572,2076,0.293,2081,0.233,2082,0.28,2084,0.353,2089,0.293,2094,0.353,2096,0.27,2101,1.393,2102,0.265,2103,0.261,2148,1.091,2161,0.547,2167,0.286,2169,0.261,2185,0.495,2187,0.536,2219,0.335,2234,0.801,2251,0.286,2252,0.605,2255,0.31,2256,0.301,2268,0.559,2273,0.335,2292,0.335,2294,0.335,2295,0.353,2303,0.559,2304,0.689,2306,1.227,2307,0.653,2315,0.261,2331,0.321,2332,0.228,2333,0.321,2334,0.547,2339,0.321,2341,0.353,2342,0.335,2344,0.293,2367,0.293,2368,0.31,2369,0.689,2382,0.689,2391,0.626,2396,0.244,2400,0.43,2401,0.86,2435,0.626,2449,1.46,2504,0.547,2510,0.605,2511,0.321,2527,0.218,2534,0.353,2535,0.536,2568,0.301,2576,0.293,2583,0.321,2603,0.353,2617,0.301,2619,0.321,2621,0.509,2631,0.335,2649,0.86,2651,0.689,2657,0.321,2678,0.293,2681,0.257,2686,0.27,2687,0.321,2690,0.275,2716,0.86,2731,0.335,2737,0.559,2755,0.301,2773,0.547,2787,0.28,2796,0.286,2827,0.293,2829,0.353,2834,0.86,2835,0.587,2838,0.31,2840,0.321,2848,0.275,2887,0.559,2893,0.587,2897,0.335,2900,0.321,2902,0.353,2905,0.897,2968,0.321,2980,0.353,2986,0.28,2990,0.353,2991,1.643,3001,0.353,3012,0.353,3013,0.353,3014,0.335,3020,0.353,3045,2.551,3083,1.195,3093,0.27,3105,0.353,3124,0.27,3132,0.353,3197,0.31,3199,0.335,3205,0.286,3225,0.28,3227,0.301,3261,0.31,3263,0.559,3264,0.275,3265,0.547,3268,0.605,3269,0.536,3270,1.109,3271,0.962,3272,0.381,3273,0.381,3274,0.381,3275,0.381,3276,0.956,3277,0.381,3278,0.743,3279,0.381,3280,0.743,3281,0.381,3282,0.381,3283,0.381,3284,0.381,3285,0.381,3286,0.381,3287,0.353,3288,0.381,3289,0.381,3290,0.381,3291,0.381,3292,0.381,3293,0.381,3294,0.381,3295,0.653,3296,0.353,3297,0.381,3298,1.46,3299,1.466,3300,1.605,3301,0.689,3302,1.009,3303,0.689,3304,0.381,3305,0.381,3306,0.381,3307,0.381,3308,0.381,3309,0.353,3310,0.743,3311,1.786,3312,0.335,3313,0.381,3314,0.381,3315,0.381,3316,0.381,3317,0.381,3318,0.321,3319,0.381,3320,0.381,3321,0.381,3322,0.381,3323,0.353,3324,0.381,3325,0.743,3326,0.381,3327,0.381,3328,0.381,3329,0.381,3330,0.381,3331,0.743,3332,0.381,3333,0.381,3334,0.353,3335,0.381,3336,0.381,3337,0.381,3338,0.381,3339,0.381,3340,0.381,3341,0.381,3342,0.381,3343,0.381,3344,0.381,3345,0.381,3346,0.381,3347,0.381,3348,0.381,3349,0.381,3350,0.381,3351,0.381,3352,0.381,3353,1.732,3354,0.381,3355,1.314,3356,0.743,3357,0.956,3358,0.353,3359,1.088,3360,0.743,3361,0.381,3362,0.47,3363,0.381,3364,0.381,3365,0.743,3366,0.743,3367,0.381,3368,0.743,3369,0.381,3370,0.381,3371,0.381,3372,0.353,3373,0.381,3374,0.743,3375,0.381,3376,0.743,3377,0.381,3378,1.732,3379,0.381,3380,1.088,3381,0.743,3382,0.381,3383,0.381,3384,0.381,3385,0.381,3386,0.381,3387,0.381,3388,0.353,3389,0.381,3390,0.743,3391,1.195,3392,0.381,3393,0.381,3394,0.381,3395,0.689,3396,0.381,3397,0.353,3398,0.381,3399,0.381,3400,0.381,3401,0.381,3402,0.381,3403,0.381,3404,0.743,3405,0.381,3406,0.381,3407,0.381,3408,0.381,3409,0.381,3410,0.381,3411,0.381,3412,0.743,3413,0.381,3414,0.381,3415,0.381,3416,0.381,3417,0.381,3418,0.381,3419,0.381,3420,0.689,3421,0.381,3422,0.381,3423,0.381,3424,0.381,3425,0.381,3426,0.743,3427,1.009,3428,0.353,3429,0.381,3430,0.743,3431,0.353,3432,0.381,3433,0.381,3434,0.743,3435,0.381,3436,0.743,3437,0.381,3438,0.381,3439,0.381,3440,0.743,3441,0.381,3442,0.381,3443,0.381,3444,0.381,3445,0.381,3446,0.381,3447,0.743,3448,0.321,3449,0.335,3450,0.381,3451,0.381,3452,0.381,3453,0.743,3454,1.009,3455,1.314,3456,0.381,3457,0.381,3458,0.381,3459,1.314,3460,0.381,3461,0.381,3462,0.743,3463,0.381,3464,0.743,3465,0.381,3466,0.381,3467,0.381,3468,0.286,3469,0.381,3470,0.743,3471,0.381,3472,0.381,3473,0.381,3474,0.353,3475,0.381,3476,0.381,3477,0.353,3478,0.353,3479,0.321,3480,0.381,3481,0.381,3482,0.381,3483,0.381,3484,0.381,3485,0.381,3486,0.381,3487,0.381,3488,0.381,3489,0.381,3490,0.353,3491,0.381,3492,0.381,3493,0.381,3494,0.353,3495,0.31,3496,0.353,3497,0.381,3498,0.689,3499,0.381,3500,0.353,3501,0.743,3502,0.353,3503,0.381,3504,0.689,3505,0.381,3506,0.381,3507,0.743,3508,0.381,3509,0.381,3510,0.381,3511,0.381,3512,0.381,3513,0.381,3514,0.743,3515,0.353,3516,0.381,3517,0.743,3518,0.381,3519,0.381,3520,0.381,3521,0.381,3522,0.381,3523,0.381,3524,0.261,3525,0.381,3526,0.381,3527,0.381,3528,0.381,3529,0.381,3530,0.353,3531,0.743,3532,0.381,3533,0.381,3534,0.743,3535,0.381,3536,0.381,3537,0.743,3538,1.088,3539,0.381,3540,0.743,3541,0.381,3542,0.381,3543,0.335,3544,0.381,3545,0.301,3546,0.381,3547,0.381,3548,0.381,3549,1.333,3550,0.381,3551,0.381,3552,0.381,3553,0.381,3554,0.381,3555,0.381,3556,0.381,3557,0.381,3558,0.381,3559,0.381,3560,0.381,3561,0.381,3562,0.381,3563,0.381,3564,0.381,3565,0.301,3566,0.353,3567,0.381,3568,0.381,3569,0.381,3570,0.353,3571,0.381,3572,0.381,3573,0.381,3574,0.381,3575,0.381,3576,0.381,3577,0.381,3578,0.381,3579,0.743,3580,0.381,3581,0.381,3582,0.381,3583,0.257,3584,0.381,3585,0.381,3586,0.381,3587,0.381,3588,0.381,3589,0.381,3590,0.381,3591,0.381,3592,0.381,3593,1.522,3594,0.381,3595,0.381,3596,0.381,3597,0.381,3598,0.381,3599,0.381,3600,0.626,3601,0.381,3602,0.381,3603,0.381,3604,0.353,3605,0.381,3606,1.088,3607,0.381,3608,0.381,3609,0.381,3610,0.381,3611,0.381,3612,0.381,3613,0.353,3614,0.381,3615,0.381,3616,0.353,3617,0.743,3618,0.381,3619,0.381,3620,0.381,3621,0.381,3622,0.381,3623,0.381,3624,0.381,3625,0.381,3626,0.743,3627,0.381,3628,0.743,3629,0.381,3630,0.381,3631,0.381,3632,0.381,3633,0.381,3634,0.381,3635,0.381,3636,0.381,3637,0.381,3638,0.381,3639,0.689,3640,0.743,3641,0.381,3642,0.381,3643,0.381,3644,0.31,3645,0.381,3646,0.381,3647,0.381,3648,0.353,3649,0.353,3650,0.381,3651,0.743,3652,0.689,3653,0.743,3654,0.381,3655,0.381,3656,0.381,3657,0.381,3658,0.381,3659,0.381,3660,0.381,3661,0.381,3662,0.381,3663,0.381,3664,0.743,3665,0.353,3666,0.743,3667,0.381,3668,0.381,3669,0.381,3670,0.381,3671,0.381,3672,0.381,3673,0.381,3674,0.381,3675,0.31,3676,0.381,3677,0.381,3678,0.381,3679,0.321,3680,0.381,3681,0.381,3682,0.381,3683,0.743,3684,0.353,3685,0.381,3686,0.381,3687,0.381,3688,0.381,3689,0.743,3690,0.743,3691,0.381,3692,0.743,3693,0.743,3694,0.381,3695,0.381,3696,0.743,3697,0.381,3698,0.381,3699,0.381,3700,0.381,3701,0.31,3702,0.31,3703,0.381,3704,0.381,3705,0.381,3706,0.381,3707,0.381,3708,0.381,3709,0.381,3710,0.381,3711,0.381,3712,0.381,3713,0.381,3714,0.381,3715,0.381,3716,0.381,3717,0.381,3718,0.381,3719,0.381,3720,0.301,3721,0.353,3722,0.381,3723,0.335,3724,0.381,3725,0.381,3726,0.381,3727,0.381,3728,0.381,3729,0.353,3730,0.381,3731,0.381,3732,0.381,3733,0.353,3734,0.381,3735,0.381,3736,0.353,3737,0.381,3738,0.335,3739,0.381,3740,0.381,3741,0.381,3742,0.353,3743,0.353,3744,0.381,3745,0.381,3746,0.381,3747,0.381,3748,0.381,3749,0.381,3750,0.381,3751,0.381,3752,0.381,3753,0.381,3754,0.381,3755,0.353,3756,0.381,3757,0.381,3758,0.381,3759,0.381,3760,0.381,3761,0.335,3762,0.335,3763,0.381,3764,0.381,3765,0.381,3766,0.689,3767,0.381,3768,0.381,3769,0.381,3770,0.353,3771,0.381,3772,0.381,3773,0.321,3774,0.381,3775,0.381,3776,0.335,3777,0.286,3778,0.381,3779,0.381,3780,0.381,3781,0.335,3782,0.335,3783,0.381,3784,0.743,3785,0.743,3786,0.321,3787,0.381,3788,0.381,3789,0.353,3790,0.321,3791,0.381,3792,0.381,3793,0.381,3794,0.335,3795,0.353,3796,0.381,3797,0.381,3798,0.353,3799,0.353,3800,0.381,3801,0.381,3802,0.335,3803,0.381,3804,0.653,3805,0.301,3806,0.381,3807,0.353,3808,0.381,3809,0.321,3810,0.381,3811,0.381,3812,0.381,3813,0.381,3814,0.293,3815,0.381,3816,0.321,3817,0.353,3818,0.381,3819,0.381,3820,0.381,3821,0.381,3822,0.381,3823,0.353,3824,0.381,3825,0.335,3826,0.353]],["component/66",[1,0.382,2,0.692,18,0.605]],["title/67-1",[8,22.976,3260,50.794]],["name/67-1",[]],["text/67-1",[]],["component/67-1",[]],["title/67-2",[8,22.976,3827,70.737]],["name/67-2",[]],["text/67-2",[]],["component/67-2",[]],["title/67-3",[134,47.713]],["name/67-3",[]],["text/67-3",[]],["component/67-3",[]],["title/67-4",[671,34.082,3270,36.464]],["name/67-4",[]],["text/67-4",[]],["component/67-4",[]],["title/67-5",[3271,51.484]],["name/67-5",[]],["text/67-5",[]],["component/67-5",[]],["title/67-6",[8,22.976,3828,70.737]],["name/67-6",[]],["text/67-6",[]],["component/67-6",[]],["title/67-7",[36,39.196]],["name/67-7",[]],["text/67-7",[]],["component/67-7",[]],["title/67-8",[134,47.713]],["name/67-8",[]],["text/67-8",[]],["component/67-8",[]],["title/67-9",[671,34.082,3270,36.464]],["name/67-9",[]],["text/67-9",[]],["component/67-9",[]],["title/67-10",[3271,51.484]],["name/67-10",[]],["text/67-10",[]],["component/67-10",[]],["title/67-11",[8,22.976,3829,67.059]],["name/67-11",[]],["text/67-11",[]],["component/67-11",[]],["title/67-12",[134,47.713]],["name/67-12",[]],["text/67-12",[]],["component/67-12",[]],["title/67-13",[671,34.082,3270,36.464]],["name/67-13",[]],["text/67-13",[]],["component/67-13",[]],["title/67-14",[3271,51.484]],["name/67-14",[]],["text/67-14",[]],["component/67-14",[]],["title/67-15",[8,22.976,3261,62.119]],["name/67-15",[]],["text/67-15",[]],["component/67-15",[]],["title/67-16",[8,22.976,3830,76.321]],["name/67-16",[]],["text/67-16",[]],["component/67-16",[]],["title/67-17",[134,47.713]],["name/67-17",[]],["text/67-17",[]],["component/67-17",[]],["title/67-18",[671,34.082,3270,36.464]],["name/67-18",[]],["text/67-18",[]],["component/67-18",[]],["title/67-19",[3271,51.484]],["name/67-19",[]],["text/67-19",[]],["component/67-19",[]],["title/67-20",[8,22.976,3831,76.321]],["name/67-20",[]],["text/67-20",[]],["component/67-20",[]],["title/67-21",[671,34.082,3270,36.464]],["name/67-21",[]],["text/67-21",[]],["component/67-21",[]],["title/67-22",[3271,51.484]],["name/67-22",[]],["text/67-22",[]],["component/67-22",[]],["title/67-23",[8,22.976,3832,76.321]],["name/67-23",[]],["text/67-23",[]],["component/67-23",[]],["title/67-24",[134,47.713]],["name/67-24",[]],["text/67-24",[]],["component/67-24",[]],["title/67-25",[671,34.082,3270,36.464]],["name/67-25",[]],["text/67-25",[]],["component/67-25",[]],["title/67-26",[145,39.514,216,32]],["name/67-26",[]],["text/67-26",[]],["component/67-26",[]],["title/67-27",[3271,51.484]],["name/67-27",[]],["text/67-27",[]],["component/67-27",[]],["title/67-28",[8,22.976,3262,64.312]],["name/67-28",[]],["text/67-28",[]],["component/67-28",[]],["title/67-29",[8,22.976,3833,76.321]],["name/67-29",[]],["text/67-29",[]],["component/67-29",[]],["title/67-30",[134,47.713]],["name/67-30",[]],["text/67-30",[]],["component/67-30",[]],["title/67-31",[671,34.082,3270,36.464]],["name/67-31",[]],["text/67-31",[]],["component/67-31",[]],["title/67-32",[3271,51.484]],["name/67-32",[]],["text/67-32",[]],["component/67-32",[]],["title/67-33",[8,22.976,3834,76.321]],["name/67-33",[]],["text/67-33",[]],["component/67-33",[]],["title/67-34",[134,47.713]],["name/67-34",[]],["text/67-34",[]],["component/67-34",[]],["title/67-35",[671,34.082,3270,36.464]],["name/67-35",[]],["text/67-35",[]],["component/67-35",[]],["title/67-36",[3271,51.484]],["name/67-36",[]],["text/67-36",[]],["component/67-36",[]],["title/67-37",[8,22.976,3835,76.321]],["name/67-37",[]],["text/67-37",[]],["component/67-37",[]],["title/67-38",[134,47.713]],["name/67-38",[]],["text/67-38",[]],["component/67-38",[]],["title/67-39",[671,34.082,3270,36.464]],["name/67-39",[]],["text/67-39",[]],["component/67-39",[]],["title/67-40",[3271,51.484]],["name/67-40",[]],["text/67-40",[]],["component/67-40",[]],["title/67-41",[8,22.976,1401,57.361]],["name/67-41",[]],["text/67-41",[]],["component/67-41",[]],["title/67-42",[8,22.976,3836,76.321]],["name/67-42",[]],["text/67-42",[]],["component/67-42",[]],["title/67-43",[134,47.713]],["name/67-43",[]],["text/67-43",[]],["component/67-43",[]],["title/67-44",[671,34.082,3270,36.464]],["name/67-44",[]],["text/67-44",[]],["component/67-44",[]],["title/67-45",[3271,51.484]],["name/67-45",[]],["text/67-45",[]],["component/67-45",[]],["title/67-46",[8,22.976,3837,76.321]],["name/67-46",[]],["text/67-46",[]],["component/67-46",[]],["title/67-47",[671,34.082,3270,36.464]],["name/67-47",[]],["text/67-47",[]],["component/67-47",[]],["title/67-48",[3271,51.484]],["name/67-48",[]],["text/67-48",[]],["component/67-48",[]],["title/67-49",[8,22.976,3838,76.321]],["name/67-49",[]],["text/67-49",[]],["component/67-49",[]],["title/67-50",[134,47.713]],["name/67-50",[]],["text/67-50",[]],["component/67-50",[]],["title/67-51",[671,34.082,3270,36.464]],["name/67-51",[]],["text/67-51",[]],["component/67-51",[]],["title/67-52",[3271,51.484]],["name/67-52",[]],["text/67-52",[]],["component/67-52",[]],["title/67-53",[8,22.976,3839,76.321]],["name/67-53",[]],["text/67-53",[]],["component/67-53",[]],["title/67-54",[134,47.713]],["name/67-54",[]],["text/67-54",[]],["component/67-54",[]],["title/67-55",[671,34.082,3270,36.464]],["name/67-55",[]],["text/67-55",[]],["component/67-55",[]],["title/67-56",[3271,51.484]],["name/67-56",[]],["text/67-56",[]],["component/67-56",[]],["title/67-57",[8,22.976,3840,76.321]],["name/67-57",[]],["text/67-57",[]],["component/67-57",[]],["title/67-58",[36,39.196]],["name/67-58",[]],["text/67-58",[]],["component/67-58",[]],["title/67-59",[134,47.713]],["name/67-59",[]],["text/67-59",[]],["component/67-59",[]],["title/67-60",[671,34.082,3270,36.464]],["name/67-60",[]],["text/67-60",[]],["component/67-60",[]],["title/67-61",[3271,51.484]],["name/67-61",[]],["text/67-61",[]],["component/67-61",[]],["title/67-62",[8,22.976,3841,76.321]],["name/67-62",[]],["text/67-62",[]],["component/67-62",[]],["title/67-63",[671,34.082,3270,36.464]],["name/67-63",[]],["text/67-63",[]],["component/67-63",[]],["title/67-64",[3271,51.484]],["name/67-64",[]],["text/67-64",[]],["component/67-64",[]],["title/67-65",[8,22.976,1402,56.145]],["name/67-65",[]],["text/67-65",[]],["component/67-65",[]],["title/67-66",[8,22.976,3842,76.321]],["name/67-66",[]],["text/67-66",[]],["component/67-66",[]],["title/67-67",[134,47.713]],["name/67-67",[]],["text/67-67",[]],["component/67-67",[]],["title/67-68",[671,34.082,3270,36.464]],["name/67-68",[]],["text/67-68",[]],["component/67-68",[]],["title/67-69",[3271,51.484]],["name/67-69",[]],["text/67-69",[]],["component/67-69",[]],["title/67-70",[8,22.976,3843,76.321]],["name/67-70",[]],["text/67-70",[]],["component/67-70",[]],["title/67-71",[671,34.082,3270,36.464]],["name/67-71",[]],["text/67-71",[]],["component/67-71",[]],["title/67-72",[3271,51.484]],["name/67-72",[]],["text/67-72",[]],["component/67-72",[]],["title/67-73",[8,22.976,3844,76.321]],["name/67-73",[]],["text/67-73",[]],["component/67-73",[]],["title/67-74",[671,34.082,3270,36.464]],["name/67-74",[]],["text/67-74",[]],["component/67-74",[]],["title/67-75",[3271,51.484]],["name/67-75",[]],["text/67-75",[]],["component/67-75",[]],["title/67-76",[8,22.976,3845,76.321]],["name/67-76",[]],["text/67-76",[]],["component/67-76",[]],["title/67-77",[671,34.082,3270,36.464]],["name/67-77",[]],["text/67-77",[]],["component/67-77",[]],["title/67-78",[3271,51.484]],["name/67-78",[]],["text/67-78",[]],["component/67-78",[]],["title/67-79",[8,22.976,3846,76.321]],["name/67-79",[]],["text/67-79",[]],["component/67-79",[]],["title/67-80",[671,34.082,3270,36.464]],["name/67-80",[]],["text/67-80",[]],["component/67-80",[]],["title/67-81",[3271,51.484]],["name/67-81",[]],["text/67-81",[]],["component/67-81",[]],["title/67-82",[8,22.976,3847,76.321]],["name/67-82",[]],["text/67-82",[]],["component/67-82",[]],["title/67-83",[134,47.713]],["name/67-83",[]],["text/67-83",[]],["component/67-83",[]],["title/67-84",[671,34.082,3270,36.464]],["name/67-84",[]],["text/67-84",[]],["component/67-84",[]],["title/67-85",[3271,51.484]],["name/67-85",[]],["text/67-85",[]],["component/67-85",[]],["title/67-86",[8,22.976,3848,76.321]],["name/67-86",[]],["text/67-86",[]],["component/67-86",[]],["title/67-87",[36,39.196]],["name/67-87",[]],["text/67-87",[]],["component/67-87",[]],["title/67-88",[134,47.713]],["name/67-88",[]],["text/67-88",[]],["component/67-88",[]],["title/67-89",[671,34.082,3270,36.464]],["name/67-89",[]],["text/67-89",[]],["component/67-89",[]],["title/67-90",[3271,51.484]],["name/67-90",[]],["text/67-90",[]],["component/67-90",[]],["title/67-91",[8,22.976,3849,70.737]],["name/67-91",[]],["text/67-91",[]],["component/67-91",[]],["title/67-92",[134,47.713]],["name/67-92",[]],["text/67-92",[]],["component/67-92",[]],["title/67-93",[671,34.082,3270,36.464]],["name/67-93",[]],["text/67-93",[]],["component/67-93",[]],["title/67-94",[8,22.976,3263,57.361]],["name/67-94",[]],["text/67-94",[]],["component/67-94",[]],["title/67-95",[8,22.976,3850,76.321]],["name/67-95",[]],["text/67-95",[]],["component/67-95",[]],["title/67-96",[134,47.713]],["name/67-96",[]],["text/67-96",[]],["component/67-96",[]],["title/67-97",[671,34.082,3270,36.464]],["name/67-97",[]],["text/67-97",[]],["component/67-97",[]],["title/67-98",[8,22.976,3851,76.321]],["name/67-98",[]],["text/67-98",[]],["component/67-98",[]],["title/67-99",[671,34.082,3270,36.464]],["name/67-99",[]],["text/67-99",[]],["component/67-99",[]],["title/67-100",[8,22.976,3852,67.059]],["name/67-100",[]],["text/67-100",[]],["component/67-100",[]],["title/67-101",[36,39.196]],["name/67-101",[]],["text/67-101",[]],["component/67-101",[]],["title/67-102",[134,47.713]],["name/67-102",[]],["text/67-102",[]],["component/67-102",[]],["title/67-103",[671,34.082,3270,36.464]],["name/67-103",[]],["text/67-103",[]],["component/67-103",[]],["title/67-104",[8,22.976,3853,70.737]],["name/67-104",[]],["text/67-104",[]],["component/67-104",[]],["title/67-105",[671,34.082,3270,36.464]],["name/67-105",[]],["text/67-105",[]],["component/67-105",[]],["title/67-106",[8,22.976,3854,76.321]],["name/67-106",[]],["text/67-106",[]],["component/67-106",[]],["title/67-107",[134,47.713]],["name/67-107",[]],["text/67-107",[]],["component/67-107",[]],["title/67-108",[671,34.082,3270,36.464]],["name/67-108",[]],["text/67-108",[]],["component/67-108",[]],["title/67-109",[8,22.976,3855,76.321]],["name/67-109",[]],["text/67-109",[]],["component/67-109",[]],["title/67-110",[8,22.976,3856,70.737]],["name/67-110",[]],["text/67-110",[]],["component/67-110",[]],["title/67-111",[8,22.976,3857,76.321]],["name/67-111",[]],["text/67-111",[]],["component/67-111",[]],["title/67-112",[8,22.976,3858,76.321]],["name/67-112",[]],["text/67-112",[]],["component/67-112",[]],["title/67-113",[8,22.976,3859,70.737]],["name/67-113",[]],["text/67-113",[]],["component/67-113",[]],["title/67-114",[8,22.976,3860,70.737]],["name/67-114",[]],["text/67-114",[]],["component/67-114",[]],["title/67-115",[8,22.976,3861,70.737]],["name/67-115",[]],["text/67-115",[]],["component/67-115",[]],["title/67-116",[8,22.976,3862,70.737]],["name/67-116",[]],["text/67-116",[]],["component/67-116",[]],["title/67-117",[8,22.976,3863,70.737]],["name/67-117",[]],["text/67-117",[]],["component/67-117",[]],["title/67-118",[8,22.976,3864,70.737]],["name/67-118",[]],["text/67-118",[]],["component/67-118",[]],["title/67-119",[8,22.976,3264,55.051]],["name/67-119",[]],["text/67-119",[]],["component/67-119",[]],["title/67-120",[8,22.976,3865,70.737]],["name/67-120",[]],["text/67-120",[]],["component/67-120",[]],["title/67-121",[8,22.976,3866,67.059]],["name/67-121",[]],["text/67-121",[]],["component/67-121",[]],["title/67-122",[8,22.976,3867,67.059]],["name/67-122",[]],["text/67-122",[]],["component/67-122",[]],["title/67-123",[8,22.976,3868,70.737]],["name/67-123",[]],["text/67-123",[]],["component/67-123",[]],["title/67-124",[8,22.976,3869,76.321]],["name/67-124",[]],["text/67-124",[]],["component/67-124",[]],["title/67-125",[8,22.976,3870,70.737]],["name/67-125",[]],["text/67-125",[]],["component/67-125",[]],["title/67-126",[8,22.976,3871,70.737]],["name/67-126",[]],["text/67-126",[]],["component/67-126",[]],["title/67-127",[8,22.976,3872,76.321]],["name/67-127",[]],["text/67-127",[]],["component/67-127",[]],["title/67-128",[8,22.976,3873,76.321]],["name/67-128",[]],["text/67-128",[]],["component/67-128",[]],["title/67-129",[8,22.976,3265,56.145]],["name/67-129",[]],["text/67-129",[]],["component/67-129",[]],["title/67-130",[8,22.976,3874,76.321]],["name/67-130",[]],["text/67-130",[]],["component/67-130",[]],["title/67-131",[8,22.976,3875,70.737]],["name/67-131",[]],["text/67-131",[]],["component/67-131",[]],["title/67-132",[8,22.976,3876,70.737]],["name/67-132",[]],["text/67-132",[]],["component/67-132",[]],["title/67-133",[8,22.976,3877,76.321]],["name/67-133",[]],["text/67-133",[]],["component/67-133",[]],["title/67-134",[8,22.976,3878,76.321]],["name/67-134",[]],["text/67-134",[]],["component/67-134",[]],["title/67-135",[8,22.976,3266,64.312]],["name/67-135",[]],["text/67-135",[]],["component/67-135",[]],["title/67-136",[8,22.976,3879,70.737]],["name/67-136",[]],["text/67-136",[]],["component/67-136",[]],["title/67-137",[8,22.976,3880,70.737]],["name/67-137",[]],["text/67-137",[]],["component/67-137",[]],["title/67-138",[8,22.976,3267,67.059]],["name/67-138",[]],["text/67-138",[]],["component/67-138",[]],["title/67-139",[8,22.976,3881,76.321]],["name/67-139",[]],["text/67-139",[]],["component/67-139",[]],["title/67-140",[8,22.976,3882,76.321]],["name/67-140",[]],["text/67-140",[]],["component/67-140",[]],["title/67-141",[8,22.976,3268,62.119]],["name/67-141",[]],["text/67-141",[]],["component/67-141",[]],["title/67-142",[8,22.976,3883,76.321]],["name/67-142",[]],["text/67-142",[]],["component/67-142",[]],["title/67-143",[8,22.976,3884,76.321]],["name/67-143",[]],["text/67-143",[]],["component/67-143",[]],["title/67-144",[8,22.976,3885,76.321]],["name/67-144",[]],["text/67-144",[]],["component/67-144",[]],["title/67-145",[8,22.976,3886,76.321]],["name/67-145",[]],["text/67-145",[]],["component/67-145",[]],["title/67",[8,22.976,3269,55.051]],["name/67",[8,0.637,3269,1.527]],["text/67",[1,1.162,2,0.775,3,0.246,4,0.238,5,0.194,6,0.185,7,0.337,8,2.505,10,0.723,18,0.869,26,1.84,28,0.203,29,0.118,31,0.351,34,1.278,36,0.242,37,2.384,38,1.936,39,0.43,40,0.211,41,2.534,44,0.355,46,1.621,47,0.179,48,0.138,50,0.771,55,0.179,56,0.449,57,0.133,58,1.402,61,0.194,62,1.013,63,1.11,65,0.211,66,0.895,68,0.143,69,0.435,70,0.603,71,2.139,75,0.175,78,1.296,80,0.163,82,0.197,83,1.749,87,0.641,91,0.38,93,0.217,95,0.266,96,0.718,98,1.159,100,0.489,102,0.747,105,0.331,107,1.001,109,1.825,114,0.742,115,0.393,116,0.15,122,0.938,124,0.635,126,0.456,129,0.2,130,0.511,134,0.823,136,0.321,139,0.588,140,0.613,141,0.801,143,0.512,144,0.179,145,0.572,148,0.293,149,1.247,152,0.734,153,1.44,154,0.882,157,0.197,158,0.337,161,0.595,162,0.152,163,1.045,165,0.851,166,0.262,169,0.9,173,1.061,174,0.355,176,0.313,177,0.157,178,0.228,179,0.2,180,0.488,182,0.381,183,1.631,184,0.547,185,0.158,197,0.791,207,0.177,210,0.203,211,0.901,214,0.203,216,1.045,218,0.132,219,1.648,221,0.254,222,1.29,223,0.691,224,0.12,225,0.351,226,0.868,232,1.231,233,0.806,234,1.343,244,0.576,245,0.52,247,0.507,249,0.173,251,0.149,253,1.164,257,0.486,260,0.605,261,1.57,263,0.783,266,0.16,268,0.127,272,1.166,274,0.449,276,0.155,281,1.101,282,0.231,283,1.099,286,0.257,287,1.401,290,0.446,291,0.749,298,0.172,299,0.24,301,0.165,304,1.012,311,0.792,314,0.246,315,0.527,316,0.146,317,0.367,318,0.197,323,0.933,324,0.544,326,0.245,327,0.158,328,0.141,330,0.207,332,0.431,334,0.16,336,0.976,337,0.6,338,0.27,340,0.185,341,1.979,345,0.25,370,0.117,371,0.203,373,1.855,375,0.591,379,0.731,380,0.123,395,0.125,398,0.175,400,2.333,402,0.753,406,1.119,408,1.333,414,0.231,415,0.572,421,0.384,427,0.347,428,1.566,430,0.194,432,0.461,462,0.371,466,0.215,487,0.684,488,0.694,491,0.153,494,0.203,495,0.278,497,0.337,498,1.889,499,0.177,500,1.371,501,0.684,502,0.154,503,0.192,505,0.511,506,0.215,511,0.401,512,0.143,517,0.165,520,1.257,532,0.367,533,0.528,538,0.905,541,0.618,542,0.933,543,0.197,548,1.703,549,0.167,550,0.895,552,0.148,553,0.508,555,0.263,556,0.756,562,0.44,568,0.274,569,0.165,571,0.264,574,0.215,582,0.303,589,0.579,603,0.628,634,0.163,635,3.806,638,0.152,648,1.461,653,0.179,654,0.497,655,0.183,665,0.341,668,0.539,670,0.676,671,3.233,672,0.988,674,0.167,677,0.153,678,0.161,680,0.691,681,0.856,683,0.163,684,0.163,689,2.132,690,4.717,692,0.187,696,1.061,697,0.197,702,0.272,708,0.17,709,0.235,712,0.721,713,0.203,714,0.177,716,0.167,723,0.828,726,0.225,729,1.455,734,0.268,735,1.291,742,0.808,746,0.917,748,0.995,749,0.225,755,0.48,758,0.458,760,0.659,761,0.841,763,0.542,765,0.219,766,0.148,767,0.846,772,0.139,773,0.639,774,0.431,783,1.852,786,0.731,790,0.818,793,0.337,794,0.742,799,0.331,800,0.167,805,0.522,808,0.17,809,0.181,810,0.152,813,1.255,818,0.146,820,0.431,821,0.305,823,1.898,824,0.194,826,0.192,827,0.257,831,0.334,840,0.511,843,1.225,845,0.746,846,0.753,848,0.157,849,0.155,850,0.153,852,0.734,853,0.578,854,0.721,856,0.663,857,0.183,865,0.289,866,0.918,872,0.344,876,0.185,878,0.203,883,0.344,890,0.732,892,1.185,893,0.238,896,0.215,907,0.215,916,0.17,918,1.006,919,0.501,922,0.192,925,0.177,927,0.716,928,0.753,929,0.318,931,0.839,934,0.989,936,0.183,937,0.735,938,0.166,940,0.203,942,0.197,943,0.203,948,0.181,949,0.657,950,0.358,951,0.147,952,0.225,953,0.916,956,0.666,957,0.689,959,0.57,965,0.147,966,0.633,972,1.343,973,0.716,976,0.211,981,0.431,982,0.771,992,0.155,994,0.219,997,0.153,998,0.367,1009,0.483,1012,0.337,1015,0.517,1018,0.48,1022,0.183,1024,0.187,1025,0.487,1027,0.587,1029,0.13,1030,1.235,1035,1.92,1037,0.931,1038,0.942,1052,0.406,1054,0.147,1055,0.891,1061,0.56,1063,0.311,1064,0.684,1065,0.399,1068,0.231,1070,2.702,1075,0.849,1076,0.778,1078,0.271,1079,0.297,1082,0.547,1084,0.2,1088,1.444,1089,0.504,1092,0.207,1093,1.221,1097,0.219,1104,1.586,1105,0.263,1107,0.961,1110,0.341,1112,0.246,1113,0.181,1125,0.358,1126,0.172,1127,0.376,1130,0.108,1134,0.604,1135,0.351,1137,2.197,1139,2.476,1143,0.431,1146,0.211,1148,0.609,1150,0.185,1151,0.17,1152,0.316,1167,0.407,1168,0.609,1169,0.207,1172,0.246,1175,0.355,1176,0.28,1178,0.869,1185,0.169,1188,0.215,1208,0.742,1210,1.299,1211,0.504,1215,0.2,1218,0.246,1219,0.207,1220,0.288,1227,0.197,1230,0.295,1241,0.591,1249,0.17,1252,0.192,1255,0.161,1261,0.399,1262,0.219,1264,0.303,1265,0.797,1266,0.504,1267,0.667,1285,0.434,1288,0.431,1295,0.16,1298,0.215,1301,0.822,1302,0.183,1304,1.127,1305,0.387,1306,0.154,1308,0.334,1309,0.676,1310,0.406,1318,0.434,1319,0.765,1321,0.181,1324,1.126,1341,0.257,1342,0.891,1343,0.181,1352,0.363,1357,0.511,1358,0.238,1362,5.156,1368,0.173,1369,0.358,1388,0.211,1389,0.211,1390,0.271,1400,0.163,1401,0.83,1402,0.215,1404,0.351,1405,0.246,1409,1.487,1415,6.151,1416,0.148,1417,1.562,1419,0.547,1421,0.225,1429,0.426,1430,0.156,1431,0.271,1432,1.264,1434,0.431,1437,0.17,1444,0.257,1446,0.189,1447,0.271,1451,0.192,1452,1.818,1454,0.506,1455,0.673,1456,0.588,1458,0.393,1462,0.177,1464,0.528,1465,2.152,1468,0.554,1469,1.449,1472,0.609,1475,0.192,1478,0.231,1484,0.431,1489,0.158,1491,0.85,1495,0.219,1504,0.406,1508,0.225,1511,0.207,1512,0.916,1531,0.579,1536,0.207,1538,0.431,1542,0.238,1543,0.257,1555,0.358,1557,0.406,1558,1.683,1560,0.621,1561,0.219,1565,2.197,1574,0.363,1576,0.166,1584,0.215,1585,0.192,1586,0.257,1587,0.172,1594,0.466,1597,0.165,1604,0.271,1605,0.231,1613,1.174,1624,0.271,1637,0.406,1640,0.231,1641,0.466,1647,0.961,1667,0.238,1669,0.687,1670,0.699,1672,0.271,1673,0.238,1676,0.858,1681,0.225,1688,1.802,1689,0.194,1695,0.194,1697,0.371,1713,0.207,1716,0.879,1717,0.231,1718,0.231,1724,0.246,1730,0.393,1767,0.2,1773,0.231,1783,0.609,1784,0.2,1785,0.271,1787,0.441,1825,0.246,1831,1.174,1839,0.194,1849,0.187,1850,0.187,1852,0.903,1875,0.215,1879,0.225,1882,0.211,1908,0.916,1909,0.197,1913,0.238,1917,0.271,1922,0.869,1923,0.422,1924,0.152,1927,0.334,1931,0.219,1934,0.225,1935,0.225,1938,0.197,1958,0.271,1966,0.271,1967,0.2,1970,0.358,1974,0.699,1975,0.504,1977,0.528,1979,0.225,1981,0.741,1990,0.257,1993,0.271,2004,0.504,2005,0.238,2010,0.511,2014,0.225,2015,1.54,2020,0.215,2022,0.197,2026,0.309,2037,0.363,2042,0.257,2044,0.246,2052,0.219,2053,0.238,2057,0.203,2066,0.246,2071,0.711,2072,0.927,2073,0.231,2075,0.238,2080,0.207,2081,1.123,2089,0.649,2091,0.271,2093,0.271,2096,0.207,2100,0.331,2101,0.393,2103,0.578,2108,0.271,2109,0.257,2111,0.271,2112,0.711,2115,0.189,2134,0.185,2148,0.441,2152,0.219,2158,0.399,2160,0.85,2161,2.545,2168,0.257,2169,0.2,2185,0.381,2187,0.211,2193,0.246,2200,0.271,2231,0.231,2234,0.215,2252,0.238,2268,0.431,2273,0.257,2296,0.782,2306,0.406,2315,0.2,2331,0.246,2332,0.175,2334,0.215,2344,0.225,2348,0.207,2350,0.219,2361,0.215,2368,0.466,2375,0.257,2384,0.271,2388,0.271,2395,0.271,2396,0.187,2397,0.246,2400,0.331,2401,1.629,2427,0.215,2435,0.246,2448,0.225,2449,0.246,2455,0.271,2460,0.238,2462,0.531,2463,0.238,2495,0.504,2498,0.271,2504,0.422,2510,0.238,2511,0.246,2514,0.504,2515,0.504,2520,0.667,2521,0.246,2532,0.453,2535,0.609,2549,0.504,2555,0.406,2568,0.453,2579,0.271,2605,0.531,2608,0.271,2621,1.096,2649,0.231,2655,0.657,2667,0.466,2671,0.413,2678,0.225,2680,0.483,2681,0.197,2687,0.246,2690,0.609,2715,0.483,2737,0.219,2741,0.257,2778,0.203,2787,0.215,2796,0.219,2827,0.225,2834,1.629,2835,0.667,2838,0.687,2840,0.246,2845,0.257,2881,0.257,2893,2.442,2896,0.257,2904,0.271,2905,0.699,2971,0.238,2974,0.271,2979,0.231,2984,0.215,2986,0.215,2988,0.183,2994,0.431,2995,0.381,2996,0.215,2997,0.246,3042,0.219,3045,0.858,3083,0.246,3106,0.225,3109,0.649,3122,1.104,3123,0.246,3124,0.207,3197,0.238,3201,0.238,3202,0.504,3207,0.257,3254,0.271,3261,0.238,3263,0.219,3264,0.413,3265,0.422,3268,0.238,3269,0.609,3270,2.521,3271,3.387,3276,2.191,3298,3.869,3299,3.416,3300,3.369,3301,0.531,3302,0.531,3309,0.271,3311,0.257,3312,0.257,3318,0.246,3334,0.271,3355,2.114,3357,1.811,3358,0.531,3362,0.185,3388,0.271,3391,0.483,3427,2.114,3428,0.271,3454,0.271,3455,0.271,3459,1.024,3468,0.431,3479,0.711,3490,0.271,3495,0.238,3496,0.531,3504,0.271,3545,0.231,3549,1.755,3593,0.257,3648,0.531,3649,0.271,3665,0.531,3679,0.483,3723,0.741,3729,0.271,3733,0.271,3742,0.531,3743,0.531,3755,0.271,3766,0.782,3776,0.257,3782,1.406,3786,1.348,3789,0.271,3798,0.271,3802,0.257,3804,0.257,3852,0.257,3856,0.271,3859,0.271,3860,0.271,3861,0.531,3862,0.531,3863,0.271,3865,0.531,3866,0.257,3867,0.257,3868,0.271,3870,0.271,3871,0.271,3875,0.271,3876,0.271,3879,0.271,3887,0.453,3888,0.292,3889,0.292,3890,1.105,3891,0.292,3892,0.573,3893,0.271,3894,0.292,3895,0.573,3896,0.504,3897,0.292,3898,0.531,3899,0.573,3900,0.292,3901,0.292,3902,0.292,3903,0.292,3904,0.292,3905,0.573,3906,0.292,3907,0.292,3908,0.292,3909,0.292,3910,0.292,3911,0.292,3912,0.292,3913,0.292,3914,0.292,3915,0.292,3916,0.292,3917,0.292,3918,0.292,3919,0.573,3920,0.292,3921,0.292,3922,0.292,3923,0.292,3924,0.292,3925,0.292,3926,0.292,3927,0.271,3928,0.292,3929,0.292,3930,0.292,3931,0.292,3932,0.292,3933,0.292,3934,0.292,3935,0.292,3936,0.292,3937,0.292,3938,0.292,3939,0.292,3940,0.292,3941,0.292,3942,0.292,3943,0.292,3944,0.292,3945,0.292,3946,0.292,3947,0.292,3948,0.292,3949,0.573,3950,0.292,3951,0.271,3952,0.292,3953,0.573,3954,0.292,3955,0.271,3956,0.292,3957,0.292,3958,0.292,3959,0.292,3960,0.292,3961,0.292,3962,0.573,3963,0.292,3964,0.292,3965,0.271,3966,0.573,3967,0.292,3968,0.292,3969,0.292,3970,0.292,3971,0.292,3972,0.271,3973,0.292,3974,0.292,3975,0.573,3976,0.292,3977,0.292,3978,0.292,3979,0.292,3980,0.573,3981,0.292,3982,0.292,3983,0.573,3984,0.292,3985,0.292,3986,0.292,3987,0.292,3988,0.292,3989,0.292,3990,0.292,3991,0.271,3992,0.292,3993,0.292,3994,0.292,3995,0.931,3996,0.292,3997,0.292,3998,0.271,3999,0.292,4000,0.573,4001,0.292,4002,0.292,4003,0.292,4004,0.231,4005,0.292,4006,0.292,4007,0.292,4008,0.292,4009,0.573,4010,0.292,4011,0.292,4012,0.292,4013,0.292,4014,0.292,4015,0.292,4016,0.971,4017,0.292,4018,1.911,4019,0.292,4020,0.292,4021,0.292,4022,0.292,4023,0.292,4024,0.292,4025,0.292,4026,0.292,4027,0.292,4028,0.292,4029,0.292,4030,0.292,4031,0.292,4032,0.292,4033,0.292,4034,0.292,4035,0.573,4036,0.292,4037,0.292,4038,0.573,4039,0.531,4040,0.292,4041,0.292,4042,0.292,4043,0.573,4044,0.292,4045,0.292,4046,0.292,4047,0.292,4048,0.573,4049,0.271,4050,0.292,4051,0.292,4052,0.292,4053,0.573,4054,0.292,4055,0.292,4056,0.292,4057,0.292,4058,0.292,4059,0.292,4060,0.292,4061,0.292,4062,0.292,4063,0.292,4064,0.292,4065,0.292,4066,0.292,4067,0.292,4068,0.292,4069,0.292,4070,0.573,4071,0.292,4072,0.292,4073,0.292,4074,0.292,4075,0.292,4076,0.292,4077,0.271,4078,0.292,4079,0.292,4080,0.292,4081,0.292,4082,0.292,4083,0.292,4084,0.573,4085,0.292,4086,0.292,4087,0.292,4088,0.292,4089,0.292,4090,0.292,4091,0.292,4092,0.531,4093,0.292,4094,0.573,4095,0.292,4096,0.292,4097,0.573,4098,0.292,4099,0.292,4100,0.292,4101,0.573,4102,0.466,4103,0.573,4104,0.292,4105,0.573,4106,0.292,4107,0.741,4108,0.271,4109,0.292,4110,0.573,4111,0.292,4112,0.573,4113,0.292,4114,0.292,4115,0.292,4116,0.292,4117,0.292,4118,0.573,4119,0.292,4120,0.573,4121,0.531,4122,0.292,4123,0.971,4124,0.292,4125,0.292,4126,0.573,4127,1.357,4128,0.292,4129,0.292,4130,0.271,4131,0.573,4132,0.292,4133,0.292,4134,0.292,4135,0.292,4136,0.573,4137,0.292,4138,0.741,4139,0.292,4140,0.292,4141,0.292,4142,0.292,4143,0.238,4144,0.292,4145,0.292,4146,0.292,4147,0.292,4148,0.292,4149,0.292,4150,0.292,4151,0.573,4152,0.292,4153,0.292,4154,0.573,4155,0.292,4156,0.225,4157,0.292,4158,0.292,4159,0.573,4160,0.292,4161,0.292,4162,0.292,4163,0.292,4164,0.573,4165,0.292,4166,0.292,4167,0.573,4168,0.292,4169,0.292,4170,0.483,4171,0.573,4172,0.292,4173,0.573,4174,0.292,4175,0.292,4176,0.292,4177,0.292,4178,0.573,4179,0.292,4180,0.271,4181,0.292,4182,0.271,4183,0.292,4184,0.292,4185,0.292,4186,0.292,4187,0.246,4188,0.292,4189,0.573,4190,1.257,4191,0.292,4192,0.573,4193,0.292,4194,0.292,4195,0.292,4196,0.292,4197,0.292,4198,0.292,4199,0.292,4200,0.292,4201,0.292,4202,0.292,4203,0.292,4204,0.292,4205,0.292,4206,0.292,4207,0.573,4208,0.292,4209,0.292,4210,0.292,4211,0.292,4212,0.573,4213,0.292,4214,0.292,4215,0.292,4216,0.292,4217,0.573,4218,0.573,4219,0.531,4220,0.292,4221,0.573,4222,0.292,4223,0.504,4224,0.292,4225,0.292,4226,0.292,4227,0.271,4228,0.292,4229,0.292,4230,0.573,4231,0.292,4232,1.811,4233,0.271,4234,0.292,4235,0.271,4236,0.292,4237,0.292,4238,0.573,4239,0.292,4240,0.292,4241,0.246,4242,0.292,4243,0.292,4244,0.292,4245,0.292,4246,0.292,4247,0.292,4248,0.292,4249,0.271,4250,0.573,4251,0.292,4252,0.292,4253,0.292,4254,0.257,4255,0.292,4256,0.573,4257,0.292,4258,0.257,4259,0.292,4260,0.573,4261,0.292,4262,0.292,4263,0.292,4264,0.573,4265,0.292,4266,0.431,4267,0.271,4268,0.271,4269,0.292,4270,0.292,4271,0.246,4272,0.292,4273,0.292,4274,0.257,4275,0.844,4276,0.257,4277,0.271,4278,0.292,4279,0.292,4280,0.292,4281,0.292,4282,0.292,4283,1.357,4284,0.292,4285,0.292,4286,0.271,4287,0.292,4288,0.292,4289,0.292,4290,0.573,4291,0.531,4292,0.292,4293,0.292,4294,0.292,4295,0.292,4296,0.292,4297,0.292,4298,0.292,4299,1.105,4300,0.292,4301,0.292,4302,0.573,4303,0.271,4304,0.292,4305,0.466,4306,0.292,4307,0.292,4308,0.292,4309,0.292,4310,0.292,4311,0.292,4312,0.271,4313,0.292,4314,0.573,4315,0.292,4316,0.292,4317,0.292,4318,0.292,4319,0.292,4320,0.271,4321,0.292,4322,0.292,4323,0.292,4324,0.292,4325,0.504,4326,0.292,4327,0.292,4328,0.413,4329,0.504,4330,0.292,4331,0.292,4332,0.257,4333,0.246,4334,0.292,4335,0.257,4336,0.292,4337,0.292,4338,0.271,4339,0.292,4340,0.292,4341,0.292,4342,0.483,4343,0.573,4344,0.292,4345,0.292,4346,0.292,4347,0.292,4348,0.292,4349,0.292,4350,0.292,4351,0.271,4352,0.292,4353,0.292,4354,0.271,4355,0.238,4356,0.231,4357,0.292,4358,0.292,4359,0.431,4360,0.292,4361,0.292,4362,0.292,4363,0.292,4364,0.292,4365,0.292,4366,0.573,4367,0.292,4368,0.211,4369,0.257,4370,0.292,4371,0.292,4372,0.271,4373,0.292,4374,0.292,4375,0.292,4376,0.292,4377,0.292,4378,0.483,4379,0.292,4380,0.271,4381,0.292,4382,0.292,4383,0.292,4384,0.292,4385,0.292,4386,0.292,4387,0.504,4388,0.292,4389,0.292,4390,0.292,4391,0.292,4392,0.292,4393,0.271,4394,0.292,4395,0.292,4396,0.292,4397,0.292,4398,0.292,4399,0.292,4400,0.292,4401,0.292,4402,0.257,4403,0.292,4404,0.292,4405,0.292,4406,0.292,4407,0.257,4408,0.246,4409,0.292,4410,0.292,4411,0.292,4412,0.292,4413,0.292,4414,0.292,4415,0.422,4416,0.292,4417,0.292,4418,0.292,4419,0.292]],["component/67",[1,0.382,2,0.692,18,0.605]],["title/68",[925,56.194]],["name/68",[925,2.175]],["text/68",[1,0.383,10,0.766,13,1.51,26,0.842,38,2.352,39,0.94,49,1.495,62,0.615,71,2.189,91,1.088,95,1.119,98,1.037,106,1.33,114,1.119,116,2.147,120,0.997,126,1.723,144,1.478,153,3.453,154,1.033,158,1.421,161,1.059,167,4.788,197,2.57,218,1.889,221,1.069,222,1.556,232,1.567,234,2.724,244,1.024,260,0.912,261,0.884,290,3.885,291,0.985,315,1.62,317,1.05,326,1.033,332,1.234,368,3.136,380,2.774,395,2.357,400,1.227,426,1.478,427,2.528,498,2.071,511,0.875,514,1.831,553,0.903,571,2.542,615,3.512,635,1.16,648,1.973,668,1.178,672,1.046,696,1.242,712,1.283,715,1.681,735,0.754,761,0.985,772,1.153,776,1.421,791,7.077,794,1.32,813,2.843,841,2.843,883,1.448,884,5.03,892,1.147,909,5.745,925,6.971,928,4.704,929,3.059,938,1.373,947,2.97,951,2.095,1029,4.088,1030,1.778,1054,2.095,1058,3.959,1072,2.16,1105,1.108,1107,1.71,1130,2.029,1148,1.33,1154,4.403,1176,1.178,1210,5.995,1230,3.376,1232,4.648,1249,3.829,1260,2.457,1264,1.275,1318,1.242,1419,1.565,1606,1.655,1648,1.965,1676,1.527,1710,2.906,1730,1.655,1849,4.201,1894,5.53,1919,2.034,2022,1.63,2026,1.301,2089,3.211,2115,2.704,2285,5.184,2336,3.867,2796,1.814,3515,2.238,3816,2.034,4420,6.869,4421,5.766,4422,2.238,4423,2.414,4424,4.173,4425,2.414,4426,2.121,4427,2.414,4428,2.414,4429,2.414,4430,2.414,4431,3.136,4432,4.173,4433,8.111,4434,3.867,4435,4.173,4436,4.173,4437,8.111,4438,4.173,4439,9.196,4440,4.173,4441,4.173,4442,4.173,4443,4.173,4444,4.173,4445,6.083,4446,4.173]],["component/68",[1,0.382,2,0.692,18,0.605]],["title/69-1",[796,52.304,2002,60.293]],["name/69-1",[]],["text/69-1",[]],["component/69-1",[]],["title/69-2",[38,18.646,46,29.934]],["name/69-2",[]],["text/69-2",[]],["component/69-2",[]],["title/69-3",[427,46.245,634,42.701]],["name/69-3",[]],["text/69-3",[]],["component/69-3",[]],["title/69-4",[800,43.759,1210,39.768]],["name/69-4",[]],["text/69-4",[]],["component/69-4",[]],["title/69-5",[120,31.506,1210,39.768]],["name/69-5",[]],["text/69-5",[]],["component/69-5",[]],["title/69-6",[39,21.953,323,32.883,1210,42.971]],["name/69-6",[]],["text/69-6",[]],["component/69-6",[]],["title/69-7",[4143,75.483]],["name/69-7",[]],["text/69-7",[]],["component/69-7",[]],["title/69-8",[4447,78.148]],["name/69-8",[]],["text/69-8",[]],["component/69-8",[]],["title/69-9",[4448,75.483]],["name/69-9",[]],["text/69-9",[]],["component/69-9",[]],["title/69-10",[304,58.672]],["name/69-10",[]],["text/69-10",[]],["component/69-10",[]],["title/69-11",[62,19.457,1210,39.768]],["name/69-11",[]],["text/69-11",[]],["component/69-11",[]],["title/69-12",[1,10.292,62,16.531,1130,23.88]],["name/69-12",[]],["text/69-12",[]],["component/69-12",[]],["title/69-13",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/69-13",[]],["text/69-13",[]],["component/69-13",[]],["title/69-14",[1,10.292,62,16.531,1130,23.88]],["name/69-14",[]],["text/69-14",[]],["component/69-14",[]],["title/69-15",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/69-15",[]],["text/69-15",[]],["component/69-15",[]],["title/69",[866,34.155]],["name/69",[866,1.322]],["text/69",[1,1.206,4,1.196,7,0.934,10,2.086,13,0.523,15,1.423,16,0.557,18,0.399,23,1.028,26,0.789,33,0.542,36,0.353,37,0.976,38,2.597,39,2.96,46,1.547,48,1.36,49,1.735,53,0.497,56,0.445,62,2.144,63,0.255,68,1.104,69,0.329,70,1.291,71,2.744,74,0.603,75,0.502,78,0.762,80,0.888,82,0.565,84,0.439,87,1.376,91,0.377,93,0.858,95,0.735,98,0.972,100,0.702,101,1.042,105,0.484,109,1.981,114,0.388,116,2.698,120,2.83,122,1.183,126,0.345,131,0.517,136,1.609,141,2.995,143,1.049,149,1.238,152,0.806,153,2.056,154,0.358,161,1.507,163,0.949,165,0.655,167,3.214,169,0.411,173,1.48,176,0.868,178,0.9,194,0.754,197,0.55,207,0.507,211,0.302,216,1.44,218,0.379,221,1.002,222,2.094,223,1.975,224,0.344,229,1.709,232,1.481,233,0.62,244,1.674,245,1.101,247,1.039,251,0.428,253,2.477,257,0.568,260,3.676,261,0.306,264,0.895,283,2.599,286,0.375,287,0.322,290,2.654,291,1.801,299,0.351,304,3.317,311,0.869,315,1.713,317,0.984,318,0.565,323,2.575,324,1.152,326,0.358,327,0.454,332,0.811,336,0.573,338,0.394,345,0.365,355,0.956,370,0.633,375,0.448,377,0.943,380,0.353,400,0.806,406,1.411,408,1.396,418,0.425,421,1.029,422,1.07,427,4.154,432,1.237,462,0.542,487,0.358,495,0.77,498,0.415,502,0.442,511,1.6,512,0.408,514,0.696,517,0.472,520,0.461,522,0.529,523,0.661,532,0.535,538,0.783,539,1.32,541,0.888,542,0.926,547,1.042,549,0.91,552,1.745,553,1.651,556,1.865,562,1.498,569,0.895,571,0.732,582,1.195,615,0.448,634,3.679,648,3.593,654,1.693,655,1.415,659,1.864,679,0.445,682,1.221,690,0.422,691,0.48,695,1.071,696,0.816,702,0.754,709,2.3,712,0.445,713,0.582,715,0.582,718,0.661,722,0.633,734,1.059,735,1.861,746,0.336,749,0.622,759,1.192,761,0.341,763,0.779,766,0.425,767,1.584,772,1.081,773,0.484,776,1.332,794,2.649,796,2.703,800,0.48,804,0.476,805,0.396,808,0.488,810,0.436,813,3.642,820,0.428,822,0.542,823,0.384,830,0.705,843,2.488,846,0.394,852,0.384,854,1.825,865,0.422,866,1.931,883,0.502,890,1.934,898,1.914,910,0.592,911,0.573,915,0.468,916,0.926,922,0.549,923,0.843,924,0.943,925,4.154,928,1.065,929,2.689,931,0.439,934,0.451,937,0.557,942,0.565,943,0.582,947,1.55,948,0.517,950,0.523,951,1.136,953,0.418,954,0.507,956,0.779,957,0.806,959,1.071,992,1.825,1001,0.468,1022,0.523,1027,0.445,1029,1.527,1030,1.88,1038,0.934,1047,0.735,1054,0.42,1056,1.415,1057,1.596,1058,0.774,1061,0.934,1063,0.454,1064,1.779,1065,1.105,1084,1.551,1088,1.211,1091,1.842,1093,3.188,1100,0.735,1105,1.039,1111,0.488,1130,0.584,1141,0.661,1176,0.774,1180,0.895,1183,0.535,1202,0.603,1210,6.778,1212,0.565,1230,0.43,1233,1.056,1241,0.448,1252,0.549,1255,0.874,1258,0.557,1264,0.838,1265,0.603,1290,0.573,1296,0.582,1297,0.535,1299,0.542,1300,0.661,1301,0.507,1305,2.663,1310,0.592,1318,0.43,1321,0.981,1337,1.124,1343,0.517,1350,0.557,1352,1.004,1370,0.888,1372,0.705,1387,0.603,1388,0.603,1396,0.592,1399,0.661,1400,0.468,1429,2.229,1443,0.542,1446,0.542,1455,0.415,1462,0.507,1464,0.523,1488,0.861,1497,0.549,1506,0.705,1531,0.832,1539,0.735,1557,1.124,1560,0.615,1561,0.629,1570,0.661,1583,0.565,1591,0.705,1592,0.644,1593,1.337,1597,0.472,1644,0.629,1645,0.644,1655,0.512,1676,0.529,1677,0.523,1717,0.661,1730,0.573,1770,0.603,1787,1.221,1835,0.549,1849,0.535,1871,0.615,1910,0.943,1927,1.32,1963,0.573,1970,0.523,1977,0.992,2002,3.116,2023,0.629,2024,1.056,2026,1.851,2037,0.529,2045,0.661,2046,0.573,2052,0.629,2089,0.644,2100,0.917,2102,0.582,2103,1.551,2134,1.004,2161,0.615,2174,0.603,2251,0.629,2307,0.735,2350,0.629,2361,1.665,2396,0.535,2400,0.484,2403,0.629,2428,0.615,2521,0.705,2567,1.394,2597,1.337,2617,0.661,2671,0.603,2781,0.705,2841,0.573,2844,0.735,2991,0.592,3042,0.629,3086,1.842,3449,5.234,3652,0.775,4123,3.466,4143,2.795,4421,1.394,4422,3.183,4434,2.097,4445,0.775,4447,2.423,4448,2.795,4449,0.775,4450,0.836,4451,0.775,4452,0.836,4453,0.735,4454,0.775,4455,0.775,4456,0.775,4457,0.836,4458,1.47,4459,0.836,4460,1.586,4461,0.836,4462,0.775,4463,0.836,4464,0.836,4465,1.586,4466,0.836,4467,0.836,4468,0.836,4469,0.836,4470,2.665,4471,1.586,4472,1.586,4473,0.836,4474,0.836,4475,0.836,4476,0.705,4477,1.47,4478,1.47,4479,0.775,4480,1.47,4481,1.47,4482,0.775,4483,0.661,4484,0.775,4485,0.775,4486,0.775,4487,0.705,4488,1.47,4489,0.775,4490,0.775,4491,0.775,4492,0.775,4493,0.775,4494,0.775,4495,0.681,4496,0.615,4497,0.705,4498,0.836,4499,3.183,4500,0.836,4501,2.097,4502,1.586,4503,0.836,4504,0.836,4505,1.586,4506,0.661,4507,0.836,4508,0.836,4509,0.836,4510,0.836,4511,0.836,4512,0.836,4513,0.775,4514,0.775,4515,0.836,4516,0.775,4517,0.836]],["component/69",[1,0.382,2,0.692,18,0.605]],["title/70",[1210,48.324]],["name/70",[3,1.542]],["text/70",[1,2.028,2,3.67,10,3.236,18,1.92,29,3.095,67,5.065,71,3.101,84,4.007,120,3.154,203,4.587,206,6.456,224,3.142,313,3.191,316,3.814,326,3.269,487,3.269,512,3.729,555,3.508,746,3.072,750,3.729,800,4.381,852,3.508,866,3.758,903,5.879,925,6.183,929,4.241,956,3.75,1012,4.498,1015,4.677,1030,3.255,1180,4.309,1210,6.658,1397,4.344,1400,4.275,1511,5.411]],["component/70",[1,0.382,2,0.692,18,0.605]],["title/71-1",[120,31.506,1210,39.768]],["name/71-1",[]],["text/71-1",[]],["component/71-1",[]],["title/71-2",[1,10.292,62,16.531,1130,23.88]],["name/71-2",[]],["text/71-2",[]],["component/71-2",[]],["title/71-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/71-3",[]],["text/71-3",[]],["component/71-3",[]],["title/71-4",[39,21.953,323,32.883,1210,42.971]],["name/71-4",[]],["text/71-4",[]],["component/71-4",[]],["title/71-5",[4143,75.483]],["name/71-5",[]],["text/71-5",[]],["component/71-5",[]],["title/71-6",[4447,78.148]],["name/71-6",[]],["text/71-6",[]],["component/71-6",[]],["title/71-7",[4448,75.483]],["name/71-7",[]],["text/71-7",[]],["component/71-7",[]],["title/71-8",[304,58.672]],["name/71-8",[]],["text/71-8",[]],["component/71-8",[]],["title/71",[800,53.173]],["name/71",[800,2.059]],["text/71",[1,1.349,4,1.268,10,2.567,13,1.058,15,1.724,16,1.126,18,0.766,23,1.976,26,0.59,36,0.715,37,1.315,38,1.599,39,3.889,46,1.632,48,2.406,49,2.104,53,1.005,56,0.899,58,0.724,62,2.064,68,2.03,70,1.718,71,3.068,74,1.221,78,0.813,79,1.058,82,1.142,84,0.887,87,2.038,91,0.763,93,1.156,95,0.784,98,1.31,101,1.111,109,3.287,116,4.372,120,2.703,122,2.092,136,2.327,141,3.712,143,0.784,152,1.481,161,0.742,163,0.709,167,3.433,169,0.83,173,2.14,178,0.673,197,1.057,207,1.847,211,0.612,216,1.744,221,0.749,222,1.898,223,1.148,229,1.321,232,1.91,233,1.191,244,1.765,245,0.648,247,1.4,253,1.916,260,4.296,261,1.116,264,0.954,283,3.069,286,0.759,287,1.175,290,2.37,299,0.709,304,5.121,311,0.65,315,2.28,317,0.736,318,1.142,323,2.427,324,1.667,326,0.724,336,0.612,338,0.796,370,0.676,377,1.811,406,2.042,408,1.691,418,0.86,421,0.77,422,0.8,432,0.925,487,0.724,488,0.865,494,1.178,495,2.019,511,0.614,522,1.071,523,1.337,532,1.083,539,0.777,542,0.987,547,1.111,552,1.549,553,1.557,556,1.967,569,0.954,571,0.781,582,2.196,648,0.8,654,0.996,679,0.899,682,1.302,690,0.855,696,1.568,702,0.804,709,2.084,718,1.337,722,1.217,734,1.947,735,0.529,746,0.68,749,1.196,759,2.291,761,0.691,766,0.86,767,2.709,796,2.089,800,0.97,804,0.962,805,0.8,810,0.882,823,0.777,843,1.208,854,3.122,865,0.855,866,2.626,890,1.661,910,1.198,911,1.16,916,0.987,925,3.967,928,1.434,948,1.047,950,1.058,951,0.85,956,0.83,957,1.549,959,2.058,992,2.704,1022,1.058,1025,0.746,1027,0.899,1029,1.355,1030,1.299,1038,0.699,1047,1.487,1057,0.939,1061,0.699,1064,2.574,1065,1.178,1084,1.16,1088,0.906,1091,1.377,1093,4.548,1105,0.777,1113,1.047,1130,0.623,1210,6.503,1212,1.142,1264,0.893,1290,1.16,1300,1.337,1301,1.025,1305,4.42,1337,2.159,1396,1.198,1399,1.337,1462,1.025,1488,0.919,1506,1.426,1557,2.159,1561,1.272,1730,1.16,1787,2.346,1835,1.111,1871,1.245,1910,1.811,1977,1.058,2002,2.408,2006,1.221,2023,1.272,2024,2.029,2026,1.643,2045,1.337,2102,1.178,2103,1.16,2134,1.929,2251,1.272,2350,1.272,2361,3.06,2521,1.426,2567,2.678,2576,3.915,2597,2.569,2612,2.481,2844,1.487,2991,1.198,3086,1.377,3449,7.466,4123,5.752,4143,5.804,4447,3.505,4448,5.329,4470,3.856,4476,1.426,4477,2.825,4478,2.825,4479,1.568,4480,2.825,4481,1.568,4482,1.568,4483,1.337,4484,1.568,4485,1.568,4486,1.568,4487,1.426,4488,2.825,4489,2.825,4490,1.568,4491,1.568,4492,1.568,4493,1.568,4494,1.568,4495,1.377,4496,1.245,4497,1.426,4499,1.568,4501,1.568,4506,1.337,4513,1.568,4514,2.825,4516,1.568,4518,1.692,4519,1.692,4520,1.692,4521,1.692,4522,1.692]],["component/71",[1,0.382,2,0.692,18,0.605]],["title/72-1",[234,20.305,500,32.951,997,34.008]],["name/72-1",[]],["text/72-1",[]],["component/72-1",[]],["title/72-2",[500,38.785,678,42.048]],["name/72-2",[]],["text/72-2",[]],["component/72-2",[]],["title/72-3",[139,53.145,555,35.04]],["name/72-3",[]],["text/72-3",[]],["component/72-3",[]],["title/72-4",[139,45.151,338,30.507,500,32.951]],["name/72-4",[]],["text/72-4",[]],["component/72-4",[]],["title/72-5",[139,53.145,538,37.669]],["name/72-5",[]],["text/72-5",[]],["component/72-5",[]],["title/72-6",[234,20.305,538,32.003,892,30.819]],["name/72-6",[]],["text/72-6",[]],["component/72-6",[]],["title/72-7",[38,15.841,538,32.003,772,30.979]],["name/72-7",[]],["text/72-7",[]],["component/72-7",[]],["title/72-8",[538,32.003,556,30.662,1139,25.431]],["name/72-8",[]],["text/72-8",[]],["component/72-8",[]],["title/72-9",[538,37.669,786,41.136]],["name/72-9",[]],["text/72-9",[]],["component/72-9",[]],["title/72",[38,15.841,167,22.294,234,20.305]],["name/72",[38,0.517,234,0.663]],["text/72",[0,0.395,1,0.462,2,0.462,4,0.24,10,2.453,11,0.402,15,0.859,18,0.279,33,0.374,36,0.244,37,0.479,38,2.867,39,1.283,46,1.691,49,0.398,52,0.331,57,1.669,58,0.247,62,0.84,63,1.997,68,0.281,69,0.437,71,2.597,78,0.773,83,1.928,87,1.004,91,0.26,95,0.961,96,0.259,97,0.339,98,0.248,109,0.558,114,0.267,115,1.103,122,0.457,124,0.52,126,0.459,131,0.995,138,0.361,139,5.172,141,0.486,143,1.35,148,0.295,149,0.401,152,0.893,153,0.518,154,0.247,166,0.263,167,3.048,169,0.79,174,0.357,176,0.315,177,0.311,178,0.997,194,0.274,195,0.361,197,0.558,205,0.339,210,0.402,215,1.08,216,0.466,221,1.11,222,1.608,223,1.241,229,1.867,232,1.839,234,3.135,244,0.472,245,1.528,247,0.265,253,0.781,257,1.309,260,0.783,261,0.589,276,0.307,281,1.189,283,0.61,286,0.499,287,0.62,290,1.33,291,0.454,299,0.242,301,0.325,310,0.318,311,0.963,313,0.866,315,1.279,316,0.288,317,0.484,318,1.086,323,0.939,324,1.004,326,1.072,329,0.833,332,0.295,336,0.749,337,0.874,338,2.981,341,0.369,344,0.323,345,2.676,355,0.244,373,0.369,374,1.03,377,0.343,379,0.263,380,1.231,400,0.565,406,1.23,408,0.452,414,1.271,420,0.307,421,0.506,422,0.526,426,0.353,427,0.349,439,0.389,487,0.887,491,0.302,495,0.54,498,0.286,500,5.16,503,0.379,511,1.056,512,0.281,513,0.29,514,0.488,522,0.703,530,0.349,538,4.209,539,1.677,540,0.349,541,0.622,546,0.456,547,0.379,548,1.815,553,0.216,555,5.035,556,3.271,562,5.291,563,0.246,568,0.99,569,0.325,571,0.513,582,1.739,589,1.315,622,0.333,634,0.622,648,1.185,668,1.422,670,0.353,678,0.318,681,0.595,691,0.637,692,0.369,696,1.29,708,0.939,709,2.006,712,0.307,722,0.642,730,0.513,734,0.27,735,1.695,741,3.604,742,0.813,745,0.361,757,0.361,766,0.293,767,1.52,772,0.769,773,0.643,774,0.295,776,0.654,783,0.198,786,4.659,794,0.315,800,0.637,801,1.958,805,0.98,810,0.579,813,3.694,815,0.937,819,0.424,820,1.06,821,0.307,822,0.374,823,0.265,826,0.379,846,0.975,852,0.51,866,1.073,869,0.374,883,0.965,890,1.458,892,2.911,896,0.424,899,0.389,904,0.608,915,1.16,916,0.336,918,0.543,919,0.661,922,0.73,923,0.591,927,0.374,928,0.523,943,0.774,948,0.357,951,1.259,957,0.293,966,0.331,972,1.22,997,1.087,998,0.251,1016,0.72,1018,0.632,1021,0.361,1025,0.49,1027,1.332,1029,1.114,1030,1.701,1038,1.779,1054,0.29,1058,1.224,1061,2.928,1063,0.313,1072,0.575,1075,1.006,1076,1.189,1085,0.977,1105,0.265,1111,0.336,1130,0.593,1134,0.315,1135,0.68,1137,3.368,1139,3.741,1143,0.835,1147,0.433,1150,0.365,1152,3.709,1154,0.603,1167,0.278,1175,0.357,1176,0.785,1180,0.325,1183,0.369,1186,1.283,1189,0.389,1197,0.74,1200,0.534,1205,0.486,1208,0.608,1212,0.389,1220,0.29,1230,1.067,1232,0.408,1233,0.74,1235,2.214,1240,3.754,1241,0.595,1252,2.399,1255,0.612,1257,1.468,1258,0.384,1259,0.617,1260,0.654,1261,0.402,1264,1.095,1267,1.271,1268,1.209,1278,0.507,1285,0.828,1288,0.433,1290,0.395,1295,0.88,1296,0.402,1297,1.03,1301,0.349,1305,0.75,1309,0.353,1314,0.534,1315,1.414,1318,2.053,1319,0.325,1322,1.525,1324,4.428,1342,0.379,1357,0.674,1363,0.977,1364,0.486,1370,0.323,1388,0.416,1394,0.937,1406,0.369,1409,1.381,1429,1.266,1430,0.595,1437,0.336,1451,0.379,1454,0.346,1457,0.357,1472,1.161,1473,0.802,1475,0.379,1488,0.313,1491,7.203,1492,0.374,1509,0.389,1510,0.878,1512,0.75,1569,0.878,1589,0.818,1613,0.369,1651,2.101,1670,0.703,1684,0.365,1692,0.315,1725,0.408,1875,0.424,1878,0.937,1882,2.376,1888,0.379,1910,0.343,1927,0.939,1930,0.534,1933,0.486,1939,0.703,1955,0.977,1960,0.507,1963,4.613,1977,0.695,1980,0.456,2005,0.469,2017,0.507,2026,0.311,2080,0.408,2089,0.444,2092,1.31,2096,0.408,2103,3.542,2115,0.374,2132,0.507,2169,0.395,2192,0.424,2272,1.31,2274,3.001,2306,0.787,2332,0.346,2339,0.937,2344,0.444,2394,0.534,2399,0.469,2403,0.835,2426,0.818,2428,0.424,2527,0.923,2535,0.416,2566,0.534,2607,1.184,2621,0.762,2629,0.855,2655,0.343,2667,0.905,2716,0.878,2719,0.937,2757,2.333,2758,0.534,2828,0.507,2841,0.395,2884,0.534,2987,0.408,3391,1.356,3431,0.534,3478,0.534,3479,9.2,3566,1.491,3600,0.486,3639,0.534,3675,0.469,3805,0.456,3816,0.486,4049,0.534,4320,1.03,4426,0.507,4523,0.577,4524,0.577,4525,0.577,4526,0.577,4527,0.534,4528,0.835,4529,0.444,4530,0.577,4531,0.577,4532,1.112,4533,0.577,4534,1.491,4535,0.577,4536,0.577,4537,1.112,4538,1.491,4539,0.577,4540,0.577,4541,1.609,4542,0.577,4543,0.577,4544,0.577,4545,0.577,4546,0.577,4547,0.577,4548,1.112,4549,0.433,4550,0.469,4551,0.577,4552,0.577,4553,0.577,4554,0.577,4555,0.577,4556,0.577,4557,0.577,4558,0.577,4559,0.577,4560,0.577,4561,0.577,4562,1.112,4563,0.577,4564,0.577,4565,0.577,4566,0.577,4567,0.577,4568,0.577,4569,0.577,4570,1.112,4571,0.577,4572,0.577,4573,0.577,4574,0.577,4575,0.577,4576,0.577,4577,1.03,4578,0.577,4579,1.112,4580,0.486,4581,0.577,4582,0.534,4583,0.577,4584,0.577,4585,0.577,4586,0.577,4587,0.577,4588,0.577,4589,0.577,4590,0.577,4591,0.577,4592,0.577,4593,0.577,4594,0.577,4595,0.577,4596,0.577,4597,0.577,4598,0.577,4599,0.577,4600,0.577,4601,0.534,4602,0.577,4603,0.577,4604,0.577,4605,0.534,4606,0.534,4607,0.534,4608,0.577,4609,0.577,4610,0.577,4611,1.609,4612,0.577,4613,0.507,4614,0.507,4615,0.577,4616,0.507,4617,0.577,4618,0.577,4619,0.577,4620,0.577,4621,0.577,4622,0.577,4623,0.577,4624,1.609,4625,1.609,4626,1.609,4627,0.577,4628,0.577,4629,0.577,4630,0.577,4631,0.577,4632,0.577,4633,0.577,4634,0.577,4635,0.577,4636,0.577,4637,0.577,4638,0.577,4639,0.577,4640,0.577,4641,0.577,4642,0.577,4643,0.577,4644,0.486,4645,0.577,4646,0.577,4647,0.577,4648,0.486,4649,0.577,4650,0.577,4651,0.577,4652,0.577,4653,0.577,4654,0.577,4655,0.577,4656,0.577,4657,0.577,4658,0.577,4659,0.577,4660,0.577,4661,0.577,4662,0.577,4663,0.577,4664,0.577,4665,0.577,4666,0.577,4667,0.577,4668,0.577,4669,0.577,4670,0.577,4671,0.577]],["component/72",[1,0.382,2,0.692,18,0.605]],["title/73",[500,47.129]],["name/73",[3,1.542]],["text/73",[1,2.037,2,3.54,10,3.909,18,1.945,29,3.135,38,1.89,70,2.264,84,6.464,124,3.622,167,2.66,203,4.617,206,6.511,234,2.423,313,3.232,316,5.138,400,3.932,487,3.31,500,6.705,512,3.777,555,3.553,750,3.777,903,5.954,1012,4.555,1015,4.737,1210,6.025,1220,3.886,1397,4.4,1910,4.598,4672,10.291]],["component/73",[1,0.382,2,0.692,18,0.605]],["title/74",[1210,48.324]],["name/74",[421,0.963,1210,1.103]],["text/74",[1,0.35,10,2.22,15,0.913,38,2.684,46,2.417,49,1.381,63,0.673,69,0.867,71,3.019,87,4.482,91,0.993,95,1.786,98,1.656,120,0.91,126,1.591,131,1.363,139,4.291,143,1.021,149,0.794,152,0.785,154,2.995,167,1.325,169,1.081,174,1.363,178,0.876,197,1.781,203,0.88,211,1.393,221,0.975,229,1.669,232,2.313,234,3.56,257,0.789,260,1.941,261,0.806,264,1.243,290,0.889,311,1.481,313,0.92,316,1.1,324,0.883,329,2.659,336,0.796,338,1.813,345,0.963,370,0.88,373,1.411,377,2.29,380,1.629,404,1.141,423,1.188,427,4.242,500,5.685,511,1.397,513,1.106,514,0.967,553,1.442,555,2.829,556,2.429,562,1.148,563,0.939,568,1.053,582,2.712,626,3.638,634,5.166,648,1.042,691,1.263,696,3.17,709,3.603,712,1.171,716,2.21,722,1.539,740,2.139,741,1.148,746,0.886,755,1.253,766,1.12,767,1.016,774,3.579,776,1.297,791,1.695,792,1.335,801,1.309,805,1.042,810,1.148,813,3.032,820,2.626,822,1.428,832,1.394,841,0.954,866,0.811,873,1.51,880,1.621,886,1.621,890,2.051,892,1.047,897,2.73,910,1.561,918,1.075,927,2.498,944,3.329,953,1.1,957,1.12,966,1.263,1024,3.945,1025,1.698,1027,4.406,1029,1.713,1030,0.939,1038,2.12,1045,1.561,1061,3.422,1069,1.411,1072,1.141,1105,1.769,1139,0.864,1146,1.589,1152,5.087,1164,1.411,1174,1.621,1176,2.507,1202,1.589,1208,1.205,1210,5.725,1220,1.106,1264,2.712,1282,4.513,1295,1.205,1307,1.793,1318,3.601,1324,1.087,1366,1.534,1429,1.113,1451,2.53,1491,8.876,1497,2.53,1538,1.656,1591,1.857,1593,1.857,1670,1.394,1689,1.466,1692,1.205,1850,6.157,1876,4.181,1882,5.049,1963,1.51,1970,1.378,2026,1.188,2076,1.695,2080,1.561,2098,4.445,2269,1.936,2274,1.534,2285,1.741,2314,2.042,2318,1.936,2333,1.857,2655,1.309,2781,1.857,2841,4.223,3153,1.51,3675,1.793,3825,1.936,4431,1.656,4534,2.042,4582,3.572,4673,2.203,4674,2.203,4675,2.203,4676,2.203,4677,2.203,4678,2.203,4679,5.136,4680,2.203,4681,2.203,4682,2.203,4683,2.203,4684,3.854,4685,3.854,4686,6.162,4687,2.042,4688,2.042,4689,2.203,4690,2.203,4691,2.203,4692,2.203]],["component/74",[1,0.382,2,0.692,18,0.605]],["title/75-1",[234,17.65,735,17.605,1558,38.05,2010,34.152]],["name/75-1",[]],["text/75-1",[]],["component/75-1",[]],["title/75-2",[1,10.292,62,16.531,1130,23.88]],["name/75-2",[]],["text/75-2",[]],["component/75-2",[]],["title/75-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/75-3",[]],["text/75-3",[]],["component/75-3",[]],["title/75",[211,27.589,234,23.9]],["name/75",[211,0.765,234,0.663]],["text/75",[1,1.319,10,2.636,46,2.235,62,2.75,63,1.741,70,2.432,71,2.649,80,3.188,98,3.571,117,3.419,126,2.352,141,3.632,167,3.709,173,2.932,211,2.06,229,2.468,234,3.872,253,2.146,257,2.041,272,2.914,283,2.16,290,2.3,329,2.95,416,4.502,423,3.071,488,2.914,511,2.066,553,2.132,555,2.616,572,3.453,709,2.334,735,3.583,748,4.014,778,3.968,805,2.695,813,4.251,820,2.914,852,2.616,866,2.099,876,3.605,883,3.419,884,3.295,918,2.781,1029,2.533,1030,4.181,1038,4.051,1061,2.352,1088,3.05,1135,3.488,1357,3.453,1362,4.94,1388,4.11,1413,3.792,1558,5.612,1970,3.564,2010,5.946,2015,5.612,2016,9.998,2134,3.605,2612,6.766,2907,4.385,4693,5.698,4694,7.705,4695,5.698,4696,5.698,4697,5.698,4698,5.698,4699,5.698,4700,8.313]],["component/75",[1,0.382,2,0.692,18,0.605]],["title/76-1",[812,35.658,962,35.254,2072,28.471,4701,41.463]],["name/76-1",[]],["text/76-1",[]],["component/76-1",[]],["title/76-2",[1,7.912,2,14.317,117,29.905,408,20.268,2072,25.179]],["name/76-2",[]],["text/76-2",[]],["component/76-2",[]],["title/76-3",[38,18.646,4702,64.312]],["name/76-3",[]],["text/76-3",[]],["component/76-3",[]],["title/76-4",[1,10.292,62,16.531,1130,23.88]],["name/76-4",[]],["text/76-4",[]],["component/76-4",[]],["title/76-5",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/76-5",[]],["text/76-5",[]],["component/76-5",[]],["title/76",[38,18.646,211,27.589]],["name/76",[38,0.517,211,0.765]],["text/76",[1,1.641,2,1.287,10,2.201,26,0.915,34,1.935,38,3.162,45,1.574,46,3.557,49,0.94,56,1.395,62,2.312,70,2.484,71,2.103,74,1.892,117,1.574,126,1.85,141,1.146,152,1.596,161,1.966,164,1.414,165,1.083,167,4.16,169,1.288,178,1.044,204,4.722,211,1.62,215,1.367,218,1.188,219,1.492,223,1.688,229,1.941,233,1.752,245,1.005,247,2.058,251,1.341,253,0.988,257,1.605,260,3.907,261,0.96,268,1.141,281,2.394,283,0.995,287,2.675,291,1.071,311,1.008,315,1.74,317,1.95,318,1.771,324,1.051,326,1.122,336,2.121,355,1.109,395,1.917,400,1.333,408,1.822,415,1.358,420,1.395,462,1.7,501,1.623,514,1.151,518,1.68,520,1.445,522,2.835,531,1.771,543,1.771,544,2.135,552,1.333,555,2.058,560,1.341,563,1.118,568,1.253,582,2.366,659,1.7,665,2.663,668,1.281,672,2.541,678,1.445,696,1.35,722,1.789,723,1.358,735,1.832,758,1.424,794,2.451,813,1.941,824,1.746,832,1.66,841,1.136,843,3.789,852,1.204,856,1.574,866,0.966,890,2.342,899,1.771,908,2.019,915,1.468,919,1.559,931,4.757,951,1.317,962,1.641,986,1.972,998,1.141,1015,1.606,1025,1.156,1029,1.166,1036,2.211,1038,2.422,1049,1.798,1054,1.317,1056,1.641,1079,1.358,1088,1.404,1130,2.555,1150,1.66,1230,1.35,1264,1.385,1304,3.208,1309,2.743,1311,1.623,1337,1.858,1340,2.305,1409,2.469,1452,2.803,1454,1.574,1473,1.892,1484,1.972,1492,1.7,1531,1.376,1558,1.771,1583,1.771,1607,2.019,1613,1.68,1615,2.803,1644,1.972,1673,2.135,1677,1.641,1892,3.071,1893,4.154,1927,1.531,2006,1.892,2026,1.414,2072,4.582,2101,5.341,2102,1.827,2169,1.798,2224,2.432,2225,2.305,2229,3.54,2306,1.858,2332,2.689,2452,1.7,2773,3.297,2804,2.305,2828,2.305,2955,4.775,3017,2.135,3227,2.073,3318,3.776,3549,5.339,4701,1.93,4702,8.408,4703,2.624,4704,2.624,4705,2.624,4706,2.624,4707,2.432,4708,2.624,4709,2.432,4710,2.624,4711,2.624,4712,2.624,4713,2.624,4714,2.305,4715,2.624,4716,4.482,4717,2.624,4718,2.624,4719,2.624,4720,2.135]],["component/76",[1,0.382,2,0.692,18,0.605]],["title/77-1",[1417,49.986]],["name/77-1",[]],["text/77-1",[]],["component/77-1",[]],["title/77-2",[197,26.467,1417,41.136]],["name/77-2",[]],["text/77-2",[]],["component/77-2",[]],["title/77-3",[1,10.292,62,16.531,1130,23.88]],["name/77-3",[]],["text/77-3",[]],["component/77-3",[]],["title/77-4",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/77-4",[]],["text/77-4",[]],["component/77-4",[]],["title/77-5",[38,15.841,39,25.255,1417,34.949]],["name/77-5",[]],["text/77-5",[]],["component/77-5",[]],["title/77-6",[38,15.841,1319,36.568,1417,34.949]],["name/77-6",[]],["text/77-6",[]],["component/77-6",[]],["title/77-7",[1,10.292,62,16.531,1130,23.88]],["name/77-7",[]],["text/77-7",[]],["component/77-7",[]],["title/77-8",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/77-8",[]],["text/77-8",[]],["component/77-8",[]],["title/77-9",[38,12.178,69,19.619,406,24.464,1139,19.55,1417,26.866]],["name/77-9",[]],["text/77-9",[]],["component/77-9",[]],["title/77-10",[304,58.672]],["name/77-10",[]],["text/77-10",[]],["component/77-10",[]],["title/77-11",[1,10.292,62,16.531,1130,23.88]],["name/77-11",[]],["text/77-11",[]],["component/77-11",[]],["title/77-12",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/77-12",[]],["text/77-12",[]],["component/77-12",[]],["title/77",[38,18.646,1417,41.136]],["name/77",[38,0.517,1417,1.141]],["text/77",[1,0.932,2,0.235,4,0.923,7,0.482,9,0.268,10,2.308,15,0.644,26,1.176,33,0.53,35,0.491,37,0.67,38,3.026,39,3.497,41,0.438,46,1.107,47,0.501,49,1.85,57,1.29,58,1.443,62,2.326,68,0.399,69,1.708,70,0.826,71,2.423,75,0.932,78,2.085,79,0.512,80,1.579,82,0.552,83,0.612,84,0.429,87,2.712,93,0.589,94,0.349,95,0.72,96,0.367,98,0.953,102,1.858,105,0.473,106,0.451,107,0.359,120,0.338,122,0.912,126,0.641,135,1.101,136,0.458,140,0.863,141,1.474,143,1.028,149,0.295,152,1.546,153,0.724,154,0.949,158,0.482,161,0.359,165,0.641,167,4.043,175,0.482,179,0.561,180,1.283,182,0.545,197,2.25,200,0.465,211,1.867,215,0.426,218,1.755,219,0.883,221,0.362,222,2.063,223,1.46,224,0.639,229,1.88,232,2.324,234,1.939,244,0.941,245,0.595,247,1.296,249,0.486,250,0.379,253,0.585,254,0.512,257,1.208,260,2.09,261,0.299,264,0.461,274,1.179,276,1.179,281,0.905,283,2.097,286,0.995,287,0.599,290,1.361,291,1.152,299,0.651,304,5.146,311,1.084,313,0.649,315,1.505,316,0.776,317,0.356,318,0.552,323,1.294,334,0.85,336,1.867,337,0.444,338,0.731,355,0.657,368,0.615,375,0.438,379,0.374,380,0.657,381,0.473,403,1.571,406,1.089,408,0.632,415,0.424,418,0.416,420,0.435,421,0.372,422,0.735,426,0.501,430,0.545,432,1.213,488,0.794,495,0.754,496,1.02,502,1.171,504,0.666,511,1.223,512,0.399,513,0.78,514,0.359,517,0.461,522,0.983,530,0.496,541,0.869,547,1.457,549,0.469,550,1.083,553,0.306,555,0.713,556,2.442,562,1.156,563,0.349,569,0.461,571,0.377,582,2.047,584,2.535,635,0.393,638,0.426,648,2.616,665,0.486,666,0.602,668,0.758,672,2.066,677,0.429,679,0.826,680,0.972,695,0.552,697,0.552,702,0.389,704,0.561,708,0.477,709,1.382,713,0.57,714,0.496,721,0.268,734,0.727,735,1.054,736,1.806,742,0.785,745,0.972,746,0.625,749,0.321,758,0.444,763,0.402,765,0.615,766,0.416,767,1.302,789,0.932,790,0.418,792,0.941,794,0.85,801,0.486,805,1.595,812,0.518,813,1.68,818,0.409,820,0.418,823,0.376,829,0.391,839,0.869,852,1.019,854,0.435,866,2.037,872,0.491,890,0.62,892,0.389,904,0.85,911,0.561,915,0.458,916,1.646,919,0.486,928,0.385,929,0.454,931,0.429,934,2.34,938,0.883,940,0.57,942,0.552,951,0.78,953,0.409,956,1.089,957,3.146,959,0.552,972,0.482,1025,1.244,1029,2.611,1030,2.2,1035,0.454,1038,1.601,1046,0.552,1054,0.411,1056,0.972,1057,1.232,1058,1.083,1061,0.338,1069,0.524,1072,0.424,1075,0.512,1088,2.96,1093,1.805,1105,0.713,1111,1.294,1113,1.746,1130,0.572,1136,0.602,1137,1.179,1139,4.63,1141,1.228,1166,0.57,1167,0.395,1176,0.399,1180,0.461,1181,0.615,1183,0.524,1202,1.6,1214,0.501,1220,0.411,1241,2.552,1255,0.451,1257,1.101,1259,0.454,1260,1.306,1261,0.57,1262,0.615,1264,1.49,1285,0.421,1290,0.561,1291,2.482,1301,0.496,1302,0.512,1304,1.543,1305,1.498,1311,0.506,1312,0.561,1318,0.421,1319,1.902,1321,0.506,1324,0.404,1342,0.537,1343,0.961,1352,0.518,1358,1.265,1366,0.57,1370,0.458,1387,0.59,1400,1.241,1409,0.856,1416,0.416,1417,6.458,1430,0.438,1436,0.602,1437,0.477,1452,0.391,1454,0.932,1456,0.57,1493,0.666,1512,0.552,1557,1.101,1570,0.646,1574,0.518,1597,0.461,1610,0.602,1613,0.524,1645,1.196,1649,3.429,1675,0.69,1677,0.972,1682,0.758,1692,0.447,1716,0.53,1726,0.995,1731,0.57,1838,0.69,1871,0.602,1910,0.923,1914,0.552,1922,1.42,1923,0.602,1927,0.477,1939,1.785,1967,0.561,1979,0.63,2005,1.806,2006,1.121,2023,0.615,2031,1.949,2036,0.719,2037,0.983,2042,3.407,2054,0.719,2082,1.143,2096,1.101,2115,1.007,2134,0.518,2156,1.667,2197,0.719,2198,0.719,2251,0.615,2276,0.58,2339,0.69,2359,0.561,2396,1.42,2416,0.615,2492,1.44,2617,1.228,2619,0.69,2657,0.69,2662,1.365,2666,0.666,2674,0.69,2736,0.719,2737,1.168,2742,1.365,2845,0.719,2970,0.758,2986,0.602,2988,0.512,2997,1.309,3083,5.468,3093,2.389,3153,0.561,3395,0.758,3420,1.44,3448,0.69,3593,4.537,3701,2.745,3781,2.48,3805,0.646,4291,2.056,4351,0.758,4355,1.806,4420,0.758,4431,0.615,4462,0.758,4483,0.646,4495,0.666,4528,0.615,4550,0.666,4714,0.719,4721,0.818,4722,0.818,4723,0.818,4724,2.822,4725,0.818,4726,0.818,4727,0.818,4728,2.389,4729,2.219,4730,0.818,4731,1.554,4732,2.219,4733,3.877,4734,0.818,4735,0.818,4736,0.818,4737,0.818,4738,0.818,4739,0.818,4740,0.818,4741,1.554,4742,0.818,4743,2.056,4744,0.818,4745,0.818,4746,1.554,4747,0.818,4748,0.818,4749,0.818,4750,0.818,4751,0.719,4752,0.666,4753,0.818,4754,0.818,4755,0.758,4756,0.818,4757,0.818,4758,0.818,4759,0.818,4760,1.44,4761,2.219,4762,0.818,4763,2.219,4764,0.818,4765,0.758,4766,0.818,4767,0.818,4768,0.818,4769,0.818,4770,0.818,4771,0.818,4772,0.818,4773,0.818,4774,0.818,4775,0.818,4776,0.818,4777,0.818,4778,2.219,4779,0.818,4780,2.822,4781,2.056,4782,0.818,4783,0.818,4784,0.818,4785,0.758,4786,1.265,4787,0.646,4788,1.228,4789,0.818,4790,0.63,4791,1.309,4792,0.818,4793,0.615,4794,0.818,4795,0.818,4796,0.818,4797,0.818,4798,1.554]],["component/77",[1,0.382,2,0.692,18,0.605]],["title/78",[117,55.64]],["name/78",[3,1.542]],["text/78",[1,2.083,2,3.594,10,3.826,38,2.948,40,4.683,63,1.983,70,2.671,71,1.752,84,6.563,116,4.696,117,7.711,122,2.67,124,3.04,197,2.252,203,3.644,206,4.108,211,4.361,234,3.305,247,2.981,313,2.712,316,3.241,380,2.744,487,2.778,512,3.169,555,2.981,750,3.169,865,3.28,957,3.3,1012,3.822,1063,4.955,1139,2.547,1397,3.692,1398,4.599,1413,6.075,1417,5.689,1613,4.157,1784,4.45,2072,3.28,2555,4.599,2984,4.776]],["component/78",[1,0.382,2,0.692,18,0.605]],["title/79-1",[539,35.04,923,40.568]],["name/79-1",[]],["text/79-1",[]],["component/79-1",[]],["title/79-2",[1076,37.177,1455,32.185,1456,45.151]],["name/79-2",[]],["text/79-2",[]],["component/79-2",[]],["title/79-3",[283,15.348,310,22.304,648,19.144,1403,34.114,1418,35.571,1419,26.239,1420,30.426]],["name/79-3",[]],["text/79-3",[]],["component/79-3",[]],["title/79-4",[287,24.997,1420,48.733,4487,54.639]],["name/79-4",[]],["text/79-4",[]],["component/79-4",[]],["title/79-5",[310,35.723,683,36.278,1420,48.733]],["name/79-5",[]],["text/79-5",[]],["component/79-5",[]],["title/79-6",[670,34.503,1419,36.532,1427,49.523,1435,49.523]],["name/79-6",[]],["text/79-6",[]],["component/79-6",[]],["title/79",[116,33.359,117,38.902,1063,35.2]],["name/79",[40,1.527,117,1.27]],["text/79",[0,0.424,1,1.226,2,2.017,3,2.215,4,3.073,10,0.702,15,0.495,24,0.845,26,0.772,34,0.296,35,0.716,36,0.936,37,0.955,38,2.031,39,3.008,44,0.738,46,0.468,47,4.522,48,2.924,49,1.11,62,1.315,69,0.47,70,0.349,71,2.97,78,1.064,80,1.239,83,0.47,87,2.066,88,0.831,97,0.703,101,0.784,102,0.657,105,0.69,109,2.286,116,1.992,117,0.716,122,1.872,136,0.668,140,1.229,143,1.027,148,0.61,153,2.654,154,0.947,158,0.703,161,0.524,163,0.929,167,3.11,173,1.594,176,0.653,178,0.881,183,1.39,197,0.768,203,0.476,211,0.431,218,1.403,219,1.762,221,0.528,222,2.995,224,0.491,229,0.517,230,0.69,232,1.163,241,1.372,242,0.731,244,0.94,245,0.848,247,1.017,253,0.834,257,0.793,259,1.006,281,0.487,283,1.955,285,0.673,287,1.492,290,1.563,291,0.487,299,2.162,310,1.707,311,0.459,313,1.294,315,0.463,316,0.596,327,2.471,328,1.069,332,0.61,336,2.235,337,0.648,345,0.968,375,1.185,379,1.012,380,2.799,381,0.69,402,0.663,404,0.618,408,0.485,415,0.618,425,2.195,426,0.731,428,2.8,432,1.694,487,0.511,491,0.626,494,1.542,495,1.504,496,1.454,497,1.304,498,0.592,503,0.784,511,1.87,518,0.764,520,0.657,522,0.755,526,0.897,530,1.878,539,0.548,540,0.723,541,0.668,548,0.657,549,1.27,550,2.781,552,1.575,553,0.829,569,0.673,571,0.551,582,1.169,589,1.625,622,0.69,648,2.439,665,1.316,668,1.081,670,1.356,671,0.989,672,0.959,678,0.657,681,0.639,683,3.706,690,1.119,702,0.567,709,0.489,713,0.831,722,0.476,723,0.618,734,1.451,741,1.615,742,1.565,746,0.891,767,0.551,783,1.062,790,0.61,794,0.653,810,0.622,812,0.755,820,0.61,823,0.548,831,0.696,843,0.878,846,0.561,848,0.643,849,0.634,852,0.548,866,1.426,883,0.716,892,1.84,918,0.582,919,0.709,922,0.784,923,1.177,927,2.951,928,1.821,929,0.663,931,1.162,942,1.495,953,2.575,957,0.606,962,0.746,964,0.897,982,0.679,984,1.803,1010,0.696,1021,0.746,1025,0.526,1027,1.177,1029,1.378,1030,0.508,1038,0.914,1048,0.897,1058,0.582,1063,1.682,1064,2.816,1071,1.704,1076,2.957,1079,0.618,1134,1.694,1139,1.215,1143,3.421,1148,1.22,1151,0.696,1167,0.576,1208,1.211,1210,1.154,1229,1.474,1230,1.139,1255,1.22,1293,0.784,1299,0.773,1302,0.746,1318,4.276,1343,0.738,1370,0.668,1393,0.784,1395,0.861,1403,3.836,1404,0.731,1413,0.794,1414,1.006,1416,0.606,1417,1.67,1418,4,1419,7.199,1420,4.648,1422,1.106,1423,1.106,1425,6.48,1427,5.434,1429,1.565,1430,0.639,1432,0.943,1434,0.897,1435,6.171,1441,2.053,1450,1.049,1451,0.784,1452,1.058,1455,1.538,1456,2.696,1457,0.738,1459,0.971,1462,2.346,1488,0.648,1531,0.626,1555,1.385,1569,0.943,1583,0.806,1610,0.878,1613,1.984,1638,1.006,1640,3.058,1646,0.897,1654,0.943,1657,0.943,1664,0.943,1665,1.006,1675,1.006,1704,0.897,1730,0.818,1736,1.106,1822,1.106,1826,1.106,1882,0.861,1888,0.784,1934,0.918,1980,1.75,2024,0.794,2026,2.087,2052,0.897,2057,0.831,2078,1.866,2081,1.356,2185,0.794,2228,1.049,2265,1.518,2361,1.629,2379,0.897,2398,1.049,2416,0.897,2510,0.971,2520,0.943,2523,4.219,2524,2.053,2527,1.27,2529,0.897,2532,3.058,2621,1.518,2661,1.803,2718,2.448,2986,0.878,2988,0.746,3009,2.522,3201,1.803,3212,1.106,3214,1.049,3295,1.049,3679,1.006,3790,1.006,4254,1.049,4303,1.106,4431,0.897,4458,1.106,4487,3.262,4549,0.897,4799,2.215,4800,2.215,4801,2.053,4802,1.193,4803,1.193,4804,5.033,4805,1.106,4806,1.106,4807,1.106,4808,1.106,4809,1.106,4810,4.552,4811,2.872,4812,1.106,4813,1.193,4814,1.193,4815,1.106,4816,1.193,4817,1.106,4818,1.193,4819,1.193,4820,1.193,4821,0.918,4822,0.971,4823,1.193,4824,1.193,4825,4.552,4826,1.866,4827,1.193,4828,1.049,4829,1.193,4830,1.106,4831,1.106,4832,0.943,4833,1.106,4834,2.215,4835,1.193,4836,5.006,4837,1.193,4838,1.193,4839,1.106,4840,1.106,4841,1.193,4842,2.215,4843,1.193,4844,2.215,4845,1.193,4846,1.193,4847,3.871,4848,2.215,4849,1.193,4850,1.193,4851,1.193,4852,1.193,4853,1.193,4854,3.099,4855,1.193,4856,2.215,4857,1.193,4858,1.193,4859,1.193,4860,1.193,4861,2.215,4862,1.193,4863,1.193,4864,1.193,4865,1.193,4866,1.193,4867,3.099,4868,1.193]],["component/79",[1,0.382,2,0.692,18,0.605]],["title/80-1",[197,19.546,734,26.386,1139,32.345]],["name/80-1",[]],["text/80-1",[]],["component/80-1",[]],["title/80",[734,26.386,934,30.379,1139,32.345]],["name/80",[734,0.544,934,0.627,1139,0.848]],["text/80",[10,1.121,38,2.646,46,3.281,57,4.507,70,1.034,71,0.954,98,2.469,102,1.948,126,1.459,138,2.211,152,3.277,158,2.081,161,1.551,165,1.459,167,4.263,197,3.884,222,1.319,234,3.507,245,1.354,257,1.266,260,1.336,261,1.294,263,2.504,311,1.358,315,1.372,324,1.416,326,1.512,329,1.83,355,1.494,374,2.263,375,1.892,511,2.084,539,3.334,555,1.623,556,1.672,638,1.842,648,1.672,690,1.786,716,2.027,734,2.691,735,3.383,772,1.689,801,2.101,813,3.146,832,2.237,840,2.142,866,1.302,875,2.081,890,1.411,918,1.726,934,3.914,947,1.905,965,1.786,1010,2.062,1020,2.72,1029,3.719,1030,3.094,1057,3.191,1058,1.726,1105,3.334,1133,2.877,1139,5.034,1143,2.657,1186,3.556,1189,2.387,1235,3.483,1258,2.353,1260,3.384,1264,3.834,1291,2.263,1301,5.069,1318,1.819,1324,1.745,1350,2.353,1370,1.978,1388,2.55,1404,3.518,1409,4.001,1416,1.797,1531,1.854,1852,2.353,1875,2.601,1923,5.343,1924,1.842,1940,2.793,1942,2.877,1967,3.939,1972,5.327,1984,5.05,2026,3.098,2241,2.979,2648,3.277,2690,6.639,2755,7.271,2925,1.68,4325,3.106,4378,2.979,4714,3.106,4869,3.535,4870,3.535,4871,8.365,4872,9.862,4873,3.535,4874,3.535,4875,7.263,4876,3.535,4877,3.535,4878,3.277,4879,3.277,4880,3.535,4881,2.979,4882,3.535,4883,3.535,4884,3.106,4885,3.535,4886,3.535,4887,3.277]],["component/80",[1,0.382,2,0.692,18,0.605]],["title/81-1",[1061,26.767,1139,25.431,2678,49.895]],["name/81-1",[]],["text/81-1",[]],["component/81-1",[]],["title/81",[1139,29.934,1688,60.293]],["name/81",[1139,0.83,1688,1.672]],["text/81",[1,0.902,2,1.632,4,1.45,26,1.981,43,2.258,49,1.248,62,0.888,68,2.772,69,2.236,71,0.94,152,1.241,167,4.573,197,1.208,218,3.255,222,2.682,223,1.312,232,2.132,234,2.252,244,2.41,247,1.6,253,1.312,257,2.035,260,1.317,261,1.275,267,2.288,281,1.422,285,3.203,311,1.339,317,1.516,324,1.396,334,1.905,336,1.26,338,1.639,375,1.865,511,2.06,539,1.6,560,1.781,648,3.922,665,2.07,696,2.922,709,2.327,712,1.852,727,4.721,735,1.774,758,3.084,813,1.509,866,2.648,928,1.639,934,1.878,937,2.319,957,1.771,997,1.827,1029,4.593,1030,5.185,1038,1.438,1056,2.179,1057,4.604,1061,3.424,1069,2.231,1139,5.108,1186,2.156,1229,3.78,1234,6.318,1264,1.84,1290,4.928,1295,1.905,1301,2.111,1302,6.462,1385,2.936,1429,1.76,1487,2.388,1574,2.204,1587,3.344,1637,2.468,1688,8.509,1922,2.231,1939,6.815,2031,3.061,2133,3.229,2401,8.161,2427,2.563,2528,2.836,2678,7.538,2690,5.982,2755,2.753,2979,2.753,3242,3.061,3781,4.991,4408,2.936,4496,2.563,4743,3.229,4887,3.229,4888,3.484,4889,3.484,4890,8.294,4891,7.191,4892,8.294,4893,3.229,4894,3.484,4895,3.484,4896,3.484,4897,3.484,4898,3.484,4899,3.484,4900,3.484,4901,3.484]],["component/81",[1,0.382,2,0.692,18,0.605]],["title/82-1",[285,36.568,677,34.008,1139,25.431]],["name/82-1",[]],["text/82-1",[]],["component/82-1",[]],["title/82-2",[767,29.912,1139,25.431,2306,45.925]],["name/82-2",[]],["text/82-2",[]],["component/82-2",[]],["title/82",[1139,36.374]],["name/82",[1139,1.408]],["text/82",[1,1.276,2,1.939,4,0.866,6,1.317,7,1.226,10,1.878,18,0.922,38,2.879,46,2.92,50,1.184,52,1.194,57,3.673,62,0.531,63,1.501,66,1.79,69,0.819,71,2.426,84,1.092,93,0.789,95,0.965,98,1.575,99,0.961,106,2.02,109,1.841,114,0.965,122,1.508,126,0.86,131,1.288,141,0.91,152,0.741,154,0.891,161,2.962,163,0.873,167,3.225,169,1.022,180,1.204,197,1.704,205,2.159,211,1.326,215,1.085,223,1.381,225,2.245,232,1.845,234,2.114,244,0.884,245,1.404,251,1.875,253,0.784,257,0.746,260,1.386,261,1.342,266,1.139,267,2.408,276,1.949,281,0.85,283,0.789,285,1.174,287,1.894,290,0.84,311,0.8,315,1.423,316,1.039,326,0.891,332,1.065,336,1.326,338,0.98,341,3.146,342,1.275,345,0.91,380,1.55,406,1.022,418,1.864,421,1.668,422,1.734,426,2.245,439,1.406,487,0.891,488,1.065,496,1.367,498,1.033,502,1.099,512,1.016,539,3.099,550,1.79,553,2.216,555,2.718,556,3.521,563,0.887,571,0.961,584,2.756,589,1.923,622,2.121,638,1.085,648,4.598,655,2.294,672,0.902,677,1.923,680,1.302,695,1.406,722,0.831,727,1.367,735,2.326,742,2.482,767,1.692,772,2.829,794,1.139,796,1.427,813,4.212,818,1.039,823,0.956,831,1.215,840,1.262,852,4.128,855,2.893,862,1.302,866,0.767,868,2.441,884,2.121,892,1.743,915,1.165,916,1.215,928,0.98,934,1.122,936,3.074,938,1.184,941,1.427,943,1.45,957,1.058,966,1.194,973,1.349,981,1.565,997,1.092,1015,1.275,1018,1.184,1025,0.918,1029,2.632,1030,1.562,1038,0.86,1057,1.156,1058,1.016,1063,1.13,1072,1.078,1126,1.226,1130,0.767,1134,1.139,1137,1.107,1139,4.907,1145,1.427,1154,2.668,1169,1.475,1176,1.79,1179,1.565,1180,1.174,1185,1.204,1186,3.04,1189,1.406,1194,5.073,1227,1.406,1229,2.441,1230,1.071,1235,2.978,1249,1.215,1257,1.475,1260,3.974,1285,1.071,1301,4.512,1306,2.594,1318,3.046,1357,1.262,1362,1.237,1389,1.502,1394,1.754,1400,1.165,1404,2.245,1429,1.852,1446,1.349,1479,1.93,1488,1.13,1531,1.092,1576,1.184,1597,1.174,1670,1.317,1677,1.302,1714,1.602,1879,1.602,1882,1.502,1895,1.695,1901,1.602,1910,1.237,1923,1.532,1927,1.215,1929,1.602,1931,1.565,1939,4.271,1940,1.645,1941,1.754,1942,1.695,1943,1.695,1944,1.754,1945,1.645,1967,1.427,1974,1.317,1975,1.829,1979,1.602,2002,1.645,2015,1.406,2022,1.406,2026,1.122,2046,1.427,2053,1.695,2076,1.602,2134,1.317,2135,1.754,2377,1.93,2378,1.829,2380,3.399,2381,1.93,2396,1.333,2426,1.532,2718,1.645,3494,1.93,4378,1.754,4528,1.565,4529,1.602,4614,1.829,4878,1.93,4902,1.93,4903,2.082,4904,2.082,4905,2.082,4906,1.93,4907,1.93,4908,2.082,4909,1.93,4910,2.082,4911,1.93,4912,1.93,4913,2.082,4914,1.829,4915,2.082,4916,2.082,4917,3.667,4918,2.082,4919,2.082,4920,2.082]],["component/82",[1,0.382,2,0.692,18,0.605]],["title/83",[1310,54.056,2020,56.145]],["name/83",[1310,1.499,2020,1.557]],["text/83",[10,2.325,38,2.425,58,5.159,71,1.299,75,2.888,95,4.116,96,3.983,138,3.011,154,2.06,178,1.915,211,2.65,221,3.245,222,3.312,223,2.761,229,2.086,232,2.752,234,3.108,244,2.043,245,1.844,287,4.338,299,3.723,311,1.85,324,1.929,329,2.493,338,2.265,375,2.577,462,3.12,520,4.039,541,2.694,553,2.743,562,2.509,582,2.542,638,2.509,659,3.12,709,3.003,722,1.922,734,2.254,742,2.432,766,2.447,805,2.277,813,3.846,823,2.21,841,2.086,862,3.011,915,2.694,919,2.861,923,2.559,933,3.705,941,3.299,953,2.404,954,2.917,957,2.447,972,2.834,1105,4.076,1135,2.947,1137,3.897,1139,4.589,1186,5.493,1259,2.673,1285,2.477,1295,4.009,1324,5.554,1429,2.432,1574,4.638,1606,3.299,1648,3.919,1699,5.288,1716,3.12,1852,3.204,1961,4.23,1977,3.011,2020,8.607,2080,3.41,2529,3.618,2607,3.542,2825,8.229,2988,3.011,4921,4.462,4922,4.814,4923,4.814,4924,4.057,4925,3.919,4926,4.814,4927,8.878]],["component/83",[1,0.382,2,0.692,18,0.605]],["title/84-1",[46,25.431,234,20.305,1404,39.693]],["name/84-1",[]],["text/84-1",[]],["component/84-1",[]],["title/84-2",[38,13.77,57,25.755,735,17.605,1404,34.503]],["name/84-2",[]],["text/84-2",[]],["component/84-2",[]],["title/84",[164,34.949,1139,25.431,1404,39.693]],["name/84",[164,0.809,1139,0.589,1404,0.919]],["text/84",[1,0.757,4,0.528,10,1.037,15,0.972,18,0.319,33,1.52,38,2.369,39,0.495,43,0.823,44,0.786,46,2.114,47,0.777,49,0.84,57,3.327,63,1.457,65,0.916,66,0.62,69,0.5,71,1.604,78,1.127,79,0.794,80,3.324,83,1.602,84,0.666,87,0.94,95,0.589,98,1.748,115,2.24,122,0.522,124,0.594,141,0.555,143,0.589,152,2.116,154,0.543,158,0.748,163,0.532,164,0.684,167,4.511,197,0.44,203,0.507,211,0.459,221,1.447,222,2.852,223,1.533,225,4.885,229,1.016,230,0.734,232,0.477,234,3.037,244,1.727,245,0.486,247,0.583,249,3.531,251,2.081,253,1.533,260,1.235,261,1.196,276,2.865,283,0.889,285,0.716,287,0.49,290,1.643,291,1.661,310,2.97,311,2.472,315,0.91,317,0.552,324,1.912,326,0.543,332,1.671,336,0.459,340,0.803,341,0.813,342,2.001,345,1.778,371,0.884,380,1.382,408,0.516,420,1.247,421,1.487,422,1.546,426,0.777,432,0.694,462,1.52,491,0.666,495,0.616,511,1.185,513,1.178,517,0.716,520,0.7,532,0.813,533,0.794,538,0.627,539,4.363,543,0.857,553,0.878,556,2.256,562,1.222,569,0.716,582,0.67,615,0.68,638,1.703,648,4.752,653,0.777,655,0.794,659,0.823,665,0.755,672,1.416,702,1.554,709,1.667,727,0.834,735,2.676,741,0.662,746,0.511,758,0.689,763,1.151,766,0.645,801,0.755,813,2.787,823,0.583,866,1.204,883,0.762,884,0.734,918,0.62,928,1.104,929,2.259,934,0.684,947,1.264,948,0.786,958,0.762,982,0.722,992,2.163,998,0.552,1025,1.034,1029,4.032,1030,2.931,1038,0.524,1049,4.41,1057,3.298,1058,2.329,1067,0.899,1070,0.684,1075,0.794,1079,0.657,1135,2.001,1137,0.675,1139,4.12,1154,5.264,1176,0.62,1179,0.954,1180,0.716,1184,1.909,1186,3.676,1187,1.07,1189,2.207,1194,1.763,1195,1.116,1229,2.709,1230,3.31,1232,2.315,1235,1.421,1241,0.68,1249,1.907,1258,0.845,1260,1.381,1265,0.916,1285,0.653,1301,2.891,1306,1.238,1318,1.207,1324,0.627,1369,0.794,1370,0.71,1382,1.003,1393,0.834,1404,7.361,1429,4.8,1487,0.87,1492,0.823,1531,0.666,1583,0.857,1592,1.805,1657,1.003,1677,1.467,1731,0.884,1835,3.133,1852,0.845,1895,1.033,1929,2.515,1933,1.07,1939,3.018,1940,1.853,1941,3.429,1942,1.909,1945,1.003,1947,1.116,1948,1.116,1954,2.872,1955,7.529,1957,3.03,1967,0.87,1977,0.794,1999,0.899,2023,1.763,2102,0.884,2426,0.934,2493,1.033,2583,1.07,2690,1.692,2755,3.215,2804,1.116,2987,0.899,3017,1.033,3965,1.177,4223,1.116,4305,5.599,4431,0.954,4453,1.116,4790,0.977,4907,1.177,4909,1.177,4928,1.27,4929,3.772,4930,3.269,4931,3.576,4932,4.07,4933,5.941,4934,7.646,4935,6.435,4936,3.269,4937,3.269,4938,2.346,4939,1.27,4940,2.872,4941,1.27,4942,1.27,4943,1.27,4944,1.27,4945,2.346,4946,2.346,4947,2.346,4948,1.116,4949,1.177,4950,1.27,4951,1.27,4952,1.177,4953,1.27,4954,2.346,4955,1.27,4956,1.27,4957,1.27,4958,1.27,4959,1.27,4960,1.27,4961,1.27,4962,1.27]],["component/84",[1,0.382,2,0.692,18,0.605]],["title/85",[39,25.255,556,30.662,1139,25.431]],["name/85",[39,0.585,556,0.71,1139,0.589]],["text/85",[1,0.742,2,0.791,4,2.531,10,1.929,35,1.653,38,2.65,39,3.806,46,3.146,48,1.303,57,3.665,63,1.427,71,1.934,78,1.323,83,1.084,84,1.445,98,2.007,131,1.704,136,1.541,138,1.723,152,2.166,154,1.179,161,1.209,167,4.256,174,1.704,182,1.833,197,0.955,205,2.75,219,2.656,225,1.686,234,2.512,249,1.637,251,3.663,254,1.723,257,0.987,267,1.809,285,1.554,287,1.801,290,1.112,310,1.518,311,1.058,315,2.361,323,2.726,326,1.999,332,2.389,406,1.352,418,2.374,419,1.464,420,1.464,421,2.125,422,2.209,426,1.686,496,3.067,498,1.367,513,1.383,538,2.306,539,4.838,553,1.031,555,1.265,556,4.621,622,1.593,638,1.435,648,4.621,659,1.786,665,1.637,668,1.345,672,1.193,696,1.417,709,1.129,723,1.426,727,1.809,735,2.238,742,1.392,748,1.33,772,3.832,813,3.104,818,1.375,840,1.669,852,1.265,892,1.309,898,1.833,928,2.862,929,1.529,938,1.566,957,2.374,973,1.786,974,2.553,1029,2.077,1030,1.991,1049,1.888,1058,1.345,1064,4.432,1072,1.426,1126,1.622,1135,2.86,1137,1.464,1139,5.093,1154,3.302,1169,1.951,1179,2.07,1180,1.554,1184,4.951,1186,2.89,1189,1.86,1227,1.86,1229,3.109,1230,1.417,1231,2.553,1235,1.669,1285,1.417,1293,1.809,1301,4.86,1306,2.467,1309,1.686,1404,4.91,1429,2.36,1462,1.669,1498,2.421,1677,1.723,1681,2.12,1776,3.37,1895,2.242,1901,2.12,1909,1.86,1929,2.12,1939,2.956,1940,2.176,1941,2.321,1943,2.242,1945,5.66,1946,2.553,1947,2.421,1948,4.105,1970,1.723,1974,1.743,2024,1.833,2044,2.321,2053,2.242,2096,1.951,2241,2.321,2303,2.07,2359,1.888,2378,2.421,2396,2.991,3171,2.553,4266,2.07,4305,2.242,4911,2.553,4912,2.553,4929,2.553,4931,2.421,4949,2.553,4952,2.553,4963,2.755,4964,2.553,4965,2.755,4966,2.755,4967,2.755,4968,2.755,4969,2.755,4970,2.755,4971,2.755,4972,2.755,4973,2.755,4974,2.755,4975,2.755,4976,2.755,4977,2.755,4978,3.437,4979,2.755,4980,3.802,4981,2.755]],["component/85",[1,0.382,2,0.692,18,0.605]],["title/86-1",[38,18.646,153,35.553]],["name/86-1",[]],["text/86-1",[]],["component/86-1",[]],["title/86-2",[866,34.155]],["name/86-2",[]],["text/86-2",[]],["component/86-2",[]],["title/86-3",[1254,78.148]],["name/86-3",[]],["text/86-3",[]],["component/86-3",[]],["title/86-4",[62,23.643]],["name/86-4",[]],["text/86-4",[]],["component/86-4",[]],["title/86-5",[10,20.564,62,16.531,408,26.366]],["name/86-5",[]],["text/86-5",[]],["component/86-5",[]],["title/86-6",[211,27.589,1076,43.759]],["name/86-6",[]],["text/86-6",[]],["component/86-6",[]],["title/86-7",[1343,57.375]],["name/86-7",[]],["text/86-7",[]],["component/86-7",[]],["title/86-8",[1026,62.119,1055,50.11]],["name/86-8",[]],["text/86-8",[]],["component/86-8",[]],["title/86",[848,34.949,849,34.466,850,34.008]],["name/86",[848,0.809,849,0.798,850,0.787]],["text/86",[0,0.288,1,0.244,2,0.442,4,0.337,7,1.294,9,0.504,10,1.501,13,0.507,15,0.638,18,0.204,23,0.525,26,0.976,33,0.525,38,2.865,39,0.316,41,0.434,46,3.174,49,0.551,51,0.496,62,2.508,63,1.022,69,0.865,71,1.483,81,0.64,85,0.712,87,0.881,89,0.933,91,0.694,98,0.661,100,1.238,106,0.446,107,0.675,109,0.773,116,0.417,120,0.635,124,0.379,126,0.334,130,0.491,136,0.453,138,0.963,140,1.553,141,0.354,143,0.713,149,0.555,152,1.37,153,1.024,154,0.658,161,0.675,163,0.34,166,0.703,167,4.609,175,0.477,178,0.322,180,0.468,194,1.33,197,0.281,203,0.323,207,1.695,211,4.167,213,0.609,216,0.34,218,0.367,221,0.359,222,0.82,223,0.58,229,0.667,232,0.304,244,0.933,245,0.31,247,0.707,250,4.561,253,0.305,257,1.198,260,0.306,261,1.024,272,0.414,281,0.331,283,1.268,286,0.986,287,0.593,290,0.327,291,0.628,311,0.845,313,0.643,315,0.314,317,0.352,326,0.94,336,1.011,337,0.44,342,0.496,344,0.453,355,2.167,370,0.878,371,1.072,379,0.37,380,0.342,381,1.271,404,0.419,406,0.398,408,0.626,419,0.431,421,0.7,427,0.933,488,0.414,495,0.747,497,1.647,498,0.402,500,0.412,502,0.428,511,1.859,512,0.395,514,0.355,526,0.609,538,0.4,539,0.707,541,0.453,542,0.473,555,0.372,556,0.383,560,0.414,562,0.802,571,0.374,572,3.107,589,0.807,615,1.177,638,0.422,654,2.536,668,0.751,672,0.952,680,0.963,683,0.453,696,1.131,714,0.491,715,0.564,716,0.464,721,0.504,722,1.335,731,0.446,735,1.602,744,0.942,746,1.547,748,0.391,749,0.604,755,0.461,761,1.142,763,0.398,766,0.412,767,0.374,772,0.387,793,0.477,794,1.202,805,0.383,813,2.221,817,1.557,818,1.397,820,0.414,839,1.565,843,0.61,846,1.034,848,6.589,849,6.637,850,5.602,852,1.009,853,1.917,854,0.818,856,3.076,866,0.567,876,0.512,890,0.614,892,0.731,914,1.184,916,0.473,918,0.751,919,0.481,925,0.491,928,0.381,936,0.507,938,0.875,943,0.564,944,0.525,953,0.768,954,0.491,956,0.398,966,0.464,972,3.622,973,0.997,992,1.487,998,0.352,1018,0.461,1025,0.678,1026,4.173,1027,0.818,1028,2.038,1029,3.681,1030,2.621,1031,0.751,1032,2.593,1033,0.751,1034,1.184,1035,2.847,1036,1.852,1037,0.683,1038,3.083,1039,0.751,1040,0.751,1043,0.751,1044,0.751,1048,2.103,1049,1.055,1050,0.751,1051,0.751,1054,1.104,1055,3.831,1056,2.406,1057,2.391,1058,2.103,1059,0.751,1060,0.751,1062,1.426,1064,1.36,1065,1.531,1066,1.557,1075,2.694,1076,5.209,1079,0.419,1083,0.751,1084,1.917,1088,1.177,1097,2.514,1098,2.593,1099,1.426,1105,1.284,1109,0.64,1111,0.473,1113,0.501,1115,2.038,1116,1.426,1117,1.253,1118,0.751,1119,1.852,1120,1.352,1121,1.352,1122,1.426,1123,1.216,1124,2.458,1126,0.477,1129,0.683,1130,0.81,1135,0.496,1136,0.596,1137,0.818,1139,0.318,1145,0.555,1148,0.446,1149,2.939,1154,1.193,1170,1.426,1175,1.36,1176,0.395,1208,0.443,1210,1.145,1219,0.574,1230,0.417,1232,1.09,1240,1.253,1254,1.852,1255,0.446,1262,0.609,1285,1.439,1291,0.519,1319,0.868,1321,0.952,1340,0.712,1343,1.36,1350,1.463,1362,0.481,1366,1.072,1370,0.453,1408,0.751,1409,0.446,1425,0.898,1452,0.387,1462,0.491,1511,0.574,1531,1.153,1538,0.609,1555,0.963,1584,0.596,1587,0.477,1615,0.507,1684,0.512,1692,0.842,1696,0.596,1783,0.584,1831,0.519,1838,0.683,1927,0.898,1967,1.917,1970,0.507,2024,0.539,2082,0.596,2092,0.659,2103,0.555,2115,2.168,2152,1.652,2255,0.659,2315,1.055,2332,0.486,2351,0.751,2396,0.519,2400,0.89,2422,0.659,2424,0.751,2425,0.712,2426,0.596,2452,1.425,2493,2.277,2496,0.683,2607,1.132,2655,0.481,2686,0.574,2761,0.609,2838,4.749,2839,0.751,2907,0.623,2984,0.596,3086,0.659,3255,0.712,3600,2.358,3995,0.683,4266,0.609,4325,0.712,4333,0.683,4387,0.712,4496,0.596,4549,0.609,4728,0.574,4839,1.426,4982,1.426,4983,0.712,4984,0.81,4985,0.81,4986,0.81,4987,0.712,4988,0.81,4989,0.751,4990,0.712,4991,0.81,4992,1.426,4993,0.751,4994,1.539,4995,0.81,4996,0.81,4997,1.539,4998,1.539,4999,1.539,5000,1.539,5001,1.539,5002,1.539,5003,0.81,5004,1.352,5005,0.81,5006,0.81,5007,0.81,5008,2.458,5009,1.539,5010,0.81,5011,2.198,5012,2.038,5013,0.81,5014,2.198,5015,0.81,5016,0.81,5017,0.81,5018,0.81,5019,0.751,5020,0.81,5021,0.81,5022,0.81,5023,0.81,5024,0.81,5025,1.539,5026,0.81,5027,0.81,5028,0.81,5029,0.81,5030,0.81,5031,0.81,5032,0.81,5033,0.81,5034,0.81,5035,0.81,5036,0.81,5037,0.81,5038,1.539,5039,0.81,5040,0.81,5041,0.81,5042,0.751,5043,0.712,5044,0.81,5045,1.539,5046,0.81,5047,0.81]],["component/86",[1,0.382,2,0.692,18,0.605]],["title/87-1",[735,20.254,843,25.702,2100,37.497]],["name/87-1",[]],["text/87-1",[]],["component/87-1",[]],["title/87-2",[38,13.77,655,35.254,735,17.605,2100,32.595]],["name/87-2",[]],["text/87-2",[]],["component/87-2",[]],["title/87-3",[38,12.178,98,21.413,153,23.22,735,15.57,843,19.758]],["name/87-3",[]],["text/87-3",[]],["component/87-3",[]],["title/87-4",[46,29.934,846,35.908]],["name/87-4",[]],["text/87-4",[]],["component/87-4",[]],["title/87-5",[211,16.151,250,20.712,735,13.956,846,21.021,898,29.735,1977,27.946]],["name/87-5",[]],["text/87-5",[]],["component/87-5",[]],["title/87-6",[38,13.77,735,17.605,843,22.341,846,26.518]],["name/87-6",[]],["text/87-6",[]],["component/87-6",[]],["title/87-7",[848,34.949,849,34.466,850,34.008]],["name/87-7",[]],["text/87-7",[]],["component/87-7",[]],["title/87-8",[62,16.531,380,27.404,843,25.702]],["name/87-8",[]],["text/87-8",[]],["component/87-8",[]],["title/87-9",[38,15.841,843,25.702,1082,42.026]],["name/87-9",[]],["text/87-9",[]],["component/87-9",[]],["title/87-10",[38,15.841,735,20.254,1308,37.829]],["name/87-10",[]],["text/87-10",[]],["component/87-10",[]],["title/87-11",[63,23.313,730,35.208]],["name/87-11",[]],["text/87-11",[]],["component/87-11",[]],["title/87-12",[120,31.506,929,42.369]],["name/87-12",[]],["text/87-12",[]],["component/87-12",[]],["title/87",[38,18.646,843,30.252]],["name/87",[3,1.542]],["text/87",[1,0.457,4,0.996,8,0.204,10,1.913,15,0.993,18,0.17,26,1.005,29,0.275,37,1.033,38,3.191,44,0.804,46,3.397,49,0.243,52,0.389,57,0.593,61,0.864,62,2.541,63,1.378,69,1.134,70,0.547,71,2.221,75,0.407,78,0.326,83,0.267,93,0.257,94,0.553,95,0.314,97,0.399,98,1.029,100,0.575,102,0.374,105,1.385,109,0.34,114,0.602,115,0.465,120,1.19,122,0.534,126,0.28,138,1.498,141,1.259,143,1.336,148,0.347,149,0.468,152,0.241,153,3.041,161,1.051,167,4.326,175,0.399,176,1.31,177,0.365,183,0.304,186,0.396,194,0.322,197,1.794,203,1.654,207,2.274,211,3.664,215,0.677,216,0.545,219,1.895,221,2.424,222,1.4,223,0.704,229,0.81,232,1.556,244,0.793,245,1.981,247,0.311,248,0.51,250,4.247,253,3.211,257,0.465,260,2.375,261,1.055,267,0.445,272,0.956,274,0.994,276,1.532,281,1.176,283,2.643,287,0.261,290,0.524,299,0.545,301,1.054,310,0.374,311,0.499,313,0.542,315,2.009,316,0.339,324,0.52,326,0.556,327,0.368,329,0.672,334,0.371,336,0.245,337,0.368,340,0.429,342,0.415,345,0.567,355,0.287,371,1.668,373,0.434,377,0.403,379,0.31,380,0.549,381,0.392,404,0.351,408,0.276,421,0.591,428,0.588,430,0.864,432,1.022,433,0.89,487,0.29,488,1.473,491,0.356,495,1.163,498,1.43,506,2.452,511,0.471,513,0.34,517,0.382,518,0.434,520,0.374,523,0.536,531,0.458,539,0.596,541,0.727,542,0.396,548,0.374,551,1.141,553,1.936,555,2.769,562,1.955,569,1.054,574,0.499,648,2.295,653,0.415,655,3.035,668,1.169,671,0.303,679,0.69,680,0.812,691,0.389,696,1.715,708,0.396,709,1.848,712,0.36,715,0.472,716,0.389,722,1.331,723,0.968,724,0.695,730,1.329,734,0.317,735,3.541,748,1.156,749,0.266,755,0.386,758,1.015,761,0.53,763,0.333,764,0.465,766,0.345,767,0.599,772,0.324,793,0.765,794,1.022,800,0.389,801,0.772,805,1.363,806,0.472,808,2.189,813,2.242,820,0.347,823,0.311,837,0.458,843,4.681,845,0.458,846,3.722,848,1.007,849,0.994,850,0.98,852,2.515,854,0.69,856,1.437,862,0.424,866,1.661,873,0.465,884,0.751,890,2.606,896,0.499,897,0.92,898,1.918,907,0.955,912,0.864,914,0.522,916,0.396,918,1.406,919,0.403,928,0.319,929,2.083,931,0.356,934,0.365,936,0.424,944,0.439,953,0.648,954,0.787,956,0.917,965,0.343,975,0.571,997,0.356,998,0.295,1015,0.415,1017,0.51,1025,0.572,1027,1.273,1029,2.435,1030,2.334,1034,0.522,1035,0.376,1038,1.376,1049,0.89,1055,0.445,1056,1.498,1057,0.721,1058,1.169,1061,2.003,1070,0.365,1076,0.389,1084,3.091,1088,0.695,1092,1.696,1097,2.505,1117,1.057,1119,1.094,1127,0.445,1130,1.227,1135,0.795,1137,3.706,1152,0.374,1164,0.434,1167,0.327,1175,0.419,1176,0.634,1180,0.382,1210,0.677,1216,1.348,1220,0.34,1227,0.458,1230,1.715,1233,0.451,1241,0.363,1258,0.864,1265,0.937,1291,1.845,1304,1.022,1306,0.686,1308,0.396,1309,0.415,1311,0.804,1312,0.89,1318,0.349,1321,2.322,1324,0.335,1342,0.445,1350,0.451,1357,1.451,1409,0.374,1414,0.571,1415,0.522,1430,1,1432,0.536,1433,0.596,1436,0.499,1448,0.955,1452,1.592,1454,0.407,1456,0.472,1503,0.499,1512,1.262,1531,0.356,1555,1.169,1576,0.738,1580,0.522,1583,0.458,1585,0.445,1589,0.499,1590,0.628,1608,0.628,1609,0.465,1611,1.477,1615,0.424,1670,0.822,1684,1.183,1692,0.371,1710,0.472,1717,0.536,1731,0.472,1734,0.499,1770,0.489,1831,0.434,1839,0.864,1852,0.864,1875,1.762,1898,0.571,1899,0.596,1910,1.423,1911,0.552,1914,0.458,1924,0.677,1927,0.396,1938,0.458,1950,0.628,1970,1.169,1974,0.429,1977,0.424,1980,1.477,2010,0.411,2037,0.429,2052,0.51,2057,0.904,2080,0.48,2081,0.415,2082,0.955,2100,3.488,2134,0.429,2152,0.976,2159,0.596,2197,1.642,2311,0.51,2315,0.89,2334,0.499,2371,0.628,2396,0.434,2400,1.385,2532,1.026,2535,0.489,2607,3.048,2621,0.465,2661,0.552,2666,0.552,2681,0.458,2716,1.892,2773,1.375,2796,0.51,2841,0.465,2869,1.575,2900,3.162,2907,1.843,2937,2.671,2938,1.204,2939,0.999,2971,0.552,2987,0.48,3140,2.018,3228,1.141,3448,0.571,3702,1.521,3795,1.732,3814,1.843,4232,0.596,4286,1.204,4368,0.489,4496,0.499,4497,1.094,4528,0.51,4701,0.499,4879,1.204,4948,1.141,4982,1.204,4989,0.628,5048,1.094,5049,0.571,5050,0.678,5051,0.678,5052,0.678,5053,0.678,5054,1.204,5055,0.678,5056,1.869,5057,1.869,5058,0.678,5059,1.869,5060,0.678,5061,0.678,5062,0.678,5063,0.678,5064,1.299,5065,2.395,5066,1.299,5067,0.678,5068,0.678,5069,0.596,5070,0.596,5071,0.536,5072,0.678,5073,0.678,5074,0.678,5075,0.678,5076,0.678,5077,0.678,5078,2.532,5079,0.678,5080,0.628,5081,0.678,5082,0.678,5083,0.678,5084,0.678,5085,2.395,5086,0.678,5087,0.678,5088,1.299,5089,1.299,5090,0.678,5091,0.678,5092,0.678,5093,0.678,5094,1.299,5095,2.881,5096,1.204,5097,2.395,5098,0.678,5099,0.678,5100,0.678,5101,0.678,5102,0.678,5103,0.678,5104,0.678,5105,0.678,5106,0.678,5107,0.678,5108,0.678,5109,0.678,5110,0.628,5111,0.678]],["component/87",[1,0.382,2,0.692,18,0.605]],["title/88-1",[62,23.643]],["name/88-1",[]],["text/88-1",[]],["component/88-1",[]],["title/88-2",[62,16.531,843,25.702,931,34.008]],["name/88-2",[]],["text/88-2",[]],["component/88-2",[]],["title/88-3",[62,14.369,843,22.341,1452,26.929,2158,39.248]],["name/88-3",[]],["text/88-3",[]],["component/88-3",[]],["title/88-4",[653,46.72,846,35.908]],["name/88-4",[]],["text/88-4",[]],["component/88-4",[]],["title/88-5",[428,34.551,931,40.028]],["name/88-5",[]],["text/88-5",[]],["component/88-5",[]],["title/88-6",[406,31.824,428,29.354,931,34.008]],["name/88-6",[]],["text/88-6",[]],["component/88-6",[]],["title/88-7",[62,23.643]],["name/88-7",[]],["text/88-7",[]],["component/88-7",[]],["title/88-8",[406,37.458,428,34.551]],["name/88-8",[]],["text/88-8",[]],["component/88-8",[]],["title/88-9",[428,34.551,2185,50.794]],["name/88-9",[]],["text/88-9",[]],["component/88-9",[]],["title/88-10",[428,34.551,5112,64.312]],["name/88-10",[]],["text/88-10",[]],["component/88-10",[]],["title/88-11",[428,34.551,5113,70.737]],["name/88-11",[]],["text/88-11",[]],["component/88-11",[]],["title/88-12",[428,29.354,4266,48.733,5112,54.639]],["name/88-12",[]],["text/88-12",[]],["component/88-12",[]],["title/88-13",[39,29.727,428,34.551]],["name/88-13",[]],["text/88-13",[]],["component/88-13",[]],["title/88-14",[39,21.953,428,25.516,854,29.96,928,26.518]],["name/88-14",[]],["text/88-14",[]],["component/88-14",[]],["title/88-15",[211,27.589,2984,56.145]],["name/88-15",[]],["text/88-15",[]],["component/88-15",[]],["title/88-16",[211,27.589,5114,67.059]],["name/88-16",[]],["text/88-16",[]],["component/88-16",[]],["title/88-17",[62,19.457,1304,41.735]],["name/88-17",[]],["text/88-17",[]],["component/88-17",[]],["title/88-18",[843,25.702,931,34.008,1304,35.458]],["name/88-18",[]],["text/88-18",[]],["component/88-18",[]],["title/88-19",[843,22.341,1304,30.822,1452,26.929,2158,39.248]],["name/88-19",[]],["text/88-19",[]],["component/88-19",[]],["title/88-20",[4,20.737,91,22.462,931,26.143,1452,23.815,2158,34.709]],["name/88-20",[]],["text/88-20",[]],["component/88-20",[]],["title/88-21",[164,34.949,211,23.44,268,28.207]],["name/88-21",[]],["text/88-21",[]],["component/88-21",[]],["title/88-22",[204,39.289,2072,32.754,2101,44.436]],["name/88-22",[]],["text/88-22",[]],["component/88-22",[]],["title/88-23",[9,21.218,421,29.49,721,21.218]],["name/88-23",[]],["text/88-23",[]],["component/88-23",[]],["title/88-24",[1,10.292,34,16.098,422,30.662]],["name/88-24",[]],["text/88-24",[]],["component/88-24",[]],["title/88-25",[76,49.895,418,32.951,1151,37.829]],["name/88-25",[]],["text/88-25",[]],["component/88-25",[]],["title/88-26",[38,18.646,1974,48.284]],["name/88-26",[]],["text/88-26",[]],["component/88-26",[]],["title/88-27",[721,21.218,1241,34.704,2905,41.022]],["name/88-27",[]],["text/88-27",[]],["component/88-27",[]],["title/88-28",[1241,34.704,1715,51.224,2905,41.022]],["name/88-28",[]],["text/88-28",[]],["component/88-28",[]],["title/88-29",[1974,48.284,3773,64.312]],["name/88-29",[]],["text/88-29",[]],["component/88-29",[]],["title/88-30",[1130,28.108,1974,48.284]],["name/88-30",[]],["text/88-30",[]],["component/88-30",[]],["title/88-31",[38,15.841,57,29.629,317,28.207]],["name/88-31",[]],["text/88-31",[]],["component/88-31",[]],["title/88",[38,15.841,843,25.702,1452,30.979]],["name/88",[1452,1.715]],["text/88",[0,0.136,1,0.624,2,0.708,4,1.245,7,0.439,8,0.17,9,0.357,10,1.561,11,0.135,12,0.149,13,0.466,15,0.905,18,0.096,20,0.13,21,0.114,26,1.482,29,0.078,33,0.125,34,0.469,36,0.389,37,0.879,38,2.717,39,1.573,40,0.139,41,0.204,42,0.149,44,0.12,45,0.447,46,2.1,47,0.118,48,0.352,49,0.509,52,0.427,53,0.227,54,0.115,56,1.383,57,1.189,62,2.684,63,0.483,66,0.186,67,0.096,68,0.094,69,0.743,70,1.118,71,2.226,75,0.229,78,0.604,79,0.121,82,0.849,84,0.101,87,1.25,91,0.984,93,0.414,94,0.673,95,0.506,96,0.489,97,0.114,98,0.61,100,0.25,102,0.507,105,0.221,107,0.085,109,0.948,113,0.302,114,0.506,116,0.647,117,0.116,119,0.124,120,0.08,122,0.714,124,0.179,126,0.38,129,0.388,136,0.515,138,0.239,141,1.252,143,0.506,144,0.234,149,1.741,152,0.725,153,0.736,154,0.743,158,0.114,161,0.693,163,0.16,164,0.401,165,0.901,166,0.649,167,4.646,169,0.452,173,0.291,177,0.104,178,0.629,182,0.129,183,1.043,194,0.751,197,0.602,203,0.693,204,1.409,205,0.333,207,0.762,211,2.36,215,0.655,216,0.237,218,0.494,219,1.401,220,0.117,221,0.836,222,0.704,223,0.928,224,0.449,229,0.473,230,0.112,232,1.263,233,0.076,234,0.12,241,0.557,244,1.046,245,1.195,247,0.422,251,0.099,253,1.481,254,0.121,257,0.98,260,1.316,261,0.691,263,0.137,266,0.106,267,0.251,268,1.247,272,0.099,273,0.129,274,1.16,276,0.396,281,1.062,283,1.76,286,0.087,287,0.485,289,0.196,290,0.995,291,1.17,299,0.16,301,0.215,310,0.21,311,0.286,315,1.211,316,0.191,317,0.755,324,0.437,326,0.808,327,0.105,329,0.565,330,0.652,332,0.558,334,0.688,336,0.683,337,0.307,338,0.18,342,0.118,345,0.55,355,0.601,364,0.408,370,0.297,371,0.394,374,0.589,375,0.103,377,0.115,379,0.42,380,0.082,381,0.822,400,0.194,403,0.137,404,0.198,406,1.651,408,1.554,410,0.145,415,0.386,418,0.287,419,0.203,420,0.301,421,0.339,422,0.352,423,0.305,426,0.234,427,0.343,428,4.089,435,0.13,462,0.125,487,0.538,488,0.808,491,0.297,495,0.843,496,0.127,497,0.93,498,0.624,500,0.098,502,0.202,503,0.127,505,0.343,511,1.086,513,0.374,514,0.248,517,0.319,518,0.124,526,0.145,531,0.13,532,0.589,533,0.354,538,0.095,540,0.231,541,0.971,542,0.33,543,0.258,544,0.311,548,0.312,553,1.12,555,0.726,556,0.18,558,0.394,562,0.199,568,0.182,569,0.42,571,0.424,572,2.982,589,0.101,593,0.281,615,0.103,622,0.221,626,0.27,628,0.127,634,0.214,648,0.595,653,0.234,654,0.225,656,0.13,665,0.115,668,1.065,669,0.27,671,0.086,672,1.927,678,0.106,679,0.58,680,0.121,682,0.149,683,0.214,690,0.098,691,0.111,695,0.13,696,1.474,702,0.269,704,0.132,709,1.52,712,0.489,713,0.135,715,0.266,716,0.427,719,0.153,721,0.301,722,0.871,723,0.1,734,0.589,735,1.013,736,0.157,742,0.465,744,0.118,746,0.506,748,0.184,749,0.361,753,0.108,755,0.217,756,0.098,758,0.942,760,0.767,761,1.692,766,0.194,767,1.606,772,0.356,773,0.221,774,0.099,776,0.225,780,0.157,783,0.066,789,0.755,790,0.099,792,0.343,793,0.439,794,0.407,796,0.388,799,0.221,800,0.111,801,0.336,804,0.322,805,0.267,806,0.266,808,0.33,810,0.388,812,0.69,813,3.137,818,0.545,820,0.727,822,0.125,823,0.577,824,0.496,826,0.489,831,0.223,833,0.163,839,0.214,841,0.323,843,4.53,844,0.132,845,1.935,846,0.18,850,0.2,851,0.149,852,0.726,854,0.58,856,0.116,862,0.121,866,1.194,875,0.225,876,0.241,877,0.132,878,0.394,879,0.302,882,0.157,883,0.116,890,0.813,892,0.675,902,0.281,904,0.209,909,0.137,910,0.137,911,0.388,912,0.254,913,0.149,915,0.108,918,0.614,919,0.648,922,0.371,924,0.227,926,0.631,927,0.815,928,0.888,931,3.057,936,0.889,938,0.11,940,0.135,947,0.104,948,0.35,949,0.443,950,0.121,953,0.282,955,0.17,957,1.035,958,0.116,959,0.621,962,0.787,966,0.527,971,0.335,972,0.439,976,0.139,982,0.322,986,0.145,992,0.103,995,0.129,997,0.391,998,0.4,1010,0.537,1015,0.118,1016,0.125,1017,0.145,1025,0.481,1027,0.103,1029,3.648,1030,2.725,1035,0.107,1038,1.917,1049,0.388,1054,0.284,1055,1.708,1056,3.297,1057,2.926,1058,1.971,1061,0.779,1064,0.12,1065,0.135,1066,0.137,1068,3.274,1069,0.244,1070,0.305,1071,0.149,1075,0.354,1076,0.721,1079,0.736,1082,1.94,1084,1.19,1088,2.218,1105,0.726,1110,0.115,1111,0.113,1113,0.12,1117,4.221,1125,0.121,1126,0.225,1130,1.448,1134,0.407,1137,0.489,1139,0.361,1140,0.354,1147,0.691,1150,0.122,1151,0.33,1154,0.404,1164,0.244,1167,0.36,1176,0.186,1195,0.17,1197,0.129,1208,0.209,1210,0.74,1212,0.258,1214,0.118,1219,0.137,1222,0.497,1230,0.196,1233,0.254,1240,0.157,1241,0.584,1252,0.489,1254,0.919,1255,0.106,1260,0.114,1264,0.202,1285,0.893,1291,0.244,1296,0.519,1297,0.244,1302,0.575,1304,4.24,1306,0.486,1311,0.879,1312,0.974,1318,0.731,1321,0.675,1324,0.368,1334,0.179,1337,0.401,1342,0.251,1343,0.12,1350,0.129,1352,0.122,1357,0.451,1360,0.142,1362,0.115,1366,0.135,1369,0.121,1370,0.214,1387,0.139,1388,0.139,1389,0.139,1393,0.127,1396,0.27,1397,0.11,1399,0.302,1400,0.515,1409,1.281,1413,0.129,1419,0.125,1421,0.435,1425,0.435,1429,0.193,1430,0.204,1434,0.145,1436,0.416,1443,0.247,1451,1.24,1452,4.549,1455,0.096,1456,0.135,1460,0.354,1462,0.231,1472,0.139,1473,0.139,1484,0.945,1487,0.262,1488,0.307,1489,0.105,1492,0.367,1496,0.142,1512,0.503,1531,0.91,1533,0.17,1536,0.137,1555,0.575,1558,0.13,1559,0.163,1564,0.362,1567,0.139,1576,0.217,1585,0.604,1587,0.741,1591,0.163,1597,0.109,1607,0.294,1609,0.132,1611,0.153,1613,0.244,1615,0.466,1637,0.401,1641,0.46,1651,0.139,1654,0.447,1669,0.157,1676,0.122,1677,0.466,1686,0.153,1689,0.129,1692,0.777,1708,0.287,1713,0.137,1714,0.435,1715,0.153,1731,0.135,1734,0.142,1770,0.139,1787,0.149,1831,0.124,1839,0.254,1849,0.124,1875,0.281,1888,0.127,1892,0.262,1899,0.17,1905,0.142,1906,0.69,1908,0.503,1909,0.13,1910,0.336,1914,0.13,1922,0.362,1924,0.101,1927,0.113,1935,0.294,1938,0.382,1963,0.262,1964,0.179,1965,0.179,1970,0.121,1974,3.056,1980,0.447,2014,0.149,2015,0.13,2023,0.145,2024,0.376,2026,0.104,2037,0.122,2045,0.153,2046,0.132,2052,0.56,2072,4.123,2075,0.311,2081,0.118,2082,0.677,2100,0.112,2101,1.874,2103,0.51,2104,0.179,2134,0.241,2152,2.154,2156,0.287,2158,3.898,2159,0.17,2160,0.435,2161,0.677,2174,0.408,2184,0.157,2185,4.167,2191,0.524,2209,0.163,2219,0.17,2234,0.281,2256,0.153,2268,0.145,2272,0.311,2274,0.135,2311,0.145,2334,0.142,2358,0.316,2363,0.46,2374,0.139,2396,0.589,2400,0.431,2404,0.145,2422,2.006,2426,0.142,2427,0.142,2446,0.163,2448,0.435,2452,0.247,2469,0.524,2503,0.17,2504,0.142,2529,0.145,2533,0.153,2541,0.354,2555,0.652,2576,0.149,2591,0.163,2595,0.335,2611,0.153,2612,0.157,2621,1.396,2655,0.547,2665,0.17,2666,0.157,2671,0.139,2730,0.179,2773,0.548,2776,0.354,2786,0.302,2834,2.365,2835,1.947,2840,0.775,2841,0.132,2848,0.139,2869,0.163,2888,0.322,2903,0.275,2905,2.937,2925,0.092,2955,0.888,2968,0.163,2971,0.157,2984,1.813,2986,0.142,2988,0.121,3014,0.335,3153,0.132,3201,0.157,3241,0.179,3276,1.248,3311,0.335,3312,0.335,3362,1.471,3372,0.354,3500,2.656,3543,0.17,3545,1.837,3549,1.093,3684,0.354,3723,0.335,3761,0.17,3762,0.17,3773,0.628,3776,1.918,3782,0.17,3802,0.17,3804,1.105,3805,0.153,3814,0.968,4016,0.808,4018,0.853,4039,0.179,4227,0.354,4258,0.17,4266,1.068,4271,0.163,4274,0.335,4329,0.17,4332,1.105,4333,0.163,4335,0.959,4342,1.332,4359,0.145,4378,0.322,4449,0.179,4456,0.524,4483,0.153,4496,0.142,4528,0.145,4580,0.322,4601,0.179,4616,0.17,4701,0.281,4709,1.465,4728,0.137,4760,0.179,4786,0.157,4831,0.179,4833,0.179,4836,0.17,4840,0.354,4906,0.179,4921,0.179,4987,0.17,5004,2.286,5008,0.335,5043,0.17,5049,0.322,5054,0.179,5071,0.447,5078,1.659,5080,0.179,5110,0.179,5112,2.192,5113,1.011,5114,1.248,5115,3.841,5116,0.193,5117,0.179,5118,0.157,5119,0.745,5120,0.193,5121,0.193,5122,0.354,5123,0.193,5124,0.354,5125,0.193,5126,1.011,5127,0.193,5128,3.822,5129,1.421,5130,1.317,5131,0.566,5132,0.524,5133,0.566,5134,0.382,5135,0.193,5136,0.382,5137,0.193,5138,0.382,5139,0.193,5140,0.193,5141,0.193,5142,0.193,5143,0.193,5144,0.193,5145,0.193,5146,2.037,5147,3.597,5148,0.382,5149,0.92,5150,0.566,5151,0.745,5152,0.193,5153,0.193,5154,0.193,5155,0.382,5156,0.193,5157,0.193,5158,0.193,5159,0.566,5160,0.588,5161,0.193,5162,0.382,5163,0.193,5164,0.51,5165,0.193,5166,0.193,5167,0.354,5168,0.193,5169,0.853,5170,0.193,5171,0.193,5172,0.193,5173,0.382,5174,0.382,5175,0.193,5176,0.382,5177,0.193,5178,0.745,5179,0.382,5180,0.193,5181,0.745,5182,0.193,5183,0.193,5184,0.382,5185,0.193,5186,0.179,5187,0.193,5188,0.745,5189,0.193,5190,0.193,5191,0.745,5192,0.193,5193,0.311,5194,0.193,5195,0.193,5196,0.382,5197,0.382,5198,0.382,5199,0.382,5200,0.382,5201,0.382,5202,0.193,5203,0.193,5204,0.193,5205,0.193,5206,0.179,5207,0.193,5208,0.354,5209,0.193,5210,0.193,5211,0.193,5212,0.193,5213,0.193,5214,0.193,5215,0.179,5216,0.382,5217,0.382,5218,0.193,5219,0.382,5220,0.193,5221,0.193,5222,0.193,5223,0.193,5224,0.193,5225,0.193,5226,0.193,5227,0.179,5228,0.193,5229,0.193,5230,0.193,5231,0.382,5232,0.382,5233,0.382,5234,0.382,5235,0.566,5236,0.382,5237,0.193,5238,0.354,5239,0.17,5240,0.179,5241,0.382,5242,0.179,5243,0.382,5244,0.193,5245,0.193,5246,1.421,5247,0.193,5248,0.193,5249,0.193,5250,0.382,5251,0.382,5252,0.193,5253,0.193,5254,0.193,5255,0.382,5256,0.193,5257,0.382,5258,0.382,5259,0.382,5260,0.382,5261,0.382,5262,0.354,5263,0.382,5264,0.193,5265,0.193,5266,0.382,5267,0.382,5268,0.382,5269,0.382,5270,0.382,5271,0.382,5272,0.382,5273,0.382,5274,0.382,5275,0.193,5276,0.193,5277,0.193,5278,0.193,5279,0.157,5280,0.193,5281,0.193,5282,0.193,5283,0.193,5284,0.179,5285,0.179,5286,0.193,5287,0.193,5288,0.193,5289,0.193,5290,0.193,5291,0.193,5292,0.193,5293,0.382,5294,0.193,5295,0.382,5296,0.193,5297,0.193,5298,0.193,5299,0.193,5300,0.193,5301,0.382,5302,0.566,5303,0.193,5304,0.745,5305,0.92,5306,0.853,5307,0.92,5308,0.193,5309,0.193,5310,0.447,5311,0.193,5312,0.193,5313,0.193,5314,0.193,5315,0.193,5316,0.193,5317,0.193,5318,0.566,5319,0.179,5320,0.193,5321,0.17,5322,0.17,5323,0.179,5324,0.179,5325,0.142,5326,0.193,5327,0.193,5328,0.524,5329,0.566,5330,0.382,5331,0.745,5332,0.745,5333,1.091,5334,0.382,5335,0.382,5336,0.193,5337,0.382,5338,0.193,5339,0.193,5340,0.193,5341,0.193,5342,0.163,5343,0.193,5344,0.382,5345,0.193,5346,0.566,5347,0.566,5348,0.193,5349,0.193,5350,0.193,5351,0.193,5352,0.193,5353,0.193,5354,0.382,5355,0.193,5356,0.193,5357,0.17,5358,0.157,5359,0.193,5360,0.382,5361,0.193,5362,1.091,5363,0.92,5364,0.92,5365,0.566,5366,0.382,5367,0.382,5368,0.382,5369,0.382,5370,0.193,5371,0.382,5372,0.193,5373,0.193,5374,0.382,5375,0.193,5376,0.382,5377,0.193]],["component/88",[1,0.382,2,0.692,18,0.605]],["title/89-1",[62,23.643]],["name/89-1",[]],["text/89-1",[]],["component/89-1",[]],["title/89-2",[1,10.292,62,16.531,1130,23.88]],["name/89-2",[]],["text/89-2",[]],["component/89-2",[]],["title/89-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/89-3",[]],["text/89-3",[]],["component/89-3",[]],["title/89-4",[1,10.292,62,16.531,1130,23.88]],["name/89-4",[]],["text/89-4",[]],["component/89-4",[]],["title/89-5",[26,17.386,62,12.708,66,24.33,761,20.344,1455,24.742]],["name/89-5",[]],["text/89-5",[]],["component/89-5",[]],["title/89-6",[26,15.584,62,11.391,241,19.776,291,18.236,761,18.236,1455,22.177]],["name/89-6",[]],["text/89-6",[]],["component/89-6",[]],["title/89-7",[653,46.72,846,35.908]],["name/89-7",[]],["text/89-7",[]],["component/89-7",[]],["title/89-8",[654,44.931,1452,36.464]],["name/89-8",[]],["text/89-8",[]],["component/89-8",[]],["title/89-9",[62,23.643]],["name/89-9",[]],["text/89-9",[]],["component/89-9",[]],["title/89-10",[1,10.292,62,16.531,1130,23.88]],["name/89-10",[]],["text/89-10",[]],["component/89-10",[]],["title/89-11",[26,17.386,62,12.708,66,24.33,761,20.344,1455,24.742]],["name/89-11",[]],["text/89-11",[]],["component/89-11",[]],["title/89-12",[26,15.584,62,11.391,241,19.776,291,18.236,761,18.236,1455,22.177]],["name/89-12",[]],["text/89-12",[]],["component/89-12",[]],["title/89",[38,15.841,808,37.829,843,25.702]],["name/89",[808,2.095]],["text/89",[0,1.266,1,1.224,2,0.74,7,0.828,10,1.633,21,0.828,26,0.491,27,2.312,34,1.703,38,2.96,39,0.548,46,1.011,53,0.836,57,2.646,58,0.602,62,2.699,63,1.769,66,1.258,67,0.698,68,0.687,69,0.554,70,0.754,71,2.618,82,0.95,83,1.015,92,0.715,95,0.652,97,0.828,98,1.532,102,1.965,109,0.707,122,0.579,136,0.787,141,0.615,152,0.501,153,0.655,154,1.103,158,1.518,163,0.59,167,4.592,176,1.41,177,0.758,183,0.631,197,0.488,204,0.853,205,0.828,211,1.596,215,0.733,222,2.877,223,0.971,229,0.609,232,1.933,233,0.55,241,1.579,244,2.457,245,1.366,247,0.646,253,1.939,257,0.504,260,1.348,261,0.943,273,0.936,281,1.052,283,0.977,286,0.631,287,0.542,290,1.782,291,2.594,310,0.775,311,1.371,315,2.247,317,0.612,324,1.033,326,0.602,327,0.764,329,0.728,332,0.719,336,0.932,345,1.559,379,0.643,395,2.203,406,1.265,415,0.728,423,0.758,428,1.167,430,0.936,487,0.602,488,1.318,498,0.698,511,1.601,518,0.901,533,0.88,550,0.687,553,1.927,556,0.665,562,0.733,589,0.738,591,0.88,638,0.733,654,5.711,669,0.997,672,1.545,696,1.326,709,1.809,714,0.853,722,1.424,734,0.659,735,0.805,741,3.017,746,1.435,764,0.964,767,0.649,772,2.46,783,0.482,792,0.853,800,0.807,808,5.888,813,2.753,824,0.936,841,0.609,843,4.802,846,0.662,866,0.518,878,0.98,879,1.111,890,1.763,899,0.95,904,1.41,912,0.936,931,0.738,940,0.98,953,0.702,997,0.738,998,2.765,1015,0.861,1017,1.057,1029,3.739,1030,2.467,1038,1.473,1055,4.798,1056,3.622,1057,3.214,1058,1.741,1061,1.064,1075,0.88,1076,3.32,1088,2.756,1093,1.909,1105,1.638,1117,4.19,1134,0.769,1137,1.37,1259,0.781,1304,2.414,1319,2.49,1321,0.87,1373,1.562,1400,0.787,1409,1.42,1429,2.23,1432,1.111,1452,4.635,1454,0.844,1488,0.764,1498,1.236,1511,0.997,1531,0.738,1555,0.88,1566,1.937,1839,1.716,1924,0.733,1974,2.257,2010,0.853,2046,2.445,2072,3.691,2075,1.145,2100,0.814,2152,2.681,2231,2.036,2422,2.098,2446,1.186,2555,0.997,2621,0.964,2655,0.836,2757,4.502,2869,1.186,2984,3.248,3543,2.265,3701,1.145,3972,1.304,4232,1.236,4274,3.134,4496,1.035,4580,1.186,4605,2.389,4948,1.236,5004,3.879,5049,2.172,5078,3.879,5118,6.277,5122,1.304,5124,1.304,5130,4.092,5132,2.389,5262,1.304,5342,1.186,5378,5.087,5379,1.407,5380,1.407,5381,1.304,5382,1.407,5383,1.407,5384,1.407,5385,3.306,5386,2.578,5387,3.567,5388,1.407,5389,2.578,5390,2.578,5391,1.407,5392,1.407,5393,1.407,5394,1.186,5395,1.111,5396,5.149,5397,1.407,5398,1.407,5399,1.407,5400,4.415,5401,1.407,5402,1.304,5403,1.304,5404,1.407,5405,1.407,5406,1.407,5407,3.567,5408,3.567,5409,1.407,5410,1.407,5411,1.407,5412,1.407]],["component/89",[1,0.382,2,0.692,18,0.605]],["title/90",[27,36.532,38,13.77,90,44.526,1835,37.007]],["name/90",[1835,2.357]],["text/90",[26,2.522,27,7.771,38,2.929,57,3.304,62,1.843,70,2.115,71,3.015,90,9.472,141,3.158,177,3.897,197,2.507,218,4.451,245,2.768,249,4.296,253,2.723,261,2.646,283,2.741,291,2.951,336,2.613,380,4.155,406,3.548,466,5.318,555,3.319,653,4.426,749,2.836,772,5.338,808,4.218,823,3.319,841,4.259,850,3.792,865,3.652,929,5.458,1494,5.711,1609,4.955,1725,5.121,1835,6.455,1959,6.092,2037,4.574,2046,4.955,2527,4.145,2565,6.701,2611,5.711,5118,5.884,5413,7.23,5414,7.23,5415,7.23,5416,6.701]],["component/90",[0,0.855,18,0.605,27,1.561]],["title/91",[26,26.621,5417,76.321]],["name/91",[3,1.542]],["text/91",[0,2.819,1,1.976,10,2.518,26,4.085,27,8.784,34,1.971,38,3.042,63,2.426,70,2.323,71,2.826,78,3.814,79,4.967,90,6.273,126,3.278,154,3.397,178,3.159,283,3.011,372,6.11,379,3.629,415,4.111,488,4.06,502,4.193,550,3.876,746,3.193,850,4.165,890,3.17,1054,3.988,1220,3.988,1299,6.786,1488,4.311,1509,5.361,1528,6.11,1835,5.214,5418,7.941]],["component/91",[0,0.855,18,0.605,27,1.561]],["title/92",[27,36.532,38,13.77,550,27.511,850,29.561]],["name/92",[550,1.752]],["text/92",[0,2.281,1,1.666,14,3.854,26,3.16,27,5.872,38,2.936,39,2.502,46,2.52,49,3.759,57,2.935,62,2.31,63,3.809,70,1.88,71,1.734,91,2.895,152,2.287,167,4.406,211,2.322,232,2.412,261,2.351,550,4.422,683,3.594,746,2.583,843,4.518,850,5.504,862,4.018,904,3.513,931,3.369,953,3.207,998,2.795,1029,4.028,1038,2.652,1058,3.136,1088,4.849,1135,3.932,1137,3.415,1297,4.113,1493,5.229,1494,8.29,1927,3.748,2221,5.413,5118,5.229,5419,11.397,5420,6.424,5421,5.954,5422,6.424,5423,6.424,5424,6.424,5425,6.424,5426,6.424,5427,6.424]],["component/92",[0,0.855,18,0.605,27,1.561]],["title/93-1",[8,22.976,3260,50.794]],["name/93-1",[]],["text/93-1",[]],["component/93-1",[]],["title/93",[0,20.009,8,16.968,27,36.532,261,20.628]],["name/93",[8,0.637,261,0.775]],["text/93",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,27,7.393,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1167,4.38,1457,5.612,1468,5.956,1831,5.807,5428,7.817]],["component/93",[0,0.855,18,0.605,27,1.561]],["title/94",[17,63.556]],["name/94",[3,1.542]],["text/94",[1,1.361,4,2.146,15,2.746,17,8.209,18,1.665,26,1.8,29,2.09,30,1.86,34,0.77,36,1.31,37,1.337,46,1.216,49,1.111,62,2.187,63,1.576,71,2.499,78,1.489,91,1.397,95,2.392,96,1.391,99,2.38,100,1.372,107,1.36,120,1.28,124,1.451,126,1.28,148,1.585,149,1.117,152,1.837,153,1.444,154,1.326,161,1.36,162,1.616,167,3.669,170,1.778,173,1.595,177,1.671,178,1.233,194,2.452,207,1.879,216,2.163,222,2.881,223,1.943,233,2.017,234,3.751,241,1.372,244,2.189,245,1.976,253,2.496,260,1.172,261,1.135,268,3.36,283,1.956,287,1.195,299,1.3,304,3.264,315,1.204,334,1.696,345,1.355,380,2.801,402,3.679,408,1.261,415,3.431,419,1.648,423,1.671,432,1.696,488,1.585,502,1.637,511,1.124,553,1.931,563,1.321,571,1.43,582,1.637,606,2.386,607,2.724,672,1.343,679,1.648,702,1.474,708,1.809,709,2.114,734,1.451,735,2.07,740,1.721,745,1.939,746,1.247,749,1.216,761,2.106,763,1.522,774,4.734,778,2.159,790,1.585,797,2.613,813,1.343,862,1.939,866,1.142,890,2.06,904,3.624,917,2.064,918,1.513,922,2.036,941,2.125,1061,1.28,1079,1.605,1093,4.134,1125,1.939,1134,1.696,1136,2.281,1139,1.216,1214,1.898,1220,2.591,1227,2.093,1295,1.696,1299,2.01,1309,1.898,1321,1.918,1430,1.659,1455,1.539,1465,2.036,1488,1.683,1494,4.076,1497,5.072,1509,2.093,1574,1.962,1646,2.33,1656,2.724,1770,2.236,1961,2.724,1968,2.386,1999,2.196,2023,2.33,2072,4.333,2074,3.97,2134,3.264,2138,2.386,2192,2.281,2193,2.613,2260,4.348,2262,2.874,2266,2.524,2267,2.613,2326,2.449,2427,2.281,2728,2.724,3201,2.524,3762,2.724,4312,2.874,4359,2.33,5358,4.2,5429,8.577,5430,2.874,5431,5.16,5432,2.724,5433,3.101,5434,3.101,5435,2.874,5436,3.101,5437,2.874,5438,2.386,5439,2.125,5440,3.101,5441,3.101,5442,3.101,5443,3.101,5444,3.101,5445,2.874,5446,3.101,5447,3.101,5448,5.16,5449,5.16,5450,3.101,5451,3.101,5452,3.101]],["component/94",[0,0.855,17,1.651,18,0.605]],["title/95-1",[8,22.976,3260,50.794]],["name/95-1",[]],["text/95-1",[]],["component/95-1",[]],["title/95",[0,20.009,8,16.968,17,38.626,261,20.628]],["name/95",[8,0.637,261,0.775]],["text/95",[0,4.03,1,1.429,2,2.586,8,3.743,14,5.402,17,6.171,19,5.992,20,6.078,58,3.852,83,3.544,145,4.662,183,4.039,216,3.775,261,4.155,287,3.471,313,3.76,370,3.595,521,5.57,750,4.395,763,4.419,790,4.604,865,4.548,1167,4.347,1457,5.57,1468,5.912,1831,5.764,5428,7.78]],["component/95",[0,0.855,17,1.651,18,0.605]],["title/96",[62,19.457,1354,52.304]],["name/96",[572,1.283,1354,1.451]],["text/96",[1,1.284,17,7.744,26,3.351,34,2.009,62,2.702,71,3.05,99,2.533,100,2.431,107,2.409,124,2.571,149,2.916,162,2.861,167,4.313,207,3.327,210,3.824,215,2.861,216,2.303,218,2.486,220,3.327,233,3.755,241,2.431,253,2.068,260,3.057,283,3.642,326,2.349,336,1.985,343,5.763,355,2.321,402,3.049,466,5.952,500,2.791,533,3.435,541,4.527,615,2.939,656,3.707,666,4.04,709,2.25,745,3.435,761,3.302,763,2.695,839,3.072,957,2.791,982,3.122,1296,3.824,1369,3.435,1464,5.061,1465,5.312,1555,3.435,1871,4.04,2057,3.824,2072,2.774,2074,4.226,2160,4.226,2270,4.825,2348,3.889,2509,4.627,3042,4.127,3565,4.338,4790,4.226,5432,7.109,5435,8.903,5453,5.491,5454,8.091,5455,4.226,5456,5.491,5457,5.09,5458,5.09,5459,8.091,5460,5.491,5461,5.491,5462,5.491,5463,5.491,5464,5.491,5465,5.491,5466,3.961,5467,5.491,5468,5.491,5469,5.491]],["component/96",[0,0.855,17,1.651,18,0.605]],["title/97-1",[26,26.621,681,40.849]],["name/97-1",[]],["text/97-1",[]],["component/97-1",[]],["title/97-2",[26,22.617,681,34.704,956,31.824]],["name/97-2",[]],["text/97-2",[]],["component/97-2",[]],["title/97",[19,50.794,20,51.523]],["name/97",[3,1.542]],["text/97",[0,2.667,15,2.061,19,5,20,6.812,26,1.734,36,2.102,38,1.215,49,1.781,58,4.317,69,1.957,71,2.924,87,1.992,95,2.305,120,4.704,124,2.328,152,1.771,162,2.591,167,4.287,176,2.719,178,2.989,194,2.364,197,3.757,203,1.985,216,2.085,223,1.873,232,1.867,234,1.557,245,1.904,260,1.879,315,1.93,355,2.102,427,4.552,502,2.625,512,2.427,520,2.74,552,2.527,590,5.935,615,2.661,665,2.955,681,2.661,749,1.95,755,2.827,786,6.141,799,2.876,813,2.154,866,1.831,875,2.928,953,2.483,956,2.441,1029,3.34,1030,2.119,1058,4.42,1067,3.522,1082,3.223,1101,3.737,1105,2.283,1139,2.947,1178,4.81,1186,3.076,1188,8.703,1210,3.915,1307,4.047,1342,3.265,1455,2.468,1488,2.699,1576,2.827,1657,3.928,1697,3.223,1770,3.587,1789,4.609,1934,6.968,2151,3.826,2294,4.369,2324,4.369,2325,4.609,2326,3.928,2452,3.223,3042,6.806,3262,4.19,4407,4.369,4421,4.369,5470,4.973,5471,4.973,5472,4.973,5473,4.973,5474,4.973,5475,4.973,5476,4.973]],["component/97",[0,0.676,18,0.478,19,1.267,20,1.285]],["title/98-1",[8,22.976,5428,52.304]],["name/98-1",[]],["text/98-1",[]],["component/98-1",[]],["title/98",[0,17.696,8,15.006,19,33.174,20,33.65,261,18.243]],["name/98",[8,0.637,261,0.775]],["text/98",[0,3.993,1,1.408,2,2.548,8,3.718,14,5.323,19,7.486,20,7.593,58,3.796,83,3.492,145,4.593,183,3.98,216,3.72,261,4.116,287,3.42,313,3.705,370,3.542,521,5.489,750,4.33,763,4.354,790,4.536,865,4.482,1167,4.284,1457,5.489,1468,5.825,1831,5.68,5428,7.708,5477,6.827]],["component/98",[0,0.676,18,0.478,19,1.267,20,1.285]],["title/99-1",[38,12.178,57,22.777,63,15.226,773,28.826,808,29.081]],["name/99-1",[]],["text/99-1",[]],["component/99-1",[]],["title/99-2",[38,12.178,57,22.777,63,15.226,773,28.826,3809,42.003]],["name/99-2",[]],["text/99-2",[]],["component/99-2",[]],["title/99",[21,38.173,38,15.841,773,37.497]],["name/99",[773,2.076]],["text/99",[0,0.582,1,1.018,7,0.965,10,2.034,13,1.025,21,4.686,35,0.984,37,0.707,38,2.683,39,1.154,49,1.061,56,0.871,57,4.135,62,2.132,63,2.431,70,1.186,71,2.661,95,1.879,96,0.735,109,2.035,126,0.677,141,1.294,148,0.838,149,2.521,152,1.443,153,0.764,154,0.701,157,1.107,161,0.719,166,0.749,167,4.644,169,0.805,176,0.896,178,0.652,180,0.948,194,1.926,197,0.569,207,0.993,216,0.687,218,0.742,219,0.932,221,0.726,223,0.617,229,2.489,233,0.641,244,1.72,245,0.628,250,1.879,260,2.644,261,0.6,281,1.654,283,3.017,289,0.843,290,0.662,291,0.669,304,1.037,310,1.632,311,1.138,315,3.246,317,0.713,318,1.107,319,1.183,326,1.267,332,0.838,336,1.796,340,1.037,373,1.05,377,0.974,380,0.693,395,0.701,408,2.608,420,0.871,432,0.896,487,0.701,488,2.072,495,0.796,542,0.956,549,2.324,553,0.613,555,0.753,569,0.925,582,0.866,668,0.8,672,0.71,680,1.853,681,0.877,716,0.94,722,0.655,729,0.956,735,1.266,765,1.232,767,1.367,772,0.783,773,5.702,790,0.838,794,1.62,801,0.974,808,3.742,812,1.037,823,0.753,840,1.795,843,2.277,854,0.871,865,0.828,866,0.604,876,1.037,915,0.917,918,0.8,931,2.126,934,0.884,937,1.091,948,1.014,953,0.818,982,1.685,992,1.575,998,2.161,1010,0.956,1025,0.722,1029,3.878,1030,2.116,1038,2.371,1049,2.03,1058,1.446,1061,1.223,1068,2.34,1069,1.05,1082,1.063,1084,2.03,1125,1.853,1130,1.091,1134,0.896,1146,1.183,1169,4.543,1220,0.823,1230,2.085,1241,0.877,1304,2.216,1352,1.037,1430,2.169,1451,1.076,1452,1.936,1454,0.984,1455,0.814,1481,4.186,1503,1.206,1509,1.107,1531,2.126,1584,1.206,1587,2.386,1643,5.415,1651,1.183,1669,2.411,1676,1.037,1689,1.091,1734,1.206,1905,1.206,1909,3.353,1924,0.854,1934,2.28,2010,0.993,2100,0.948,2156,1.232,2158,2.063,2160,1.262,2162,2.746,2174,1.183,2176,1.232,2306,2.871,2332,0.984,2334,2.179,2350,2.227,2363,2.411,2367,1.262,2375,1.44,2397,1.381,2452,1.063,2533,1.295,2742,1.44,2761,1.232,2796,1.232,2834,1.295,2899,1.206,2905,1.874,2955,4.043,2988,1.025,3545,1.295,3549,2.28,3794,1.44,3809,1.381,4156,1.262,4170,2.496,4258,1.44,4271,1.381,4884,1.44,4925,1.334,5069,2.603,5118,1.334,5169,1.519,5193,1.334,5206,1.519,5378,3.561,5421,2.746,5478,6.147,5479,6.414,5480,6.147,5481,1.44,5482,4.967,5483,1.639,5484,1.639,5485,1.639,5486,1.639,5487,2.603,5488,1.639,5489,1.639,5490,1.639,5491,1.639,5492,1.639,5493,8.91,5494,5.324,5495,2.063,5496,1.639,5497,3.561,5498,1.519,5499,1.639,5500,4.364,5501,1.639,5502,1.639,5503,8.362,5504,1.639,5505,1.639,5506,1.639,5507,2.603,5508,1.639,5509,1.639,5510,2.963,5511,2.746,5512,1.639,5513,2.963,5514,2.963,5515,2.963,5516,2.496,5517,1.639,5518,1.639,5519,1.639,5520,1.639,5521,1.639,5522,1.639,5523,1.639,5524,1.639,5525,1.639,5526,1.639,5527,1.639,5528,1.639,5529,1.639,5530,1.639,5531,1.639,5532,1.381,5533,2.963,5534,1.639]],["component/99",[0,0.855,18,0.605,21,1.418]],["title/100",[0,27.094,21,44.931]],["name/100",[3,1.542]],["text/100",[0,4.472,1,1.834,4,2.148,10,2.451,18,1.298,21,7.416,29,2.092,34,2.3,38,3.134,39,3.608,40,3.725,57,2.359,62,1.316,63,2.361,69,2.032,71,3.119,103,4.351,105,2.986,119,3.306,154,2.209,178,2.054,229,2.237,257,1.85,261,1.89,281,2.107,283,1.958,311,1.984,315,3.596,323,3.012,336,1.867,408,2.1,415,4.796,432,2.824,488,2.64,495,2.507,498,2.563,502,2.726,511,1.872,512,2.52,514,2.266,520,4.258,542,3.012,563,3.293,712,2.745,760,2.507,772,3.693,773,2.986,818,2.578,865,2.608,866,3.411,869,3.347,883,3.098,890,2.061,908,3.973,998,2.246,1006,4.351,1010,3.012,1025,2.275,1064,3.195,1065,3.596,1134,2.824,1139,2.025,1220,2.593,1227,3.486,1299,3.347,1311,3.195,1446,3.347,1452,2.467,1454,3.098,1488,4.196,1509,3.486,1587,3.04,1692,2.824,2527,2.961,2987,3.657,5071,4.079,5494,4.786,5535,5.164,5536,4.351,5537,4.786,5538,3.881]],["component/100",[0,0.855,18,0.605,21,1.418]],["title/101",[38,13.77,63,17.217,143,26.128,1416,28.643]],["name/101",[63,0.647,1416,1.076]],["text/101",[0,2.111,1,0.944,10,1.169,16,2.453,21,3.5,30,2.211,38,2.776,58,1.577,63,3.071,71,2.538,87,1.477,91,2.679,95,1.709,122,1.516,126,1.522,136,2.062,143,1.709,154,1.577,167,4.179,178,1.466,194,1.752,203,2.374,211,1.332,219,4.248,223,3.787,224,1.516,230,2.132,232,1.384,245,1.411,260,1.393,261,1.349,283,3.565,285,3.353,287,2.292,290,3.016,310,2.031,311,1.416,315,2.308,370,1.472,374,2.36,487,1.577,491,1.933,502,1.946,517,4.835,571,1.7,583,3.239,589,3.118,691,2.113,697,2.488,709,1.51,712,1.959,741,1.921,742,3.003,746,1.482,767,2.743,773,3.438,794,2.016,839,2.062,840,2.233,866,1.357,872,3.567,886,2.711,928,1.734,947,4.62,998,1.603,1010,2.15,1029,2.643,1030,2.533,1038,1.522,1055,2.42,1070,1.987,1076,2.113,1079,1.908,1082,2.389,1093,5.033,1130,2.19,1137,1.959,1139,1.446,1145,2.526,1169,2.611,1230,1.896,1259,2.046,1265,2.659,1297,2.36,1324,1.819,1368,3.533,1388,2.659,1389,2.659,1416,3.797,1464,2.305,1531,1.933,1539,3.239,1560,2.711,1583,4.013,1605,2.912,1610,6.306,1643,2.659,1647,7.121,1664,2.912,1695,2.453,2315,5.121,2326,2.912,2495,5.224,2529,2.77,2626,3.416,2629,4.575,2655,2.19,2723,3.239,3545,5.903,4004,2.912,4170,3.106,4826,3.106,5238,5.51,5507,7.532,5516,7.224,5539,3.686,5540,3.106,5541,5.945,5542,7.472,5543,3.686,5544,3.686,5545,3.686,5546,3.686,5547,3.686,5548,3.686,5549,3.686,5550,3.686,5551,3.686,5552,3.686,5553,3.686,5554,3.416]],["component/101",[0,0.855,18,0.605,21,1.418]],["title/102-1",[21,33.182,38,13.77,62,14.369,1029,25.058]],["name/102-1",[]],["text/102-1",[]],["component/102-1",[]],["title/102-2",[1029,25.058,1393,37.007,1643,40.655,5500,49.523]],["name/102-2",[]],["text/102-2",[]],["component/102-2",[]],["title/102",[21,38.173,38,15.841,772,30.979]],["name/102",[772,1.715]],["text/102",[0,0.675,1,0.726,4,2.308,10,2.017,13,1.19,21,6.27,37,1.973,38,3.177,39,0.741,49,1.213,62,1.166,63,2.952,69,0.749,71,2.321,94,0.81,96,0.853,98,1.454,102,1.048,105,1.1,109,3.836,122,0.782,126,0.785,140,1.056,141,1.479,149,1.22,152,0.677,153,2.963,163,0.798,167,4.52,173,0.979,194,2.174,197,1.174,211,1.653,222,0.71,223,2.089,224,0.782,229,0.824,244,0.807,247,0.873,250,1.569,251,0.973,253,0.716,260,2.664,261,0.696,267,1.249,276,1.799,281,0.776,283,3.09,289,0.979,290,0.768,310,2.52,311,1.301,315,3.338,324,0.762,328,0.918,329,2.368,336,2.299,395,0.814,400,0.967,406,0.934,408,1.86,421,0.865,462,2.194,488,2.339,495,0.923,511,0.69,539,0.873,553,0.712,555,0.873,582,1.004,588,1.548,626,1.347,628,1.249,653,3.893,668,0.928,680,1.19,709,0.779,722,0.759,723,0.985,735,0.594,765,2.544,772,4.617,773,1.1,790,0.973,793,1.12,794,1.04,800,1.091,808,2.668,809,1.177,823,0.873,840,1.153,843,3.231,852,0.873,854,1.011,865,0.961,866,1.247,872,5.797,890,0.759,897,1.347,901,1.249,904,3.478,916,1.11,919,1.13,928,1.593,929,3.531,931,1.775,934,1.025,942,1.284,949,1.13,954,1.153,973,2.964,981,1.43,998,1.99,1010,1.11,1025,0.838,1029,4.64,1030,1.949,1038,1.888,1049,2.32,1058,0.928,1070,1.025,1082,2.194,1084,1.304,1097,2.544,1139,0.746,1150,1.203,1169,4.992,1212,2.285,1230,1.742,1264,1.787,1285,0.979,1304,1.851,1389,1.372,1434,1.43,1452,0.909,1454,2.031,1462,1.153,1511,1.347,1615,1.19,1643,6.489,1646,1.43,1651,1.372,1676,1.203,1689,1.266,1835,1.249,1905,1.399,1909,1.284,1910,2.012,1911,2.755,1923,3.365,2081,1.164,2082,1.399,2131,1.548,2158,2.357,2161,1.399,2174,1.372,2258,1.548,2332,2.031,2400,1.1,2448,1.464,3121,1.763,3545,1.503,3565,1.503,3809,1.603,4138,1.671,4170,2.852,4821,1.464,5126,1.763,5385,1.763,5395,1.503,5439,1.304,5500,4.874,5507,2.974,5511,1.763,5516,1.603,5555,7.162,5556,8.664,5557,7.555,5558,6.36,5559,4.574,5560,3.385,5561,1.671,5562,3.385,5563,4.574,5564,1.902,5565,1.902,5566,1.902,5567,1.902,5568,1.902,5569,1.902,5570,1.902,5571,1.902,5572,1.902,5573,1.902,5574,1.902,5575,1.902,5576,1.902,5577,1.902,5578,1.902,5579,1.902,5580,1.902,5581,1.902,5582,1.902,5583,1.902,5584,1.902,5585,1.902,5586,1.902,5587,1.902,5588,1.902,5589,1.902,5590,1.902,5591,1.902,5592,1.902,5593,1.902]],["component/102",[0,0.855,18,0.605,21,1.418]],["title/103-1",[8,22.976,3260,50.794]],["name/103-1",[]],["text/103-1",[]],["component/103-1",[]],["title/103",[0,20.009,8,16.968,21,33.182,261,20.628]],["name/103",[8,0.637,261,0.775]],["text/103",[0,3.956,1,1.388,2,2.511,8,3.693,14,5.246,21,6.561,58,3.741,83,3.441,129,5.992,145,4.527,163,3.666,183,3.922,216,3.666,261,4.079,287,3.371,313,3.652,370,3.491,521,5.409,589,4.586,750,4.268,763,4.291,790,4.471,865,4.417,947,4.713,1167,4.222,1457,5.409,1468,5.741,1670,5.532,1831,5.598,5428,7.637]],["component/103",[0,0.855,18,0.605,21,1.418]],["title/104-1",[380,32.256,890,30.47]],["name/104-1",[]],["text/104-1",[]],["component/104-1",[]],["title/104-2",[5516,78.148]],["name/104-2",[]],["text/104-2",[]],["component/104-2",[]],["title/104-3",[872,45.789,890,30.47]],["name/104-3",[]],["text/104-3",[]],["component/104-3",[]],["title/104-4",[5561,81.486]],["name/104-4",[]],["text/104-4",[]],["component/104-4",[]],["title/104-5",[5555,81.486]],["name/104-5",[]],["text/104-5",[]],["component/104-5",[]],["title/104-6",[5557,85.955]],["name/104-6",[]],["text/104-6",[]],["component/104-6",[]],["title/104-7",[773,44.136,890,30.47]],["name/104-7",[]],["text/104-7",[]],["component/104-7",[]],["title/104-8",[5481,81.486]],["name/104-8",[]],["text/104-8",[]],["component/104-8",[]],["title/104-9",[5487,81.486]],["name/104-9",[]],["text/104-9",[]],["component/104-9",[]],["title/104-10",[5478,81.486]],["name/104-10",[]],["text/104-10",[]],["component/104-10",[]],["title/104-11",[62,16.531,241,28.699,291,26.464]],["name/104-11",[]],["text/104-11",[]],["component/104-11",[]],["title/104",[62,19.457,1354,52.304]],["name/104",[62,0.54,1354,1.451]],["text/104",[0,2.196,1,1.4,10,2.306,15,1.168,21,6.439,26,2.158,34,0.7,38,2.155,62,2.621,63,1.455,71,3.197,78,1.354,79,1.763,91,1.27,107,1.237,114,1.307,126,1.164,147,1.932,161,1.237,162,2.482,163,1.997,166,2.177,167,2.127,173,1.45,197,2.145,203,1.125,211,1.722,216,1.182,218,1.276,219,2.709,241,3.219,250,2.868,251,4.51,253,1.794,257,1.01,260,1.8,261,1.032,263,1.997,276,1.498,281,1.151,283,3.561,287,1.087,290,3.281,291,4.905,310,4.007,315,1.094,336,3.189,345,1.232,375,1.509,379,1.288,395,1.206,462,1.827,495,1.368,498,1.399,511,1.022,548,2.625,550,1.376,553,1.783,562,1.469,568,1.347,569,1.59,615,1.509,653,6.695,672,1.221,674,1.616,709,1.155,760,1.368,761,2.525,772,2.956,773,3.578,808,3.609,843,2.883,856,1.691,872,4.363,886,2.074,890,1.125,901,4.062,929,4.037,931,2.498,947,4.754,953,1.407,956,2.338,1070,1.519,1075,1.763,1096,2.375,1164,1.805,1230,3.741,1259,1.565,1324,1.391,1357,2.886,1455,4.378,1519,2.613,1557,1.997,1586,2.477,1610,3.504,1643,4.462,1655,1.726,1664,4.887,1692,2.605,1908,4.176,1924,2.482,2081,2.916,2100,1.63,2363,3.877,2400,1.63,2427,2.074,2442,2.227,2552,2.375,2611,3.763,2655,1.675,3549,3.666,3565,6.421,3794,2.477,5378,2.477,5478,4.186,5480,4.186,5481,4.186,5487,2.477,5493,4.415,5538,2.119,5554,2.613,5555,2.477,5556,4.415,5561,4.186,5594,6.186,5595,2.819,5596,2.819,5597,2.819,5598,2.819,5599,4.764,5600,2.819,5601,2.819,5602,2.819,5603,2.819,5604,2.819,5605,2.819,5606,4.764,5607,2.819,5608,2.819,5609,2.819,5610,2.294,5611,2.819,5612,2.819,5613,2.819,5614,4.764,5615,4.415,5616,2.819]],["component/104",[0,0.855,18,0.605,21,1.418]],["title/105-1",[1849,59.371]],["name/105-1",[]],["text/105-1",[]],["component/105-1",[]],["title/105",[234,29.041]],["name/105",[234,1.124]],["text/105",[10,2.583,46,4.175,63,2.488,71,1.496,98,2.381,105,3.205,126,2.288,166,2.532,167,4.871,203,2.212,232,2.08,234,3.024,272,2.833,404,2.869,498,2.751,511,2.009,539,4.887,553,2.074,568,2.648,589,4.272,681,2.966,696,2.851,704,3.798,760,2.69,774,2.833,813,2.401,840,3.358,852,3.74,892,5.391,918,2.705,953,2.767,972,3.263,973,3.592,1030,3.47,1034,4.264,1070,2.987,1127,3.639,1137,5.133,1154,3.008,1197,3.688,1306,4.3,1322,4.077,1454,3.325,1661,3.925,1684,3.506,1692,4.454,1849,6.182,1854,4.511,1901,8.192,2332,3.325,2721,4.869,2739,4.869,5617,4.869,5618,5.136,5619,5.542,5620,5.542,5621,5.542,5622,5.542,5623,5.542,5624,7.549,5625,5.542,5626,4.67,5627,5.542,5628,5.542,5629,6.863,5630,5.542,5631,5.542,5632,5.542]],["component/105",[0,0.855,18,0.605,22,1.603]],["title/106-1",[38,18.646,1647,54.056]],["name/106-1",[]],["text/106-1",[]],["component/106-1",[]],["title/106",[38,22.657]],["name/106",[38,0.877]],["text/106",[38,2.99,46,2.381,71,1.638,122,3.578,141,2.652,154,2.597,166,2.774,167,4.845,203,2.423,210,4.227,211,3.145,232,2.279,257,2.174,273,4.04,421,5.053,498,4.319,539,3.995,555,2.787,674,5.832,796,4.16,852,3.995,866,3.205,918,2.963,1025,2.675,1029,2.698,1030,2.586,1230,3.123,1306,3.205,1454,3.642,1488,3.295,1638,5.115,1647,8.668,1649,8.776,1684,3.84,1909,4.098,2453,5.626,2761,4.562,2820,10.333,5626,5.115,5633,6.07,5634,6.07,5635,8.701,5636,8.701,5637,8.701,5638,8.701,5639,8.701,5640,6.07,5641,5.626]],["component/106",[0,0.855,18,0.605,22,1.603]],["title/107",[22,61.721]],["name/107",[3,1.542]],["text/107",[0,3.303,1,1.477,2,1.916,4,2.776,8,3.669,10,2.95,22,8.111,29,2.703,37,2.878,38,1.63,51,4.084,63,2.038,66,5.228,68,3.256,71,2.891,76,5.134,77,4.44,102,3.676,171,7.159,203,2.664,222,2.489,229,2.89,234,2.089,273,4.44,286,4.173,287,2.572,511,3.373,528,5.43,555,3.063,668,3.256,783,2.287,793,3.928,813,2.89,857,4.173,866,2.457,1011,4.908,1079,3.454,1130,2.457,1148,3.676,1437,3.892,1454,5.581,1487,4.572,1531,3.499,1532,6.184,1536,4.725,1588,6.184,1716,4.324,1980,5.271,2134,4.221,2827,5.134,5498,6.184,5537,6.184,5617,5.862,5642,9.303,5643,6.672,5644,8.174,5645,6.672,5646,6.672]],["component/107",[0,0.855,18,0.605,22,1.603]],["title/108-1",[3124,65.686]],["name/108-1",[]],["text/108-1",[]],["component/108-1",[]],["title/108-2",[3106,71.363]],["name/108-2",[]],["text/108-2",[]],["component/108-2",[]],["title/108",[783,31.796]],["name/108",[783,1.231]],["text/108",[10,1.322,15,1.727,46,2.572,69,1.64,71,1.77,83,1.64,114,1.932,161,1.829,166,1.905,167,4.834,183,1.87,203,1.664,210,2.902,222,3.023,223,1.57,251,3.353,299,3.399,317,1.813,324,1.67,379,1.905,380,3.426,498,2.069,511,1.511,514,1.829,539,4.588,555,1.914,563,1.776,668,2.034,760,2.023,774,2.131,783,3.638,794,2.279,808,2.432,813,3.511,852,3.01,918,2.034,952,6.237,953,2.081,1030,5.041,1038,3.346,1049,2.856,1070,2.247,1105,4.22,1154,2.263,1208,3.586,1230,4.728,1306,2.201,1318,2.144,1319,5.183,1429,2.105,1454,2.501,1595,5.046,1684,2.637,1692,2.279,1892,4.494,2080,5.741,2396,2.668,2607,3.066,2786,3.293,2820,3.662,2987,2.952,3106,7.072,3116,3.863,3124,7.078,3600,3.512,3702,5.337,4271,3.512,4964,3.863,5438,3.207,5617,5.761,5624,8.518,5626,6.83,5641,3.863,5647,6.557,5648,6.557,5649,6.557,5650,6.557,5651,4.168,5652,8.105,5653,3.863,5654,4.168,5655,4.168,5656,4.168,5657,4.168,5658,4.168,5659,4.168,5660,3.863,5661,6.557,5662,4.168,5663,4.168,5664,4.168,5665,4.168]],["component/108",[0,0.855,18,0.605,22,1.603]],["title/109-1",[8,22.976,3260,50.794]],["name/109-1",[]],["text/109-1",[]],["component/109-1",[]],["title/109",[0,20.009,8,16.968,22,37.511,261,20.628]],["name/109",[8,0.637,261,0.775]],["text/109",[0,4.03,1,1.429,2,2.586,8,3.743,14,5.402,22,7.556,58,3.852,83,3.544,145,4.662,163,3.775,261,4.155,287,3.471,313,3.76,370,3.595,521,5.57,746,3.621,763,4.419,790,4.604,865,4.548,1093,4.819,1167,4.347,1457,5.57,1468,5.912,1831,5.764,5428,7.78,5666,9.004]],["component/109",[0,0.855,18,0.605,22,1.603]],["title/110",[23,28.959,26,15.584,62,11.391,848,24.082,849,23.749,850,23.433]],["name/110",[26,0.523,572,0.909,853,1.028]],["text/110",[62,3.126,140,4.241,167,4.797,194,3.631,211,4.433,250,5.685,355,3.229,370,3.05,380,3.229,572,4.629,749,2.997,813,3.31,848,5.5,849,5.424,850,5.352,853,5.236,1029,4.537,1030,3.255,1038,3.154,1056,4.779,1057,4.241,1088,4.089,1119,6.438,1120,6.713,1121,6.713,1123,6.036,1124,6.713,2152,5.742,2597,8.599,2598,7.081,4992,7.081,4993,7.081,5667,7.64]],["component/110",[0,0.855,18,0.605,23,1.561]],["title/111-1",[71,17.5,767,29.912,2988,40.557]],["name/111-1",[]],["text/111-1",[]],["component/111-1",[]],["title/111-2",[1417,49.986]],["name/111-2",[]],["text/111-2",[]],["component/111-2",[]],["title/111-3",[1210,48.324]],["name/111-3",[]],["text/111-3",[]],["component/111-3",[]],["title/111-4",[848,34.949,849,34.466,850,34.008]],["name/111-4",[]],["text/111-4",[]],["component/111-4",[]],["title/111",[0,27.094,23,49.467]],["name/111",[3,1.542]],["text/111",[1,1.035,2,1.189,3,5.294,8,1.246,10,1.313,23,2.683,34,1.028,38,3.011,39,3.566,40,2.986,62,1.055,69,1.629,70,1.211,71,2.178,91,1.865,119,2.65,122,2.682,161,2.861,173,2.13,183,1.857,197,3.175,218,3.653,222,1.544,224,1.702,229,1.793,253,4.321,261,1.515,267,6.54,283,4.35,291,3.293,311,1.59,315,2.531,324,1.659,380,1.75,418,2.104,495,2.01,500,2.104,511,1.501,512,2.021,514,1.816,520,3.593,530,3.952,648,1.957,665,2.46,672,1.793,735,1.293,762,2.932,767,1.91,783,1.419,813,1.793,843,2.585,848,4.349,849,4.289,866,2.402,923,2.2,927,2.683,928,1.948,931,4.232,956,2.032,957,2.104,992,6.099,1064,2.561,1065,2.883,1066,4.619,1076,2.373,1097,6.065,1127,2.718,1134,2.264,1139,1.624,1150,2.619,1210,4.771,1214,2.534,1229,4.34,1260,3.839,1262,3.111,1413,2.755,1417,2.231,1443,2.683,1446,2.683,1462,6.035,1488,2.247,1613,2.65,1654,3.27,1656,3.637,2379,6.065,2512,3.488,2838,6.568,3090,3.837,3362,2.619,4496,3.045,4801,3.837,5071,3.27,5668,6.044,5669,4.14,5670,6.522,5671,4.14,5672,4.14,5673,4.14,5674,6.522,5675,3.837]],["component/111",[0,0.855,18,0.605,23,1.561]],["title/112-1",[8,22.976,3260,50.794]],["name/112-1",[]],["text/112-1",[]],["component/112-1",[]],["title/112",[0,20.009,8,16.968,261,20.628,1066,39.921]],["name/112",[8,0.637,261,0.775]],["text/112",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1066,8.079,1167,4.38,1457,5.612,1468,5.956,1831,5.807,5428,7.817]],["component/112",[0,0.855,18,0.605,23,1.561]],["title/113",[26,19.66,38,13.77,39,21.953,62,14.369]],["name/113",[26,0.738,572,1.283]],["text/113",[15,3.069,23,4.8,38,2.442,39,2.885,48,3.502,62,2.548,167,4.878,194,5.376,215,3.859,582,3.91,813,3.208,854,3.937,865,3.741,1029,5.029,1030,3.156,1038,4.126,1056,4.633,1057,4.112,1088,5.349,1092,7.079,1101,5.566,1291,4.742,1337,5.246,2037,4.686,2146,6.241,2147,6.028,2151,5.699,2512,6.241,2515,6.508,2520,7.895,2559,6.865,2560,6.508,2561,6.865,2562,6.865,2599,6.865,5676,7.406,5677,7.406,5678,7.406,5679,7.406]],["component/113",[0,0.855,18,0.605,23,1.561]],["title/114",[62,19.457,1354,52.304]],["name/114",[572,1.283,1354,1.451]],["text/114",[0,1.751,1,1.714,4,2.052,23,3.197,26,3.505,38,2.201,39,4.595,49,1.767,62,1.257,70,1.443,71,3.357,93,1.87,107,4.409,116,5.17,120,2.036,147,3.38,154,2.11,162,3.891,178,1.962,197,2.589,211,1.783,216,2.068,218,2.233,250,2.286,251,3.818,253,3.394,257,1.767,283,3.416,291,2.013,299,2.068,334,2.697,336,3.257,375,2.64,379,2.254,427,2.989,428,3.38,500,2.506,502,2.604,514,2.164,572,2.989,615,3.996,760,2.394,761,3.048,818,3.728,843,1.955,854,2.622,890,3.597,929,5.002,931,2.587,934,2.658,953,2.462,992,4.789,1025,3.29,1066,7.646,1107,5.289,1210,4.695,1249,5.257,1264,2.604,1305,3.33,1455,2.448,1521,4.571,1615,3.085,1726,3.158,2072,2.491,2185,3.282,2520,3.896,2588,4.571,3086,4.014,4448,4.014,5215,4.571,5680,4.932,5681,4.932,5682,4.932,5683,7.467,5684,4.932,5685,9.01,5686,4.932,5687,4.932,5688,4.932,5689,4.334,5690,4.932,5691,4.571]],["component/114",[0,0.855,18,0.605,23,1.561]],["title/115-1",[62,16.531,1235,39.289,3524,44.436]],["name/115-1",[]],["text/115-1",[]],["component/115-1",[]],["title/115-2",[62,16.531,669,45.925,3524,44.436]],["name/115-2",[]],["text/115-2",[]],["component/115-2",[]],["title/115-3",[63,17.217,80,31.534,553,21.091,3524,38.626]],["name/115-3",[]],["text/115-3",[]],["component/115-3",[]],["title/115-4",[143,35.379,1362,45.352]],["name/115-4",[]],["text/115-4",[]],["component/115-4",[]],["title/115-5",[164,34.949,760,31.477,3524,44.436]],["name/115-5",[]],["text/115-5",[]],["component/115-5",[]],["title/115-6",[183,29.086,783,22.231,2780,56.973]],["name/115-6",[]],["text/115-6",[]],["component/115-6",[]],["title/115-7",[760,37.05,2905,48.284]],["name/115-7",[]],["text/115-7",[]],["component/115-7",[]],["title/115-8",[848,34.949,849,34.466,850,34.008]],["name/115-8",[]],["text/115-8",[]],["component/115-8",[]],["title/115-9",[120,31.506,786,41.136]],["name/115-9",[]],["text/115-9",[]],["component/115-9",[]],["title/115-10",[38,18.646,1152,42.048]],["name/115-10",[]],["text/115-10",[]],["component/115-10",[]],["title/115-11",[62,19.457,1024,48.86]],["name/115-11",[]],["text/115-11",[]],["component/115-11",[]],["title/115-12",[57,25.755,63,17.217,283,21.369,683,31.534]],["name/115-12",[]],["text/115-12",[]],["component/115-12",[]],["title/115-13",[38,10.916,164,24.082,501,27.642,553,16.719,843,17.71,1471,32.228]],["name/115-13",[]],["text/115-13",[]],["component/115-13",[]],["title/115-14",[1291,41.51,2072,32.754,3524,44.436]],["name/115-14",[]],["text/115-14",[]],["component/115-14",[]],["title/115-15",[5692,92.74]],["name/115-15",[]],["text/115-15",[]],["component/115-15",[]],["title/115-16",[5693,92.74]],["name/115-16",[]],["text/115-16",[]],["component/115-16",[]],["title/115-17",[5694,92.74]],["name/115-17",[]],["text/115-17",[]],["component/115-17",[]],["title/115-18",[5695,92.74]],["name/115-18",[]],["text/115-18",[]],["component/115-18",[]],["title/115-19",[5696,92.74]],["name/115-19",[]],["text/115-19",[]],["component/115-19",[]],["title/115",[62,23.643]],["name/115",[62,0.915]],["text/115",[0,0.786,1,0.904,4,1.609,10,1.634,15,3.747,18,0.3,34,0.96,37,0.954,38,2.662,39,1.206,45,0.715,46,0.468,49,2.514,57,1.415,58,0.51,62,1.688,63,2.618,69,0.469,70,0.647,71,2.6,78,1.487,79,1.384,80,3.186,83,0.871,93,0.452,98,0.512,100,0.528,107,0.523,116,2.34,120,0.913,126,0.492,131,0.738,141,0.521,143,2.865,148,0.61,152,1.102,153,0.555,154,0.51,159,1.354,161,1.358,163,0.5,164,3.331,165,3.048,167,4.476,178,0.474,183,1.389,197,2.561,203,0.476,211,1.398,215,0.621,218,1.002,222,0.445,223,0.449,224,0.49,229,0.516,232,0.448,233,2.225,234,0.373,244,0.506,245,0.457,250,1.026,253,1.166,257,2.214,260,1.719,261,1.133,266,1.21,271,0.763,274,1.176,281,0.903,283,2.661,286,0.535,291,1.857,299,1.298,324,1.241,326,0.51,329,0.617,338,0.561,345,0.521,348,0.917,355,2.406,370,0.476,371,0.83,373,0.763,377,0.708,379,0.545,398,0.715,402,1.228,406,1.899,408,0.485,418,0.606,421,1.759,426,0.73,427,1.341,428,2.333,462,0.773,497,0.702,498,0.592,501,1.915,502,1.168,511,1.869,544,0.97,549,0.684,553,3.298,555,1.016,560,0.61,563,0.943,589,2.986,615,0.638,628,1.453,668,0.582,669,0.844,682,0.917,683,3.186,709,1.864,735,0.372,741,0.621,746,2.072,750,0.582,760,1.503,763,0.585,772,1.057,773,0.689,776,1.303,783,0.759,786,1.193,805,0.564,813,0.959,817,0.844,823,0.547,843,3.494,848,3.069,849,3.027,850,2.029,852,0.547,853,1.516,854,0.634,856,1.328,862,1.384,866,2.276,872,0.715,890,0.883,899,0.805,904,1.21,925,0.722,926,1.28,928,1.041,929,1.228,938,1.258,947,0.643,951,1.111,956,0.585,965,0.602,976,0.86,1021,1.384,1024,1.417,1026,0.97,1027,1.176,1029,3.81,1030,1.648,1038,3.313,1052,1.567,1055,0.783,1058,2.22,1061,0.492,1064,1.915,1088,4.131,1097,0.896,1105,1.016,1113,0.738,1148,0.657,1149,2.72,1152,3.867,1154,2.1,1178,1.417,1202,1.596,1223,1.944,1230,1.138,1249,0.696,1255,0.657,1264,0.629,1291,5.137,1305,0.805,1362,1.84,1437,0.696,1443,0.773,1471,3.717,1488,0.647,1489,1.201,1492,1.434,1497,1.453,1535,1.865,1536,0.844,1558,0.805,1637,0.844,1655,0.73,1725,3.65,2026,0.643,2037,1.4,2062,0.97,2069,1.048,2072,1.954,2073,0.942,2107,1.048,2228,1.048,2333,5.578,2342,1.048,2355,1.005,2361,1.628,2396,1.417,2514,1.048,2552,1.005,2576,1.703,2607,1.628,2611,0.942,2629,0.917,2778,1.541,2780,1.944,2905,1.4,2925,0.567,2955,1.801,2987,0.844,3106,2.382,3122,0.97,3123,1.005,3524,8.538,3549,1.703,3702,1.801,3777,0.896,4266,0.896,5012,2.051,5019,1.105,5069,1.048,5115,1.105,5660,1.105,5691,1.105,5697,1.192,5698,1.192,5699,1.192,5700,1.192,5701,1.192,5702,1.192,5703,1.192,5704,1.105,5705,1.192,5706,1.192,5707,1.192,5708,1.105,5709,1.192,5710,1.192,5711,1.192,5712,1.192,5713,1.192,5714,1.192,5715,1.192,5716,1.192,5717,2.213,5718,1.192,5719,1.192,5720,1.192,5721,1.192,5722,1.192,5723,1.192,5724,1.192,5725,2.051,5726,1.192,5727,1.192,5728,1.192,5729,1.192,5730,2.051,5731,1.048,5732,5.153,5733,1.192,5734,1.192,5735,2.213,5736,1.192,5737,1.192,5738,1.192,5739,1.192,5740,1.192,5741,1.192,5742,1.192,5743,1.192,5744,1.192,5745,1.192,5746,1.192,5747,1.192,5748,1.192,5749,1.192,5750,1.192,5751,1.192,5752,1.105,5753,1.192,5754,1.192,5755,2.213,5756,2.213,5757,2.213,5758,2.213,5759,1.192,5760,3.868,5761,1.192,5762,1.192,5763,2.213,5764,2.213,5765,1.192,5766,1.192,5767,2.213,5768,2.213,5769,3.868,5770,1.192,5771,2.213,5772,1.192,5773,1.192]],["component/115",[0,0.855,18,0.605,24,1.706]],["title/116",[0,27.094,501,47.217]],["name/116",[501,2.221]],["text/116",[0,4.687,71,2.782,107,4.522,114,4.778,218,4.666,257,3.692,283,3.908,291,4.207,501,6.377,1148,5.679,1725,7.3,5708,9.553,5774,10.307]],["component/116",[0,0.855,18,0.605,24,1.706]],["title/117-1",[315,35.998]],["name/117-1",[]],["text/117-1",[]],["component/117-1",[]],["title/117-2",[1361,75.483]],["name/117-2",[]],["text/117-2",[]],["component/117-2",[]],["title/117",[1127,60.891]],["name/117",[3,1.542]],["text/117",[0,3.747,1,1.915,2,3.032,10,2.895,24,6.465,26,2.265,30,5.476,34,2.266,37,2.801,38,2.23,39,3.555,45,3.895,49,3.27,70,1.9,71,2.849,78,4.384,79,5.709,107,2.849,116,4.696,129,6.255,164,4.92,215,3.383,233,2.538,257,2.326,262,3.934,286,2.913,299,2.722,315,3.543,317,2.825,539,2.981,560,3.32,669,4.599,746,4.245,760,3.152,866,2.391,880,4.776,890,3.644,912,4.321,1054,3.26,1064,4.017,1169,4.599,1402,6.715,1471,6.584,1725,6.465,1784,4.45,2172,5.471,2361,4.776,2655,3.858,2841,4.45,3524,7.847,4506,5.129,5775,5.471]],["component/117",[0,0.855,18,0.605,24,1.706]],["title/118",[164,30.379,746,22.666,890,22.502,3524,38.626]],["name/118",[164,0.809,890,0.599,3524,1.028]],["text/118",[120,4.149,164,5.417,257,3.6,286,4.508,746,4.886,786,5.417,890,4.851,3524,6.888,5730,9.315,5752,9.315,5776,10.05,5777,10.05,5778,10.05,5779,10.05,5780,10.05,5781,9.315]],["component/118",[0,0.855,18,0.605,24,1.706]],["title/119-1",[8,22.976,5428,52.304]],["name/119-1",[]],["text/119-1",[]],["component/119-1",[]],["title/119-2",[8,22.976,3887,60.293]],["name/119-2",[]],["text/119-2",[]],["component/119-2",[]],["title/119-3",[8,22.976,3827,70.737]],["name/119-3",[]],["text/119-3",[]],["component/119-3",[]],["title/119-4",[671,34.082,3270,36.464]],["name/119-4",[]],["text/119-4",[]],["component/119-4",[]],["title/119-5",[3271,51.484]],["name/119-5",[]],["text/119-5",[]],["component/119-5",[]],["title/119-6",[8,22.976,3828,70.737]],["name/119-6",[]],["text/119-6",[]],["component/119-6",[]],["title/119-7",[8,22.976,3829,67.059]],["name/119-7",[]],["text/119-7",[]],["component/119-7",[]],["title/119",[0,17.696,8,15.006,164,26.866,261,18.243,1471,35.954]],["name/119",[8,0.637,261,0.775]],["text/119",[0,2.492,1,1.529,2,2.016,8,3.86,24,4.972,26,2.449,34,1.743,36,2.967,37,3.028,50,3.991,58,3.003,62,1.79,83,4.331,134,3.612,152,2.5,153,3.27,261,4.334,287,4.242,313,2.932,370,4.393,408,2.854,521,6.807,654,4.133,671,3.135,746,2.823,761,2.865,763,3.445,790,3.589,865,3.546,866,2.585,878,4.888,1070,3.784,1134,3.839,1167,3.39,1259,3.897,1291,4.494,1342,4.609,1452,3.354,1457,4.343,1468,4.609,1831,7.044,2991,4.972,3271,3.897,3298,5.915,3299,5.064,3736,6.506,5428,6.604,5781,6.506,5782,7.02,5783,7.02]],["component/119",[0,0.855,18,0.605,24,1.706]],["title/120",[25,56.771]],["name/120",[3,1.542]],["text/120",[0,3.759,1,1.844,2,2.519,10,2.29,25,6.014,26,1.647,37,2.036,51,2.89,53,2.805,54,2.805,63,1.442,66,2.304,70,1.381,71,2.367,76,3.633,96,2.118,105,2.73,106,2.601,126,1.949,152,1.681,154,3.09,157,3.187,158,2.779,169,2.317,171,3.633,175,2.779,176,2.581,178,1.878,194,3.433,211,1.706,222,1.761,244,2.003,245,2.765,247,2.167,264,2.662,287,1.82,299,1.979,328,2.279,374,3.022,380,3.052,395,3.09,423,2.544,488,2.414,502,2.492,504,3.842,506,3.473,553,1.766,556,2.232,563,3.737,566,3.099,634,4.041,760,2.292,767,2.178,794,2.581,798,6.086,826,3.099,832,2.986,857,2.953,868,3.142,869,3.06,871,5.209,877,6.011,890,2.883,948,2.92,949,4.291,951,2.37,953,2.357,956,2.317,971,4.148,985,3.473,1045,3.344,1070,2.544,1104,3.633,1130,2.66,1220,2.37,1262,5.428,1299,3.06,1306,2.492,1448,3.473,1452,2.255,1456,3.287,1531,2.476,1538,3.548,1582,4.148,1605,3.729,1734,3.473,2169,3.235,2209,8.922,2332,2.832,2988,2.953,3194,11.014,4788,3.729,5070,4.148,5381,4.375,5495,5.029,5675,4.375,5784,4.721,5785,4.148,5786,4.721,5787,3.978,5788,4.721,5789,4.375,5790,4.721,5791,4.721,5792,4.721,5793,4.721]],["component/120",[0,0.855,18,0.605,25,1.475]],["title/121-1",[62,19.457,1354,52.304]],["name/121-1",[]],["text/121-1",[]],["component/121-1",[]],["title/121-2",[25,39.693,234,20.305,1850,41.51]],["name/121-2",[]],["text/121-2",[]],["component/121-2",[]],["title/121-3",[841,40.174]],["name/121-3",[]],["text/121-3",[]],["component/121-3",[]],["title/121-4",[5794,85.955]],["name/121-4",[]],["text/121-4",[]],["component/121-4",[]],["title/121-5",[25,39.693,783,22.231,1850,41.51]],["name/121-5",[]],["text/121-5",[]],["component/121-5",[]],["title/121-6",[783,31.796]],["name/121-6",[]],["text/121-6",[]],["component/121-6",[]],["title/121-7",[3951,85.955]],["name/121-7",[]],["text/121-7",[]],["component/121-7",[]],["title/121-8",[729,44.527,783,26.167]],["name/121-8",[]],["text/121-8",[]],["component/121-8",[]],["title/121-9",[5795,92.74]],["name/121-9",[]],["text/121-9",[]],["component/121-9",[]],["title/121-10",[5796,92.74]],["name/121-10",[]],["text/121-10",[]],["component/121-10",[]],["title/121-11",[5797,92.74]],["name/121-11",[]],["text/121-11",[]],["component/121-11",[]],["title/121-12",[25,39.693,38,15.841,1850,41.51]],["name/121-12",[]],["text/121-12",[]],["component/121-12",[]],["title/121-13",[772,44.309]],["name/121-13",[]],["text/121-13",[]],["component/121-13",[]],["title/121-14",[1308,54.106]],["name/121-14",[]],["text/121-14",[]],["component/121-14",[]],["title/121-15",[774,33.153,876,41.022,1308,37.829]],["name/121-15",[]],["text/121-15",[]],["component/121-15",[]],["title/121-16",[25,34.503,735,17.605,892,26.79,1308,32.883]],["name/121-16",[]],["text/121-16",[]],["component/121-16",[]],["title/121",[25,46.72,1850,48.86]],["name/121",[25,1.296,1850,1.355]],["text/121",[0,1.501,1,0.568,2,0.582,4,0.451,10,0.904,11,0.755,12,0.834,13,0.678,25,4.059,26,1.677,32,0.657,38,1.303,39,0.422,46,0.425,49,1.021,50,0.617,51,1.24,57,0.926,62,0.276,63,2.574,69,0.427,71,2.394,87,0.812,94,1.801,96,0.909,98,0.87,114,0.503,126,1.478,131,0.671,140,1.125,141,0.885,147,0.743,152,0.386,153,0.505,161,0.476,162,1.056,163,0.455,165,0.448,167,4.739,178,0.806,183,2.392,203,0.433,216,0.455,218,0.491,222,1.794,230,1.171,232,1.344,233,0.792,234,2.841,250,0.503,251,1.036,253,0.408,257,0.726,260,0.41,261,1.043,272,0.554,274,0.576,276,0.576,283,1.081,290,1.151,310,0.597,311,0.778,317,0.472,324,0.812,329,1.049,334,1.559,340,2.264,344,3.489,345,0.474,355,0.458,364,0.782,370,0.433,377,1.204,379,0.495,406,2.617,408,1.159,420,1.903,432,1.108,491,0.569,495,0.983,498,1.415,511,1.298,514,0.476,520,0.597,525,0.883,538,1.407,553,0.406,555,3.363,562,1.865,568,0.968,589,0.569,622,0.627,638,2.203,655,2.239,659,1.848,668,1.391,672,0.878,681,0.58,683,0.607,691,0.622,709,0.444,712,1.077,716,0.622,729,1.663,734,0.508,735,0.339,740,1.583,741,0.565,744,0.664,746,0.815,759,0.815,760,0.526,761,0.827,766,0.551,767,2.218,772,1.71,774,2.459,783,3.176,793,2.107,805,1.999,808,4.079,809,2.616,810,0.565,813,2.702,841,3.65,845,0.732,852,0.93,856,1.71,866,1.318,883,0.651,890,0.433,892,5.219,904,0.593,905,2.32,909,0.768,918,1.391,936,1.267,941,1.954,947,0.584,949,1.204,950,1.267,951,2.415,956,0.532,965,1.023,972,0.638,982,0.617,998,0.472,1029,4.034,1030,3.947,1038,3.898,1054,1.431,1058,3.413,1061,1.177,1075,1.267,1104,0.834,1105,0.93,1125,0.678,1130,1.318,1145,1.388,1150,0.686,1151,0.633,1154,3.386,1167,0.524,1178,0.694,1207,0.883,1230,1.042,1232,0.768,1302,1.267,1306,0.573,1308,4.916,1313,0.857,1319,0.612,1324,1,1352,0.686,1452,3.168,1456,2.944,1523,1.005,1531,1.495,1537,0.883,1567,0.782,1576,1.152,1595,5.102,1611,0.857,1676,1.282,1705,1.005,1708,1.522,1783,0.782,1784,0.743,1850,3.079,1868,1.005,1892,0.743,1909,0.732,1927,0.633,1977,1.783,2075,0.883,2106,0.834,2112,0.914,2115,0.703,2125,1.649,2176,0.815,2230,1.6,2274,0.755,2332,0.651,2335,0.953,2391,0.914,2463,1.649,2629,0.834,2719,1.707,2723,0.953,2724,1.005,2872,1.005,3109,0.834,3124,0.768,3194,4.225,3196,5.101,3197,7.385,3215,1.005,3217,1.707,3825,0.953,4431,0.815,4613,0.953,5096,1.878,5114,0.953,5164,0.743,5668,1.005,5794,1.878,5798,1.084,5799,1.084,5800,2.026,5801,1.084,5802,3.579,5803,2.026,5804,1.084,5805,2.851,5806,1.005,5807,1.084,5808,1.084,5809,2.026,5810,1.084,5811,1.084,5812,1.084,5813,1.084,5814,0.953,5815,1.084,5816,2.026,5817,5.806,5818,4.228,5819,1.084,5820,1.878,5821,1.084,5822,1.084,5823,1.084,5824,1.084,5825,1.084,5826,1.005,5827,3.579,5828,2.026,5829,1.084,5830,2.851,5831,2.851,5832,2.851,5833,2.851,5834,2.851,5835,2.851,5836,2.026,5837,2.026,5838,2.851,5839,2.851,5840,1.084,5841,1.084,5842,1.084,5843,1.084,5844,1.084,5845,1.084,5846,1.084,5847,1.084,5848,1.084,5849,2.026,5850,1.084,5851,1.084,5852,1.084,5853,1.084,5854,1.084,5855,1.084,5856,1.084,5857,1.084,5858,1.084,5859,4.228,5860,2.851,5861,0.914,5862,1.084,5863,1.084,5864,1.084,5865,1.084,5866,5.332,5867,1.084,5868,5.332,5869,2.026,5870,2.026,5871,1.084,5872,1.084,5873,1.084,5874,2.851,5875,1.084,5876,1.084,5877,1.084,5878,1.084,5879,1.084,5880,1.084,5881,1.084,5882,1.005,5883,1.084,5884,1.084,5885,2.851,5886,2.851,5887,1.084,5888,1.084,5889,1.084,5890,2.026,5891,1.084,5892,1.084,5893,1.084,5894,1.084,5895,1.084,5896,1.084,5897,1.084,5898,1.084,5899,2.026,5900,2.026,5901,1.084,5902,1.084]],["component/121",[0,0.855,18,0.605,25,1.475]],["title/122-1",[8,22.976,3260,50.794]],["name/122-1",[]],["text/122-1",[]],["component/122-1",[]],["title/122",[0,20.009,8,16.968,25,34.503,261,20.628]],["name/122",[8,0.637,261,0.775]],["text/122",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,25,6.983,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1167,4.38,1457,5.612,1468,5.956,1831,5.807,5428,7.817]],["component/122",[0,0.855,18,0.605,25,1.475]],["title/123",[104,57.361,3205,57.361]],["name/123",[104,1.591,3205,1.591]],["text/123",[0,3.867,1,1.729,26,3.8,28,7.585,49,3.023,70,3.187,87,3.381,166,5.512,194,4.011,216,3.538,224,3.47,230,4.88,257,3.023,281,3.444,287,3.253,315,3.276,336,3.051,379,4.978,408,3.431,519,6.667,539,3.875,550,4.119,571,3.893,818,4.213,865,4.263,1175,5.221,1185,4.88,1480,6.343,1524,7.822,1924,4.397,2062,6.869,3205,6.343,5903,8.439]],["component/123",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/124",[26,22.617,87,25.981,519,51.224]],["name/124",[3,1.542]],["text/124",[0,3.736,1,1.443,2,1.855,26,3.671,28,4.497,37,3.923,44,3.995,46,2.533,49,3.257,63,3.678,66,3.152,70,3.523,71,2.454,104,6.834,126,2.666,154,2.763,166,2.951,186,3.768,197,2.24,204,3.913,211,3.287,224,2.656,244,2.74,245,2.473,261,2.364,287,2.49,315,2.507,316,3.224,324,2.588,340,4.086,374,4.134,379,4.155,418,3.282,511,2.342,521,3.995,553,2.417,648,3.054,712,3.433,735,2.017,761,3.711,790,4.649,818,3.224,841,2.798,846,3.039,875,3.802,938,3.672,1175,3.995,1176,3.152,1219,4.574,1264,3.41,1370,3.613,1474,5.442,1492,4.186,1509,4.36,1560,4.751,1570,5.102,1583,4.36,1602,5.675,1731,4.497,2062,7.401,3205,4.854,5787,5.442,5904,6.458]],["component/124",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/125",[122,31.386,2781,64.312]],["name/125",[122,1.476]],["text/125",[87,4.943,95,4.778,149,3.715,186,7.197,247,4.732,866,4.543,1064,6.377,1065,7.177,1208,5.636,3205,7.747,4496,7.582,4701,7.582]],["component/125",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/126-1",[8,22.976,3260,50.794]],["name/126-1",[]],["text/126-1",[]],["component/126-1",[]],["title/126-2",[8,22.976,3887,60.293]],["name/126-2",[]],["text/126-2",[]],["component/126-2",[]],["title/126-3",[8,22.976,3829,67.059]],["name/126-3",[]],["text/126-3",[]],["component/126-3",[]],["title/126-4",[671,34.082,3270,36.464]],["name/126-4",[]],["text/126-4",[]],["component/126-4",[]],["title/126-5",[3271,51.484]],["name/126-5",[]],["text/126-5",[]],["component/126-5",[]],["title/126",[0,17.696,8,15.006,26,17.386,28,34.709,261,18.243]],["name/126",[8,0.637,261,0.775]],["text/126",[0,3.315,1,1.065,2,1.927,8,3.497,14,4.025,26,4.41,28,8.503,37,4.029,58,2.87,70,2.733,71,1.811,83,2.64,104,5.042,143,3.11,145,3.473,183,3.009,216,2.813,224,3.84,234,2.101,261,3.418,287,2.586,313,2.802,370,2.678,379,3.066,521,4.15,735,2.917,750,3.275,761,3.812,763,3.293,790,3.43,813,2.906,846,4.394,865,3.389,896,4.935,1035,5.184,1088,3.591,1105,3.08,1125,4.196,1139,2.631,1167,3.239,1308,3.914,1309,4.107,1457,4.15,1468,4.405,1831,4.295,2062,5.46,3205,5.042,3260,4.465,3271,3.724,3298,5.653,3299,4.839,3357,5.895,5428,4.598,5905,6.709,5906,6.709,5907,6.709,5908,6.709]],["component/126",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/127",[80,36.278,234,20.305,762,45.925]],["name/127",[80,1.184,234,0.663]],["text/127",[4,2.636,7,2.884,10,2.846,26,3.327,30,3.802,36,1.232,38,1.548,39,1.908,46,3.519,62,1.249,63,0.89,64,2.56,70,1.854,71,2.905,78,1.4,80,4.635,83,1.147,84,4.706,95,1.351,98,1.252,99,1.344,107,1.279,122,1.198,138,1.823,152,1.038,154,1.247,166,2.238,173,1.499,180,1.685,183,1.307,184,1.889,221,1.29,222,1.827,223,1.098,229,1.262,232,1.094,234,3.927,244,2.079,245,1.116,247,1.338,257,1.044,260,2.807,268,4.356,274,1.549,276,1.549,281,1.189,283,1.105,286,1.307,287,1.889,315,2.46,336,3.449,342,1.784,355,1.232,357,1.939,370,1.163,379,2.238,402,3.518,408,1.185,415,2.536,419,2.604,432,1.593,501,1.803,502,1.538,511,1.776,514,1.279,538,2.418,540,1.766,553,1.833,555,1.338,556,1.378,563,1.242,569,1.643,582,1.538,648,1.378,668,1.422,679,1.549,690,1.472,696,1.499,715,2.029,723,1.509,735,1.53,746,1.172,749,2.914,758,1.582,762,2.064,763,2.404,772,1.392,774,1.49,794,1.593,820,1.49,823,1.338,854,4.403,866,1.073,882,2.372,883,1.748,890,1.163,891,2.701,898,1.939,904,2.679,916,2.858,926,1.685,936,1.823,966,1.671,973,1.889,998,1.268,1035,1.618,1130,1.073,1136,2.144,1148,2.699,1150,1.844,1185,3.665,1241,1.56,1285,1.499,1306,1.538,1319,2.763,1430,1.56,1437,1.7,1531,3.324,1555,1.823,1583,1.967,1585,1.913,1600,2.144,1615,1.823,1670,1.844,1689,1.939,1937,2.56,2010,3.84,2072,1.472,2077,5.568,2232,2.56,2283,2.701,2334,2.144,2367,2.242,2398,2.56,2607,2.144,2718,2.302,2925,2.328,2995,3.26,3468,5.583,4267,2.701,4329,2.56,4787,2.302,5358,3.987,5689,4.304,5909,5.874,5910,6.337,5911,7.678,5912,2.701,5913,10.5,5914,2.701,5915,8.842,5916,4.899,5917,2.56,5918,2.914,5919,4.899,5920,6.527,5921,2.914,5922,2.701,5923,2.914,5924,2.914,5925,2.914,5926,2.701]],["component/127",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/128",[0,27.094,62,19.457]],["name/128",[572,2.175]],["text/128",[1,0.887,26,3.573,30,3.353,35,2.049,62,1.425,63,1.043,70,0.999,71,2.764,84,3.72,107,3.112,143,4.498,162,2.912,167,4.676,177,1.841,194,3.895,216,1.432,218,1.546,222,1.274,232,1.282,234,1.07,247,1.568,257,1.223,259,2.878,283,2.689,287,2.154,315,2.753,324,1.369,341,2.187,375,1.828,408,2.272,419,1.815,505,2.07,511,2.026,591,2.136,648,1.615,653,2.091,666,2.513,681,1.828,709,3.703,745,2.136,749,1.34,761,3.689,763,1.676,822,3.622,854,2.97,885,2.214,890,1.364,898,2.273,957,1.736,965,1.725,1029,4.554,1030,2.381,1038,3.731,1058,1.667,1088,5.482,1093,4.386,1107,2.419,1183,2.187,1235,2.07,1285,2.875,1309,4.342,1319,1.926,1413,2.273,1497,3.669,1525,2.878,1570,2.698,1607,2.628,1670,3.535,2010,3.386,2026,1.841,2053,4.548,2072,1.725,2074,4.3,2156,4.2,2232,3.001,2260,4.709,2264,3.166,2266,5.773,2267,4.709,2270,3.001,2326,4.415,2583,2.878,2728,3.001,2892,2.628,2925,3.895,4268,3.166,4387,3.001,5437,3.166,5445,3.166,5457,3.166,5458,3.166,5911,5.18,5912,6.574,5913,5.18,5915,8.994,5917,3.001,5920,4.91,5922,3.166,5926,3.166,5927,3.415,5928,3.415,5929,3.415,5930,3.415,5931,3.415,5932,3.415,5933,3.415,5934,3.415,5935,3.415,5936,3.415,5937,3.415,5938,3.415,5939,3.415,5940,3.415,5941,3.415,5942,3.415,5943,5.18,5944,3.415,5945,3.415,5946,3.415,5947,3.415,5948,3.415,5949,3.415,5950,8.195,5951,3.415,5952,3.415,5953,3.415,5954,5.588,5955,3.415,5956,3.415]],["component/128",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/129",[26,26.621,30,45.789]],["name/129",[3,1.542]],["text/129",[0,3.003,1,1.732,18,2.126,26,4.606,29,2.364,30,7.801,34,2.1,71,2.944,78,2.803,80,3.265,95,2.705,107,2.56,124,2.732,154,2.497,162,4.407,178,2.321,234,3.626,283,2.212,401,4.75,415,5.648,419,3.102,423,3.145,432,3.191,488,2.984,502,3.081,511,2.116,514,2.56,569,3.291,678,3.215,722,2.33,749,2.289,760,2.833,761,2.382,762,4.133,790,2.984,865,2.948,866,3.664,890,2.33,904,4.625,918,2.848,1018,3.318,1134,4.625,1212,3.939,1220,2.93,1299,3.782,1465,3.832,1488,3.168,1495,4.386,1496,4.293,1509,3.939,1525,7.127,1531,3.061,2010,3.536,2074,4.49,2102,4.064,2266,4.75,2267,4.917,2619,4.917,5358,4.75,5909,5.409,5957,5.836,5958,5.836,5959,5.836,5960,5.836,5961,5.836,5962,5.409]],["component/129",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/130",[91,25.399,234,17.65,268,24.519,841,24.416]],["name/130",[234,0.663,5963,2.117]],["text/130",[0,1.857,10,1.659,14,3.138,46,2.051,62,1.99,63,2.384,69,2.059,71,3.134,80,2.926,154,2.238,176,2.86,177,2.819,197,1.814,219,2.974,222,1.951,223,2.939,234,4.142,260,2.949,261,1.914,268,2.275,283,1.983,315,2.03,402,5.182,414,4.132,419,4.148,495,2.539,497,3.079,532,3.349,548,2.882,555,2.401,571,2.413,659,3.39,696,4.015,722,3.116,734,3.653,740,2.904,759,3.931,767,2.413,774,5.661,794,2.86,810,2.725,813,2.266,826,6.795,841,3.38,857,3.272,862,3.272,892,2.486,904,4.267,942,3.531,956,4.581,965,2.642,998,4.061,1038,3.221,1079,2.708,1093,4.996,1169,3.705,1304,4.267,1413,3.481,1445,4.132,1497,3.434,1531,2.743,1560,3.848,1585,3.434,1720,4.596,1892,5.348,1898,4.408,1924,2.725,2072,2.642,2134,3.309,2156,7.778,2158,3.642,2266,4.257,2987,3.705,3583,3.531,4219,4.848,4235,4.848,5917,4.596,5943,4.848,5962,8.652,5964,5.231]],["component/130",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/131-1",[8,22.976,3260,50.794]],["name/131-1",[]],["text/131-1",[]],["component/131-1",[]],["title/131",[0,17.696,8,15.006,26,17.386,30,29.905,261,18.243]],["name/131",[8,0.637,261,0.775]],["text/131",[0,4.012,1,1.419,2,2.567,8,3.731,14,5.362,26,3.941,30,6.78,58,3.824,83,3.518,145,4.627,183,4.009,216,3.747,261,4.136,287,3.446,313,3.733,370,3.568,521,5.529,750,4.362,763,4.387,790,4.57,865,4.515,1167,4.315,1457,5.529,1468,5.868,1831,5.722,5428,7.744]],["component/131",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/132",[0,27.094,62,19.457]],["name/132",[572,2.175]],["text/132",[0,2.369,31,4.084,38,1.63,49,2.39,62,1.701,71,1.801,83,2.626,91,3.006,100,2.953,126,2.754,143,3.093,144,4.084,154,2.854,178,3.701,222,2.489,234,2.089,245,2.555,247,3.063,283,2.529,290,2.693,291,2.723,336,2.412,398,7.311,420,3.546,423,3.596,445,4.504,501,4.128,511,3.373,562,3.476,720,5.014,722,2.664,723,3.454,734,3.123,741,4.847,783,2.287,1025,2.94,1030,2.843,1249,3.892,1264,4.912,1311,4.128,1312,4.572,1429,3.37,1433,5.862,1555,4.173,1615,4.173,1704,5.014,2991,7.586,5965,6.672,5966,6.672,5967,6.184,5968,6.672,5969,9.303,5970,11.588,5971,11.588,5972,10.711,5973,6.672,5974,6.672,5975,6.672,5976,6.672,5977,6.672]],["component/132",[0,0.855,18,0.605,31,1.475]],["title/133",[31,56.771]],["name/133",[3,1.542]],["text/133",[0,3.522,1,1.728,10,3.146,26,3.46,31,7.38,38,2.059,53,3.451,56,4.48,62,1.481,63,1.774,70,1.699,71,2.275,84,3.046,103,4.894,149,2.093,162,5.17,200,3.302,215,3.026,216,3.534,224,2.388,232,2.18,234,3.107,244,2.464,245,2.224,326,2.485,329,3.007,371,4.044,395,2.485,408,2.361,415,3.007,517,3.275,553,2.173,635,2.789,668,2.835,681,3.108,724,3.108,735,3.099,746,2.335,761,3.44,783,3.401,834,4.365,852,2.666,866,3.654,877,3.98,1176,2.835,1215,3.98,1485,5.383,1527,5.383,1531,3.046,1695,3.865,1784,3.98,1849,3.718,2690,4.189,2716,4.588,2719,4.894,2991,4.113,2993,7.406,2999,5.383,3007,5.383,3049,7.406,3124,4.113,3264,4.189,5785,5.103,5978,4.272,5979,5.808,5980,5.808,5981,5.808,5982,5.808,5983,5.808,5984,5.808,5985,5.808,5986,5.808,5987,5.808,5988,5.808,5989,5.808]],["component/133",[0,0.855,18,0.605,31,1.475]],["title/134-1",[8,22.976,3260,50.794]],["name/134-1",[]],["text/134-1",[]],["component/134-1",[]],["title/134",[0,20.009,8,16.968,31,34.503,261,20.628]],["name/134",[8,0.637,261,0.775]],["text/134",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,31,6.983,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1167,4.38,1457,5.612,1468,5.956,1831,5.807,3260,6.037,5428,6.217]],["component/134",[0,0.855,18,0.605,31,1.475]],["title/135",[1,10.292,34,16.098,62,16.531]],["name/135",[62,0.915]],["text/135",[]],["component/135",[1,0.382,18,0.605,34,0.598]],["title/136",[1,8.946,34,13.993,603,32.047,1130,20.758]],["name/136",[603,1.204,1130,0.78]],["text/136",[]],["component/136",[1,0.382,18,0.605,34,0.598]],["title/137",[1127,60.891]],["name/137",[3,1.542]],["text/137",[1,2.209,2,2.971,5,5.918,8,1.884,9,2.91,10,1.985,14,5.335,34,3.368,50,5.056,53,5.284,54,5.284,55,6.333,56,4.727,57,4.064,58,3.805,84,3.282,99,4.102,117,3.754,122,2.574,146,4.664,178,3.538,200,5.056,203,2.498,206,3.959,221,2.77,262,3.792,268,2.722,292,3.959,313,2.614,512,3.054,548,3.448,555,2.873,670,5.444,722,2.498,746,2.517,750,3.054,839,5.788,1397,3.558,1398,4.432,1437,3.651,1924,3.261,3064,5.273,5990,6.258,5991,6.258,5992,6.258,5993,6.258,5994,3.719,5995,5.499]],["component/137",[1,0.382,18,0.605,34,0.598]],["title/138",[8,22.976,261,27.932]],["name/138",[8,0.637,261,0.775]],["text/138",[1,1.861,5,3.574,8,3.899,34,2.911,53,3.191,54,3.191,55,3.287,58,5.192,61,3.574,75,6.29,87,3.799,126,2.217,140,2.981,141,2.346,147,6.497,148,2.746,149,1.935,183,2.409,200,3.053,208,4.37,209,4.036,210,3.739,211,1.941,212,7.125,213,4.036,214,3.739,215,2.798,216,2.251,217,4.132,218,2.431,219,3.053,222,2.003,232,2.016,257,1.923,261,2.912,293,6.286,313,2.243,315,2.084,337,2.915,404,2.78,422,2.539,537,8.533,555,2.465,671,2.398,690,2.712,693,6.706,746,3.2,758,2.915,793,3.161,810,2.798,824,3.574,892,2.552,956,2.635,982,3.053,998,4.124,1079,2.78,1302,3.359,1400,3.004,1425,3.133,1456,3.739,1555,3.359,1651,3.873,1783,3.873,2344,4.132,2359,3.68,2954,4.718,3269,6.839,3448,4.525,3887,4.242,4328,3.873,5394,4.525,5996,5.37,5997,10.484,5998,5.37,5999,4.718]],["component/138",[1,0.382,18,0.605,34,0.598]],["title/139",[1,8.946,34,13.993,965,28.471,1130,20.758]],["name/139",[965,1.069,1130,0.78]],["text/139",[]],["component/139",[1,0.382,18,0.605,34,0.598]],["title/140-1",[8,22.976,5394,64.312]],["name/140-1",[]],["text/140-1",[]],["component/140-1",[]],["title/140-2",[654,44.931,1452,36.464]],["name/140-2",[]],["text/140-2",[]],["component/140-2",[]],["title/140-3",[671,28.956,3045,41.022,3270,30.979]],["name/140-3",[]],["text/140-3",[]],["component/140-3",[]],["title/140-4",[185,35.2,186,37.829,287,24.997]],["name/140-4",[]],["text/140-4",[]],["component/140-4",[]],["title/140-5",[183,34.236,216,32]],["name/140-5",[]],["text/140-5",[]],["component/140-5",[]],["title/140-6",[8,22.976,693,64.312]],["name/140-6",[]],["text/140-6",[]],["component/140-6",[]],["title/140-7",[116,39.266,183,34.236]],["name/140-7",[]],["text/140-7",[]],["component/140-7",[]],["title/140-8",[36,27.404,152,23.088,3045,41.022]],["name/140-8",[]],["text/140-8",[]],["component/140-8",[]],["title/140-9",[8,22.976,293,60.293]],["name/140-9",[]],["text/140-9",[]],["component/140-9",[]],["title/140-10",[140,27.672,489,35.305,947,26.866,1492,32.307,6000,33.65]],["name/140-10",[]],["text/140-10",[]],["component/140-10",[]],["title/140-11",[134,33.359,829,30.979,6001,64.841]],["name/140-11",[]],["text/140-11",[]],["component/140-11",[]],["title/140-12",[145,33.57,301,36.568,1048,48.733]],["name/140-12",[]],["text/140-12",[]],["component/140-12",[]],["title/140-13",[3045,58.672]],["name/140-13",[]],["text/140-13",[]],["component/140-13",[]],["title/140-14",[8,22.976,212,57.361]],["name/140-14",[]],["text/140-14",[]],["component/140-14",[]],["title/140-15",[36,27.404,134,33.359,152,23.088]],["name/140-15",[]],["text/140-15",[]],["component/140-15",[]],["title/140-16",[38,18.646,2430,47.738]],["name/140-16",[]],["text/140-16",[]],["component/140-16",[]],["title/140-17",[395,27.74,1387,46.77,4415,47.7]],["name/140-17",[]],["text/140-17",[]],["component/140-17",[]],["title/140-18",[99,29.912,268,28.207,1148,35.723]],["name/140-18",[]],["text/140-18",[]],["component/140-18",[]],["title/140-19",[67,27.977,219,32.047,653,34.503,6002,56.363]],["name/140-19",[]],["text/140-19",[]],["component/140-19",[]],["title/140-20",[120,26.767,134,33.359,1113,40.115]],["name/140-20",[]],["text/140-20",[]],["component/140-20",[]],["title/140-21",[671,34.082,3270,36.464]],["name/140-21",[]],["text/140-21",[]],["component/140-21",[]],["title/140-22",[183,34.236,839,42.701]],["name/140-22",[]],["text/140-22",[]],["component/140-22",[]],["title/140-23",[1,8.946,34,13.993,147,38.626,208,45.875]],["name/140-23",[]],["text/140-23",[]],["component/140-23",[]],["title/140-24",[8,22.976,5999,67.059]],["name/140-24",[]],["text/140-24",[]],["component/140-24",[]],["title/140-25",[8,19.52,152,23.088,1152,35.723]],["name/140-25",[]],["text/140-25",[]],["component/140-25",[]],["title/140-26",[36,32.256,152,27.175]],["name/140-26",[]],["text/140-26",[]],["component/140-26",[]],["title/140-27",[48,36.09,6003,52.304]],["name/140-27",[]],["text/140-27",[]],["component/140-27",[]],["title/140-28",[165,31.506,6004,62.119]],["name/140-28",[]],["text/140-28",[]],["component/140-28",[]],["title/140",[8,22.976,75,45.789]],["name/140",[8,0.452,75,0.9,6005,1.391]],["text/140",[0,0.403,1,1.5,2,0.853,4,1.235,5,2.475,7,1.246,8,2.356,10,1.747,11,0.791,15,1.231,34,2.389,36,3.036,37,0.49,38,2.43,39,2.657,45,0.682,47,0.696,48,4.183,49,0.758,50,0.646,51,1.295,53,1.765,54,2.605,55,2.277,56,1.125,57,0.519,58,3.216,62,0.539,63,0.907,66,2.429,67,1.05,68,0.555,69,1.464,70,0.619,71,2.029,83,1.169,84,0.596,86,0.805,87,1.757,88,0.791,92,1.075,93,2.85,94,0.484,95,0.527,96,2.882,98,0.488,99,1.37,102,0.626,105,1.224,107,2.417,109,1.063,114,0.527,116,0.585,120,2.472,121,0.898,122,1.221,124,1.39,126,1.226,129,0.779,130,0.688,131,0.703,134,1.089,140,0.631,141,0.496,143,1.377,144,0.696,145,1.096,147,2.035,148,3.844,152,2.132,160,1.053,163,0.476,164,0.612,165,2.652,166,0.519,167,0.728,171,0.874,174,1.309,177,0.612,178,1.48,180,1.717,182,1.976,183,2.882,185,1.612,186,2.558,195,0.711,200,0.646,203,0.454,205,0.669,209,0.854,210,1.473,211,0.765,212,0.854,213,1.59,214,0.791,215,1.547,216,1.245,217,0.874,218,1.684,219,0.646,222,0.424,224,1.53,229,0.492,230,1.224,232,1.115,233,1.161,234,1.165,238,0.898,241,1.646,243,1.859,245,2.109,250,0.981,253,0.797,257,0.758,260,0.8,261,0.774,268,3.749,271,0.727,272,1.518,275,1.203,276,0.604,281,0.464,283,0.802,287,1.434,289,0.585,291,0.864,293,0.898,299,2.511,301,1.675,310,0.626,311,0.813,316,0.567,317,0.494,327,1.149,329,0.588,334,1.624,336,0.411,342,0.696,345,0.496,357,0.756,370,0.845,375,0.608,395,2.129,398,1.782,400,1.075,405,1.59,406,2.152,408,0.86,415,0.588,419,0.604,421,0.517,425,0.805,426,0.696,428,0.958,485,0.727,487,0.486,488,1.518,489,0.805,494,0.791,501,1.309,503,0.746,522,0.719,534,0.898,537,1.722,539,0.522,553,0.425,560,0.581,563,2.12,568,1.011,571,0.524,600,3.134,603,0.646,615,0.608,634,1.184,642,0.574,653,1.295,654,2.19,668,0.555,671,0.945,672,0.917,679,0.604,681,0.608,684,0.636,687,1.859,688,0.791,690,2.514,691,0.651,692,0.727,693,0.957,697,1.428,701,2.752,702,0.54,720,2.796,722,1.75,730,0.976,731,1.166,734,0.532,742,0.574,744,0.696,746,1.763,748,2.892,749,1.952,750,0.555,757,0.711,767,0.524,783,1.018,793,0.669,794,0.621,799,0.657,804,2.83,805,1.404,806,0.791,807,1.879,808,0.663,810,0.592,821,1.125,824,0.756,825,0.957,829,2.378,839,0.636,843,1.738,852,0.971,855,1.246,865,1.069,866,0.418,878,2.068,880,1.557,883,0.682,885,1.925,890,0.454,903,0.874,909,0.805,913,2.862,926,1.224,928,0.535,930,0.957,931,1.951,932,0.925,934,0.612,940,2.068,945,0.767,946,0.898,947,0.612,951,0.571,953,0.567,956,0.558,958,0.682,962,0.711,965,0.574,968,0.998,976,0.82,980,0.82,981,0.854,984,1.722,998,0.494,1012,0.669,1016,0.736,1024,0.727,1025,0.501,1029,0.505,1048,1.59,1072,0.588,1079,0.588,1111,1.234,1113,2.301,1129,1.783,1130,0.779,1131,0.874,1134,0.621,1148,1.636,1150,0.719,1152,1.166,1178,1.901,1180,0.641,1261,3.053,1263,0.898,1295,1.157,1304,0.621,1310,1.499,1319,0.641,1370,0.636,1387,0.82,1400,1.661,1406,0.727,1409,0.626,1416,0.577,1417,0.612,1419,0.736,1421,0.874,1437,0.663,1451,1.389,1452,3.069,1455,0.564,1458,0.779,1464,1.857,1487,0.779,1488,1.149,1492,0.736,1504,0.805,1511,0.805,1534,1.628,1567,0.82,1579,0.805,1582,0.998,1601,1.053,1602,1.859,1613,1.355,1651,1.526,1676,0.719,1677,0.711,1697,0.736,1716,0.736,1725,0.805,1767,1.45,1924,0.592,1926,2.019,1938,2.005,2015,0.767,2096,0.805,2106,0.874,2158,0.791,2179,1.526,2187,0.82,2276,0.805,2332,1.27,2344,0.874,2358,0.636,2400,0.657,2430,1.857,2504,0.836,2509,0.957,2527,0.651,2552,2.502,2672,0.998,2731,0.998,2827,0.874,2848,0.82,2925,0.54,2992,1.053,3045,2.353,3048,0.957,3153,1.45,3227,0.898,3255,1.859,3260,0.756,3264,0.82,3270,0.543,3613,1.053,3644,0.925,3679,0.957,3773,0.957,4092,1.053,4102,0.925,4187,0.957,4372,1.053,4380,1.053,4415,0.836,4529,1.628,4549,0.854,4687,1.053,4688,1.053,4781,1.053,4786,0.925,5048,2.502,5071,1.672,5240,1.053,5284,1.053,5439,0.779,5455,0.874,5644,0.998,5789,1.053,5999,1.859,6000,0.767,6003,4.675,6004,3.568,6006,1.961,6007,1.136,6008,2.752,6009,2.116,6010,1.053,6011,1.136,6012,1.136,6013,2.969,6014,1.136,6015,1.136,6016,0.756,6017,1.136,6018,1.136,6019,1.136,6020,1.136,6021,1.59,6022,1.136,6023,0.925,6024,0.957,6025,1.136,6026,1.136,6027,0.998,6028,1.136,6029,1.136,6030,1.053,6031,1.136,6032,0.998,6033,1.136,6034,0.998,6035,1.136,6036,1.136,6037,0.998,6038,1.136,6039,1.136,6040,1.136,6041,1.053,6042,1.859,6043,0.998,6044,1.136,6045,3.105,6046,0.767,6047,1.136,6048,0.998,6049,1.136,6050,1.136,6051,0.957,6052,1.136,6053,1.053,6054,1.136]],["component/140",[1,0.382,18,0.605,34,0.598]],["title/141-1",[8,22.976,5394,64.312]],["name/141-1",[]],["text/141-1",[]],["component/141-1",[]],["title/141-2",[8,22.976,6055,76.321]],["name/141-2",[]],["text/141-2",[]],["component/141-2",[]],["title/141-3",[8,22.976,6056,76.321]],["name/141-3",[]],["text/141-3",[]],["component/141-3",[]],["title/141-4",[8,22.976,6057,76.321]],["name/141-4",[]],["text/141-4",[]],["component/141-4",[]],["title/141-5",[8,22.976,6058,76.321]],["name/141-5",[]],["text/141-5",[]],["component/141-5",[]],["title/141-6",[8,22.976,6059,76.321]],["name/141-6",[]],["text/141-6",[]],["component/141-6",[]],["title/141-7",[8,22.976,6060,76.321]],["name/141-7",[]],["text/141-7",[]],["component/141-7",[]],["title/141-8",[8,22.976,6061,76.321]],["name/141-8",[]],["text/141-8",[]],["component/141-8",[]],["title/141-9",[8,22.976,6062,76.321]],["name/141-9",[]],["text/141-9",[]],["component/141-9",[]],["title/141-10",[8,22.976,293,60.293]],["name/141-10",[]],["text/141-10",[]],["component/141-10",[]],["title/141-11",[8,22.976,6063,76.321]],["name/141-11",[]],["text/141-11",[]],["component/141-11",[]],["title/141-12",[8,22.976,6064,76.321]],["name/141-12",[]],["text/141-12",[]],["component/141-12",[]],["title/141-13",[8,22.976,6065,76.321]],["name/141-13",[]],["text/141-13",[]],["component/141-13",[]],["title/141-14",[8,22.976,6066,76.321]],["name/141-14",[]],["text/141-14",[]],["component/141-14",[]],["title/141-15",[8,22.976,6067,76.321]],["name/141-15",[]],["text/141-15",[]],["component/141-15",[]],["title/141-16",[8,22.976,6068,76.321]],["name/141-16",[]],["text/141-16",[]],["component/141-16",[]],["title/141-17",[8,22.976,6069,70.737]],["name/141-17",[]],["text/141-17",[]],["component/141-17",[]],["title/141-18",[8,22.976,6070,76.321]],["name/141-18",[]],["text/141-18",[]],["component/141-18",[]],["title/141-19",[8,22.976,6071,76.321]],["name/141-19",[]],["text/141-19",[]],["component/141-19",[]],["title/141-20",[8,22.976,6072,70.737]],["name/141-20",[]],["text/141-20",[]],["component/141-20",[]],["title/141-21",[671,34.082,3270,36.464]],["name/141-21",[]],["text/141-21",[]],["component/141-21",[]],["title/141-22",[8,22.976,212,57.361]],["name/141-22",[]],["text/141-22",[]],["component/141-22",[]],["title/141-23",[8,22.976,6073,76.321]],["name/141-23",[]],["text/141-23",[]],["component/141-23",[]],["title/141-24",[671,34.082,3270,36.464]],["name/141-24",[]],["text/141-24",[]],["component/141-24",[]],["title/141-25",[8,22.976,397,67.059]],["name/141-25",[]],["text/141-25",[]],["component/141-25",[]],["title/141-26",[36,27.404,134,33.359,152,23.088]],["name/141-26",[]],["text/141-26",[]],["component/141-26",[]],["title/141-27",[671,34.082,3270,36.464]],["name/141-27",[]],["text/141-27",[]],["component/141-27",[]],["title/141",[8,22.976,3269,55.051]],["name/141",[8,0.452,3269,1.083,6005,1.391]],["text/141",[0,0.836,1,1.711,3,3.436,4,0.98,5,2.183,8,1.229,10,0.404,15,0.528,34,2.612,37,0.55,38,2.029,39,2.513,41,0.682,46,1.602,47,0.781,48,0.603,56,0.678,58,2.313,62,1.645,63,1.002,67,1.169,70,1.195,71,0.636,78,0.612,83,0.502,87,0.511,91,1.478,92,0.648,93,0.893,94,1.398,96,1.056,99,2.208,105,0.737,107,1.033,120,1.354,122,1.349,124,1.102,127,1.307,132,1.59,136,0.713,145,0.66,148,3.046,149,1.948,152,2.121,161,0.559,163,1.712,165,3.751,167,0.438,170,3.1,173,0.656,180,0.737,182,0.849,183,2.425,197,0.817,210,0.888,211,1.73,216,0.535,220,1.988,223,1.538,224,1.679,230,0.737,232,0.479,233,1.596,241,2.393,244,0.999,247,1.506,250,2.762,253,0.48,257,2.47,260,1.24,264,0.719,268,4.792,271,0.816,272,3.299,274,0.678,275,4.882,279,1.386,281,2.432,282,1.86,283,1.244,286,0.572,289,0.656,290,1.932,291,2.979,301,0.719,311,2.077,317,1.024,324,0.511,326,1.403,336,1.73,345,0.557,379,0.583,395,3.122,400,1.197,405,0.958,406,2.349,408,1.334,411,1.074,415,1.219,419,0.678,422,1.113,428,1.849,489,0.903,513,0.64,532,1.507,538,2.015,556,1.931,566,0.837,571,0.588,585,1.984,603,0.725,615,0.682,635,1.131,638,2.494,653,1.441,654,1.386,665,0.758,670,0.781,671,4.967,672,3.32,681,1.26,688,0.888,690,3.01,702,1.941,716,2.341,721,1.336,722,2.379,723,0.66,729,1.374,734,0.597,735,1.025,744,0.781,746,1.319,748,2.611,749,0.924,751,0.903,755,1.339,767,1.513,783,2.212,820,1.677,821,0.678,823,2.962,829,1.567,836,0.773,843,1.3,846,1.108,855,1.386,886,0.938,922,0.837,924,0.758,940,4.149,950,1.473,951,1.182,956,1.156,957,0.648,958,1.413,962,2.554,966,1.35,972,2.404,976,1.698,980,2.945,982,1.865,992,0.678,998,1.024,1020,1.812,1023,0.981,1025,0.562,1035,0.708,1038,0.972,1045,0.903,1048,0.958,1052,1.668,1054,0.64,1061,0.526,1105,0.585,1110,1.399,1111,2.792,1113,1.457,1130,0.867,1139,0.924,1148,1.807,1215,1.614,1296,1.64,1304,3.258,1342,0.837,1368,1.399,1400,0.713,1417,1.269,1421,0.981,1425,0.744,1437,0.744,1443,0.826,1452,1.567,1495,1.77,1574,1.49,1583,1.59,1597,1.85,1613,1.507,1640,1.007,1676,2.583,1697,1.526,1699,1.698,1732,1.038,1835,1.546,1926,2.935,2015,0.861,2022,1.59,2057,4.493,2072,3.259,2115,2.126,2161,2.413,2169,1.614,2222,0.938,2274,0.888,2400,1.362,2796,1.77,2848,2.366,2905,0.807,2925,0.606,3009,3.896,3045,6.82,3270,3.487,3887,1.007,4121,2.182,4190,1.182,4354,2.182,4415,0.938,4476,1.984,4786,1.038,4804,1.038,4806,1.182,4925,1.917,5164,0.874,5325,0.938,5455,0.981,5978,0.938,6000,0.861,6003,0.874,6010,1.182,6023,1.038,6024,1.074,6034,2.069,6069,2.182,6072,1.182,6074,4.083,6075,1.668,6076,1.12,6077,1.275,6078,2.182,6079,4.083,6080,2.843,6081,1.275,6082,2.366,6083,1.182,6084,2.355,6085,2.182,6086,2.355,6087,1.275,6088,1.275,6089,2.182,6090,2.355,6091,1.275,6092,3.441,6093,0.758,6094,1.275,6095,1.074,6096,1.275,6097,1.275]],["component/141",[1,0.382,18,0.605,34,0.598]],["title/142-1",[94,32.518,116,39.266]],["name/142-1",[]],["text/142-1",[]],["component/142-1",[]],["title/142-2",[38,15.841,39,25.255,2072,32.754]],["name/142-2",[]],["text/142-2",[]],["component/142-2",[]],["title/142-3",[1,7.092,34,11.092,99,20.612,272,22.844,2072,22.569,2115,28.959]],["name/142-3",[]],["text/142-3",[]],["component/142-3",[]],["title/142",[6046,62.607]],["name/142",[6046,2.424]],["text/142",[1,1.677,3,2.117,6,1.322,10,1.167,13,2.301,15,0.866,34,2.562,38,2.295,39,2.906,48,0.988,49,1.765,56,1.111,58,1.574,62,0.533,71,1.33,83,1.448,93,0.792,94,4.149,95,1.705,98,1.58,99,2.738,100,0.925,101,1.372,109,1.847,114,0.968,116,4.143,122,0.859,124,0.978,126,1.518,136,5.448,140,2.042,141,1.607,148,1.068,152,1.31,153,0.973,154,1.574,161,2.162,165,2.034,166,0.955,167,0.718,169,1.025,176,1.142,177,1.126,178,1.96,183,0.937,197,0.725,200,1.188,207,1.266,211,0.755,218,0.946,222,1.372,223,1.385,226,2.675,229,0.905,241,5.025,247,0.959,250,2.284,253,2.548,254,1.307,261,0.765,262,3.596,264,1.178,268,3.917,269,1.608,271,2.355,272,4.604,273,1.39,275,3.847,281,4.099,286,1.65,287,0.805,292,4.28,298,1.23,299,2.066,311,1.413,315,0.811,319,1.507,324,1.474,326,0.894,332,2.519,334,1.142,336,0.755,337,4.051,371,1.455,400,2.504,404,1.082,406,1.025,539,1.689,553,0.782,555,0.959,556,1.739,571,0.964,626,1.48,635,1.003,672,1.593,679,1.111,687,1.836,688,1.455,691,1.198,699,3.409,702,0.993,714,1.266,718,1.65,722,0.834,734,0.978,742,1.055,746,1.982,749,0.819,750,1.02,758,1.134,766,1.869,767,1.697,794,2.695,810,1.917,818,1.043,845,1.41,851,2.83,854,1.111,865,1.055,885,2.384,912,1.39,916,2.146,934,2.656,944,1.354,950,1.307,965,2.998,975,1.761,1035,1.16,1038,3.08,1046,1.41,1063,1.134,1079,1.082,1111,1.219,1127,1.372,1130,1.815,1185,1.208,1208,1.142,1215,1.432,1255,1.151,1288,3.703,1309,2.252,1318,1.075,1342,1.372,1373,1.266,1387,1.507,1409,1.151,1417,1.126,1437,1.219,1452,2.354,1456,1.455,1458,1.432,1676,3.117,1726,1.338,1769,2.994,1924,1.089,1938,1.41,1968,1.608,2026,1.126,2043,1.761,2072,5.735,2080,1.48,2081,3.016,2115,6.51,2416,1.57,2527,1.198,2630,1.7,2878,4.567,2925,4.07,3093,1.48,3265,1.537,3583,2.483,3853,1.936,3995,1.761,4107,1.836,4648,1.761,4765,1.936,4790,3.792,5477,1.608,6043,1.836,6046,8.269,6095,1.761,6098,2.089,6099,1.936,6100,2.089,6101,2.089,6102,1.936,6103,2.089,6104,3.893,6105,1.836,6106,1.836,6107,2.089,6108,2.089,6109,1.455,6110,1.608,6111,2.089,6112,2.089,6113,2.089,6114,2.089,6115,2.089,6116,2.089,6117,2.089,6118,2.089]],["component/142",[1,0.382,18,0.605,34,0.598]],["title/143-1",[211,20.375,395,24.113,635,27.07,846,26.518]],["name/143-1",[]],["text/143-1",[]],["component/143-1",[]],["title/143-2",[846,35.908,1708,57.361]],["name/143-2",[]],["text/143-2",[]],["component/143-2",[]],["title/143-3",[46,25.431,234,20.305,846,30.507]],["name/143-3",[]],["text/143-3",[]],["component/143-3",[]],["title/143-4",[46,25.431,783,22.231,846,30.507]],["name/143-4",[]],["text/143-4",[]],["component/143-4",[]],["title/143-5",[279,44.931,846,35.908]],["name/143-5",[]],["text/143-5",[]],["component/143-5",[]],["title/143-6",[846,35.908,6046,51.523]],["name/143-6",[]],["text/143-6",[]],["component/143-6",[]],["title/143-7",[846,35.908,1597,43.042]],["name/143-7",[]],["text/143-7",[]],["component/143-7",[]],["title/143-8",[99,35.208,846,35.908]],["name/143-8",[]],["text/143-8",[]],["component/143-8",[]],["title/143-9",[846,43.633]],["name/143-9",[]],["text/143-9",[]],["component/143-9",[]],["title/143",[846,35.908,1072,39.514]],["name/143",[846,0.996,1072,1.096]],["text/143",[1,1.732,2,0.267,3,1.609,5,2.097,9,4.202,34,2.729,38,2.202,39,2.037,41,0.498,46,0.365,47,1.075,52,1.007,62,1.333,63,1.597,67,1.236,70,1.398,78,0.447,83,0.366,87,0.998,91,1.42,92,0.892,96,2.531,98,1.354,99,3.992,100,0.412,107,0.77,122,0.722,126,0.725,127,1.749,136,0.982,141,0.767,152,0.331,163,0.39,165,3.009,167,0.856,169,0.457,178,2.245,180,1.015,183,2.346,197,1.657,211,1.354,220,0.564,223,0.351,224,0.722,226,0.953,229,0.403,230,0.538,232,0.659,233,1.232,234,2.099,241,1.658,242,1.075,244,1.337,245,0.356,247,1.144,250,2.616,252,0.818,253,1.187,260,0.663,264,1.777,268,3.765,273,0.62,275,3.984,279,3.754,286,0.418,287,0.359,290,1.005,291,1.017,299,1.044,311,0.358,317,1.084,324,0.703,336,0.337,337,0.953,338,2.017,343,0.559,345,0.407,379,0.425,395,3.338,400,0.473,408,0.714,425,0.659,428,2.163,433,0.638,435,1.185,439,0.628,485,0.596,511,0.637,517,1.777,520,2.633,531,0.628,538,2.359,542,1.453,550,1.538,552,2.867,553,1.957,558,0.648,568,0.445,571,0.429,593,0.685,635,3.219,653,1.075,656,0.628,672,0.76,684,5.848,690,0.47,702,1.781,713,1.222,716,0.534,729,1.024,735,1.339,740,3.54,741,0.915,744,0.57,746,0.374,748,0.848,750,0.454,755,2.717,767,0.81,774,1.611,783,2.675,805,0.44,820,1.611,841,2.265,843,1.699,846,6.335,850,0.488,855,1.466,873,0.638,892,0.834,901,0.611,923,1.324,924,0.553,926,0.538,928,0.826,929,2.903,934,0.946,949,0.553,956,1.546,958,0.559,965,0.47,972,2.206,998,0.764,1018,3.208,1038,5.29,1061,1.028,1063,0.505,1072,3.301,1076,1.428,1110,1.043,1111,0.543,1135,1.525,1137,1.675,1139,0.977,1143,0.7,1148,0.967,1152,0.967,1208,1.723,1259,1.749,1296,1.734,1304,0.96,1308,3.91,1309,1.525,1324,0.459,1342,0.611,1361,0.758,1362,0.553,1400,1.394,1416,0.473,1417,0.946,1428,0.659,1437,0.543,1451,0.611,1458,0.638,1464,0.582,1558,1.185,1574,0.589,1597,1.777,1651,0.671,1655,1.075,1671,2.565,1697,1.138,1713,0.659,1714,0.716,1716,0.603,1835,0.611,1905,0.685,1908,3.226,1913,0.758,1914,1.185,2026,0.502,2037,0.589,2072,1.592,2081,1.525,2100,0.538,2176,0.7,2350,0.7,2617,0.735,2737,4.792,2968,1.479,2988,0.582,3233,0.863,3323,0.863,3397,0.863,3474,0.863,3477,0.863,3498,0.863,3502,0.863,3530,0.863,3570,0.863,3583,1.185,3616,0.863,3817,0.863,3995,0.784,3998,0.863,4180,0.863,4182,0.863,4328,0.671,4368,0.671,4924,5.904,4983,3.292,5160,0.735,5164,1.203,5193,0.758,5342,0.784,5395,0.735,5416,0.863,5432,0.818,5438,2.883,5455,1.351,5994,0.553,6024,0.784,6046,1.185,6080,2.985,6119,0.931,6120,0.931,6121,0.931,6122,0.931,6123,0.931,6124,0.931,6125,0.931,6126,0.931,6127,0.931,6128,0.863,6129,0.931,6130,0.931,6131,0.818,6132,0.931,6133,0.863,6134,0.931,6135,0.931,6136,0.931,6137,0.931,6138,0.931,6139,0.931,6140,0.931,6141,0.931,6142,0.931,6143,0.931,6144,0.931,6145,0.931,6146,0.863,6147,0.931,6148,0.931,6149,0.931,6150,0.931,6151,0.931,6152,0.931,6153,0.931,6154,0.931,6155,0.931,6156,0.931,6157,0.931,6158,0.931,6159,0.931,6160,0.931,6161,0.931,6162,0.931,6163,0.931,6164,0.931,6165,0.931,6166,0.931,6167,0.931,6168,0.931,6169,1.755,6170,1.542,6171,0.931,6172,0.931,6173,0.931,6174,0.931,6175,0.931,6176,0.931,6177,0.931,6178,0.931,6179,0.931,6180,0.931,6181,0.931,6182,0.931,6183,0.931,6184,1.755,6185,0.931,6186,0.931,6187,0.931,6188,0.931,6189,0.931,6190,0.931,6191,0.931]],["component/143",[1,0.382,18,0.605,34,0.598]],["title/144-1",[38,13.77,428,25.516,843,22.341,2905,35.658]],["name/144-1",[]],["text/144-1",[]],["component/144-1",[]],["title/144-2",[380,39.196]],["name/144-2",[]],["text/144-2",[]],["component/144-2",[]],["title/144-3",[1,10.292,2,18.624,71,17.5]],["name/144-3",[]],["text/144-3",[]],["component/144-3",[]],["title/144-4",[71,17.5,965,32.754,1130,23.88]],["name/144-4",[]],["text/144-4",[]],["component/144-4",[]],["title/144-5",[1,8.946,34,13.993,71,15.212,1465,37.007]],["name/144-5",[]],["text/144-5",[]],["component/144-5",[]],["title/144-6",[1,5.41,2,9.789,46,13.367,58,14.581,877,23.357,1265,24.584,1402,25.072,1443,22.09,1508,26.226]],["name/144-6",[]],["text/144-6",[]],["component/144-6",[]],["title/144",[38,18.646,843,30.252]],["name/144",[38,0.517,843,0.839]],["text/144",[1,1.797,2,2.667,8,0.523,10,1.347,18,0.784,29,0.703,34,2.306,37,1.832,38,2.766,39,2.328,46,0.681,49,1.857,58,2.218,62,1.524,66,0.847,69,0.683,70,0.508,71,2.585,83,0.683,87,0.695,95,0.805,102,1.718,109,0.872,114,0.805,119,1.111,122,1.283,131,1.074,143,1.446,148,2.172,149,2.398,152,0.618,153,0.809,154,1.817,158,1.022,161,2.623,165,1.288,167,3.98,177,0.936,178,0.69,194,1.483,203,1.245,216,1.308,223,1.6,224,2.458,226,0.942,229,0.752,232,1.171,233,1.66,244,2.2,245,1.194,253,1.6,257,2.939,260,2.736,261,1.555,268,2.256,290,1.259,314,1.463,315,2.32,317,0.755,324,0.695,328,1.506,329,0.899,337,0.942,338,1.998,342,1.909,344,1.745,381,1.804,395,1.817,402,0.964,408,0.706,418,0.882,422,0.821,428,4.456,487,1.334,488,3.702,491,2.72,496,1.14,497,1.022,498,2.108,502,2.243,511,1.88,513,1.566,514,0.762,520,1.718,539,0.797,550,0.847,553,0.65,556,2.826,558,1.209,562,1.625,568,0.829,571,2.392,635,1.498,665,1.031,671,0.775,677,0.91,681,0.929,684,1.745,704,1.19,716,3.427,717,1.463,748,0.838,760,0.843,766,0.882,767,0.801,783,0.595,793,1.022,813,2.883,822,1.125,823,0.797,836,2.574,843,4.488,845,2.106,846,0.817,852,1.432,854,1.658,857,1.086,865,2.146,866,0.639,873,1.19,877,1.19,880,1.277,883,1.041,890,1.245,892,0.825,928,2.44,949,3.081,950,1.086,965,2.146,976,1.252,980,1.252,997,0.91,998,2.256,1010,1.013,1018,0.987,1025,0.765,1030,1.329,1035,1.732,1038,1.753,1054,0.872,1063,0.942,1072,0.899,1084,1.19,1105,1.432,1130,1.91,1131,1.336,1151,1.013,1154,1.693,1167,0.838,1168,2.25,1175,1.074,1176,0.847,1197,1.155,1223,1.525,1230,0.893,1232,1.229,1259,0.964,1299,1.125,1306,0.916,1319,0.979,1357,3.142,1402,3.125,1443,1.125,1457,1.074,1465,3.924,1473,2.25,1475,1.14,1494,2.464,1508,2.4,1511,1.229,1587,1.022,1677,1.086,1692,0.949,1716,1.125,1726,1.111,1914,1.172,1924,0.904,1974,1.098,2026,1.681,2057,1.209,2072,1.576,2090,1.609,2096,1.229,2097,1.463,2103,1.19,2161,1.277,2185,2.076,2258,1.413,2404,1.305,2773,1.277,2827,1.336,2835,3.355,2905,6.52,2939,1.336,3196,2.741,3197,1.413,3225,2.295,3777,1.305,3849,1.609,3887,1.371,4707,2.891,5227,1.609,5306,2.891,5328,4.806,5395,2.464,5495,1.209,5725,2.891,5994,1.031,6082,1.252,6093,1.031,6192,3.119,6193,1.736,6194,1.736,6195,1.736,6196,1.736,6197,1.736,6198,4.234,6199,1.736,6200,1.736,6201,1.736,6202,4.247,6203,2.891,6204,1.736,6205,1.736,6206,1.736,6207,1.609,6208,5.977,6209,1.736,6210,1.736,6211,1.736,6212,1.736,6213,1.736,6214,1.736,6215,1.736,6216,3.119,6217,1.736,6218,1.736,6219,1.736,6220,1.736,6221,1.736,6222,1.736,6223,1.736,6224,1.736,6225,1.736,6226,1.736,6227,1.736,6228,1.736,6229,1.736,6230,1.736,6231,1.736,6232,1.736,6233,1.736,6234,1.736,6235,1.525,6236,1.736]],["component/144",[1,0.382,18,0.605,34,0.598]],["title/145-1",[1318,39.266,6237,76.321]],["name/145-1",[]],["text/145-1",[]],["component/145-1",[]],["title/145-2",[38,15.841,229,28.088,2430,40.557]],["name/145-2",[]],["text/145-2",[]],["component/145-2",[]],["title/145-3",[38,18.646,2430,47.738]],["name/145-3",[]],["text/145-3",[]],["component/145-3",[]],["title/145-4",[38,18.646,2430,47.738]],["name/145-4",[]],["text/145-4",[]],["component/145-4",[]],["title/145-5",[]],["name/145-5",[]],["text/145-5",[]],["component/145-5",[]],["title/145-6",[38,15.841,39,25.255,556,30.662]],["name/145-6",[]],["text/145-6",[]],["component/145-6",[]],["title/145-7",[4788,73.264]],["name/145-7",[]],["text/145-7",[]],["component/145-7",[]],["title/145-8",[2430,58.008]],["name/145-8",[]],["text/145-8",[]],["component/145-8",[]],["title/145-9",[319,66.894]],["name/145-9",[]],["text/145-9",[]],["component/145-9",[]],["title/145-10",[38,13.77,39,21.953,556,26.653,724,30.167]],["name/145-10",[]],["text/145-10",[]],["component/145-10",[]],["title/145-11",[2430,58.008]],["name/145-11",[]],["text/145-11",[]],["component/145-11",[]],["title/145-12",[638,39.768,1393,50.11]],["name/145-12",[]],["text/145-12",[]],["component/145-12",[]],["title/145-13",[556,30.662,724,34.704,2430,40.557]],["name/145-13",[]],["text/145-13",[]],["component/145-13",[]],["title/145-14",[634,36.278,2430,40.557,2848,46.77]],["name/145-14",[]],["text/145-14",[]],["component/145-14",[]],["title/145-15",[99,35.208,1393,50.11]],["name/145-15",[]],["text/145-15",[]],["component/145-15",[]],["title/145-16",[]],["name/145-16",[]],["text/145-16",[]],["component/145-16",[]],["title/145-17",[38,18.646,2430,47.738]],["name/145-17",[]],["text/145-17",[]],["component/145-17",[]],["title/145-18",[1,10.292,34,16.098,233,25.343]],["name/145-18",[]],["text/145-18",[]],["component/145-18",[]],["title/145-19",[1085,67.059,1130,28.108]],["name/145-19",[]],["text/145-19",[]],["component/145-19",[]],["title/145-20",[38,12.178,328,36.342,514,21.871,2430,31.178]],["name/145-20",[]],["text/145-20",[]],["component/145-20",[]],["title/145-21",[93,28.935,94,32.518]],["name/145-21",[]],["text/145-21",[]],["component/145-21",[]],["title/145-22",[165,26.767,823,29.77,2430,40.557]],["name/145-22",[]],["text/145-22",[]],["component/145-22",[]],["title/145-23",[38,15.841,39,25.255,319,46.77]],["name/145-23",[]],["text/145-23",[]],["component/145-23",[]],["title/145-24",[6238,85.955]],["name/145-24",[]],["text/145-24",[]],["component/145-24",[]],["title/145-25",[702,30.819,2430,40.557,6239,60.097]],["name/145-25",[]],["text/145-25",[]],["component/145-25",[]],["title/145-26",[71,15.212,568,26.929,603,32.047,1130,20.758]],["name/145-26",[]],["text/145-26",[]],["component/145-26",[]],["title/145-27",[1,7.912,34,12.375,36,21.067,2430,31.178,6240,46.199]],["name/145-27",[]],["text/145-27",[]],["component/145-27",[]],["title/145",[38,18.646,2430,47.738]],["name/145",[38,0.517,2430,1.324]],["text/145",[1,0.927,4,0.338,10,0.889,15,1.388,18,0.204,33,0.526,34,1.45,36,1.628,37,0.35,38,3.173,39,4.279,41,0.434,43,1.816,47,0.944,48,1.041,49,2.413,50,1.252,51,0.497,52,2.209,56,2.293,58,2.635,66,0.753,68,0.396,71,2.237,75,0.487,81,0.641,87,2.057,91,0.366,92,1.703,93,0.585,94,0.346,95,0.376,96,0.988,99,0.374,100,0.359,102,0.447,105,0.469,107,0.356,109,0.774,110,0.713,114,0.376,120,0.335,122,1.949,136,0.454,138,0.964,140,2.139,143,0.376,149,1.982,152,2.662,153,1.561,154,1.433,157,0.548,161,0.677,163,0.34,165,1.59,167,1.765,169,3.306,173,0.793,174,0.954,175,1.297,178,0.613,180,0.892,182,0.54,183,0.364,194,1.047,195,0.508,197,2.239,211,1.56,216,0.34,221,0.359,223,1.934,224,1.378,226,0.441,229,1.669,230,0.469,232,1.258,233,1.095,241,0.359,244,0.935,245,0.59,247,1.769,248,1.159,249,0.482,250,0.715,257,1.698,260,0.307,261,0.297,266,1.533,268,1.457,273,0.54,275,1.905,281,1.761,283,0.585,286,1.503,287,2.967,289,1.133,291,0.899,299,1.405,315,0.855,317,0.958,319,3.419,324,1.123,326,0.347,329,0.42,332,0.415,337,0.837,338,1.576,344,0.454,345,1.683,355,2.003,370,0.879,381,0.469,395,0.66,400,1.958,406,0.398,408,0.33,428,0.698,433,1.057,486,1.856,487,0.347,488,0.415,497,0.478,500,0.412,502,1.48,511,1.397,514,1.47,518,0.52,526,0.61,532,0.987,534,0.641,541,0.454,543,1.892,550,1.88,552,1.424,553,0.824,556,3.831,563,0.346,568,0.388,571,1.777,584,0.61,605,0.585,615,0.434,634,0.863,635,1.85,638,5.072,642,0.41,654,1.65,655,0.964,664,1.255,668,0.753,671,0.362,672,0.954,674,0.465,677,0.426,679,0.431,680,0.508,681,0.434,689,0.641,690,0.779,691,1.921,696,3.006,697,1.041,702,2.051,712,1.49,714,1.698,716,0.465,718,0.641,722,0.324,730,0.374,734,0.722,742,1.416,745,0.508,746,0.62,749,0.318,755,1.252,760,0.394,765,0.61,766,0.412,767,2.538,776,0.478,780,0.661,790,0.788,793,1.972,794,1.204,801,0.482,802,0.684,805,0.729,813,3.74,814,0.752,818,0.405,820,0.788,822,1.427,823,1.287,831,0.474,839,0.454,841,0.352,846,0.382,852,1.011,854,0.431,855,3.439,865,0.41,866,1.032,878,0.565,884,0.469,892,0.386,903,0.625,911,0.556,915,0.454,924,4.443,926,0.892,934,0.438,942,1.487,949,1.991,953,0.405,954,0.492,955,0.713,962,0.508,964,0.61,966,0.884,992,0.82,995,1.026,998,0.353,1001,0.454,1012,0.908,1018,1.905,1025,1.476,1038,0.909,1052,0.575,1054,2.762,1061,0.335,1069,0.52,1070,0.831,1072,0.42,1110,0.482,1111,0.9,1130,0.568,1137,0.431,1152,0.447,1167,2.479,1174,0.597,1178,3.287,1180,0.458,1183,0.52,1207,1.255,1208,1.533,1212,1.041,1235,0.934,1255,0.447,1261,0.565,1262,0.61,1264,0.429,1285,0.793,1297,1.41,1300,1.218,1306,0.429,1311,0.502,1319,0.87,1350,0.54,1357,1.334,1360,1.134,1370,0.454,1393,1.012,1400,0.454,1409,0.85,1416,0.412,1437,0.474,1438,0.661,1448,1.134,1452,1.052,1463,0.661,1465,1.012,1480,1.159,1487,0.556,1489,0.441,1490,0.713,1508,1.187,1564,0.52,1576,1.252,1579,3.637,1600,0.597,1606,0.556,1609,0.556,1641,0.661,1677,0.964,1681,2.157,1710,1.534,1716,0.526,1732,0.661,1781,0.684,1782,0.641,1892,1.509,1924,1.148,1926,0.441,1963,1.057,1970,0.508,2022,1.487,2024,1.026,2026,0.831,2072,2.179,2086,0.684,2106,0.625,2125,1.255,2222,0.597,2318,1.935,2332,0.487,2355,0.684,2359,0.556,2416,0.61,2426,1.134,2427,0.597,2428,3.487,2430,8.341,2496,0.684,2591,0.684,2595,0.713,2621,1.057,2630,1.793,2757,0.575,2761,0.61,2848,2.022,2868,0.752,2925,0.386,2988,0.508,2995,0.54,2996,0.597,3270,0.388,3702,0.661,3799,0.752,3826,0.752,4138,0.713,4187,0.684,4277,0.752,4528,0.61,4616,2.462,4786,0.661,4788,2.647,4793,2.518,4821,2.157,4893,0.752,5043,0.713,5208,0.752,5455,0.625,5967,0.752,6027,0.713,6051,0.684,6089,0.752,6203,1.429,6240,0.752,6241,0.812,6242,0.812,6243,1.542,6244,0.812,6245,0.752,6246,0.812,6247,1.218,6248,1.74,6249,2.202,6250,0.812,6251,2.202,6252,0.812,6253,0.812,6254,1.542,6255,0.812,6256,1.218,6257,0.812,6258,0.752,6259,0.812,6260,0.812,6261,0.575,6262,0.812,6263,0.812,6264,0.713,6265,1.542,6266,0.812,6267,1.542,6268,0.812,6269,0.812,6270,0.812,6271,0.812,6272,0.812,6273,0.812,6274,3.35,6275,0.812,6276,0.812,6277,0.812,6278,0.812,6279,0.812,6280,0.812,6281,0.812,6282,0.812,6283,0.812,6284,2.202,6285,0.812,6286,0.812,6287,1.542,6288,0.812,6289,0.812,6290,0.641,6291,0.812,6292,0.812,6293,0.812,6294,0.812,6295,0.812,6296,1.542,6297,0.812,6298,2.202,6299,0.812,6300,0.812,6301,0.812,6302,0.812,6303,0.812,6304,0.812,6305,0.812,6306,0.812,6307,0.812,6308,0.812,6309,0.812,6310,1.542,6311,0.812,6312,0.812,6313,0.812,6314,0.812,6315,0.812,6316,0.812,6317,0.812,6318,0.752,6319,0.812]],["component/145",[1,0.382,18,0.605,34,0.598]],["title/146",[5994,55.109]],["name/146",[3,1.542]],["text/146",[1,2.167,18,1.623,29,2.616,34,3.389,38,2.222,48,4.3,62,2.318,84,4.769,98,3.906,120,2.666,143,2.994,164,4.901,165,3.754,200,6.846,203,4.202,206,5.753,257,2.313,272,4.649,279,5.353,289,3.323,398,3.875,423,3.481,512,3.152,518,7.709,730,4.195,731,3.558,746,2.597,750,3.152,767,2.979,911,4.426,945,4.36,979,6.997,1397,3.672,1425,3.768,1464,4.04,2430,5.688,5994,3.838,6003,6.232,6046,6.139,6104,5.102]],["component/146",[1,0.382,18,0.605,34,0.598]],["title/147-1",[3,32.786,1416,38.785]],["name/147-1",[]],["text/147-1",[]],["component/147-1",[]],["title/147-2",[1,10.292,2,18.624,681,34.704]],["name/147-2",[]],["text/147-2",[]],["component/147-2",[]],["title/147-3",[63,19.807,165,26.767,841,28.088]],["name/147-3",[]],["text/147-3",[]],["component/147-3",[]],["title/147-4",[38,13.77,165,23.267,317,24.519,550,27.511]],["name/147-4",[]],["text/147-4",[]],["component/147-4",[]],["title/147-5",[164,41.136,1471,55.051]],["name/147-5",[]],["text/147-5",[]],["component/147-5",[]],["title/147-6",[165,31.506,945,51.523]],["name/147-6",[]],["text/147-6",[]],["component/147-6",[]],["title/147-7",[234,20.305,805,30.662,2527,37.177]],["name/147-7",[]],["text/147-7",[]],["component/147-7",[]],["title/147-8",[165,31.506,197,26.467]],["name/147-8",[]],["text/147-8",[]],["component/147-8",[]],["title/147-9",[96,34.236,805,36.09]],["name/147-9",[]],["text/147-9",[]],["component/147-9",[]],["title/147-10",[965,38.552,1130,28.108]],["name/147-10",[]],["text/147-10",[]],["component/147-10",[]],["title/147",[164,41.136,165,31.506]],["name/147",[164,1.141,165,0.874]],["text/147",[0,0.335,1,1.412,2,0.511,3,3.658,4,1.049,7,1.485,10,1.202,15,1.57,18,2.088,26,0.88,34,2.251,36,0.752,38,2.54,39,2.862,46,0.698,49,0.637,51,1.089,54,0.561,55,0.578,56,0.502,57,0.813,58,0.761,62,1.94,63,0.974,66,2.115,68,0.461,70,1.109,71,2.054,74,4.108,83,2.078,84,0.495,87,1.518,91,0.425,92,0.904,93,1.436,94,1.075,98,1.628,99,2.436,114,1.169,116,0.486,120,0.39,122,0.731,124,0.442,126,0.39,127,1.77,142,2.71,149,0.34,152,2.164,153,0.44,154,0.404,161,0.414,163,1.057,164,0.509,165,5.455,166,0.431,167,3.986,174,0.584,178,0.376,180,1.029,182,0.628,197,2.64,200,0.537,203,1.273,211,0.341,215,2.968,216,1.057,218,0.427,222,0.663,223,0.356,226,3.092,229,0.409,232,0.354,233,1.481,234,2.014,241,2.521,242,1.544,244,0.401,245,0.681,247,0.817,248,0.709,250,2.818,253,3.35,257,1.357,260,0.672,261,0.651,262,2.625,268,4.692,274,1.341,275,3.657,281,1.029,283,2.785,287,0.364,288,0.746,289,3.309,290,0.718,291,1.768,296,0.795,299,1.817,311,0.683,313,1.81,315,0.366,316,1.891,317,1.885,324,0.378,334,0.516,336,1.37,337,0.512,345,2.488,348,0.726,357,4.045,358,1.448,362,1.308,364,1.283,374,0.604,375,0.505,379,0.813,395,0.404,396,3.809,406,0.463,408,0.384,415,0.921,420,0.502,428,1.443,430,0.628,433,2.596,465,0.746,485,0.604,487,0.761,491,0.495,495,0.458,511,0.342,520,0.52,533,0.59,552,2.894,553,0.666,558,3.677,560,0.909,562,0.492,574,3.187,672,1.877,674,0.541,678,0.52,682,0.726,683,0.528,691,1.02,697,0.637,702,0.845,721,1.043,722,2.274,734,0.833,740,0.524,745,1.113,749,1.486,757,0.59,761,1.029,763,0.463,767,1.748,783,0.324,800,1.02,801,0.561,817,0.669,823,0.433,835,1.369,836,0.572,840,0.572,841,0.409,843,1,849,0.945,855,4.158,875,0.556,885,1.635,888,1.283,890,0.377,912,2.122,913,0.726,918,0.461,925,0.572,934,1.718,945,2.152,965,1.274,982,0.537,988,0.512,994,0.709,998,0.411,1002,1.499,1018,0.537,1025,0.416,1029,1.417,1030,0.758,1038,0.39,1058,0.461,1061,1.993,1079,0.489,1082,0.612,1088,0.505,1105,3.373,1110,2.251,1111,0.551,1113,3.267,1130,0.929,1134,0.516,1139,1.25,1148,0.52,1174,0.694,1176,0.461,1259,0.524,1309,4.811,1319,2.137,1373,1.078,1400,0.528,1416,3.089,1417,2.602,1437,0.551,1443,0.612,1452,0.85,1454,0.566,1459,1.448,1471,0.681,1509,0.637,1558,0.637,1576,0.537,1661,0.669,1692,1.743,1704,0.709,1776,1.283,1905,1.308,1926,0.966,1927,0.551,1979,0.726,1999,3.74,2010,1.078,2011,0.829,2014,2.453,2026,0.509,2035,0.795,2057,1.239,2072,2.667,2086,0.795,2100,0.546,2252,1.448,2303,0.709,2332,1.067,2368,0.768,2527,0.541,2680,0.795,2757,0.669,3045,0.597,3264,1.283,3524,2.185,3807,2.338,4355,0.768,4506,0.746,4980,0.768,5439,0.647,5466,2.733,5477,0.726,5704,0.875,6016,0.628,6045,1.786,6080,0.657,6105,0.829,6106,0.829,6109,2.638,6128,1.649,6131,0.829,6170,0.829,6320,0.944,6321,0.944,6322,0.944,6323,0.944,6324,0.875,6325,0.944,6326,3.188,6327,0.829,6328,1.649,6329,1.563,6330,0.795,6331,3.651,6332,4.016,6333,1.649,6334,3.511,6335,0.875,6336,1.308,6337,0.875,6338,0.944,6339,0.875,6340,0.795,6341,1.649,6342,0.875,6343,0.746,6344,0.944,6345,0.944,6346,0.944,6347,0.944,6348,0.944,6349,0.944,6350,0.944,6351,2.216,6352,0.875,6353,3.511,6354,2.125,6355,0.944,6356,0.944,6357,1.649,6358,0.875,6359,0.875,6360,0.875,6361,0.875,6362,0.875,6363,0.875,6364,2.345,6365,0.795,6366,0.875,6367,0.795,6368,0.795,6369,2.396,6370,0.726,6371,0.746]],["component/147",[1,0.382,18,0.605,34,0.598]],["title/148-1",[67,37.883,279,44.931]],["name/148-1",[]],["text/148-1",[]],["component/148-1",[]],["title/148-2",[279,44.931,5994,45.352]],["name/148-2",[]],["text/148-2",[]],["component/148-2",[]],["title/148-3",[278,60.293,279,44.931]],["name/148-3",[]],["text/148-3",[]],["component/148-3",[]],["title/148-4",[62,19.457,279,44.931]],["name/148-4",[]],["text/148-4",[]],["component/148-4",[]],["title/148-5",[169,37.458,279,44.931]],["name/148-5",[]],["text/148-5",[]],["component/148-5",[]],["title/148-6",[279,44.931,6198,54.056]],["name/148-6",[]],["text/148-6",[]],["component/148-6",[]],["title/148-7",[279,44.931,4102,62.119]],["name/148-7",[]],["text/148-7",[]],["component/148-7",[]],["title/148-8",[279,44.931,855,44.931]],["name/148-8",[]],["text/148-8",[]],["component/148-8",[]],["title/148",[1,10.292,34,16.098,279,38.173]],["name/148",[279,2.114]],["text/148",[0,0.704,1,1.605,10,0.629,15,1.456,34,2.574,36,0.838,38,0.485,39,2.227,49,0.71,53,1.178,55,1.214,58,3.094,62,2.701,66,3.818,67,0.984,71,2.654,74,4.717,81,1.567,93,0.752,107,1.541,120,0.819,122,0.816,128,1.405,140,1.95,142,4.893,149,1.266,152,0.706,154,0.848,163,0.832,165,3.787,167,3.381,169,3.549,177,1.893,178,2.275,183,0.89,197,0.688,221,1.555,222,0.74,223,1.781,224,0.816,226,4.247,230,1.147,232,0.745,234,3.444,241,3.462,242,3.5,244,2.775,245,0.759,253,2.463,257,1.694,258,1.381,261,1.286,268,1.528,274,2.513,278,7.247,279,7.582,283,2.479,289,1.02,290,2.639,291,1.93,301,5.173,304,2.222,310,1.935,311,2.512,317,1.528,326,0.848,329,1.027,334,1.084,336,2.067,338,0.933,344,1.11,345,0.866,348,5.564,355,1.998,357,1.32,370,0.792,381,1.147,396,5.642,406,0.973,408,3.181,419,1.054,491,1.04,511,0.719,521,1.227,533,1.24,538,1.734,539,3.32,550,0.968,552,1.785,553,1.769,571,2.181,635,2.271,640,2.775,654,2.068,672,0.859,677,1.04,683,1.965,702,1.67,709,1.439,716,1.137,722,1.402,742,1.002,744,2.15,749,1.855,762,1.405,783,0.68,805,2.704,823,0.911,855,2.784,866,1.294,898,1.32,928,0.933,950,1.24,957,1.008,962,1.24,980,1.43,999,1.743,1001,1.11,1029,2.102,1030,2.015,1038,0.819,1058,0.968,1061,0.819,1105,2.171,1110,3.398,1130,1.294,1131,1.526,1133,1.614,1154,1.077,1176,0.968,1220,0.996,1235,1.202,1308,2.049,1313,2.775,1367,6.093,1371,3.087,1417,1.069,1556,2.775,1576,1.128,1597,1.118,1882,1.43,1926,3.55,2400,1.147,2416,1.49,2452,1.285,2527,5.259,2686,1.405,3263,1.49,4102,3.849,4793,1.49,5477,1.526,5540,6.093,5995,1.743,6198,3.349,6343,1.567,6354,2.96,6372,1.983,6373,1.983,6374,1.838,6375,1.838,6376,1.983,6377,1.983,6378,1.983,6379,1.983,6380,3.256,6381,3.513,6382,4.729,6383,1.983,6384,1.983,6385,1.983,6386,1.983,6387,1.983,6388,1.983,6389,1.983,6390,1.983,6391,1.983,6392,3.513,6393,1.983,6394,3.513,6395,1.983,6396,1.983,6397,1.983,6398,1.983,6399,1.983,6400,1.983,6401,1.983]],["component/148",[1,0.382,18,0.605,34,0.598]],["title/149",[979,71.363]],["name/149",[979,2.763]],["text/149",[1,1.865,7,2.063,34,2.917,36,1.481,49,2.044,54,2.082,58,1.499,71,1.948,75,2.103,94,1.493,99,3.33,100,1.551,116,1.803,149,2.057,152,4.087,161,1.538,163,1.469,167,4.36,174,2.168,178,1.394,183,1.572,223,1.32,226,7.182,233,2.231,241,3.195,242,2.145,244,2.422,253,4.721,268,4.993,287,3.532,289,1.803,291,2.329,311,2.193,324,1.404,336,1.267,343,3.424,355,2.412,395,1.499,418,4.656,420,1.863,421,4.167,422,4.332,435,7.288,445,2.366,511,1.271,571,1.617,605,5.207,609,5.311,653,3.494,656,5.618,672,2.472,690,1.77,709,2.338,749,1.374,763,1.72,801,2.082,917,4.805,979,5.555,1035,1.945,1057,3.168,1137,1.863,1208,1.916,1373,3.458,1665,2.953,1692,1.916,1713,2.482,2979,2.768,3265,2.578,5477,2.697,6402,3.248,6403,3.504,6404,9.598,6405,5.707,6406,7.713,6407,5.703,6408,7.713,6409,7.713,6410,5.707,6411,5.707,6412,8.322]],["component/149",[1,0.382,18,0.605,34,0.598]],["title/150-1",[69,25.521,80,36.278,398,38.902]],["name/150-1",[]],["text/150-1",[]],["component/150-1",[]],["title/150-2",[233,29.83,415,39.514]],["name/150-2",[]],["text/150-2",[]],["component/150-2",[]],["title/150-3",[398,45.789,562,39.768]],["name/150-3",[]],["text/150-3",[]],["component/150-3",[]],["title/150-4",[107,33.487,398,45.789]],["name/150-4",[]],["text/150-4",[]],["component/150-4",[]],["title/150-5",[1,12.114,34,18.948]],["name/150-5",[]],["text/150-5",[]],["component/150-5",[]],["title/150-6",[395,39.676]],["name/150-6",[]],["text/150-6",[]],["component/150-6",[]],["title/150",[398,55.64]],["name/150",[398,2.154]],["text/150",[1,1.886,2,0.919,4,1.331,10,1.679,14,1.919,15,1.326,26,1.847,30,1.919,34,3.081,36,2.238,46,1.255,52,1.834,54,1.901,58,2.265,62,2.225,69,2.084,70,2.553,71,1.828,80,1.79,91,1.441,94,2.256,95,3.141,100,1.416,107,1.404,152,1.885,154,1.369,166,2.42,167,2.329,178,3.133,181,2.604,221,1.416,223,1.994,224,1.316,232,1.201,233,3.675,234,3.485,241,1.416,244,2.247,260,2.56,268,4.33,290,1.291,291,2.765,310,1.762,317,3.426,324,1.282,336,1.156,338,1.505,345,2.313,355,2.238,377,1.901,379,2.42,395,4.99,398,8.148,408,2.153,422,1.513,488,1.636,511,1.16,520,2.917,531,2.159,541,1.79,562,6.078,569,1.804,589,1.678,590,2.527,635,1.536,672,2.294,709,1.311,712,1.7,735,2.937,749,1.255,755,1.819,761,2.161,763,1.57,783,2.323,792,1.938,841,1.386,915,1.79,917,3.524,918,2.585,947,1.724,957,1.626,972,1.883,1025,1.41,1061,1.321,1072,3.508,1107,2.266,1109,2.527,1130,1.178,1263,2.527,1318,1.646,1409,1.762,1436,2.353,1489,1.737,1613,2.048,1637,2.266,1716,4.391,2006,2.307,2103,2.192,2404,2.404,2532,2.527,2655,1.901,2706,2.696,3264,2.307,3266,2.696,4815,6.279,5477,4.075,6413,2.965,6414,2.965,6415,3.199,6416,2.811,6417,6.775,6418,3.199,6419,2.965,6420,3.199,6421,3.199,6422,3.199,6423,3.199,6424,3.199,6425,3.199,6426,3.199]],["component/150",[1,0.382,18,0.605,34,0.598]],["title/151-1",[1127,60.891]],["name/151-1",[]],["text/151-1",[]],["component/151-1",[]],["title/151-2",[1,8.946,34,13.993,48,26.653,6003,38.626]],["name/151-2",[]],["text/151-2",[]],["component/151-2",[]],["title/151-3",[283,35.16]],["name/151-3",[]],["text/151-3",[]],["component/151-3",[]],["title/151-4",[48,36.09,143,35.379]],["name/151-4",[]],["text/151-4",[]],["component/151-4",[]],["title/151-5",[6003,44.436,6427,60.097,6428,60.097]],["name/151-5",[]],["text/151-5",[]],["component/151-5",[]],["title/151-6",[62,16.531,165,26.767,6004,52.775]],["name/151-6",[]],["text/151-6",[]],["component/151-6",[]],["title/151-7",[71,15.212,165,23.267,324,22.584,6004,45.875]],["name/151-7",[]],["text/151-7",[]],["component/151-7",[]],["title/151-8",[958,45.789,1148,42.048]],["name/151-8",[]],["text/151-8",[]],["component/151-8",[]],["title/151-9",[1164,48.86,6336,56.145]],["name/151-9",[]],["text/151-9",[]],["component/151-9",[]],["title/151-10",[69,25.521,87,25.981,6336,47.7]],["name/151-10",[]],["text/151-10",[]],["component/151-10",[]],["title/151-11",[69,25.521,1110,38.53,6336,47.7]],["name/151-11",[]],["text/151-11",[]],["component/151-11",[]],["title/151-12",[94,27.627,299,27.187,724,34.704]],["name/151-12",[]],["text/151-12",[]],["component/151-12",[]],["title/151-13",[230,32.595,336,20.375,847,37.007,6429,52.24]],["name/151-13",[]],["text/151-13",[]],["component/151-13",[]],["title/151-14",[767,29.912,1208,35.458,6198,45.925]],["name/151-14",[]],["text/151-14",[]],["component/151-14",[]],["title/151-15",[829,44.309]],["name/151-15",[]],["text/151-15",[]],["component/151-15",[]],["title/151-16",[268,33.201,6045,54.056]],["name/151-16",[]],["text/151-16",[]],["component/151-16",[]],["title/151-17",[48,23.571,268,21.684,2513,46.199,6003,34.16,6045,35.305]],["name/151-17",[]],["text/151-17",[]],["component/151-17",[]],["title/151-18",[4,26.975,268,28.207,6045,45.925]],["name/151-18",[]],["text/151-18",[]],["component/151-18",[]],["title/151-19",[15,31.628,1510,60.293]],["name/151-19",[]],["text/151-19",[]],["component/151-19",[]],["title/151-20",[62,14.369,71,15.212,268,24.519,6045,39.921]],["name/151-20",[]],["text/151-20",[]],["component/151-20",[]],["title/151",[48,36.09,6003,52.304]],["name/151",[48,1.001,6003,1.451]],["text/151",[1,1.077,3,0.594,4,2.251,7,1.792,10,0.965,15,2.811,34,1.684,35,0.829,36,2.147,37,0.312,38,2.471,39,2.817,41,0.387,43,0.469,47,1.214,48,5.011,49,2.048,54,1.507,55,0.846,56,0.385,57,1.159,58,0.309,61,0.92,62,1.897,65,0.522,68,0.353,69,1.713,71,2.508,75,0.434,86,0.512,87,2.898,88,0.504,91,1.583,92,2.006,93,2.278,94,0.589,95,0.335,96,0.62,98,0.594,99,1.404,100,0.612,107,1.112,109,1.273,111,0.61,114,0.919,120,0.819,122,1.624,123,0.671,124,1.425,126,1.45,129,0.496,130,0.837,135,0.512,141,0.604,143,1.175,146,0.379,149,0.498,152,0.706,153,0.337,154,0.849,157,0.488,161,0.317,163,1.276,165,3.071,166,0.331,167,0.475,173,1.02,174,0.448,177,1.641,178,2.152,180,1.147,182,0.481,184,0.896,211,0.717,214,0.504,218,0.626,221,0.878,222,1.895,223,2.038,224,0.568,229,0.313,230,1.76,232,2.031,238,1.092,241,0.878,244,1.076,245,0.76,247,0.332,250,0.335,253,0.52,255,0.636,257,0.711,260,0.958,261,0.265,264,0.408,268,5.263,271,3.661,274,2.314,275,1.998,276,0.385,281,1.035,283,1.497,286,0.89,287,0.977,289,2.942,290,0.801,291,2.074,298,1.168,299,4.611,311,0.531,315,0.984,316,0.99,317,0.863,324,1.016,326,0.849,327,1.652,332,0.707,334,2.159,336,2.271,337,0.75,338,0.34,340,0.458,341,0.885,345,1.725,355,1.286,370,0.289,372,0.557,379,0.906,381,0.418,400,0.368,402,1.101,403,0.512,404,2.044,406,1.724,408,0.294,421,0.329,425,0.979,445,0.488,488,0.37,502,0.382,505,0.438,511,1.104,512,0.674,514,0.317,517,2.227,530,0.438,532,0.463,538,0.357,539,0.911,541,0.405,542,0.806,550,0.353,552,0.702,553,0.742,555,0.911,556,0.342,560,0.707,563,0.589,571,0.637,582,0.382,593,1.017,622,0.418,634,0.405,668,0.968,670,0.846,672,2.201,678,0.399,679,1.054,681,0.387,684,0.405,695,0.488,697,0.933,714,0.837,720,3.554,722,0.792,724,1.357,730,0.334,734,1.645,742,1.002,746,1.02,748,0.349,749,0.778,750,0.353,764,0.496,766,0.368,767,2.496,772,0.346,773,0.418,780,0.589,789,0.829,794,0.396,806,0.962,810,0.72,812,0.874,817,0.512,818,0.99,819,0.532,820,0.37,824,2.026,829,0.66,843,0.287,847,1.665,854,0.734,855,1.168,872,0.434,880,1.459,885,5.503,892,0.344,910,0.512,915,0.405,917,1.32,929,1.101,931,1.04,940,3.031,942,0.488,946,1.567,956,0.678,958,1.826,959,1.339,966,1.137,973,0.896,976,0.997,982,0.411,984,2.064,1025,1.341,1045,0.512,1046,0.933,1052,0.512,1054,1.983,1067,0.979,1069,0.463,1079,1.027,1106,0.572,1110,3.215,1111,1.479,1126,0.426,1132,0.61,1134,0.396,1136,0.532,1139,1.855,1147,0.544,1148,4.408,1150,1.255,1164,2.249,1169,0.512,1173,1.125,1175,0.448,1180,0.408,1183,0.463,1208,4.643,1215,0.496,1252,0.475,1255,1.093,1264,1.339,1288,1.039,1307,2.064,1311,0.448,1312,0.496,1324,0.357,1350,1.32,1352,0.874,1362,0.43,1366,0.504,1400,1.703,1409,0.761,1417,2.738,1430,0.387,1437,1.157,1444,1.214,1451,1.302,1452,0.346,1458,1.359,1462,0.837,1472,0.522,1480,0.544,1487,0.496,1489,0.393,1492,0.469,1504,0.512,1508,1.951,1510,0.572,1567,0.522,1579,0.512,1587,1.168,1613,0.885,1676,0.458,1710,0.504,1726,0.463,1733,0.636,1734,0.532,1888,0.475,1910,0.821,1915,0.636,1922,0.463,1926,0.75,2014,0.557,2026,0.39,2072,4.695,2097,0.61,2103,0.496,2115,0.469,2135,0.61,2169,0.496,2174,0.522,2187,0.997,2204,0.671,2227,2.137,2241,1.164,2268,0.544,2276,0.512,2293,0.671,2334,0.532,2350,0.544,2390,0.671,2400,1.147,2425,1.214,2428,0.532,2527,0.415,2671,0.522,2718,0.572,2761,1.039,2903,0.522,2907,0.557,2987,0.512,3045,0.458,3140,0.61,3153,0.496,3207,1.214,3362,0.458,4107,0.636,4254,0.636,4359,0.544,4368,0.997,4453,0.636,4495,0.589,4506,1.092,4728,0.512,4752,1.125,4755,0.671,4793,2.967,4828,0.636,5008,0.636,5071,0.572,5117,0.671,5285,0.671,5395,0.572,5439,0.496,5644,1.214,5914,0.671,5978,0.532,6003,8.167,6004,2.86,6043,2.228,6045,6.821,6046,0.933,6051,0.61,6076,1.743,6080,0.962,6198,1.405,6327,1.214,6335,0.671,6336,4.621,6342,0.671,6371,1.567,6427,4.034,6428,4.034,6429,1.281,6430,1.983,6431,1.983,6432,0.723,6433,0.671,6434,1.382,6435,0.723,6436,0.723,6437,1.382,6438,0.723,6439,1.382,6440,0.723,6441,0.723,6442,0.723,6443,0.671,6444,0.723,6445,0.723,6446,0.723,6447,0.723,6448,0.723,6449,0.723,6450,0.723,6451,0.723,6452,0.723,6453,0.671,6454,0.723,6455,0.723,6456,0.723,6457,0.723,6458,0.723,6459,0.723,6460,0.723,6461,0.723,6462,0.723,6463,0.723,6464,0.723,6465,0.723,6466,0.671,6467,0.671,6468,1.382,6469,0.723,6470,0.723,6471,0.723,6472,1.382,6473,0.723,6474,0.723]],["component/151",[1,0.382,18,0.605,34,0.598]],["title/152",[94,32.518,116,39.266]],["name/152",[94,0.902,116,1.089]],["text/152",[]],["component/152",[1,0.382,18,0.605,34,0.598]],["title/153",[869,60.109]],["name/153",[3,1.542]],["text/153",[1,1.684,34,2.633,87,3.246,94,4.519,96,3.634,98,3.48,116,5.457,141,3.539,154,3.465,176,4.43,203,4.722,206,5.125,257,2.902,261,2.965,311,3.112,355,3.423,462,5.25,497,4.769,512,3.954,539,3.719,554,6.826,712,4.306,724,4.335,742,4.092,748,3.911,749,3.177,869,5.25,884,4.684,918,5.177,938,4.606,1352,5.125,1398,5.737,1425,4.726,1446,5.25,2359,5.551,3805,6.399,6352,7.508,6475,8.1,6476,7.508,6477,7.508]],["component/153",[1,0.382,18,0.605,34,0.598]],["title/154-1",[1127,60.891]],["name/154-1",[]],["text/154-1",[]],["component/154-1",[]],["title/154-2",[211,27.589,678,42.048]],["name/154-2",[]],["text/154-2",[]],["component/154-2",[]],["title/154-3",[218,34.551,406,37.458]],["name/154-3",[]],["text/154-3",[]],["component/154-3",[]],["title/154-4",[99,35.208,596,52.304]],["name/154-4",[]],["text/154-4",[]],["component/154-4",[]],["title/154-5",[681,49.637]],["name/154-5",[]],["text/154-5",[]],["component/154-5",[]],["title/154-6",[62,23.643]],["name/154-6",[]],["text/154-6",[]],["component/154-6",[]],["title/154-7",[187,68.224]],["name/154-7",[]],["text/154-7",[]],["component/154-7",[]],["title/154",[99,35.208,677,40.028]],["name/154",[99,0.976,677,1.11]],["text/154",[1,1.669,2,0.558,9,0.635,10,1.093,13,1.215,15,1.429,33,1.259,34,2.49,35,1.165,36,2.38,38,1.376,39,0.756,48,1.63,49,1.666,54,4.593,62,2.784,63,0.593,67,1.711,69,1.357,70,1.887,71,2.086,87,0.778,91,1.554,92,4.416,96,2.086,98,0.834,99,6.064,106,1.07,109,0.975,114,0.9,120,1.423,140,1.078,149,1.676,152,0.691,153,0.905,165,4.341,167,2.217,169,0.953,173,0.999,178,1.372,187,4.744,197,2.476,200,1.96,211,1.246,215,1.012,216,0.814,218,2.105,221,0.859,223,0.731,224,1.418,226,4.196,233,2.201,234,1.08,241,3.846,247,0.892,250,2.989,253,2.121,257,0.696,258,1.352,260,0.734,264,1.095,266,1.062,268,5.464,271,1.243,275,4.94,281,1.407,283,2.706,286,2.086,289,1.774,291,2.298,298,2.03,299,0.814,311,0.746,313,1.44,317,1.5,326,3.054,327,1.054,330,1.375,332,1.763,336,2.036,341,1.243,343,3.379,345,1.506,379,1.575,380,0.821,381,1.123,395,1.475,406,2.282,418,2.862,420,1.032,421,1.568,422,1.63,428,0.879,431,1.706,432,1.062,435,2.328,491,1.018,495,0.943,505,1.177,511,0.704,512,0.948,514,1.513,538,0.958,550,1.683,552,0.987,560,0.993,589,1.018,596,6.68,638,1.012,656,1.311,669,1.375,677,2.439,678,4.259,683,1.929,691,1.113,692,1.243,702,0.923,709,2.642,734,0.909,748,0.938,749,0.762,750,1.683,758,1.054,763,1.692,792,1.177,820,0.993,821,1.032,836,2.089,837,2.328,840,1.177,866,0.715,885,5.342,899,1.311,914,1.494,918,0.948,925,2.089,929,1.078,936,1.215,951,1.731,954,1.177,957,0.987,966,1.113,1024,1.243,1025,0.856,1054,0.975,1057,1.078,1061,0.802,1148,1.07,1151,1.133,1176,0.948,1309,3.947,1369,1.215,1531,1.018,1556,3.673,1587,2.737,1597,3.176,1637,1.375,1646,1.459,1710,1.352,1713,1.375,1724,1.636,1726,1.243,1775,1.331,1924,1.012,1926,1.054,2010,1.177,2022,1.311,2229,1.534,2374,1.401,2442,1.534,2848,2.487,4415,1.428,5242,1.8,5310,3.379,5438,4.333,5978,1.428,5994,1.154,6037,1.706,6109,3.238,6264,1.706,6407,1.534,6478,1.8,6479,1.942,6480,1.706,6481,1.942,6482,1.942,6483,1.8,6484,1.942,6485,1.942,6486,3.448,6487,1.942,6488,1.8,6489,1.942,6490,1.8,6491,3.029,6492,3.196,6493,1.8,6494,1.636,6495,1.8,6496,1.228]],["component/154",[1,0.382,18,0.605,34,0.598]],["title/155",[99,42.783]],["name/155",[3,1.542]],["text/155",[1,2.007,15,2.78,34,3.139,67,3.33,68,3.275,83,2.64,92,5.459,94,2.858,99,5.984,116,3.452,159,4.107,203,5.048,206,4.244,250,4.329,257,2.403,268,5.643,272,5.493,275,6.943,299,2.813,380,2.835,423,3.616,512,4.558,553,3.495,677,4.898,722,2.678,746,2.698,750,3.275,918,5.243,1015,4.107,1018,3.814,1397,3.814,1398,4.752,1409,3.696,1425,3.914,1464,4.196,1606,4.598,1696,4.935]],["component/155",[1,0.382,18,0.605,34,0.598]],["title/156-1",[268,33.201,6046,51.523]],["name/156-1",[]],["text/156-1",[]],["component/156-1",[]],["title/156-2",[169,31.824,268,28.207,6046,43.773]],["name/156-2",[]],["text/156-2",[]],["component/156-2",[]],["title/156-3",[268,28.207,6046,43.773,6497,60.097]],["name/156-3",[]],["text/156-3",[]],["component/156-3",[]],["title/156-4",[63,23.313,268,33.201]],["name/156-4",[]],["text/156-4",[]],["component/156-4",[]],["title/156-5",[268,33.201,6045,54.056]],["name/156-5",[]],["text/156-5",[]],["component/156-5",[]],["title/156-6",[92,32.951,268,28.207,287,24.997]],["name/156-6",[]],["text/156-6",[]],["component/156-6",[]],["title/156",[92,38.785,268,33.201]],["name/156",[92,1.076,268,0.921]],["text/156",[1,1.29,4,0.746,7,1.056,10,1.21,15,0.743,18,2.149,34,2.259,36,0.402,38,2.136,39,3.33,46,0.703,47,0.583,48,1.202,49,1.903,51,2.335,52,0.546,54,1.066,56,2.028,58,0.767,62,0.819,63,1.484,66,1.862,69,0.375,71,1.03,74,3.504,79,0.596,80,0.533,83,0.375,84,0.499,86,0.674,87,1.747,91,0.429,92,5.189,93,1.842,94,1.858,98,3.491,99,1.482,109,0.478,114,0.441,120,0.393,122,1.569,124,0.446,127,2.118,141,0.416,142,2.386,143,0.441,148,0.487,149,0.343,152,1.143,154,0.407,163,2.711,165,2.669,166,0.435,167,3.655,169,3,177,0.967,178,1.518,180,0.551,183,0.427,209,0.716,221,0.794,222,0.669,223,1.21,226,2.071,229,0.412,230,0.551,233,2.389,234,1.195,241,0.421,245,0.365,247,0.437,250,5.898,253,2.973,257,0.341,260,0.36,262,3.918,266,0.981,268,5.764,271,1.627,274,0.506,275,7.268,276,0.506,281,2.338,283,1.842,287,1.681,290,1.026,291,1.311,299,2.037,311,0.366,315,0.696,316,1.905,324,0.382,327,1.743,333,0.802,336,0.648,355,2.245,357,4.068,358,4.324,364,3.832,379,1.993,381,1.47,395,1.087,396,2.752,421,0.433,428,1.727,495,0.462,497,0.561,501,0.589,505,0.577,511,0.345,514,2.132,530,0.577,531,0.643,552,2.216,553,0.951,558,4.256,574,4.496,615,0.51,638,0.496,672,1.653,679,0.506,697,0.643,702,0.453,709,0.735,712,0.506,714,0.577,721,2,722,2.44,734,0.839,742,0.481,746,0.383,749,0.703,753,0.533,767,1.76,789,0.571,793,0.561,806,0.663,810,1.988,823,0.437,835,4.703,844,0.653,855,2.246,857,0.596,862,1.122,885,4.403,901,0.625,912,2.539,929,2.697,940,0.663,942,0.643,943,0.663,945,4.126,964,0.716,965,3.087,998,0.414,1025,2.141,1054,0.9,1069,0.61,1070,0.513,1105,2.969,1111,0.556,1130,1.405,1148,1.4,1167,0.46,1197,1.193,1252,0.625,1255,0.525,1258,0.634,1263,0.752,1264,0.503,1309,2.974,1366,0.663,1413,0.634,1430,0.51,1437,0.556,1443,1.162,1458,1.229,1484,0.716,1508,0.733,1530,0.7,1567,0.687,1580,0.733,1581,0.837,1839,2.137,1922,1.627,1926,2.071,1971,3.105,1999,2.702,2076,0.733,2081,0.583,2096,0.674,2100,2.522,2187,0.687,2276,0.674,2416,0.716,2666,0.775,2988,0.596,3153,0.653,3264,0.687,3265,2.362,4454,0.883,4455,0.883,4483,0.752,4495,1.459,5395,0.752,5439,0.653,5455,0.733,6003,0.653,6016,2.539,6045,4.812,6046,5.903,6080,3.037,6105,3.352,6106,3.352,6109,2.656,6235,0.837,6336,1.319,6351,2.822,6353,3.536,6364,2.806,6365,2.142,6367,3.675,6368,4.094,6369,2.867,6370,3.356,6371,3.014,6497,2.977,6498,1.576,6499,0.952,6500,0.952,6501,1.662,6502,0.883,6503,0.952,6504,0.952,6505,0.952,6506,0.952]],["component/156",[1,0.382,18,0.605,34,0.598]],["title/157-1",[92,38.785,268,33.201]],["name/157-1",[]],["text/157-1",[]],["component/157-1",[]],["title/157-2",[6507,76.321,6508,67.059]],["name/157-2",[]],["text/157-2",[]],["component/157-2",[]],["title/157-3",[250,30.058,275,36.868,547,42.573]],["name/157-3",[]],["text/157-3",[]],["component/157-3",[]],["title/157",[250,35.379,275,43.395]],["name/157",[250,0.981,275,1.204]],["text/157",[1,0.967,4,1.149,7,1.626,10,2.949,13,1.727,15,1.94,16,1.838,34,1.513,38,2.49,39,3.398,48,1.306,49,3.125,62,1.193,63,1.861,68,1.348,70,0.808,71,1.263,75,4.305,78,1.326,91,1.244,92,3.096,94,1.176,98,3.082,99,4.512,120,1.14,136,2.619,141,1.206,161,1.211,163,1.158,164,1.488,165,4.208,166,1.262,169,3.522,171,2.125,178,2.424,203,2.433,205,1.626,206,1.747,211,0.998,223,1.763,233,1.079,234,0.865,250,5.942,253,1.04,257,0.989,260,1.043,261,1.011,262,1.673,268,5.615,271,1.768,275,7.43,281,2.487,285,1.557,287,1.064,299,3.008,311,1.061,313,1.153,317,1.201,334,2.56,355,1.167,370,1.102,395,2.607,400,1.403,415,2.423,418,2.379,419,3.239,422,1.306,433,1.892,487,1.181,531,3.16,538,1.363,539,1.268,547,1.813,553,1.033,606,2.125,672,2.639,709,2.496,712,1.468,722,1.102,742,1.395,746,1.11,749,1.083,750,1.348,805,1.306,817,1.956,820,2.393,836,1.673,841,2.028,852,2.149,857,1.727,873,1.892,885,3.949,901,1.813,912,3.115,922,1.813,929,5.43,945,3.16,951,2.351,956,1.355,982,1.57,994,2.075,1111,1.611,1146,3.376,1255,2.579,1309,4.392,1389,1.992,1400,1.545,1430,2.505,1458,1.892,1484,2.075,1597,1.557,1607,2.125,1636,2.327,1710,1.923,1734,2.031,1922,1.768,2081,1.69,2100,2.707,2276,1.956,2448,2.125,2527,1.583,3153,1.892,4266,3.518,5978,2.031,6023,2.247,6045,3.315,6046,3.16,6080,6.475,6109,4.243,6365,2.327,6367,2.327,6368,2.327,6501,4.338,6508,7.666,6509,6.093,6510,4.681,6511,3.376,6512,2.761,6513,4.681,6514,2.761]],["component/157",[1,0.382,18,0.605,34,0.598]],["title/158",[272,39.023,275,43.395]],["name/158",[272,1.082,275,1.204]],["text/158",[]],["component/158",[1,0.382,18,0.605,34,0.598]],["title/159",[146,48.64]],["name/159",[3,1.542]],["text/159",[1,1.96,34,3.066,146,6.811,167,3.867,185,6.106,202,9.478,203,4.49,206,5.613,311,3.409,313,3.705,402,6.244,512,4.33,518,7.201,555,4.073,749,3.48,750,4.33,1015,6.885,1151,5.176,1397,5.044,1398,6.284]],["component/159",[1,0.382,18,0.605,34,0.598]],["title/160",[670,56.771]],["name/160",[3,1.542]],["text/160",[1,2.148,34,3.359,69,4.759,200,6.874,670,6.102,688,6.941,722,3.979,956,5.934,1018,5.667,1063,5.411]],["component/160",[1,0.382,18,0.605,34,0.598]],["title/161-1",[145,33.57,211,23.44,1443,42.026]],["name/161-1",[]],["text/161-1",[]],["component/161-1",[]],["title/161-2",[145,39.514,211,27.589]],["name/161-2",[]],["text/161-2",[]],["component/161-2",[]],["title/161-3",[4644,78.148]],["name/161-3",[]],["text/161-3",[]],["component/161-3",[]],["title/161-4",[261,33.942]],["name/161-4",[]],["text/161-4",[]],["component/161-4",[]],["title/161",[1,11.947,34,18.687,956,24.464]],["name/161",[1,0.284,34,0.444,956,0.466]],["text/161",[1,1.822,2,1.092,7,2.238,34,2.851,38,2.878,39,4.915,40,2.742,70,1.112,71,2.059,83,1.496,87,2.442,93,1.441,98,1.633,99,3.519,116,1.956,142,2.378,152,2.17,161,1.668,163,1.594,183,1.705,197,2.114,215,1.981,216,3.199,222,1.418,223,1.432,224,2.506,226,2.064,233,2.382,234,1.19,241,2.698,242,2.327,257,1.362,260,1.437,262,5.788,268,3.796,276,2.021,283,1.441,286,1.705,289,1.956,290,1.534,291,3.114,299,4.814,301,2.144,311,3.67,315,2.366,317,1.654,324,1.523,336,1.374,343,2.281,401,3.094,428,2.759,435,2.566,439,2.566,460,3.094,494,2.647,495,1.845,511,1.378,548,2.094,550,1.856,552,5.442,553,1.423,556,1.798,582,2.007,670,7.367,672,2.64,678,4.203,694,3.523,702,1.807,709,1.557,721,1.244,731,5.263,754,2.434,758,2.064,783,1.303,823,1.745,836,2.303,840,3.693,843,1.507,846,1.789,866,1.4,899,2.566,931,4.001,1065,6.077,1093,3.262,1110,2.259,1324,1.876,1417,2.049,1425,2.218,1557,2.693,1561,2.857,1696,2.797,1713,2.693,1927,2.218,2905,2.405,4004,3.003,4607,3.523,4836,3.34,5466,2.742,6075,2.693,6093,2.259,6261,2.693,6515,3.802,6516,6.095,6517,3.802,6518,3.802,6519,3.802,6520,3.802,6521,3.802,6522,3.802,6523,3.802,6524,3.523,6525,3.802]],["component/161",[1,0.382,18,0.605,34,0.598]],["title/162-1",[145,33.57,211,23.44,1443,42.026]],["name/162-1",[]],["text/162-1",[]],["component/162-1",[]],["title/162-2",[145,39.514,211,27.589]],["name/162-2",[]],["text/162-2",[]],["component/162-2",[]],["title/162-3",[4644,78.148]],["name/162-3",[]],["text/162-3",[]],["component/162-3",[]],["title/162-4",[261,33.942]],["name/162-4",[]],["text/162-4",[]],["component/162-4",[]],["title/162",[53,38.53,54,38.53,55,39.693]],["name/162",[53,0.892,54,0.892,55,0.919]],["text/162",[1,2.106,10,1.597,15,2.086,34,3.294,38,1.853,39,1.961,69,2.985,92,2.559,93,2.875,96,4.093,97,2.964,98,2.163,99,5.025,140,2.795,141,2.2,165,3.131,167,1.731,200,4.312,211,1.82,232,1.89,241,4.038,262,7.408,268,5.168,269,3.874,271,5.841,281,2.055,283,1.909,289,2.59,292,7.516,299,4.258,311,1.934,315,1.954,317,2.19,395,2.154,400,2.559,428,2.279,432,2.753,495,2.444,538,2.485,548,2.774,670,3.082,672,2.181,678,5.026,721,1.648,749,1.975,758,2.733,783,1.726,823,2.312,948,3.115,980,3.632,982,2.863,1010,2.937,1054,2.528,1079,3.926,1208,2.753,1417,2.714,1979,3.874,2100,4.386,2160,3.874,2276,3.566,2672,4.424,4004,3.977,4790,3.874,6170,8.016,6261,3.566,6524,4.666,6526,5.035,6527,5.035,6528,5.035,6529,5.035,6530,5.035]],["component/162",[1,0.382,18,0.605,34,0.598]],["title/163-1",[783,26.167,1452,36.464]],["name/163-1",[]],["text/163-1",[]],["component/163-1",[]],["title/163-2",[1,10.292,2,18.624,14,38.902]],["name/163-2",[]],["text/163-2",[]],["component/163-2",[]],["title/163",[94,32.518,724,40.849]],["name/163",[94,0.902,724,1.133]],["text/163",[1,1.541,2,0.708,15,1.021,25,2.599,34,2.411,36,1.041,38,1.367,46,0.966,49,0.882,56,2.257,58,1.816,62,0.628,63,3.852,69,2.202,70,0.721,83,0.97,91,3.696,94,3.744,95,1.968,99,1.959,102,1.357,109,1.237,120,1.017,122,1.013,152,1.992,153,1.148,154,1.054,166,4.243,174,3.462,178,0.98,204,1.493,211,0.89,221,2.477,229,1.067,232,0.925,233,1.659,257,2.004,260,0.931,261,0.902,268,3.264,274,3.989,281,1.005,291,2.284,299,1.033,313,1.029,324,0.987,332,2.171,336,2.405,370,0.983,377,1.464,395,3.21,406,3.265,445,1.663,488,1.26,525,2.005,539,1.131,548,1.357,593,6.034,622,1.425,628,1.617,635,3.94,672,4.367,696,2.184,712,1.309,724,4.39,735,1.326,744,1.508,760,2.061,773,4.339,783,2.281,789,2.547,793,1.45,794,2.322,806,1.715,812,1.558,818,2.12,841,4.367,844,2.91,847,2.788,872,4.921,892,3.899,907,4.894,962,1.541,994,5,997,1.292,998,2.894,1025,2.466,1027,1.309,1070,1.328,1079,1.275,1110,1.464,1111,1.437,1139,1.665,1178,4.804,1215,1.688,1255,1.357,1299,2.752,1395,4.799,1443,1.597,1452,3.585,1472,1.777,1531,1.292,1567,1.777,1574,1.558,1589,1.812,1597,2.394,1615,1.541,1670,1.558,1718,4.42,1839,2.826,1898,2.076,1905,1.812,1914,3.777,2072,3.361,2176,4.205,2231,1.946,2234,1.812,2276,1.745,2449,2.076,2555,1.745,2664,1.851,2671,1.777,2686,1.745,2878,1.896,2984,1.812,2996,1.812,3217,7.824,3227,6.48,3893,2.283,4249,2.283,4276,8.533,4355,3.456,4368,1.777,4408,2.076,4728,5.81,5164,1.688,5193,5.415,5814,6.593,6531,2.463,6532,2.463,6533,5.186,6534,2.463,6535,2.463,6536,2.463,6537,2.283,6538,2.283,6539,2.463,6540,2.463,6541,3.935,6542,2.463,6543,2.463,6544,2.463,6545,2.463,6546,2.463,6547,8.203,6548,2.463,6549,2.463,6550,2.164,6551,2.463]],["component/163",[1,0.382,18,0.605,34,0.598]],["title/164",[122,38.138]],["name/164",[3,1.542]],["text/164",[1,1.26,34,1.971,38,2.862,48,3.755,49,2.845,62,2.024,63,3.198,70,2.323,94,4.99,117,7.027,122,5.121,167,2.73,224,3.266,226,4.311,313,3.316,380,4.425,495,3.855,724,6.269,767,3.663,883,4.764,1018,4.515,1063,4.311,1311,4.913,1369,4.967,1393,5.214,1397,4.515,1437,4.633,1574,5.024,1613,5.084,2072,5.917,2131,6.463,2172,6.691,2374,5.728,4793,5.968,6552,7.941]],["component/164",[1,0.382,18,0.605,34,0.598]],["title/165-1",[812,35.658,962,35.254,2072,28.471,4701,41.463]],["name/165-1",[]],["text/165-1",[]],["component/165-1",[]],["title/165-2",[1,7.912,34,12.375,117,29.905,408,20.268,2072,25.179]],["name/165-2",[]],["text/165-2",[]],["component/165-2",[]],["title/165",[38,18.646,2072,38.552]],["name/165",[38,0.367,117,0.9,211,0.543]],["text/165",[1,1.399,2,1.367,4,1.979,10,2.304,34,1.804,38,2.736,45,5.918,46,1.866,56,2.529,62,1.213,70,2.126,71,2.379,83,2.86,126,1.964,161,2.088,204,4.402,211,1.72,215,2.479,219,2.705,223,2.736,245,1.822,247,2.184,257,1.704,260,3.728,287,3.803,311,2.791,315,1.847,317,3.161,328,2.297,342,2.912,408,3.584,439,3.212,487,2.035,488,2.433,495,2.31,511,1.725,514,2.088,518,3.046,522,3.01,563,2.027,568,3.471,659,3.084,672,4.852,723,2.463,749,1.866,753,4.065,794,2.602,821,2.529,823,2.184,835,3.661,843,4.762,890,4.242,899,3.212,908,3.661,915,2.662,951,2.389,962,5.513,965,3.67,982,2.705,1130,3.633,1241,2.546,1304,4.82,1370,2.662,1452,4.211,1484,3.576,1489,2.583,1492,4.709,1673,3.872,1926,4.785,2072,5.658,2101,4.979,2102,3.313,2229,3.759,2332,2.854,2925,2.261,3017,3.872,4701,6.484,5310,2.854,6016,3.166,6318,4.41,6370,3.661,6553,4.41,6554,7.265,6555,3.759]],["component/165",[1,0.382,18,0.605,34,0.598]],["title/166-1",[96,22.36,965,25.179,1130,18.358,1259,27.672,6556,39.378]],["name/166-1",[]],["text/166-1",[]],["component/166-1",[]],["title/166-2",[428,22.565,603,28.341,965,25.179,1130,18.358,1259,27.672]],["name/166-2",[]],["text/166-2",[]],["component/166-2",[]],["title/166",[93,18.898,94,21.238,603,28.341,965,25.179,1130,18.358]],["name/166",[93,0.569,94,0.639,1130,0.553]],["text/166",[1,0.975,9,2.01,10,1.217,34,1.525,49,2.2,70,1.123,71,2.901,83,1.51,92,5.676,93,3.327,94,1.635,96,4.592,107,1.684,126,1.584,127,2.13,148,1.962,163,1.609,165,3.169,167,4.801,173,1.974,203,1.532,261,1.405,268,5.345,283,3.327,290,1.549,343,3.684,360,2.953,361,2.953,395,1.642,418,3.121,421,2.793,422,2.904,428,5.348,485,2.457,511,2.227,589,3.221,603,3.492,605,2.768,674,3.521,677,2.013,691,2.2,723,1.987,731,3.383,754,4.915,768,4.43,813,1.662,822,4.976,885,6.635,953,1.916,965,3.102,1057,2.13,1072,1.987,1075,3.841,1130,3.535,1177,3.372,1249,3.583,1259,2.13,1324,3.031,1360,2.823,1368,2.28,1416,4.459,1597,3.463,1661,2.718,1926,2.083,6075,2.718,6080,4.276,6109,4.276,6330,5.175,6331,7.394,6340,5.175,6407,3.032,6494,5.175,6555,7.582,6556,6.932,6557,3.838,6558,3.557,6559,5.396,6560,5.396,6561,5.396,6562,3.838,6563,3.838,6564,3.838,6565,3.838,6566,3.838,6567,3.838]],["component/166",[1,0.382,18,0.605,34,0.598]],["title/167",[93,24.583,94,27.627,485,41.51]],["name/167",[93,0.569,94,0.639,485,0.961]],["text/167",[1,1.822,6,4.13,10,2.906,34,2.85,37,2.816,39,2.543,49,2.338,62,2.336,70,1.91,71,3.263,93,2.475,94,2.781,96,4.11,99,3.011,107,2.864,109,3.278,114,3.026,126,2.695,167,3.15,177,3.518,218,2.955,224,2.685,241,4.686,242,3.996,244,2.77,250,3.026,253,2.459,262,3.955,268,2.84,275,3.712,283,3.474,289,4.714,291,2.664,292,4.13,336,2.36,380,2.759,395,2.793,406,4.497,428,5.473,485,6.777,511,2.367,596,4.474,704,4.474,722,2.606,723,4.744,763,3.204,823,2.997,836,3.955,1134,3.57,1185,3.775,1924,3.401,1926,3.544,1959,5.501,2010,3.955,2400,3.775,6369,4.906,6568,6.05]],["component/167",[1,0.382,18,0.605,34,0.598]],["title/168-1",[1,5.874,34,9.188,71,9.988,262,22.424,395,15.833,485,23.692,591,23.148,1061,15.277]],["name/168-1",[]],["text/168-1",[]],["component/168-1",[]],["title/168-2",[1105,35.04,1999,54.056]],["name/168-2",[]],["text/168-2",[]],["component/168-2",[]],["title/168-3",[722,30.47,1105,35.04]],["name/168-3",[]],["text/168-3",[]],["component/168-3",[]],["title/168",[1,7.912,2,14.317,50,28.341,70,14.585,395,21.325]],["name/168",[93,0.569,94,0.639,395,0.642]],["text/168",[1,1.462,2,0.777,9,0.885,10,1.459,34,2.859,44,1.674,49,2.15,50,1.538,63,0.826,66,1.321,70,3.707,71,3.327,78,1.299,83,1.065,92,5.617,93,3.968,96,1.214,122,1.113,124,1.267,127,3.332,141,1.182,142,1.692,152,0.963,163,1.134,165,3.563,166,1.236,167,2.064,197,0.938,211,1.663,215,1.41,226,1.469,233,2.768,234,3.035,244,1.148,253,2.261,257,0.969,258,1.884,261,2.197,262,3.637,279,1.593,283,1.744,287,1.774,290,1.092,291,3.956,292,1.712,317,1.177,324,1.084,336,2.17,343,1.623,345,4.572,355,1.944,357,5.745,362,3.385,364,3.319,380,1.944,381,1.565,395,2.568,396,1.952,420,1.438,423,1.458,426,1.656,428,5.779,465,2.137,485,3.843,489,4.251,490,3.153,491,1.419,498,2.284,511,2.176,535,2.137,536,2.945,538,2.271,553,2.246,558,3.204,560,1.383,563,1.153,571,1.248,591,1.692,635,1.299,638,1.41,642,4.36,668,1.321,678,2.535,681,1.448,722,2.827,734,1.267,740,2.554,767,1.248,768,3.319,790,1.383,821,1.438,823,1.242,836,4.29,841,1.172,846,1.273,855,1.593,953,1.351,965,1.367,966,1.551,1018,4.026,1035,1.502,1038,1.117,1054,1.359,1061,4.32,1130,0.996,1185,1.565,1368,1.608,1369,1.692,1416,1.375,1465,1.776,1661,3.259,1926,1.469,2022,1.826,2106,3.54,2400,1.565,2737,2.033,5160,2.137,5439,1.854,5466,1.952,6000,1.826,6093,2.734,6354,3.877,6364,3.385,6369,5.322,6569,2.706,6570,2.706,6571,4.043,6572,2.377,6573,2.706,6574,2.706,6575,2.706,6576,2.377,6577,2.706,6578,2.508,6579,2.508,6580,2.706,6581,2.706]],["component/168",[1,0.382,18,0.605,34,0.598]],["title/169-1",[1,10.292,34,16.098,428,29.354]],["name/169-1",[]],["text/169-1",[]],["component/169-1",[]],["title/169-2",[1,8.946,34,13.993,96,25.283,723,29.181]],["name/169-2",[]],["text/169-2",[]],["component/169-2",[]],["title/169-3",[92,38.785,2100,44.136]],["name/169-3",[]],["text/169-3",[]],["component/169-3",[]],["title/169-4",[114,30.058,723,33.57,754,41.51]],["name/169-4",[]],["text/169-4",[]],["component/169-4",[]],["title/169",[1,8.946,34,13.993,93,21.369,94,24.015]],["name/169",[93,0.569,94,0.639,262,0.909]],["text/169",[1,1.356,2,0.762,9,1.48,15,1.875,34,1.947,37,1.144,38,2.087,39,1.033,49,1.62,62,0.676,66,1.295,69,1.044,70,2.499,71,2.705,83,1.044,91,2.038,92,5.916,93,3.642,94,1.13,96,4.309,98,1.139,99,2.728,114,1.229,120,1.867,122,2.432,126,1.095,127,2.511,130,1.607,131,1.641,142,1.659,148,2.313,149,0.956,163,1.112,165,4.633,167,4.003,176,1.45,179,3.1,184,1.719,197,2.424,203,1.059,222,1.687,223,0.999,226,1.44,229,1.96,232,0.996,234,1.852,241,1.174,242,1.624,245,1.016,250,1.229,253,1.704,257,0.95,264,1.496,268,1.968,274,1.41,275,1.508,277,1.993,279,1.561,283,2.65,289,1.365,290,1.07,291,1.846,292,1.678,299,1.112,310,1.461,313,1.889,315,1.756,336,0.959,357,1.765,360,2.041,361,2.041,364,1.913,370,2.361,380,1.912,396,1.913,408,1.078,428,4.701,433,1.818,462,1.719,485,5.022,487,1.935,508,2.33,511,1.64,512,1.295,520,1.461,538,1.309,549,3.391,550,2.887,552,1.348,553,2.213,563,2.52,568,1.267,589,1.391,615,1.42,642,1.34,668,1.295,674,1.521,677,1.391,679,1.41,709,2.423,722,1.059,723,4.974,729,1.547,730,1.224,731,2.492,735,1.413,749,1.04,750,1.295,754,5.022,767,2.728,772,2.161,774,2.313,783,2.396,804,2.572,810,1.382,817,1.879,821,1.41,823,1.218,836,3.584,843,1.051,885,1.719,923,1.41,938,1.508,956,1.302,965,2.285,988,1.44,1018,1.508,1025,1.169,1061,2.885,1130,2.178,1249,1.547,1368,1.576,1397,1.508,1400,1.484,1416,2.299,1417,2.438,1597,1.496,1725,1.879,1926,3.211,2097,2.235,2100,4.939,2106,3.481,2988,1.659,4925,2.159,5994,1.576,5995,2.33,6075,1.879,6080,1.847,6109,1.847,6330,2.235,6331,3.812,6340,2.235,6343,2.095,6494,2.235,6555,2.095,6558,2.458,6559,2.33,6560,2.33,6561,2.33,6568,2.458,6582,2.235,6583,2.652,6584,2.652,6585,4.523,6586,2.652,6587,2.652,6588,2.235,6589,2.33,6590,2.33,6591,2.33,6592,2.33,6593,2.33,6594,2.235,6595,2.33,6596,2.235,6597,2.235,6598,2.159]],["component/169",[1,0.382,18,0.605,34,0.598]],["title/170-1",[0,23.019,132,43.773,146,34.008]],["name/170-1",[]],["text/170-1",[]],["component/170-1",[]],["title/170-2",[0,23.019,62,16.531,132,43.773]],["name/170-2",[]],["text/170-2",[]],["component/170-2",[]],["title/170-3",[169,27.663,242,34.503,336,20.375,553,21.091]],["name/170-3",[]],["text/170-3",[]],["component/170-3",[]],["title/170-4",[1,7.092,34,11.092,92,22.705,132,30.162,250,20.712,581,29.335]],["name/170-4",[]],["text/170-4",[]],["component/170-4",[]],["title/170-5",[0,23.019,117,38.902,132,43.773]],["name/170-5",[]],["text/170-5",[]],["component/170-5",[]],["title/170",[0,17.696,1,7.912,34,12.375,132,33.65,262,30.203]],["name/170",[93,0.569,94,0.639,132,1.013]],["text/170",[0,3.27,1,1.462,6,1.942,10,2.086,34,2.859,37,1.324,49,2.357,50,2.909,58,2.189,62,0.782,69,3.357,71,2.96,87,1.23,92,2.6,93,1.164,94,2.18,95,3.05,96,4.132,99,1.416,107,2.245,117,1.841,126,1.267,127,1.704,128,2.174,132,8.294,142,1.92,146,1.61,153,1.43,154,1.313,163,2.145,165,2.112,167,2.262,169,1.506,221,1.358,222,1.145,232,1.152,233,2,241,2.264,242,3.132,250,4.27,253,1.156,257,1.833,261,1.123,276,1.631,279,1.807,281,1.253,283,2.91,286,1.377,288,2.425,290,1.239,291,3.133,336,4.245,343,3.069,347,2.586,355,2.162,362,2.258,379,2.338,406,2.511,415,1.589,419,1.631,435,2.072,466,3.764,507,2.586,511,3.543,513,1.541,533,1.92,552,1.56,562,1.599,615,4.108,674,1.76,711,5.78,722,2.626,723,1.589,754,3.275,756,1.55,783,1.052,809,1.899,822,3.316,915,1.717,1109,2.425,1215,2.103,1260,1.807,1318,1.579,1319,4.329,1343,1.899,1488,1.666,1655,3.132,1697,4.975,1767,3.506,2158,2.137,2529,2.307,2533,4.042,2988,3.2,3263,2.307,3738,2.697,3852,2.697,3864,6.097,4580,2.586,4752,2.498,5994,1.824,6000,2.072,6075,2.174,6093,3.04,6110,2.362,6582,2.586,6599,2.845,6600,2.697,6601,4.742,6602,7.905,6603,4.742,6604,3.069,6605,3.069,6606,2.845,6607,2.845,6608,4.742,6609,3.069,6610,3.069,6611,3.069,6612,6.579,6613,2.845,6614,3.069,6615,3.069,6616,3.069,6617,3.069,6618,5.116,6619,4.742,6620,3.069,6621,3.069,6622,5.116,6623,3.069,6624,3.069,6625,5.116,6626,3.069,6627,3.069,6628,3.069,6629,3.069,6630,3.069,6631,3.069,6632,3.069,6633,3.069,6634,3.069,6635,3.069,6636,3.069,6637,3.069,6638,3.069,6639,3.069,6640,3.069,6641,3.069,6642,3.069,6643,3.069]],["component/170",[1,0.382,18,0.605,34,0.598]],["title/171",[92,32.951,310,35.723,767,29.912]],["name/171",[93,0.569,94,0.639,6597,1.265]],["text/171",[1,0.673,34,1.052,92,3.808,93,0.932,257,1.518,264,5.231,338,1.157,423,3.011,550,4.917,730,2.577,767,3.457,821,2.253,836,8.454,1425,2.473,6588,7.398,6589,10.163,6590,7.199,6591,7.713,6592,7.199,6593,8.15,6594,3.572,6595,3.724,6596,11.336,6644,4.238,6645,4.238,6646,4.238,6647,4.238,6648,6.644,6649,6.644,6650,6.644,6651,4.238,6652,4.238,6653,5.587,6654,6.644,6655,6.644,6656,4.238,6657,5.587,6658,5.587,6659,5.587,6660,5.587,6661,5.587,6662,4.238,6663,5.587,6664,4.238,6665,4.238,6666,4.238,6667,4.238,6668,4.238,6669,4.238,6670,4.238,6671,4.238,6672,4.238,6673,4.238,6674,4.238,6675,4.238,6676,4.238,6677,4.238,6678,5.587,6679,5.587,6680,5.587,6681,5.587,6682,5.587,6683,5.587,6684,5.587,6685,5.587,6686,5.587,6687,5.587,6688,5.587,6689,6.644,6690,5.587,6691,5.587,6692,6.644,6693,6.644,6694,6.644,6695,6.644,6696,6.644,6697,6.644,6698,6.644,6699,6.644,6700,6.644,6701,6.644,6702,6.644,6703,6.644,6704,5.587,6705,6.644,6706,2.458,6707,2.458,6708,2.458,6709,2.458,6710,2.458,6711,2.458,6712,2.458,6713,2.458,6714,2.458,6715,2.458,6716,2.458,6717,2.458,6718,2.458,6719,2.458,6720,2.458,6721,2.458,6722,2.458,6723,2.458]],["component/171",[1,0.382,18,0.605,34,0.598]],["title/172-1",[0,23.019,133,48.733,146,34.008]],["name/172-1",[]],["text/172-1",[]],["component/172-1",[]],["title/172-2",[0,23.019,62,16.531,133,48.733]],["name/172-2",[]],["text/172-2",[]],["component/172-2",[]],["title/172-3",[62,14.369,127,31.29,591,35.254,751,39.921]],["name/172-3",[]],["text/172-3",[]],["component/172-3",[]],["title/172-4",[62,12.708,127,27.672,233,19.482,6724,43.797,6725,46.199]],["name/172-4",[]],["text/172-4",[]],["component/172-4",[]],["title/172-5",[62,14.369,92,28.643,93,21.369,4925,45.875]],["name/172-5",[]],["text/172-5",[]],["component/172-5",[]],["title/172",[0,17.696,1,7.912,34,12.375,133,37.463,262,30.203]],["name/172",[93,0.569,94,0.639,277,1.128]],["text/172",[0,2.948,1,1.601,4,0.82,6,1.246,10,2.065,18,0.495,34,2.624,37,2.029,49,2.332,50,2.675,58,0.843,62,1.987,67,1.734,68,0.962,71,3.167,78,0.946,83,0.775,92,2.892,93,1.324,94,0.839,96,3.926,98,0.846,99,3.323,107,1.532,109,0.989,114,2.181,127,3.998,130,4.364,133,5.858,141,0.861,142,1.232,143,0.913,146,1.033,162,1.027,163,1.464,167,2.476,169,0.967,173,1.014,177,1.062,197,1.211,198,4.496,215,1.027,216,0.826,222,0.735,229,0.853,232,2.704,233,1.365,241,1.546,242,1.206,244,1.482,251,2.91,253,1.772,257,1.251,261,1.278,272,1.786,277,5.413,283,1.324,286,0.884,288,1.556,290,4.071,291,2.323,310,1.085,315,0.765,317,0.857,324,0.789,336,4.144,340,1.246,342,1.206,347,1.66,362,1.449,380,0.833,395,3.334,398,1.182,415,1.02,420,2.5,426,2.138,485,1.261,500,1.001,511,0.714,538,1.724,547,1.294,582,1.04,591,2.942,615,2.518,635,0.946,648,0.932,672,0.853,679,1.047,709,0.807,711,4.133,721,1.143,722,2.272,723,4.735,740,1.094,749,1.37,751,6.946,754,4.168,761,0.804,768,1.421,836,1.194,893,1.604,902,4.79,915,1.102,918,0.962,925,1.194,934,1.062,950,1.232,954,1.194,985,1.449,1027,1.047,1061,1.442,1080,1.826,1105,0.905,1130,1.732,1177,3.069,1185,1.139,1214,2.138,1215,1.35,1227,2.358,1241,1.055,1249,1.149,1255,1.924,1296,1.372,1311,1.219,1369,1.232,1387,1.421,1413,2.324,1417,1.882,1448,1.449,1464,2.185,1488,1.07,1587,2.056,1671,1.604,1716,1.277,1926,1.07,2092,2.843,2100,2.02,2400,1.139,2474,1.826,2878,1.516,3263,3.535,3738,1.731,4328,1.421,4476,1.66,4752,1.604,4830,1.826,5466,1.421,5689,4.133,6075,5.101,6093,2.075,6110,1.516,6413,1.826,6582,1.66,6598,1.604,6599,1.826,6600,1.731,6601,3.237,6602,10.171,6603,1.826,6606,1.826,6607,3.237,6608,5.275,6724,3.069,6725,7.698,6726,1.97,6727,3.493,6728,1.97,6729,1.97,6730,1.97,6731,1.97,6732,1.97,6733,1.97,6734,1.97,6735,1.97,6736,1.97,6737,1.97,6738,1.97,6739,1.97,6740,1.97,6741,3.493,6742,1.97,6743,1.97,6744,1.97,6745,3.237,6746,1.97,6747,1.97,6748,1.97,6749,4.704,6750,1.97,6751,1.97,6752,1.97,6753,1.97,6754,1.97,6755,1.97,6756,1.97,6757,1.97,6758,1.97,6759,1.97,6760,3.493,6761,1.97,6762,3.493,6763,1.97,6764,3.493,6765,2.625,6766,2.943,6767,1.97,6768,1.97,6769,5.691,6770,1.97,6771,1.97,6772,4.704,6773,1.97,6774,1.97,6775,1.97,6776,1.97,6777,1.97,6778,3.493,6779,1.97,6780,1.97,6781,1.97]],["component/172",[1,0.382,18,0.605,34,0.598]],["title/173-1",[1,8.946,34,13.993,292,35.658,428,25.516]],["name/173-1",[]],["text/173-1",[]],["component/173-1",[]],["title/173-2",[1,7.912,34,12.375,96,22.36,292,31.535,723,25.807]],["name/173-2",[]],["text/173-2",[]],["component/173-2",[]],["title/173",[1,7.912,34,12.375,93,18.898,94,21.238,292,31.535]],["name/173",[93,0.569,94,0.639,292,0.949]],["text/173",[1,1.622,2,1.464,9,2.505,18,1.281,34,2.282,49,1.826,53,3.03,55,3.121,58,3.275,69,2.007,70,1.492,71,2.758,92,3.891,93,4.361,96,5.16,120,2.105,127,2.83,163,2.138,167,4.22,176,2.788,197,1.768,203,2.035,212,5.754,221,2.257,230,2.948,232,1.914,234,1.597,253,1.92,257,1.826,279,4.507,291,3.125,292,3.225,315,1.979,336,1.843,357,3.393,361,3.923,380,3.236,428,5.789,485,3.264,511,1.849,512,2.488,538,2.516,549,4.389,553,1.908,568,2.436,571,2.352,615,2.729,642,2.575,677,2.674,690,2.575,709,3.766,722,2.035,723,5.291,731,2.809,748,3.697,754,3.264,836,6.969,956,2.502,965,3.867,1075,3.189,1130,3.386,1368,3.03,1725,3.611,1926,4.156,2100,2.948,2988,3.189,5477,3.923,5618,4.725,5994,5.463,6075,3.611,6555,4.028,6559,4.48,6582,4.296,6782,4.725,6783,4.725,6784,5.098]],["component/173",[1,0.382,18,0.605,34,0.598]],["title/174-1",[71,15.212,96,25.283,197,19.546,485,36.083]],["name/174-1",[]],["text/174-1",[]],["component/174-1",[]],["title/174-2",[1105,35.04,1999,54.056]],["name/174-2",[]],["text/174-2",[]],["component/174-2",[]],["title/174-3",[722,30.47,1105,35.04]],["name/174-3",[]],["text/174-3",[]],["component/174-3",[]],["title/174",[93,28.935,94,32.518]],["name/174",[93,0.802,94,0.902]],["text/174",[0,2.17,1,1.841,2,1.35,4,1.154,10,1.939,34,3.078,38,0.678,39,1.08,44,1.716,49,1.683,50,1.577,62,0.707,66,1.354,68,1.354,70,0.812,71,3.131,78,1.332,83,1.849,84,1.455,92,4.092,93,4.123,94,3.066,95,2.178,96,5.204,99,1.28,100,1.228,107,2.682,114,2.834,127,4.47,131,2.907,132,1.873,142,1.735,163,1.163,166,1.267,167,3.007,173,1.427,197,2.496,203,1.876,215,2.449,223,1.045,226,1.506,229,1.202,232,1.041,233,2.389,234,2.522,257,0.994,258,1.931,261,1.015,262,3.704,277,3.532,283,1.782,287,1.812,291,1.132,292,3.868,299,1.163,311,1.066,315,1.824,317,1.207,324,1.111,336,1.003,338,1.305,343,1.664,345,4.071,348,4.704,355,1.986,357,5.821,360,3.616,364,3.389,379,1.267,396,2.001,406,1.361,408,1.128,419,1.474,420,1.474,423,1.495,426,1.698,428,4.219,465,2.191,485,5.599,489,4.33,490,3.22,498,1.377,507,2.337,511,2.217,535,2.191,536,3.008,553,1.038,558,1.931,591,1.735,596,1.901,603,2.672,642,4.418,681,1.485,721,0.908,722,3.215,723,2.433,740,2.609,751,1.965,754,6.962,768,2.001,805,1.312,823,1.273,836,1.681,839,2.629,841,1.202,855,1.633,918,2.294,937,1.846,953,1.385,965,2.374,966,1.59,1016,1.798,1035,2.609,1061,2.524,1130,1.731,1174,2.041,1185,1.604,1214,1.698,1321,1.716,1416,1.41,1464,1.735,1579,1.965,1661,3.328,1769,2.258,1926,1.506,2167,2.085,2358,1.552,2400,1.604,2527,1.59,2655,2.792,5439,1.901,5466,2.001,6000,1.873,6075,5.097,6093,2.792,6104,2.191,6248,2.191,6364,3.457,6369,3.532,6571,4.129,6572,2.437,6576,2.437,6578,2.571,6579,2.571,6598,3.825,6766,2.337,6785,2.774]],["component/174",[1,0.382,18,0.605,34,0.598]],["title/175",[50,52.731]],["name/175",[3,1.542]],["text/175",[0,3.908,1,2.105,10,1.887,34,3.184,36,2.515,50,3.383,54,5.977,55,6.157,69,2.342,70,2.51,91,2.681,92,3.024,93,5.192,94,5.835,126,2.456,127,4.762,132,5.791,133,6.447,200,3.383,203,3.425,206,5.427,268,2.589,313,2.485,315,2.31,336,3.101,395,3.67,445,4.017,485,5.491,490,5.879,512,2.904,555,2.732,603,3.383,660,4.843,750,4.187,1130,3.159,1397,3.383,1434,4.472,1767,4.078,2475,7.95,6247,6.776]],["component/175",[1,0.382,18,0.605,34,0.598]],["title/176-1",[62,19.457,395,32.651]],["name/176-1",[]],["text/176-1",[]],["component/176-1",[]],["title/176-2",[977,64.312,1393,50.11]],["name/176-2",[]],["text/176-2",[]],["component/176-2",[]],["title/176",[490,63.556]],["name/176",[490,2.46]],["text/176",[1,1.976,2,0.718,4,1.788,14,1.499,15,1.036,16,1.663,26,0.872,34,3.116,39,2.203,49,1.54,53,1.485,58,1.839,62,0.637,66,1.22,68,1.22,70,1.258,71,3.262,91,1.937,93,1.63,94,1.065,95,2.622,98,1.074,99,3.099,107,3.628,109,2.159,114,1.158,120,2.335,128,1.77,139,1.74,140,1.387,146,1.311,147,1.713,152,2.014,163,1.048,170,3.851,178,0.994,183,3.395,218,1.131,221,1.903,222,2.11,223,1.619,225,1.53,241,5.287,244,1.06,250,1.158,253,2.851,257,1.54,258,1.74,262,3.427,266,1.367,268,3.597,274,1.328,282,1.974,289,3.456,291,3.613,292,1.581,311,0.96,315,2.196,324,2.692,330,1.77,336,2.428,343,5.863,345,2.471,380,1.817,395,2.874,435,1.687,445,1.687,489,8.351,490,6.95,495,1.213,497,1.471,513,1.255,535,1.974,536,1.6,540,1.514,603,3.819,642,3.393,656,2.902,660,6.73,678,1.377,690,1.262,722,0.998,730,1.153,734,1.17,746,1.005,754,2.752,761,1.02,817,3.045,818,1.248,820,1.278,823,1.147,927,1.62,941,1.713,947,4.771,957,1.27,977,2.106,980,1.803,1018,2.444,1029,1.111,1046,1.687,1054,1.255,1072,1.294,1106,1.974,1154,3.647,1172,2.106,1181,1.878,1216,3.101,1285,2.212,1324,1.233,1597,4.663,1606,1.713,1653,3.777,1695,3.765,1767,1.713,2026,1.347,2220,2.034,2348,1.77,2655,1.485,4821,1.923,6000,1.687,6092,6.967,6104,3.396,6247,1.974,6786,3.777,6787,2.316,6788,2.196,6789,2.499,6790,8.663,6791,5.656,6792,2.316,6793,6.226,6794,2.196,6795,2.499,6796,2.499,6797,2.499,6798,5.656,6799,3.984,6800,5.243,6801,2.316,6802,2.316,6803,2.499,6804,2.499,6805,2.316,6806,2.499]],["component/176",[1,0.382,18,0.605,34,0.598]],["title/177-1",[681,49.637]],["name/177-1",[]],["text/177-1",[]],["component/177-1",[]],["title/177-2",[62,23.643]],["name/177-2",[]],["text/177-2",[]],["component/177-2",[]],["title/177-3",[187,68.224]],["name/177-3",[]],["text/177-3",[]],["component/177-3",[]],["title/177",[99,35.208,596,52.304]],["name/177",[99,0.976,596,1.451]],["text/177",[1,1.471,7,1.83,9,1.017,10,0.986,15,2.143,33,2.015,34,2.302,35,1.865,36,1.314,49,1.852,52,1.782,54,5.84,62,3.179,67,2.567,69,1.223,70,1.942,71,2.318,92,5.429,96,2.978,99,6.087,107,1.364,140,1.726,149,1.863,153,1.448,165,3.546,167,2.283,169,1.526,173,1.599,187,6.319,197,1.793,215,1.62,218,1.407,224,1.278,226,5.799,241,4.35,250,3.077,253,2.914,257,1.114,264,1.753,266,1.7,268,4.92,271,1.99,275,4.399,281,2.11,283,3.257,286,2.319,289,2.66,291,1.269,298,3.044,311,1.194,313,1.298,326,2.212,336,2.4,380,1.314,400,1.58,418,2.628,420,1.652,421,3.019,422,2.445,428,1.407,432,1.7,495,1.509,511,1.127,512,1.517,538,1.534,550,2.524,552,1.58,560,1.589,589,1.63,596,7.924,638,1.62,677,3.482,678,4.732,683,2.893,691,1.782,692,1.99,709,2.118,748,1.501,758,1.688,763,2.538,792,1.884,818,1.552,820,1.589,821,1.652,837,3.491,885,6.009,899,2.098,918,1.517,1024,1.99,1025,1.37,1054,1.561,1072,1.609,1125,1.944,1369,1.944,1556,5.245,1587,3.044,1637,2.202,1646,2.336,1713,2.202,1924,1.62,1926,1.688,2022,2.098,2442,2.456,2848,2.242,5310,4.642,5994,1.847,6080,3.601,6109,4.623,6264,2.731,6490,2.881,6491,4.543,6492,4.792,6493,2.881,6494,2.619,6495,2.881,6496,1.967]],["component/177",[1,0.382,18,0.605,34,0.598]],["title/178-1",[499,46.245,1397,43.395]],["name/178-1",[]],["text/178-1",[]],["component/178-1",[]],["title/178-2",[1416,47.129]],["name/178-2",[]],["text/178-2",[]],["component/178-2",[]],["title/178-3",[93,28.935,94,32.518]],["name/178-3",[]],["text/178-3",[]],["component/178-3",[]],["title/178-4",[234,29.041]],["name/178-4",[]],["text/178-4",[]],["component/178-4",[]],["title/178-5",[96,41.602]],["name/178-5",[]],["text/178-5",[]],["component/178-5",[]],["title/178-6",[829,44.309]],["name/178-6",[]],["text/178-6",[]],["component/178-6",[]],["title/178-7",[70,27.136]],["name/178-7",[]],["text/178-7",[]],["component/178-7",[]],["title/178-8",[99,42.783]],["name/178-8",[]],["text/178-8",[]],["component/178-8",[]],["title/178-9",[250,35.379,275,43.395]],["name/178-9",[]],["text/178-9",[]],["component/178-9",[]],["title/178-10",[165,38.284]],["name/178-10",[]],["text/178-10",[]],["component/178-10",[]],["title/178-11",[279,54.598]],["name/178-11",[]],["text/178-11",[]],["component/178-11",[]],["title/178",[234,20.305,805,30.662,2527,37.177]],["name/178",[234,0.47,805,0.71,2527,0.86]],["text/178",[1,1.447,5,2.31,10,1.219,15,0.708,16,0.409,18,2.574,34,2.362,38,1.18,39,1.633,49,1.935,50,0.35,54,0.365,55,0.376,58,0.94,62,0.784,66,3.971,70,2.294,71,1.037,74,4.264,82,0.415,83,3.024,92,3.822,93,1.166,94,0.728,96,3.297,98,2.201,99,3.545,107,0.519,114,0.548,124,0.8,127,0.341,142,5.26,146,0.62,149,0.616,152,2.105,154,0.506,161,0.27,163,1.289,165,4.836,166,0.54,167,4.408,169,0.838,177,0.331,178,0.68,180,0.356,183,1.189,197,1.204,200,1.249,203,0.246,215,2.67,221,0.272,223,0.643,224,0.903,226,4.565,231,0.54,232,0.231,233,0.668,234,2.919,241,1.536,242,0.724,244,0.261,250,4.986,253,3.547,257,1.243,261,0.225,262,2.54,266,1.201,268,5.08,274,0.908,275,6.082,278,2.742,279,5.806,283,1.457,287,0.456,292,0.748,299,0.921,301,0.963,311,0.454,313,1.45,315,0.663,316,1.535,317,0.514,324,0.246,327,0.642,332,0.605,334,0.647,338,0.289,340,0.389,343,1.025,345,2.474,348,5.069,355,0.722,357,3.215,358,3.68,360,1.69,361,0.91,362,0.87,364,2.218,370,0.246,379,0.54,380,0.928,381,0.356,396,6.065,405,0.462,406,0.58,408,0.25,415,0.612,422,0.291,423,0.637,428,2.187,433,1.816,435,0.415,439,0.415,465,4.474,487,0.94,489,0.436,490,0.421,497,0.362,499,0.373,511,0.619,512,0.3,513,1.103,538,0.304,550,0.3,552,1.347,553,1.438,558,1.846,562,0.616,574,3.326,603,0.672,635,0.295,638,0.89,640,2.094,642,1.553,653,0.376,656,0.415,674,0.678,704,0.811,709,1.26,716,0.353,721,0.201,722,3.721,730,0.546,734,0.554,746,0.247,749,0.241,750,0.3,754,0.757,799,0.356,804,0.35,805,0.808,818,0.307,821,0.327,823,0.282,829,1.049,836,1.331,841,0.74,849,1.167,855,5.428,872,1.845,885,0.767,912,0.787,918,0.577,925,0.717,934,0.921,953,1.535,966,0.353,994,0.889,1018,1.249,1025,0.271,1038,0.488,1054,0.309,1061,3.806,1105,4.827,1131,0.473,1134,0.647,1148,1.694,1176,0.3,1249,0.69,1309,5.066,1367,0.518,1369,0.74,1370,0.344,1371,0.54,1373,3.105,1397,0.35,1400,0.344,1416,3.004,1425,0.69,1579,0.838,1597,0.667,1661,2.722,1692,1.449,1769,0.501,1924,0.32,1927,0.69,1999,5.327,2010,1.035,2022,0.415,2035,0.997,2077,0.54,2078,0.518,2100,0.684,2106,1.69,2112,0.518,2125,0.501,2332,0.71,2358,0.662,2374,0.444,2527,2.203,2757,0.838,4102,3.68,4832,2.429,4980,0.963,5160,0.486,5439,0.421,5466,3.696,5538,0.462,5540,3.81,6030,1.096,6045,0.838,6051,0.518,6075,0.838,6093,1.015,6104,0.486,6109,1.846,6198,1.877,6351,2.329,6354,0.518,6357,2.036,6358,1.096,6359,1.096,6360,1.096,6361,1.096,6362,1.096,6363,1.096,6364,0.87,6365,0.997,6366,2.036,6367,0.997,6368,0.997,6369,2.888,6407,0.486,6443,0.57,6480,1.501,6571,0.54,6572,0.54,6576,1.039,6588,0.997,6589,1.039,6590,1.039,6591,1.039,6592,1.039,6593,1.039,6594,0.997,6595,1.039,6596,0.997,6766,0.518,6807,0.615,6808,0.615,6809,0.615,6810,0.54,6811,0.615,6812,1.183,6813,0.615]],["component/178",[1,0.382,18,0.605,34,0.598]],["title/179-1",[62,19.457,241,33.781]],["name/179-1",[]],["text/179-1",[]],["component/179-1",[]],["title/179-2",[234,23.9,2527,43.759]],["name/179-2",[]],["text/179-2",[]],["component/179-2",[]],["title/179-3",[100,33.781,425,54.056]],["name/179-3",[]],["text/179-3",[]],["component/179-3",[]],["title/179-4",[495,45.021]],["name/179-4",[]],["text/179-4",[]],["component/179-4",[]],["title/179-5",[62,19.457,291,31.15]],["name/179-5",[]],["text/179-5",[]],["component/179-5",[]],["title/179",[291,31.15,563,32.518]],["name/179",[62,0.915]],["text/179",[1,1.267,3,3.711,5,0.334,15,1.074,16,0.334,34,2.193,37,0.42,38,1.858,39,2.101,46,0.871,48,0.865,50,0.286,56,0.517,58,1.108,62,0.914,63,2.401,64,0.441,66,1.435,69,1.528,70,0.758,71,1.622,75,0.301,78,0.241,80,0.281,83,0.557,87,1.978,91,1.615,93,0.842,94,1.104,95,0.451,98,0.216,99,1.653,100,0.626,107,1.29,109,0.489,116,0.259,120,0.207,122,0.207,127,0.279,131,0.311,141,0.425,142,0.314,146,0.742,149,0.51,152,1.579,165,1.48,166,1.184,167,1.432,169,0.694,170,1.686,174,0.875,177,0.271,178,0.387,180,0.818,183,1.162,197,0.77,204,0.304,205,0.296,211,0.352,218,0.227,220,0.857,222,0.683,223,0.367,224,1.209,226,1.946,230,1.7,232,1.104,233,1.833,234,1.997,241,4.673,242,3.794,244,0.213,245,0.192,250,0.656,253,1.569,254,0.314,256,0.855,257,1.053,258,0.678,260,0.535,261,0.184,262,0.304,264,0.549,268,3.126,269,1.408,270,0.82,272,2.867,273,0.334,274,2.357,275,2.038,276,0.267,278,0.397,279,1.525,281,0.577,283,2.204,286,0.821,287,0.545,288,0.397,289,2.281,290,1.32,291,0.747,292,0.895,298,1.077,299,1.086,301,0.798,304,2.069,310,2.443,311,0.703,313,0.21,319,0.362,324,1.555,326,0.95,328,0.243,329,0.732,334,2.949,336,2.306,338,0.458,340,0.318,343,1.962,345,0.8,362,0.37,378,0.716,379,0.445,395,3.466,398,0.849,400,0.494,404,0.26,406,2.302,415,1.15,418,0.494,421,1.63,423,0.271,425,1.002,428,1.173,435,2.208,462,3.199,489,0.356,490,1.522,495,0.244,501,0.311,511,0.513,514,0.621,517,0.283,520,0.277,538,0.903,539,0.231,550,1.749,553,0.685,556,0.669,558,0.678,560,0.257,563,1.394,571,2.385,572,0.304,593,1.906,594,0.82,603,2.207,605,0.362,609,0.37,615,1.189,622,1.058,626,0.356,628,2.147,635,2.792,638,0.507,642,0.715,654,0.296,656,0.339,659,0.631,669,0.689,672,3.943,673,5.222,674,1.686,678,0.536,683,1.645,684,0.281,688,0.35,697,0.339,708,0.293,709,0.206,716,0.288,721,0.164,722,1.174,724,1.918,735,0.694,740,1.99,742,0.254,744,2.714,745,1.145,754,0.623,763,0.478,767,1.356,783,2.561,789,0.584,793,0.296,794,0.275,799,0.563,801,0.299,810,0.262,812,0.616,815,0.423,817,3.141,819,0.37,820,0.257,822,0.631,823,2.668,829,1.405,831,1.068,834,0.731,841,2.685,843,0.881,845,0.657,846,0.236,847,2.147,850,0.51,851,1.089,855,0.296,856,1.098,873,0.344,883,0.301,885,0.917,892,0.239,901,0.33,922,1.202,923,0.517,926,0.291,929,1.816,931,0.51,945,0.339,946,0.397,947,0.763,949,2.475,951,1.301,952,0.387,953,0.706,956,0.478,962,0.609,964,0.378,966,0.288,970,1.311,972,0.296,976,0.362,979,0.749,980,0.362,982,0.286,992,0.267,994,1.376,998,1.279,1018,0.286,1025,0.221,1029,0.223,1030,0.214,1055,0.33,1076,0.811,1079,0.26,1105,0.447,1110,3.454,1113,4.939,1139,0.555,1154,0.528,1164,4.084,1174,0.37,1181,0.378,1208,1.001,1249,2.265,1260,1.308,1285,1.513,1295,0.275,1296,0.678,1304,3.286,1307,0.409,1309,0.596,1318,0.259,1319,1.032,1357,0.304,1361,0.409,1367,0.82,1387,2.585,1400,0.281,1417,3.022,1451,0.33,1452,0.874,1455,0.483,1458,0.667,1459,2.109,1462,0.304,1472,0.702,1488,0.273,1597,1.253,1653,0.855,1655,0.596,1676,1.86,1695,0.648,1713,1.002,1767,0.344,1776,0.362,1825,0.423,1835,0.639,1882,0.702,1905,4.276,1908,4.537,1909,0.339,1914,0.955,1927,0.293,1938,0.339,2015,0.339,2057,0.35,2072,3.31,2081,0.308,2115,1.679,2134,0.616,2156,0.731,2161,0.716,2174,0.362,2176,2.694,2187,0.362,2222,0.37,2251,1.063,2358,0.281,2374,0.702,2400,1.285,2428,1.346,2442,0.397,2448,0.387,2527,0.288,2555,1.002,2664,0.378,2737,0.378,2827,0.387,2848,1.602,2878,0.387,2881,2.277,2893,0.769,2899,1.346,2903,1.021,2971,0.409,3048,1.192,3214,0.441,3217,0.423,3227,0.397,3296,0.466,3362,0.318,3468,3.525,3565,3.503,3770,0.466,3866,0.441,3867,0.441,4187,2.183,4276,4.739,4328,0.702,4355,1.49,4356,6.111,4368,0.702,4369,2.277,4614,0.441,4694,1.311,4701,0.716,4702,0.82,4728,1.835,4791,1.542,4793,1.947,4812,0.466,4914,1.243,4978,0.37,5193,3.159,5342,0.423,5438,0.749,5439,0.97,5480,0.441,5615,0.466,5814,1.243,6023,0.409,6032,1.243,6046,1.5,6080,2.047,6082,5.486,6085,0.466,6092,0.423,6131,0.441,6133,0.466,6146,0.902,6261,0.356,6324,0.466,6327,0.441,6329,1.608,6330,0.423,6331,0.82,6332,0.466,6333,0.902,6334,3.86,6336,0.716,6337,0.466,6339,0.466,6340,0.423,6341,1.311,6374,0.466,6375,0.466,6380,0.902,6402,0.466,6407,0.397,6433,0.902,6508,1.243,6533,2.059,6537,0.466,6538,0.466,6541,2.401,6788,0.855,6790,1.696,6792,0.466,6793,1.696,6794,0.441,6799,0.466,6800,1.311,6805,0.466,6814,0.502,6815,0.502,6816,0.502,6817,0.441,6818,0.502,6819,0.502,6820,0.502,6821,0.502,6822,0.502,6823,0.502,6824,0.502,6825,0.502,6826,0.502,6827,0.502,6828,0.466,6829,0.423,6830,0.502,6831,1.696,6832,0.902,6833,1.83,6834,0.973,6835,0.502,6836,0.502,6837,0.973,6838,0.973,6839,0.502,6840,0.502,6841,0.973,6842,0.502,6843,0.502,6844,0.502,6845,0.502,6846,0.973,6847,0.716,6848,0.973,6849,0.973,6850,1.311,6851,0.502,6852,1.83,6853,1.872,6854,0.502,6855,0.973,6856,0.502,6857,0.502,6858,0.973,6859,0.502,6860,0.973,6861,0.502,6862,0.502,6863,0.502,6864,0.502,6865,0.502,6866,0.502,6867,0.502,6868,0.502,6869,0.502,6870,0.502,6871,2.591,6872,1.415,6873,0.502,6874,0.502,6875,0.502,6876,0.502,6877,0.502,6878,0.502,6879,0.502,6880,0.973,6881,0.502,6882,0.502,6883,0.973,6884,0.502,6885,0.502,6886,0.502,6887,0.502,6888,0.502,6889,0.502,6890,0.502,6891,0.502,6892,1.83,6893,0.502,6894,0.502,6895,0.502,6896,0.502,6897,0.973,6898,0.973,6899,0.973,6900,0.502,6901,0.973,6902,1.415,6903,1.415,6904,0.502,6905,0.466,6906,0.502,6907,1.243,6908,2.222,6909,0.441,6910,0.502,6911,0.502,6912,1.311,6913,0.973,6914,0.502,6915,0.502,6916,0.502,6917,1.192,6918,0.502,6919,0.502,6920,0.502,6921,0.502,6922,0.502,6923,0.502,6924,0.502,6925,0.423,6926,0.502,6927,1.415,6928,0.973,6929,0.973,6930,0.973,6931,0.973,6932,1.83,6933,0.502,6934,0.502,6935,0.502,6936,0.502,6937,0.502,6938,1.608,6939,0.502,6940,0.502,6941,0.973,6942,0.502,6943,0.502,6944,0.973,6945,0.502,6946,0.502,6947,0.502,6948,0.502,6949,0.502,6950,0.502,6951,0.973,6952,0.973,6953,0.502,6954,0.502,6955,0.502,6956,0.973,6957,0.502,6958,0.973,6959,0.502]],["component/179",[1,0.382,18,0.605,34,0.598]],["title/180-1",[38,15.841,843,25.702,5994,38.53]],["name/180-1",[]],["text/180-1",[]],["component/180-1",[]],["title/180-2",[165,31.506,5994,45.352]],["name/180-2",[]],["text/180-2",[]],["component/180-2",[]],["title/180-3",[250,30.058,275,36.868,5994,38.53]],["name/180-3",[]],["text/180-3",[]],["component/180-3",[]],["title/180-4",[70,22.331,5994,45.352]],["name/180-4",[]],["text/180-4",[]],["component/180-4",[]],["title/180-5",[96,34.236,5994,45.352]],["name/180-5",[]],["text/180-5",[]],["component/180-5",[]],["title/180",[603,43.395,1130,28.108]],["name/180",[603,1.204,1130,0.78]],["text/180",[10,3.288,37,0.977,38,2.598,49,0.811,62,0.577,70,2.946,71,0.611,83,3.963,92,1.151,96,3.509,99,1.821,149,1.891,152,1.406,163,1.655,165,4.279,167,1.804,183,3.509,197,2.713,204,2.392,218,1.025,221,2.323,223,0.853,224,0.932,233,2.784,250,4.512,253,2.683,260,1.983,268,3.403,275,5.534,287,0.873,291,1.611,336,0.819,338,1.066,345,2.744,395,0.969,415,3.252,419,3.787,428,2.844,487,4.308,512,3.477,552,3.192,571,1.045,635,1.896,668,1.106,702,1.077,709,2.15,767,3.609,808,1.322,813,3.086,843,4.309,855,5.506,890,1.576,899,1.529,907,2.904,934,1.221,957,4.275,1038,5.317,1063,1.23,1148,2.175,1185,2.283,1255,1.248,1452,6.045,1455,1.124,1489,1.23,1938,4.809,2072,3.952,2101,2.706,2185,1.508,2773,2.904,3362,5.322,4720,1.844,5321,1.99,5322,3.469,6198,3.717,6960,2.265,6961,12.879,6962,2.265,6963,2.265,6964,3.948,6965,2.265,6966,6.282,6967,2.265,6968,2.265,6969,2.265,6970,2.265,6971,2.265,6972,2.265,6973,10.632,6974,2.265,6975,2.265,6976,2.265,6977,3.948,6978,2.265,6979,2.265,6980,2.265,6981,2.265,6982,2.265,6983,2.265,6984,2.265,6985,2.265,6986,3.948,6987,2.265,6988,2.265,6989,2.265,6990,2.265,6991,2.265,6992,2.265,6993,2.265,6994,2.265,6995,2.265,6996,3.948,6997,2.265,6998,3.948,6999,2.265,7000,2.265,7001,2.099,7002,2.265,7003,2.265,7004,2.265,7005,2.265,7006,2.265,7007,2.265]],["component/180",[1,0.382,18,0.605,34,0.598]],["title/181",[62,23.643]],["name/181",[3,1.542]],["text/181",[7,3.503,10,1.887,38,2.096,39,2.318,48,2.814,50,3.383,62,3.381,63,1.818,70,2.943,93,3.813,94,4.286,96,4.512,99,5.608,120,2.456,122,3.528,167,4.894,226,3.23,234,1.863,241,2.634,268,2.589,272,3.042,275,6.259,289,3.061,291,2.429,313,2.485,343,3.57,435,4.017,490,4.078,511,3.647,563,3.655,596,4.078,603,3.383,678,4.726,722,4.016,724,3.185,750,2.904,805,2.814,965,3.006,979,4.579,1072,3.081,1130,3.159,1369,3.722,1397,3.383,2374,4.292,2527,3.412,6483,9.323]],["component/181",[1,0.382,18,0.605,34,0.598]],["title/182",[965,38.552,1130,28.108]],["name/182",[965,1.069,1130,0.78]],["text/182",[1,1.378,10,2.753,34,2.155,62,2.213,70,3.246,83,3.417,96,4.976,99,5.117,165,4.579,178,3.453,183,3.894,232,3.259,313,3.626,400,4.412,408,3.53,512,4.237,634,6.206,865,4.385,945,8.697,965,4.385,1130,4.085,6093,5.159,7008,8.681,7009,8.681,7010,8.681,7011,8.681,7012,8.681,7013,8.681]],["component/182",[1,0.382,18,0.605,34,0.598]],["title/183",[272,47.418]],["name/183",[3,1.542]],["text/183",[1,1.582,18,2.505,29,4.038,34,2.475,62,3.082,203,3.979,272,6.918,512,4.865,518,6.381,767,4.598,945,6.729,1416,6.144,1464,6.235,1643,7.19]],["component/183",[1,0.382,18,0.605,34,0.598]],["title/184-1",[1373,46.245,1416,38.785]],["name/184-1",[]],["text/184-1",[]],["component/184-1",[]],["title/184",[272,39.023,1416,38.785]],["name/184",[272,1.082,1416,1.076]],["text/184",[1,1.613,26,2.648,34,2.523,49,2.72,62,3.346,69,2.988,71,2.049,143,5.31,149,2.736,223,2.86,272,6.52,291,4.675,298,4.47,324,3.042,332,3.882,355,3.209,398,4.555,511,3.685,563,3.235,615,4.064,702,3.609,714,4.6,766,3.858,1214,4.648,1249,4.429,1373,6.157,1416,5.821,1566,5.706,1661,5.377,3898,7.037,6083,7.037,7014,10.162,7015,7.592,7016,7.592,7017,7.592,7018,7.592,7019,7.592]],["component/184",[1,0.382,18,0.605,34,0.598]],["title/185-1",[807,48.284,2925,36.276]],["name/185-1",[]],["text/185-1",[]],["component/185-1",[]],["title/185",[2887,57.361,2925,36.276]],["name/185",[2887,1.591,2925,1.006]],["text/185",[1,1.742,5,4.446,10,0.786,15,2.768,26,0.864,34,2.781,38,0.606,39,0.965,41,1.327,46,2.62,48,1.172,58,1.06,61,3.741,62,0.632,63,0.757,68,1.21,70,2.204,71,1.517,83,1.68,87,1.71,91,1.923,94,1.819,96,1.915,98,1.065,99,3.797,100,1.097,116,1.275,124,1.998,127,2.37,128,1.755,141,1.083,163,1.039,165,1.762,167,1.933,173,1.275,178,2.996,180,1.433,203,0.989,211,1.543,223,2.516,224,1.019,226,3.052,229,2.435,233,3.639,234,2.916,241,1.097,245,0.949,250,3.097,253,0.934,257,2.014,258,1.726,262,3.406,268,4.538,272,1.267,274,1.317,275,5.012,281,1.742,283,0.94,286,3.379,289,3.437,290,2.269,291,1.742,292,2.7,298,2.513,299,1.039,313,1.783,324,0.993,327,1.345,332,1.267,336,0.896,342,3.441,402,1.376,487,2.405,513,5.822,548,1.365,555,1.138,563,1.056,585,2.089,593,1.823,620,2.089,642,1.252,672,1.849,677,1.3,688,2.972,690,1.252,724,1.327,730,1.969,735,2.087,740,3.709,742,2.156,749,2.62,750,1.21,761,1.012,772,1.184,783,3.192,799,6.803,804,1.409,806,2.972,807,5.577,823,1.96,824,2.841,827,2.178,829,2.039,890,3.887,901,1.627,912,1.65,946,3.372,949,3.34,956,1.216,982,5.012,988,1.345,1018,1.409,1020,1.907,1038,1.762,1072,1.283,1181,1.863,1255,1.365,1343,1.533,1416,1.26,1417,1.336,1458,1.699,1480,1.863,1495,1.863,1567,1.788,1579,1.755,1600,1.823,1839,2.841,1924,1.291,2015,5.556,2050,2.297,2134,1.568,2222,1.823,2400,1.433,2721,2.178,2887,4.225,2923,2.089,2925,4.804,2926,2.297,2979,1.958,2982,2.297,4728,1.755,6023,2.017,6080,2.972,6093,3.34,6109,1.726,7020,2.478,7021,3.956,7022,2.478,7023,2.297,7024,2.478,7025,2.478,7026,2.478,7027,2.478,7028,2.478,7029,5.621,7030,2.478,7031,2.478,7032,2.478,7033,2.478,7034,2.478]],["component/185",[1,0.382,18,0.605,34,0.598]],["title/186-1",[46,25.431,234,20.305,829,30.979]],["name/186-1",[]],["text/186-1",[]],["component/186-1",[]],["title/186-2",[46,25.431,783,22.231,829,30.979]],["name/186-2",[]],["text/186-2",[]],["component/186-2",[]],["title/186-3",[38,15.841,39,25.255,829,30.979]],["name/186-3",[]],["text/186-3",[]],["component/186-3",[]],["title/186-4",[829,36.464,1152,42.048]],["name/186-4",[]],["text/186-4",[]],["component/186-4",[]],["title/186-5",[70,18.972,233,25.343,829,30.979]],["name/186-5",[]],["text/186-5",[]],["component/186-5",[]],["title/186-6",[179,52.304,829,36.464]],["name/186-6",[]],["text/186-6",[]],["component/186-6",[]],["title/186",[1,10.292,34,16.098,829,30.979]],["name/186",[1,0.238,34,0.373,829,0.717]],["text/186",[1,1.294,8,1.019,10,0.603,34,2.533,38,1.991,46,0.746,70,1.623,83,0.749,127,1.056,140,1.056,149,2.54,169,3.46,177,1.025,178,0.757,179,3.134,183,0.853,203,0.759,211,4.153,233,2.168,234,2.553,253,2.655,257,0.681,268,0.827,274,5.861,282,1.503,283,0.721,286,0.853,291,0.776,326,0.814,329,5.709,336,0.688,337,3.826,338,1.593,395,0.814,400,1.72,404,0.985,423,1.025,548,1.048,550,4.717,556,0.899,635,4.321,672,5.783,685,1.671,716,1.091,729,3.237,735,1.733,740,3.08,783,3.313,793,4.15,808,1.11,821,1.011,829,4.752,846,3.835,924,2.012,926,2.645,929,3.08,951,2.786,992,1.799,998,3.066,1018,3.616,1046,7.19,1063,1.033,1139,3.197,1142,2.852,1148,1.048,1152,1.048,1417,5.038,1437,1.11,2230,5.568,2274,6.509,2428,7.317,2903,2.442,2925,0.904,2985,8.975,3085,1.763,4940,1.671,5455,1.464,7023,1.763,7035,3.385,7036,3.385,7037,3.385,7038,3.385,7039,7.049,7040,3.385,7041,1.902,7042,1.902,7043,3.385,7044,3.385,7045,3.385,7046,3.385,7047,3.385,7048,3.385,7049,3.385,7050,3.385,7051,1.902,7052,1.902,7053,3.385,7054,3.385,7055,5.548,7056,1.902,7057,5.548,7058,5.548,7059,3.385,7060,3.385,7061,3.385,7062,3.385,7063,1.902,7064,1.902,7065,1.902,7066,1.902,7067,1.902,7068,1.902,7069,1.902,7070,1.902,7071,1.902,7072,1.902,7073,3.385,7074,3.385,7075,3.385,7076,3.385,7077,1.902,7078,1.902,7079,1.902,7080,1.902,7081,1.902,7082,1.902,7083,1.902,7084,1.902,7085,1.902,7086,1.902,7087,1.902,7088,1.902,7089,1.902,7090,1.902,7091,1.902,7092,1.902,7093,1.902,7094,1.902,7095,1.902,7096,1.902,7097,1.902,7098,1.902,7099,1.902,7100,1.902,7101,1.902,7102,1.902,7103,1.902,7104,1.902,7105,1.902,7106,1.902,7107,1.902,7108,1.902,7109,1.902,7110,1.902,7111,1.902,7112,1.902,7113,1.902,7114,1.902,7115,1.902,7116,1.902,7117,1.902,7118,1.902,7119,1.902,7120,1.902,7121,1.902,7122,1.902,7123,1.902,7124,1.902,7125,1.902,7126,1.902,7127,1.902]],["component/186",[1,0.382,18,0.605,34,0.598]],["title/187",[1048,69.701]],["name/187",[1048,2.698]],["text/187",[1,1.779,9,2.38,10,2.307,34,2.782,49,2.605,58,3.111,66,3.55,70,2.128,71,1.963,78,3.493,83,2.863,99,4.554,100,3.219,165,3.002,178,2.893,211,2.629,241,4.96,250,3.371,257,2.605,268,3.164,272,3.719,274,5.247,275,5.613,286,3.263,311,2.794,556,3.439,563,3.099,746,3.97,749,4.929,769,6.741,799,5.709,807,4.601,829,3.475,837,4.91,843,2.883,986,5.466,992,3.866,1063,3.948,1113,4.5,1304,3.977,1726,4.656,1914,4.91,2925,3.457,6093,4.322,6110,7.596,7021,6.741,7128,7.273,7129,7.273]],["component/187",[1,0.382,18,0.605,34,0.598]],["title/188",[603,43.395,829,36.464]],["name/188",[603,1.204,829,1.011]],["text/188",[1,1.523,34,2.383,49,2.5,93,3.639,107,5.946,187,8.691,241,3.089,253,4.132,257,2.5,258,4.86,283,2.646,290,2.817,291,3.917,336,3.966,343,5.758,419,5.102,541,3.905,603,5.457,642,3.526,748,4.634,757,4.366,829,4.586,1018,3.968,1249,7.226,1556,5.514,2923,5.881,2925,4.562,3049,10.38,7130,6.979,7131,10.97,7132,6.979,7133,9.598,7134,9.598,7135,6.979,7136,6.979]],["component/188",[1,0.382,18,0.605,34,0.598]],["title/189",[730,35.208,3468,57.361]],["name/189",[730,0.976,3468,1.591]],["text/189",[1,1.979,2,3.015,10,2.257,26,1.615,30,2.778,34,2.606,36,1.957,49,1.659,58,1.981,62,2.676,70,1.355,71,1.25,87,1.855,107,4.605,126,1.911,149,1.669,152,2.534,153,2.157,161,3.122,167,4.362,169,2.273,177,2.496,178,1.842,233,4.102,257,2.549,261,2.604,283,2.698,291,1.89,355,1.957,395,1.981,419,2.461,445,3.126,501,2.865,505,2.806,517,2.611,532,2.964,533,2.896,572,2.806,603,4.046,606,5.476,690,2.339,702,2.201,714,2.806,730,4.842,740,2.571,746,1.862,750,2.26,761,1.89,765,3.48,790,2.367,792,2.806,818,2.312,823,2.126,866,1.705,873,4.877,938,2.633,956,2.273,957,2.353,995,3.082,1029,3.163,1030,1.973,1038,1.911,1056,2.896,1058,2.26,1106,3.658,1130,2.621,1134,2.532,1141,3.658,1164,2.964,1285,2.382,1360,3.406,1446,3.001,1455,2.298,1597,2.611,1927,2.701,1968,3.563,2052,3.48,2400,2.678,3225,3.406,3318,5.996,3362,2.929,3468,8.673,3880,4.292,4369,4.068,5731,4.068,7137,4.63,7138,4.63,7139,4.63,7140,4.63,7141,4.63,7142,7.116,7143,4.63,7144,4.63,7145,7.116,7146,4.63,7147,4.63]],["component/189",[1,0.382,18,0.605,34,0.598]],["title/190",[730,42.783]],["name/190",[3,1.542]],["text/190",[10,2.695,63,2.596,84,4.457,167,2.922,200,4.832,226,7.179,291,3.469,316,5.463,336,3.072,380,3.592,518,5.44,603,4.832,677,4.457,724,4.548,730,5.583,749,3.333,807,5.376,829,5.783,854,6.794,883,5.099,1581,7.467,2887,6.387,2925,4.039,3468,6.387,4987,7.467,6104,6.714,7148,8.498,7149,8.498]],["component/190",[1,0.382,18,0.605,34,0.598]],["title/191-1",[185,41.432,186,44.527]],["name/191-1",[]],["text/191-1",[]],["component/191-1",[]],["title/191-2",[186,44.527,194,36.276]],["name/191-2",[]],["text/191-2",[]],["component/191-2",[]],["title/191-3",[185,41.432,195,47.738]],["name/191-3",[]],["text/191-3",[]],["component/191-3",[]],["title/191-4",[196,75.483]],["name/191-4",[]],["text/191-4",[]],["component/191-4",[]],["title/191-5",[197,22.486,198,51.224,199,54.639]],["name/191-5",[]],["text/191-5",[]],["component/191-5",[]],["title/191-6",[1,10.292,34,16.098,200,36.868]],["name/191-6",[]],["text/191-6",[]],["component/191-6",[]],["title/191",[1,12.114,34,18.948]],["name/191",[3,1.542]],["text/191",[0,0.451,1,1.493,4,0.276,5,4.436,8,0.383,9,0.925,10,0.581,15,0.527,18,0.167,34,2.223,37,0.286,38,0.574,39,0.914,44,0.41,45,1.696,48,1.337,49,1.172,50,1.335,53,0.755,54,0.394,55,0.778,57,2.327,58,1.897,62,0.598,66,0.62,67,0.329,68,0.324,69,1.288,70,0.536,71,2.384,78,0.318,83,0.261,87,0.509,91,0.299,93,0.482,94,0.541,95,0.589,96,2.285,99,1.083,100,1.448,101,0.435,105,0.383,106,0.365,107,0.558,109,0.919,114,0.307,115,0.454,119,0.424,120,0.525,121,6.549,122,0.523,124,0.857,126,0.525,132,0.447,140,0.368,141,0.8,142,2.046,143,0.307,146,0.96,147,1.254,148,0.936,149,1.019,152,0.652,159,0.406,162,0.662,163,0.533,165,1.35,166,0.303,167,3.428,176,0.362,178,0.728,183,0.57,185,3.495,186,5.36,187,0.488,188,3.238,189,3.578,190,3.896,191,2.874,192,2.483,193,1.608,194,0.87,195,2.547,196,4.39,197,2.591,198,5.437,199,1.978,200,2.316,202,0.559,203,0.937,204,0.77,205,0.39,206,0.419,207,1.422,208,0.539,209,0.498,210,0.462,211,0.459,212,1.376,213,0.498,214,0.462,215,0.954,216,0.278,217,0.51,218,0.575,219,1.335,220,0.77,221,0.81,222,1.9,223,1.232,224,2.83,225,1.437,226,6.719,227,1.697,228,1.178,229,0.551,230,0.383,231,1.117,232,0.687,233,0.259,234,1.024,235,1.178,236,0.614,237,0.614,238,0.524,239,0.559,240,0.614,241,3.534,242,3.941,243,2.483,244,0.996,245,0.487,246,0.614,247,0.583,248,1.376,249,0.755,250,0.849,251,0.65,252,2.874,253,3.327,254,0.415,255,4.475,256,0.582,257,1.172,258,2.836,259,0.559,260,1.236,261,0.243,262,0.77,263,2.002,264,0.374,265,0.614,266,0.362,267,0.435,268,1.23,269,0.51,270,0.559,271,3.056,272,1.673,273,0.441,274,1.248,275,0.723,276,0.973,277,0.498,278,0.524,279,0.39,280,1.608,281,0.519,282,0.524,283,0.694,284,1.697,285,0.374,286,0.57,287,1.09,288,0.524,289,1.454,290,0.947,291,2.426,292,0.419,293,0.524,294,0.582,295,1.697,296,0.559,297,1.071,298,1.382,299,1.185,300,1.178,301,0.374,302,0.614,303,0.614,304,0.419,305,0.614,306,0.614,307,0.614,308,0.614,309,0.614,310,1.293,311,0.902,312,1.178,313,1.701,314,1.543,315,0.911,316,0.634,317,0.553,318,1.585,319,0.478,320,0.614,321,1.178,322,0.614,323,1.068,324,0.266,325,1.697,326,0.544,327,0.36,328,1.365,329,0.343,330,0.469,331,0.478,332,0.65,333,1.543,334,0.695,335,1.117,336,1.332,337,0.36,338,0.312,339,2.757,340,0.804,341,0.424,342,1.121,343,3.056,344,1.024,345,1.026,346,1.178,347,1.071,348,1.806,349,1.697,350,1.178,351,1.178,352,1.178,353,1.178,354,1.178,355,0.774,356,0.614,357,0.846,358,1.034,359,0.614,360,0.51,361,0.51,362,0.488,363,0.614,364,0.478,365,0.614,366,0.614,367,0.614,368,0.498,369,1.178,370,0.507,371,0.462,372,0.51,373,0.424,374,0.424,375,0.355,376,0.582,377,0.755,378,0.488,379,0.836,380,1.195,381,0.383,382,0.614,383,0.614,384,0.582,385,0.614,386,0.614,387,0.614,388,0.614,389,0.614,390,0.614,391,0.614,392,1.178,393,0.614,394,0.614,395,0.544,396,0.478,397,0.582,398,0.762,399,1.178,400,1.436,401,0.539,402,2.828,403,0.469,404,0.658,405,0.498,406,0.325,407,0.614,408,0.744,409,0.614,410,0.498,411,0.559,412,1.117,413,1.117,414,0.524,415,0.343,416,0.524,417,0.614,418,1.873,419,2.165,420,0.676,421,1.852,422,1.11,423,0.685,424,2.176,425,0.9,426,0.406,427,0.402,428,2.57,429,1.178,430,1.218,431,0.582,432,0.362,433,1.609,434,0.614,435,1.236,436,0.614,437,0.614,438,0.614,439,2.994,440,1.697,441,1.697,442,1.697,443,1.697,444,0.614,445,1.585,446,1.122,447,0.614,448,0.614,449,0.614,450,0.614,451,0.614,452,0.614,453,0.614,454,0.614,455,0.614,456,0.614,457,0.614,458,0.614,459,0.614,460,3.609,461,4.11,462,3.094,463,4.11,464,0.614,465,3.503,466,3.262,467,0.614,468,0.614,469,0.614,470,0.614,471,0.614,472,0.614,473,0.614,474,0.614,475,0.614,476,0.614,477,0.614,478,0.614,479,0.614,480,0.614,481,0.614,482,0.614,483,0.614,484,0.614,485,0.424,486,0.559,487,0.284,488,1.2,489,0.9,490,0.454,492,0.614,493,0.614,494,0.462,495,1.14,496,0.435,497,0.39,498,0.631,499,0.402,500,0.337,501,0.41,502,0.35,503,0.435,504,0.539,505,0.402,506,0.488,507,0.559,508,0.582,509,0.614,510,0.614,511,0.851,512,0.324,513,0.333,514,0.291,515,0.614,516,0.559,517,0.374,518,0.424,520,0.365,521,0.41,522,0.419,523,0.524,524,2.176,525,0.539,526,0.498,527,0.614,528,0.539,529,0.582,530,0.402,531,0.447,532,0.424,533,0.415,534,0.524,535,0.524,536,0.424,537,0.539,538,0.327,539,0.304,540,0.402,541,0.371,542,0.387,543,0.447,544,0.539,545,0.614,546,0.524,547,0.435,548,0.365,549,0.38,550,0.324,551,0.582,552,0.337,553,0.248,554,0.559,555,0.583,556,0.601,557,0.614,558,0.462,559,0.614,560,0.339,561,1.178,562,0.345,563,0.78,564,1.071,565,0.614,566,0.435,567,3.416,568,0.317,569,0.374,570,0.539,571,0.306,572,1.109,573,0.614,574,2.406,575,3.032,576,1.178,577,0.614,578,0.614,579,0.614,580,0.488,581,0.435,582,0.35,583,4.475,584,0.498,585,0.559,586,2.176,587,0.614,588,1.911,589,2.136,590,1.854,591,2.305,592,1.178,593,0.488,594,1.543,595,0.614,596,0.454,597,0.614,598,0.614,599,0.614,600,0.559,601,0.614,602,0.614,603,1.041,604,1.178,605,1.693,606,0.978,607,1.117,608,3.032,609,2.711,610,0.614,611,0.614,612,0.614,613,3.032,614,1.697,615,0.98,616,0.614,617,0.614,618,0.614,619,1.178,620,1.071,621,1.178,622,1.059,623,1.178,624,0.614,625,1.178,626,0.469,627,0.614,628,0.435,629,0.614,630,1.178,631,0.614,632,1.697,633,1.697,634,1.024,635,0.879,636,0.614,637,1.178,638,0.954,639,1.178,640,1.004,641,1.178,642,0.642,643,1.178,644,1.178,645,1.178,646,0.614,647,1.178,648,0.313,649,0.614,650,0.614,651,1.178,652,0.614,653,0.406,654,0.39,655,0.415,656,0.447,657,0.539,658,0.614,659,0.43,660,0.539,661,1.178,662,1.178,663,0.614,664,0.539,665,0.394,666,0.935,667,0.582,668,0.62,669,0.469,670,0.406,671,0.296,672,0.287,673,0.559,674,0.729,675,0.614,676,0.614,677,0.348,678,0.7,679,0.352,680,0.415,681,0.355,7150,0.663]],["component/191",[1,0.382,18,0.605,34,0.598]],["title/192-1",[1474,78.148]],["name/192-1",[]],["text/192-1",[]],["component/192-1",[]],["title/192-2",[1,8.946,34,13.993,281,23.004,336,20.375]],["name/192-2",[]],["text/192-2",[]],["component/192-2",[]],["title/192-3",[99,35.208,956,37.458]],["name/192-3",[]],["text/192-3",[]],["component/192-3",[]],["title/192-4",[99,42.783]],["name/192-4",[]],["text/192-4",[]],["component/192-4",[]],["title/192-5",[99,35.208,678,42.048]],["name/192-5",[]],["text/192-5",[]],["component/192-5",[]],["title/192-6",[1,8.946,34,13.993,268,24.519,4004,44.526]],["name/192-6",[]],["text/192-6",[]],["component/192-6",[]],["title/192-7",[268,28.207,406,31.824,836,39.289]],["name/192-7",[]],["text/192-7",[]],["component/192-7",[]],["title/192-8",[166,34.875,268,33.201]],["name/192-8",[]],["text/192-8",[]],["component/192-8",[]],["title/192-9",[99,35.208,1455,37.883]],["name/192-9",[]],["text/192-9",[]],["component/192-9",[]],["title/192-10",[48,43.855]],["name/192-10",[]],["text/192-10",[]],["component/192-10",[]],["title/192-11",[93,28.935,94,32.518]],["name/192-11",[]],["text/192-11",[]],["component/192-11",[]],["title/192-12",[490,63.556]],["name/192-12",[]],["text/192-12",[]],["component/192-12",[]],["title/192",[1,12.114,34,18.948]],["name/192",[3,1.542]],["text/192",[1,1.799,2,0.899,4,0.725,5,1.646,8,0.278,9,0.302,10,1.649,15,1.766,18,0.232,29,0.374,34,2.761,36,0.39,38,1.271,39,1.66,40,1.257,48,2.015,49,2.273,52,0.53,53,0.549,54,0.549,55,0.566,56,0.926,58,0.395,62,1.981,63,0.956,68,0.451,69,0.686,70,1.522,71,2.219,80,0.975,82,0.624,83,0.364,89,0.56,91,1.411,92,2.853,93,1.616,94,1.334,98,2.041,99,5.096,100,0.771,106,0.509,107,0.765,109,0.875,114,0.808,116,1.273,120,1.759,122,0.717,124,0.432,127,1.373,140,0.513,141,1.368,142,0.578,143,1.726,147,1.695,148,0.891,149,1.342,152,0.329,161,0.405,163,1.037,164,0.498,165,4.07,166,1.947,167,4.329,170,0.999,173,0.475,178,1.89,183,0.414,197,1.478,200,1.78,203,1.897,208,0.752,209,0.694,210,0.643,211,0.894,212,0.694,213,0.694,214,0.643,215,1.94,216,0.387,217,0.711,218,1.12,219,0.991,223,0.656,224,2.869,226,5.208,232,0.654,233,1.455,234,1.629,241,1.886,242,1.514,244,0.74,245,0.667,250,0.428,253,2.258,257,1.527,258,1.723,260,1.407,261,0.338,262,0.56,263,2.637,268,5.283,269,0.711,272,1.601,274,0.491,275,1.407,281,1.739,283,2.53,285,0.521,286,0.782,287,0.954,289,2.192,290,1.264,291,1.52,294,0.812,296,0.778,297,0.778,298,0.544,299,1.787,311,0.67,313,1.307,315,1.845,317,0.402,324,0.698,326,0.395,327,0.946,328,1.512,329,0.478,332,1.904,334,0.953,336,2.167,338,1.164,339,0.778,343,2.851,355,0.737,361,0.711,379,1.13,380,0.39,381,0.534,384,0.812,395,1.823,396,1.784,400,1.257,403,0.654,404,0.902,406,2.332,408,0.376,411,0.778,415,1.928,419,0.926,420,0.491,421,3.173,422,2.655,423,0.498,433,0.633,435,4.9,445,0.624,485,1.116,487,2.402,490,2.92,491,1.642,494,0.643,499,0.56,511,0.335,513,0.464,514,1.374,518,0.591,548,0.96,553,0.926,555,0.424,560,1.265,563,1.054,571,0.426,589,0.914,596,0.633,603,2.117,605,2.686,609,2.303,615,1.993,642,0.88,653,0.566,660,0.752,669,0.654,674,1.418,677,0.914,678,2.618,692,0.591,702,0.439,709,0.378,717,0.778,721,0.57,722,0.369,734,0.816,742,0.467,746,0.372,749,0.362,750,1.208,755,0.525,757,1.09,766,0.469,767,1.444,783,0.317,790,0.472,793,0.544,801,0.549,810,0.481,836,4.709,839,1.384,852,0.424,884,0.534,885,2.413,912,1.16,914,1.341,926,0.534,934,0.498,951,1.572,956,0.453,957,0.469,965,2.4,1016,0.599,1024,1.116,1054,0.464,1055,0.607,1061,1.292,1127,0.607,1130,1.75,1152,0.509,1174,0.68,1175,0.572,1176,1.528,1185,0.534,1197,0.615,1214,0.566,1216,1.257,1249,3.893,1252,1.144,1306,0.92,1309,0.566,1417,0.498,1430,0.494,1437,1.017,1471,0.666,1489,0.502,1530,1.282,1531,0.485,1587,0.544,1597,1.395,1610,0.68,1692,0.505,1704,0.694,1710,0.643,1924,1.289,1926,2.021,1927,0.539,1963,1.194,2022,1.177,2026,0.498,2061,2.901,2086,1.469,2100,0.534,2169,0.633,2179,0.666,2220,0.752,2276,1.752,2332,0.554,2348,0.654,2527,0.53,3265,0.68,3524,0.633,3701,2.014,4004,1.377,4415,0.68,4550,1.419,4751,1.531,4752,0.752,5438,0.711,5466,0.666,5538,0.694,5540,0.778,5629,5.622,5994,0.549,6037,0.812,6080,1.723,6109,2.967,6110,1.904,6207,2.293,6247,0.73,6248,0.73,6261,1.752,6336,0.68,6364,0.68,6404,2.901,6406,2.901,6407,3.367,6408,2.293,6409,2.293,6478,0.856,6480,2.174,6488,0.856,6560,1.531,6561,1.531,6786,0.812,6787,0.856,6788,0.812,7151,0.856,7152,1.615,7153,4.404,7154,1.743,7155,3.451,7156,0.924,7157,0.924,7158,1.743,7159,0.924,7160,3.13,7161,2.474,7162,2.474,7163,2.474,7164,0.924,7165,0.924,7166,0.924,7167,0.924,7168,0.924,7169,0.924,7170,0.924,7171,0.924]],["component/192",[1,0.382,18,0.605,34,0.598]],["title/193-1",[677,40.028,767,35.208]],["name/193-1",[]],["text/193-1",[]],["component/193-1",[]],["title/193-2",[767,35.208,1306,40.295]],["name/193-2",[]],["text/193-2",[]],["component/193-2",[]],["title/193-3",[767,35.208,7172,76.321]],["name/193-3",[]],["text/193-3",[]],["component/193-3",[]],["title/193-4",[562,39.768,852,35.04]],["name/193-4",[]],["text/193-4",[]],["component/193-4",[]],["title/193-5",[511,33.628]],["name/193-5",[]],["text/193-5",[]],["component/193-5",[]],["title/193",[1319,52.302]],["name/193",[1319,2.025]],["text/193",[38,2.091,91,3.857,167,4.743,257,3.066,290,3.454,428,3.874,538,4.224,615,4.581,671,3.822,672,3.707,677,5.765,745,6.876,767,5.071,812,5.414,1229,5.696,1249,4.993,1319,6.848,1383,5.959,1429,5.553,1692,4.68,2403,6.432,2757,6.062,4426,7.52,7173,8.558,7174,7.932,7175,6.761,7176,7.52]],["component/193",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/194",[4990,81.486]],["name/194",[3,1.542]],["text/194",[1,1.053,15,2.75,34,1.647,38,3.159,39,2.584,58,2.839,69,2.612,71,1.791,77,4.416,87,2.659,124,3.106,197,2.301,211,3.35,216,2.782,222,3.983,234,2.078,257,2.377,299,2.782,328,5.582,337,3.602,338,3.122,404,3.435,428,3.004,672,4.626,709,2.718,741,4.829,760,3.221,783,3.661,892,4.405,927,4.301,928,3.122,1001,3.712,1038,2.739,1076,5.313,1093,3.551,1139,4.189,1229,4.416,1319,3.742,1383,4.62,1416,3.372,1429,3.352,1452,4.428,1462,5.615,1708,4.987,1730,4.547,1835,4.356,2174,4.786,5495,4.62,6290,7.321,7175,5.242,7176,5.83,7177,6.635,7178,6.635,7179,6.635,7180,6.15,7181,6.635]],["component/194",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/195-1",[511,33.628]],["name/195-1",[]],["text/195-1",[]],["component/195-1",[]],["title/195",[852,42.579]],["name/195",[852,1.648]],["text/195",[38,1.77,71,1.279,91,2.136,122,2.979,141,2.07,167,3.845,216,1.987,245,1.815,268,2.062,290,3.549,299,5.427,311,2.783,326,4.978,337,4.773,345,2.07,355,2.003,549,2.717,574,8.227,628,4.756,672,3.138,741,2.469,794,2.592,852,3.326,917,5.851,923,2.519,927,3.072,988,3.932,1002,3.993,1038,5.077,1093,2.536,1105,3.326,1145,3.248,1173,5.896,1230,6.456,1233,3.154,1373,2.872,1416,2.408,1489,2.573,1566,6.608,1569,3.744,1610,6.468,1638,7.409,1640,5.722,1652,9.124,2035,6.104,2504,3.486,2549,4.164,2757,5.13,3153,3.248,4804,5.896,4811,4.392,5402,4.392,5403,4.392,5826,4.392,6817,4.164,7180,4.392,7182,4.739,7183,7.243,7184,4.739,7185,4.739,7186,4.739,7187,4.739,7188,7.243,7189,4.739,7190,7.243,7191,4.739,7192,4.739,7193,4.739,7194,4.739,7195,4.739,7196,4.739,7197,7.243,7198,4.739,7199,4.739,7200,4.739,7201,6.714]],["component/195",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/196",[6290,73.264]],["name/196",[6290,2.836]],["text/196",[167,4.588,245,3.666,267,6.286,311,4.532,328,4.623,628,6.286,812,8.442,1255,5.274,1784,6.561,2757,6.781,6290,7.563,7175,9.318,7202,11.796,7203,10.933]],["component/196",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/197",[760,45.021]],["name/197",[760,1.743]],["text/197",[15,2.961,71,2.632,152,3.473,178,2.842,244,3.032,250,4.521,257,2.559,260,2.7,287,2.754,290,5.421,299,2.995,310,5.373,378,5.256,672,4.225,744,4.373,760,4.734,812,7.548,852,5.098,917,8.311,956,3.506,1105,4.478,1297,4.574,1429,6.027,1452,4.66,1489,3.878,2187,5.153,2268,5.369,2985,5.815,4368,7.035,4527,6.622,6925,8.218,7204,7.144,7205,7.144,7206,11.104,7207,9.753]],["component/197",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/198",[87,30.58,2528,62.119]],["name/198",[87,0.848,2528,1.723]],["text/198",[38,3.184,39,2.657,87,3.786,163,2.86,167,4.023,173,3.51,244,2.895,311,2.621,315,2.648,337,7.551,408,2.774,422,5.125,517,3.847,537,5.553,638,3.555,674,5.417,695,4.605,812,5.977,830,5.749,838,6.323,927,4.422,1038,2.816,1046,8.294,1202,4.921,1458,4.675,1697,6.124,1699,9.168,2528,7.69,6290,7.464,6907,9.524,7176,8.302,7203,8.757,7208,6.822,7209,5.994]],["component/198",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/199-1",[1,7.092,34,11.092,71,12.058,146,23.433,751,31.645,1023,34.381]],["name/199-1",[]],["text/199-1",[]],["component/199-1",[]],["title/199-2",[512,31.649,1012,38.173,7210,56.973]],["name/199-2",[]],["text/199-2",[]],["component/199-2",[]],["title/199-3",[1443,49.467,7211,67.059]],["name/199-3",[]],["text/199-3",[]],["component/199-3",[]],["title/199-4",[315,21.878,495,27.361,821,29.96,1429,28.471]],["name/199-4",[]],["text/199-4",[]],["component/199-4",[]],["title/199-5",[99,29.912,677,34.008,945,43.773]],["name/199-5",[]],["text/199-5",[]],["component/199-5",[]],["title/199-6",[272,28.818,634,31.534,823,25.877,7212,52.24]],["name/199-6",[]],["text/199-6",[]],["component/199-6",[]],["title/199-7",[1,10.292,34,16.098,183,29.086]],["name/199-7",[]],["text/199-7",[]],["component/199-7",[]],["title/199-8",[50,36.868,146,34.008,226,35.2]],["name/199-8",[]],["text/199-8",[]],["component/199-8",[]],["title/199",[1,7.092,29,18.1,34,11.092,146,23.433,751,31.645,1023,34.381]],["name/199",[3,1.542]],["text/199",[1,1.492,2,0.553,15,1.419,18,0.484,29,2.268,30,4.262,34,2.247,39,1.8,49,1.226,50,2.627,54,2.745,56,2.456,61,1.282,62,1.427,67,0.956,70,1.002,71,2.988,83,2.204,87,0.772,88,1.341,91,1.543,92,1.74,93,1.298,96,2.512,99,3.993,107,3.117,109,0.967,114,0.893,120,2.933,126,1.907,141,1.496,146,5.378,148,0.985,149,1.234,152,0.686,159,1.179,161,0.845,166,1.564,167,2.442,170,1.963,178,1.362,183,2.512,197,1.942,198,4.423,200,4.375,203,0.769,211,2.319,219,1.095,223,2.109,224,2.303,226,5.103,232,0.723,233,1.806,234,1.072,244,0.817,251,0.985,253,2.416,257,1.655,260,2.684,264,1.086,268,2.436,272,3.632,281,0.786,283,0.73,290,2.26,291,0.786,299,1.435,301,1.931,315,1.793,326,0.824,336,0.696,343,1.156,355,1.953,375,1.031,380,0.814,402,1.069,403,1.364,418,0.979,419,3.409,423,1.038,435,1.3,445,4.33,487,1.465,495,2.718,511,1.241,514,0.845,539,0.884,550,0.94,552,0.979,553,0.721,562,1.004,563,0.821,571,0.889,589,1.01,609,2.518,634,3.589,635,0.925,656,1.3,668,0.94,674,1.963,677,1.01,709,1.403,716,1.963,721,1.12,722,1.845,723,2.899,749,0.756,751,8.261,754,1.233,757,2.141,760,3.984,790,0.985,792,1.167,807,1.219,810,1.004,820,3.28,821,1.024,823,2.121,829,0.92,836,2.074,837,1.3,839,1.078,945,1.3,956,1.68,977,1.623,980,4.039,982,1.095,992,1.024,1012,1.134,1015,1.179,1018,1.095,1023,2.634,1052,1.364,1113,1.192,1130,2.362,1167,0.93,1255,1.061,1260,2.72,1286,1.693,1429,2.334,1464,1.205,1489,2.508,1564,1.233,1576,1.095,1579,1.364,1585,2.248,1597,1.931,1700,1.785,1730,1.32,1769,1.568,1924,1.004,1926,3.482,1927,1.997,1984,4.92,1999,3.272,2115,2.219,2138,1.482,2172,3.893,2258,1.568,2332,2.772,2358,1.915,2428,1.417,2504,1.417,2686,1.364,2995,1.282,3047,5.189,3565,1.522,4497,1.623,4793,2.573,5994,1.145,6024,2.885,6076,1.693,6099,6.584,6248,2.704,6364,1.417,6496,1.219,6619,7.132,6765,1.448,6766,1.623,6786,1.693,7212,7.606,7213,1.926,7214,1.926,7215,3.423,7216,3.423,7217,1.926,7218,1.926,7219,2.704,7220,1.926,7221,1.926,7222,1.926,7223,1.926,7224,1.926,7225,1.926,7226,3.423,7227,2.704,7228,1.926,7229,1.926,7230,1.926,7231,4.62,7232,4.62,7233,4.62,7234,3.423,7235,3.423,7236,3.423,7237,1.926,7238,1.926,7239,1.926,7240,1.926,7241,1.926,7242,4.62,7243,1.926,7244,3.423]],["component/199",[29,0.976,146,1.264,1023,1.854]],["title/200-1",[1,10.292,987,28.207,1070,34.949]],["name/200-1",[]],["text/200-1",[]],["component/200-1",[]],["title/200-2",[1,8.946,821,29.96,869,36.532,987,24.519]],["name/200-2",[]],["text/200-2",[]],["component/200-2",[]],["title/200",[1,7.912,29,20.193,149,17.964,499,30.203,987,21.684]],["name/200",[3,1.542]],["text/200",[1,2.121,10,1.842,11,4.044,12,4.469,29,2.353,34,2.87,37,2.505,38,2.424,66,2.835,67,4.184,70,2.903,71,2.275,72,7.812,73,5.383,74,4.189,76,4.469,77,5.609,84,3.046,91,2.617,98,2.495,100,2.571,107,3.698,108,7.298,126,2.397,144,3.555,149,3.038,167,1.997,170,3.33,176,3.176,197,2.014,222,2.166,234,2.639,273,3.865,338,2.732,405,4.365,418,2.951,422,2.746,498,2.883,499,3.519,514,2.548,530,3.519,642,5.011,708,3.388,746,2.335,750,2.835,763,2.85,764,3.98,768,4.189,772,2.775,773,3.359,783,2.89,818,2.899,841,3.651,868,3.865,869,5.463,956,2.85,987,5.028,998,3.667,1370,3.249,1871,4.272,2132,5.103,2179,4.189,2221,4.894,7245,5.103,7246,5.808,7247,5.808,7248,5.808,7249,5.808,7250,4.588]],["component/200",[149,0.868,499,1.46,987,1.048]],["title/201-1",[7219,73.264]],["name/201-1",[]],["text/201-1",[]],["component/201-1",[]],["title/201-2",[9,16.311,149,17.964,499,30.203,692,31.911,1529,43.797]],["name/201-2",[]],["text/201-2",[]],["component/201-2",[]],["title/201-3",[1,10.292,34,16.098,224,26.665]],["name/201-3",[]],["text/201-3",[]],["component/201-3",[]],["title/201-4",[70,16.492,224,23.179,446,26.929,1939,35.658]],["name/201-4",[]],["text/201-4",[]],["component/201-4",[]],["title/201-5",[1,10.292,692,41.51,987,28.207]],["name/201-5",[]],["text/201-5",[]],["component/201-5",[]],["title/201-6",[1,10.292,224,26.665,987,28.207]],["name/201-6",[]],["text/201-6",[]],["component/201-6",[]],["title/201",[146,48.64]],["name/201",[146,1.883]],["text/201",[1,2.118,9,0.862,29,1.067,34,2.65,49,1.611,53,1.566,55,1.613,56,3.128,62,0.672,63,1.798,65,1.901,66,3.814,67,1.308,70,3.031,71,1.588,83,1.037,95,1.221,100,1.166,142,6.253,146,2.359,148,3.995,149,3.276,152,0.938,167,2.024,170,1.511,178,1.789,194,2.138,205,1.551,214,1.835,221,1.166,223,0.992,224,4.26,233,2.3,234,2.447,241,4.585,247,1.21,251,1.347,257,2.493,260,0.996,281,1.836,283,0.999,289,2.314,301,1.486,311,1.728,313,1.1,326,1.127,328,3.773,332,1.347,336,0.953,338,4.004,343,5.453,344,2.517,370,3.119,373,2.88,374,1.687,375,3.15,381,1.524,405,1.98,418,1.339,420,1.401,421,1.198,422,1.246,426,1.613,446,3.325,466,1.938,498,1.308,499,2.726,511,1.631,549,1.511,563,1.123,571,1.216,591,4.353,609,4.33,622,1.524,677,1.382,692,3.768,708,3.434,731,1.452,746,1.06,748,3.36,753,1.474,756,1.331,792,1.597,799,3.404,804,1.498,805,1.246,818,1.315,821,3.699,836,2.726,905,2.145,987,4.968,1175,4.305,1208,3.218,1233,1.754,1293,1.73,1369,1.648,1370,2.517,1475,1.73,1483,2.082,1529,2.315,1692,1.441,1767,6.229,1776,1.901,1939,6.06,2020,1.938,2358,3.893,2456,6.67,2655,1.566,3225,6.261,4328,5.019,4359,1.98,4978,1.938,6110,3.461,6261,3.186,6600,3.952,6765,1.98,7251,3.952,7252,2.635,7253,2.635,7254,4.169,7255,2.635,7256,4.498,7257,8.424,7258,2.635,7259,2.442,7260,5.455,7261,2.442,7262,2.442,7263,2.442,7264,1.98,7265,2.442]],["component/201",[149,0.868,499,1.46,987,1.048]],["title/202-1",[7219,73.264]],["name/202-1",[]],["text/202-1",[]],["component/202-1",[]],["title/202-2",[34,16.098,2098,46.77,7266,46.77]],["name/202-2",[]],["text/202-2",[]],["component/202-2",[]],["title/202-3",[46,25.431,63,19.807,234,20.305]],["name/202-3",[]],["text/202-3",[]],["component/202-3",[]],["title/202-4",[34,13.993,105,32.595,197,19.546,2098,40.655]],["name/202-4",[]],["text/202-4",[]],["component/202-4",[]],["title/202-5",[1,6.426,34,10.051,62,10.321,234,12.677,841,17.537,987,17.611,2098,29.201]],["name/202-5",[]],["text/202-5",[]],["component/202-5",[]],["title/202-6",[37,32.923,901,50.11]],["name/202-6",[]],["text/202-6",[]],["component/202-6",[]],["title/202-7",[46,25.431,63,19.807,783,22.231]],["name/202-7",[]],["text/202-7",[]],["component/202-7",[]],["title/202-8",[34,13.993,105,32.595,197,19.546,2098,40.655]],["name/202-8",[]],["text/202-8",[]],["component/202-8",[]],["title/202-9",[1,6.426,34,10.051,62,10.321,783,13.88,841,17.537,987,17.611,2098,29.201]],["name/202-9",[]],["text/202-9",[]],["component/202-9",[]],["title/202-10",[37,32.923,901,50.11]],["name/202-10",[]],["text/202-10",[]],["component/202-10",[]],["title/202-11",[38,15.841,46,25.431,63,19.807]],["name/202-11",[]],["text/202-11",[]],["component/202-11",[]],["title/202-12",[34,13.993,105,32.595,197,19.546,2098,40.655]],["name/202-12",[]],["text/202-12",[]],["component/202-12",[]],["title/202-13",[1,6.426,34,10.051,38,9.891,62,10.321,841,17.537,987,17.611,2098,29.201]],["name/202-13",[]],["text/202-13",[]],["component/202-13",[]],["title/202-14",[37,32.923,901,50.11]],["name/202-14",[]],["text/202-14",[]],["component/202-14",[]],["title/202",[63,19.807,998,28.207,7266,46.77]],["name/202",[998,0.921,7266,1.527]],["text/202",[1,1.577,3,0.58,9,0.442,29,0.547,34,2.19,36,0.571,38,2.218,46,3.655,49,1.234,62,0.633,63,2.774,69,0.532,70,2.791,71,1.67,77,0.899,80,0.756,83,0.532,91,0.609,122,0.555,126,1.422,146,1.807,148,0.69,152,1.522,153,0.629,163,0.566,167,3.034,197,2.857,203,0.539,205,4.201,211,0.488,220,0.818,221,1.525,222,2.812,223,2.331,229,1.493,234,3.167,245,0.517,247,0.62,251,0.69,253,2.331,254,1.553,260,2.127,283,0.512,290,0.545,291,1.406,299,0.566,313,2.086,324,0.541,326,1.829,328,3.445,329,1.784,344,0.756,370,0.991,373,1.589,381,1.993,400,0.686,404,1.285,408,0.549,418,3.626,421,3.245,422,3.374,423,1.338,446,2.689,487,1.062,488,0.69,500,0.686,511,2.244,512,0.659,513,0.678,514,0.593,553,0.505,560,1.269,563,0.575,571,0.623,591,2.674,596,0.925,622,4.126,628,0.887,635,4.103,642,4.819,659,0.875,668,1.682,684,0.756,690,1.254,691,0.774,692,2.206,722,0.539,727,3.696,735,3.159,741,2.227,748,1.664,749,0.974,755,0.768,756,0.682,764,0.925,767,0.623,768,2.485,783,3.341,790,0.69,792,0.818,804,0.768,810,0.704,836,0.818,841,3.091,873,1.701,890,1.376,892,0.642,898,2.293,923,1.831,928,1.621,949,0.802,951,1.73,954,0.818,957,0.686,987,4.4,992,0.718,993,0.925,998,1.859,1001,2.392,1021,0.845,1027,0.718,1038,0.557,1054,0.678,1061,2.946,1072,0.699,1076,0.774,1109,1.067,1130,0.914,1146,0.974,1150,0.854,1167,2.064,1172,1.138,1179,3.755,1184,1.099,1268,1.866,1293,4.063,1368,1.475,1383,0.94,1457,0.835,1462,2.088,1488,1.348,1489,2.32,1650,2.804,1669,1.099,1776,4.464,1781,1.138,1901,2.651,1926,3.36,1927,0.788,1939,4.514,2010,0.818,2065,1.099,2098,8.43,2311,1.015,2456,6.489,2674,2.092,2925,3.392,2939,2.651,3176,1.252,3362,0.854,3583,4.817,3805,1.067,4328,0.974,4431,1.015,4978,4.553,4980,1.099,5186,1.252,5439,0.925,6008,1.252,6016,0.899,6853,1.138,6917,1.138,7251,1.187,7257,7.852,7264,2.59,7266,7.736,7267,5.217,7268,2.483,7269,1.35,7270,2.485,7271,2.181,7272,1.35,7273,1.35,7274,1.35,7275,1.35,7276,1.35,7277,2.804,7278,3.521,7279,3.193,7280,1.35,7281,2.722,7282,3.213,7283,1.187,7284,1.35,7285,2.483,7286,1.35,7287,1.35,7288,1.35,7289,2.181,7290,1.35,7291,1.35,7292,1.35,7293,1.35,7294,1.35,7295,1.35,7296,1.35,7297,1.35,7298,1.35,7299,2.483,7300,1.35,7301,1.35,7302,1.35,7303,1.35,7304,1.35,7305,1.35]],["component/202",[149,0.868,499,1.46,987,1.048]],["title/203-1",[7219,73.264]],["name/203-1",[]],["text/203-1",[]],["component/203-1",[]],["title/203-2",[70,16.492,446,26.929,1939,35.658,7306,52.24]],["name/203-2",[]],["text/203-2",[]],["component/203-2",[]],["title/203-3",[1,5.874,234,11.589,446,17.681,560,18.922,841,16.031,987,16.099,1939,23.413,7266,26.694]],["name/203-3",[]],["text/203-3",[]],["component/203-3",[]],["title/203-4",[1,5.874,446,17.681,560,18.922,783,12.688,841,16.031,987,16.099,1939,23.413,7266,26.694]],["name/203-4",[]],["text/203-4",[]],["component/203-4",[]],["title/203-5",[1,5.874,38,9.041,446,17.681,560,18.922,772,17.681,987,16.099,1939,23.413,7266,26.694]],["name/203-5",[]],["text/203-5",[]],["component/203-5",[]],["title/203",[63,19.807,841,28.088,7266,46.77]],["name/203",[841,0.917,7266,1.527]],["text/203",[1,1.721,9,2.462,29,0.858,34,1.488,38,1.668,49,1.334,62,1.27,63,1.137,65,1.528,67,1.052,70,2.652,71,1.344,83,2.359,114,0.982,120,0.875,136,1.185,146,2.613,149,0.763,152,1.326,153,0.987,167,1.28,170,1.215,197,2.079,203,0.846,205,5.077,222,3.027,230,1.225,232,0.795,234,2.96,244,0.899,251,3.065,253,2.258,260,1.882,281,0.865,283,0.803,290,3.037,313,3.142,317,1.62,324,0.849,328,2.405,343,1.271,370,1.989,375,1.134,400,1.077,418,4.124,420,1.126,421,3.922,422,3.837,446,3.594,487,2.131,491,1.111,513,2.501,550,1.817,552,1.077,563,0.903,571,0.977,591,2.329,622,4.987,628,4.482,635,4.704,642,4.356,672,0.918,674,1.215,684,1.185,690,1.07,691,1.215,692,3.189,702,1.007,727,6.431,731,1.167,735,0.662,741,3.92,748,3.633,768,1.528,772,1.012,783,2.579,789,4.096,790,1.083,834,1.592,836,3.018,841,3.735,901,1.391,910,1.5,923,2.648,951,1.87,954,1.284,987,4.112,1001,2.787,1006,1.785,1038,1.537,1076,1.215,1079,3.103,1139,1.46,1150,1.34,1167,1.798,1179,5.654,1293,6.431,1324,2.958,1373,1.284,1383,1.475,1416,2.532,1429,3.8,1488,1.15,1534,3.833,1566,2.798,1595,1.63,1615,1.325,1692,3.733,1697,1.373,1767,1.452,1776,5.853,1856,1.861,1926,4.405,1939,5.735,2358,2.083,2379,1.592,2456,5.651,2841,1.452,3165,1.964,3362,2.356,3583,7.003,4881,1.785,4978,5.534,4980,4.879,5532,1.785,7175,1.674,7251,3.272,7257,7.965,7259,1.964,7265,3.451,7266,6.22,7267,1.964,7270,1.528,7271,1.861,7279,4.617,7289,3.272,7307,2.119,7308,4.981,7309,2.119,7310,3.272,7311,2.119,7312,2.119,7313,2.119,7314,2.119,7315,2.119,7316,1.964,7317,2.119,7318,2.119,7319,2.119,7320,2.119,7321,2.119,7322,2.119]],["component/203",[149,0.868,499,1.46,987,1.048]],["title/204-1",[1,8.946,93,21.369,987,24.519,1130,20.758]],["name/204-1",[]],["text/204-1",[]],["component/204-1",[]],["title/204-2",[63,23.313,841,33.061]],["name/204-2",[]],["text/204-2",[]],["component/204-2",[]],["title/204-3",[63,23.313,998,33.201]],["name/204-3",[]],["text/204-3",[]],["component/204-3",[]],["title/204",[93,28.935,94,32.518]],["name/204",[93,0.802,94,0.902]],["text/204",[1,2.021,4,1.484,10,2.667,34,3.085,37,1.538,49,2.617,53,4.342,55,4.473,62,0.909,63,1.768,70,2.46,71,2.269,92,4.698,93,4.12,94,3.583,96,2.597,107,1.565,126,1.472,127,3.214,165,3.016,221,1.579,222,3.136,223,1.343,232,1.339,234,1.117,244,1.513,257,1.278,260,1.348,264,2.011,291,4.042,311,1.37,315,2.247,338,1.678,345,4.039,395,4.237,408,2.354,428,6.045,496,2.342,514,1.565,538,4.563,552,2.942,553,2.166,635,5.544,665,2.119,735,3.509,749,2.27,754,2.283,767,1.645,805,1.686,810,1.858,841,2.508,947,1.922,987,5.138,998,1.551,1061,3.817,1130,3.097,1134,5.056,1249,2.081,1255,1.965,1259,3.214,1324,1.76,1368,4.342,1699,2.572,1882,4.175,1924,1.858,2374,2.572,4577,3.305,5994,2.119,6075,2.526,6594,3.005,6596,3.005,6782,6.772,6783,3.305,7323,5.086,7324,3.305,7325,5.789,7326,3.566,7327,5.789,7328,3.566,7329,3.566]],["component/204",[18,0.824,987,1.427]],["title/205",[1139,36.374]],["name/205",[1139,1.408]],["text/205",[]],["component/205",[18,0.824,987,1.427]],["title/206-1",[62,19.457,291,31.15]],["name/206-1",[]],["text/206-1",[]],["component/206-1",[]],["title/206-2",[1,7.912,34,12.375,179,34.16,233,19.482,336,18.019]],["name/206-2",[]],["text/206-2",[]],["component/206-2",[]],["title/206-3",[83,30.039,7330,67.059]],["name/206-3",[]],["text/206-3",[]],["component/206-3",[]],["title/206-4",[6000,51.523,7331,70.737]],["name/206-4",[]],["text/206-4",[]],["component/206-4",[]],["title/206-5",[1695,50.794,7332,70.737]],["name/206-5",[]],["text/206-5",[]],["component/206-5",[]],["title/206-6",[1,10.292,34,16.098,233,25.343]],["name/206-6",[]],["text/206-6",[]],["component/206-6",[]],["title/206-7",[83,25.521,7333,47.7,7334,60.097]],["name/206-7",[]],["text/206-7",[]],["component/206-7",[]],["title/206-8",[63,17.217,1110,33.492,7333,41.463,7335,52.24]],["name/206-8",[]],["text/206-8",[]],["component/206-8",[]],["title/206-9",[34,16.098,7333,47.7,7336,64.841]],["name/206-9",[]],["text/206-9",[]],["component/206-9",[]],["title/206-10",[34,11.092,298,26.304,890,17.838,2925,21.236,7333,32.868,7337,44.68]],["name/206-10",[]],["text/206-10",[]],["component/206-10",[]],["title/206-11",[251,39.023,7338,70.737]],["name/206-11",[]],["text/206-11",[]],["component/206-11",[]],["title/206-12",[253,28.746,7339,76.321]],["name/206-12",[]],["text/206-12",[]],["component/206-12",[]],["title/206-13",[253,24.422,890,25.887,7338,60.097]],["name/206-13",[]],["text/206-13",[]],["component/206-13",[]],["title/206-14",[1908,51.523,7340,76.321]],["name/206-14",[]],["text/206-14",[]],["component/206-14",[]],["title/206-15",[165,31.506,7341,76.321]],["name/206-15",[]],["text/206-15",[]],["component/206-15",[]],["title/206-16",[50,52.731]],["name/206-16",[]],["text/206-16",[]],["component/206-16",[]],["title/206-17",[2925,36.276,7342,76.321]],["name/206-17",[]],["text/206-17",[]],["component/206-17",[]],["title/206-18",[127,42.369,128,54.056]],["name/206-18",[]],["text/206-18",[]],["component/206-18",[]],["title/206-19",[7343,92.74]],["name/206-19",[]],["text/206-19",[]],["component/206-19",[]],["title/206-20",[251,39.023,7344,76.321]],["name/206-20",[]],["text/206-20",[]],["component/206-20",[]],["title/206-21",[253,28.746,7345,76.321]],["name/206-21",[]],["text/206-21",[]],["component/206-21",[]],["title/206-22",[7323,81.486]],["name/206-22",[]],["text/206-22",[]],["component/206-22",[]],["title/206-23",[7346,85.955]],["name/206-23",[]],["text/206-23",[]],["component/206-23",[]],["title/206-24",[299,23.632,947,30.379,6247,44.526,7347,56.363]],["name/206-24",[]],["text/206-24",[]],["component/206-24",[]],["title/206-25",[226,30.597,233,22.029,5861,47.495,6000,38.05]],["name/206-25",[]],["text/206-25",[]],["component/206-25",[]],["title/206-26",[107,28.45,7333,47.7,7348,60.097]],["name/206-26",[]],["text/206-26",[]],["component/206-26",[]],["title/206-27",[120,23.267,241,24.947,7333,41.463,7349,52.24]],["name/206-27",[]],["text/206-27",[]],["component/206-27",[]],["title/206-28",[34,13.993,107,24.73,7333,41.463,7350,56.363]],["name/206-28",[]],["text/206-28",[]],["component/206-28",[]],["title/206-29",[34,12.375,120,20.577,241,22.062,7333,36.669,7351,46.199]],["name/206-29",[]],["text/206-29",[]],["component/206-29",[]],["title/206-30",[70,14.585,233,19.482,395,21.325,5861,42.003,6000,33.65]],["name/206-30",[]],["text/206-30",[]],["component/206-30",[]],["title/206-31",[120,20.577,241,22.062,735,15.57,7351,46.199,7352,49.846]],["name/206-31",[]],["text/206-31",[]],["component/206-31",[]],["title/206-32",[233,25.343,659,42.026,6000,43.773]],["name/206-32",[]],["text/206-32",[]],["component/206-32",[]],["title/206-33",[107,33.487,7353,76.321]],["name/206-33",[]],["text/206-33",[]],["component/206-33",[]],["title/206-34",[39,25.255,241,28.699,7354,56.973]],["name/206-34",[]],["text/206-34",[]],["component/206-34",[]],["title/206-35",[39,25.255,754,41.51,7354,56.973]],["name/206-35",[]],["text/206-35",[]],["component/206-35",[]],["title/206-36",[39,25.255,222,24.186,7354,56.973]],["name/206-36",[]],["text/206-36",[]],["component/206-36",[]],["title/206-37",[50,32.047,336,20.375,987,24.519,1063,30.597]],["name/206-37",[]],["text/206-37",[]],["component/206-37",[]],["title/206-38",[232,24.343,831,37.829,7355,64.841]],["name/206-38",[]],["text/206-38",[]],["component/206-38",[]],["title/206-39",[38,22.657]],["name/206-39",[]],["text/206-39",[]],["component/206-39",[]],["title/206-40",[1110,45.352,7356,76.321]],["name/206-40",[]],["text/206-40",[]],["component/206-40",[]],["title/206-41",[1164,41.51,7357,46.77,7358,64.841]],["name/206-41",[]],["text/206-41",[]],["component/206-41",[]],["title/206-42",[48,43.855]],["name/206-42",[]],["text/206-42",[]],["component/206-42",[]],["title/206-43",[7359,81.486]],["name/206-43",[]],["text/206-43",[]],["component/206-43",[]],["title/206-44",[7360,85.955]],["name/206-44",[]],["text/206-44",[]],["component/206-44",[]],["title/206-45",[253,28.746,7361,76.321]],["name/206-45",[]],["text/206-45",[]],["component/206-45",[]],["title/206-46",[428,29.354,5532,54.639,7362,64.841]],["name/206-46",[]],["text/206-46",[]],["component/206-46",[]],["title/206-47",[7363,85.955]],["name/206-47",[]],["text/206-47",[]],["component/206-47",[]],["title/206-48",[1164,41.51,7364,64.841,7365,64.841]],["name/206-48",[]],["text/206-48",[]],["component/206-48",[]],["title/206-49",[1164,48.86,7366,76.321]],["name/206-49",[]],["text/206-49",[]],["component/206-49",[]],["title/206-50",[178,30.361,505,46.245]],["name/206-50",[]],["text/206-50",[]],["component/206-50",[]],["title/206-51",[7357,55.051,7367,76.321]],["name/206-51",[]],["text/206-51",[]],["component/206-51",[]],["title/206-52",[7357,46.77,7368,56.973,7369,64.841]],["name/206-52",[]],["text/206-52",[]],["component/206-52",[]],["title/206-53",[1164,36.083,7357,40.655,7368,49.523,7370,56.363]],["name/206-53",[]],["text/206-53",[]],["component/206-53",[]],["title/206-54",[1164,36.083,7357,40.655,7368,49.523,7371,56.363]],["name/206-54",[]],["text/206-54",[]],["component/206-54",[]],["title/206-55",[2925,26.79,7357,40.655,7372,52.24,7373,56.363]],["name/206-55",[]],["text/206-55",[]],["component/206-55",[]],["title/206-56",[1164,36.083,7357,40.655,7372,52.24,7374,56.363]],["name/206-56",[]],["text/206-56",[]],["component/206-56",[]],["title/206-57",[224,23.179,7357,40.655,7375,56.363,7376,52.24]],["name/206-57",[]],["text/206-57",[]],["component/206-57",[]],["title/206-58",[852,25.877,4787,44.526,7357,40.655,7377,56.363]],["name/206-58",[]],["text/206-58",[]],["component/206-58",[]],["title/206",[62,23.643]],["name/206",[62,0.915]],["text/206",[1,1.805,4,0.764,8,0.553,9,0.601,10,1.04,18,0.824,30,1.101,34,2.787,38,1.684,39,2.105,48,3.781,49,0.658,50,1.044,61,1.222,62,1.758,63,0.561,70,0.537,71,2.892,83,2.444,87,1.314,91,0.827,93,0.696,94,0.782,100,0.813,107,2.372,109,0.922,114,0.851,120,1.835,127,1.821,136,1.027,138,1.148,152,1.583,165,2.231,167,0.631,177,0.989,178,0.73,179,3.046,180,1.062,183,1.994,184,1.19,211,1.186,215,2.316,222,0.685,223,1.235,226,4.063,232,1.231,233,3.72,241,3.052,244,1.886,247,0.843,251,0.939,253,2.819,260,3.476,283,1.243,287,2.084,290,1.324,291,2.206,292,1.161,298,1.931,299,0.77,311,2.077,313,1.856,317,1.427,326,0.785,336,1.607,343,1.101,345,2.713,370,1.309,374,1.175,378,1.35,395,2.657,402,1.821,428,2.811,489,3.828,505,1.112,511,0.666,538,2.194,539,0.843,552,0.933,560,3.175,563,0.782,571,2.051,603,2.527,609,1.35,626,1.3,634,1.027,638,2.316,642,2.245,657,3.618,670,1.124,672,0.795,709,0.752,714,1.112,722,1.309,735,1.388,745,2.051,749,1.743,754,1.175,755,1.044,758,2.413,762,2.323,789,1.968,790,2.764,808,1.071,818,1.637,831,1.913,843,0.728,852,0.843,854,2.363,856,2.667,890,2.479,928,0.864,947,3.347,949,1.091,953,2.698,965,0.927,987,5.547,998,0.799,1025,0.809,1054,0.922,1063,1.78,1110,1.091,1125,1.148,1130,0.676,1134,1.004,1137,0.976,1164,4.414,1167,0.886,1185,1.062,1214,1.124,1249,3.623,1285,3.547,1295,1.004,1296,1.278,1318,0.944,1324,2.194,1395,1.324,1416,0.933,1430,0.983,1443,1.19,1451,2.153,1452,0.877,1489,1.78,1587,1.081,1676,1.161,1767,1.258,1908,1.239,1979,1.413,2134,1.161,2137,1.613,2229,4.27,2231,1.45,2234,1.35,2265,1.258,2274,1.278,2303,3.341,2363,2.669,2623,1.701,2888,1.547,2925,1.559,3362,1.161,4368,1.324,4415,2.413,4787,1.45,5358,1.494,5466,3.206,5861,2.764,6000,5.398,6041,1.701,6092,5.81,6109,1.278,6247,2.591,6248,1.45,6613,1.701,6794,2.882,6831,3.04,6832,1.701,7324,1.701,7376,1.701,7378,1.836,7379,1.836,7380,1.836,7381,1.836,7382,1.836,7383,1.836,7384,1.836,7385,1.836,7386,1.836,7387,1.836,7388,1.836,7389,1.836,7390,1.836,7391,1.836,7392,1.836,7393,1.836,7394,1.836,7395,1.836,7396,1.836,7397,1.836,7398,1.836,7399,1.836,7400,1.836,7401,6.21,7402,1.836,7403,1.836,7404,1.836,7405,1.836,7406,1.836,7407,1.836,7408,1.836,7409,1.836,7410,1.836,7411,1.836,7412,3.28,7413,1.836,7414,1.836,7415,1.836,7416,1.836,7417,1.836,7418,1.836,7419,4.445,7420,1.836,7421,1.836,7422,1.836,7423,1.836,7424,1.836,7425,1.836,7426,1.836,7427,1.836,7428,1.836,7429,4.445,7430,1.836,7431,1.836,7432,1.836,7433,3.28,7434,1.836,7435,1.836,7436,1.836,7437,1.836,7438,3.28,7439,1.836,7440,1.836,7441,1.836,7442,1.836]],["component/206",[18,0.824,987,1.427]],["title/207",[1,8.946,18,14.165,865,28.471,987,24.519]],["name/207",[3,1.542]],["text/207",[1,1.496,18,3.335,29,3.818,146,6.127,149,4.21,375,5.044,395,4.032,499,7.078,539,4.327,865,6.413,866,3.471,987,5.082,991,6.933,1130,3.471,1176,4.6,1183,6.033,7245,8.281]],["component/207",[18,0.824,987,1.427]],["title/208-1",[1,10.292,692,41.51,987,28.207]],["name/208-1",[]],["text/208-1",[]],["component/208-1",[]],["title/208-2",[62,23.643]],["name/208-2",[]],["text/208-2",[]],["component/208-2",[]],["title/208-3",[1,10.292,224,26.665,987,28.207]],["name/208-3",[]],["text/208-3",[]],["component/208-3",[]],["title/208",[146,48.64]],["name/208",[146,1.883]],["text/208",[1,1.997,10,1.336,18,1.058,34,2.865,37,1.817,49,2.368,50,2.395,56,2.239,62,2.357,63,1.286,66,3.227,71,2.711,83,2.602,92,3.359,93,1.597,100,1.864,122,1.732,127,2.338,142,6.282,143,3.064,146,2.209,149,1.518,165,3.816,166,1.924,167,1.448,170,2.415,178,1.675,197,1.461,203,1.681,211,1.522,215,2.194,224,2.719,233,2.584,234,1.319,241,4.717,242,2.578,245,1.613,253,1.586,257,1.509,268,3.55,283,1.597,289,3.401,291,4.099,311,1.618,315,1.635,324,1.687,328,2.034,329,2.18,336,2.39,338,3.11,343,5.546,345,3.565,370,1.681,418,2.14,425,2.983,428,2.993,511,2.397,539,1.934,550,2.056,552,2.14,553,1.576,603,3.759,605,3.038,615,2.254,642,2.127,656,2.843,672,1.824,692,2.696,708,2.457,712,2.239,722,1.681,749,1.652,790,2.153,799,2.436,805,1.992,818,2.103,836,4.006,854,2.239,926,2.436,987,5.164,1105,1.934,1208,3.615,1216,3.038,1597,2.375,1713,2.983,2134,2.664,2220,3.428,3225,4.863,4328,3.038,5466,3.038,6000,4.463,6110,3.241,6261,2.983,6588,3.549,6765,3.165,6828,3.903,7254,3.903,7260,6.127,7261,3.903,7262,3.903,7263,3.903,7330,7.17,7331,3.903,7346,3.903,7443,4.212,7444,4.212,7445,4.212,7446,4.212,7447,4.212]],["component/208",[18,0.824,987,1.427]],["title/209",[164,41.136,165,31.506]],["name/209",[164,1.141,165,0.874]],["text/209",[1,1.321,10,2.64,34,2.066,49,2.981,63,2.542,71,2.914,98,3.575,153,3.877,165,5.424,234,3.381,253,4.513,257,2.981,317,3.621,635,3.997,638,4.337,656,7.288,709,3.41,735,3.372,841,5.191,1061,4.457,1176,4.062,2065,6.774,6093,7.121,7448,10.796,7449,8.323,7450,8.323,7451,8.323]],["component/209",[18,0.824,987,1.427]],["title/210",[505,39.289,821,34.466,2400,37.497]],["name/210",[821,1.908]],["text/210",[1,1.938,34,2.516,67,5.03,70,2.965,77,6.745,91,4.567,102,5.583,106,5.583,194,4.817,316,5.059,512,4.947,642,5.119,818,5.059,871,7.31,987,4.409,2221,8.54]],["component/210",[18,0.824,987,1.427]],["title/211-1",[222,28.468,2925,36.276]],["name/211-1",[]],["text/211-1",[]],["component/211-1",[]],["title/211-2",[642,38.552,7278,47.738]],["name/211-2",[]],["text/211-2",[]],["component/211-2",[]],["title/211-3",[63,23.313,642,38.552]],["name/211-3",[]],["text/211-3",[]],["component/211-3",[]],["title/211-4",[234,20.305,735,20.254,1061,26.767]],["name/211-4",[]],["text/211-4",[]],["component/211-4",[]],["title/211-5",[1,6.426,234,12.677,560,20.699,735,12.645,987,17.611,1061,16.712,1926,21.977]],["name/211-5",[]],["text/211-5",[]],["component/211-5",[]],["title/211-6",[1,6.426,234,12.677,560,20.699,735,12.645,987,17.611,1061,16.712,1130,14.91]],["name/211-6",[]],["text/211-6",[]],["component/211-6",[]],["title/211-7",[94,32.518,959,51.523]],["name/211-7",[]],["text/211-7",[]],["component/211-7",[]],["title/211",[234,23.9,998,33.201]],["name/211",[234,0.663,998,0.921]],["text/211",[1,1.533,4,1.748,9,2.159,10,0.772,15,1.009,18,1.658,34,0.604,37,1.05,46,1.648,49,0.872,63,2.275,70,2.384,71,0.657,80,3.102,83,1.654,88,1.695,93,0.923,95,1.128,107,1.068,109,2.11,114,1.128,124,1.967,126,1.005,141,1.063,152,0.867,153,1.957,154,1.041,161,1.068,167,3.174,178,0.968,203,0.972,211,1.519,216,1.02,221,2.454,222,2.461,223,2.088,224,1.001,232,2.081,234,3.839,244,1.783,251,2.148,253,3.289,257,1.505,260,0.92,261,0.891,285,2.37,286,1.092,290,0.982,311,2.13,313,1.016,317,1.059,324,0.975,334,1.331,336,0.88,345,2.422,370,0.972,380,1.029,395,1.041,408,0.99,419,2.947,420,1.294,421,1.911,422,1.151,487,2.372,488,1.244,506,1.79,514,1.844,555,1.929,560,2.835,568,1.163,569,1.372,615,1.303,635,5.766,642,5.509,666,3.091,702,1.157,722,1.677,735,3.791,744,2.572,745,1.522,746,0.979,749,3.196,763,1.194,789,3.326,790,2.835,799,1.407,801,1.446,805,1.151,826,1.598,834,1.829,841,3.783,847,1.598,865,3.333,890,0.972,931,1.276,947,3.556,951,1.222,957,2.135,959,6.232,987,4.935,998,1.059,1001,2.351,1010,1.42,1038,1.005,1061,3.605,1063,1.321,1093,2.249,1105,3.029,1130,3.001,1167,1.175,1230,2.162,1285,2.162,1306,1.285,1324,1.201,1368,2.497,1373,3.998,1381,2.138,1382,3.319,1383,1.695,1437,1.42,1462,1.475,1576,1.384,1583,1.643,1650,1.981,1692,1.331,1726,1.558,1731,1.695,1835,1.598,1839,2.796,1909,1.643,1922,1.558,1926,1.321,1967,1.668,2010,1.475,2187,1.755,2251,1.829,2452,1.577,2504,3.091,2686,1.724,2841,2.879,2925,4.591,2939,1.873,2963,1.981,3583,1.643,4431,1.829,6093,2.497,6239,2.256,6829,2.051,6847,1.79,7264,1.829,7270,1.755,7277,1.981,7278,3.468,7281,3.319,7282,4.167,7452,2.434,7453,2.434,7454,2.434,7455,2.138,7456,2.138,7457,2.138,7458,2.138,7459,2.434,7460,6.116,7461,2.434,7462,2.434]],["component/211",[18,0.824,987,1.427]],["title/212-1",[222,28.468,2925,36.276]],["name/212-1",[]],["text/212-1",[]],["component/212-1",[]],["title/212-2",[642,38.552,7278,47.738]],["name/212-2",[]],["text/212-2",[]],["component/212-2",[]],["title/212-3",[63,23.313,642,38.552]],["name/212-3",[]],["text/212-3",[]],["component/212-3",[]],["title/212-4",[63,19.807,83,25.521,642,32.754]],["name/212-4",[]],["text/212-4",[]],["component/212-4",[]],["title/212-5",[38,15.841,735,20.254,1061,26.767]],["name/212-5",[]],["text/212-5",[]],["component/212-5",[]],["title/212-6",[1,6.426,38,9.891,560,20.699,735,12.645,987,17.611,1061,16.712,1926,21.977]],["name/212-6",[]],["text/212-6",[]],["component/212-6",[]],["title/212-7",[1,6.426,38,9.891,560,20.699,735,12.645,987,17.611,1061,16.712,1130,14.91]],["name/212-7",[]],["text/212-7",[]],["component/212-7",[]],["title/212",[38,18.646,998,33.201]],["name/212",[38,0.517,998,0.921]],["text/212",[1,1.664,3,1.984,4,1.131,9,3.02,10,0.862,15,1.914,18,1.513,34,0.675,38,3.183,39,1.059,46,1.811,49,0.974,63,2.819,70,2.078,71,1.625,83,2.795,93,1.03,95,1.26,107,1.192,124,2.162,126,1.122,141,1.187,149,2.559,152,0.968,166,1.242,167,3.34,178,1.081,221,1.203,222,3.227,223,1.739,251,2.361,253,3.476,257,0.974,260,1.027,285,3.396,290,1.097,311,2.729,313,1.135,324,1.089,326,1.976,337,1.475,345,1.187,380,1.952,395,1.163,408,1.105,419,3.201,421,1.236,487,3.038,514,2.026,550,1.327,560,3.079,568,1.298,569,1.533,615,1.455,635,5.538,642,6.011,672,1.177,674,3.453,722,1.085,735,3.767,744,1.664,746,1.093,749,3.809,763,1.334,790,3.079,801,1.615,805,1.285,810,1.416,834,2.043,841,3.447,865,3.587,890,1.085,917,1.809,947,1.465,987,4.815,998,2.009,1001,2.584,1061,3.809,1063,1.475,1093,3.223,1110,1.615,1130,3.187,1145,1.863,1167,1.312,1230,2.376,1285,1.398,1306,1.435,1324,1.341,1368,2.744,1373,4.822,1462,1.647,1489,2.507,1576,1.545,1650,2.212,1692,1.486,1726,2.957,1909,1.835,1926,1.475,2057,1.892,2379,2.043,2555,1.925,2576,3.554,2686,1.925,2841,4.127,2925,5.131,2939,2.091,2963,2.212,3583,1.835,4881,2.29,6093,2.744,6829,2.29,7175,2.147,7264,2.043,7270,3.331,7277,2.212,7278,3.767,7281,3.648,7282,5.337,7455,2.388,7456,2.388,7457,2.388,7458,2.388,7463,2.718,7464,2.388,7465,2.519,7466,2.718,7467,2.519,7468,2.718]],["component/212",[18,0.824,987,1.427]],["title/213",[63,23.313,998,33.201]],["name/213",[63,0.647,998,0.921]],["text/213",[1,1.606,34,1.873,38,1.843,63,4.001,71,2.036,166,3.448,221,3.339,222,2.814,234,2.363,311,2.899,370,4.04,380,3.189,395,4.329,487,4.329,560,3.858,582,3.983,635,3.624,642,6.759,735,3.161,741,3.931,746,3.034,749,3.969,783,2.587,810,3.931,841,3.268,987,4.967,998,3.282,1001,5.662,1061,3.115,1130,3.727,1318,3.882,1368,4.483,1373,4.572,1576,4.29,1726,4.83,7278,6.33]],["component/213",[18,0.824,987,1.427]],["title/214-1",[222,28.468,2925,36.276]],["name/214-1",[]],["text/214-1",[]],["component/214-1",[]],["title/214-2",[642,38.552,7278,47.738]],["name/214-2",[]],["text/214-2",[]],["component/214-2",[]],["title/214-3",[63,23.313,642,38.552]],["name/214-3",[]],["text/214-3",[]],["component/214-3",[]],["title/214-4",[735,20.254,783,22.231,1061,26.767]],["name/214-4",[]],["text/214-4",[]],["component/214-4",[]],["title/214-5",[1,6.426,560,20.699,735,12.645,783,13.88,987,17.611,1061,16.712,1926,21.977]],["name/214-5",[]],["text/214-5",[]],["component/214-5",[]],["title/214-6",[1,6.426,560,20.699,735,12.645,783,13.88,987,17.611,1061,16.712,1130,14.91]],["name/214-6",[]],["text/214-6",[]],["component/214-6",[]],["title/214",[783,26.167,998,33.201]],["name/214",[783,0.726,998,0.921]],["text/214",[1,1.756,4,1.421,9,2.321,10,1.083,15,1.415,18,1.404,34,0.848,38,0.834,46,2.192,49,1.223,63,2.503,70,2.398,71,0.922,83,1.344,93,1.295,95,1.583,107,1.499,124,1.599,126,1.41,141,1.492,152,1.216,167,3.675,178,1.359,221,2.473,222,3.057,223,1.286,234,1.07,251,2.857,253,3.858,257,1.223,260,1.291,285,3.152,290,1.379,311,2.725,313,1.426,324,1.369,345,1.492,380,1.444,395,1.461,408,1.389,419,3.77,487,3.034,514,2.452,560,3.626,568,1.632,569,1.926,615,1.828,635,5.466,642,6.114,722,1.364,735,3.891,746,1.374,749,3.806,763,1.676,783,4.214,790,2.857,801,2.03,805,1.615,834,2.567,841,3.55,865,3.583,873,2.341,890,1.364,947,1.841,987,4.951,998,1.486,1001,3.127,1061,4.228,1063,1.854,1093,2.991,1130,3.329,1167,1.649,1230,2.875,1285,1.757,1306,1.803,1324,1.686,1368,3.321,1373,4.966,1383,2.378,1462,2.07,1576,1.942,1650,2.78,1692,1.868,1726,2.187,1909,2.306,1926,1.854,2686,2.419,2841,3.83,2925,5.258,2939,2.628,2963,2.78,3109,2.628,3583,2.306,6093,3.321,6829,2.878,7264,2.567,7270,2.464,7277,2.78,7278,4.436,7281,4.415,7282,4.2,7455,3.001,7456,3.001,7457,3.001,7458,3.001,7469,3.415,7470,3.415]],["component/214",[18,0.824,987,1.427]],["title/215-1",[150,45.875,6853,47.495,7471,56.363,7472,56.363]],["name/215-1",[]],["text/215-1",[]],["component/215-1",[]],["title/215-2",[145,39.514,684,42.701]],["name/215-2",[]],["text/215-2",[]],["component/215-2",[]],["title/215-3",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-3",[]],["text/215-3",[]],["component/215-3",[]],["title/215-4",[690,38.552,1185,44.136]],["name/215-4",[]],["text/215-4",[]],["component/215-4",[]],["title/215-5",[150,45.875,6917,47.495,7473,56.363,7474,56.363]],["name/215-5",[]],["text/215-5",[]],["component/215-5",[]],["title/215-6",[145,39.514,684,42.701]],["name/215-6",[]],["text/215-6",[]],["component/215-6",[]],["title/215-7",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-7",[]],["text/215-7",[]],["component/215-7",[]],["title/215-8",[690,38.552,1185,44.136]],["name/215-8",[]],["text/215-8",[]],["component/215-8",[]],["title/215-9",[150,45.875,7475,56.363,7476,52.24,7477,56.363]],["name/215-9",[]],["text/215-9",[]],["component/215-9",[]],["title/215-10",[145,39.514,684,42.701]],["name/215-10",[]],["text/215-10",[]],["component/215-10",[]],["title/215-11",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-11",[]],["text/215-11",[]],["component/215-11",[]],["title/215-12",[690,38.552,1185,44.136]],["name/215-12",[]],["text/215-12",[]],["component/215-12",[]],["title/215-13",[137,47.495,6853,47.495,7478,56.363,7479,52.24]],["name/215-13",[]],["text/215-13",[]],["component/215-13",[]],["title/215-14",[145,39.514,684,42.701]],["name/215-14",[]],["text/215-14",[]],["component/215-14",[]],["title/215-15",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-15",[]],["text/215-15",[]],["component/215-15",[]],["title/215-16",[690,38.552,1185,44.136]],["name/215-16",[]],["text/215-16",[]],["component/215-16",[]],["title/215-17",[137,47.495,7480,56.363,7481,82.467]],["name/215-17",[]],["text/215-17",[]],["component/215-17",[]],["title/215-18",[145,39.514,684,42.701]],["name/215-18",[]],["text/215-18",[]],["component/215-18",[]],["title/215-19",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-19",[]],["text/215-19",[]],["component/215-19",[]],["title/215-20",[690,38.552,1185,44.136]],["name/215-20",[]],["text/215-20",[]],["component/215-20",[]],["title/215-21",[137,47.495,7476,52.24,7482,56.363,7483,52.24]],["name/215-21",[]],["text/215-21",[]],["component/215-21",[]],["title/215",[8,22.976,261,27.932]],["name/215",[8,0.637,261,0.775]],["text/215",[1,1.559,2,0.568,9,0.647,10,0.627,34,2.361,38,2.142,48,2.23,58,0.846,62,0.893,63,3.233,69,1.379,71,0.533,80,1.106,83,1.856,87,0.792,88,1.376,107,0.867,114,0.916,120,0.816,122,2.683,128,2.481,140,4.006,142,4.081,145,3.378,146,3.422,149,2.601,152,2.323,165,1.947,173,1.017,178,0.786,179,4.472,180,2.026,185,1.073,186,1.153,197,0.685,222,1.306,223,2.718,224,0.813,233,2.821,234,2.445,241,3.194,257,3.518,260,3.711,267,1.298,281,0.807,283,0.749,291,3.187,301,3.68,315,2.801,317,1.524,326,1.498,328,3.15,337,1.073,338,0.93,342,1.21,345,2.06,373,3.019,406,2.315,408,1.424,415,3.378,428,2.135,517,1.115,552,2.397,553,2.442,589,1.037,603,1.124,620,1.666,635,0.949,642,0.998,671,2.106,690,2.382,691,3.741,716,3.741,722,0.789,735,3.306,740,1.097,741,2.457,744,1.21,746,1.409,749,0.775,761,0.807,772,1.673,783,3.005,813,0.856,820,1.791,831,2.043,841,2.043,843,0.784,846,3.395,855,1.164,892,1.665,907,4.196,919,1.175,928,1.648,947,2.542,951,2.865,956,1.719,958,1.186,959,2.365,966,1.133,987,5.343,1001,1.96,1035,1.097,1038,3.781,1110,2.803,1125,5.483,1130,1.29,1137,1.051,1219,2.481,1259,1.097,1260,1.164,1343,2.167,1360,1.454,1361,1.609,1368,3.39,1373,1.198,1416,1.005,1452,0.944,1574,1.251,1584,2.577,1587,1.164,1595,2.695,1597,1.115,1649,2.767,1676,1.251,1695,1.316,1699,2.526,1710,1.376,1713,1.4,1724,4.807,1825,4.807,1850,1.265,1908,1.334,1915,1.737,2020,1.454,2379,1.486,2529,1.486,2555,3.34,2664,1.486,2737,1.486,2888,1.666,2925,2.242,2963,1.609,2983,1.832,3045,1.251,3153,1.355,3362,1.251,4415,2.577,4648,2.952,4808,1.832,4809,1.832,5629,1.666,5787,1.666,6000,1.334,6034,1.737,6453,1.832,7270,1.426,7278,1.236,7282,6.884,7323,1.737,7330,1.737,7332,1.832,7333,4.196,7334,1.832,7335,1.832,7348,1.832,7349,1.832,7460,3.246,7464,1.737,7484,3.503,7485,6.525,7486,6.048,7487,1.977,7488,1.977,7489,1.977,7490,1.977,7491,1.977,7492,1.977,7493,1.977,7494,1.977,7495,1.977,7496,1.977,7497,1.977,7498,1.977,7499,1.977,7500,1.977,7501,1.977,7502,1.977,7503,1.977,7504,1.977]],["component/215",[18,0.824,987,1.427]],["title/216-1",[642,32.754,2925,30.819,7278,40.557]],["name/216-1",[]],["text/216-1",[]],["component/216-1",[]],["title/216-2",[63,23.313,2925,36.276]],["name/216-2",[]],["text/216-2",[]],["component/216-2",[]],["title/216",[234,23.9,841,33.061]],["name/216",[234,0.663,841,0.917]],["text/216",[1,1.582,9,2.221,10,2.153,18,1.334,34,2.169,63,2.876,69,1.262,70,1.553,71,1.432,80,5.268,91,1.445,141,1.401,165,2.191,166,2.425,167,3.237,177,1.729,211,1.159,221,1.42,222,3.717,223,1.208,229,1.389,233,1.254,234,3.656,244,2.88,245,2.032,251,1.64,253,2.556,257,2.431,283,2.012,290,1.295,298,3.124,299,1.345,304,2.029,311,2.039,313,2.216,315,1.245,317,1.395,380,1.356,395,1.372,408,2.158,420,1.705,487,2.27,506,5.803,514,2.328,552,1.63,562,1.671,568,1.532,589,2.783,622,3.069,635,5.35,642,6.107,674,1.839,709,1.314,722,2.119,727,4.457,735,3.113,741,5.193,749,2.081,776,1.888,783,2.327,789,1.924,790,2.713,809,3.283,841,4.078,865,1.62,916,1.871,947,4.252,987,1.395,991,3.904,1001,5.268,1061,1.324,1072,1.661,1093,4.677,1125,2.006,1126,1.888,1130,2.5,1255,1.767,1259,1.781,1318,1.65,1324,3.35,1337,2.272,1342,3.484,1368,4.033,1373,4.113,1382,4.192,1383,3.695,1416,1.63,1429,1.62,1455,1.592,1566,3.988,1576,1.824,1692,4.314,1839,3.532,2265,2.198,2664,2.411,2671,2.313,2925,4.737,3583,4.582,6093,3.153,7264,2.411,7270,3.828,7271,5.964,7278,5.466,7310,2.818,7505,3.207,7506,3.207,7507,5.307,7508,2.818,7509,3.207,7510,4.918,7511,3.207]],["component/216",[18,0.824,987,1.427]],["title/217-1",[642,32.754,2925,30.819,7278,40.557]],["name/217-1",[]],["text/217-1",[]],["component/217-1",[]],["title/217-2",[63,19.807,642,32.754,2925,30.819]],["name/217-2",[]],["text/217-2",[]],["component/217-2",[]],["title/217-3",[63,17.217,83,22.184,642,28.471,2925,26.79]],["name/217-3",[]],["text/217-3",[]],["component/217-3",[]],["title/217",[38,18.646,841,33.061]],["name/217",[38,0.517,841,0.917]],["text/217",[1,1.531,4,1.008,9,3.015,10,1.328,18,1.389,34,1.845,38,2.661,39,2.153,63,3.326,70,1.925,71,1.13,83,2.924,126,2.282,141,1.829,143,3.05,152,1.968,165,2.282,166,1.913,167,4.074,177,1.306,197,1.917,211,0.876,222,3.251,223,1.577,233,0.947,244,1.777,245,2.117,251,3.365,253,2.478,257,1.98,283,1.587,298,3.254,311,1.609,313,2.308,315,0.941,345,1.059,381,1.402,395,2.365,408,1.703,420,2.226,421,1.102,487,2.365,514,1.837,568,1.158,589,2.196,635,4.81,642,6.187,674,3.169,722,1.672,741,3.871,749,1.642,772,3.884,776,1.427,790,2.826,809,3.42,810,1.263,818,2.09,841,1.814,865,1.224,923,1.288,953,1.21,987,2.405,991,4.066,998,1.821,1001,5.155,1017,1.822,1072,1.255,1093,2.241,1125,1.516,1126,1.427,1130,2.424,1139,2.581,1208,1.325,1259,1.346,1368,3.284,1373,3.349,1429,1.224,1489,2.273,1576,2.381,1692,2.29,2379,5.584,2576,3.222,2664,1.822,2925,4.583,3093,2.966,3583,3.731,3721,6.099,4832,5.199,4881,6.261,6093,3.91,7175,5.87,7264,1.822,7270,4.747,7278,4.116,7281,1.915,7282,3.147,7464,6.528,7465,5.123,7467,6.099,7479,6.099,7508,4.857,7512,2.424,7513,2.424,7514,9.214,7515,9.214,7516,9.214,7517,9.214,7518,9.214,7519,5.527,7520,4.187,7521,4.187,7522,2.424]],["component/217",[18,0.824,987,1.427]],["title/218",[63,23.313,841,33.061]],["name/218",[63,0.647,841,0.917]],["text/218",[1,1.83,34,1.909,38,1.878,63,4.023,71,2.766,166,3.513,221,3.403,222,2.868,234,2.408,311,2.954,380,3.25,560,3.931,582,4.059,635,5.536,642,6.653,741,4.006,746,3.092,749,4.019,767,3.547,783,2.636,810,4.006,823,3.53,841,4.993,987,5.348,1001,5.734,1130,2.832,1318,3.956,1368,4.569,1373,4.659,1576,4.372,1726,4.922,1784,5.269,7278,4.809]],["component/218",[18,0.824,987,1.427]],["title/219-1",[642,32.754,2925,30.819,7278,40.557]],["name/219-1",[]],["text/219-1",[]],["component/219-1",[]],["title/219-2",[63,19.807,642,32.754,2925,30.819]],["name/219-2",[]],["text/219-2",[]],["component/219-2",[]],["title/219",[783,26.167,841,33.061]],["name/219",[783,0.726,841,0.917]],["text/219",[1,1.625,2,0.882,9,2.791,10,1.623,18,1.286,34,1.633,61,2.043,63,2.985,70,1.497,71,2.072,136,1.717,141,1.341,165,2.112,166,2.338,167,3.167,177,1.654,211,1.109,221,1.358,222,4.2,223,1.156,230,1.775,233,1.2,234,0.961,245,2.519,247,1.409,248,2.307,253,2.891,257,2.357,260,1.16,283,1.164,298,3.012,311,1.966,313,2.137,315,1.986,317,2.862,324,1.23,345,1.341,395,1.313,408,2.08,420,1.631,487,2.189,514,2.245,562,1.599,568,1.466,589,2.683,635,4.916,642,6.124,674,2.933,709,1.257,722,2.043,729,1.791,735,3.052,741,5.868,745,3.2,746,1.234,749,2.007,776,1.807,783,4.212,790,2.616,809,3.165,818,1.532,841,3.99,865,1.55,873,2.103,923,1.631,951,3.854,987,2.862,991,3.764,1001,5.154,1038,1.267,1061,1.267,1072,1.589,1093,4.93,1125,3.2,1126,1.807,1130,2.423,1255,1.691,1259,1.704,1318,2.632,1324,3.788,1337,2.174,1342,2.015,1366,2.137,1368,3.909,1373,3.986,1383,4.581,1416,1.56,1429,2.584,1566,3.845,1576,1.745,1595,5.906,1692,1.678,2103,2.103,2664,2.307,2671,2.214,2925,4.644,2994,2.307,2995,2.043,3583,4.441,4983,2.697,5532,2.586,6093,3.04,7264,2.307,7270,3.69,7278,5.335,7289,5.78,7310,2.697,7316,7.114,7508,2.697,7510,2.845,7523,3.069,7524,5.116,7525,3.069,7526,3.069,7527,3.069,7528,3.069]],["component/219",[18,0.824,987,1.427]],["title/220-1",[48,43.855]],["name/220-1",[]],["text/220-1",[]],["component/220-1",[]],["title/220-2",[178,30.361,505,46.245]],["name/220-2",[]],["text/220-2",[]],["component/220-2",[]],["title/220",[62,19.457,7529,60.293]],["name/220",[572,1.283,7529,1.672]],["text/220",[18,2.947,37,2.96,38,1.676,41,3.672,48,5.141,49,2.458,62,3.246,71,2.934,83,2.7,107,3.01,122,2.821,167,2.359,178,4.325,219,3.901,226,5.149,229,2.972,257,2.458,291,3.871,317,2.985,328,3.313,336,4.45,426,4.2,487,2.935,505,4.157,539,3.15,657,5.584,722,2.739,735,2.143,762,4.859,821,3.647,852,3.15,866,2.527,957,3.487,987,5.355,1010,4.003,1399,5.42,1437,4.003,1489,3.724,1654,5.42,2276,4.859,3362,4.34,4787,5.42,7357,4.949,7359,6.028,7529,8.588,7530,6.359,7531,6.861,7532,6.861]],["component/220",[18,0.824,987,1.427]],["title/221-1",[7219,73.264]],["name/221-1",[]],["text/221-1",[]],["component/221-1",[]],["title/221-2",[987,28.207,1015,39.693,7529,51.224]],["name/221-2",[]],["text/221-2",[]],["component/221-2",[]],["title/221-3",[234,23.9,735,23.839]],["name/221-3",[]],["text/221-3",[]],["component/221-3",[]],["title/221-4",[38,18.646,735,23.839]],["name/221-4",[]],["text/221-4",[]],["component/221-4",[]],["title/221-5",[735,23.839,783,26.167]],["name/221-5",[]],["text/221-5",[]],["component/221-5",[]],["title/221-6",[800,53.173]],["name/221-6",[]],["text/221-6",[]],["component/221-6",[]],["title/221-7",[1,12.114,34,18.948]],["name/221-7",[]],["text/221-7",[]],["component/221-7",[]],["title/221-8",[987,40.344]],["name/221-8",[]],["text/221-8",[]],["component/221-8",[]],["title/221-9",[70,22.331,395,32.651]],["name/221-9",[]],["text/221-9",[]],["component/221-9",[]],["title/221",[178,30.361,505,46.245]],["name/221",[3,1.542]],["text/221",[4,2.632,10,1.55,15,2.026,16,1.935,18,1.229,36,1.229,37,1.254,38,2.189,39,1.132,46,1.14,48,2.312,49,1.041,62,2.55,70,3.045,71,2.233,91,1.31,99,1.341,107,1.275,114,1.348,148,1.486,152,1.035,154,3.539,157,1.962,161,2.145,163,1.219,174,1.798,178,3.791,222,1.824,223,3.768,224,2.01,226,5.65,229,1.259,232,2.375,233,1.136,234,2.323,247,2.245,257,1.751,260,4.689,268,2.752,276,1.545,281,1.186,287,2.439,317,2.752,336,1.051,370,1.952,380,1.229,381,1.681,395,4.28,416,2.296,494,3.404,502,4.368,505,2.962,511,1.054,514,2.145,518,1.861,533,3.058,560,1.486,568,1.389,665,2.905,735,3.453,746,1.169,748,1.404,766,1.477,772,2.336,778,3.404,783,2.169,818,3.158,841,2.118,856,2.933,857,1.818,866,1.071,880,2.138,885,1.884,909,2.059,916,1.696,938,1.653,945,1.962,982,5.688,987,5.767,998,1.265,1022,1.818,1025,2.154,1061,3.415,1079,1.505,1111,1.696,1125,1.818,1126,1.711,1141,3.862,1166,2.024,1167,3.994,1393,1.909,1400,1.626,1446,3.169,1464,1.818,1480,2.185,1488,1.578,1489,1.578,1495,2.185,1558,3.3,1587,1.711,1636,2.45,1637,2.059,1879,2.237,2100,2.827,2229,3.862,2584,2.694,2892,4.868,2925,2.324,2988,1.818,3226,4.531,3362,1.839,3675,2.366,3786,2.45,3955,4.531,3991,4.531,4415,2.138,4483,2.296,4648,2.45,4787,2.296,5495,2.024,5731,4.296,6027,2.554,6093,1.727,7529,7.528,7533,2.907,7534,4.889,7535,2.907,7536,2.694,7537,2.907,7538,2.907]],["component/221",[18,0.824,987,1.427]],["title/222",[]],["name/222",[63,0.647,395,0.906]],["text/222",[]],["component/222",[18,0.824,987,1.427]],["title/223",[]],["name/223",[395,0.906,7278,1.324]],["text/223",[]],["component/223",[18,0.824,987,1.427]],["title/224-1",[987,33.201,1130,28.108]],["name/224-1",[]],["text/224-1",[]],["component/224-1",[]],["title/224-2",[395,32.651,1130,28.108]],["name/224-2",[]],["text/224-2",[]],["component/224-2",[]],["title/224-3",[63,19.807,395,27.74,1130,23.88]],["name/224-3",[]],["text/224-3",[]],["component/224-3",[]],["title/224-4",[395,27.74,1130,23.88,7278,40.557]],["name/224-4",[]],["text/224-4",[]],["component/224-4",[]],["title/224",[56,34.466,865,32.754,1130,23.88]],["name/224",[3,1.542]],["text/224",[1,1.794,10,1.545,11,6.954,12,7.685,38,2.623,63,3.589,70,3.142,71,2.414,95,2.259,126,3.054,170,4.242,178,1.938,221,2.157,222,2.76,229,2.111,234,3.127,260,1.841,276,2.59,285,4.172,311,1.872,324,2.964,345,4.363,370,2.954,395,5.026,400,3.76,553,1.823,560,2.491,582,3.906,642,5.045,709,1.996,712,4.754,735,3.354,741,5.204,748,4.318,749,1.911,783,3.424,813,2.111,841,4.326,865,2.461,925,2.952,965,2.461,987,5.111,1061,4.123,1130,4.565,1139,1.911,1318,2.507,1324,2.405,1368,2.895,1373,2.952,1429,2.461,1430,2.608,1473,3.515,1580,3.749,1726,3.119,2925,2.316,5882,4.516,7277,6.022,7278,4.628,7486,4.516,7539,4.873]],["component/224",[18,0.824,987,1.427]],["title/225",[]],["name/225",[987,1.562]],["text/225",[]],["component/225",[18,0.824,987,1.427]],["title/226-1",[48,26.653,71,15.212,222,21.024,1489,30.597]],["name/226-1",[]],["text/226-1",[]],["component/226-1",[]],["title/226-2",[48,36.09,402,42.369]],["name/226-2",[]],["text/226-2",[]],["component/226-2",[]],["title/226-3",[1,10.292,34,16.098,48,30.662]],["name/226-3",[]],["text/226-3",[]],["component/226-3",[]],["title/226-4",[48,30.662,222,24.186,503,42.573]],["name/226-4",[]],["text/226-4",[]],["component/226-4",[]],["title/226",[48,43.855]],["name/226",[3,1.542]],["text/226",[1,0.633,5,2.655,18,1.98,36,1.686,39,4.252,48,5.769,49,2.269,62,3.164,71,3.484,78,1.916,83,1.57,91,2.854,93,1.513,94,1.7,116,4.615,127,2.215,138,2.495,165,3.703,178,2.52,197,1.384,215,2.079,221,1.766,222,2.938,226,6.489,232,2.957,233,2.476,241,1.766,245,1.528,260,2.977,281,1.628,283,1.513,286,3.533,287,3.458,290,1.61,291,3.215,299,2.656,315,3.057,317,1.736,334,3.464,336,2.847,345,1.743,355,1.686,370,1.593,402,5.431,428,1.806,503,5.172,505,3.838,514,2.779,517,2.25,533,2.495,538,3.126,541,2.232,553,1.493,556,1.887,571,1.84,657,3.247,670,2.442,678,2.198,722,1.593,746,2.547,763,1.958,866,3.603,892,1.896,944,2.586,987,5.307,1010,2.328,1025,1.758,1141,3.152,1148,2.198,1219,2.826,1311,2.468,1312,2.734,1462,2.417,1489,2.166,1587,2.349,1615,2.495,1710,2.778,1775,4.341,1879,3.07,1924,2.079,2332,2.394,2509,6.638,2669,3.698,5160,3.152,7359,3.505,7360,3.698,7363,3.698,7529,3.152,7530,3.698,7540,3.989,7541,3.989,7542,3.989,7543,3.989]],["component/226",[18,0.824,987,1.427]],["title/227-1",[9,21.218,721,21.218,1070,34.949]],["name/227-1",[]],["text/227-1",[]],["component/227-1",[]],["title/227-2",[512,31.649,1012,38.173,7210,56.973]],["name/227-2",[]],["text/227-2",[]],["component/227-2",[]],["title/227",[9,16.311,29,20.193,149,17.964,721,16.311,988,27.059]],["name/227",[3,1.542]],["text/227",[1,1.606,2,2.167,9,3.736,10,2.393,29,3.057,34,1.873,61,5.021,62,1.924,63,2.305,67,5.023,70,2.961,89,4.572,94,3.215,96,3.385,106,4.157,119,4.83,120,4.177,141,3.296,408,3.068,563,4.865,721,3.736,746,3.034,800,4.326,805,3.568,821,4.011,868,5.021,903,5.806,912,5.021,966,4.326,1024,4.83,1067,5.344,1151,4.402,1395,7.299,1504,5.344,1730,5.171,2535,5.442,5994,4.483,6021,5.671,6042,6.629,6550,6.629,6909,6.629,7544,6.629,7545,6.993,7546,5.96,7547,6.993,7548,6.993,7549,6.629]],["component/227",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/228",[93,28.935,428,34.551]],["name/228",[93,0.802,428,0.958]],["text/228",[1,1.655,10,2.502,34,2.588,62,2.658,70,3.05,71,2.129,83,3.105,84,4.138,93,4.709,100,4.614,163,3.308,186,4.603,197,2.736,203,3.15,232,2.962,233,4.074,268,4.535,286,3.539,291,4.255,313,3.295,336,3.768,355,4.406,428,6.006,491,4.138,497,4.644,680,4.935,721,2.582,722,3.15,748,3.809,1148,5.743,5994,6.194]],["component/228",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/229",[70,27.136]],["name/229",[70,1.051]],["text/229",[10,3.635,68,4.461,70,3.956,83,3.597,100,4.045,129,6.264,174,5.655,203,3.649,224,3.759,253,3.442,261,3.345,395,3.91,497,5.381,672,3.959,721,4.097,722,3.649,762,6.474,804,5.197,1148,6.898,1924,4.762,5994,5.431]],["component/229",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/230",[7550,66.894]],["name/230",[7550,2.59]],["text/230",[9,3.647,34,2.171,49,3.132,63,2.671,70,3.261,71,2.36,93,3.315,96,3.922,98,3.756,106,4.817,120,4.6,125,7.117,129,5.992,153,4.073,419,4.648,428,3.958,563,3.725,721,3.647,731,4.817,839,4.892,868,5.819,930,7.368,937,5.819,2081,5.353,3009,7.117,4826,7.368,5775,7.368,5994,5.196,7250,6.908,7546,6.908,7551,8.104,7552,8.104]],["component/230",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/231",[9,14.62,71,12.058,120,18.444,336,16.151,721,14.62,756,22.569]],["name/231",[336,0.765,756,1.069]],["text/231",[34,2.396,70,2.824,84,5.061,93,3.658,96,4.329,120,5.296,124,4.517,153,4.495,163,4.046,336,3.488,428,4.369,546,7.623,547,6.336,721,3.158,738,6.105,753,5.399,756,4.874,855,5.681,5994,7.044,7553,9.65]],["component/231",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/232-1",[1,5.874,9,12.11,34,9.188,233,14.465,281,15.105,336,13.378,402,20.545,721,12.11]],["name/232-1",[]],["text/232-1",[]],["component/232-1",[]],["title/232-2",[1,7.092,9,14.62,34,11.092,159,27.351,169,21.929,721,14.62]],["name/232-2",[]],["text/232-2",[]],["component/232-2",[]],["title/232-3",[1,7.092,34,11.092,99,20.612,166,20.416,678,24.615,749,17.524]],["name/232-3",[]],["text/232-3",[]],["component/232-3",[]],["title/232",[1,7.912,34,12.375,146,26.143,152,17.748,260,18.836]],["name/232",[146,1.11,260,0.8]],["text/232",[1,2.135,9,3.265,10,2.074,34,3.339,49,2.897,62,1.059,67,2.062,71,1.121,93,1.575,99,5.581,100,1.838,107,1.823,120,1.715,146,3.43,148,2.124,151,3.381,152,2.328,157,2.804,159,5.615,162,2.164,216,2.742,223,1.564,224,4.103,233,3.161,245,1.591,257,1.488,260,4.004,268,3.991,272,2.124,281,3.744,287,1.601,311,1.596,313,1.735,328,2.006,336,2.924,337,2.255,370,2.611,402,4.49,405,3.122,513,3.284,520,2.288,530,2.517,571,1.916,672,1.799,678,2.288,679,2.208,684,2.324,708,2.423,721,3.265,722,2.611,730,1.916,738,2.628,748,2.006,749,3.913,750,3.947,753,5.132,756,4.085,757,4.09,758,2.255,766,2.111,781,5.746,799,2.402,813,1.799,839,2.324,956,2.039,1001,3.659,1054,2.086,1233,2.764,1397,2.362,1425,2.423,1489,4.39,1609,2.847,1922,2.659,2358,2.324,2403,3.122,2655,2.468,4359,3.122,5310,4.852,5775,3.5,6016,2.764,6496,5.116,7201,3.85,7554,4.154]],["component/232",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/233",[9,21.218,93,24.583,721,21.218]],["name/233",[93,1.361]],["text/233",[9,3.937,71,2.668,127,5.488,153,4.605,257,3.541,330,7.002,536,6.329,538,4.879,708,5.768,721,3.937,758,5.367,813,4.283,835,7.607,6016,6.58,6093,5.875,6556,7.81,6598,8.047,7555,9.886]],["component/233",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/234",[9,21.218,100,28.699,721,21.218]],["name/234",[100,1.589]],["text/234",[1,2.01,2,2.693,34,3.038,67,3.349,70,1.974,71,1.821,92,3.428,95,3.127,98,2.898,100,5.75,120,2.785,126,3.87,157,4.554,184,4.372,197,2.339,200,3.836,215,3.515,232,2.533,250,3.127,253,3.531,260,4.4,289,3.471,345,4.096,355,3.962,500,3.428,511,2.446,530,4.088,591,4.22,762,4.778,792,4.088,804,3.836,829,3.223,839,5.245,965,3.408,1016,4.372,1306,3.562,1409,3.717,1443,4.372,1530,4.963,1635,5.685,1924,3.515,2184,5.491,2332,4.047,2535,4.866,5495,4.698,6414,6.253,7556,6.746,7557,6.746,7558,6.746,7559,6.746,7560,6.746,7561,6.746,7562,6.253]],["component/234",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/235-1",[257,17.855,261,18.243,344,27.888,502,26.317,7563,49.846]],["name/235-1",[]],["text/235-1",[]],["component/235-1",[]],["title/235",[290,30.805,3644,62.119]],["name/235",[3644,2.922]],["text/235",[1,1.443,2,1.855,9,4.2,34,1.603,44,6.511,71,2.454,93,2.448,95,2.994,96,2.897,97,3.802,106,3.558,149,2.327,158,3.802,165,2.666,166,2.951,181,5.256,213,4.854,232,2.425,311,2.481,370,2.578,423,3.481,487,2.763,491,3.387,502,3.41,549,3.703,563,2.752,566,4.24,581,4.24,715,4.497,721,4.288,748,3.118,749,2.533,753,5.088,756,3.262,768,4.658,792,3.913,847,4.24,965,3.262,986,4.854,1079,3.344,1167,3.118,1368,3.838,1395,7.592,1413,4.298,1425,3.768,1534,4.97,1701,5.986,1716,4.186,1731,4.497,1895,5.256,2115,4.186,3045,4.086,3644,7.401,4241,5.442,5310,3.875,5438,4.97,6343,5.102,6496,5.753,7564,6.458,7565,6.458,7566,6.458,7567,5.442,7568,5.986]],["component/235",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/236-1",[9,21.218,721,21.218,1070,34.949]],["name/236-1",[]],["text/236-1",[]],["component/236-1",[]],["title/236-2",[512,31.649,1012,38.173,7210,56.973]],["name/236-2",[]],["text/236-2",[]],["component/236-2",[]],["title/236",[9,16.311,93,18.898,233,19.482,678,27.462,721,16.311]],["name/236",[3,1.542]],["text/236",[1,1.606,2,2.167,9,3.736,10,2.393,29,3.057,34,1.873,61,5.021,62,1.924,63,2.305,67,5.023,70,2.961,89,4.572,94,3.215,96,3.385,106,4.157,119,4.83,120,4.177,141,3.296,408,3.068,563,4.865,721,3.736,746,3.034,800,4.326,805,3.568,821,4.011,868,5.021,903,5.806,912,5.021,966,4.326,1024,4.83,1067,5.344,1151,4.402,1395,7.299,1504,5.344,1730,5.171,2535,5.442,5994,4.483,6021,5.671,6042,6.629,6550,6.629,6909,6.629,7544,6.629,7545,6.993,7546,5.96,7547,6.993,7548,6.993,7549,6.629]],["component/236",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/237-1",[281,20.344,336,18.019,421,22.67,723,25.807,1176,24.33]],["name/237-1",[]],["text/237-1",[]],["component/237-1",[]],["title/237-2",[281,20.344,336,18.019,422,23.571,738,31.535,1176,24.33]],["name/237-2",[]],["text/237-2",[]],["component/237-2",[]],["title/237-3",[70,16.492,233,22.029,418,28.643,1176,27.511]],["name/237-3",[]],["text/237-3",[]],["component/237-3",[]],["title/237",[87,25.981,326,27.74,678,35.723]],["name/237",[281,0.613,336,0.543,723,0.777]],["text/237",[1,1.845,2,2.686,4,1.789,9,3.804,10,2.623,26,1.5,34,1.068,51,2.633,62,1.713,66,2.099,69,1.693,70,3.752,71,1.814,87,1.723,93,1.631,96,3.015,100,1.904,119,5.295,127,2.388,149,1.55,185,2.335,195,2.69,197,2.331,211,2.429,216,1.803,220,2.606,223,1.62,224,3.402,232,1.615,233,4.544,241,1.904,245,1.647,250,1.994,253,1.62,257,1.541,260,2.54,266,2.352,281,3.376,313,1.796,324,1.723,326,2.875,328,3.994,336,2.99,370,2.683,404,2.227,408,1.749,418,2.186,419,2.286,446,2.055,491,2.256,518,2.754,539,1.975,550,2.099,562,2.241,677,2.256,684,2.407,702,2.044,704,2.948,709,1.762,721,3.519,722,3.302,723,4.282,729,2.509,730,3.1,731,2.37,738,6.418,748,2.077,749,2.636,753,5.231,758,2.335,759,3.233,760,3.263,761,1.756,794,2.352,822,2.788,837,2.904,901,2.824,949,2.556,954,4.072,992,2.286,993,2.948,1007,2.241,1008,2.37,1054,2.16,1063,2.335,1167,2.077,1197,2.863,1285,2.213,1370,2.407,1589,3.164,2358,2.407,2359,4.606,3777,5.051,5310,4.963,6016,2.863,7546,3.398,7569,4.301,7570,4.301,7571,4.301]],["component/237",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/238",[9,18.444,721,18.444,1197,37.511,2358,31.534]],["name/238",[1197,2.389]],["text/238",[1,2.053,2,3.21,4,3.3,9,4.161,10,1.695,15,2.215,29,2.166,34,2.597,49,1.915,70,3.642,71,2.552,84,2.804,96,2.398,100,2.366,120,3.274,148,4.055,149,2.858,200,3.04,203,2.134,216,3.326,224,3.262,233,4.736,260,2.997,313,3.313,324,2.142,331,3.856,345,2.336,370,2.134,446,2.554,491,2.804,513,4.748,553,2.001,668,2.609,679,2.842,684,2.991,702,2.541,712,2.842,721,4.161,730,2.466,738,3.382,749,3.111,756,5.284,840,3.239,936,3.344,992,2.842,1007,2.786,1008,2.945,1175,3.307,1176,2.609,1265,3.856,1397,3.04,1564,3.422,1924,2.786,2358,5.853,2452,3.465,2870,4.505,3242,4.697,6016,3.558,6496,3.382,7572,4.955]],["component/238",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/239-1",[487,32.651,1139,29.934]],["name/239-1",[]],["text/239-1",[]],["component/239-1",[]],["title/239-2",[1139,29.934,2891,46.72]],["name/239-2",[]],["text/239-2",[]],["component/239-2",[]],["title/239",[756,38.552,1139,29.934]],["name/239",[756,1.069,1139,0.83]],["text/239",[1,0.611,2,1.106,9,2.015,33,2.495,35,2.31,57,1.759,62,2.451,63,2.35,67,3.056,70,2.572,71,1.662,83,3.783,87,2.467,89,3.731,98,2.645,100,4.538,114,1.785,122,1.583,124,2.882,141,1.682,165,1.589,166,1.759,197,1.335,203,3.071,211,1.392,221,1.704,222,1.436,232,1.445,233,2.406,245,1.474,247,1.768,250,1.785,254,2.408,260,1.455,274,2.046,283,1.46,287,1.484,299,1.614,337,2.09,338,1.811,345,1.682,355,1.627,370,1.537,408,1.565,420,2.046,487,3.761,491,2.019,511,1.396,513,3.092,520,3.392,531,2.599,548,3.392,549,2.207,553,3.289,563,1.64,566,2.528,638,3.208,648,1.821,655,3.851,679,2.046,709,3.938,721,2.015,730,2.84,735,2.746,738,2.436,753,4.304,756,5.179,757,4.812,763,3.022,770,5.66,778,2.681,804,3.501,829,1.839,842,4.219,843,1.526,847,2.528,896,2.832,943,2.681,958,5.767,981,2.893,1030,1.64,1046,2.599,1079,1.993,1110,2.288,1139,5.304,1183,2.465,1241,3.295,1260,2.267,1295,2.105,1306,2.033,1318,1.981,1370,2.154,1425,5.128,1428,4.361,1446,2.495,1461,3.383,1489,3.342,1670,2.436,2374,4.441,2655,2.288,2662,3.383,2738,3.568,2891,5.381,2903,2.777,4549,4.627,5310,2.31,6496,4.867,6907,3.383,7573,3.85,7574,3.85,7575,3.134,7576,3.85]],["component/239",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/240",[7550,66.894]],["name/240",[7550,2.59]],["text/240",[9,2.991,49,3.274,63,2.792,70,2.674,71,2.467,96,4.1,106,5.035,109,4.59,120,4.731,122,3.759,125,7.439,563,3.894,721,3.75,731,5.035,837,6.17,839,6.412,868,6.083,913,7.033,930,7.702,1583,6.17,2081,5.595,3045,5.782,4826,7.702,5775,7.702,7250,7.22,7551,8.471,7552,8.471]],["component/240",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/241-1",[1,8.946,2,16.189,70,16.492,233,22.029]],["name/241-1",[]],["text/241-1",[]],["component/241-1",[]],["title/241-2",[70,18.972,233,25.343,2358,36.278]],["name/241-2",[]],["text/241-2",[]],["component/241-2",[]],["title/241",[9,21.218,721,21.218,2358,36.278]],["name/241",[2358,2.009]],["text/241",[1,1.84,2,2.234,4,3.236,9,3.932,10,2.467,15,2.158,34,2.312,69,2.05,70,3.866,71,1.406,83,2.05,87,2.087,89,3.156,93,1.974,99,2.403,107,2.285,122,3.199,124,2.438,146,2.731,149,3.355,203,2.079,220,4.713,222,1.943,224,2.142,233,5.024,245,2.979,257,2.786,260,1.968,266,6.044,311,2.001,324,2.087,326,3.328,370,3.106,408,2.118,446,2.488,487,2.228,513,2.615,553,1.949,581,3.419,638,2.714,668,3.797,684,4.352,702,2.475,721,3.932,738,3.295,749,3.051,753,2.914,756,5.217,799,3.012,813,2.256,992,2.768,993,5.331,1007,2.714,1008,2.869,1027,2.768,1054,2.615,1167,2.515,1175,3.222,1397,2.961,1564,3.334,1782,4.114,2358,2.914,2870,4.389,5048,4.389,6496,5.89,7227,4.114,7577,5.208]],["component/241",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/242-1",[487,32.651,735,23.839]],["name/242-1",[]],["text/242-1",[]],["component/242-1",[]],["title/242-2",[735,23.839,2891,46.72]],["name/242-2",[]],["text/242-2",[]],["component/242-2",[]],["title/242",[89,39.289,735,20.254,756,32.754]],["name/242",[89,0.909,735,0.469,756,0.758]],["text/242",[1,0.594,2,1.075,9,1.225,10,1.187,15,1.551,18,2.87,38,0.914,46,1.468,57,1.71,62,2.416,63,3.968,70,2.773,71,1.624,83,1.473,87,3.797,89,4.574,100,4.195,114,1.735,122,2.475,124,1.752,126,1.545,166,1.71,197,1.298,203,3.014,211,3.847,232,1.405,233,2.353,234,1.172,245,1.433,274,3.199,283,1.419,345,1.635,355,1.582,370,3.014,487,3.7,520,3.316,531,2.527,548,3.316,549,2.146,553,3.546,563,1.595,638,3.136,655,3.765,672,1.621,690,1.891,709,3.543,721,1.225,730,2.777,735,4.268,749,2.961,750,1.827,753,2.094,756,5.114,757,3.765,770,2.753,778,2.606,783,1.283,804,2.128,829,2.876,846,2.832,847,2.457,872,2.246,890,3.014,925,2.268,928,1.761,958,5.686,995,2.491,1046,2.527,1063,2.032,1079,1.938,1241,3.222,1295,2.047,1419,7.403,1489,2.032,1574,2.368,1635,3.154,1670,2.368,2655,2.224,2891,5.802,4368,4.342,4549,4.524,5310,2.246,6416,3.289,6496,4.776,6847,2.753,6925,3.154,7578,3.743,7579,3.743,7580,5.072,7581,5.579,7582,3.743]],["component/242",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/243",[63,19.807,724,34.704,756,32.754]],["name/243",[63,0.458,724,0.803,756,0.758]],["text/243",[4,2.854,9,2.245,10,3.448,15,2.843,38,1.676,63,3.76,70,2.007,71,1.852,86,4.859,87,2.749,89,5.747,91,3.092,122,2.821,124,4.44,154,2.935,166,3.135,169,3.367,222,2.559,232,2.576,234,2.148,238,5.42,299,2.877,408,4.42,487,2.935,563,4.632,690,3.466,721,2.245,724,6.277,730,3.165,735,2.143,740,3.809,742,3.466,753,3.839,756,5.491,783,2.352,804,3.901,807,4.34,842,4.702,846,3.228,890,3.787,919,4.077,928,3.228,944,4.447,960,5.156,995,4.566,998,2.985,1208,3.752,1259,3.809,1574,4.34,1710,6.605,5978,6.978,6238,6.359,7583,5.781,7584,6.028]],["component/243",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/244-1",[821,49.296]],["name/244-1",[]],["text/244-1",[]],["component/244-1",[]],["title/244-2",[958,55.64]],["name/244-2",[]],["text/244-2",[]],["component/244-2",[]],["title/244-3",[683,51.887]],["name/244-3",[]],["text/244-3",[]],["component/244-3",[]],["title/244-4",[130,56.194]],["name/244-4",[]],["text/244-4",[]],["component/244-4",[]],["title/244",[730,35.208,756,38.552]],["name/244",[730,0.976,756,1.069]],["text/244",[4,1.795,9,2.903,10,0.796,15,1.04,36,1.061,41,1.343,55,1.536,62,2.113,68,1.225,69,0.988,70,2.74,71,1.164,75,1.505,83,2.233,87,2.274,88,1.747,93,0.951,98,1.078,100,1.111,122,3.121,130,2.614,149,0.904,152,0.893,169,3.306,197,1.496,203,2.689,216,2.379,221,1.111,222,0.936,223,0.945,229,1.087,230,1.451,232,2.529,233,2.218,245,0.961,247,1.152,250,3.123,283,1.636,286,1.126,290,2.29,291,1.024,311,0.964,327,3.08,345,1.885,406,1.232,420,1.334,430,1.67,487,2.427,491,1.316,506,1.846,511,0.91,513,2.166,539,1.152,541,1.404,548,1.382,553,3.663,562,1.308,571,1.158,581,1.648,638,1.308,668,1.225,683,3.769,709,4.411,721,2.903,722,1.722,730,4.516,731,2.377,734,1.175,735,2.37,748,1.212,749,1.692,750,1.225,753,2.414,756,4.945,757,6.354,776,1.477,799,3.281,804,3.226,810,1.308,821,3.016,822,1.626,829,3.625,832,1.588,841,1.087,843,3.516,845,1.694,846,1.181,855,1.477,875,1.477,890,3.908,916,1.464,919,2.563,923,1.334,925,4.598,954,1.52,958,7.476,1025,1.106,1027,1.334,1038,1.781,1045,1.777,1046,1.694,1063,1.362,1139,2.976,1166,1.747,1208,1.372,1233,1.67,1241,5.013,1249,1.464,1252,1.648,1295,3.103,1306,1.325,1311,1.552,1312,1.72,1324,2.129,1397,1.427,1400,1.404,1489,1.362,1576,1.427,1607,1.931,1655,1.536,1839,1.67,1968,1.931,2015,3.83,2026,1.352,2187,1.81,2192,3.173,2247,2.114,2274,1.747,2358,1.404,2400,2.495,2403,1.886,2452,1.626,2655,1.491,2891,8.106,3064,3.635,3269,1.81,4728,4.771,5310,3.404,5430,2.326,5538,1.886,6048,2.205,6370,1.931,6496,5.925,6938,4.986,7585,2.114,7586,2.509,7587,2.509,7588,2.326,7589,2.042]],["component/244",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/245-1",[70,22.331,487,32.651]],["name/245-1",[]],["text/245-1",[]],["component/245-1",[]],["title/245-2",[70,22.331,2891,46.72]],["name/245-2",[]],["text/245-2",[]],["component/245-2",[]],["title/245",[70,22.331,756,38.552]],["name/245",[756,1.069,821,1.125]],["text/245",[1,1.37,2,2.718,9,2.465,10,2.389,15,3.122,58,4.048,62,1.921,63,2.301,68,1.821,69,1.469,70,4.013,71,2.728,83,3.724,87,1.495,100,4.188,122,1.534,124,4.43,126,1.54,146,3.149,186,2.177,203,3.778,204,2.261,211,1.349,221,1.652,224,1.534,229,1.616,233,3.951,245,1.429,247,1.713,253,1.405,260,2.269,268,1.623,281,1.523,286,1.674,289,3.089,290,2.423,311,1.434,313,1.558,355,1.577,370,1.49,395,3.223,487,3.694,491,3.149,498,1.852,531,2.519,548,3.308,549,3.442,553,3.231,566,2.45,581,2.45,622,2.158,638,1.944,655,2.334,672,2.601,684,3.359,709,3.086,721,3.096,730,1.721,735,2.697,748,1.802,749,2.355,753,2.088,756,5.107,757,4.712,806,2.598,810,1.944,843,1.479,890,2.397,925,2.261,958,4.52,1001,2.088,1185,2.158,1233,2.483,1241,3.214,1295,4.12,1406,4.823,1417,2.011,1425,2.177,1489,2.026,1497,2.45,1623,5.059,1771,3.037,2037,2.361,2206,7.275,2655,2.217,2757,2.643,2778,2.598,2891,5.792,5279,3.037,5310,2.239,6016,3.996,6343,2.948,6496,4.766,6511,2.691,7575,3.037,7590,3.144,7591,3.144]],["component/245",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/246-1",[487,32.651,843,30.252]],["name/246-1",[]],["text/246-1",[]],["component/246-1",[]],["title/246-2",[843,30.252,2891,46.72]],["name/246-2",[]],["text/246-2",[]],["component/246-2",[]],["title/246",[756,38.552,843,30.252]],["name/246",[756,1.069,843,0.839]],["text/246",[1,0.592,2,1.072,9,1.221,10,2.389,15,1.546,18,1.509,38,2.597,46,1.463,62,2.412,69,1.469,70,2.526,71,1.62,83,3.398,89,3.638,93,1.415,96,1.674,100,3.335,119,2.389,122,2.469,124,3.527,126,1.54,166,1.705,169,1.831,175,2.197,183,1.674,186,2.177,203,2.397,204,3.638,211,1.349,224,2.469,232,2.254,233,2.347,245,2.299,253,1.405,260,2.269,268,1.623,286,1.674,313,1.558,336,1.349,355,1.577,370,1.49,380,1.577,487,3.694,491,1.957,513,1.874,540,2.261,548,3.308,549,2.139,553,2.247,563,3.21,566,3.942,638,1.944,653,2.284,655,2.334,672,3.264,690,1.885,709,2.46,712,1.983,721,1.221,730,1.721,735,1.165,749,2.955,753,3.359,756,5.369,757,5.4,770,4.417,799,4.357,804,4.909,807,2.361,810,1.944,818,1.863,842,4.115,843,5.268,844,4.115,890,1.49,924,3.568,957,1.896,958,4.52,980,2.691,995,2.483,1027,1.983,1176,1.821,1233,2.483,1241,3.214,1285,1.92,1295,2.04,1397,2.122,1419,3.892,1425,3.503,1428,2.643,1489,3.259,1775,4.115,2072,5.107,2101,4.115,2184,3.037,2185,3.996,2332,2.239,2655,2.217,2823,3.278,2891,5.285,2899,2.745,2905,2.361,3362,2.361,3814,2.871,5310,4.52,6198,2.643,6477,3.458,6496,6.396,6498,3.278,6511,2.691,6847,4.417,7575,3.037,7592,3.731]],["component/246",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/247-1",[10,17.875,71,15.212,277,42.361,1061,23.267]],["name/247-1",[]],["text/247-1",[]],["component/247-1",[]],["title/247-2",[93,28.935,299,32]],["name/247-2",[]],["text/247-2",[]],["component/247-2",[]],["title/247-3",[71,13.453,410,37.463,754,31.911,833,42.003,1061,20.577]],["name/247-3",[]],["text/247-3",[]],["component/247-3",[]],["title/247-4",[2010,46.245,7593,64.312]],["name/247-4",[]],["text/247-4",[]],["component/247-4",[]],["title/247",[127,51.484]],["name/247",[127,1.993]],["text/247",[9,3.665,10,3.552,29,1.927,49,2.602,70,1.392,71,3.023,87,1.906,93,3.341,100,2.106,127,2.641,128,3.37,133,3.576,197,2.52,211,2.626,218,3.99,224,1.957,229,2.061,233,1.86,253,2.736,257,1.704,266,2.602,272,5.727,277,7.985,281,1.942,286,2.134,326,3.771,337,2.583,408,1.935,410,8.757,446,2.273,495,2.31,514,2.088,521,2.943,536,3.046,569,2.683,571,2.195,581,4.77,606,3.661,634,2.662,677,3.81,708,2.776,721,3.477,723,4.563,738,3.01,746,1.913,749,2.85,751,3.37,753,4.931,754,6.315,810,2.479,833,9.818,852,2.184,893,5.913,902,5.345,954,2.883,985,5.345,998,3.161,1052,3.37,1061,3.638,1151,2.776,1175,2.943,1212,3.212,1227,3.212,1464,5.513,1882,7.115,1922,3.046,1970,2.976,2969,4.41,4644,6.122,5310,4.359,6016,3.166,6075,3.37,6598,3.872,6724,4.18,6745,4.41,6810,4.18,7593,6.122,7594,4.41]],["component/247",[9,0.788,18,0.605,721,0.788]],["title/248",[211,27.589,299,32]],["name/248",[211,0.765,299,0.888]],["text/248",[]],["component/248",[9,0.788,18,0.605,721,0.788]],["title/249-1",[36,39.196]],["name/249-1",[]],["text/249-1",[]],["component/249-1",[]],["title/249-2",[149,27.505,988,41.432]],["name/249-2",[]],["text/249-2",[]],["component/249-2",[]],["title/249",[9,18.444,18,14.165,29,22.833,721,18.444]],["name/249",[3,1.542]],["text/249",[1,1.82,2,2.627,9,3.893,10,1.603,29,2.048,34,2.271,36,3.866,38,2.235,45,3.033,63,1.544,67,3.776,68,2.468,70,3.193,71,2.053,78,4.393,89,4.61,93,1.917,100,2.238,114,2.344,120,4.201,122,3.129,124,2.367,148,2.585,149,3.296,159,4.657,164,2.725,165,2.087,175,4.479,186,2.95,218,2.289,245,2.913,257,1.811,281,3.105,313,2.111,315,1.962,316,2.524,336,1.828,355,2.137,370,2.018,408,2.056,423,2.725,426,3.095,511,1.833,517,5.158,536,3.237,716,2.899,721,3.752,724,2.706,726,3.89,727,3.319,729,2.95,747,4.115,748,2.441,749,1.983,755,2.875,763,2.481,783,1.733,807,3.199,823,3.493,829,2.416,832,3.199,843,3.626,848,2.725,849,2.687,850,2.652,855,2.976,856,3.033,875,2.976,960,3.8,983,3.095,988,2.745,1015,3.095,1139,1.983,1166,3.521,1168,3.647,1176,2.468,1285,2.601,1585,4.995,1600,3.719,2463,4.115,2680,4.26,2891,3.095,2892,3.89,2905,3.199,3093,3.581,4550,4.115,5978,3.719,7595,4.686]],["component/249",[9,0.788,18,0.605,721,0.788]],["title/250-1",[67,46.033]],["name/250-1",[]],["text/250-1",[]],["component/250-1",[]],["title/250-2",[7596,78.148]],["name/250-2",[]],["text/250-2",[]],["component/250-2",[]],["title/250-3",[287,29.423,729,44.527]],["name/250-3",[]],["text/250-3",[]],["component/250-3",[]],["title/250-4",[795,57.361,7567,64.312]],["name/250-4",[]],["text/250-4",[]],["component/250-4",[]],["title/250",[729,54.106]],["name/250",[729,2.095]],["text/250",[1,1.438,2,1.285,9,3.262,10,0.83,15,2.427,34,1.932,36,4.036,38,1.093,42,2.014,45,1.571,49,0.938,51,1.603,63,0.8,67,3.439,70,2.027,71,1.87,87,2.776,96,1.174,98,1.125,99,1.208,100,4.837,114,2.074,120,1.847,126,2.86,127,3.252,130,1.586,145,1.355,149,2.111,159,4.765,164,2.411,165,1.847,174,3.624,175,3.448,178,1.779,184,2.899,203,2.766,216,1.098,218,2.652,219,1.488,221,2.592,223,1.685,224,1.077,230,2.587,233,3.733,244,2.485,245,1.713,247,3.181,257,2.098,260,0.989,274,2.378,281,2.828,286,1.174,287,3.493,313,1.093,315,2.273,324,1.049,326,2.506,329,2.316,336,0.946,355,1.106,370,2.338,404,1.355,408,1.064,432,1.432,491,1.373,505,1.586,511,1.622,520,1.442,550,1.278,552,1.33,628,1.719,655,1.637,672,3.372,677,1.373,679,2.378,702,1.244,716,1.501,720,3.362,721,2.547,724,1.401,726,7.671,727,5.11,728,3.93,729,7.451,730,1.208,731,1.442,734,1.226,738,4.924,745,1.637,746,1.053,747,2.131,748,2.828,753,3.277,795,5.208,824,1.742,829,2.137,831,2.61,839,1.465,843,1.773,848,1.411,849,1.392,850,1.373,852,1.202,856,1.571,888,1.888,918,1.278,924,1.556,940,1.823,950,4.334,957,1.33,962,1.637,965,1.322,966,1.501,998,1.946,1024,1.676,1025,1.154,1061,1.081,1139,1.027,1167,1.264,1178,3.75,1202,6.888,1360,1.926,1459,2.131,1488,1.421,1585,5.11,1641,2.131,1924,1.364,1926,1.421,1974,1.656,2285,4.627,2335,2.3,2348,1.854,2364,3.93,2891,1.603,3362,1.656,5310,3.514,5978,1.926,6336,1.926,7209,8.759,7567,3.769,7596,3.769,7597,4.146,7598,2.618,7599,2.426,7600,5.429,7601,4.473,7602,2.618,7603,2.618,7604,2.618]],["component/250",[9,0.788,18,0.605,721,0.788]],["title/251",[1,12.114,2,21.922]],["name/251",[1,0.336,2,0.608]],["text/251",[]],["component/251",[9,0.788,18,0.605,721,0.788]],["title/252",[1,12.114,34,18.948]],["name/252",[1,0.336,34,0.526]],["text/252",[]],["component/252",[9,0.788,18,0.605,721,0.788]],["title/253",[1465,60.891]],["name/253",[3,1.542]],["text/253",[]],["component/253",[9,0.788,18,0.605,721,0.788]],["title/254-1",[100,33.781,336,27.589]],["name/254-1",[]],["text/254-1",[]],["component/254-1",[]],["title/254-2",[336,27.589,738,48.284]],["name/254-2",[]],["text/254-2",[]],["component/254-2",[]],["title/254-3",[729,44.527,796,52.304]],["name/254-3",[]],["text/254-3",[]],["component/254-3",[]],["title/254",[100,33.781,738,48.284]],["name/254",[3,1.542]],["text/254",[4,2.327,9,3.499,15,3.398,36,2.364,49,2.003,52,3.207,67,2.776,71,1.509,92,4.167,93,2.12,94,2.383,100,5.441,127,3.105,128,3.961,149,2.016,152,1.991,163,3.438,166,2.556,174,3.46,184,5.315,216,2.345,223,2.107,229,2.423,245,2.142,247,2.568,253,3.089,286,2.509,287,3.743,318,3.776,326,2.393,336,3.51,370,2.233,498,2.776,511,2.028,568,2.672,672,2.423,721,1.83,726,6.31,729,6.642,738,8.273,748,5.163,749,2.194,764,3.833,795,6.163,796,3.833,837,7.218,839,5.982,916,3.263,951,2.809,998,3.567,1148,3.081,1178,3.581,1202,5.915,1309,6.545,2100,3.234,2285,6.478,2364,4.914,2621,3.833,7209,7.205,7567,4.713,7596,4.713,7597,5.184,7600,5.184,7605,5.184,7606,5.593]],["component/254",[9,0.788,18,0.605,721,0.788]],["title/255-1",[92,28.643,563,24.015,951,28.303,6597,47.495]],["name/255-1",[]],["text/255-1",[]],["component/255-1",[]],["title/255",[9,21.218,92,32.951,721,21.218]],["name/255",[92,1.825]],["text/255",[4,1.215,9,0.956,15,3.083,35,1.752,38,1.199,67,4.459,71,0.788,81,2.308,92,6.436,93,1.861,96,2.202,98,2.109,100,4.768,107,2.154,120,2.621,152,1.748,159,3.886,163,1.225,167,5.038,219,2.791,223,1.849,244,1.24,253,3.384,257,1.046,261,1.069,281,1.192,287,3.198,317,1.271,335,4.313,336,1.056,370,1.166,372,3.777,546,5.877,563,1.245,721,0.956,729,4.34,730,2.264,734,1.367,738,7.173,744,1.788,749,3.254,750,2.396,757,1.827,764,4.351,776,1.72,804,3.61,836,6.318,837,5.6,842,3.364,843,1.946,848,1.574,849,1.553,850,1.532,853,3.364,951,3.736,966,1.675,1025,1.287,1148,2.704,1309,5.078,1395,2.107,1416,1.484,1419,1.893,2072,2.48,2100,4.797,2192,2.149,3093,3.477,3927,2.707,4393,5.884,5048,2.461,5319,4.55,6006,4.55,6597,2.461,7607,9.55,7608,8.984,7609,4.909,7610,6.349,7611,4.909,7612,4.909,7613,4.909,7614,4.909,7615,4.909,7616,4.909,7617,2.921,7618,4.909,7619,2.921]],["component/255",[9,0.788,18,0.605,721,0.788]],["title/256",[1,10.292,34,16.098,120,26.767]],["name/256",[1,0.336,34,0.526]],["text/256",[]],["component/256",[9,0.788,18,0.605,721,0.788]],["title/257",[848,34.949,849,34.466,850,34.008]],["name/257",[853,2.46]],["text/257",[1,1.482,2,2.973,9,1.712,10,2.96,38,1.278,39,2.037,49,1.874,58,2.238,63,3.675,87,2.096,93,1.983,96,2.346,107,2.295,120,3.221,211,2.821,223,1.97,232,1.964,245,2.988,247,2.401,283,1.983,291,2.135,313,2.184,355,2.211,370,4.636,379,2.39,395,2.238,432,5.66,491,2.743,511,1.897,542,3.052,548,2.882,672,2.266,680,3.272,721,1.712,742,2.642,748,2.526,749,2.051,753,5.223,789,3.138,805,3.69,821,4.148,843,3.7,848,5.031,849,4.962,850,4.896,853,8.951,855,5.495,856,6.643,866,1.926,973,3.39,1001,5.223,1025,2.305,1035,2.904,1070,2.819,1076,6.658,1111,3.052,1137,2.78,1148,2.882,1419,3.39,1428,3.705,1465,3.434,1715,4.132,1718,4.132,1852,3.481,4940,6.857,5167,4.848,5310,3.138,5538,3.931,7549,4.596]],["component/257",[9,0.788,18,0.605,721,0.788]],["title/258",[724,40.849,6256,60.293]],["name/258",[724,1.922]],["text/258",[]],["component/258",[9,0.788,18,0.605,721,0.788]],["title/259",[36,39.196]],["name/259",[3,1.542]],["text/259",[1,1.561,2,2.077,9,2.366,10,2.293,34,1.795,36,4.155,38,2.402,45,4.337,63,2.208,67,3.588,68,3.529,70,3.269,71,1.951,78,3.472,89,4.381,100,3.2,114,3.351,120,4.059,124,3.384,149,2.605,159,4.426,175,4.256,218,3.273,245,2.768,281,2.951,316,3.609,336,2.613,426,4.426,517,5.545,716,4.145,721,2.366,724,3.869,747,5.884,748,3.491,749,2.836,807,4.574,823,3.319,829,3.454,832,4.574,843,3.897,848,3.897,849,3.843,850,3.792,855,4.256,856,4.337,875,4.256,1168,5.215,1176,3.529,1585,4.747,2463,5.884,2891,4.426,2892,5.563,2905,4.574,3093,5.121,4550,5.884,5978,5.318,7595,6.701]],["component/259",[9,0.788,18,0.605,721,0.788]],["title/260-1",[38,15.841,843,25.702,1452,30.979]],["name/260-1",[]],["text/260-1",[]],["component/260-1",[]],["title/260-2",[149,23.368,843,25.702,6198,45.925]],["name/260-2",[]],["text/260-2",[]],["component/260-2",[]],["title/260-3",[204,39.289,2072,32.754,2101,44.436]],["name/260-3",[]],["text/260-3",[]],["component/260-3",[]],["title/260-4",[1241,40.849,1974,48.284]],["name/260-4",[]],["text/260-4",[]],["component/260-4",[]],["title/260-5",[1208,41.735,2072,38.552]],["name/260-5",[]],["text/260-5",[]],["component/260-5",[]],["title/260-6",[45,38.902,218,29.354,3362,41.022]],["name/260-6",[]],["text/260-6",[]],["component/260-6",[]],["title/260",[120,31.506,843,30.252]],["name/260",[120,1.482]],["text/260",[1,0.432,2,0.781,9,2.724,10,0.473,11,1.039,16,1.81,29,0.604,36,1.584,38,2.928,39,1.8,41,1.456,45,1.632,46,1.067,49,1.343,54,0.887,56,1.446,62,0.693,68,0.728,69,0.587,70,2.329,71,2.622,82,1.007,87,2.414,94,0.636,95,0.692,106,0.822,107,2.028,109,2.698,116,3.1,120,0.616,122,0.614,141,0.652,149,3,152,0.531,153,1.267,154,1.603,159,0.913,161,0.655,163,0.626,175,2.206,178,1.491,182,0.993,183,0.669,186,2.696,194,0.709,197,1.3,204,3.651,211,3.59,216,0.626,218,2.728,223,1.412,224,1.118,229,1.623,232,1.021,233,1.806,245,1.435,247,0.685,260,4.08,268,2.337,274,1.446,281,0.609,283,0.566,286,0.669,287,0.575,299,0.626,301,0.841,313,1.93,315,1.056,324,0.598,326,1.164,329,0.772,332,0.763,336,0.539,338,1.763,345,0.652,355,3.519,370,1.086,381,2.672,406,0.732,421,0.679,428,1.231,487,2.298,491,0.782,495,0.724,498,0.741,501,0.923,502,1.979,511,1.359,513,0.749,517,0.841,520,0.822,539,0.685,549,0.855,550,2.622,553,1.018,562,0.777,563,0.636,571,2.132,671,0.666,672,3.078,674,2.149,679,1.446,696,0.768,702,0.709,704,1.022,709,1.114,716,3.455,721,2.724,734,1.754,736,1.214,739,1.257,742,2.714,748,3.186,749,0.585,753,3.692,756,0.754,773,0.863,793,0.878,799,0.863,818,1.871,820,1.391,821,0.793,824,1.81,829,0.713,832,0.944,840,0.904,841,0.646,842,1.022,843,5.027,844,1.022,845,2.53,862,0.933,866,1.002,874,1.311,875,0.878,877,1.022,890,0.596,897,1.057,902,1.098,913,1.148,918,0.728,922,0.98,924,2.746,931,1.426,945,1.836,957,2.73,962,3.36,985,2.001,997,2.424,1025,0.657,1035,0.828,1038,0.616,1054,0.749,1079,0.772,1130,0.549,1137,0.793,1148,0.822,1150,0.944,1151,0.87,1167,0.72,1168,1.076,1173,1.214,1176,1.829,1208,4.353,1233,3.076,1241,0.799,1285,0.768,1304,2.049,1319,0.841,1369,1.701,1419,2.429,1425,1.587,1428,1.926,1430,1.456,1438,1.214,1451,0.98,1452,3.803,1489,0.81,1531,0.782,1583,1.836,1676,0.944,1715,1.179,1731,1.039,1775,1.022,1839,0.993,1922,0.955,1938,1.007,1974,3.812,2026,3.556,2072,6.325,2101,3.167,2158,4.595,2184,1.214,2185,4.01,2404,2.817,2686,1.057,2841,1.022,2891,0.913,2892,1.148,2899,2.757,2905,5.036,2984,2.757,3045,0.944,3270,0.713,3362,3.812,3814,2.093,3823,1.383,4332,1.311,4335,1.311,4342,1.257,4407,1.311,4701,2.757,4702,1.257,5164,1.864,5310,5.958,5325,2.757,6016,0.993,6053,2.521,6198,5.032,6511,1.962,6917,1.257,7593,1.257,7599,1.383,7620,1.492,7621,1.492,7622,1.492,7623,1.492,7624,1.492,7625,1.383]],["component/260",[9,0.788,18,0.605,721,0.788]],["title/261-1",[135,54.056,2909,67.059]],["name/261-1",[]],["text/261-1",[]],["component/261-1",[]],["title/261-2",[135,54.056,847,50.11]],["name/261-2",[]],["text/261-2",[]],["component/261-2",[]],["title/261-3",[38,15.841,829,30.979,843,25.702]],["name/261-3",[]],["text/261-3",[]],["component/261-3",[]],["title/261-4",[735,23.839,829,36.464]],["name/261-4",[]],["text/261-4",[]],["component/261-4",[]],["title/261-5",[829,36.464,1139,29.934]],["name/261-5",[]],["text/261-5",[]],["component/261-5",[]],["title/261-6",[70,22.331,829,36.464]],["name/261-6",[]],["text/261-6",[]],["component/261-6",[]],["title/261-7",[2681,62.607]],["name/261-7",[]],["text/261-7",[]],["component/261-7",[]],["title/261",[2,21.922,829,36.464]],["name/261",[829,1.715]],["text/261",[1,0.231,2,0.418,6,2.866,9,1.482,10,1.673,15,0.603,16,0.968,35,0.873,37,0.627,38,2.982,39,3.447,41,1.963,46,1.042,49,2.121,52,0.834,62,0.935,63,1.809,66,0.71,68,2.211,69,1.444,70,2.745,71,1.888,78,0.698,87,4.667,91,2.042,107,0.638,114,0.674,122,2.169,124,2.469,126,0.6,135,4.195,144,0.89,154,0.622,156,1.225,166,0.665,169,0.714,173,2.713,175,0.856,178,1.459,180,1.537,211,3.476,221,0.644,222,0.542,223,1.001,224,1.863,229,2.812,232,0.546,234,1.149,244,0.617,247,0.668,257,0.521,260,0.55,261,0.972,264,0.82,268,1.971,274,2.408,281,1.084,286,2.032,290,2.39,299,1.114,313,2.711,324,0.583,329,2.346,334,2.477,337,1.991,370,2.106,375,1.422,378,1.07,380,0.615,421,0.661,422,0.688,423,0.784,428,1.661,495,0.706,498,1.319,502,0.768,505,3.934,511,2.147,513,5.579,514,0.638,532,1.701,538,0.718,539,1.22,541,0.814,542,0.848,547,0.955,548,0.801,550,1.79,553,0.544,563,3.889,584,1.997,622,1.537,628,1.745,638,1.911,659,1.722,668,0.71,672,4.346,674,0.834,681,3.475,690,0.735,721,1.482,723,0.753,730,0.671,735,2.765,742,1.342,744,0.89,745,2.834,749,2.546,755,0.827,770,3.333,772,0.695,783,0.499,789,0.873,799,0.841,804,2.576,810,0.758,812,3.747,817,1.882,818,1.831,821,0.773,829,5.184,843,3.508,844,3.105,847,3.463,916,1.55,923,3.451,924,0.864,940,1.013,949,2.692,957,3.785,962,1.662,972,0.856,992,1.412,1001,0.814,1025,0.641,1029,0.647,1046,3.058,1054,0.73,1071,1.119,1072,0.753,1079,1.899,1110,0.864,1113,4.329,1139,3.935,1176,1.79,1180,0.82,1181,1.093,1214,0.89,1259,0.807,1293,0.955,1304,4.675,1318,0.748,1366,2.554,1400,0.814,1417,0.784,1452,0.695,1497,2.975,1512,2.476,1574,0.92,1689,0.968,1696,1.07,1726,0.931,1839,0.968,1908,0.982,1924,0.758,2072,2.288,2073,1.149,2081,3.974,2134,3.747,2138,4.996,2167,3.405,2174,1.049,2183,1.348,2185,3.51,2208,6.924,2209,1.225,2504,1.07,2535,1.917,2555,1.03,2681,0.982,2761,1.093,2778,3.155,2899,1.955,2903,1.917,2907,2.045,2909,1.278,2986,1.07,2987,1.03,2988,0.91,2995,2.441,3048,1.225,3093,1.03,3122,1.184,3202,1.278,4791,3.091,4978,3.333,5112,1.225,5164,1.821,5357,1.278,6032,3.223,6328,1.348,6511,1.917,6847,5.479,7580,1.225,7581,1.348,7590,2.239,7591,4.444,7626,1.454,7627,1.454,7628,2.335,7629,1.454,7630,1.348,7631,2.657]],["component/261",[9,0.788,18,0.605,721,0.788]],["title/262-1",[37,40.006]],["name/262-1",[]],["text/262-1",[]],["component/262-1",[]],["title/262-2",[958,55.64]],["name/262-2",[]],["text/262-2",[]],["component/262-2",[]],["title/262-3",[100,28.699,958,38.902,4549,48.733]],["name/262-3",[]],["text/262-3",[]],["component/262-3",[]],["title/262-4",[553,24.264,634,36.278,958,38.902]],["name/262-4",[]],["text/262-4",[]],["component/262-4",[]],["title/262-5",[2891,56.771]],["name/262-5",[]],["text/262-5",[]],["component/262-5",[]],["title/262-6",[130,56.194]],["name/262-6",[]],["text/262-6",[]],["component/262-6",[]],["title/262-7",[3495,75.483]],["name/262-7",[]],["text/262-7",[]],["component/262-7",[]],["title/262-8",[902,68.224]],["name/262-8",[]],["text/262-8",[]],["component/262-8",[]],["title/262-9",[178,30.361,829,36.464]],["name/262-9",[]],["text/262-9",[]],["component/262-9",[]],["title/262",[730,42.783]],["name/262",[730,1.656]],["text/262",[1,1.216,2,0.879,4,1.273,9,2.34,10,1.324,15,0.704,16,1.131,29,0.688,34,1.63,36,0.718,37,0.733,38,1.872,41,0.909,49,0.609,55,1.873,56,1.627,62,1.064,63,1.275,69,0.669,70,2.242,71,1.772,75,1.019,83,1.643,87,1.673,97,1,99,2.354,100,3.391,102,1.686,113,1.342,118,8.656,130,4.642,149,1.839,152,1.817,154,0.727,159,1.04,161,0.746,163,2.998,167,4.07,173,0.874,175,3.468,178,2.343,180,0.983,197,1.448,203,1.222,218,0.769,219,0.966,222,0.634,223,0.64,233,2.994,234,0.532,247,0.78,257,1.096,260,1.928,274,1.627,281,4.082,283,2.489,286,0.762,287,1.18,290,0.686,311,0.653,313,1.743,315,0.66,327,0.922,328,2.015,332,0.869,336,3.615,345,0.742,355,1.764,370,2.854,377,1.01,379,0.776,404,1.584,421,1.392,422,1.974,491,0.891,498,0.843,511,1.514,514,0.746,520,1.686,542,0.991,549,0.974,553,2.867,563,0.724,566,1.116,571,0.784,591,1.063,593,1.25,634,5.459,656,1.147,669,1.204,672,0.736,674,1.754,680,1.914,681,2.731,683,2.335,684,0.951,709,2.091,721,2.148,730,3.298,735,1.304,736,1.383,738,3.229,740,0.943,745,3.684,748,3.452,749,0.666,750,0.829,753,3.295,763,1.502,767,1.412,783,0.583,799,0.983,807,1.936,810,0.885,812,2.641,816,6.282,821,0.903,823,1.916,829,4.395,832,1.075,835,1.308,841,1.326,843,3.037,844,4.499,846,1.44,847,2.009,853,1.165,855,1,875,1,902,2.251,904,1.673,924,1.01,957,0.864,958,7.039,992,0.903,998,1.331,1018,0.966,1025,1.348,1046,2.818,1052,1.204,1054,1.537,1110,1.01,1137,0.903,1139,2.31,1167,0.82,1168,1.226,1176,0.829,1214,1.873,1241,0.909,1258,1.131,1264,0.897,1304,0.929,1319,0.958,1368,1.01,1425,1.785,1428,2.956,1429,1.546,1448,1.25,1464,1.063,1468,1.116,1494,1.342,1579,1.204,1730,1.165,1924,0.885,1963,1.165,1970,1.063,2024,1.131,2072,1.546,2081,1.873,2138,1.308,2167,1.277,2185,2.036,2222,3.071,2227,1.432,2272,3.397,2274,1.183,2312,1.575,2400,3.796,2891,6.384,2892,1.308,2907,3.212,2988,1.063,3269,1.226,3495,3.397,4233,1.575,4356,5.648,4549,2.3,4728,2.167,4791,1.432,4793,1.277,4832,1.342,4978,2.251,5164,1.165,5310,1.019,5325,2.251,6016,1.131,6021,1.277,6048,2.689,6329,1.493,6847,5.636,6905,2.836,6938,2.689,7588,1.575,7596,1.432,7632,1.699,7633,1.575,7634,1.699,7635,1.699,7636,1.699,7637,5.89,7638,1.699,7639,1.699]],["component/262",[9,0.788,18,0.605,721,0.788]],["title/263-1",[9,14.62,175,26.304,281,18.236,336,16.151,721,14.62,723,23.132]],["name/263-1",[]],["text/263-1",[]],["component/263-1",[]],["title/263",[9,21.218,721,21.218,1070,34.949]],["name/263",[9,0.693,721,0.693]],["text/263",[1,1.322,2,1.947,4,1.809,9,4.086,10,2.641,29,3.81,36,2.864,51,2.661,58,2.899,62,1.728,66,2.122,69,2.667,70,3.653,71,2.248,87,1.742,100,1.924,119,2.783,122,1.788,149,2.442,159,2.661,175,4.903,185,3.679,197,2.888,203,3.325,224,2.787,232,1.632,233,4.408,241,1.924,257,2.983,281,1.774,316,2.17,326,2.899,328,4.923,329,2.251,334,2.377,336,1.572,400,2.209,404,2.251,415,2.251,423,2.343,446,3.238,487,3.563,513,2.183,550,3.308,568,3.979,571,2.006,678,2.395,679,2.311,684,2.432,690,2.196,702,3.221,708,4.859,721,4.086,722,2.706,723,4.869,730,3.842,731,2.395,748,2.099,755,2.472,758,2.36,762,3.079,766,2.209,890,1.736,918,2.122,928,2.046,948,2.69,960,3.268,983,4.149,988,3.679,1007,4.34,1008,4.588,1061,1.795,1324,2.146,1488,2.36,1534,3.346,1564,2.783,1609,2.98,1783,3.136,1926,2.36,2169,2.98,2311,3.268,2358,2.432,5239,3.82,5325,3.198,5495,3.027,6496,2.751,7227,3.435,7640,4.348,7641,3.664]],["component/263",[446,1.151,721,0.788,7642,1.46]],["title/264",[1127,60.891]],["name/264",[2397,1.784,7643,2.117]],["text/264",[1,1.388,2,1.095,9,3.131,10,2.425,29,3.097,34,0.947,37,1.645,38,0.932,41,4.679,43,2.472,45,3.666,70,3.45,71,2.582,88,2.656,106,2.101,115,2.613,119,2.441,122,4.198,149,2.202,153,1.776,154,3.271,162,1.987,169,1.872,170,2.187,177,2.055,197,2.119,211,2.209,222,1.422,224,1.568,232,1.432,233,1.491,245,4.106,266,3.341,281,1.556,289,1.962,315,1.48,316,3.05,355,1.612,370,2.439,408,1.551,415,3.958,416,3.013,423,2.055,446,2.919,511,1.383,512,2.982,513,3.068,514,3.354,517,2.151,540,2.311,550,2.982,563,3.725,568,1.822,588,4.973,672,1.652,695,5.161,712,4.064,714,2.311,721,3.131,730,3.527,731,3.366,746,1.534,749,2.396,758,3.317,804,3.474,820,1.95,829,1.822,837,2.574,868,2.538,876,2.413,884,2.205,890,3.052,922,2.504,926,2.205,928,1.794,935,3.214,936,2.385,944,2.472,948,2.359,960,2.866,982,2.168,983,2.334,988,2.07,992,3.248,995,2.538,1007,3.983,1008,4.212,1035,2.117,1167,1.841,1173,3.104,1214,2.334,1258,2.538,1261,4.255,1265,2.751,1268,2.866,1295,3.341,1352,2.413,1430,2.041,1493,3.104,1540,6.442,1555,2.385,1571,3.104,1692,2.085,1733,3.351,1782,3.013,2117,2.866,2265,2.613,2358,2.134,2359,2.613,2417,3.214,2594,3.535,2655,2.266,2661,3.104,2995,2.538,2996,2.805,3777,2.866,4338,3.535,5497,5.369,5785,3.351,6021,4.592,7546,3.013,7585,3.214,7644,3.814,7645,3.814,7646,3.535,7647,3.814,7648,3.814,7649,3.814,7650,3.814]],["component/264",[446,1.151,721,0.788,7642,1.46]],["title/265",[7550,66.894]],["name/265",[7550,2.59]],["text/265",[1,0.761,2,1.377,9,4.247,29,1.943,36,2.027,41,6.737,44,2.967,51,2.936,62,1.863,69,1.887,70,3.287,71,2.39,78,2.303,84,2.515,97,2.823,149,1.728,168,4.445,170,2.749,197,1.663,211,1.734,233,2.857,247,3.356,261,1.755,266,3.997,316,3.649,329,2.483,332,2.452,370,3.536,379,2.191,408,1.95,446,2.291,563,2.043,721,4.247,734,2.245,749,1.881,750,2.341,755,2.727,756,2.422,763,3.587,790,2.452,839,2.683,846,2.256,876,3.034,917,3.191,928,4.66,944,3.108,948,2.967,960,3.604,965,2.422,985,5.377,1022,5.54,1025,2.113,1061,1.98,1070,4.774,1220,2.408,1406,3.07,1407,4.213,1530,3.528,1534,8.205,1587,2.823,1615,2.999,1697,3.108,2179,3.459,2358,2.683,2359,5.009,2456,3.339,3299,3.459,4077,4.445,4241,4.041,5626,4.041,6082,3.459,6912,4.445,7227,5.774,7584,4.213,7589,3.903,7646,4.445,7651,4.213,7652,4.795,7653,5.979,7654,4.795,7655,4.795,7656,4.795,7657,4.795,7658,4.795,7659,6.774,7660,4.795,7661,4.795]],["component/265",[446,1.151,721,0.788,7642,1.46]],["title/266",[1127,60.891]],["name/266",[3,1.542]],["text/266",[1,1.605,2,2.481,9,1.966,10,1.906,29,4.48,37,2.592,38,1.468,41,4.624,45,3.605,49,2.153,57,2.746,63,1.836,69,3.981,70,3.832,71,2.73,122,3.553,185,4.69,186,3.506,195,3.759,224,3.553,233,3.377,234,1.882,266,3.286,289,3.092,301,3.389,316,3,324,2.408,336,2.172,370,3.449,415,3.111,446,2.871,511,2.179,513,3.018,563,4.309,571,2.772,684,3.362,690,3.036,702,2.856,721,1.966,730,2.772,750,2.933,755,3.417,804,4.912,820,3.073,839,3.362,862,3.759,868,3.999,869,3.895,871,4.335,890,3.449,957,3.054,960,4.516,1007,3.131,1008,3.311,1027,4.592,1035,3.336,1054,3.018,1286,5.28,1324,4.264,1421,4.624,1574,3.802,1839,3.999,2612,4.891,2967,5.28,4822,4.891,5042,5.57,6021,4.516,7662,6.009,7663,6.009]],["component/266",[446,1.151,721,0.788,7642,1.46]],["title/267",[9,18.444,70,16.492,233,22.029,721,18.444]],["name/267",[3,1.542]],["text/267",[1,1.553,2,2.811,9,4.093,10,2.768,29,3.536,37,2.021,58,2.004,62,1.194,66,2.286,69,4.153,70,3.777,71,2.356,87,1.877,100,2.073,119,4.596,126,1.934,149,1.688,175,2.758,178,1.863,185,4.739,194,2.226,197,2.49,216,1.964,221,3.178,224,2.952,232,1.759,233,4.124,241,2.073,257,3.127,281,2.93,298,2.758,326,2.004,328,4.215,329,3.717,336,1.693,355,3.034,370,1.87,446,3.43,487,4.186,536,2.999,550,2.286,568,3.43,678,2.581,679,2.49,684,4.884,702,4.651,708,4.188,721,4.093,722,2.866,723,3.717,730,2.161,753,2.621,755,2.663,758,2.543,766,2.38,820,2.395,1007,5.498,1008,5.813,1054,2.352,1167,2.262,1285,2.41,1488,3.897,1564,5.588,1783,3.379,1926,2.543,5239,4.116,5325,5.281,7641,3.947,7664,4.684]],["component/267",[446,1.151,721,0.788,7642,1.46]],["title/268",[285,43.042,821,40.568]],["name/268",[29,0.858,285,1.194]],["text/268",[1,1.381,2,2.499,4,2.525,9,3.635,29,4.12,37,2.618,43,3.934,51,5.326,62,1.547,67,3.013,69,4.373,70,3.841,71,2.998,122,2.496,144,3.716,175,3.573,178,2.415,185,3.295,194,2.885,197,3.017,211,2.194,220,5.272,223,2.286,224,2.496,232,2.279,233,3.401,257,3.117,287,2.34,298,3.573,324,2.432,328,2.931,330,4.299,332,3.103,370,2.423,408,2.468,419,3.226,446,4.157,514,2.663,530,3.678,668,4.247,679,3.226,690,3.066,702,2.885,721,3.635,723,3.142,730,4.014,846,2.856,983,3.716,1007,4.534,1008,4.794,1022,5.442,1027,3.226,1035,3.37,1295,3.319,1406,3.886,1488,3.295,1564,3.886,2358,3.396,6082,4.378,6511,4.378,7651,5.333,7653,4.098]],["component/268",[446,1.151,721,0.788,7642,1.46]],["title/269-1",[9,24.975,721,24.975]],["name/269-1",[]],["text/269-1",[]],["component/269-1",[]],["title/269-2",[1,7.912,2,14.317,69,19.619,70,14.585,722,19.9]],["name/269-2",[]],["text/269-2",[]],["component/269-2",[]],["title/269-3",[1,8.946,722,22.502,1406,36.083,7653,38.05]],["name/269-3",[]],["text/269-3",[]],["component/269-3",[]],["title/269",[29,20.193,71,13.453,731,27.462,820,25.486,890,19.9]],["name/269",[315,0.583,731,0.827,890,0.599]],["text/269",[1,1.406,2,2.544,9,3.241,10,3.141,15,1.987,29,4.319,35,2.877,36,2.027,37,2.069,41,4.74,49,2.618,58,3.127,62,1.223,69,1.887,70,3.797,71,3.032,86,3.396,97,2.823,107,2.104,119,4.679,122,3.642,144,2.936,153,2.234,154,2.052,159,2.936,163,2.011,175,2.823,185,3.968,186,2.798,194,2.279,197,2.535,220,2.906,223,1.806,224,3.006,232,3.719,233,1.874,245,2.799,257,1.718,266,3.997,287,1.849,326,2.052,328,2.315,370,1.914,419,2.549,446,4.231,487,2.052,513,2.408,514,2.104,517,2.704,540,2.906,560,2.452,563,2.043,702,3.474,721,3.241,722,1.914,723,2.483,730,2.212,731,4.027,749,1.881,764,3.286,804,2.727,820,2.452,832,3.034,982,2.727,1007,5.161,1008,5.457,1027,3.885,1035,2.662,1264,2.532,1295,2.622,1324,2.367,1352,3.034,1406,3.07,1611,3.788,1782,3.788,1919,4.041,2179,3.459,2358,2.683,2891,2.936,4333,4.041,4359,3.604,4728,3.396,4884,4.213,6021,3.604,6511,3.459,7219,3.788,7583,4.041,7653,3.237,7665,4.213,7666,4.795,7667,4.445]],["component/269",[446,1.151,721,0.788,7642,1.46]],["title/270-1",[1,8.946,70,16.492,379,25.755,7653,38.05]],["name/270-1",[]],["text/270-1",[]],["component/270-1",[]],["title/270-2",[1,8.946,93,21.369,721,18.444,7653,38.05]],["name/270-2",[]],["text/270-2",[]],["component/270-2",[]],["title/270-3",[7550,66.894]],["name/270-3",[]],["text/270-3",[]],["component/270-3",[]],["title/270",[1022,40.557,1070,34.949,7653,43.773]],["name/270",[1,0.238,163,0.629,7653,1.013]],["text/270",[1,1.463,2,1.324,4,1.918,9,2.32,10,0.86,15,1.91,26,2.473,29,1.099,36,1.146,38,1.941,41,4.934,49,2.154,58,1.972,62,2.35,63,0.828,69,2.791,70,3.308,71,1.623,83,1.067,87,1.847,93,1.748,94,1.155,98,1.165,107,1.19,108,3.391,109,1.362,114,1.257,120,1.119,122,1.115,148,2.357,149,3.115,162,5.621,163,2.973,167,0.932,183,1.216,185,3.264,186,1.582,197,1.599,203,1.84,204,1.643,211,1.666,216,3.332,220,2.793,224,1.896,225,1.66,232,1.731,233,1.802,234,0.849,247,1.245,249,2.739,257,1.651,266,1.483,287,1.045,316,2.301,326,1.16,332,2.357,334,1.483,345,1.185,355,1.948,370,3.173,379,2.106,420,1.441,446,2.872,500,1.378,511,1.671,513,2.315,514,1.19,532,1.736,540,1.643,548,2.54,549,1.555,563,1.155,635,1.302,671,2.058,690,2.328,709,1.888,721,2.32,735,1.878,748,2.903,750,1.324,753,2.579,760,3.442,766,1.378,783,0.93,843,1.075,846,2.829,847,1.78,872,2.766,876,1.716,888,4.337,924,1.611,983,1.66,1007,3.695,1008,5.943,1022,3.761,1027,2.45,1035,2.559,1054,3.019,1070,4.283,1165,2.383,1220,5.786,1264,1.432,1295,3.878,1297,1.736,1357,1.643,1369,1.696,1396,1.921,1406,3.849,1409,1.494,1429,1.37,1430,1.451,1475,1.78,1600,1.995,1870,4.05,1926,1.472,2024,1.805,2117,4.519,2358,3.364,2359,1.858,2996,3.391,3720,3.642,3761,2.383,4822,2.207,5049,2.285,5310,2.766,6082,5.732,6093,1.611,6261,1.921,6496,1.716,6765,2.038,6847,3.391,6850,2.513,7653,8.137,7668,4.272,7669,2.712,7670,2.513,7671,2.712,7672,2.712,7673,6.012,7674,2.712,7675,2.513,7676,2.207,7677,2.513,7678,2.712,7679,2.712,7680,2.712,7681,2.712,7682,2.712,7683,2.513,7684,2.513,7685,2.712]],["component/270",[446,1.151,721,0.788,7642,1.46]],["title/271",[70,18.972,690,32.754,1295,35.458]],["name/271",[690,0.758,7653,1.013,7686,1.501]],["text/271",[1,0.88,9,3.881,10,1.758,29,2.245,36,2.342,38,1.354,41,5.169,44,3.428,62,1.413,69,2.181,70,3.47,71,2.606,83,2.181,100,2.453,105,3.205,122,2.279,124,2.594,163,2.324,185,3.008,197,1.922,211,2.003,222,2.067,233,2.166,245,3.119,281,2.262,316,4.821,328,3.933,336,2.003,355,2.342,370,2.212,379,3.722,408,2.253,446,2.648,498,2.751,500,2.816,513,2.783,536,3.548,553,3.048,563,2.361,690,2.799,692,3.548,702,2.634,721,3.881,730,2.557,735,1.731,758,3.008,820,2.833,839,3.101,846,2.607,938,3.151,983,4.986,1001,3.101,1007,4.244,1008,4.487,1012,3.263,1022,5.095,1027,2.946,1070,5.205,1165,4.869,1220,2.783,1295,5.821,1352,3.506,1406,6.182,1409,5.32,1413,3.688,1919,4.67,2076,4.264,2358,3.101,4241,4.67,5164,3.798,6082,3.997,7585,4.67,7589,4.511,7653,6.519,7670,5.136,7687,5.542]],["component/271",[446,1.151,721,0.788,7642,1.46]],["title/272",[9,18.444,70,16.492,721,18.444,730,26.001]],["name/272",[3,1.542]],["text/272",[1,1.726,2,1.971,9,4.166,29,2.779,41,5.819,69,2.7,70,3.432,71,1.852,86,4.859,148,3.508,149,2.473,154,2.935,203,3.787,232,2.576,326,2.935,328,3.313,332,3.508,370,4.34,375,3.672,379,3.135,404,3.552,408,2.79,712,3.647,721,4.166,749,2.691,757,4.291,821,3.647,846,3.228,924,4.077,954,4.157,982,3.901,1027,3.647,1070,5.86,1176,3.349,1264,3.622,1295,5.187,1406,4.392,1430,3.672,2117,5.156,2169,4.702,2179,4.949,2311,5.156,2358,3.839,3295,6.028,5323,6.359,6082,4.949,7651,6.028,7653,6.403,7688,6.861,7689,6.861]],["component/272",[446,1.151,721,0.788,7642,1.46]],["title/273-1",[38,13.77,380,23.821,735,17.605,5164,38.626]],["name/273-1",[]],["text/273-1",[]],["component/273-1",[]],["title/273-2",[70,22.331,756,38.552]],["name/273-2",[]],["text/273-2",[]],["component/273-2",[]],["title/273-3",[756,38.552,843,30.252]],["name/273-3",[]],["text/273-3",[]],["component/273-3",[]],["title/273-4",[89,39.289,735,20.254,756,32.754]],["name/273-4",[]],["text/273-4",[]],["component/273-4",[]],["title/273-5",[149,23.368,756,32.754,2891,39.693]],["name/273-5",[]],["text/273-5",[]],["component/273-5",[]],["title/273-6",[730,29.912,756,32.754,2891,39.693]],["name/273-6",[]],["text/273-6",[]],["component/273-6",[]],["title/273",[38,13.77,735,17.605,1295,30.822,5164,38.626]],["name/273",[38,0.367,735,0.469,5164,1.028]],["text/273",[4,2.833,9,2.421,35,1.08,36,1.362,38,2.376,41,0.964,43,1.167,45,1.08,49,2.195,56,0.957,62,2.406,63,0.55,69,0.709,70,2.315,71,1.997,78,0.865,83,1.269,87,2.729,89,2.651,93,2.582,107,0.79,117,1.08,122,1.325,126,1.806,130,1.953,141,0.787,143,1.494,145,1.669,149,1.577,153,0.839,159,1.102,162,2.28,163,1.835,165,2.199,166,1.473,169,0.884,173,0.926,177,0.97,178,1.282,180,1.041,185,0.977,194,0.856,197,0.624,203,1.747,211,0.651,221,1.937,223,2.565,229,1.396,232,1.643,245,3.03,247,1.48,257,0.645,268,1.903,276,1.713,283,0.683,287,1.242,290,1.766,316,0.899,324,1.753,326,0.77,331,1.299,337,1.75,338,0.847,355,0.761,370,3.159,373,1.153,374,1.153,375,1.725,378,1.324,379,1.473,381,1.041,408,1.31,421,0.819,422,0.851,423,2.358,446,0.86,462,1.167,487,3.165,491,1.69,505,5.067,511,0.653,512,0.879,513,4.199,531,1.215,540,1.091,542,1.05,548,0.992,549,1.032,552,0.915,553,1.637,555,0.827,563,2.902,566,1.182,572,1.091,638,1.679,671,1.954,672,0.78,681,1.725,683,1.803,690,0.909,702,0.856,714,1.091,721,2.421,729,1.05,730,3.413,731,0.992,734,0.843,735,3.485,742,0.909,744,1.102,748,2.113,749,1.264,750,1.573,753,4.902,756,4.913,757,4.628,766,0.915,770,6.942,791,2.48,804,4.498,823,0.827,824,1.198,829,0.86,842,4.2,843,3.614,844,6.665,846,0.847,847,1.182,872,1.934,888,5.337,890,2.127,902,1.324,904,0.984,923,1.713,928,0.847,950,1.126,957,1.638,958,2.625,960,1.353,962,2.737,965,0.909,982,1.024,983,1.102,1007,2.28,1008,2.411,1022,2.737,1045,3.099,1079,0.932,1105,0.827,1126,2.576,1146,1.299,1148,0.992,1151,1.88,1220,3.42,1241,0.964,1295,2.393,1311,1.114,1368,1.07,1409,0.992,1419,2.089,1428,1.275,1576,1.024,1655,1.973,1726,1.153,1970,1.126,2015,2.176,2024,1.198,2026,1.737,2057,1.254,2080,1.275,2117,1.353,2138,2.48,2222,1.324,2230,1.422,2358,1.007,2456,2.244,2674,1.517,2891,5.777,2899,1.324,2903,1.299,2925,0.856,2985,1.465,2996,1.324,3009,1.465,3495,1.465,3777,1.353,3814,1.385,4108,2.987,4356,1.422,4368,1.299,4402,2.832,4613,1.582,4728,1.275,4817,1.669,4821,2.48,5164,5.071,5279,1.465,5310,1.934,6003,1.234,6078,1.669,6082,5.337,6093,2.6,6419,1.669,6511,1.299,6765,1.353,6925,1.517,7536,1.669,7544,1.582,7580,1.517,7589,1.465,7590,2.716,7591,2.716,7625,1.669,7630,1.669,7653,4.137,7665,1.582,7668,1.669,7683,1.669,7690,1.8,7691,1.8,7692,1.8,7693,3.223,7694,2.832,7695,1.582,7696,1.8,7697,1.8,7698,1.8,7699,1.8]],["component/273",[446,1.151,721,0.788,7642,1.46]],["title/274-1",[149,27.505,756,38.552]],["name/274-1",[]],["text/274-1",[]],["component/274-1",[]],["title/274-2",[70,22.331,756,38.552]],["name/274-2",[]],["text/274-2",[]],["component/274-2",[]],["title/274-3",[70,18.972,487,27.74,749,25.431]],["name/274-3",[]],["text/274-3",[]],["component/274-3",[]],["title/274-4",[395,32.651,6511,55.051]],["name/274-4",[]],["text/274-4",[]],["component/274-4",[]],["title/274-5",[735,23.839,5279,62.119]],["name/274-5",[]],["text/274-5",[]],["component/274-5",[]],["title/274-6",[62,19.457,70,22.331]],["name/274-6",[]],["text/274-6",[]],["component/274-6",[]],["title/274-7",[890,37.025]],["name/274-7",[]],["text/274-7",[]],["component/274-7",[]],["title/274-8",[843,36.761]],["name/274-8",[]],["text/274-8",[]],["component/274-8",[]],["title/274-9",[58,39.676]],["name/274-9",[]],["text/274-9",[]],["component/274-9",[]],["title/274-10",[70,22.331,842,52.304]],["name/274-10",[]],["text/274-10",[]],["component/274-10",[]],["title/274-11",[757,40.557,770,47.7,1489,35.2]],["name/274-11",[]],["text/274-11",[]],["component/274-11",[]],["title/274-12",[62,14.369,87,22.584,770,41.463,4328,40.655]],["name/274-12",[]],["text/274-12",[]],["component/274-12",[]],["title/274-13",[756,38.552,843,30.252]],["name/274-13",[]],["text/274-13",[]],["component/274-13",[]],["title/274-14",[487,32.651,843,30.252]],["name/274-14",[]],["text/274-14",[]],["component/274-14",[]],["title/274-15",[843,30.252,1397,43.395]],["name/274-15",[]],["text/274-15",[]],["component/274-15",[]],["title/274-16",[260,35.045]],["name/274-16",[]],["text/274-16",[]],["component/274-16",[]],["title/274-17",[2072,46.846]],["name/274-17",[]],["text/274-17",[]],["component/274-17",[]],["title/274-18",[38,18.646,735,23.839]],["name/274-18",[]],["text/274-18",[]],["component/274-18",[]],["title/274-19",[1775,63.556]],["name/274-19",[]],["text/274-19",[]],["component/274-19",[]],["title/274-20",[842,52.304,843,30.252]],["name/274-20",[]],["text/274-20",[]],["component/274-20",[]],["title/274-21",[70,22.331,842,52.304]],["name/274-21",[]],["text/274-21",[]],["component/274-21",[]],["title/274-22",[756,38.552,1139,29.934]],["name/274-22",[]],["text/274-22",[]],["component/274-22",[]],["title/274-23",[487,32.651,1139,29.934]],["name/274-23",[]],["text/274-23",[]],["component/274-23",[]],["title/274-24",[735,23.839,1139,29.934]],["name/274-24",[]],["text/274-24",[]],["component/274-24",[]],["title/274-25",[57,34.875,63,23.313]],["name/274-25",[]],["text/274-25",[]],["component/274-25",[]],["title/274-26",[63,23.313,778,53.145]],["name/274-26",[]],["text/274-26",[]],["component/274-26",[]],["title/274-27",[842,52.304,1139,29.934]],["name/274-27",[]],["text/274-27",[]],["component/274-27",[]],["title/274-28",[89,46.245,735,23.839]],["name/274-28",[]],["text/274-28",[]],["component/274-28",[]],["title/274-29",[735,23.839,1319,43.042]],["name/274-29",[]],["text/274-29",[]],["component/274-29",[]],["title/274-30",[553,24.264,735,20.254,1697,42.026]],["name/274-30",[]],["text/274-30",[]],["component/274-30",[]],["title/274-31",[487,32.651,735,23.839]],["name/274-31",[]],["text/274-31",[]],["component/274-31",[]],["title/274-32",[735,23.839,842,52.304]],["name/274-32",[]],["text/274-32",[]],["component/274-32",[]],["title/274-33",[735,23.839,821,40.568]],["name/274-33",[]],["text/274-33",[]],["component/274-33",[]],["title/274-34",[63,23.313,847,50.11]],["name/274-34",[]],["text/274-34",[]],["component/274-34",[]],["title/274-35",[87,30.58,2903,55.051]],["name/274-35",[]],["text/274-35",[]],["component/274-35",[]],["title/274-36",[87,30.58,735,23.839]],["name/274-36",[]],["text/274-36",[]],["component/274-36",[]],["title/274-37",[57,34.875,63,23.313]],["name/274-37",[]],["text/274-37",[]],["component/274-37",[]],["title/274-38",[63,23.313,778,53.145]],["name/274-38",[]],["text/274-38",[]],["component/274-38",[]],["title/274-39",[63,23.313,724,40.849]],["name/274-39",[]],["text/274-39",[]],["component/274-39",[]],["title/274-40",[63,17.217,143,26.128,724,30.167,6256,44.526]],["name/274-40",[]],["text/274-40",[]],["component/274-40",[]],["title/274",[9,18.444,70,16.492,721,18.444,821,29.96]],["name/274",[9,0.491,591,0.939,721,0.491]],["text/274",[1,0.82,2,1.323,3,0.247,4,2.949,8,0.173,9,2.261,10,1.044,15,1.512,18,0.279,29,0.45,33,0.373,34,0.399,35,1.242,36,0.679,37,0.248,38,2.022,41,0.86,43,0.719,45,0.666,46,0.982,47,0.352,49,0.576,51,0.352,52,0.33,57,1.667,58,1.561,62,1.382,63,3.392,67,0.551,69,1.145,70,2.907,71,2.003,78,0.772,79,0.694,83,2.133,84,0.302,87,3.749,89,2.609,91,0.259,93,0.218,97,0.339,98,0.247,105,0.333,108,0.424,113,0.455,117,0.345,122,1.895,124,0.752,126,1.201,135,1.138,143,0.515,148,0.568,149,1.049,151,0.469,152,0.395,157,0.389,159,0.984,161,0.487,165,0.238,166,1.144,167,0.198,175,0.653,176,0.315,178,0.639,180,0.333,182,0.383,183,0.721,185,0.603,194,0.528,197,0.2,200,0.327,203,2.759,204,0.974,211,2.624,216,0.465,218,0.261,219,0.327,221,1.288,222,1.487,223,1.735,224,1.197,229,0.249,232,1.73,233,2.392,234,1.774,241,0.255,245,2.258,247,1.83,250,0.267,253,1.239,254,0.36,257,0.742,260,1.951,266,0.315,268,0.901,274,0.306,276,0.306,281,0.235,283,0.949,286,0.498,287,0.798,289,0.296,290,0.232,291,0.235,311,0.617,313,0.865,315,0.224,316,1.034,317,0.25,324,1.462,326,1.245,328,0.278,332,0.822,336,0.401,337,2.164,338,0.271,344,0.899,345,0.252,355,1.685,370,3.354,375,0.594,377,0.66,378,0.817,380,0.243,381,0.333,395,0.246,400,0.293,404,0.575,408,0.653,415,1.072,420,0.306,423,0.31,428,0.261,446,0.989,462,0.373,487,3.486,491,1.086,499,0.349,511,1.446,512,0.281,513,4.091,514,0.705,516,0.485,531,1.964,540,0.673,548,0.612,549,1.887,550,0.281,553,1.492,563,2.513,566,1.055,581,0.378,584,0.433,590,1.636,594,0.935,622,0.333,628,0.378,635,0.772,653,0.352,655,1.005,668,1.606,672,2.237,677,0.302,681,0.86,702,0.274,708,0.648,709,2.115,712,0.854,714,0.349,721,2.201,722,0.827,724,1.557,730,0.741,731,0.317,734,0.52,735,3.271,739,0.485,740,0.616,744,1.267,748,1,749,3.031,750,2.102,753,4.558,756,3.749,757,5.096,760,0.539,767,0.266,770,7.013,773,0.333,774,0.294,775,1.029,776,1.219,777,2.321,778,1.743,781,1.412,783,0.71,789,0.345,791,0.854,799,0.929,804,4.394,810,1.305,813,0.897,820,0.294,821,0.306,823,1.336,824,0.739,829,1.39,831,0.336,839,0.322,841,0.897,842,1.994,843,4.023,844,0.761,845,0.749,846,0.756,847,0.729,866,0.409,869,0.373,872,0.345,883,0.345,888,2.876,890,3.253,904,0.879,905,0.469,916,0.336,917,1.378,923,1.331,924,0.66,925,1.517,926,0.333,928,0.522,929,0.32,931,0.582,938,0.631,941,0.395,948,0.994,957,0.293,964,2.187,965,0.291,982,2.782,983,0.984,985,0.424,992,0.59,993,1.101,995,0.383,997,0.302,998,1.587,1001,0.621,1007,2.077,1008,2.196,1027,2.119,1035,0.616,1046,1.69,1052,0.408,1054,0.289,1063,0.313,1070,0.31,1071,0.443,1072,0.298,1079,2.229,1093,0.594,1104,0.443,1110,0.342,1113,0.356,1139,2.847,1142,0.485,1151,0.336,1167,0.536,1176,0.542,1180,0.325,1208,0.607,1210,0.3,1214,0.352,1220,3.179,1241,1.34,1258,0.739,1261,0.401,1263,0.455,1264,1.093,1285,0.571,1289,0.485,1295,0.607,1304,0.607,1306,0.304,1308,0.938,1319,1.168,1324,0.548,1357,0.673,1370,0.322,1396,1.466,1397,1.424,1406,1.325,1419,1.042,1425,4.829,1428,1.466,1429,0.291,1430,0.594,1452,0.53,1463,0.469,1489,2.803,1503,0.424,1530,0.817,1571,0.469,1574,0.364,1609,0.395,1623,0.485,1655,0.352,1684,1.017,1697,0.373,1708,0.433,1771,0.903,1775,0.761,1782,0.455,1888,0.378,1970,0.36,2026,0.31,2072,2.608,2081,0.352,2101,1.419,2138,1.237,2169,0.395,2174,0.415,2179,0.415,2185,0.383,2192,0.424,2206,0.935,2208,0.935,2230,1.269,2251,0.433,2303,0.433,2358,1.401,2374,0.801,2400,0.333,2403,0.433,2404,0.834,2452,0.373,2527,0.636,2555,0.408,2655,1.488,2736,0.975,2778,0.401,2891,0.984,2899,0.817,2903,0.415,2905,1.584,2985,0.903,2986,2.421,2995,0.383,2996,0.424,2997,3.359,3008,0.534,3064,0.485,3153,0.761,3199,0.506,3228,0.975,3362,0.702,3675,0.469,3814,0.443,4156,0.443,4328,2.632,4342,0.485,4402,0.506,4506,0.455,4529,0.854,4751,0.506,4788,0.455,4832,0.455,4914,0.506,5160,0.455,5279,1.685,5310,1.974,5321,0.506,5322,0.506,5325,0.424,5357,1.412,5538,1.556,6003,0.395,6016,1.069,6021,0.834,6198,1.138,6235,0.975,6256,3.401,6343,0.455,6370,0.443,6371,0.877,6416,1.819,6467,0.534,6496,1.584,6498,1.412,6511,0.801,6553,0.534,6810,0.506,6817,0.975,6847,0.817,7250,0.877,7257,0.935,7306,0.534,7568,0.534,7572,1.029,7575,0.903,7580,1.354,7585,0.935,7589,0.903,7590,0.485,7591,0.485,7633,0.534,7665,0.506,7667,0.534,7684,0.534,7694,2.891,7700,0.576,7701,1.607,7702,1.11,7703,0.576,7704,1.11,7705,0.576,7706,0.576,7707,0.576,7708,0.576,7709,0.576,7710,1.607,7711,0.576,7712,0.576,7713,0.576,7714,0.576,7715,0.576,7716,1.11,7717,0.576,7718,0.576,7719,0.576,7720,0.576,7721,0.576,7722,0.576,7723,0.576,7724,0.576,7725,0.576,7726,0.576,7727,0.576,7728,1.11,7729,1.11,7730,0.534,7731,0.576,7732,0.576,7733,0.576,7734,0.576,7735,0.576,7736,1.11,7737,0.576,7738,1.11,7739,0.576,7740,0.576]],["component/274",[446,1.151,721,0.788,7642,1.46]],["title/275",[70,16.492,163,23.632,169,27.663,1268,42.361]],["name/275",[169,0.571,1007,0.606,1008,0.64,1268,0.874]],["text/275",[1,1.19,2,2.154,9,3.298,49,3.61,69,2.951,70,3.715,97,4.414,114,3.476,149,2.702,152,2.67,153,3.493,154,3.208,169,3.68,221,3.319,233,2.931,326,3.208,328,4.866,334,4.1,355,3.169,370,2.994,499,4.543,540,4.543,563,3.195,635,5.467,709,4.129,717,6.318,721,3.298,730,4.649,766,3.81,841,4.931,926,4.336,948,4.639,965,3.788,1007,3.907,1008,4.131,1069,4.8,1070,4.041,1072,3.882,1146,5.409,1151,5.879,1167,3.62,2925,3.564,4529,5.77,4606,6.95]],["component/275",[446,1.151,721,0.788,7642,1.46]],["title/276-1",[9,16.311,100,22.062,197,17.286,721,16.311,738,31.535]],["name/276-1",[]],["text/276-1",[]],["component/276-1",[]],["title/276-2",[9,16.311,163,20.9,395,21.325,721,16.311,1406,31.911]],["name/276-2",[]],["text/276-2",[]],["component/276-2",[]],["title/276-3",[9,16.311,62,12.708,591,31.178,721,16.311,6556,39.378]],["name/276-3",[]],["text/276-3",[]],["component/276-3",[]],["title/276-4",[9,18.444,70,16.492,233,22.029,721,18.444]],["name/276-4",[]],["text/276-4",[]],["component/276-4",[]],["title/276-5",[9,16.311,70,14.585,220,30.203,721,16.311,730,22.995]],["name/276-5",[]],["text/276-5",[]],["component/276-5",[]],["title/276",[9,18.444,70,16.492,721,18.444,1564,36.083]],["name/276",[591,0.939,721,0.491,1564,0.961]],["text/276",[1,1.027,2,2.847,4,1.705,9,3.851,10,1.839,15,1.243,18,0.418,26,2.797,29,1.215,35,0.997,36,0.702,43,1.077,49,1.468,56,0.883,58,2.147,62,1.479,66,0.811,67,0.825,69,3.156,70,3.596,71,2.736,87,0.666,93,0.63,95,1.39,100,1.328,108,2.206,109,1.506,119,1.92,124,0.778,144,1.017,148,1.534,149,2.09,151,1.353,162,3.676,163,2.958,167,1.726,169,1.472,175,0.978,183,1.345,185,3.148,194,1.948,195,1.04,197,1.74,203,1.636,204,1.817,211,1.084,215,0.866,216,1.719,220,1.007,224,1.233,225,1.017,232,0.624,233,4.043,241,3.122,244,2.13,247,0.763,250,1.9,251,0.85,253,2.184,257,2.71,271,1.064,281,1.224,291,2.048,299,2.432,311,1.152,313,0.694,317,1.305,323,1.75,324,1.642,326,0.711,328,2.8,334,0.909,336,0.601,355,1.732,370,0.663,375,0.889,379,1.371,395,3.237,402,1.665,404,2.598,420,0.883,423,0.896,428,1.358,446,3.37,495,0.807,514,0.729,516,1.4,521,1.856,536,1.064,548,0.916,553,0.622,563,0.708,569,0.937,588,1.353,668,0.811,679,0.883,684,1.678,696,0.855,702,0.79,708,0.97,721,4.022,722,1.197,723,1.553,724,0.889,738,5.072,740,1.665,749,2.538,753,3.62,756,2.07,757,3.139,758,0.902,759,1.249,760,3.424,761,3.272,764,1.139,789,0.997,805,0.786,820,1.534,823,1.882,841,1.776,848,0.896,849,0.883,850,0.872,871,1.199,888,4.668,918,0.811,923,0.883,938,0.945,949,0.988,953,0.83,954,1.817,965,0.839,983,3.072,985,1.223,988,0.902,992,1.594,1007,5.038,1008,6.156,1027,0.883,1030,0.708,1054,1.506,1166,1.157,1167,1.979,1214,1.017,1220,5.195,1264,0.877,1268,3.081,1285,1.543,1299,1.077,1370,0.93,1406,4.516,1475,1.091,1489,1.628,1540,1.4,1549,1.54,1564,2.624,1579,1.177,1587,0.978,1655,1.017,1783,1.199,1922,1.064,2078,1.4,2358,1.678,2359,1.139,2611,3.238,2925,0.79,3720,3.965,3777,1.249,4528,1.249,4788,1.313,5310,3.882,5325,3.015,5497,1.46,6016,1.106,6261,1.177,6496,2.593,6556,1.313,7227,2.369,7593,1.4,7605,1.54,7675,1.54,7676,1.353,7677,2.78,7741,2.999,7742,1.662,7743,1.662,7744,4.099,7745,1.662,7746,4.099,7747,1.662,7748,1.662,7749,2.999,7750,1.662,7751,2.999,7752,2.999,7753,1.662,7754,1.662,7755,1.662,7756,1.54,7757,1.662,7758,1.662,7759,1.662,7760,1.662]],["component/276",[446,1.151,721,0.788,7642,1.46]],["title/277-1",[7211,81.486]],["name/277-1",[]],["text/277-1",[]],["component/277-1",[]],["title/277-2",[70,18.972,446,30.979,7761,64.841]],["name/277-2",[]],["text/277-2",[]],["component/277-2",[]],["title/277-3",[70,16.492,224,23.179,402,31.29,446,26.929]],["name/277-3",[]],["text/277-3",[]],["component/277-3",[]],["title/277",[69,17.585,71,12.058,185,24.255,446,21.347,1007,23.281,1008,24.615]],["name/277",[69,0.458,149,0.419,185,0.631,446,0.555]],["text/277",[1,1.16,2,1.664,4,0.84,9,3.824,10,1.132,29,0.818,34,0.886,36,1.509,37,0.871,38,0.493,39,0.787,41,1.081,49,1.718,56,1.073,58,0.864,62,1.223,63,1.09,69,2.28,70,3.335,71,1.564,79,1.263,86,1.43,87,0.809,93,1.353,97,1.189,98,0.868,100,0.894,108,2.626,122,0.831,143,1.655,146,1.059,148,1.033,149,2.385,151,1.644,152,0.719,167,4.302,175,2.824,178,1.42,185,6.005,186,2.083,195,4.943,197,0.7,203,2.313,211,1.29,216,0.847,220,1.224,222,0.753,223,0.761,224,3.007,232,2.175,233,3.615,234,1.502,239,1.702,241,3.921,245,0.773,247,0.927,257,2.619,260,0.763,266,1.952,281,2.984,311,1.372,313,0.843,317,0.879,324,0.809,328,2.316,332,1.033,336,0.73,355,1.509,370,3.693,375,1.081,400,3.715,402,3.674,403,4.103,404,1.046,408,0.821,419,4.709,446,4.419,513,1.014,514,0.886,536,3.071,553,1.336,563,0.86,568,0.965,571,0.932,580,2.626,581,1.326,679,1.073,684,2.684,691,1.158,692,6.144,702,2.754,721,3.824,722,0.806,723,3.426,730,1.647,731,1.113,734,1.671,738,3.665,749,1.4,750,1.742,753,3.241,756,1.02,757,2.233,783,1.224,790,1.033,810,1.052,820,1.033,843,0.801,846,0.95,888,4.179,890,1.915,917,1.344,918,0.986,923,1.073,948,1.249,949,1.2,950,1.263,954,1.224,983,2.185,993,1.384,1007,1.86,1008,4.354,1022,1.263,1027,1.073,1035,1.982,1070,1.089,1167,1.724,1175,1.249,1176,0.986,1220,1.793,1285,1.039,1289,1.702,1295,1.104,1396,1.43,1406,1.293,1415,7.385,1528,1.554,1534,1.554,1564,1.293,1587,2.102,1783,1.457,1926,1.938,2024,1.344,2179,1.457,2358,3.241,2996,1.486,3225,1.486,3299,1.457,5310,2.878,5325,4.262,6082,1.457,6261,2.528,6496,1.278,6502,1.872,6556,1.595,6847,1.486,7641,3.008,7653,1.363,7659,3.309,7756,1.872,7762,2.02,7763,5.369,7764,2.02,7765,2.02,7766,2.02,7767,3.57,7768,4.797,7769,2.02,7770,2.02,7771,4.797,7772,2.02,7773,2.02,7774,2.02,7775,2.02,7776,2.02,7777,3.57,7778,2.02,7779,2.02,7780,2.02,7781,2.02,7782,2.02,7783,2.02,7784,2.02,7785,2.02,7786,2.02,7787,2.02,7788,2.02,7789,2.02,7790,2.02]],["component/277",[446,1.151,721,0.788,7642,1.46]],["title/278-1",[62,12.708,795,37.463,1005,38.356,1454,29.905,1478,39.378]],["name/278-1",[]],["text/278-1",[]],["component/278-1",[]],["title/278-2",[1,7.912,216,20.9,249,29.62,1008,27.462,1220,25.03]],["name/278-2",[]],["text/278-2",[]],["component/278-2",[]],["title/278-3",[1,5.874,6,23.413,63,11.305,379,16.911,746,14.883,997,19.41,1130,13.63,1220,18.584]],["name/278-3",[]],["text/278-3",[]],["component/278-3",[]],["title/278",[1022,47.738,5610,62.119]],["name/278",[1022,1.324,5610,1.723]],["text/278",[1,2.072,2,2.941,4,1.597,6,4.857,10,1.948,18,1.543,25,2.349,26,2.142,36,1.622,37,2.649,49,3.438,58,3.754,62,1.957,63,1.876,66,1.873,68,2.997,70,1.797,71,3.014,83,2.417,107,1.684,114,1.779,147,2.63,148,3.14,149,2.767,159,2.349,162,3.2,163,3.679,166,1.754,170,2.2,216,5.06,220,2.325,225,4.7,241,3.884,249,4.562,257,1.375,291,1.566,315,2.384,326,1.642,328,1.853,345,3.354,379,2.806,500,4.877,511,1.392,514,1.684,539,2.82,553,2.873,580,5.648,648,1.815,702,1.824,709,3.595,712,2.04,714,2.325,731,3.383,760,4.97,761,2.506,793,2.259,795,2.884,852,1.762,866,1.413,890,2.452,997,2.013,1005,2.953,1007,2,1008,4.23,1022,4.802,1054,1.927,1130,2.262,1220,4.406,1354,2.63,1406,4.915,1467,3.032,1475,5.761,1478,8.088,1482,6.752,1531,2.013,1542,3.124,1784,2.63,1888,2.52,2253,5.175,2452,4.976,3720,6.932,5536,5.175,5610,3.124,6102,3.557,7676,3.124,7791,3.838,7792,3.838,7793,3.838,7794,3.557,7795,3.557]],["component/278",[446,1.567,7642,1.987]],["title/279-1",[285,43.042,760,37.05]],["name/279-1",[]],["text/279-1",[]],["component/279-1",[]],["title/279-2",[197,22.486,225,39.693,760,31.477]],["name/279-2",[]],["text/279-2",[]],["component/279-2",[]],["title/279-3",[62,19.457,1354,52.304]],["name/279-3",[]],["text/279-3",[]],["component/279-3",[]],["title/279-4",[197,22.486,760,31.477,1220,32.56]],["name/279-4",[]],["text/279-4",[]],["component/279-4",[]],["title/279-5",[35,33.815,197,19.546,1008,31.052,1220,28.303]],["name/279-5",[]],["text/279-5",[]],["component/279-5",[]],["title/279-6",[6,35.658,197,19.546,1130,20.758,7796,52.24]],["name/279-6",[]],["text/279-6",[]],["component/279-6",[]],["title/279-7",[35,29.905,163,20.9,216,20.9,1008,27.462,1220,25.03]],["name/279-7",[]],["text/279-7",[]],["component/279-7",[]],["title/279",[1,7.092,2,12.833,152,15.909,164,24.082,197,15.494,760,21.69]],["name/279",[1,0.185,2,0.334,197,0.403,760,0.564]],["text/279",[1,0.435,2,0.786,4,2.758,6,5.496,8,0.452,9,0.492,15,0.623,26,0.524,35,3.24,38,0.367,45,0.902,49,1.935,56,0.799,58,0.643,62,1.544,63,1.152,66,1.841,70,2.338,71,2.5,78,0.722,83,0.592,87,0.602,90,1.187,91,0.677,97,1.612,98,0.646,106,1.509,108,1.106,115,1.03,124,2.176,141,1.648,148,1.928,149,1.359,152,2.702,154,1.613,161,0.659,162,1.965,163,1.949,164,2.505,167,3.67,170,1.57,176,0.822,194,1.301,197,3.454,200,0.855,203,1.506,204,2.285,205,1.612,206,1.732,216,3.181,221,1.669,222,0.561,223,0.566,224,0.618,225,5.966,229,0.651,232,1.028,234,2.076,241,2.68,242,0.92,244,0.638,249,3.939,251,4.273,253,0.566,257,2.718,276,1.455,285,4.025,291,1.539,301,2.127,311,2.742,315,0.583,316,0.75,317,1.191,326,1.171,328,3.446,329,0.778,330,1.065,332,1.4,334,2.542,336,0.99,337,1.486,338,1.288,340,0.951,344,0.841,355,0.635,370,1.093,379,0.687,398,0.902,400,0.764,404,1.418,408,0.611,418,1.391,421,1.245,422,1.295,430,3.595,446,0.718,498,0.746,502,1.446,513,0.755,514,1.201,539,0.69,548,0.828,549,0.862,550,0.734,571,0.693,580,4.877,581,0.987,622,1.583,684,0.841,702,1.792,708,1.597,709,1.122,721,0.492,722,0.6,731,0.828,746,0.604,760,6.315,761,1.539,783,0.515,879,1.187,880,1.106,890,0.6,918,1.336,941,1.03,950,0.94,967,2.229,983,0.92,993,1.03,1007,4.683,1008,6.309,1011,1.106,1022,0.94,1030,1.167,1054,0.755,1072,1.952,1112,1.267,1130,3.411,1167,1.322,1176,0.734,1180,3.046,1208,0.822,1220,6.239,1293,1.798,1295,1.497,1306,2.852,1321,0.93,1354,3.185,1369,0.94,1417,2.505,1475,6.79,1481,1.267,1488,1.486,1504,1.939,1542,2.229,1576,0.855,1589,1.106,1646,1.13,1655,0.92,1677,0.94,1692,0.822,1776,1.975,1840,4.746,1914,1.015,2168,1.321,2417,2.307,2444,1.321,2452,1.775,2617,1.187,2690,5.473,3225,1.106,3720,7.1,4408,2.307,4529,2.107,4720,2.229,4978,2.014,5536,1.267,5610,1.223,6261,2.671,6802,2.538,7250,1.187,7546,1.187,7676,3.069,7694,1.321,7794,3.495,7795,1.393,7796,1.393,7797,2.738,7798,2.738,7799,2.738,7800,2.738,7801,1.503,7802,3.771,7803,1.503,7804,1.503,7805,1.503,7806,3.771,7807,1.503,7808,1.503,7809,3.771,7810,1.503,7811,1.503,7812,1.503,7813,1.503,7814,1.503,7815,3.771,7816,3.771,7817,4.308,7818,1.393,7819,1.503,7820,1.503,7821,1.503,7822,1.503,7823,1.503,7824,1.503,7825,1.503]],["component/279",[446,1.567,7642,1.987]],["title/280-1",[63,17.217,197,19.546,951,28.303,7826,47.495]],["name/280-1",[]],["text/280-1",[]],["component/280-1",[]],["title/280-2",[197,22.486,760,31.477,7826,54.639]],["name/280-2",[]],["text/280-2",[]],["component/280-2",[]],["title/280-3",[26,17.386,197,17.286,1030,21.238,7826,42.003,7827,46.199]],["name/280-3",[]],["text/280-3",[]],["component/280-3",[]],["title/280-4",[709,26.564,735,20.254,7828,48.733]],["name/280-4",[]],["text/280-4",[]],["component/280-4",[]],["title/280-5",[46,25.431,760,31.477,783,22.231]],["name/280-5",[]],["text/280-5",[]],["component/280-5",[]],["title/280-6",[71,17.5,253,24.422,783,22.231]],["name/280-6",[]],["text/280-6",[]],["component/280-6",[]],["title/280-7",[783,19.324,866,20.758,1007,29.369,1038,23.267]],["name/280-7",[]],["text/280-7",[]],["component/280-7",[]],["title/280-8",[746,22.666,760,27.361,783,19.324,866,20.758]],["name/280-8",[]],["text/280-8",[]],["component/280-8",[]],["title/280-9",[197,17.286,635,23.94,783,17.09,822,32.307,2925,23.692]],["name/280-9",[]],["text/280-9",[]],["component/280-9",[]],["title/280-10",[783,19.324,866,20.758,2925,26.79,7829,49.523]],["name/280-10",[]],["text/280-10",[]],["component/280-10",[]],["title/280-11",[783,19.324,866,20.758,2925,26.79,7830,49.523]],["name/280-11",[]],["text/280-11",[]],["component/280-11",[]],["title/280-12",[224,26.665,696,33.359,783,22.231]],["name/280-12",[]],["text/280-12",[]],["component/280-12",[]],["title/280-13",[696,28.998,783,19.324,7829,49.523,7830,49.523]],["name/280-13",[]],["text/280-13",[]],["component/280-13",[]],["title/280-14",[234,23.9,2527,43.759]],["name/280-14",[]],["text/280-14",[]],["component/280-14",[]],["title/280-15",[71,17.5,5495,45.151,7831,54.639]],["name/280-15",[]],["text/280-15",[]],["component/280-15",[]],["title/280-16",[7550,66.894]],["name/280-16",[]],["text/280-16",[]],["component/280-16",[]],["title/280",[197,22.486,783,22.231,997,34.008]],["name/280",[197,0.403,760,0.564,799,0.672,1007,0.606]],["text/280",[1,0.871,2,1.22,4,1.25,6,2.114,7,0.304,10,0.721,13,0.323,15,0.601,18,0.471,26,2.197,29,0.209,34,0.565,35,0.599,36,0.422,37,0.431,38,1.583,39,0.389,43,0.94,45,0.31,46,1.972,48,0.244,49,2.714,52,0.572,55,0.316,56,0.274,57,0.456,58,0.221,60,0.453,62,0.478,63,1.806,66,0.252,69,0.393,70,0.978,71,1.749,78,0.248,80,1.682,82,0.348,83,1.183,86,0.365,87,0.581,93,0.378,94,1.129,95,0.463,96,0.231,100,0.228,105,0.577,106,0.799,115,0.354,116,0.965,122,0.212,124,0.242,136,0.559,141,0.436,144,0.316,148,1.871,149,0.82,150,0.42,152,1.411,153,0.465,154,0.62,157,0.348,158,0.588,161,1.466,163,2.479,166,0.456,167,4.101,173,0.265,176,0.282,177,0.278,178,2.094,182,0.343,183,1.642,185,0.542,194,0.245,195,0.323,197,1.473,203,0.908,205,1.967,211,0.822,220,1.378,221,0.228,222,1.963,223,1.259,224,0.411,225,0.316,229,0.432,232,0.545,233,0.202,234,1.648,241,0.642,244,0.615,245,1.015,249,0.307,251,1.871,253,1.894,257,1.712,260,0.548,271,0.33,281,0.928,283,0.55,285,0.563,286,0.231,287,1.638,289,2.587,290,0.208,298,0.588,299,2.302,301,0.818,313,0.215,315,0.2,316,0.258,323,2.933,324,1.915,326,0.62,328,0.482,329,0.267,334,1.827,336,0.524,337,0.542,338,1.07,341,0.33,342,1.84,344,2.217,345,0.634,355,0.792,357,2.436,370,0.399,375,0.534,377,0.307,379,0.456,380,0.792,381,0.298,402,0.286,404,0.517,408,0.406,418,2.297,421,2.948,422,2.698,425,0.707,430,0.343,439,0.348,491,0.271,499,0.313,500,0.507,502,0.272,503,0.339,511,0.526,513,0.501,514,1.466,533,0.323,540,0.879,541,1.049,549,0.832,552,0.262,553,1.59,555,0.666,556,0.686,562,0.52,563,2.339,568,0.247,571,0.238,581,0.655,622,1.084,635,3.43,642,0.947,648,2.596,654,2.501,677,0.761,684,1.272,688,2.549,691,0.296,696,2.038,702,1.081,709,3.047,712,1.776,722,0.206,734,0.467,735,1.327,740,0.286,746,1.593,749,2.542,753,0.289,758,0.28,760,2.195,763,0.253,766,0.737,767,0.461,776,1.104,782,0.453,783,4.042,793,1.104,799,3.849,804,0.568,805,1.421,808,0.582,809,0.897,810,0.269,813,4.422,818,0.498,822,0.647,823,0.237,826,1.974,831,0.301,832,0.918,840,0.605,841,1.448,851,0.397,854,1.409,855,0.304,857,0.624,862,0.323,866,2.177,869,0.334,872,0.31,873,0.684,875,0.304,885,0.334,886,1.067,890,2.724,892,1.588,899,0.348,904,0.282,909,0.365,913,0.397,916,0.301,917,0.664,918,0.252,926,0.298,928,1.247,934,0.278,936,0.323,938,0.293,941,0.684,949,0.307,950,0.323,951,2.401,953,0.258,965,0.504,983,0.611,992,0.274,993,0.684,997,2.879,998,2.08,1001,0.811,1007,4.393,1008,0.55,1011,0.38,1015,0.316,1018,0.293,1022,0.323,1024,0.33,1029,3.699,1030,2.976,1038,3.763,1045,0.707,1058,0.252,1061,1.241,1064,1.16,1070,0.278,1072,0.517,1075,2.828,1105,0.861,1130,0.534,1139,0.202,1154,2.595,1167,1.098,1176,0.252,1180,0.291,1183,0.33,1185,0.298,1186,0.618,1194,0.388,1216,0.372,1220,0.941,1224,0.453,1230,3.241,1233,0.343,1235,0.879,1241,0.276,1255,0.284,1258,0.965,1259,0.286,1264,0.766,1285,0.265,1293,0.952,1297,0.33,1300,2.375,1302,1.422,1304,1.244,1306,0.272,1318,0.265,1319,1.495,1324,1.308,1343,0.618,1360,0.38,1368,0.307,1393,0.339,1400,0.289,1404,1.148,1416,0.507,1429,1.149,1430,0.276,1437,0.301,1438,0.42,1472,0.372,1503,0.734,1504,0.365,1528,0.397,1530,0.38,1531,0.271,1564,0.33,1578,0.841,1587,0.304,1597,0.291,1613,0.639,1643,0.372,1655,1.148,1664,0.408,1671,0.42,1696,1.067,1699,0.72,1716,1.215,1717,0.789,1849,1.2,1888,0.339,1892,2.29,1924,0.269,1933,0.841,1963,0.354,1971,0.42,2014,0.397,2024,0.343,2100,0.577,2206,0.435,2222,0.734,2231,0.408,2268,0.388,2344,1.116,2350,0.388,2359,0.354,2361,0.38,2396,1.2,2452,0.334,2493,0.813,2527,0.832,2621,0.684,2671,0.372,2718,0.408,2787,1.379,2925,2.019,2979,0.408,2986,0.38,3093,0.707,3109,0.768,3124,2.367,3140,1.222,3146,1.344,3153,1.285,3238,0.478,3287,0.925,3299,0.72,3604,0.925,3777,0.388,3786,0.841,4016,0.877,4266,0.388,4356,0.408,4528,0.388,4529,0.768,4804,0.813,4821,0.397,4822,0.42,5495,0.695,5653,0.478,5820,1.738,6093,1.575,6095,0.841,6256,0.789,6369,1.992,6370,0.397,6466,0.478,6476,0.478,6555,1.146,6801,0.478,7227,0.408,7270,1.046,7283,0.453,7483,0.478,7575,0.42,7763,0.478,7826,5.609,7827,2.786,7828,1.992,7829,3.216,7830,1.274,7831,0.841,7832,0.877,7833,0.516,7834,1.916,7835,1.45,7836,6.144,7837,5.088,7838,4.2,7839,2.274,7840,0.516,7841,0.925,7842,0.516,7843,0.516,7844,0.516,7845,0.516,7846,0.516,7847,1.45,7848,4.521,7849,0.516,7850,1.875,7851,3.66,7852,0.516,7853,0.516,7854,0.516,7855,0.453,7856,0.478,7857,0.516,7858,0.516,7859,0.516,7860,0.516,7861,0.516,7862,0.516,7863,0.516,7864,0.998,7865,0.998,7866,0.516,7867,1.45,7868,0.998,7869,0.516,7870,0.516,7871,0.925,7872,0.516,7873,0.516,7874,0.516,7875,0.516,7876,0.516,7877,0.516,7878,0.516,7879,0.516,7880,0.478,7881,0.516,7882,0.516,7883,4.028,7884,1.222,7885,1.875,7886,2.108,7887,0.478,7888,0.478,7889,0.478,7890,0.516,7891,0.516,7892,0.516,7893,0.516,7894,0.516,7895,0.516,7896,0.516,7897,0.516,7898,0.516,7899,0.516,7900,0.516,7901,0.516,7902,0.998,7903,0.516,7904,0.516,7905,1.45,7906,0.516,7907,0.925,7908,1.738,7909,1.738,7910,1.738,7911,1.738,7912,3.097,7913,3.342,7914,0.998,7915,0.998,7916,0.998,7917,0.998,7918,0.998,7919,0.998,7920,0.998,7921,0.998,7922,0.998,7923,0.998,7924,0.516,7925,0.925,7926,0.516,7927,0.516,7928,0.478,7929,1.45,7930,0.516,7931,0.516,7932,0.516,7933,0.516,7934,0.516,7935,0.516,7936,0.516,7937,0.516,7938,0.516,7939,0.516,7940,0.516,7941,0.516,7942,0.516,7943,0.453,7944,0.516,7945,0.516,7946,0.516]],["component/280",[446,1.567,7642,1.987]],["title/281-1",[106,42.048,1393,50.11]],["name/281-1",[]],["text/281-1",[]],["component/281-1",[]],["title/281-2",[152,15.909,211,16.151,563,19.037,866,16.455,1007,23.281,1061,18.444]],["name/281-2",[]],["text/281-2",[]],["component/281-2",[]],["title/281-3",[234,23.9,709,31.267]],["name/281-3",[]],["text/281-3",[]],["component/281-3",[]],["title/281-4",[234,20.305,866,23.88,997,34.008]],["name/281-4",[]],["text/281-4",[]],["component/281-4",[]],["title/281-5",[197,19.546,1007,29.369,1030,24.015,1139,22.106]],["name/281-5",[]],["text/281-5",[]],["component/281-5",[]],["title/281-6",[234,17.65,709,23.091,735,17.605,813,24.416]],["name/281-6",[]],["text/281-6",[]],["component/281-6",[]],["title/281-7",[46,25.431,1139,25.431,7828,48.733]],["name/281-7",[]],["text/281-7",[]],["component/281-7",[]],["title/281-8",[94,24.015,642,28.471,866,20.758,965,28.471]],["name/281-8",[]],["text/281-8",[]],["component/281-8",[]],["title/281-9",[94,27.627,197,22.486,1354,44.436]],["name/281-9",[]],["text/281-9",[]],["component/281-9",[]],["title/281-10",[866,20.758,1007,29.369,1061,23.267,2925,26.79]],["name/281-10",[]],["text/281-10",[]],["component/281-10",[]],["title/281-11",[7550,66.894]],["name/281-11",[]],["text/281-11",[]],["component/281-11",[]],["title/281",[36,21.067,152,17.748,197,17.286,866,18.358,1007,25.973]],["name/281",[197,0.52,866,0.553,1007,0.782]],["text/281",[1,0.979,2,1.85,4,1.695,6,1.302,9,0.247,10,1.545,11,0.525,12,0.58,15,0.312,22,0.502,26,0.501,36,1.111,37,0.325,38,2.076,43,0.931,44,0.466,45,1.235,46,2.628,49,1.992,51,0.879,52,0.824,57,1.439,62,0.192,63,1.488,66,1.283,67,0.374,69,1.034,70,2.032,71,2.052,78,0.69,80,0.804,83,1.034,94,1.736,95,0.666,96,1.179,98,0.324,100,0.334,106,3.397,107,0.331,114,0.349,115,0.985,131,0.466,136,0.422,141,0.628,144,0.879,148,1.344,149,0.947,152,2.844,153,0.669,157,0.509,158,0.444,161,0.903,163,1.709,167,3.25,170,1.18,176,0.786,177,0.406,178,0.572,184,0.931,185,0.409,186,0.44,194,0.683,195,0.471,197,2.832,200,0.428,203,1.049,204,0.871,205,1.547,211,2.229,214,0.525,215,0.393,220,0.457,221,0.334,222,1.674,223,0.541,224,0.31,225,0.461,229,0.622,232,0.283,234,3.59,244,2.067,245,0.788,250,0.349,251,1.344,253,0.541,257,1.992,260,1.54,264,0.425,276,0.401,281,0.308,283,0.545,285,0.81,286,0.338,287,2.144,289,2.309,290,0.304,291,1.072,298,0.444,299,0.602,301,1.776,311,0.791,315,0.799,316,0.376,317,0.328,324,1.633,326,1.124,327,0.409,328,1.968,329,0.744,332,0.385,334,2.229,336,0.744,337,0.409,338,0.969,341,0.482,344,1.47,355,1.111,370,0.822,377,0.448,378,0.554,380,0.607,400,0.73,403,0.534,404,0.744,406,0.37,408,0.584,418,2.281,419,0.401,421,2.805,422,2.472,427,0.457,430,0.502,432,0.412,487,1.348,496,0.495,504,0.613,505,0.457,511,1.627,513,0.378,514,0.331,538,1.792,539,0.66,540,0.457,541,0.804,549,1.507,553,1.359,556,2.777,560,0.385,563,3.867,568,0.36,571,0.95,581,1.725,615,0.403,622,1.822,635,4.482,642,0.726,648,2.303,655,0.471,665,0.448,672,0.326,674,0.432,684,0.422,691,0.824,695,0.509,696,1.868,702,0.683,708,0.44,709,2.142,712,0.764,714,0.457,724,0.403,731,0.415,734,0.673,735,2.093,740,0.418,746,0.828,749,1.424,760,1.529,766,0.383,774,0.385,776,2.399,783,2.014,789,0.452,799,0.436,802,0.635,805,1.243,809,0.466,813,3.294,818,0.717,822,0.931,832,1.993,840,1.247,841,2.265,846,0.676,866,2.643,869,0.488,875,0.444,876,0.909,879,0.595,884,0.436,886,1.515,890,3.114,892,0.979,909,1.458,910,0.534,917,0.502,923,1.93,924,0.448,926,0.436,928,1.236,931,0.395,934,0.406,935,1.211,936,1.288,938,0.817,944,0.488,948,0.466,949,0.854,951,2.047,957,0.383,965,1.591,967,1.169,981,0.566,983,0.461,997,4.091,998,3.218,1001,0.422,1007,5.702,1008,1.134,1010,1.201,1011,1.933,1012,0.444,1022,1.97,1025,0.633,1029,2.324,1030,2.075,1038,1.3,1045,0.534,1058,0.368,1061,2.963,1063,0.409,1070,0.406,1072,2.323,1079,0.39,1105,0.945,1130,0.968,1135,0.461,1139,2.05,1148,0.415,1154,2.212,1166,0.525,1167,1.753,1175,0.466,1183,0.92,1185,0.831,1186,1.949,1189,0.509,1194,3.063,1208,0.412,1214,0.879,1216,1.036,1220,2.949,1224,0.662,1229,0.956,1230,2.097,1232,1.018,1235,0.457,1241,0.769,1271,0.662,1290,2.159,1293,0.943,1297,0.482,1300,3.22,1301,1.247,1306,1.663,1321,0.466,1324,0.372,1343,0.889,1352,0.477,1354,0.985,1370,1.152,1393,0.495,1396,1.018,1397,0.428,1404,0.879,1416,0.383,1429,0.726,1451,0.495,1457,0.466,1462,1.592,1503,0.554,1504,0.534,1531,1.08,1564,0.482,1567,0.544,1597,0.81,1648,0.613,1655,0.879,1670,0.909,1676,0.477,1734,0.554,1776,1.036,1784,0.516,1835,0.495,1838,0.635,1849,3.56,1866,1.332,1888,0.495,1892,1.801,1914,1.39,1922,0.482,1926,1.118,1932,0.635,1940,0.595,1949,0.698,1974,0.477,1977,0.899,2009,0.698,2022,0.509,2026,0.406,2047,0.698,2100,0.436,2117,0.566,2265,1.411,2306,0.534,2400,0.436,2404,0.566,2417,1.211,2427,0.554,2452,2.353,2456,0.525,2460,0.613,2496,0.635,2630,0.613,2661,1.169,2686,0.534,2841,0.985,2925,1.726,2987,0.534,2995,0.502,3124,3.703,3153,0.516,3299,0.544,3583,1.39,3701,1.169,3816,0.635,4130,0.698,4720,0.613,4790,0.58,4821,0.58,4822,0.613,4828,1.262,4924,0.635,4990,0.662,5439,0.516,5495,0.525,5787,0.635,5806,0.698,6093,0.448,6256,1.135,7001,0.698,7151,0.698,7281,0.595,7282,0.566,7283,0.662,7562,0.698,7583,0.635,7584,0.662,7594,0.698,7730,0.698,7828,3.063,7832,2.768,7834,1.211,7836,3.06,7837,2.435,7841,1.332,7871,2.435,7883,2.654,7884,1.735,7886,1.332,7943,1.262,7947,0.754,7948,0.754,7949,0.754,7950,4.686,7951,0.754,7952,0.754,7953,0.754,7954,0.754,7955,0.754,7956,0.754,7957,1.437,7958,0.754,7959,0.754,7960,0.754,7961,0.754,7962,0.754,7963,0.754,7964,0.754,7965,0.754,7966,0.754,7967,0.754,7968,0.754,7969,0.754,7970,0.754,7971,0.754,7972,0.754,7973,1.437,7974,3.15,7975,0.754,7976,0.754,7977,0.754,7978,0.754,7979,0.754,7980,0.698,7981,0.754,7982,0.754,7983,0.754,7984,0.754,7985,0.754,7986,0.754]],["component/281",[446,1.567,7642,1.987]],["title/282",[1127,60.891]],["name/282",[3,1.542]],["text/282",[1,1.908,2,2.836,4,3.026,29,3.999,34,2.451,67,3.61,70,3.517,71,1.963,78,3.493,84,3.815,149,2.621,152,3.515,154,3.111,158,4.282,194,3.457,197,2.522,200,5.613,257,2.605,287,2.804,318,4.91,323,4.243,326,3.111,328,3.512,400,3.696,408,4.014,446,3.475,513,3.652,521,4.5,522,4.601,750,3.55,760,4.792,823,3.339,839,4.069,875,4.282,892,3.457,934,3.92,983,7.358,990,9.15,993,4.984,1007,5.144,1008,5.439,1126,4.282,1409,4.007,7250,5.746,7987,7.273]],["component/282",[446,1.567,7642,1.987]],["title/283-1",[696,39.266,2925,36.276]],["name/283-1",[]],["text/283-1",[]],["component/283-1",[]],["title/283-2",[234,23.9,2527,43.759]],["name/283-2",[]],["text/283-2",[]],["component/283-2",[]],["title/283-3",[71,17.5,5495,45.151,7831,54.639]],["name/283-3",[]],["text/283-3",[]],["component/283-3",[]],["title/283-4",[1,6.426,34,10.051,257,14.502,338,19.047,635,19.444,1007,21.095,1061,16.712]],["name/283-4",[]],["text/283-4",[]],["component/283-4",[]],["title/283-5",[234,23.9,7695,67.059]],["name/283-5",[]],["text/283-5",[]],["component/283-5",[]],["title/283-6",[38,18.646,7695,67.059]],["name/283-6",[]],["text/283-6",[]],["component/283-6",[]],["title/283-7",[7550,66.894]],["name/283-7",[]],["text/283-7",[]],["component/283-7",[]],["title/283",[224,23.179,1007,29.369,1061,23.267,2925,26.79]],["name/283",[197,0.403,696,0.598,1007,0.606,2925,0.553]],["text/283",[0,0.775,1,1.216,4,1.591,10,0.692,34,1.728,36,1.616,38,2.139,39,1.489,46,1.5,49,2.193,56,1.161,63,1.168,70,2.414,71,2.363,78,1.049,87,1.532,90,3.02,93,1.45,94,1.629,97,1.285,106,2.106,109,1.096,114,1.012,126,0.901,144,1.337,148,1.955,149,0.787,152,1.816,161,1.678,163,1.603,167,2.105,170,1.252,176,1.194,197,2.414,203,0.872,211,1.844,215,1.138,222,1.902,223,1.44,224,2.097,225,1.337,229,0.946,232,0.82,233,0.853,234,3.602,241,2.71,251,1.955,257,2.193,260,0.825,264,1.231,266,2.091,279,1.285,281,2.082,283,0.828,287,0.842,311,0.839,313,0.912,315,1.484,324,2.453,326,2.182,337,1.185,338,1.799,341,1.398,345,2.675,355,1.616,362,1.606,370,3.057,373,2.448,395,1.636,404,1.13,408,0.888,419,1.161,487,0.934,495,1.06,500,3.112,513,2.561,514,0.958,538,1.078,549,1.252,563,2.965,568,1.043,635,4.764,640,3.02,642,3.868,695,1.474,696,3.581,709,0.895,722,0.872,735,1.913,740,5.105,742,1.103,748,1.054,749,2.401,750,1.066,753,3.894,755,1.241,760,2.476,782,1.918,783,1.749,810,1.138,813,0.946,818,1.09,823,3.195,831,1.274,832,1.381,841,2.209,866,1.408,874,1.918,890,1.526,892,1.817,910,1.546,924,2.272,948,1.351,951,1.92,965,2.576,967,3.112,981,2.874,993,1.496,997,2.005,998,2.219,1001,4.285,1007,3.627,1008,2.81,1061,2.873,1072,1.13,1105,1.755,1145,1.496,1151,1.274,1167,1.846,1220,1.096,1233,2.545,1368,1.297,1373,1.323,1404,1.337,1419,1.415,1425,1.274,1428,1.546,1429,1.103,1445,1.725,1530,1.606,1564,1.398,1576,1.241,1600,1.606,1655,1.337,1664,1.725,1696,3.752,1697,2.478,1699,1.575,1775,1.496,1849,1.398,1910,1.297,1971,1.777,2024,1.453,2100,1.263,2222,2.813,2358,2.854,2527,3.511,2621,1.496,2655,1.297,2925,4.162,2967,1.918,3143,2.024,3225,1.606,3299,1.575,3583,5.911,4356,1.725,4359,1.641,4720,1.777,4804,3.112,4805,2.024,4807,4.727,4832,1.725,4978,1.606,5310,3.673,5439,1.496,5495,3.552,5920,1.918,6093,4.136,6095,3.222,6364,1.606,6370,1.68,6371,1.725,6496,3.874,6555,4.029,6765,1.641,7282,2.874,7828,4.602,7831,4.298,7884,1.84,7907,2.024,7908,2.024,7909,2.024,7910,2.024,7911,2.024,7925,3.544,7928,2.024,7950,3.222,7980,2.024,7988,2.183,7989,5.1,7990,2.183,7991,2.183,7992,2.183,7993,2.183,7994,2.183,7995,2.183,7996,2.183,7997,2.183]],["component/283",[446,1.567,7642,1.987]],["title/284-1",[7211,81.486]],["name/284-1",[]],["text/284-1",[]],["component/284-1",[]],["title/284-2",[62,16.531,185,35.2,195,40.557]],["name/284-2",[]],["text/284-2",[]],["component/284-2",[]],["title/284-3",[185,35.2,195,40.557,580,47.7]],["name/284-3",[]],["text/284-3",[]],["component/284-3",[]],["title/284-4",[26,14.121,62,10.321,185,21.977,195,25.322,224,16.648,746,16.28,761,16.523]],["name/284-4",[]],["text/284-4",[]],["component/284-4",[]],["title/284-5",[70,22.331,224,31.386]],["name/284-5",[]],["text/284-5",[]],["component/284-5",[]],["title/284",[70,14.585,185,27.059,195,31.178,224,20.499,402,27.672]],["name/284",[185,0.631,195,0.727,224,0.478,591,0.727]],["text/284",[1,1.609,18,0.442,26,2.881,34,2.516,36,1.334,38,1.279,39,1.672,49,2.16,56,0.935,57,0.804,62,1.538,63,1.599,66,0.858,69,0.692,70,2.733,71,2.229,74,1.268,80,1.766,83,0.692,93,1.627,95,0.815,100,1.9,107,0.772,114,0.815,121,1.389,131,1.088,136,0.984,141,0.768,146,1.655,149,4.228,154,1.35,163,0.737,167,4.574,169,0.863,182,1.17,185,6.17,186,4.556,187,1.294,195,5.167,197,1.816,203,1.26,205,1.858,216,1.323,218,1.429,222,0.656,223,1.617,224,4.069,225,1.932,226,4.485,232,1.185,233,0.687,234,1.344,239,1.482,241,3.457,251,3.084,253,1.189,254,1.1,257,1.13,260,0.664,266,0.962,270,1.482,272,0.899,280,2.773,281,0.718,283,1.627,291,0.718,311,3.7,324,0.705,328,1.524,336,1.141,343,3.141,355,0.743,370,1.714,375,0.941,379,0.804,402,0.976,404,1.634,406,0.863,412,1.545,413,1.545,418,1.604,419,2.783,421,3.939,422,1.492,445,1.187,499,5.248,502,1.666,549,1.809,563,1.829,571,1.456,580,1.294,603,1,605,1.268,609,1.294,615,1.689,622,1.825,665,1.045,677,0.922,692,1.126,709,1.293,716,1.008,721,1.033,731,0.969,746,1.726,753,2.402,756,1.594,760,2.084,761,2.978,764,2.942,766,0.894,772,0.84,783,1.082,800,1.809,821,0.935,851,6.357,854,1.677,862,1.1,866,1.162,893,2.568,906,1.63,909,1.245,918,0.858,947,0.948,949,1.045,967,7.049,993,1.205,997,0.922,1001,0.984,1007,4.069,1008,6.103,1054,1.585,1069,1.126,1134,0.962,1151,1.841,1167,1.524,1208,0.962,1255,0.969,1293,2.072,1295,1.726,1475,1.155,1483,1.389,1492,1.14,1528,1.353,1556,1.389,1579,1.245,1613,1.126,1646,1.322,1684,1.112,1730,1.205,1767,1.205,1888,1.155,2131,1.431,2256,1.389,2265,1.205,2358,1.766,2527,1.008,2671,1.268,3303,1.63,3720,2.493,3896,1.545,4785,1.63,5310,1.055,5629,7.6,6248,1.389,6364,1.294,6496,1.112,6765,2.372,7152,2.925,7153,4.853,7155,2.925,7641,3.617,7817,1.63,7818,1.63,7998,3.156,7999,1.758,8000,1.758,8001,1.758,8002,1.758,8003,1.758,8004,1.758,8005,1.758,8006,1.758,8007,1.758,8008,1.758,8009,1.758,8010,1.758,8011,1.758,8012,3.156,8013,1.758,8014,1.758,8015,4.293,8016,4.293,8017,1.758,8018,1.758,8019,1.758,8020,6.031,8021,1.758,8022,1.758]],["component/284",[446,1.567,7642,1.987]],["title/285-1",[1,7.912,2,14.317,62,12.708,500,25.331,746,20.045]],["name/285-1",[]],["text/285-1",[]],["component/285-1",[]],["title/285-2",[197,22.486,234,20.305,8023,60.097]],["name/285-2",[]],["text/285-2",[]],["component/285-2",[]],["title/285-3",[709,31.267,1267,60.293]],["name/285-3",[]],["text/285-3",[]],["component/285-3",[]],["title/285-4",[234,20.305,500,32.951,735,20.254]],["name/285-4",[]],["text/285-4",[]],["component/285-4",[]],["title/285-5",[338,35.908,500,38.785]],["name/285-5",[]],["text/285-5",[]],["component/285-5",[]],["title/285",[234,20.305,500,32.951,735,20.254]],["name/285",[234,0.47,500,0.763,1910,0.892]],["text/285",[1,1.465,2,1.99,4,1.374,10,1.98,13,1.157,15,0.767,18,0.83,26,0.645,29,0.749,36,1.89,37,1.929,38,1.693,43,1.199,46,2.132,49,2.236,52,1.061,56,0.983,57,1.509,62,0.472,66,0.903,70,2.027,71,0.891,83,1.3,87,1.323,105,1.07,106,1.819,109,0.929,139,2.299,148,1.688,149,0.667,152,2.677,154,0.791,156,1.559,161,1.449,162,0.964,163,1.875,166,0.845,167,3.471,169,0.908,184,1.199,194,1.569,197,2.785,203,0.739,211,3.065,216,2.905,218,2.025,224,3.091,229,0.801,232,0.694,234,3.475,241,1.462,244,1.401,245,1.264,251,3.192,253,0.697,257,1.183,264,2.522,285,1.043,290,0.747,301,1.862,311,0.711,316,1.648,324,2.178,328,1.594,336,1.194,338,3.537,341,1.184,345,2.375,355,1.89,357,2.976,370,1.318,373,1.184,379,2.044,380,0.782,404,0.958,406,1.621,410,1.39,418,2.762,421,3.151,422,2.57,487,1.413,498,0.918,500,6.756,514,0.812,528,1.506,538,0.913,540,1.121,548,1.019,550,0.903,553,1.236,555,0.849,556,0.875,563,3.203,571,2.063,580,1.361,635,0.888,674,3.972,678,1.019,684,1.035,691,1.893,702,2.126,709,1.353,735,2.508,746,0.744,761,0.755,764,1.268,783,0.634,809,1.144,813,1.43,818,0.923,820,1.688,823,3.181,841,0.801,846,1.554,851,7.348,866,1.647,872,1.981,880,1.361,890,2.766,892,1.569,938,1.877,950,1.157,952,1.423,973,2.14,983,1.132,985,1.361,993,1.268,997,0.97,998,1.946,1007,4.626,1008,1.819,1027,1.755,1030,3.613,1058,1.612,1072,0.958,1139,2.132,1145,1.268,1151,2.609,1154,1.004,1175,2.043,1180,1.043,1208,1.012,1220,2.729,1259,1.027,1267,6.699,1274,3.06,1278,1.625,1282,1.625,1306,0.977,1324,4.185,1475,2.936,1482,2.541,1491,5.784,1503,1.361,1531,1.732,1551,1.714,1564,1.184,1576,1.052,1584,1.361,1655,1.132,1657,1.461,1696,1.361,1783,2.382,1840,2.901,1888,1.215,1910,5.039,2272,1.506,2527,1.893,2529,1.39,2657,1.559,2870,1.559,3299,1.334,3391,1.559,3479,1.559,3896,2.901,4223,1.625,4538,1.714,5536,1.559,6369,2.482,6371,1.461,6491,1.625,7174,3.06,7676,2.688,7828,2.482,7836,1.559,7880,1.714,7912,3.06,7950,6.334,8023,5.038,8024,1.85,8025,3.302,8026,1.85,8027,1.85,8028,1.85,8029,1.85,8030,1.85,8031,3.302,8032,1.85,8033,3.302,8034,1.85]],["component/285",[446,1.567,7642,1.987]],["title/286-1",[41,49.637]],["name/286-1",[]],["text/286-1",[]],["component/286-1",[]],["title/286-2",[102,51.094]],["name/286-2",[]],["text/286-2",[]],["component/286-2",[]],["title/286-3",[511,33.628]],["name/286-3",[]],["text/286-3",[]],["component/286-3",[]],["title/286",[131,40.115,539,29.77,556,30.662]],["name/286",[8035,3.59]],["text/286",[1,0.569,21,2.112,34,0.891,38,3.174,43,2.325,49,1.285,68,1.751,71,1.57,83,3.321,126,1.481,130,2.174,131,6.739,152,1.277,153,2.71,161,2.552,165,5.137,167,3.745,178,1.427,221,2.574,223,1.351,232,1.347,234,1.821,286,2.609,287,3.253,313,1.498,421,4.218,422,1.696,491,1.882,511,2.109,550,2.839,552,1.823,556,4.385,560,3.751,562,1.869,734,1.679,746,1.443,749,2.281,772,4.431,773,3.364,801,2.132,808,2.093,818,1.791,843,2.306,866,1.321,876,3.68,890,2.929,919,2.132,997,3.848,1007,3.031,1008,5.471,1029,3.751,1030,2.478,1058,2.839,1061,1.481,1154,3.158,1176,1.751,1180,2.023,1241,4.516,1260,3.424,1350,3.871,1357,2.174,1436,2.639,1487,2.459,1528,4.476,1597,6.348,1703,3.152,1732,2.92,1775,2.459,1849,3.724,1894,3.023,1967,2.459,1971,7.548,2065,2.92,2102,2.498,2348,7.033,2391,6.182,2393,3.325,2396,3.724,2430,4.589,2456,4.05,2533,6.666,2665,3.152,3042,4.372,3790,3.023,6245,3.325,7828,4.372,7832,3.152,7834,3.023,7855,3.152,8036,7.336,8037,3.588,8038,7.336,8039,3.588,8040,8.438,8041,5.817,8042,3.588,8043,3.588,8044,3.588,8045,3.588,8046,3.588]],["component/286",[989,3.575]],["title/287",[9,24.975,989,53.145]],["name/287",[3,1.542]],["text/287",[1,1.269,9,3.845,38,2.569,41,4.278,57,3.653,71,2.157,102,4.404,106,4.404,130,4.843,170,4.583,194,3.799,245,3.061,287,3.082,340,5.057,511,2.898,512,3.902,556,3.78,563,5.007,746,3.214,767,3.687,804,4.545,809,4.945,826,5.248,865,4.038,866,2.944,890,3.191,989,7.322,995,5.32,996,7.023,997,5.515,1014,6.736,1063,4.339,1072,4.138,1180,4.508,1260,4.706,1706,7.408,1775,5.478,2265,5.478,4790,6.151,5070,7.023,5538,6.008,7245,7.023]],["component/287",[989,3.575]],["title/288-1",[41,49.637]],["name/288-1",[]],["text/288-1",[]],["component/288-1",[]],["title/288-2",[102,51.094]],["name/288-2",[]],["text/288-2",[]],["component/288-2",[]],["title/288-3",[511,33.628]],["name/288-3",[]],["text/288-3",[]],["component/288-3",[]],["title/288",[4156,71.363]],["name/288",[4156,2.763]],["text/288",[8,2.59,15,1.897,38,1.723,83,2.776,120,1.89,141,2,152,2.512,165,1.89,167,4.565,178,2.806,234,1.434,286,2.054,287,1.765,298,4.153,310,2.522,327,2.485,330,3.242,400,2.326,421,4.749,422,2.165,541,2.561,571,2.112,634,3.946,724,5.589,776,2.695,793,2.695,840,2.774,857,2.863,901,4.631,951,2.299,973,4.572,986,3.441,1007,6.344,1008,5.753,1029,4.642,1030,1.95,1058,4.719,1131,3.523,1132,3.858,1135,2.802,1139,3.375,1151,2.671,1154,2.485,1178,2.931,1180,4.853,1186,4.364,1189,4.762,1194,5.301,1260,4.153,1366,3.188,1489,4.671,1531,2.401,1716,2.967,1913,3.726,2185,3.047,2274,3.188,2276,3.242,2348,3.242,2427,3.368,2456,6.732,2706,3.858,4156,6.621,4305,3.726,4924,3.858,5324,4.243,7628,4.022,7838,10.099,8047,9.678,8048,4.578,8049,9.668,8050,4.243,8051,4.243,8052,4.243,8053,4.243,8054,4.578,8055,4.578,8056,4.578,8057,4.243,8058,6.538,8059,4.243,8060,4.578,8061,4.578]],["component/288",[989,3.575]],["title/289-1",[41,49.637]],["name/289-1",[]],["text/289-1",[]],["component/289-1",[]],["title/289-2",[102,51.094]],["name/289-2",[]],["text/289-2",[]],["component/289-2",[]],["title/289-3",[511,33.628]],["name/289-3",[]],["text/289-3",[]],["component/289-3",[]],["title/289-4",[234,23.9,841,33.061]],["name/289-4",[]],["text/289-4",[]],["component/289-4",[]],["title/289-5",[211,20.375,234,17.65,556,26.653,1487,38.626]],["name/289-5",[]],["text/289-5",[]],["component/289-5",[]],["title/289",[234,17.65,556,26.653,560,28.818,1487,38.626]],["name/289",[8062,3.59]],["text/289",[7,1.736,10,0.935,38,2.206,46,2.936,57,1.348,63,0.901,71,0.796,83,2.946,120,1.218,122,1.213,124,1.381,149,1.063,152,1.762,157,1.991,161,1.294,167,4.182,178,2.543,183,1.323,203,1.178,207,3.874,211,2.706,214,2.054,215,1.537,222,1.1,223,1.864,234,3.278,245,1.129,257,1.057,286,1.323,287,4.035,290,1.19,298,3.764,299,2.075,310,1.625,313,1.232,315,1.921,324,1.182,370,1.976,395,1.262,421,3.405,422,3.944,439,1.991,498,1.464,538,2.442,542,1.721,552,1.499,553,2.801,555,1.354,556,5.488,560,2.53,563,2.724,582,1.557,635,2.377,702,1.402,724,3.422,734,1.381,735,0.921,742,2.5,776,2.913,785,2.734,841,2.769,866,1.823,872,1.77,886,2.17,892,1.402,899,1.991,915,1.65,919,2.941,951,1.481,973,4.144,997,2.595,998,1.283,1007,6.047,1008,3.522,1025,1.3,1029,4.014,1030,2.109,1038,2.043,1058,2.415,1061,1.218,1069,1.888,1130,1.086,1133,2.401,1135,1.806,1137,2.631,1139,2.936,1154,2.686,1175,1.825,1176,1.44,1180,4.222,1186,1.825,1189,1.991,1194,2.217,1197,3.294,1230,2.546,1306,1.557,1416,1.499,1487,3.391,1488,1.601,1489,2.686,1574,1.866,1606,2.021,1655,1.806,1703,2.592,1708,3.719,1726,1.888,1849,3.168,1852,1.963,1875,4.703,1892,2.021,1894,2.485,1932,2.485,2096,2.089,2102,2.054,2367,2.27,2456,5.808,2664,3.719,2706,2.485,2757,2.089,2925,1.402,3042,2.217,4156,8.319,4305,2.401,4451,2.734,4902,2.734,6258,2.734,7628,2.592,7834,2.485,7836,4.17,7838,5.617,7883,2.485,7884,2.485,7950,5.387,8047,2.734,8050,2.734,8051,2.734,8052,2.734,8053,2.734,8057,2.734,8058,2.734,8059,2.734,8063,6.938,8064,6.393,8065,4.949,8066,2.949,8067,2.949,8068,2.734,8069,2.949,8070,2.949,8071,2.949,8072,2.949]],["component/289",[989,3.575]],["title/290-1",[41,49.637]],["name/290-1",[]],["text/290-1",[]],["component/290-1",[]],["title/290-2",[102,51.094]],["name/290-2",[]],["text/290-2",[]],["component/290-2",[]],["title/290-3",[511,33.628]],["name/290-3",[]],["text/290-3",[]],["component/290-3",[]],["title/290-4",[183,29.086,550,31.649,997,34.008]],["name/290-4",[]],["text/290-4",[]],["component/290-4",[]],["title/290-5",[550,31.649,783,22.231,997,34.008]],["name/290-5",[]],["text/290-5",[]],["component/290-5",[]],["title/290",[556,26.653,560,28.818,760,27.361,804,32.047]],["name/290",[8073,3.59]],["text/290",[10,1.237,38,2.163,46,1.529,57,1.782,71,1.052,83,4.673,88,4.331,110,3.426,126,1.61,152,2.763,153,1.817,161,1.711,163,1.635,167,4.308,183,2.79,203,1.557,222,2.32,223,1.469,232,1.464,281,1.592,286,1.749,287,2.398,299,2.608,311,1.498,313,2.598,315,1.514,336,1.41,340,2.467,342,2.387,344,2.182,370,1.557,395,1.668,421,4.027,422,2.941,433,2.672,550,3.787,553,1.459,556,5.312,560,3.967,563,2.65,724,2.087,740,2.165,749,1.529,760,5.005,773,2.255,776,3.662,783,2.66,804,5.501,841,1.689,854,4.124,866,1.436,886,2.869,890,2.483,892,1.853,898,2.595,915,2.182,919,2.317,937,2.595,951,1.958,997,5.074,1005,3.001,1007,5.637,1029,4.81,1030,2.65,1038,3.203,1058,1.903,1061,2.568,1125,2.439,1154,3.377,1176,1.903,1180,2.199,1360,2.869,1463,3.174,1487,4.263,1597,2.199,1605,3.081,1661,2.762,1892,2.672,1924,2.032,2010,2.363,2022,2.632,2089,3.001,2367,3.001,2396,2.496,2456,4.331,2787,5.708,2988,2.439,3042,2.931,3124,4.406,3790,3.286,4931,3.426,7278,2.439,7583,5.241,7828,4.675,7855,3.426,7856,3.614,7883,3.286,7887,3.614,7888,3.614,7889,3.614,7943,3.426,8063,7.191,8068,3.614,8074,3.9,8075,3.9,8076,3.9,8077,3.9,8078,3.9,8079,3.9,8080,8.855,8081,3.9,8082,3.9]],["component/290",[989,3.575]]],"invertedIndex":[["",{"_index":167,"title":{"46":{},"72":{}},"name":{},"text":{"2":{},"3":{},"5":{},"14":{},"15":{},"17":{},"18":{},"20":{},"22":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"57":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"68":{},"69":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"94":{},"96":{},"97":{},"99":{},"101":{},"102":{},"104":{},"105":{},"106":{},"108":{},"110":{},"113":{},"115":{},"121":{},"128":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"159":{},"162":{},"164":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"177":{},"178":{},"179":{},"180":{},"181":{},"185":{},"189":{},"190":{},"191":{},"192":{},"193":{},"195":{},"196":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"206":{},"208":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"220":{},"255":{},"262":{},"270":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["0",{"_index":674,"title":{},"name":{},"text":{"3":{},"14":{},"18":{},"31":{},"57":{},"67":{},"104":{},"106":{},"145":{},"147":{},"166":{},"169":{},"170":{},"178":{},"179":{},"191":{},"192":{},"198":{},"199":{},"203":{},"212":{},"216":{},"217":{},"219":{},"260":{},"261":{},"262":{},"281":{},"285":{}},"component":{}}],["0.0",{"_index":8003,"title":{},"name":{},"text":{"284":{}},"component":{}}],["0.0.1",{"_index":7816,"title":{},"name":{},"text":{"279":{}},"component":{}}],["0.0.2",{"_index":7674,"title":{},"name":{},"text":{"270":{}},"component":{}}],["0.03",{"_index":6848,"title":{},"name":{},"text":{"179":{}},"component":{}}],["0.1.0",{"_index":5645,"title":{},"name":{},"text":{"107":{}},"component":{}}],["0.10",{"_index":7484,"title":{},"name":{},"text":{"215":{}},"component":{}}],["0.10.0",{"_index":7473,"title":{"215-5":{}},"name":{},"text":{},"component":{}}],["0.11.0",{"_index":7471,"title":{"215-1":{}},"name":{},"text":{},"component":{}}],["0.120",{"_index":8034,"title":{},"name":{},"text":{"285":{}},"component":{}}],["0.53",{"_index":6461,"title":{},"name":{},"text":{"151":{}},"component":{}}],["0.6.2",{"_index":7482,"title":{"215-21":{}},"name":{},"text":{},"component":{}}],["0.7",{"_index":7500,"title":{},"name":{},"text":{"215":{}},"component":{}}],["0.7.0",{"_index":7480,"title":{"215-17":{}},"name":{},"text":{},"component":{}}],["0.8",{"_index":2983,"title":{},"name":{},"text":{"58":{},"215":{}},"component":{}}],["0.8.0",{"_index":7478,"title":{"215-13":{}},"name":{},"text":{},"component":{}}],["0.9",{"_index":7487,"title":{},"name":{},"text":{"215":{}},"component":{}}],["0.9.0",{"_index":7475,"title":{"215-9":{}},"name":{},"text":{},"component":{}}],["0001",{"_index":6188,"title":{},"name":{},"text":{"143":{}},"component":{}}],["01",{"_index":7477,"title":{"215-9":{}},"name":{},"text":{},"component":{}}],["0100",{"_index":7528,"title":{},"name":{},"text":{"219":{}},"component":{}}],["01t10:15:30.00z",{"_index":5187,"title":{},"name":{},"text":{"88":{}},"component":{}}],["02",{"_index":7474,"title":{"215-5":{}},"name":{},"text":{},"component":{}}],["0397a9d5ba94",{"_index":7786,"title":{},"name":{},"text":{"277":{}},"component":{}}],["04",{"_index":7483,"title":{"215-21":{}},"name":{},"text":{"280":{}},"component":{}}],["07",{"_index":7472,"title":{"215-1":{}},"name":{},"text":{},"component":{}}],["08",{"_index":7481,"title":{"215-17":{}},"name":{},"text":{},"component":{}}],["09",{"_index":7479,"title":{"215-13":{}},"name":{},"text":{"217":{}},"component":{}}],["0ea84862944b",{"_index":7923,"title":{},"name":{},"text":{"280":{}},"component":{}}],["0s",{"_index":7432,"title":{},"name":{},"text":{"206":{}},"component":{}}],["1",{"_index":421,"title":{"33-2":{},"33-6":{},"88-23":{},"237-1":{}},"name":{"74":{}},"text":{"3":{},"14":{},"17":{},"18":{},"20":{},"22":{},"24":{},"31":{},"34":{},"35":{},"38":{},"44":{},"46":{},"47":{},"51":{},"56":{},"58":{},"63":{},"64":{},"67":{},"69":{},"71":{},"72":{},"77":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"102":{},"106":{},"115":{},"140":{},"149":{},"151":{},"154":{},"156":{},"166":{},"177":{},"179":{},"191":{},"192":{},"201":{},"202":{},"203":{},"211":{},"212":{},"217":{},"260":{},"261":{},"262":{},"273":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["1\",context=\"mycontext\",fromtierlevel=\"0\",type=\"ev",{"_index":6455,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1\",context=\"mycontext\",fromtierlevel=\"0\",type=\"event\",}10.0",{"_index":6458,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1\",context=\"mycontext\",fromtierlevel=\"1\",type=\"snapshot",{"_index":6460,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1,tenant",{"_index":5699,"title":{},"name":{},"text":{"115":{}},"component":{}}],["1.0",{"_index":2474,"title":{},"name":{},"text":{"44":{},"172":{}},"component":{}}],["1.0.0",{"_index":5646,"title":{},"name":{},"text":{"107":{}},"component":{}}],["1.3.jar",{"_index":6736,"title":{},"name":{},"text":{"172":{}},"component":{}}],["1.4.14",{"_index":4300,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.16",{"_index":4301,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.17",{"_index":4265,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.18",{"_index":4263,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.4.jar",{"_index":6739,"title":{},"name":{},"text":{"172":{}},"component":{}}],["1.6",{"_index":7772,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1.65.1",{"_index":6010,"title":{},"name":{},"text":{"140":{},"141":{}},"component":{}}],["1.7.3",{"_index":7743,"title":{},"name":{},"text":{"276":{}},"component":{}}],["1.9.jar",{"_index":6728,"title":{},"name":{},"text":{"172":{}},"component":{}}],["1.intern",{"_index":6405,"title":{},"name":{},"text":{"149":{}},"component":{}}],["1.jar",{"_index":6607,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["1.mydomain.net",{"_index":7221,"title":{},"name":{},"text":{"199":{}},"component":{}}],["1/0",{"_index":8002,"title":{},"name":{},"text":{"284":{}},"component":{}}],["10",{"_index":628,"title":{},"name":{},"text":{"3":{},"38":{},"63":{},"88":{},"102":{},"115":{},"163":{},"179":{},"191":{},"195":{},"196":{},"202":{},"203":{},"250":{},"261":{},"274":{}},"component":{}}],["100",{"_index":745,"title":{},"name":{},"text":{"5":{},"34":{},"38":{},"42":{},"57":{},"72":{},"77":{},"94":{},"96":{},"128":{},"145":{},"147":{},"179":{},"193":{},"206":{},"211":{},"219":{},"250":{},"261":{},"262":{}},"component":{}}],["1000",{"_index":1905,"title":{},"name":{},"text":{"34":{},"38":{},"88":{},"99":{},"102":{},"143":{},"147":{},"163":{},"179":{}},"component":{}}],["1000/minut",{"_index":7638,"title":{},"name":{},"text":{"262":{}},"component":{}}],["10000",{"_index":6541,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["1000000",{"_index":7173,"title":{},"name":{},"text":{"193":{}},"component":{}}],["10001",{"_index":6182,"title":{},"name":{},"text":{"143":{}},"component":{}}],["10002",{"_index":6183,"title":{},"name":{},"text":{"143":{}},"component":{}}],["10003",{"_index":6187,"title":{},"name":{},"text":{"143":{}},"component":{}}],["10007",{"_index":6185,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1001",{"_index":252,"title":{},"name":{},"text":{"3":{},"143":{},"191":{}},"component":{}}],["1002",{"_index":6119,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1003",{"_index":6120,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1004",{"_index":3817,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["1024",{"_index":4994,"title":{},"name":{},"text":{"86":{}},"component":{}}],["1035",{"_index":4412,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1040",{"_index":4410,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1042",{"_index":4409,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1044f17e2323",{"_index":7769,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1056",{"_index":3767,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1077",{"_index":4406,"title":{},"name":{},"text":{"67":{}},"component":{}}],["10m",{"_index":6379,"title":{},"name":{},"text":{"148":{}},"component":{}}],["11",{"_index":6008,"title":{},"name":{},"text":{"140":{},"202":{}},"component":{}}],["11.0",{"_index":6456,"title":{},"name":{},"text":{"151":{}},"component":{}}],["110",{"_index":7507,"title":{},"name":{},"text":{"216":{}},"component":{}}],["1100",{"_index":6121,"title":{},"name":{},"text":{"143":{}},"component":{}}],["11000",{"_index":6190,"title":{},"name":{},"text":{"143":{}},"component":{}}],["11001",{"_index":6191,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1106",{"_index":3447,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1123",{"_index":3440,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1125",{"_index":3514,"title":{},"name":{},"text":{"66":{}},"component":{}}],["113.5",{"_index":7775,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1169",{"_index":3811,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1184",{"_index":3551,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1187",{"_index":4377,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1193",{"_index":3676,"title":{},"name":{},"text":{"66":{}},"component":{}}],["12",{"_index":5186,"title":{},"name":{},"text":{"88":{},"202":{}},"component":{}}],["1200",{"_index":3756,"title":{},"name":{},"text":{"66":{}},"component":{}}],["120000",{"_index":6867,"title":{},"name":{},"text":{"179":{}},"component":{}}],["1211",{"_index":4151,"title":{},"name":{},"text":{"67":{}},"component":{}}],["123",{"_index":4460,"title":{},"name":{},"text":{"69":{}},"component":{}}],["1230",{"_index":4403,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1231",{"_index":4404,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1234",{"_index":7174,"title":{},"name":{},"text":{"193":{},"285":{}},"component":{}}],["1264",{"_index":4401,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1274",{"_index":4399,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1280",{"_index":3673,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1287",{"_index":4398,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1293",{"_index":4405,"title":{},"name":{},"text":{"67":{}},"component":{}}],["13",{"_index":7296,"title":{},"name":{},"text":{"202":{}},"component":{}}],["1300",{"_index":6122,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1301",{"_index":6123,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1302",{"_index":6124,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1304",{"_index":6125,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1305",{"_index":6126,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1315",{"_index":3803,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1323",{"_index":4400,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1325",{"_index":3806,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1333",{"_index":3801,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1338",{"_index":3775,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1363",{"_index":4392,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1371",{"_index":4396,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1372",{"_index":4394,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1377",{"_index":1272,"title":{},"name":{},"text":{"22":{}},"component":{}}],["1391",{"_index":3780,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1394",{"_index":3778,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1397",{"_index":4391,"title":{},"name":{},"text":{"67":{}},"component":{}}],["14",{"_index":7297,"title":{},"name":{},"text":{"202":{}},"component":{}}],["140",{"_index":7604,"title":{},"name":{},"text":{"250":{}},"component":{}}],["1400",{"_index":6127,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1408",{"_index":4388,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1410",{"_index":4386,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1416",{"_index":4389,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1425",{"_index":4385,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1427",{"_index":3671,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1428",{"_index":3783,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1438",{"_index":3787,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1447",{"_index":3779,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1450",{"_index":4374,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1454",{"_index":4382,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1457",{"_index":4383,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1458",{"_index":3446,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1459",{"_index":4384,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1466",{"_index":3548,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1469",{"_index":3759,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1475",{"_index":3670,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1482",{"_index":4363,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1484",{"_index":4360,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1485",{"_index":4364,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1487",{"_index":4371,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1488",{"_index":4367,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1490",{"_index":3537,"title":{},"name":{},"text":{"66":{}},"component":{}}],["15",{"_index":6853,"title":{"215-1":{},"215-13":{}},"name":{},"text":{"179":{},"202":{}},"component":{}}],["15.12mb",{"_index":7766,"title":{},"name":{},"text":{"277":{}},"component":{}}],["15.12mb/79.56mb",{"_index":7770,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1500",{"_index":6128,"title":{},"name":{},"text":{"143":{},"147":{}},"component":{}}],["15000",{"_index":6935,"title":{},"name":{},"text":{"179":{}},"component":{}}],["1509",{"_index":3430,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1510",{"_index":4350,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1536f297fd7e.mock.pstmn.io/list",{"_index":7294,"title":{},"name":{},"text":{"202":{}},"component":{}}],["155",{"_index":7285,"title":{},"name":{},"text":{"202":{}},"component":{}}],["1595",{"_index":4349,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1597",{"_index":4345,"title":{},"name":{},"text":{"67":{}},"component":{}}],["16",{"_index":6917,"title":{"215-5":{}},"name":{},"text":{"179":{},"202":{},"260":{}},"component":{}}],["1607",{"_index":4337,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1612",{"_index":4341,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1621",{"_index":3764,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1629",{"_index":3668,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1630",{"_index":3464,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1645",{"_index":3534,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1646",{"_index":3626,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1656",{"_index":3760,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1660",{"_index":3768,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1665",{"_index":4321,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1666",{"_index":4322,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1669",{"_index":3667,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1674",{"_index":4324,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1680",{"_index":4326,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1683",{"_index":4330,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1689",{"_index":4311,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1691",{"_index":3663,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1695",{"_index":4317,"title":{},"name":{},"text":{"67":{}},"component":{}}],["16b7152",{"_index":4313,"title":{},"name":{},"text":{"67":{}},"component":{}}],["17",{"_index":1602,"title":{},"name":{},"text":{"31":{},"124":{},"140":{}},"component":{}}],["1700",{"_index":6129,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1711",{"_index":3628,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1712",{"_index":3757,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1723",{"_index":3660,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1733",{"_index":3769,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1742",{"_index":4290,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1771",{"_index":4293,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1772",{"_index":3547,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1778",{"_index":4295,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1786",{"_index":4298,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1792",{"_index":4296,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1796",{"_index":3659,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1797",{"_index":3658,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1821",{"_index":4285,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1826",{"_index":3486,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1828",{"_index":3365,"title":{},"name":{},"text":{"66":{}},"component":{}}],["183",{"_index":5908,"title":{},"name":{},"text":{"126":{}},"component":{}}],["1830",{"_index":3657,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1842",{"_index":4288,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1853",{"_index":4281,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1854",{"_index":4284,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1866",{"_index":4280,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1889",{"_index":3655,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1892",{"_index":4269,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1895",{"_index":4272,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1898",{"_index":3651,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1899",{"_index":3654,"title":{},"name":{},"text":{"66":{}},"component":{}}],["19",{"_index":7476,"title":{"215-9":{},"215-21":{}},"name":{},"text":{},"component":{}}],["1900",{"_index":6130,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1901",{"_index":3650,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1905",{"_index":3648,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["1910",{"_index":3647,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1915",{"_index":3645,"title":{},"name":{},"text":{"66":{}},"component":{}}],["192",{"_index":5907,"title":{},"name":{},"text":{"126":{}},"component":{}}],["192.4",{"_index":7777,"title":{},"name":{},"text":{"277":{}},"component":{}}],["192.8",{"_index":7780,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1920",{"_index":3724,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1929",{"_index":3546,"title":{},"name":{},"text":{"66":{}},"component":{}}],["193",{"_index":5906,"title":{},"name":{},"text":{"126":{}},"component":{}}],["1930",{"_index":3544,"title":{},"name":{},"text":{"66":{}},"component":{}}],["194.9",{"_index":7773,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1963",{"_index":4253,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1964",{"_index":3517,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1967",{"_index":3531,"title":{},"name":{},"text":{"66":{}},"component":{}}],["197",{"_index":5905,"title":{},"name":{},"text":{"126":{}},"component":{}}],["1970/01/01",{"_index":7181,"title":{},"name":{},"text":{"194":{}},"component":{}}],["1974",{"_index":3640,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1975",{"_index":3641,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1981",{"_index":4196,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1986",{"_index":3540,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1987",{"_index":3638,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1989",{"_index":3542,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1992",{"_index":3539,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1995",{"_index":3536,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1997",{"_index":3533,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1999",{"_index":4255,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1d",{"_index":6473,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1ee6",{"_index":7908,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["1gi",{"_index":637,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["1m",{"_index":6378,"title":{},"name":{},"text":{"148":{}},"component":{}}],["2",{"_index":422,"title":{"32-4":{},"33-3":{},"33-7":{},"88-24":{},"237-2":{}},"name":{},"text":{"3":{},"14":{},"17":{},"20":{},"24":{},"34":{},"35":{},"38":{},"39":{},"46":{},"47":{},"51":{},"56":{},"63":{},"64":{},"66":{},"69":{},"71":{},"72":{},"77":{},"82":{},"84":{},"85":{},"88":{},"138":{},"141":{},"144":{},"149":{},"150":{},"154":{},"157":{},"166":{},"177":{},"178":{},"191":{},"192":{},"198":{},"200":{},"201":{},"202":{},"203":{},"211":{},"261":{},"262":{},"273":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["2,tenant",{"_index":5700,"title":{},"name":{},"text":{"115":{}},"component":{}}],["2.0",{"_index":2475,"title":{},"name":{},"text":{"44":{},"175":{}},"component":{}}],["2.0.1.final.jar",{"_index":6755,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.1.6.release.jar",{"_index":6748,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.1.jar",{"_index":6732,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.2.jar",{"_index":6734,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.3.4.release.jar",{"_index":6609,"title":{},"name":{},"text":{"170":{}},"component":{}}],["2.6.0",{"_index":4256,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2.intern",{"_index":6410,"title":{},"name":{},"text":{"149":{}},"component":{}}],["2.mydomain.net",{"_index":7222,"title":{},"name":{},"text":{"199":{}},"component":{}}],["2.x",{"_index":3398,"title":{},"name":{},"text":{"66":{}},"component":{}}],["20",{"_index":815,"title":{},"name":{},"text":{"5":{},"38":{},"72":{},"179":{}},"component":{}}],["200",{"_index":2222,"title":{},"name":{},"text":{"38":{},"141":{},"145":{},"179":{},"185":{},"262":{},"273":{},"280":{},"283":{}},"component":{}}],["2000",{"_index":6131,"title":{},"name":{},"text":{"143":{},"147":{},"179":{}},"component":{}}],["2001",{"_index":3530,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2002",{"_index":6132,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2008",{"_index":3635,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2016",{"_index":1442,"title":{},"name":{},"text":{"29":{},"66":{}},"component":{}}],["2020",{"_index":3529,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2021",{"_index":3504,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["2022",{"_index":3721,"title":{},"name":{},"text":{"66":{},"217":{}},"component":{}}],["2023",{"_index":137,"title":{"215-13":{},"215-17":{},"215-21":{}},"name":{},"text":{"2":{}},"component":{}}],["2023.0",{"_index":5999,"title":{"140-24":{}},"name":{},"text":{"138":{},"140":{}},"component":{}}],["2023.0.0",{"_index":6041,"title":{},"name":{},"text":{"140":{},"206":{}},"component":{}}],["2023.1",{"_index":212,"title":{"140-14":{},"141-22":{}},"name":{},"text":{"3":{},"138":{},"140":{},"173":{},"191":{},"192":{}},"component":{}}],["2023.1.0",{"_index":6265,"title":{},"name":{},"text":{"145":{}},"component":{}}],["2023.1.1",{"_index":397,"title":{"141-25":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["2023.1.2",{"_index":6073,"title":{"141-23":{}},"name":{},"text":{},"component":{}}],["2023.2",{"_index":293,"title":{"140-9":{},"141-10":{}},"name":{},"text":{"3":{},"138":{},"140":{},"191":{}},"component":{}}],["2023.2.0",{"_index":282,"title":{},"name":{},"text":{"3":{},"67":{},"141":{},"176":{},"186":{},"191":{}},"component":{}}],["2023.2.1",{"_index":6072,"title":{"141-20":{}},"name":{},"text":{"141":{}},"component":{}}],["2023.2.10",{"_index":6063,"title":{"141-11":{}},"name":{},"text":{},"component":{}}],["2023.2.2",{"_index":6071,"title":{"141-19":{}},"name":{},"text":{},"component":{}}],["2023.2.3",{"_index":6070,"title":{"141-18":{}},"name":{},"text":{},"component":{}}],["2023.2.4",{"_index":6069,"title":{"141-17":{}},"name":{},"text":{"141":{}},"component":{}}],["2023.2.5",{"_index":6068,"title":{"141-16":{}},"name":{},"text":{},"component":{}}],["2023.2.6",{"_index":6067,"title":{"141-15":{}},"name":{},"text":{},"component":{}}],["2023.2.7",{"_index":6066,"title":{"141-14":{}},"name":{},"text":{},"component":{}}],["2023.2.8",{"_index":6065,"title":{"141-13":{}},"name":{},"text":{},"component":{}}],["2023.2.9",{"_index":6064,"title":{"141-12":{}},"name":{},"text":{},"component":{}}],["2024",{"_index":150,"title":{"215-1":{},"215-5":{},"215-9":{}},"name":{},"text":{"2":{},"280":{}},"component":{}}],["2024.0",{"_index":693,"title":{"140-6":{}},"name":{},"text":{"4":{},"138":{},"140":{}},"component":{}}],["2024.0.0",{"_index":685,"title":{"4":{}},"name":{},"text":{"4":{},"186":{}},"component":{}}],["2024.0.1",{"_index":6062,"title":{"141-9":{}},"name":{},"text":{},"component":{}}],["2024.0.2",{"_index":6061,"title":{"141-8":{}},"name":{},"text":{},"component":{}}],["2024.0.3",{"_index":6060,"title":{"141-7":{}},"name":{},"text":{},"component":{}}],["2024.0.4",{"_index":6059,"title":{"141-6":{}},"name":{},"text":{},"component":{}}],["2024.1",{"_index":5394,"title":{"140-1":{},"141-1":{}},"name":{},"text":{"89":{},"138":{}},"component":{}}],["2024.1.0",{"_index":6009,"title":{},"name":{},"text":{"140":{}},"component":{}}],["2024.1.1",{"_index":6058,"title":{"141-5":{}},"name":{},"text":{},"component":{}}],["2024.1.2",{"_index":6057,"title":{"141-4":{}},"name":{},"text":{},"component":{}}],["2024.1.3",{"_index":6056,"title":{"141-3":{}},"name":{},"text":{},"component":{}}],["2024.1.4",{"_index":6055,"title":{"141-2":{}},"name":{},"text":{},"component":{}}],["2028",{"_index":3633,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2033",{"_index":3631,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2037",{"_index":4199,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2038",{"_index":4243,"title":{},"name":{},"text":{"67":{}},"component":{}}],["204",{"_index":7492,"title":{},"name":{},"text":{"215":{}},"component":{}}],["2040",{"_index":4244,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2041",{"_index":4198,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2045",{"_index":3525,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2051",{"_index":4248,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2052",{"_index":4245,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2061",{"_index":3629,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2062",{"_index":3627,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2063",{"_index":3625,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2065",{"_index":3623,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2066",{"_index":3621,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2067",{"_index":4237,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2071",{"_index":3523,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2073",{"_index":3619,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2074",{"_index":3412,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2082",{"_index":4234,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2088",{"_index":3719,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2093",{"_index":3617,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2095",{"_index":3618,"title":{},"name":{},"text":{"66":{}},"component":{}}],["20xx.2",{"_index":5998,"title":{},"name":{},"text":{"138":{}},"component":{}}],["20xx.{0..2}.0",{"_index":5996,"title":{},"name":{},"text":{"138":{}},"component":{}}],["21",{"_index":7817,"title":{},"name":{},"text":{"279":{},"284":{}},"component":{}}],["2100",{"_index":6135,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2101",{"_index":3616,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2105",{"_index":3614,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2106",{"_index":3612,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2107",{"_index":6136,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2108",{"_index":6138,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2110",{"_index":3521,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2115",{"_index":3718,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2116",{"_index":3717,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2124",{"_index":3715,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2125",{"_index":3520,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2127",{"_index":4229,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2129",{"_index":3462,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2130",{"_index":3519,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2136",{"_index":3610,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2139",{"_index":3609,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2140",{"_index":3608,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2141",{"_index":3516,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2144",{"_index":3513,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2146",{"_index":3512,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2148",{"_index":3607,"title":{},"name":{},"text":{"66":{}},"component":{}}],["215.7",{"_index":7787,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2154",{"_index":4225,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2156",{"_index":3511,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2168",{"_index":4226,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2170",{"_index":3605,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2171",{"_index":3603,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2173",{"_index":3602,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2174",{"_index":3601,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2177",{"_index":4222,"title":{},"name":{},"text":{"67":{}},"component":{}}],["218.0",{"_index":7785,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2180",{"_index":3713,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2182",{"_index":3509,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2183",{"_index":3508,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2192",{"_index":3445,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2197",{"_index":3599,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2198",{"_index":3501,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2200",{"_index":6139,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2206",{"_index":3597,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2209",{"_index":3596,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2210",{"_index":4215,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2212",{"_index":3595,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2213",{"_index":3594,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2215",{"_index":3710,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2218",{"_index":3709,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2222",{"_index":3592,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2223",{"_index":3708,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2225",{"_index":4220,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2228",{"_index":3387,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2237",{"_index":3706,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2238",{"_index":3704,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2239",{"_index":3506,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2240",{"_index":3703,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2242",{"_index":4207,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2243",{"_index":4192,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2244",{"_index":3589,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2245",{"_index":4210,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2246",{"_index":4209,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2248",{"_index":4208,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2250",{"_index":3587,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2254",{"_index":3700,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2256",{"_index":4206,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2257",{"_index":4205,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2258",{"_index":3505,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2259",{"_index":3586,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2262",{"_index":3585,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2263",{"_index":4204,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2264",{"_index":3584,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2265",{"_index":3580,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2266",{"_index":3577,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2268",{"_index":3696,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2269",{"_index":3698,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2270",{"_index":3576,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2274",{"_index":4202,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2275",{"_index":4201,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2276",{"_index":4197,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2277",{"_index":4200,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2280",{"_index":3574,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2285",{"_index":4195,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2286",{"_index":4194,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2287",{"_index":4193,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2289",{"_index":4189,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2290",{"_index":4178,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2291",{"_index":4191,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2292",{"_index":4179,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2293",{"_index":4188,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2294",{"_index":3503,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2295",{"_index":3572,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2298",{"_index":4186,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2299",{"_index":4185,"title":{},"name":{},"text":{"67":{}},"component":{}}],["22t173839.200.json",{"_index":7940,"title":{},"name":{},"text":{"280":{}},"component":{}}],["22t21:37:00.000+00:00",{"_index":7519,"title":{},"name":{},"text":{"217":{}},"component":{}}],["22t21:37:01.000+00:00",{"_index":7522,"title":{},"name":{},"text":{"217":{}},"component":{}}],["2300",{"_index":4184,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2301",{"_index":3502,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2302",{"_index":6140,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2303",{"_index":6141,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2304",{"_index":6142,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2305",{"_index":4182,"title":{},"name":{},"text":{"67":{},"143":{}},"component":{}}],["2306",{"_index":6143,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2307",{"_index":3498,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2308",{"_index":3570,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2309",{"_index":3695,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2310",{"_index":6145,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2311",{"_index":4180,"title":{},"name":{},"text":{"67":{},"143":{}},"component":{}}],["2312",{"_index":3499,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2317",{"_index":3692,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2319",{"_index":3694,"title":{},"name":{},"text":{"66":{}},"component":{}}],["232",{"_index":5782,"title":{},"name":{},"text":{"119":{}},"component":{}}],["2320",{"_index":3569,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2321",{"_index":3567,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2328",{"_index":3563,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2330",{"_index":3562,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2331",{"_index":3689,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2332",{"_index":3691,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2333",{"_index":3688,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2336",{"_index":3687,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2340",{"_index":3686,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2341",{"_index":3683,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2342",{"_index":3561,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2343",{"_index":3685,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2344",{"_index":3560,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2345",{"_index":3558,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2346",{"_index":3557,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2347",{"_index":3682,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2348",{"_index":3497,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2350",{"_index":3368,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2351",{"_index":3436,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2353",{"_index":3556,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2354",{"_index":3555,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2356",{"_index":3554,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2360",{"_index":3553,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2364",{"_index":4173,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2367",{"_index":4171,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2368",{"_index":4177,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2369",{"_index":4175,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2370",{"_index":4172,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2382",{"_index":4167,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2383",{"_index":3470,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2389",{"_index":4159,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2389b0240d5b",{"_index":7783,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2390",{"_index":4168,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2393",{"_index":4154,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2396",{"_index":4164,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2398",{"_index":4165,"title":{},"name":{},"text":{"67":{}},"component":{}}],["24",{"_index":4812,"title":{},"name":{},"text":{"79":{},"179":{}},"component":{}}],["2400",{"_index":3480,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2401",{"_index":4163,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2403",{"_index":3386,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2404",{"_index":3482,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2407",{"_index":4161,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2409",{"_index":4158,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2411",{"_index":4146,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2412",{"_index":4155,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2413",{"_index":4153,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2414",{"_index":4144,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2418",{"_index":3481,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2420",{"_index":3422,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2421",{"_index":3418,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2423",{"_index":4152,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2424",{"_index":4150,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2426",{"_index":4149,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2427",{"_index":3328,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2428",{"_index":4147,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2431",{"_index":4136,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2433",{"_index":4142,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2434",{"_index":4139,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2436",{"_index":4135,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2441",{"_index":4134,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2444",{"_index":4097,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2445",{"_index":4120,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2446",{"_index":4098,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2448",{"_index":4132,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2449",{"_index":4112,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2451",{"_index":4129,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2453",{"_index":3385,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2454",{"_index":4126,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2455",{"_index":4128,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2456",{"_index":4101,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2458",{"_index":4125,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2459",{"_index":4122,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2461",{"_index":3384,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2462",{"_index":4118,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2463",{"_index":4119,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2464",{"_index":4110,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2465",{"_index":4116,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2466",{"_index":4104,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2468",{"_index":4113,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2469",{"_index":4111,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2470",{"_index":4100,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2472",{"_index":4109,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2473",{"_index":4105,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2474",{"_index":4106,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2475",{"_index":3488,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2476",{"_index":3434,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2481",{"_index":4094,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2482",{"_index":4096,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2483",{"_index":4093,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2485",{"_index":4091,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2486",{"_index":4080,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2487",{"_index":3476,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2497",{"_index":4089,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2498",{"_index":3444,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2499",{"_index":3443,"title":{},"name":{},"text":{"66":{}},"component":{}}],["25",{"_index":7639,"title":{},"name":{},"text":{"262":{}},"component":{}}],["250",{"_index":6328,"title":{},"name":{},"text":{"147":{},"261":{}},"component":{}}],["2500",{"_index":6146,"title":{},"name":{},"text":{"143":{},"179":{}},"component":{}}],["2501",{"_index":6147,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2502",{"_index":6148,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2507",{"_index":3417,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2509",{"_index":3442,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2510",{"_index":3474,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2511",{"_index":6149,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2512",{"_index":4088,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2514",{"_index":4084,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2517",{"_index":4086,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2525",{"_index":4085,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2526",{"_index":3473,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2527",{"_index":3441,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2528",{"_index":4083,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2530",{"_index":3469,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2531",{"_index":4082,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2532",{"_index":4078,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2533",{"_index":4081,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2536",{"_index":3467,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2544",{"_index":3466,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2545",{"_index":3439,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2547",{"_index":3437,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2548",{"_index":3435,"title":{},"name":{},"text":{"66":{}},"component":{}}],["255",{"_index":4806,"title":{},"name":{},"text":{"79":{},"141":{}},"component":{}}],["2550",{"_index":3465,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2551",{"_index":3433,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2552",{"_index":3463,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2555",{"_index":4053,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2561",{"_index":3453,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2562",{"_index":3461,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2564",{"_index":3415,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2566",{"_index":3460,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2569",{"_index":3414,"title":{},"name":{},"text":{"66":{}},"component":{}}],["256mb",{"_index":6855,"title":{},"name":{},"text":{"179":{}},"component":{}}],["2574",{"_index":3456,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2575",{"_index":3413,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2578",{"_index":3452,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2581",{"_index":3380,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2582",{"_index":3383,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2584",{"_index":4064,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2585",{"_index":4062,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2586",{"_index":4059,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2587",{"_index":3411,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2591",{"_index":4058,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2592",{"_index":4055,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2595",{"_index":4076,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2596",{"_index":4037,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2597",{"_index":4036,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2598",{"_index":3410,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2604",{"_index":4048,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2606",{"_index":3408,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2607",{"_index":4051,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2608",{"_index":3379,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2610",{"_index":6189,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2611",{"_index":4038,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2612",{"_index":4075,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2613",{"_index":4047,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2617",{"_index":4045,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2620",{"_index":4043,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2621",{"_index":4074,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2622",{"_index":3407,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2624",{"_index":4044,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2625",{"_index":4040,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2626",{"_index":4042,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2628",{"_index":3404,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2629",{"_index":3405,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2630",{"_index":4034,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2631",{"_index":4029,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2633",{"_index":3403,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2635",{"_index":4035,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2637",{"_index":4032,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2638",{"_index":4003,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2639",{"_index":3374,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2640",{"_index":3376,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2644",{"_index":4024,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2650",{"_index":3402,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2656",{"_index":3377,"title":{},"name":{},"text":{"66":{}},"component":{}}],["266.7",{"_index":7771,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2660",{"_index":3401,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2661",{"_index":3375,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2662",{"_index":3400,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2663",{"_index":3399,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2669",{"_index":4023,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2675",{"_index":4028,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2678",{"_index":4027,"title":{},"name":{},"text":{"67":{}},"component":{}}],["268.9",{"_index":7768,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2683",{"_index":3424,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2686",{"_index":4026,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2688",{"_index":4025,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2689",{"_index":3360,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2690",{"_index":4022,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2694",{"_index":4073,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2695",{"_index":4021,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2696",{"_index":4072,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2698",{"_index":4071,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2700",{"_index":3397,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2701",{"_index":6150,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2704",{"_index":4068,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2708",{"_index":3373,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2709",{"_index":3421,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2714",{"_index":4065,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2716",{"_index":4067,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2721",{"_index":3396,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2722",{"_index":3371,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2724",{"_index":3394,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2726",{"_index":4020,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2727",{"_index":3393,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2729",{"_index":3370,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2736",{"_index":4019,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2742",{"_index":3348,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2743",{"_index":3369,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2744",{"_index":3367,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2745",{"_index":3364,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2750",{"_index":3363,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2751",{"_index":4017,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2752",{"_index":4009,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2753",{"_index":3361,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2755",{"_index":3390,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2756",{"_index":4015,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2757",{"_index":3392,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2759",{"_index":4012,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2763",{"_index":3389,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2769",{"_index":3347,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2776",{"_index":3327,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2777",{"_index":3326,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2778",{"_index":3310,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2780",{"_index":3346,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2783",{"_index":3354,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2785",{"_index":4002,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2790",{"_index":3324,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2792",{"_index":4008,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2794",{"_index":4007,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2795",{"_index":4006,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2796",{"_index":4001,"title":{},"name":{},"text":{"67":{}},"component":{}}],["28",{"_index":4813,"title":{},"name":{},"text":{"79":{}},"component":{}}],["2800",{"_index":6151,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2801",{"_index":3323,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2802",{"_index":3998,"title":{},"name":{},"text":{"67":{},"143":{}},"component":{}}],["2803",{"_index":3322,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2804",{"_index":3997,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2805",{"_index":3345,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2807",{"_index":3321,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2809",{"_index":3989,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2810",{"_index":3343,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2814",{"_index":3996,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2815",{"_index":3319,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2817",{"_index":3342,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2818",{"_index":3340,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2819",{"_index":3317,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2820",{"_index":3988,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2824",{"_index":3339,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2826",{"_index":3338,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2827",{"_index":3994,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2828",{"_index":3992,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2829",{"_index":3337,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2830",{"_index":3336,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2833",{"_index":3352,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2834",{"_index":3335,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2835",{"_index":3316,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2843",{"_index":3331,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2844",{"_index":3980,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2845",{"_index":3983,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2846",{"_index":3984,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2852",{"_index":3981,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2853",{"_index":3332,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2855",{"_index":3975,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2862",{"_index":3350,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2866",{"_index":3330,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2868",{"_index":3315,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2869",{"_index":3978,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2870",{"_index":3977,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2871",{"_index":3982,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2883",{"_index":3290,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2888",{"_index":3973,"title":{},"name":{},"text":{"67":{}},"component":{}}],["29.19mb",{"_index":7781,"title":{},"name":{},"text":{"277":{}},"component":{}}],["29.19mb/55.7mb",{"_index":7784,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2900",{"_index":3962,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2903",{"_index":3964,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2908",{"_index":3970,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2909",{"_index":3963,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2910",{"_index":3288,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2913",{"_index":3974,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2914",{"_index":3969,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2917",{"_index":3961,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2936",{"_index":3967,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2944",{"_index":3285,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2947",{"_index":3958,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2948",{"_index":3273,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2955",{"_index":3953,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2957",{"_index":3954,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2958",{"_index":3943,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2960",{"_index":3952,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2963",{"_index":3950,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2964",{"_index":3948,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2974",{"_index":3941,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2976",{"_index":3933,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2977",{"_index":3940,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2978",{"_index":3284,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2985",{"_index":3938,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2986",{"_index":3935,"title":{},"name":{},"text":{"67":{}},"component":{}}],["29e6b66d6884",{"_index":7779,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2be7f236dde6",{"_index":7518,"title":{},"name":{},"text":{"217":{}},"component":{}}],["2cd6",{"_index":7936,"title":{},"name":{},"text":{"280":{}},"component":{}}],["2d4a49de79de.mock.pstmn.io/card",{"_index":7304,"title":{},"name":{},"text":{"202":{}},"component":{}}],["2s",{"_index":7419,"title":{},"name":{},"text":{"206":{}},"component":{}}],["3",{"_index":418,"title":{"33-4":{},"33-8":{},"88-25":{},"237-3":{}},"name":{},"text":{"3":{},"14":{},"17":{},"20":{},"24":{},"33":{},"34":{},"35":{},"39":{},"47":{},"56":{},"63":{},"66":{},"69":{},"71":{},"77":{},"82":{},"85":{},"88":{},"111":{},"115":{},"124":{},"144":{},"149":{},"154":{},"157":{},"166":{},"177":{},"179":{},"191":{},"199":{},"200":{},"201":{},"202":{},"203":{},"208":{},"237":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["3.1.6",{"_index":3968,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3.2.2",{"_index":5982,"title":{},"name":{},"text":{"133":{}},"component":{}}],["3.3",{"_index":434,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["3.3.0",{"_index":7819,"title":{},"name":{},"text":{"279":{}},"component":{}}],["3.8.1.jar",{"_index":6730,"title":{},"name":{},"text":{"172":{}},"component":{}}],["3.8.6",{"_index":3568,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3.intern",{"_index":6411,"title":{},"name":{},"text":{"149":{}},"component":{}}],["3.mydomain.net",{"_index":7223,"title":{},"name":{},"text":{"199":{}},"component":{}}],["3.x",{"_index":3812,"title":{},"name":{},"text":{"66":{}},"component":{}}],["30",{"_index":626,"title":{},"name":{},"text":{"3":{},"17":{},"22":{},"40":{},"74":{},"88":{},"102":{},"142":{},"179":{},"191":{},"206":{}},"component":{}}],["300",{"_index":6905,"title":{},"name":{},"text":{"179":{},"262":{}},"component":{}}],["3000",{"_index":5615,"title":{},"name":{},"text":{"104":{},"179":{}},"component":{}}],["30000",{"_index":6936,"title":{},"name":{},"text":{"179":{}},"component":{}}],["300000",{"_index":6892,"title":{},"name":{},"text":{"179":{}},"component":{}}],["3004",{"_index":6160,"title":{},"name":{},"text":{"143":{}},"component":{}}],["3005",{"_index":6161,"title":{},"name":{},"text":{"143":{}},"component":{}}],["3007",{"_index":3278,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3009",{"_index":3281,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3028",{"_index":3277,"title":{},"name":{},"text":{"66":{}},"component":{}}],["303",{"_index":2733,"title":{},"name":{},"text":{"51":{}},"component":{}}],["3030",{"_index":3272,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3032",{"_index":3297,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3041",{"_index":3294,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3043",{"_index":3274,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3046",{"_index":3292,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3054",{"_index":3928,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3078",{"_index":3926,"title":{},"name":{},"text":{"67":{}},"component":{}}],["30_000",{"_index":1158,"title":{},"name":{},"text":{"17":{}},"component":{}}],["31",{"_index":1283,"title":{},"name":{},"text":{"22":{}},"component":{}}],["3117",{"_index":3924,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3119",{"_index":3922,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3123",{"_index":3919,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3124",{"_index":3921,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3126",{"_index":3930,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3130",{"_index":3929,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3149",{"_index":3895,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3156",{"_index":3910,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3157",{"_index":3905,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3158",{"_index":3907,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3160",{"_index":3904,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3161",{"_index":3897,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3163",{"_index":3903,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3164",{"_index":3900,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3171",{"_index":3890,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3173",{"_index":3914,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3176",{"_index":3912,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3183",{"_index":3894,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3193",{"_index":3888,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3196",{"_index":3889,"title":{},"name":{},"text":{"67":{}},"component":{}}],["31c70e9d0593.mock.pstmn.io/gift",{"_index":7276,"title":{},"name":{},"text":{"202":{}},"component":{}}],["32767",{"_index":6133,"title":{},"name":{},"text":{"143":{},"179":{}},"component":{}}],["32kb",{"_index":6941,"title":{},"name":{},"text":{"179":{}},"component":{}}],["34",{"_index":7942,"title":{},"name":{},"text":{"280":{}},"component":{}}],["34m",{"_index":7941,"title":{},"name":{},"text":{"280":{}},"component":{}}],["36",{"_index":4807,"title":{},"name":{},"text":{"79":{},"283":{}},"component":{}}],["3600000",{"_index":6939,"title":{},"name":{},"text":{"179":{}},"component":{}}],["389",{"_index":6614,"title":{},"name":{},"text":{"170":{}},"component":{}}],["3a38",{"_index":7931,"title":{},"name":{},"text":{"280":{}},"component":{}}],["3s",{"_index":7429,"title":{},"name":{},"text":{"206":{}},"component":{}}],["4",{"_index":205,"title":{},"name":{"33":{}},"text":{"3":{},"5":{},"20":{},"24":{},"34":{},"38":{},"56":{},"57":{},"63":{},"72":{},"82":{},"85":{},"88":{},"89":{},"140":{},"157":{},"179":{},"191":{},"201":{},"202":{},"203":{},"279":{},"280":{},"281":{},"284":{}},"component":{}}],["4.0",{"_index":3268,"title":{"66-42":{},"67-141":{}},"name":{},"text":{"65":{},"66":{},"67":{}},"component":{}}],["4.0.1",{"_index":3886,"title":{"67-145":{}},"name":{},"text":{},"component":{}}],["4.0.2",{"_index":3885,"title":{"67-144":{}},"name":{},"text":{},"component":{}}],["4.0.3",{"_index":3884,"title":{"67-143":{}},"name":{},"text":{},"component":{}}],["4.0.4",{"_index":3883,"title":{"67-142":{}},"name":{},"text":{},"component":{}}],["4.1",{"_index":3267,"title":{"66-39":{},"67-138":{}},"name":{},"text":{"65":{}},"component":{}}],["4.1.1",{"_index":3882,"title":{"67-140":{}},"name":{},"text":{},"component":{}}],["4.1.2",{"_index":3881,"title":{"67-139":{}},"name":{},"text":{},"component":{}}],["4.10",{"_index":3260,"title":{"66-1":{},"67-1":{},"93-1":{},"95-1":{},"103-1":{},"109-1":{},"112-1":{},"122-1":{},"126-1":{},"131-1":{},"134-1":{}},"name":{},"text":{"65":{},"126":{},"134":{},"140":{}},"component":{}}],["4.10.0",{"_index":5428,"title":{"98-1":{},"119-1":{}},"name":{},"text":{"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{}},"component":{}}],["4.10.1",{"_index":3829,"title":{"67-11":{},"119-7":{},"126-3":{}},"name":{},"text":{},"component":{}}],["4.10.2",{"_index":3828,"title":{"67-6":{},"119-6":{}},"name":{},"text":{},"component":{}}],["4.10.3",{"_index":3827,"title":{"67-2":{},"119-3":{}},"name":{},"text":{},"component":{}}],["4.2",{"_index":3266,"title":{"66-36":{},"67-135":{}},"name":{},"text":{"65":{},"150":{}},"component":{}}],["4.2.1",{"_index":3880,"title":{"67-137":{}},"name":{},"text":{"189":{}},"component":{}}],["4.2.2",{"_index":3879,"title":{"67-136":{}},"name":{},"text":{"67":{}},"component":{}}],["4.3",{"_index":3265,"title":{"66-33":{},"67-129":{}},"name":{},"text":{"65":{},"66":{},"67":{},"142":{},"149":{},"156":{},"192":{}},"component":{}}],["4.3.1",{"_index":3878,"title":{"67-134":{}},"name":{},"text":{},"component":{}}],["4.3.2",{"_index":3877,"title":{"67-133":{}},"name":{},"text":{},"component":{}}],["4.3.3",{"_index":3876,"title":{"67-132":{}},"name":{},"text":{"67":{}},"component":{}}],["4.3.4",{"_index":3875,"title":{"67-131":{}},"name":{},"text":{"67":{}},"component":{}}],["4.3.5",{"_index":3874,"title":{"67-130":{}},"name":{},"text":{},"component":{}}],["4.4",{"_index":3264,"title":{"66-30":{},"67-119":{}},"name":{},"text":{"65":{},"66":{},"67":{},"133":{},"140":{},"147":{},"150":{},"156":{}},"component":{}}],["4.4.1",{"_index":3873,"title":{"67-128":{}},"name":{},"text":{},"component":{}}],["4.4.10",{"_index":6951,"title":{},"name":{},"text":{"179":{}},"component":{}}],["4.4.14",{"_index":6869,"title":{},"name":{},"text":{"179":{}},"component":{}}],["4.4.2",{"_index":3872,"title":{"67-127":{}},"name":{},"text":{},"component":{}}],["4.4.3",{"_index":3871,"title":{"67-126":{}},"name":{},"text":{"67":{}},"component":{}}],["4.4.4",{"_index":3870,"title":{"67-125":{}},"name":{},"text":{"67":{}},"component":{}}],["4.4.5",{"_index":3869,"title":{"67-124":{}},"name":{},"text":{},"component":{}}],["4.4.6",{"_index":3868,"title":{"67-123":{}},"name":{},"text":{"67":{}},"component":{}}],["4.4.7",{"_index":3867,"title":{"67-122":{}},"name":{},"text":{"67":{},"179":{}},"component":{}}],["4.4.8",{"_index":3866,"title":{"67-121":{}},"name":{},"text":{"67":{},"179":{}},"component":{}}],["4.4.9",{"_index":3865,"title":{"67-120":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5",{"_index":3263,"title":{"66-27":{},"67-94":{}},"name":{},"text":{"65":{},"66":{},"67":{},"148":{},"170":{},"172":{}},"component":{}}],["4.5.1",{"_index":3864,"title":{"67-118":{}},"name":{},"text":{"170":{}},"component":{}}],["4.5.1.jar",{"_index":6605,"title":{},"name":{},"text":{"170":{}},"component":{}}],["4.5.10",{"_index":3855,"title":{"67-109":{}},"name":{},"text":{},"component":{}}],["4.5.11",{"_index":3854,"title":{"67-106":{}},"name":{},"text":{},"component":{}}],["4.5.12",{"_index":3853,"title":{"67-104":{}},"name":{},"text":{"142":{}},"component":{}}],["4.5.13",{"_index":3852,"title":{"67-100":{}},"name":{},"text":{"67":{},"170":{}},"component":{}}],["4.5.14",{"_index":3851,"title":{"67-98":{}},"name":{},"text":{},"component":{}}],["4.5.15",{"_index":3850,"title":{"67-95":{}},"name":{},"text":{},"component":{}}],["4.5.17",{"_index":6114,"title":{},"name":{},"text":{"142":{}},"component":{}}],["4.5.2",{"_index":3863,"title":{"67-117":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.3",{"_index":3862,"title":{"67-116":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.4",{"_index":3861,"title":{"67-115":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.5",{"_index":3860,"title":{"67-114":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.6",{"_index":3859,"title":{"67-113":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.7",{"_index":3858,"title":{"67-112":{}},"name":{},"text":{},"component":{}}],["4.5.8",{"_index":3857,"title":{"67-111":{}},"name":{},"text":{},"component":{}}],["4.5.9",{"_index":3856,"title":{"67-110":{}},"name":{},"text":{"67":{}},"component":{}}],["4.6",{"_index":1402,"title":{"66-22":{},"67-65":{},"144-6":{}},"name":{},"text":{"28":{},"65":{},"66":{},"67":{},"117":{},"144":{}},"component":{}}],["4.6.0",{"_index":1718,"title":{},"name":{},"text":{"32":{},"46":{},"66":{},"67":{},"163":{},"257":{}},"component":{}}],["4.6.1",{"_index":3849,"title":{"67-91":{}},"name":{},"text":{"144":{}},"component":{}}],["4.6.11",{"_index":284,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["4.6.2",{"_index":3848,"title":{"67-86":{}},"name":{},"text":{},"component":{}}],["4.6.3",{"_index":3847,"title":{"67-82":{}},"name":{},"text":{},"component":{}}],["4.6.4",{"_index":3846,"title":{"67-79":{}},"name":{},"text":{},"component":{}}],["4.6.5",{"_index":3845,"title":{"67-76":{}},"name":{},"text":{},"component":{}}],["4.6.6",{"_index":3844,"title":{"67-73":{}},"name":{},"text":{},"component":{}}],["4.6.7",{"_index":3843,"title":{"67-70":{}},"name":{},"text":{},"component":{}}],["4.6.8",{"_index":3842,"title":{"67-66":{}},"name":{},"text":{},"component":{}}],["4.6.x",{"_index":1779,"title":{},"name":{},"text":{"33":{}},"component":{}}],["4.7",{"_index":1401,"title":{"33":{},"66-17":{},"67-41":{}},"name":{},"text":{"28":{},"33":{},"65":{},"66":{},"67":{}},"component":{}}],["4.7.0",{"_index":1778,"title":{},"name":{},"text":{"33":{}},"component":{}}],["4.7.1",{"_index":3841,"title":{"67-62":{}},"name":{},"text":{},"component":{}}],["4.7.2",{"_index":3840,"title":{"67-57":{}},"name":{},"text":{},"component":{}}],["4.7.3",{"_index":3839,"title":{"67-53":{}},"name":{},"text":{},"component":{}}],["4.7.4",{"_index":3838,"title":{"67-49":{}},"name":{},"text":{},"component":{}}],["4.7.5",{"_index":3837,"title":{"67-46":{}},"name":{},"text":{},"component":{}}],["4.7.6",{"_index":3836,"title":{"67-42":{}},"name":{},"text":{},"component":{}}],["4.7.x",{"_index":1789,"title":{},"name":{},"text":{"33":{},"97":{}},"component":{}}],["4.8",{"_index":3262,"title":{"66-12":{},"67-28":{}},"name":{},"text":{"65":{},"97":{}},"component":{}}],["4.8.0",{"_index":5903,"title":{},"name":{},"text":{"123":{}},"component":{}}],["4.8.1",{"_index":3835,"title":{"67-37":{}},"name":{},"text":{},"component":{}}],["4.8.2",{"_index":3834,"title":{"67-33":{}},"name":{},"text":{},"component":{}}],["4.8.3",{"_index":3833,"title":{"67-29":{}},"name":{},"text":{},"component":{}}],["4.9",{"_index":3261,"title":{"66-6":{},"67-15":{}},"name":{},"text":{"65":{},"66":{},"67":{}},"component":{}}],["4.9.1",{"_index":3832,"title":{"67-23":{}},"name":{},"text":{},"component":{}}],["4.9.2",{"_index":3831,"title":{"67-20":{}},"name":{},"text":{},"component":{}}],["4.9.3",{"_index":3830,"title":{"67-16":{}},"name":{},"text":{},"component":{}}],["4.9.4",{"_index":7793,"title":{},"name":{},"text":{"278":{}},"component":{}}],["4.x",{"_index":1543,"title":{},"name":{},"text":{"30":{},"66":{},"67":{}},"component":{}}],["4.x.i",{"_index":5993,"title":{},"name":{},"text":{"137":{}},"component":{}}],["40",{"_index":7602,"title":{},"name":{},"text":{"250":{}},"component":{}}],["400",{"_index":7495,"title":{},"name":{},"text":{"215":{}},"component":{}}],["4000",{"_index":6152,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4001",{"_index":6153,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4002",{"_index":6154,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4003",{"_index":6155,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4004",{"_index":6162,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4005",{"_index":6156,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4083",{"_index":7292,"title":{},"name":{},"text":{"202":{}},"component":{}}],["409",{"_index":7503,"title":{},"name":{},"text":{"215":{}},"component":{}}],["4096",{"_index":2180,"title":{},"name":{},"text":{"38":{}},"component":{}}],["4102",{"_index":7937,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4140",{"_index":7921,"title":{},"name":{},"text":{"280":{}},"component":{}}],["42",{"_index":2634,"title":{},"name":{},"text":{"47":{}},"component":{}}],["43859",{"_index":4231,"title":{},"name":{},"text":{"67":{}},"component":{}}],["4452",{"_index":7916,"title":{},"name":{},"text":{"280":{}},"component":{}}],["45",{"_index":4820,"title":{},"name":{},"text":{"79":{}},"component":{}}],["4565",{"_index":7302,"title":{},"name":{},"text":{"202":{}},"component":{}}],["4583",{"_index":7274,"title":{},"name":{},"text":{"202":{}},"component":{}}],["4788",{"_index":7516,"title":{},"name":{},"text":{"217":{}},"component":{}}],["497",{"_index":7929,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4c37",{"_index":7932,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4e0a",{"_index":7909,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["4e32",{"_index":6564,"title":{},"name":{},"text":{"166":{}},"component":{}}],["4ee11ca7",{"_index":7930,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4mb",{"_index":7388,"title":{},"name":{},"text":{"206":{}},"component":{}}],["5",{"_index":622,"title":{},"name":{},"text":{"3":{},"14":{},"20":{},"24":{},"29":{},"34":{},"63":{},"72":{},"79":{},"82":{},"85":{},"88":{},"121":{},"151":{},"163":{},"179":{},"191":{},"201":{},"202":{},"203":{},"216":{},"245":{},"261":{},"274":{},"279":{},"280":{},"281":{},"284":{}},"component":{}}],["5.0",{"_index":1552,"title":{},"name":{},"text":{"30":{}},"component":{}}],["5.1.5.release.jar",{"_index":6749,"title":{},"name":{},"text":{"172":{}},"component":{}}],["5.268",{"_index":7446,"title":{},"name":{},"text":{"208":{}},"component":{}}],["5.4.7.jar",{"_index":6610,"title":{},"name":{},"text":{"170":{}},"component":{}}],["50",{"_index":1459,"title":{},"name":{},"text":{"29":{},"79":{},"147":{},"179":{},"250":{}},"component":{}}],["500",{"_index":4355,"title":{},"name":{},"text":{"67":{},"77":{},"147":{},"163":{},"179":{}},"component":{}}],["5000",{"_index":5193,"title":{},"name":{},"text":{"88":{},"99":{},"143":{},"163":{},"179":{}},"component":{}}],["5002",{"_index":6157,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5004",{"_index":6163,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5005",{"_index":6164,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5006",{"_index":6158,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5007",{"_index":6159,"title":{},"name":{},"text":{"143":{}},"component":{}}],["502",{"_index":7502,"title":{},"name":{},"text":{"215":{}},"component":{}}],["5110",{"_index":7511,"title":{},"name":{},"text":{"216":{}},"component":{}}],["512",{"_index":6007,"title":{},"name":{},"text":{"140":{}},"component":{}}],["547a47fa",{"_index":7919,"title":{},"name":{},"text":{"280":{}},"component":{}}],["55",{"_index":7308,"title":{},"name":{},"text":{"203":{}},"component":{}}],["55.7mb",{"_index":7782,"title":{},"name":{},"text":{"277":{}},"component":{}}],["552d4cdb84db",{"_index":7939,"title":{},"name":{},"text":{"280":{}},"component":{}}],["562l",{"_index":6293,"title":{},"name":{},"text":{"145":{}},"component":{}}],["573b",{"_index":7920,"title":{},"name":{},"text":{"280":{}},"component":{}}],["591",{"_index":7994,"title":{},"name":{},"text":{"283":{}},"component":{}}],["591m",{"_index":7993,"title":{},"name":{},"text":{"283":{}},"component":{}}],["5ecb2c4d23ec",{"_index":6566,"title":{},"name":{},"text":{"166":{}},"component":{}}],["5gi",{"_index":636,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["5h",{"_index":6474,"title":{},"name":{},"text":{"151":{}},"component":{}}],["5s",{"_index":7437,"title":{},"name":{},"text":{"206":{}},"component":{}}],["6",{"_index":1293,"title":{},"name":{},"text":{"23":{},"24":{},"29":{},"33":{},"34":{},"63":{},"79":{},"85":{},"201":{},"202":{},"203":{},"261":{},"279":{},"280":{},"281":{},"284":{}},"component":{}}],["6.0.5",{"_index":4033,"title":{},"name":{},"text":{"67":{}},"component":{}}],["6.321",{"_index":7447,"title":{},"name":{},"text":{"208":{}},"component":{}}],["60",{"_index":2159,"title":{},"name":{},"text":{"38":{},"87":{},"88":{}},"component":{}}],["6000",{"_index":6179,"title":{},"name":{},"text":{"143":{}},"component":{}}],["6001",{"_index":6180,"title":{},"name":{},"text":{"143":{}},"component":{}}],["6002",{"_index":6181,"title":{},"name":{},"text":{"143":{}},"component":{}}],["602",{"_index":3678,"title":{},"name":{},"text":{"66":{}},"component":{}}],["6100",{"_index":6165,"title":{},"name":{},"text":{"143":{}},"component":{}}],["6101",{"_index":6166,"title":{},"name":{},"text":{"143":{}},"component":{}}],["69132",{"_index":8014,"title":{},"name":{},"text":{"284":{}},"component":{}}],["6e531a6cf173243adf9519905f42cbec0a334238",{"_index":3716,"title":{},"name":{},"text":{"66":{}},"component":{}}],["7",{"_index":1776,"title":{},"name":{"33":{}},"text":{"34":{},"85":{},"147":{},"179":{},"201":{},"202":{},"203":{},"279":{},"281":{}},"component":{}}],["7000",{"_index":6167,"title":{},"name":{},"text":{"143":{}},"component":{}}],["70f9be2efb6",{"_index":7789,"title":{},"name":{},"text":{"277":{}},"component":{}}],["719",{"_index":3677,"title":{},"name":{},"text":{"66":{}},"component":{}}],["75.69mb",{"_index":7788,"title":{},"name":{},"text":{"277":{}},"component":{}}],["75.69mb/79.56mb",{"_index":7790,"title":{},"name":{},"text":{"277":{}},"component":{}}],["782",{"_index":3489,"title":{},"name":{},"text":{"66":{}},"component":{}}],["79.56mb",{"_index":7767,"title":{},"name":{},"text":{"277":{}},"component":{}}],["7ae84cee97a8",{"_index":7774,"title":{},"name":{},"text":{"277":{}},"component":{}}],["7c78946494",{"_index":7457,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["7ed31eaf5ef8",{"_index":7776,"title":{},"name":{},"text":{"277":{}},"component":{}}],["8",{"_index":4978,"title":{},"name":{},"text":{"85":{},"179":{},"201":{},"202":{},"203":{},"261":{},"262":{},"279":{},"283":{}},"component":{}}],["8.23.1.jar",{"_index":6747,"title":{},"name":{},"text":{"172":{}},"component":{}}],["8/14",{"_index":7765,"title":{},"name":{},"text":{"277":{}},"component":{}}],["80",{"_index":816,"title":{},"name":{},"text":{"5":{},"58":{},"262":{}},"component":{}}],["8024",{"_index":609,"title":{},"name":{},"text":{"3":{},"149":{},"179":{},"191":{},"192":{},"199":{},"201":{},"206":{},"284":{}},"component":{}}],["8024/8124",{"_index":7168,"title":{},"name":{},"text":{"192":{}},"component":{}}],["8024/tcp",{"_index":351,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8024:8024",{"_index":412,"title":{},"name":{},"text":{"3":{},"191":{},"284":{}},"component":{}}],["8025:8024",{"_index":450,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8026:8024",{"_index":456,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8080",{"_index":7260,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["8081",{"_index":7259,"title":{},"name":{},"text":{"201":{},"203":{}},"component":{}}],["8123",{"_index":3707,"title":{},"name":{},"text":{"66":{}},"component":{}}],["8124",{"_index":605,"title":{},"name":{},"text":{"3":{},"66":{},"145":{},"149":{},"166":{},"179":{},"191":{},"192":{},"208":{},"284":{}},"component":{}}],["8124/tcp",{"_index":352,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8124:8124",{"_index":413,"title":{},"name":{},"text":{"3":{},"191":{},"284":{}},"component":{}}],["8125:8124",{"_index":451,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8126:8124",{"_index":457,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8224",{"_index":6407,"title":{},"name":{},"text":{"149":{},"154":{},"166":{},"178":{},"179":{},"192":{}},"component":{}}],["8224/tcp",{"_index":353,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8224:8224",{"_index":444,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8225:8224",{"_index":452,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8226:8224",{"_index":458,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8231323",{"_index":2894,"title":{},"name":{},"text":{"56":{}},"component":{}}],["8427681b",{"_index":7907,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["85",{"_index":4278,"title":{},"name":{},"text":{"67":{}},"component":{}}],["8601",{"_index":4809,"title":{},"name":{},"text":{"79":{},"215":{}},"component":{}}],["86ba",{"_index":6565,"title":{},"name":{},"text":{"166":{}},"component":{}}],["874",{"_index":4397,"title":{},"name":{},"text":{"67":{}},"component":{}}],["880",{"_index":3552,"title":{},"name":{},"text":{"66":{}},"component":{}}],["883",{"_index":4419,"title":{},"name":{},"text":{"67":{}},"component":{}}],["8888",{"_index":7136,"title":{},"name":{},"text":{"188":{}},"component":{}}],["88af",{"_index":7922,"title":{},"name":{},"text":{"280":{}},"component":{}}],["8kb",{"_index":4829,"title":{},"name":{},"text":{"79":{}},"component":{}}],["9",{"_index":4980,"title":{},"name":{},"text":{"85":{},"147":{},"178":{},"202":{},"203":{}},"component":{}}],["9.0.21.jar",{"_index":6753,"title":{},"name":{},"text":{"172":{}},"component":{}}],["9.1.3.jar",{"_index":6743,"title":{},"name":{},"text":{"172":{}},"component":{}}],["90",{"_index":7581,"title":{},"name":{},"text":{"242":{},"261":{}},"component":{}}],["9000",{"_index":6168,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9001",{"_index":6171,"title":{},"name":{},"text":{"143":{}},"component":{}}],["901aa5c",{"_index":7514,"title":{},"name":{},"text":{"217":{}},"component":{}}],["903",{"_index":4417,"title":{},"name":{},"text":{"67":{}},"component":{}}],["904",{"_index":4418,"title":{},"name":{},"text":{"67":{}},"component":{}}],["9100",{"_index":6172,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9101",{"_index":6173,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9102",{"_index":6174,"title":{},"name":{},"text":{"143":{}},"component":{}}],["913",{"_index":4414,"title":{},"name":{},"text":{"67":{}},"component":{}}],["9200",{"_index":6176,"title":{},"name":{},"text":{"143":{}},"component":{}}],["932",{"_index":3810,"title":{},"name":{},"text":{"66":{}},"component":{}}],["945",{"_index":3820,"title":{},"name":{},"text":{"66":{}},"component":{}}],["947",{"_index":3450,"title":{},"name":{},"text":{"66":{}},"component":{}}],["9500",{"_index":6178,"title":{},"name":{},"text":{"143":{}},"component":{}}],["950e",{"_index":6563,"title":{},"name":{},"text":{"166":{}},"component":{}}],["9584",{"_index":7933,"title":{},"name":{},"text":{"280":{}},"component":{}}],["961",{"_index":3819,"title":{},"name":{},"text":{"66":{}},"component":{}}],["964b",{"_index":7291,"title":{},"name":{},"text":{"202":{}},"component":{}}],["967",{"_index":4413,"title":{},"name":{},"text":{"67":{}},"component":{}}],["97f2",{"_index":7517,"title":{},"name":{},"text":{"217":{}},"component":{}}],["9900",{"_index":6177,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9ee97334f60b",{"_index":7778,"title":{},"name":{},"text":{"277":{}},"component":{}}],["9f4572c0",{"_index":7914,"title":{},"name":{},"text":{"280":{}},"component":{}}],["_",{"_index":5629,"title":{},"name":{},"text":{"105":{},"192":{},"215":{},"284":{}},"component":{}}],["_\"\"_",{"_index":6822,"title":{},"name":{},"text":{"179":{}},"component":{}}],["_(_)_",{"_index":8006,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_*the",{"_index":7167,"title":{},"name":{},"text":{"192":{}},"component":{}}],["_\\/_/\\_\\___/|_",{"_index":7156,"title":{},"name":{},"text":{"192":{}},"component":{}}],["_\\__",{"_index":8009,"title":{},"name":{},"text":{"284":{}},"component":{}}],["__",{"_index":7153,"title":{},"name":{},"text":{"192":{},"284":{}},"component":{}}],["___",{"_index":7155,"title":{},"name":{},"text":{"192":{},"284":{}},"component":{}}],["___'_",{"_index":8005,"title":{},"name":{},"text":{"284":{}},"component":{}}],["____",{"_index":7152,"title":{},"name":{},"text":{"192":{},"284":{}},"component":{}}],["_____",{"_index":7154,"title":{},"name":{},"text":{"192":{}},"component":{}}],["___|_",{"_index":7158,"title":{},"name":{},"text":{"192":{}},"component":{}}],["__axon",{"_index":5601,"title":{},"name":{},"text":{"104":{}},"component":{}}],["__axon_token_store_upd",{"_index":5534,"title":{},"name":{},"text":{"99":{}},"component":{}}],["__|_",{"_index":8007,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_admin",{"_index":6109,"title":{},"name":{},"text":{"142":{},"147":{},"154":{},"156":{},"157":{},"166":{},"169":{},"177":{},"178":{},"185":{},"192":{},"206":{}},"component":{}}],["_select",{"_index":7239,"title":{},"name":{},"text":{"199":{}},"component":{}}],["_{role_name}@{context_nam",{"_index":6580,"title":{},"name":{},"text":{"168":{}},"component":{}}],["_|==============|___/=/_/_/_",{"_index":8010,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_|_",{"_index":8008,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_|____",{"_index":7157,"title":{},"name":{},"text":{"192":{}},"component":{}}],["a.k.a",{"_index":5882,"title":{},"name":{},"text":{"121":{},"224":{}},"component":{}}],["a36b",{"_index":7303,"title":{},"name":{},"text":{"202":{}},"component":{}}],["a6bc",{"_index":7275,"title":{},"name":{},"text":{"202":{}},"component":{}}],["abcd",{"_index":7202,"title":{},"name":{},"text":{"196":{}},"component":{}}],["abil",{"_index":129,"title":{},"name":{},"text":{"2":{},"5":{},"18":{},"51":{},"55":{},"67":{},"88":{},"103":{},"117":{},"140":{},"151":{},"229":{},"230":{}},"component":{}}],["abnorm",{"_index":7693,"title":{},"name":{},"text":{"273":{}},"component":{}}],["abort",{"_index":5158,"title":{},"name":{},"text":{"88":{}},"component":{}}],["abov",{"_index":420,"title":{},"name":{},"text":{"3":{},"4":{},"33":{},"34":{},"35":{},"36":{},"42":{},"43":{},"63":{},"64":{},"72":{},"76":{},"77":{},"84":{},"85":{},"88":{},"99":{},"121":{},"132":{},"147":{},"149":{},"154":{},"168":{},"172":{},"174":{},"177":{},"191":{},"192":{},"201":{},"203":{},"211":{},"216":{},"217":{},"219":{},"239":{},"244":{},"270":{},"274":{},"276":{}},"component":{}}],["absenc",{"_index":1935,"title":{},"name":{},"text":{"35":{},"46":{},"51":{},"60":{},"66":{},"67":{},"88":{}},"component":{}}],["absolut",{"_index":6254,"title":{},"name":{},"text":{"145":{}},"component":{}}],["abstract",{"_index":1290,"title":{"44-2":{}},"name":{},"text":{"23":{},"34":{},"36":{},"44":{},"49":{},"63":{},"69":{},"71":{},"72":{},"77":{},"81":{},"281":{}},"component":{}}],["abstractannotatedaggregateroot",{"_index":4771,"title":{},"name":{},"text":{"77":{}},"component":{}}],["abstractannotationhandlerbeanpostprocessor",{"_index":4259,"title":{},"name":{},"text":{"67":{}},"component":{}}],["abstractcacheadapt",{"_index":4780,"title":{},"name":{},"text":{"77":{}},"component":{}}],["abstractdeadlinemanagertestsuit",{"_index":3406,"title":{},"name":{},"text":{"66":{}},"component":{}}],["abstractdependencyinjectionspringcontexttest",{"_index":4819,"title":{},"name":{},"text":{"79":{}},"component":{}}],["abstractmethodpropertyaccessstrategi",{"_index":3923,"title":{},"name":{},"text":{"67":{}},"component":{}}],["abstractrepositori",{"_index":4000,"title":{},"name":{},"text":{"67":{}},"component":{}}],["abstractsagaentri",{"_index":1827,"title":{},"name":{},"text":{"33":{}},"component":{}}],["abstractsagamanag",{"_index":3087,"title":{},"name":{},"text":{"59":{}},"component":{}}],["abstractsnapshott",{"_index":4351,"title":{},"name":{},"text":{"67":{},"77":{}},"component":{}}],["abstracttokenentri",{"_index":1823,"title":{},"name":{},"text":{"33":{}},"component":{}}],["abuijz",{"_index":3357,"title":{},"name":{},"text":{"66":{},"67":{},"126":{}},"component":{}}],["accept",{"_index":822,"title":{"280-9":{}},"name":{},"text":{"5":{},"38":{},"69":{},"72":{},"74":{},"88":{},"128":{},"144":{},"145":{},"166":{},"170":{},"179":{},"237":{},"244":{},"280":{},"281":{}},"component":{}}],["acceptallcommandsdiscoverymod",{"_index":5923,"title":{},"name":{},"text":{"127":{}},"component":{}}],["access",{"_index":93,"title":{"166":{},"167":{},"169":{},"173":{},"174":{},"204":{},"228":{},"233":{},"236":{},"5-10":{},"145-21":{},"172-5":{},"178-3":{},"192-11":{},"204-1":{},"247-2":{},"270-2":{}},"name":{"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"204":{},"228":{},"233":{}},"text":{"2":{},"3":{},"5":{},"20":{},"23":{},"24":{},"27":{},"35":{},"36":{},"38":{},"39":{},"43":{},"46":{},"48":{},"52":{},"53":{},"61":{},"64":{},"66":{},"67":{},"69":{},"71":{},"77":{},"82":{},"87":{},"88":{},"114":{},"115":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"151":{},"156":{},"161":{},"162":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"188":{},"191":{},"192":{},"199":{},"204":{},"206":{},"208":{},"211":{},"212":{},"214":{},"226":{},"228":{},"230":{},"231":{},"232":{},"235":{},"237":{},"241":{},"244":{},"246":{},"247":{},"249":{},"254":{},"255":{},"257":{},"270":{},"273":{},"274":{},"276":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["accesscontrol.admin",{"_index":6894,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.cach",{"_index":6890,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.en",{"_index":6889,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.intern",{"_index":6893,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.systemtokenfil",{"_index":6895,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.token",{"_index":6834,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accessmod",{"_index":632,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["accessor",{"_index":1933,"title":{},"name":{},"text":{"35":{},"72":{},"84":{},"280":{}},"component":{}}],["accident",{"_index":4378,"title":{},"name":{},"text":{"67":{},"80":{},"82":{},"88":{}},"component":{}}],["accommod",{"_index":1673,"title":{},"name":{},"text":{"31":{},"46":{},"67":{},"76":{},"165":{}},"component":{}}],["accompani",{"_index":3684,"title":{},"name":{},"text":{"66":{},"88":{}},"component":{}}],["accomplish",{"_index":7251,"title":{},"name":{},"text":{"201":{},"202":{},"203":{}},"component":{}}],["accord",{"_index":157,"title":{},"name":{},"text":{"2":{},"33":{},"67":{},"99":{},"120":{},"145":{},"151":{},"221":{},"232":{},"234":{},"274":{},"280":{},"281":{},"289":{}},"component":{}}],["accordingli",{"_index":899,"title":{},"name":{},"text":{"6":{},"42":{},"66":{},"72":{},"76":{},"89":{},"115":{},"154":{},"161":{},"165":{},"177":{},"180":{},"280":{},"289":{}},"component":{}}],["accordinglu",{"_index":7946,"title":{},"name":{},"text":{"280":{}},"component":{}}],["account",{"_index":723,"title":{"5-2":{},"169-2":{},"169-4":{},"173-2":{},"237-1":{},"263-1":{}},"name":{"237":{}},"text":{"5":{},"6":{},"31":{},"36":{},"39":{},"49":{},"64":{},"66":{},"67":{},"76":{},"79":{},"85":{},"87":{},"88":{},"102":{},"127":{},"132":{},"141":{},"165":{},"166":{},"167":{},"169":{},"170":{},"172":{},"173":{},"174":{},"199":{},"237":{},"247":{},"261":{},"263":{},"267":{},"268":{},"269":{},"276":{},"277":{}},"component":{}}],["account(registeraccountcommand,deadlinemanag",{"_index":3115,"title":{},"name":{},"text":{"59":{}},"component":{}}],["accountregisteredev",{"_index":3010,"title":{},"name":{},"text":{"59":{}},"component":{}}],["accumul",{"_index":6510,"title":{},"name":{},"text":{"157":{}},"component":{}}],["achiev",{"_index":1010,"title":{},"name":{},"text":{"8":{},"13":{},"30":{},"31":{},"34":{},"35":{},"38":{},"42":{},"46":{},"51":{},"56":{},"58":{},"63":{},"66":{},"79":{},"80":{},"88":{},"99":{},"100":{},"101":{},"102":{},"144":{},"162":{},"211":{},"220":{},"226":{},"281":{}},"component":{}}],["ack",{"_index":5416,"title":{},"name":{},"text":{"90":{},"143":{}},"component":{}}],["acknowledg",{"_index":5395,"title":{},"name":{},"text":{"89":{},"102":{},"143":{},"144":{},"151":{},"156":{}},"component":{}}],["acount",{"_index":6785,"title":{},"name":{},"text":{"174":{}},"component":{}}],["acquir",{"_index":7628,"title":{},"name":{},"text":{"261":{},"288":{},"289":{}},"component":{}}],["acquisit",{"_index":8049,"title":{},"name":{},"text":{"288":{}},"component":{}}],["act",{"_index":862,"title":{},"name":{},"text":{"5":{},"6":{},"35":{},"36":{},"38":{},"55":{},"59":{},"82":{},"83":{},"87":{},"88":{},"92":{},"94":{},"115":{},"130":{},"156":{},"260":{},"266":{},"280":{},"284":{}},"component":{}}],["action",{"_index":924,"title":{},"name":{},"text":{"6":{},"40":{},"41":{},"51":{},"52":{},"53":{},"59":{},"63":{},"66":{},"69":{},"88":{},"141":{},"143":{},"145":{},"186":{},"246":{},"250":{},"260":{},"261":{},"262":{},"270":{},"272":{},"274":{},"281":{},"283":{}},"component":{}}],["activ",{"_index":169,"title":{"275":{},"148-5":{},"156-2":{},"170-3":{},"232-2":{}},"name":{"275":{}},"text":{"2":{},"5":{},"30":{},"38":{},"39":{},"40":{},"53":{},"54":{},"57":{},"58":{},"59":{},"62":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"82":{},"88":{},"99":{},"120":{},"142":{},"143":{},"145":{},"148":{},"154":{},"156":{},"157":{},"170":{},"172":{},"177":{},"178":{},"179":{},"186":{},"189":{},"243":{},"244":{},"246":{},"261":{},"264":{},"273":{},"275":{},"276":{},"284":{},"285":{}},"component":{}}],["activate_plugin",{"_index":6706,"title":{},"name":{},"text":{"171":{}},"component":{}}],["active_backup",{"_index":6365,"title":{},"name":{},"text":{"147":{},"156":{},"157":{},"178":{}},"component":{}}],["activedirectori",{"_index":6627,"title":{},"name":{},"text":{"170":{}},"component":{}}],["activetransform",{"_index":6298,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation#cancel",{"_index":6303,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation#startappli",{"_index":6302,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation#transform(transform",{"_index":6301,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation.transform(transform",{"_index":6307,"title":{},"name":{},"text":{"145":{}},"component":{}}],["actual",{"_index":582,"title":{},"name":{},"text":{"3":{},"34":{},"36":{},"38":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"83":{},"84":{},"94":{},"99":{},"102":{},"113":{},"127":{},"151":{},"161":{},"172":{},"191":{},"213":{},"218":{},"224":{},"289":{}},"component":{}}],["actuat",{"_index":2887,"title":{"185":{},"54-1":{}},"name":{"185":{}},"text":{"54":{},"55":{},"66":{},"185":{},"190":{}},"component":{}}],["actuator/env",{"_index":7026,"title":{},"name":{},"text":{"185":{}},"component":{}}],["actuator/health",{"_index":7021,"title":{},"name":{},"text":{"185":{},"187":{}},"component":{}}],["actuator/health/readi",{"_index":6096,"title":{},"name":{},"text":{"141":{}},"component":{}}],["actuator/info",{"_index":620,"title":{},"name":{},"text":{"3":{},"185":{},"191":{},"215":{}},"component":{}}],["actuator/logg",{"_index":7025,"title":{},"name":{},"text":{"185":{}},"component":{}}],["actuator/metr",{"_index":7023,"title":{},"name":{},"text":{"185":{},"186":{}},"component":{}}],["actuator/prometheu",{"_index":2926,"title":{},"name":{},"text":{"57":{},"185":{}},"component":{}}],["actuator`url",{"_index":7020,"title":{},"name":{},"text":{"185":{}},"component":{}}],["ad",{"_index":379,"title":{"5-7":{},"270-1":{},"278-3":{}},"name":{},"text":{"3":{},"12":{},"18":{},"20":{},"25":{},"29":{},"30":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"49":{},"51":{},"59":{},"66":{},"67":{},"72":{},"77":{},"79":{},"86":{},"87":{},"88":{},"89":{},"91":{},"104":{},"108":{},"114":{},"115":{},"121":{},"123":{},"124":{},"126":{},"127":{},"141":{},"143":{},"147":{},"150":{},"151":{},"154":{},"156":{},"170":{},"174":{},"178":{},"179":{},"191":{},"192":{},"257":{},"262":{},"265":{},"270":{},"271":{},"272":{},"273":{},"276":{},"278":{},"279":{},"280":{},"284":{},"285":{}},"component":{}}],["adapt",{"_index":1493,"title":{},"name":{},"text":{"30":{},"66":{},"77":{},"92":{},"264":{}},"component":{}}],["add",{"_index":163,"title":{"275":{},"5-12":{},"15-2":{},"276-2":{},"279-7":{}},"name":{"270":{}},"text":{"2":{},"3":{},"5":{},"15":{},"18":{},"24":{},"30":{},"31":{},"35":{},"39":{},"40":{},"44":{},"46":{},"47":{},"51":{},"53":{},"56":{},"59":{},"66":{},"67":{},"69":{},"71":{},"79":{},"82":{},"84":{},"86":{},"88":{},"89":{},"102":{},"103":{},"104":{},"109":{},"115":{},"121":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"149":{},"151":{},"156":{},"157":{},"161":{},"166":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"178":{},"180":{},"185":{},"191":{},"192":{},"198":{},"202":{},"221":{},"228":{},"231":{},"254":{},"255":{},"260":{},"262":{},"269":{},"270":{},"271":{},"273":{},"276":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"290":{}},"component":{}}],["add/assign",{"_index":7619,"title":{},"name":{},"text":{"255":{}},"component":{}}],["add_node_to_clust",{"_index":6707,"title":{},"name":{},"text":{"171":{}},"component":{}}],["add_node_to_context",{"_index":6708,"title":{},"name":{},"text":{"171":{}},"component":{}}],["add_node_to_replication_group",{"_index":6709,"title":{},"name":{},"text":{"171":{}},"component":{}}],["add_plugin",{"_index":6710,"title":{},"name":{},"text":{"171":{}},"component":{}}],["addelement(\"descript",{"_index":2487,"title":{},"name":{},"text":{"44":{}},"component":{}}],["addgroup",{"_index":356,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["addit",{"_index":166,"title":{"192-8":{},"232-3":{}},"name":{},"text":{"2":{},"3":{},"6":{},"20":{},"26":{},"29":{},"30":{},"31":{},"34":{},"38":{},"40":{},"44":{},"47":{},"49":{},"51":{},"52":{},"59":{},"66":{},"67":{},"72":{},"86":{},"88":{},"99":{},"104":{},"105":{},"106":{},"108":{},"123":{},"124":{},"127":{},"140":{},"142":{},"147":{},"150":{},"151":{},"156":{},"157":{},"163":{},"168":{},"174":{},"178":{},"179":{},"191":{},"192":{},"199":{},"208":{},"212":{},"213":{},"216":{},"217":{},"218":{},"219":{},"235":{},"239":{},"242":{},"243":{},"246":{},"254":{},"261":{},"273":{},"274":{},"278":{},"280":{},"285":{}},"component":{}}],["addition",{"_index":1150,"title":{},"name":{},"text":{"17":{},"31":{},"46":{},"49":{},"51":{},"57":{},"67":{},"72":{},"76":{},"88":{},"102":{},"111":{},"121":{},"127":{},"140":{},"151":{},"202":{},"203":{},"260":{}},"component":{}}],["addmessagesource(\"eventsourcea",{"_index":5367,"title":{},"name":{},"text":{"88":{}},"component":{}}],["addmessagesource(\"eventsourceb",{"_index":5368,"title":{},"name":{},"text":{"88":{}},"component":{}}],["addnodetoreplicationgroup(joinreplicationgroup",{"_index":6992,"title":{},"name":{},"text":{"180":{}},"component":{}}],["addr=glob",{"_index":5460,"title":{},"name":{},"text":{"96":{}},"component":{}}],["address",{"_index":1464,"title":{},"name":{},"text":{"29":{},"30":{},"37":{},"49":{},"66":{},"67":{},"69":{},"96":{},"101":{},"140":{},"143":{},"146":{},"155":{},"172":{},"174":{},"183":{},"199":{},"221":{},"247":{},"262":{}},"component":{}}],["addresschangedev",{"_index":2675,"title":{},"name":{},"text":{"49":{}},"component":{}}],["addresscorrectedev",{"_index":2677,"title":{},"name":{},"text":{"49":{}},"component":{}}],["addus",{"_index":359,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["adher",{"_index":4092,"title":{},"name":{},"text":{"67":{},"140":{}},"component":{}}],["adjust",{"_index":219,"title":{"140-19":{}},"name":{},"text":{"3":{},"29":{},"33":{},"36":{},"44":{},"46":{},"66":{},"67":{},"76":{},"77":{},"79":{},"85":{},"87":{},"88":{},"99":{},"101":{},"104":{},"130":{},"138":{},"140":{},"165":{},"191":{},"192":{},"199":{},"220":{},"250":{},"255":{},"262":{},"274":{}},"component":{}}],["admin",{"_index":836,"title":{"192-7":{}},"name":{},"text":{"5":{},"141":{},"144":{},"147":{},"154":{},"157":{},"161":{},"167":{},"168":{},"169":{},"171":{},"172":{},"173":{},"174":{},"178":{},"192":{},"199":{},"201":{},"202":{},"203":{},"208":{},"255":{}},"component":{}}],["admin/default",{"_index":6481,"title":{},"name":{},"text":{"154":{}},"component":{}}],["admin@_admin",{"_index":7325,"title":{},"name":{},"text":{"204":{}},"component":{}}],["admin@context",{"_index":7327,"title":{},"name":{},"text":{"204":{}},"component":{}}],["admin_",{"_index":6323,"title":{},"name":{},"text":{"147":{}},"component":{}}],["admin_staff",{"_index":6637,"title":{},"name":{},"text":{"170":{}},"component":{}}],["adminactionresult",{"_index":6966,"title":{},"name":{},"text":{"180":{}},"component":{}}],["adminchannel",{"_index":6202,"title":{},"name":{},"text":{"144":{}},"component":{}}],["adminchannel().pauseeventprocessor(eventprocessornam",{"_index":6211,"title":{},"name":{},"text":{"144":{}},"component":{}}],["adminchannel().starteventprocessor(eventprocessornam",{"_index":6214,"title":{},"name":{},"text":{"144":{}},"component":{}}],["administ",{"_index":5995,"title":{},"name":{},"text":{"137":{},"148":{},"169":{}},"component":{}}],["administr",{"_index":5994,"title":{"146":{},"148-2":{},"180-1":{},"180-2":{},"180-3":{},"180-4":{},"180-5":{}},"name":{},"text":{"137":{},"143":{},"144":{},"146":{},"154":{},"169":{},"170":{},"173":{},"177":{},"192":{},"199":{},"204":{},"227":{},"228":{},"229":{},"230":{},"231":{},"236":{}},"component":{}}],["adminnod",{"_index":7161,"title":{},"name":{},"text":{"192":{}},"component":{}}],["advanc",{"_index":1024,"title":{"14":{},"18":{},"115-11":{}},"name":{"14":{},"18":{}},"text":{"21":{},"31":{},"67":{},"74":{},"115":{},"140":{},"154":{},"177":{},"192":{},"227":{},"236":{},"250":{},"280":{}},"component":{}}],["advantag",{"_index":933,"title":{},"name":{},"text":{"6":{},"38":{},"39":{},"40":{},"46":{},"51":{},"83":{}},"component":{}}],["advis",{"_index":1965,"title":{},"name":{},"text":{"35":{},"88":{}},"component":{}}],["af",{"_index":3291,"title":{},"name":{},"text":{"66":{}},"component":{}}],["af93",{"_index":7293,"title":{},"name":{},"text":{"202":{}},"component":{}}],["affect",{"_index":964,"title":{},"name":{},"text":{"6":{},"38":{},"44":{},"79":{},"145":{},"156":{},"179":{},"274":{}},"component":{}}],["aforement",{"_index":3790,"title":{},"name":{},"text":{"66":{},"79":{},"286":{},"290":{}},"component":{}}],["afourtheventwithsomespecialth",{"_index":4625,"title":{},"name":{},"text":{"72":{}},"component":{}}],["aftercommit",{"_index":2851,"title":{},"name":{},"text":{"53":{}},"component":{}}],["ag",{"_index":1444,"title":{},"name":{},"text":{"29":{},"67":{},"151":{}},"component":{}}],["again",{"_index":381,"title":{},"name":{},"text":{"3":{},"5":{},"14":{},"17":{},"66":{},"77":{},"79":{},"86":{},"87":{},"88":{},"144":{},"145":{},"148":{},"151":{},"154":{},"156":{},"168":{},"178":{},"191":{},"192":{},"201":{},"202":{},"217":{},"221":{},"260":{},"273":{},"274":{},"280":{}},"component":{}}],["against",{"_index":1963,"title":{},"name":{},"text":{"35":{},"36":{},"38":{},"57":{},"63":{},"69":{},"72":{},"74":{},"88":{},"145":{},"192":{},"262":{},"280":{}},"component":{}}],["agent",{"_index":3047,"title":{},"name":{},"text":{"59":{},"199":{}},"component":{}}],["aggerg",{"_index":7574,"title":{},"name":{},"text":{"239":{}},"component":{}}],["aggreement",{"_index":7570,"title":{},"name":{},"text":{"237":{}},"component":{}}],["aggreg",{"_index":1139,"title":{"80":{},"81":{},"82":{},"84":{},"85":{},"205":{},"239":{},"35-1":{},"35-4":{},"36-1":{},"36-6":{},"42-1":{},"42-2":{},"72-8":{},"77-9":{},"80-1":{},"81-1":{},"82-1":{},"82-2":{},"239-1":{},"239-2":{},"261-5":{},"274-22":{},"274-23":{},"274-24":{},"274-27":{},"281-5":{},"281-7":{}},"name":{"80":{},"81":{},"82":{},"84":{},"85":{},"205":{},"239":{}},"text":{"16":{},"18":{},"19":{},"20":{},"21":{},"24":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"41":{},"42":{},"44":{},"46":{},"49":{},"51":{},"52":{},"55":{},"59":{},"62":{},"66":{},"67":{},"72":{},"74":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"88":{},"94":{},"97":{},"100":{},"101":{},"102":{},"111":{},"126":{},"141":{},"143":{},"147":{},"151":{},"163":{},"179":{},"186":{},"194":{},"203":{},"217":{},"224":{},"239":{},"244":{},"249":{},"250":{},"261":{},"262":{},"274":{},"280":{},"281":{},"285":{},"288":{},"289":{}},"component":{}}],["aggregate#execute(consum",{"_index":2001,"title":{},"name":{},"text":{"35":{}},"component":{}}],["aggregate(cach",{"_index":4797,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregate(repositori",{"_index":2040,"title":{},"name":{},"text":{"36":{}},"component":{}}],["aggregate(snapshotfilt",{"_index":4764,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregate(snapshottriggerdefinit",{"_index":4749,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregate/ent",{"_index":2754,"title":{},"name":{},"text":{"51":{}},"component":{}}],["aggregate/saga",{"_index":2282,"title":{},"name":{},"text":{"39":{}},"component":{}}],["aggregate_id",{"_index":5969,"title":{},"name":{},"text":{"132":{}},"component":{}}],["aggregateannotationcommandhandl",{"_index":3891,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregateconfigur",{"_index":3781,"title":{},"name":{},"text":{"66":{},"77":{},"81":{}},"component":{}}],["aggregateconfiguration#aggregatefactori",{"_index":4738,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregateconfiguration`",{"_index":4739,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregateconfigurer#withsubtypes(class",{"_index":3788,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aggregateconfigurer#withsubtypes(set",{"_index":4895,"title":{},"name":{},"text":{"81":{}},"component":{}}],["aggregateconfigurer.defaultconfiguration(giftcard.class",{"_index":2031,"title":{},"name":{},"text":{"36":{},"77":{},"81":{}},"component":{}}],["aggregatecreationpolici",{"_index":1989,"title":{},"name":{},"text":{"35":{}},"component":{}}],["aggregatecreationpolicy#alway",{"_index":4395,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatefactori",{"_index":2005,"title":{"36-9":{}},"name":{},"text":{"36":{},"67":{},"72":{},"77":{}},"component":{}}],["aggregateid",{"_index":4881,"title":{},"name":{},"text":{"80":{},"203":{},"212":{},"217":{}},"component":{}}],["aggregateidentifi",{"_index":1229,"title":{},"name":{},"text":{"20":{},"34":{},"35":{},"36":{},"52":{},"59":{},"79":{},"81":{},"82":{},"84":{},"85":{},"111":{},"193":{},"194":{},"281":{}},"component":{}}],["aggregateidentifierspanattributesprovid",{"_index":3024,"title":{},"name":{},"text":{"59":{}},"component":{}}],["aggregatelifecycl",{"_index":2377,"title":{},"name":{},"text":{"42":{},"82":{}},"component":{}}],["aggregatelifecycle#appli",{"_index":2381,"title":{},"name":{},"text":{"42":{},"82":{}},"component":{}}],["aggregatelifecycle#apply(object",{"_index":2378,"title":{},"name":{},"text":{"42":{},"82":{},"85":{}},"component":{}}],["aggregatelifecycle#createnew(class",{"_index":4877,"title":{},"name":{},"text":{"80":{}},"component":{}}],["aggregatelifecycle.appli",{"_index":2047,"title":{},"name":{},"text":{"36":{},"281":{}},"component":{}}],["aggregatelifecycle.isl",{"_index":4918,"title":{},"name":{},"text":{"82":{}},"component":{}}],["aggregatelifecycle.markdelet",{"_index":2027,"title":{},"name":{},"text":{"36":{}},"component":{}}],["aggregateloadtimesnapshottriggerdefinit",{"_index":4346,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatememb",{"_index":4305,"title":{},"name":{},"text":{"67":{},"84":{},"85":{},"288":{},"289":{}},"component":{}}],["aggregatemember(eventforwardingmod",{"_index":4956,"title":{},"name":{},"text":{"84":{}},"component":{}}],["aggregatemember(typ",{"_index":4943,"title":{},"name":{},"text":{"84":{}},"component":{}}],["aggregatemodel",{"_index":3913,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatenotfoundexcept",{"_index":4211,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatesequencenumb",{"_index":7176,"title":{},"name":{},"text":{"193":{},"194":{},"198":{}},"component":{}}],["aggregatesnapshot",{"_index":4733,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregatesnapshott",{"_index":4732,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregatestreamcreationexcept",{"_index":3800,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aggregatetest",{"_index":4542,"title":{},"name":{},"text":{"72":{}},"component":{}}],["aggregatetestfixtur",{"_index":1267,"title":{"285-3":{}},"name":{},"text":{"22":{},"66":{},"67":{},"72":{},"285":{}},"component":{}}],["aggregatetestfixture.andgivencurrenttim",{"_index":4052,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatetestfixture<>(bike.class",{"_index":8026,"title":{},"name":{},"text":{"285":{}},"component":{}}],["aggregatetestfixture<>(expiringgiftcard.class",{"_index":1281,"title":{},"name":{},"text":{"22":{}},"component":{}}],["aggregatetestfixture<>(giftcard.class",{"_index":4535,"title":{},"name":{},"text":{"72":{}},"component":{}}],["aggregatetyp",{"_index":7175,"title":{},"name":{},"text":{"193":{},"194":{},"196":{},"203":{},"212":{},"217":{}},"component":{}}],["aggregatevers",{"_index":4894,"title":{},"name":{},"text":{"81":{}},"component":{}}],["aggregate’",{"_index":1257,"title":{},"name":{},"text":{"20":{},"35":{},"36":{},"38":{},"42":{},"49":{},"51":{},"66":{},"72":{},"77":{},"82":{}},"component":{}}],["ago",{"_index":5326,"title":{},"name":{},"text":{"88":{}},"component":{}}],["agreg",{"_index":7576,"title":{},"name":{},"text":{"239":{}},"component":{}}],["ahaead",{"_index":7150,"title":{},"name":{},"text":{"191":{}},"component":{}}],["ahead",{"_index":519,"title":{"124":{},"30-33":{}},"name":{},"text":{"3":{},"5":{},"30":{},"123":{}},"component":{}}],["aid",{"_index":930,"title":{},"name":{},"text":{"6":{},"140":{},"230":{},"240":{}},"component":{}}],["aim",{"_index":1504,"title":{},"name":{},"text":{"30":{},"57":{},"66":{},"67":{},"140":{},"151":{},"227":{},"236":{},"279":{},"280":{},"281":{}},"component":{}}],["aisw",{"_index":7564,"title":{},"name":{},"text":{"235":{}},"component":{}}],["aka",{"_index":5925,"title":{},"name":{},"text":{"127":{}},"component":{}}],["albeit",{"_index":1539,"title":{},"name":{},"text":{"30":{},"69":{},"101":{}},"component":{}}],["alert",{"_index":2891,"title":{"239-2":{},"242-2":{},"245-2":{},"246-2":{},"262-5":{},"273-5":{},"273-6":{}},"name":{},"text":{"55":{},"58":{},"239":{},"242":{},"244":{},"245":{},"246":{},"249":{},"250":{},"259":{},"260":{},"262":{},"269":{},"273":{},"274":{}},"component":{}}],["algorithm",{"_index":7536,"title":{},"name":{},"text":{"221":{},"273":{}},"component":{}}],["alia",{"_index":1653,"title":{},"name":{},"text":{"31":{},"176":{},"179":{}},"component":{}}],["alias",{"_index":1572,"title":{},"name":{},"text":{"31":{},"46":{}},"component":{}}],["align",{"_index":2344,"title":{},"name":{},"text":{"40":{},"66":{},"67":{},"72":{},"138":{},"140":{},"280":{}},"component":{}}],["aliv",{"_index":4369,"title":{},"name":{},"text":{"67":{},"179":{},"189":{}},"component":{}}],["allevi",{"_index":5381,"title":{},"name":{},"text":{"89":{},"120":{}},"component":{}}],["alloc",{"_index":970,"title":{},"name":{},"text":{"6":{},"179":{}},"component":{}}],["allow",{"_index":232,"title":{"206-38":{}},"name":{},"text":{"3":{},"5":{},"6":{},"15":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"81":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"101":{},"105":{},"106":{},"115":{},"121":{},"127":{},"128":{},"133":{},"138":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"162":{},"163":{},"169":{},"170":{},"172":{},"173":{},"174":{},"178":{},"179":{},"182":{},"191":{},"192":{},"199":{},"203":{},"204":{},"206":{},"211":{},"221":{},"226":{},"228":{},"234":{},"235":{},"237":{},"239":{},"242":{},"243":{},"244":{},"246":{},"257":{},"260":{},"261":{},"263":{},"264":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"290":{}},"component":{}}],["allow(domaineventdata",{"_index":4759,"title":{},"name":{},"text":{"77":{}},"component":{}}],["allowreplay",{"_index":5347,"title":{},"name":{},"text":{"88":{}},"component":{}}],["alon",{"_index":2312,"title":{},"name":{},"text":{"39":{},"262":{}},"component":{}}],["along",{"_index":5538,"title":{},"name":{},"text":{"100":{},"104":{},"178":{},"192":{},"244":{},"257":{},"274":{},"287":{}},"component":{}}],["alongsid",{"_index":1911,"title":{},"name":{},"text":{"34":{},"51":{},"64":{},"87":{},"102":{}},"component":{}}],["alreadi",{"_index":702,"title":{"5-7":{},"145-25":{}},"name":{},"text":{"4":{},"5":{},"14":{},"17":{},"18":{},"32":{},"33":{},"49":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"79":{},"84":{},"88":{},"94":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"154":{},"156":{},"161":{},"180":{},"184":{},"189":{},"192":{},"203":{},"211":{},"237":{},"238":{},"241":{},"250":{},"260":{},"263":{},"266":{},"267":{},"268":{},"269":{},"271":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"285":{},"289":{}},"component":{}}],["alter",{"_index":2718,"title":{},"name":{},"text":{"51":{},"79":{},"82":{},"127":{},"151":{},"280":{}},"component":{}}],["altern",{"_index":1488,"title":{},"name":{},"text":{"30":{},"34":{},"36":{},"38":{},"39":{},"40":{},"46":{},"66":{},"69":{},"71":{},"72":{},"79":{},"82":{},"88":{},"89":{},"91":{},"94":{},"97":{},"100":{},"106":{},"111":{},"115":{},"129":{},"140":{},"170":{},"172":{},"179":{},"202":{},"203":{},"221":{},"250":{},"263":{},"267":{},"268":{},"279":{},"289":{}},"component":{}}],["although",{"_index":176,"title":{},"name":{},"text":{"2":{},"3":{},"15":{},"23":{},"29":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"46":{},"49":{},"53":{},"67":{},"69":{},"72":{},"79":{},"87":{},"89":{},"97":{},"99":{},"120":{},"130":{},"142":{},"153":{},"169":{},"173":{},"191":{},"200":{},"274":{},"279":{},"280":{},"281":{},"283":{}},"component":{}}],["altogeth",{"_index":1136,"title":{},"name":{},"text":{"16":{},"31":{},"38":{},"51":{},"77":{},"86":{},"94":{},"127":{},"151":{}},"component":{}}],["altuntasfatih",{"_index":3728,"title":{},"name":{},"text":{"66":{}},"component":{}}],["alway",{"_index":173,"title":{},"name":{},"text":{"2":{},"14":{},"15":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"66":{},"67":{},"69":{},"71":{},"75":{},"79":{},"88":{},"94":{},"102":{},"104":{},"111":{},"127":{},"141":{},"145":{},"151":{},"154":{},"166":{},"172":{},"174":{},"177":{},"185":{},"192":{},"198":{},"215":{},"261":{},"262":{},"273":{},"280":{}},"component":{}}],["amazon",{"_index":5434,"title":{},"name":{},"text":{"94":{}},"component":{}}],["ambigu",{"_index":3559,"title":{},"name":{},"text":{"66":{}},"component":{}}],["america",{"_index":7559,"title":{},"name":{},"text":{"234":{}},"component":{}}],["amongst",{"_index":2223,"title":{},"name":{},"text":{"38":{}},"component":{}}],["amount",{"_index":789,"title":{},"name":{},"text":{"5":{},"18":{},"21":{},"22":{},"35":{},"38":{},"39":{},"41":{},"63":{},"77":{},"88":{},"151":{},"156":{},"163":{},"179":{},"203":{},"206":{},"211":{},"216":{},"257":{},"261":{},"274":{},"276":{},"281":{}},"component":{}}],["ampq",{"_index":5417,"title":{"91":{}},"name":{},"text":{},"component":{}}],["amqp",{"_index":27,"title":{"90":{},"92":{},"93":{},"30-16":{},"30-17":{}},"name":{},"text":{"1":{},"30":{},"46":{},"89":{},"90":{},"91":{},"92":{},"93":{}},"component":{"90":{},"91":{},"92":{},"93":{}}}],["amsterdam",{"_index":8031,"title":{},"name":{},"text":{"285":{}},"component":{}}],["anal",{"_index":7649,"title":{},"name":{},"text":{"264":{}},"component":{}}],["analys",{"_index":5979,"title":{},"name":{},"text":{"133":{}},"component":{}}],["analysi",{"_index":7955,"title":{},"name":{},"text":{"281":{}},"component":{}}],["analyz",{"_index":802,"title":{},"name":{},"text":{"5":{},"56":{},"145":{},"281":{}},"component":{}}],["anatomi",{"_index":2628,"title":{"47":{}},"name":{"47":{}},"text":{},"component":{}}],["anchor",{"_index":3366,"title":{},"name":{},"text":{"66":{}},"component":{}}],["and(\"otherkey",{"_index":2635,"title":{},"name":{},"text":{"47":{}},"component":{}}],["and(message.getmetadata().entryset().stream",{"_index":2944,"title":{},"name":{},"text":{"57":{}},"component":{}}],["and/or",{"_index":1589,"title":{},"name":{},"text":{"31":{},"38":{},"39":{},"66":{},"72":{},"87":{},"163":{},"237":{},"279":{}},"component":{}}],["andeventavailabilitytimeout(2000",{"_index":5198,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andgiven",{"_index":4571,"title":{},"name":{},"text":{"72":{}},"component":{}}],["andgivencommand",{"_index":1200,"title":{},"name":{},"text":{"18":{},"72":{}},"component":{}}],["andgivencommands(new",{"_index":1277,"title":{},"name":{},"text":{"22":{}},"component":{}}],["andgivencurrenttim",{"_index":4050,"title":{},"name":{},"text":{"67":{}},"component":{}}],["andinitialsegmentscount(2",{"_index":5233,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andinitialsegmentscount(4",{"_index":5259,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andinitialtrackingtoken(streamablemessagesource::createheadtoken",{"_index":5177,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andinitialtrackingtoken(streamablemessagesource::createtailtoken",{"_index":5180,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andmetadata",{"_index":2643,"title":{},"name":{},"text":{"47":{}},"component":{}}],["andmetadata(singletonmap(\"otherkey",{"_index":2639,"title":{},"name":{},"text":{"47":{}},"component":{}}],["andnomor",{"_index":4626,"title":{},"name":{},"text":{"72":{}},"component":{}}],["andthen(runn",{"_index":2385,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andthenapply(suppli",{"_index":2383,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andthenapplyif(suppli",{"_index":2386,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andthenif(suppli",{"_index":2387,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andtokenclaiminterval(1000",{"_index":5197,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andye2004",{"_index":3741,"title":{},"name":{},"text":{"66":{}},"component":{}}],["anew",{"_index":5324,"title":{},"name":{},"text":{"88":{},"288":{}},"component":{}}],["anim",{"_index":7733,"title":{},"name":{},"text":{"274":{}},"component":{}}],["annot",{"_index":648,"title":{"27":{},"52":{},"48-2":{},"51-5":{},"51-13":{},"79-3":{}},"name":{"52":{}},"text":{"3":{},"5":{},"10":{},"12":{},"20":{},"24":{},"25":{},"27":{},"29":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"44":{},"46":{},"48":{},"51":{},"52":{},"53":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"87":{},"88":{},"111":{},"124":{},"127":{},"128":{},"172":{},"191":{},"239":{},"278":{},"280":{},"281":{}},"component":{"27":{}}}],["annotatedaggreg",{"_index":2049,"title":{},"name":{},"text":{"36":{}},"component":{}}],["annotatedaggregatemetamodelfactory.annotatedaggregatemodel",{"_index":4347,"title":{},"name":{},"text":{"67":{}},"component":{}}],["annotatedmessagehandlingmemb",{"_index":3763,"title":{},"name":{},"text":{"66":{}},"component":{}}],["annotatedsagamanag",{"_index":4478,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["annotatedsagarepositori",{"_index":4480,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["annotationattribut",{"_index":1392,"title":{},"name":{},"text":{"27":{}},"component":{}}],["annotationcommandtargetresolv",{"_index":4115,"title":{},"name":{},"text":{"67":{}},"component":{}}],["annotationrevisionresolv",{"_index":2438,"title":{},"name":{},"text":{"44":{}},"component":{}}],["annotationroutingstrategi",{"_index":2232,"title":{},"name":{},"text":{"38":{},"127":{},"128":{}},"component":{}}],["annotationtype(customroutingannotation.class",{"_index":2243,"title":{},"name":{},"text":{"38":{}},"component":{}}],["annotationutils#findannotationattributes(annotatedel",{"_index":1391,"title":{},"name":{},"text":{"27":{}},"component":{}}],["annotation’",{"_index":1390,"title":{},"name":{},"text":{"27":{},"67":{}},"component":{}}],["announc",{"_index":3496,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["anoth",{"_index":734,"title":{"80":{},"5-7":{},"80-1":{}},"name":{"80":{}},"text":{"6":{},"14":{},"29":{},"30":{},"31":{},"33":{},"35":{},"37":{},"38":{},"40":{},"42":{},"44":{},"46":{},"48":{},"50":{},"53":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"80":{},"83":{},"87":{},"88":{},"89":{},"94":{},"121":{},"130":{},"132":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"154":{},"156":{},"168":{},"176":{},"178":{},"192":{},"244":{},"250":{},"255":{},"260":{},"265":{},"273":{},"274":{},"277":{},"280":{},"281":{},"286":{},"289":{}},"component":{}}],["answer",{"_index":60,"title":{},"name":{},"text":{"2":{},"5":{},"280":{}},"component":{}}],["anti",{"_index":2625,"title":{},"name":{},"text":{"46":{}},"component":{}}],["anticip",{"_index":5284,"title":{},"name":{},"text":{"88":{},"140":{}},"component":{}}],["anymor",{"_index":1724,"title":{},"name":{},"text":{"32":{},"67":{},"154":{},"215":{}},"component":{}}],["anyon",{"_index":7229,"title":{},"name":{},"text":{"199":{}},"component":{}}],["anyth",{"_index":1600,"title":{},"name":{},"text":{"31":{},"40":{},"46":{},"127":{},"145":{},"185":{},"249":{},"270":{},"283":{}},"component":{}}],["anytim",{"_index":6264,"title":{},"name":{},"text":{"145":{},"154":{},"177":{}},"component":{}}],["anyway",{"_index":874,"title":{},"name":{},"text":{"6":{},"260":{},"283":{}},"component":{}}],["anywher",{"_index":838,"title":{},"name":{},"text":{"5":{},"198":{}},"component":{}}],["aot",{"_index":28,"title":{"126":{}},"name":{},"text":{"1":{},"30":{},"66":{},"67":{},"123":{},"124":{},"126":{}},"component":{"123":{},"124":{},"125":{},"126":{}}}],["apach",{"_index":103,"title":{},"name":{},"text":{"2":{},"66":{},"100":{},"133":{}},"component":{}}],["apart",{"_index":6343,"title":{},"name":{},"text":{"147":{},"148":{},"169":{},"235":{},"245":{},"274":{}},"component":{}}],["api",{"_index":1130,"title":{"136":{},"139":{},"166":{},"180":{},"182":{},"224":{},"31-2":{},"57-2":{},"57-5":{},"57-6":{},"59-2":{},"59-6":{},"59-12":{},"59-23":{},"69-12":{},"69-14":{},"71-2":{},"75-2":{},"76-4":{},"77-3":{},"77-7":{},"77-11":{},"88-30":{},"89-2":{},"89-4":{},"89-10":{},"144-4":{},"145-19":{},"145-26":{},"147-10":{},"166-1":{},"166-2":{},"204-1":{},"211-6":{},"212-7":{},"214-6":{},"224-1":{},"224-2":{},"224-3":{},"224-4":{},"278-3":{},"279-6":{}},"name":{"136":{},"139":{},"166":{},"180":{},"182":{}},"text":{"16":{},"24":{},"27":{},"30":{},"31":{},"34":{},"36":{},"38":{},"43":{},"44":{},"46":{},"50":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"82":{},"86":{},"87":{},"88":{},"99":{},"101":{},"107":{},"120":{},"121":{},"127":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"156":{},"165":{},"166":{},"168":{},"169":{},"172":{},"173":{},"174":{},"175":{},"181":{},"182":{},"189":{},"192":{},"199":{},"202":{},"204":{},"206":{},"207":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"260":{},"278":{},"279":{},"280":{},"281":{},"289":{}},"component":{}}],["api.thi",{"_index":6026,"title":{},"name":{},"text":{"140":{}},"component":{}}],["api/pom.xml",{"_index":7795,"title":{},"name":{},"text":{"278":{},"279":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/bikestatus.java",{"_index":7835,"title":{},"name":{},"text":{"280":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/bikestatusnamedqueries.java",{"_index":7862,"title":{},"name":{},"text":{"280":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/rentalstatus.java",{"_index":7840,"title":{},"name":{},"text":{"280":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/retnal/registerbikecommand.java",{"_index":7953,"title":{},"name":{},"text":{"281":{}},"component":{}}],["apivers",{"_index":586,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["api’",{"_index":5498,"title":{},"name":{},"text":{"99":{},"107":{}},"component":{}}],["aplic",{"_index":7654,"title":{},"name":{},"text":{"265":{}},"component":{}}],["apm",{"_index":3007,"title":{},"name":{},"text":{"59":{},"133":{}},"component":{}}],["app",{"_index":591,"title":{"168-1":{},"172-3":{},"276-3":{}},"name":{"274":{},"276":{},"284":{}},"text":{"3":{},"5":{},"66":{},"89":{},"128":{},"168":{},"172":{},"174":{},"191":{},"201":{},"202":{},"203":{},"234":{},"262":{}},"component":{}}],["appar",{"_index":3965,"title":{},"name":{},"text":{"67":{},"84":{}},"component":{}}],["appear",{"_index":3675,"title":{},"name":{},"text":{"66":{},"72":{},"74":{},"221":{},"274":{}},"component":{}}],["append",{"_index":2428,"title":{},"name":{},"text":{"44":{},"46":{},"69":{},"72":{},"145":{},"151":{},"179":{},"186":{},"199":{}},"component":{}}],["append_ev",{"_index":6692,"title":{},"name":{},"text":{"171":{}},"component":{}}],["append_snapshot",{"_index":6693,"title":{},"name":{},"text":{"171":{}},"component":{}}],["appender.deleteevent(100l",{"_index":6294,"title":{},"name":{},"text":{"145":{}},"component":{}}],["appender.replaceevent(562l",{"_index":6295,"title":{},"name":{},"text":{"145":{}},"component":{}}],["appender.replaceevent(eventwithtoken.gettoken",{"_index":6282,"title":{},"name":{},"text":{"145":{}},"component":{}}],["appendev",{"_index":4411,"title":{},"name":{},"text":{"67":{}},"component":{}}],["appendic",{"_index":3293,"title":{},"name":{},"text":{"66":{}},"component":{}}],["appli",{"_index":638,"title":{"35-3":{},"145-12":{}},"name":{},"text":{"3":{},"30":{},"32":{},"35":{},"36":{},"42":{},"44":{},"49":{},"51":{},"59":{},"67":{},"77":{},"80":{},"82":{},"83":{},"84":{},"85":{},"86":{},"89":{},"121":{},"141":{},"145":{},"154":{},"156":{},"168":{},"177":{},"178":{},"179":{},"191":{},"198":{},"206":{},"209":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"261":{},"273":{}},"component":{}}],["applic",{"_index":70,"title":{"168":{},"229":{},"245":{},"267":{},"271":{},"272":{},"274":{},"275":{},"276":{},"284":{},"5-3":{},"5-5":{},"39-3":{},"178-7":{},"180-4":{},"186-5":{},"201-4":{},"203-2":{},"206-30":{},"221-9":{},"237-3":{},"241-1":{},"241-2":{},"245-1":{},"245-2":{},"261-6":{},"269-2":{},"270-1":{},"273-2":{},"274-2":{},"274-3":{},"274-6":{},"274-10":{},"274-21":{},"276-4":{},"276-5":{},"277-2":{},"277-3":{},"284-5":{}},"name":{"229":{}},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"10":{},"12":{},"13":{},"16":{},"17":{},"19":{},"20":{},"23":{},"24":{},"25":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"52":{},"53":{},"54":{},"55":{},"56":{},"58":{},"59":{},"61":{},"62":{},"66":{},"67":{},"69":{},"71":{},"73":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"99":{},"111":{},"114":{},"115":{},"117":{},"120":{},"123":{},"124":{},"126":{},"127":{},"128":{},"133":{},"140":{},"141":{},"143":{},"144":{},"147":{},"150":{},"154":{},"157":{},"161":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"185":{},"186":{},"187":{},"189":{},"191":{},"192":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"210":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"224":{},"227":{},"228":{},"229":{},"230":{},"231":{},"234":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}},"component":{}}],["application'",{"_index":4767,"title":{},"name":{},"text":{"77":{}},"component":{}}],["application.properti",{"_index":2611,"title":{},"name":{},"text":{"46":{},"88":{},"90":{},"104":{},"115":{},"276":{}},"component":{}}],["application.properties`und",{"_index":6515,"title":{},"name":{},"text":{"161":{}},"component":{}}],["application/json",{"_index":7270,"title":{},"name":{},"text":{"202":{},"203":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"280":{}},"component":{}}],["application/us",{"_index":6587,"title":{},"name":{},"text":{"169":{}},"component":{}}],["application/vnd.axoniq.event.list+json",{"_index":7465,"title":{},"name":{},"text":{"212":{},"217":{}},"component":{}}],["application/xml",{"_index":7310,"title":{},"name":{},"text":{"203":{},"216":{},"219":{}},"component":{}}],["applicationadminservic",{"_index":6994,"title":{},"name":{},"text":{"180":{}},"component":{}}],["applicationcontext",{"_index":5454,"title":{},"name":{},"text":{"96":{}},"component":{}}],["applicationoverview",{"_index":6996,"title":{},"name":{},"text":{"180":{}},"component":{}}],["applications/modul",{"_index":7741,"title":{},"name":{},"text":{"276":{}},"component":{}}],["application’",{"_index":1396,"title":{},"name":{},"text":{"28":{},"38":{},"49":{},"59":{},"69":{},"71":{},"88":{},"270":{},"274":{},"277":{},"281":{}},"component":{}}],["apply()`invoc",{"_index":1973,"title":{},"name":{},"text":{"35":{}},"component":{}}],["apply(new",{"_index":1189,"title":{},"name":{},"text":{"18":{},"20":{},"35":{},"36":{},"39":{},"42":{},"72":{},"80":{},"82":{},"84":{},"85":{},"281":{},"288":{},"289":{}},"component":{}}],["apply(object",{"_index":2380,"title":{},"name":{},"text":{"42":{},"82":{}},"component":{}}],["apply(…​).andthenappli",{"_index":1978,"title":{},"name":{},"text":{"35":{}},"component":{}}],["applymor",{"_index":2382,"title":{},"name":{},"text":{"42":{},"66":{}},"component":{}}],["applysnapshot(mysnapshotev",{"_index":4773,"title":{},"name":{},"text":{"77":{}},"component":{}}],["approach",{"_index":488,"title":{},"name":{},"text":{"3":{},"15":{},"16":{},"17":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"46":{},"50":{},"51":{},"53":{},"54":{},"60":{},"63":{},"64":{},"66":{},"67":{},"71":{},"75":{},"77":{},"82":{},"86":{},"87":{},"88":{},"89":{},"91":{},"94":{},"99":{},"100":{},"102":{},"120":{},"129":{},"140":{},"144":{},"145":{},"150":{},"151":{},"163":{},"165":{},"191":{},"202":{},"211":{}},"component":{}}],["appropri",{"_index":910,"title":{},"name":{},"text":{"6":{},"49":{},"57":{},"69":{},"71":{},"74":{},"88":{},"151":{},"203":{},"281":{},"283":{}},"component":{}}],["approv",{"_index":3457,"title":{},"name":{},"text":{"66":{}},"component":{}}],["apps/v1",{"_index":587,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["apt",{"_index":7243,"title":{},"name":{},"text":{"199":{}},"component":{}}],["arbitrari",{"_index":4723,"title":{},"name":{},"text":{"77":{}},"component":{}}],["arc",{"_index":7734,"title":{},"name":{},"text":{"274":{}},"component":{}}],["archetype:gener",{"_index":7802,"title":{},"name":{},"text":{"279":{}},"component":{}}],["archetypeartifactid",{"_index":7813,"title":{},"name":{},"text":{"279":{}},"component":{}}],["archetypegroupid",{"_index":7811,"title":{},"name":{},"text":{"279":{}},"component":{}}],["archetypevers",{"_index":7814,"title":{},"name":{},"text":{"279":{}},"component":{}}],["architectur",{"_index":869,"title":{"6":{},"153":{},"6-2":{},"200-2":{}},"name":{},"text":{"6":{},"7":{},"36":{},"72":{},"100":{},"120":{},"153":{},"200":{},"266":{},"274":{},"280":{},"281":{}},"component":{"6":{}}}],["archiv",{"_index":4752,"title":{},"name":{},"text":{"77":{},"151":{},"170":{},"172":{},"192":{}},"component":{}}],["area",{"_index":2374,"title":{},"name":{},"text":{"42":{},"88":{},"154":{},"164":{},"178":{},"179":{},"181":{},"204":{},"239":{},"274":{}},"component":{}}],["aren’t",{"_index":1591,"title":{},"name":{},"text":{"31":{},"69":{},"74":{},"88":{}},"component":{}}],["arg",{"_index":2053,"title":{},"name":{},"text":{"36":{},"67":{},"82":{},"85":{},"128":{}},"component":{}}],["arguabl",{"_index":2398,"title":{},"name":{},"text":{"43":{},"79":{},"127":{}},"component":{}}],["argument",{"_index":1300,"title":{},"name":{},"text":{"23":{},"69":{},"71":{},"145":{},"280":{},"281":{}},"component":{}}],["argumentclass2",{"_index":3113,"title":{},"name":{},"text":{"59":{}},"component":{}}],["aris",{"_index":3761,"title":{},"name":{},"text":{"66":{},"88":{},"270":{}},"component":{}}],["arithmet",{"_index":7172,"title":{"193-3":{}},"name":{},"text":{},"component":{}}],["arm64",{"_index":3906,"title":{},"name":{},"text":{"67":{}},"component":{}}],["arnaud",{"_index":3737,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aros",{"_index":2873,"title":{},"name":{},"text":{"53":{}},"component":{}}],["around",{"_index":883,"title":{},"name":{},"text":{"6":{},"31":{},"46":{},"50":{},"51":{},"53":{},"66":{},"67":{},"68":{},"69":{},"72":{},"75":{},"79":{},"84":{},"88":{},"100":{},"121":{},"127":{},"140":{},"144":{},"164":{},"179":{},"190":{},"274":{}},"component":{}}],["arrang",{"_index":7572,"title":{},"name":{},"text":{"238":{},"274":{}},"component":{}}],["array",{"_index":1665,"title":{},"name":{},"text":{"31":{},"64":{},"79":{},"149":{}},"component":{}}],["arraylist",{"_index":4931,"title":{},"name":{},"text":{"84":{},"85":{},"290":{}},"component":{}}],["arrays.aslist",{"_index":2696,"title":{},"name":{},"text":{"50":{},"59":{}},"component":{}}],["arriv",{"_index":4431,"title":{},"name":{},"text":{"68":{},"74":{},"77":{},"79":{},"84":{},"121":{},"202":{},"211":{}},"component":{}}],["arrow",{"_index":777,"title":{},"name":{},"text":{"5":{},"274":{}},"component":{}}],["arrow’",{"_index":787,"title":{},"name":{},"text":{"5":{}},"component":{}}],["articl",{"_index":516,"title":{},"name":{},"text":{"3":{},"191":{},"274":{},"276":{}},"component":{}}],["artifact",{"_index":147,"title":{"140-23":{}},"name":{},"text":{"2":{},"3":{},"30":{},"104":{},"114":{},"121":{},"138":{},"140":{},"176":{},"191":{},"192":{},"278":{}},"component":{}}],["artifactid",{"_index":2444,"title":{},"name":{},"text":{"44":{},"46":{},"279":{}},"component":{}}],["asdomaineventmessag",{"_index":3620,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aseventmessag",{"_index":2679,"title":{},"name":{},"text":{"49":{}},"component":{}}],["aseventmessage(\"mypayload",{"_index":2637,"title":{},"name":{},"text":{"47":{}},"component":{}}],["asia",{"_index":7561,"title":{},"name":{},"text":{"234":{}},"component":{}}],["asid",{"_index":2668,"title":{},"name":{},"text":{"49":{}},"component":{}}],["ask",{"_index":985,"title":{"7-3":{}},"name":{},"text":{"120":{},"172":{},"247":{},"260":{},"265":{},"274":{},"276":{},"285":{}},"component":{}}],["aslist",{"_index":6390,"title":{},"name":{},"text":{"148":{}},"component":{}}],["aslv2",{"_index":4046,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aspect",{"_index":518,"title":{},"name":{},"text":{"3":{},"34":{},"63":{},"76":{},"79":{},"87":{},"88":{},"89":{},"145":{},"146":{},"159":{},"165":{},"183":{},"190":{},"191":{},"192":{},"221":{},"237":{}},"component":{}}],["assert",{"_index":3391,"title":{},"name":{},"text":{"66":{},"67":{},"72":{},"285":{}},"component":{}}],["assertequals(1",{"_index":4545,"title":{},"name":{},"text":{"72":{}},"component":{}}],["assertionerror",{"_index":4588,"title":{},"name":{},"text":{"72":{}},"component":{}}],["asset",{"_index":6049,"title":{},"name":{},"text":{"140":{}},"component":{}}],["assign",{"_index":2100,"title":{"87-1":{},"87-2":{},"169-3":{}},"name":{},"text":{"38":{},"43":{},"67":{},"69":{},"87":{},"88":{},"89":{},"99":{},"104":{},"143":{},"147":{},"156":{},"157":{},"162":{},"169":{},"172":{},"173":{},"178":{},"192":{},"221":{},"254":{},"255":{},"280":{},"281":{},"283":{}},"component":{}}],["assign/chang",{"_index":7611,"title":{},"name":{},"text":{"255":{}},"component":{}}],["assign/un",{"_index":7610,"title":{},"name":{},"text":{"255":{}},"component":{}}],["assignhandlerinstancesmatching(str",{"_index":5064,"title":{},"name":{},"text":{"87":{}},"component":{}}],["assignhandlertypesmatch",{"_index":5589,"title":{},"name":{},"text":{"102":{}},"component":{}}],["assignhandlertypesmatching(str",{"_index":5066,"title":{},"name":{},"text":{"87":{}},"component":{}}],["assignprocessinggroup(funct",{"_index":5068,"title":{},"name":{},"text":{"87":{}},"component":{}}],["assignprocessinggroup(str",{"_index":5067,"title":{},"name":{},"text":{"87":{}},"component":{}}],["associ",{"_index":925,"title":{"68":{}},"name":{"68":{}},"text":{"6":{},"37":{},"45":{},"62":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"86":{},"115":{},"147":{},"154":{},"172":{},"178":{},"224":{},"242":{},"244":{},"245":{},"274":{}},"component":{}}],["associatewith(str",{"_index":4427,"title":{},"name":{},"text":{"68":{}},"component":{}}],["association_value_entri",{"_index":1833,"title":{},"name":{},"text":{"33":{}},"component":{}}],["associationkey",{"_index":4802,"title":{},"name":{},"text":{"79":{}},"component":{}}],["associationproperti",{"_index":3652,"title":{},"name":{},"text":{"66":{},"69":{}},"component":{}}],["associationresolv",{"_index":4056,"title":{},"name":{},"text":{"67":{}},"component":{}}],["associations.key",{"_index":5672,"title":{},"name":{},"text":{"111":{}},"component":{}}],["associations.valu",{"_index":5673,"title":{},"name":{},"text":{"111":{}},"component":{}}],["associationvalu",{"_index":4458,"title":{},"name":{},"text":{"69":{},"79":{}},"component":{}}],["associationvalue`",{"_index":4457,"title":{},"name":{},"text":{"69":{}},"component":{}}],["associationvalueentri",{"_index":4800,"title":{},"name":{},"text":{"79":{}},"component":{}}],["assum",{"_index":263,"title":{},"name":{},"text":{"3":{},"30":{},"34":{},"43":{},"64":{},"67":{},"80":{},"88":{},"104":{},"191":{},"192":{}},"component":{}}],["async",{"_index":5791,"title":{},"name":{},"text":{"120":{}},"component":{}}],["asyncfetch",{"_index":5487,"title":{"104-9":{}},"name":{},"text":{"99":{},"104":{}},"component":{}}],["asyncfetcher.build",{"_index":5490,"title":{},"name":{},"text":{"99":{}},"component":{}}],["asynchron",{"_index":877,"title":{"144-6":{}},"name":{},"text":{"6":{},"34":{},"38":{},"53":{},"59":{},"61":{},"63":{},"88":{},"120":{},"133":{},"144":{},"260":{}},"component":{}}],["asynchronouscommandbu",{"_index":2070,"title":{"38-9":{}},"name":{},"text":{"38":{}},"component":{}}],["asynchronouscommandbus(transactionmanag",{"_index":2166,"title":{},"name":{},"text":{"38":{}},"component":{}}],["asynchronouscommandbus.class",{"_index":2165,"title":{},"name":{},"text":{"38":{}},"component":{}}],["atom",{"_index":2591,"title":{},"name":{},"text":{"46":{},"53":{},"88":{},"145":{}},"component":{}}],["attach",{"_index":1684,"title":{},"name":{},"text":{"31":{},"38":{},"39":{},"42":{},"44":{},"46":{},"49":{},"51":{},"52":{},"53":{},"66":{},"72":{},"86":{},"87":{},"105":{},"106":{},"108":{},"274":{},"284":{}},"component":{}}],["attemp",{"_index":6144,"title":{},"name":{},"text":{"143":{}},"component":{}}],["attempt",{"_index":1296,"title":{},"name":{},"text":{"23":{},"31":{},"66":{},"69":{},"72":{},"88":{},"96":{},"141":{},"143":{},"172":{},"179":{},"206":{}},"component":{}}],["attribut",{"_index":1343,"title":{"59-11":{},"86-7":{}},"name":{},"text":{"24":{},"27":{},"36":{},"49":{},"51":{},"59":{},"63":{},"66":{},"67":{},"69":{},"77":{},"79":{},"86":{},"88":{},"170":{},"185":{},"215":{},"280":{},"281":{}},"component":{}}],["audienc",{"_index":7210,"title":{"199-2":{},"227-2":{},"236-2":{}},"name":{},"text":{},"component":{}}],["audit",{"_index":932,"title":{},"name":{},"text":{"6":{},"36":{},"49":{},"51":{},"140":{}},"component":{}}],["auditinginterceptor",{"_index":2740,"title":{},"name":{},"text":{"51":{}},"component":{}}],["aut",{"_index":5783,"title":{},"name":{},"text":{"119":{}},"component":{}}],["authcorrelationdataprovid",{"_index":2699,"title":{},"name":{},"text":{"50":{}},"component":{}}],["authcorrelationdataprovider(funct",{"_index":2701,"title":{},"name":{},"text":{"50":{}},"component":{}}],["authent",{"_index":127,"title":{"247":{},"172-3":{},"172-4":{},"206-18":{}},"name":{"247":{}},"text":{"2":{},"51":{},"141":{},"143":{},"147":{},"156":{},"166":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"175":{},"178":{},"179":{},"185":{},"186":{},"192":{},"204":{},"206":{},"208":{},"226":{},"233":{},"237":{},"247":{},"250":{},"254":{}},"component":{}}],["author",{"_index":128,"title":{"206-18":{}},"name":{},"text":{"2":{},"8":{},"13":{},"148":{},"170":{},"176":{},"185":{},"215":{},"247":{},"254":{}},"component":{}}],["auto",{"_index":1455,"title":{"32-1":{},"32-4":{},"32-5":{},"57-3":{},"57-7":{},"57-8":{},"59-3":{},"59-7":{},"59-13":{},"59-14":{},"59-19":{},"59-24":{},"69-13":{},"69-15":{},"71-3":{},"75-3":{},"76-5":{},"77-4":{},"77-8":{},"77-12":{},"79-2":{},"89-3":{},"89-5":{},"89-6":{},"89-11":{},"89-12":{},"192-9":{}},"name":{},"text":{"29":{},"30":{},"32":{},"36":{},"39":{},"40":{},"46":{},"59":{},"66":{},"67":{},"69":{},"79":{},"88":{},"94":{},"97":{},"99":{},"104":{},"114":{},"140":{},"179":{},"180":{},"189":{},"216":{}},"component":{}}],["auto_rebalance_processor",{"_index":6678,"title":{},"name":{},"text":{"171":{}},"component":{}}],["autoclust",{"_index":431,"title":{},"name":{},"text":{"3":{},"154":{},"191":{}},"component":{}}],["autocluster.context",{"_index":6886,"title":{},"name":{},"text":{"179":{}},"component":{}}],["autocluster.first",{"_index":6885,"title":{},"name":{},"text":{"179":{}},"component":{}}],["autocommit",{"_index":2864,"title":{},"name":{},"text":{"53":{}},"component":{}}],["autoconfig",{"_index":4141,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autoconfigur",{"_index":1107,"title":{},"name":{},"text":{"15":{},"24":{},"32":{},"50":{},"59":{},"66":{},"67":{},"68":{},"114":{},"128":{},"150":{}},"component":{}}],["autoconfigurationpackages#get(beanfactori",{"_index":4252,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autoconfigureaft",{"_index":3946,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autoconfigurebefor",{"_index":3945,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autom",{"_index":1775,"title":{"33-10":{},"274-19":{}},"name":{},"text":{"33":{},"44":{},"66":{},"154":{},"226":{},"246":{},"260":{},"274":{},"283":{},"286":{},"287":{}},"component":{}}],["automat",{"_index":218,"title":{"154-3":{},"260-6":{}},"name":{},"text":{"3":{},"15":{},"17":{},"19":{},"26":{},"27":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"50":{},"51":{},"53":{},"59":{},"61":{},"63":{},"66":{},"67":{},"68":{},"69":{},"76":{},"77":{},"79":{},"81":{},"86":{},"88":{},"90":{},"96":{},"99":{},"104":{},"111":{},"114":{},"115":{},"116":{},"121":{},"128":{},"138":{},"140":{},"142":{},"147":{},"151":{},"154":{},"167":{},"176":{},"177":{},"179":{},"180":{},"191":{},"192":{},"247":{},"249":{},"250":{},"259":{},"260":{},"262":{},"274":{},"284":{},"285":{}},"component":{}}],["automaticaccountcommanddispatcher.dispatch",{"_index":3011,"title":{},"name":{},"text":{"59":{}},"component":{}}],["autosc",{"_index":7615,"title":{},"name":{},"text":{"255":{}},"component":{}}],["autowir",{"_index":3042,"title":{},"name":{},"text":{"59":{},"67":{},"69":{},"96":{},"97":{},"286":{},"289":{},"290":{}},"component":{}}],["avail",{"_index":178,"title":{"221":{},"206-50":{},"220-2":{},"262-9":{}},"name":{},"text":{"2":{},"3":{},"8":{},"13":{},"15":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"46":{},"49":{},"51":{},"53":{},"54":{},"59":{},"62":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"79":{},"83":{},"86":{},"88":{},"91":{},"94":{},"97":{},"99":{},"100":{},"101":{},"114":{},"115":{},"120":{},"121":{},"129":{},"132":{},"137":{},"140":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"157":{},"163":{},"176":{},"178":{},"179":{},"182":{},"185":{},"186":{},"187":{},"189":{},"191":{},"192":{},"197":{},"199":{},"201":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"220":{},"221":{},"224":{},"226":{},"250":{},"260":{},"261":{},"262":{},"267":{},"268":{},"273":{},"274":{},"277":{},"280":{},"281":{},"286":{},"288":{},"289":{}},"component":{}}],["availabilityupdatedev",{"_index":8042,"title":{},"name":{},"text":{"286":{}},"component":{}}],["averag",{"_index":2985,"title":{},"name":{},"text":{"58":{},"186":{},"197":{},"273":{},"274":{}},"component":{}}],["avg",{"_index":7207,"title":{},"name":{},"text":{"197":{}},"component":{}}],["avoid",{"_index":1646,"title":{},"name":{},"text":{"31":{},"79":{},"94":{},"102":{},"154":{},"177":{},"279":{},"284":{}},"component":{}}],["await",{"_index":3911,"title":{},"name":{},"text":{"67":{}},"component":{}}],["awaitforstatus(str",{"_index":6217,"title":{},"name":{},"text":{"144":{}},"component":{}}],["awar",{"_index":911,"title":{},"name":{},"text":{"6":{},"20":{},"31":{},"34":{},"36":{},"44":{},"66":{},"69":{},"71":{},"77":{},"88":{},"145":{},"146":{}},"component":{}}],["away",{"_index":5430,"title":{},"name":{},"text":{"94":{},"244":{}},"component":{}}],["awkward",{"_index":5642,"title":{},"name":{},"text":{"107":{}},"component":{}}],["axoframework",{"_index":7696,"title":{},"name":{},"text":{"273":{}},"component":{}}],["axon",{"_index":1,"title":{"1":{},"2":{},"3":{},"4":{},"10":{},"11":{},"16":{},"33":{},"135":{},"136":{},"139":{},"148":{},"161":{},"168":{},"169":{},"170":{},"172":{},"173":{},"186":{},"191":{},"192":{},"199":{},"200":{},"207":{},"232":{},"251":{},"252":{},"256":{},"279":{},"2-1":{},"2-2":{},"2-3":{},"2-4":{},"2-5":{},"2-6":{},"2-7":{},"3-13":{},"5-4":{},"12-1":{},"12-2":{},"30-2":{},"30-3":{},"30-4":{},"30-5":{},"30-6":{},"30-7":{},"30-8":{},"30-9":{},"30-10":{},"30-11":{},"30-12":{},"30-13":{},"30-14":{},"30-16":{},"30-17":{},"30-18":{},"30-19":{},"30-20":{},"30-21":{},"30-22":{},"30-23":{},"30-24":{},"30-25":{},"30-26":{},"30-27":{},"30-28":{},"30-29":{},"30-30":{},"30-31":{},"30-32":{},"30-33":{},"30-34":{},"30-35":{},"30-36":{},"30-37":{},"30-38":{},"31-2":{},"32-3":{},"40-5":{},"46-3":{},"54-1":{},"57-2":{},"57-5":{},"57-6":{},"59-2":{},"59-6":{},"59-12":{},"59-23":{},"59-27":{},"59-28":{},"59-38":{},"59-39":{},"59-41":{},"59-42":{},"59-44":{},"59-45":{},"69-12":{},"69-14":{},"71-2":{},"75-2":{},"76-2":{},"76-4":{},"77-3":{},"77-7":{},"77-11":{},"88-24":{},"89-2":{},"89-4":{},"89-10":{},"140-23":{},"142-3":{},"144-3":{},"144-5":{},"144-6":{},"145-18":{},"145-27":{},"147-2":{},"150-5":{},"151-2":{},"163-2":{},"165-2":{},"168-1":{},"169-1":{},"169-2":{},"170-4":{},"173-1":{},"173-2":{},"191-6":{},"192-2":{},"192-6":{},"199-1":{},"199-7":{},"200-1":{},"200-2":{},"201-3":{},"201-5":{},"201-6":{},"202-5":{},"202-9":{},"202-13":{},"203-3":{},"203-4":{},"203-5":{},"204-1":{},"206-2":{},"206-6":{},"208-1":{},"208-3":{},"211-5":{},"211-6":{},"212-6":{},"212-7":{},"214-5":{},"214-6":{},"221-7":{},"226-3":{},"232-1":{},"232-2":{},"232-3":{},"241-1":{},"269-2":{},"269-3":{},"270-1":{},"270-2":{},"278-2":{},"278-3":{},"283-4":{},"285-1":{}},"name":{"10":{},"11":{},"161":{},"186":{},"251":{},"252":{},"256":{},"270":{},"279":{}},"text":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"19":{},"20":{},"23":{},"24":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"107":{},"109":{},"111":{},"112":{},"114":{},"115":{},"117":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"126":{},"128":{},"129":{},"131":{},"133":{},"134":{},"137":{},"138":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"153":{},"154":{},"155":{},"156":{},"157":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"191":{},"192":{},"194":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"226":{},"227":{},"228":{},"232":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"241":{},"242":{},"245":{},"246":{},"249":{},"250":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{}},"component":{"1":{},"3":{},"4":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["axon.amqp.exchange=exchangenam",{"_index":5414,"title":{},"name":{},"text":{"90":{}},"component":{}}],["axon.amqp.transact",{"_index":5415,"title":{},"name":{},"text":{"90":{}},"component":{}}],["axon.applicationcommandqueue.s",{"_index":7101,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationqueryqueue.s",{"_index":7108,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.duration.connect",{"_index":7090,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.saturation.connected.count",{"_index":7092,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.throughput.connect.count",{"_index":7091,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.throughput.disconnect.count",{"_index":7093,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationsubscriptionmetricregistry.act",{"_index":7125,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationsubscriptionmetricregistry.tot",{"_index":7123,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationsubscriptionmetricregistry.upd",{"_index":7124,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.authentication.error.count",{"_index":7094,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.axonserver.cert",{"_index":6804,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axon.axonserver.context",{"_index":5704,"title":{},"name":{},"text":{"115":{},"147":{}},"component":{}}],["axon.axonserver.contexts=ten",{"_index":5698,"title":{},"name":{},"text":{"115":{}},"component":{}}],["axon.axonserver.disableeventblacklisting=tru",{"_index":4719,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axon.axonserver.en",{"_index":1762,"title":{},"name":{},"text":{"32":{},"40":{}},"component":{}}],["axon.axonserver.eventhandling.processors.[processor",{"_index":5291,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.axonserver.eventhandling.processors.mi",{"_index":5295,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.axonserver.heartbeat.enabled=fals",{"_index":7147,"title":{},"name":{},"text":{"189":{}},"component":{}}],["axon.axonserver.initi",{"_index":6532,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axon.axonserver.new",{"_index":6535,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axon.axonserver.nr",{"_index":6534,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axon.axonserver.persist",{"_index":5407,"title":{},"name":{},"text":{"89":{}},"component":{}}],["axon.axonserver.ssl",{"_index":6803,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axon.axonserver.token",{"_index":6569,"title":{},"name":{},"text":{"168":{}},"component":{}}],["axon.axonserver.token=[token",{"_index":6581,"title":{},"name":{},"text":{"168":{}},"component":{}}],["axon.command",{"_index":7099,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.act",{"_index":7100,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.count",{"_index":7095,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.dur",{"_index":7040,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.duration.handl",{"_index":7041,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.error.count",{"_index":7042,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.rate.fifteenminuter",{"_index":7098,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.rate.fiveminuter",{"_index":7097,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.rate.oneminuter",{"_index":7096,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.saturation.active.count",{"_index":7044,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.saturation.queued.count",{"_index":7043,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.count",{"_index":7035,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.rate.fifteenminuter",{"_index":7038,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.rate.fiveminuter",{"_index":7037,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.rate.oneminuter",{"_index":7036,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.distributed.enabled=tru",{"_index":2270,"title":{},"name":{},"text":{"38":{},"96":{},"128":{}},"component":{}}],["axon.distributed.jgroup",{"_index":5456,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.bind",{"_index":5459,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.clust",{"_index":5462,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.configur",{"_index":5464,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.gossip.auto",{"_index":5468,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.gossip.hosts=localhost[12001",{"_index":5467,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.load",{"_index":5457,"title":{},"name":{},"text":{"96":{},"128":{}},"component":{}}],["axon.distributed.spr",{"_index":5950,"title":{},"name":{},"text":{"128":{}},"component":{}}],["axon.ev",{"_index":5511,"title":{},"name":{},"text":{"99":{},"102":{}},"component":{}}],["axon.event.count",{"_index":7109,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.event.rate.fifteenminuter",{"_index":7112,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.event.rate.fiveminuter",{"_index":7111,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.event.rate.oneminuter",{"_index":7110,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.eventhandling.processors.first.dlq.enabled=tru",{"_index":1108,"title":{},"name":{},"text":{"15":{}},"component":{}}],["axon.eventhandling.processors.mi",{"_index":5004,"title":{},"name":{},"text":{"86":{},"88":{},"89":{}},"component":{}}],["axon.eventhandling.processors.name.source=myqueuemessagesourc",{"_index":5427,"title":{},"name":{},"text":{"92":{}},"component":{}}],["axon.eventhandling.processors[my.processor].mode=pool",{"_index":5152,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.eventhandling.processors[my.processor].mode=subscrib",{"_index":5392,"title":{},"name":{},"text":{"89":{}},"component":{}}],["axon.eventhandling.processors[my.processor].mode=track",{"_index":5135,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.eventhandling.processors[my.processor].source=eventbu",{"_index":5393,"title":{},"name":{},"text":{"89":{}},"component":{}}],["axon.eventhandling.processors[my.processor].source=eventstor",{"_index":5136,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.eventhandling.tokenstore.claim",{"_index":5205,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.events.append.dur",{"_index":7063,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.error.count",{"_index":7064,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.saturation.active.count",{"_index":7065,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.count",{"_index":7059,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.rate.fifteenminuter",{"_index":7062,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.rate.fiveminuter",{"_index":7061,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.rate.oneminuter",{"_index":7060,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.dur",{"_index":7070,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.error.count",{"_index":7071,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.saturation.active.count",{"_index":7072,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.count",{"_index":7066,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.rate.fifteenminuter",{"_index":7069,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.rate.fiveminuter",{"_index":7068,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.rate.oneminuter",{"_index":7067,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.extension.tracing.en",{"_index":5965,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.extension.tracing.span.commandtags=message_id",{"_index":5974,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.extension.tracing.span.eventtags=message_id",{"_index":5975,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.extension.tracing.span.querytags=message_id",{"_index":5976,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.globalsubscriptionmetricregistry.act",{"_index":7119,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.globalsubscriptionmetricregistry.tot",{"_index":7117,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.globalsubscriptionmetricregistry.upd",{"_index":7118,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.kafka",{"_index":5604,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.consum",{"_index":5608,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.consumer.ev",{"_index":5616,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.fetcher.pol",{"_index":5603,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.messag",{"_index":5595,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.produc",{"_index":5607,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.producer.ev",{"_index":5602,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.producer.transact",{"_index":5599,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.publisher.confirm",{"_index":5598,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.metrics.auto",{"_index":2918,"title":{},"name":{},"text":{"57":{}},"component":{}}],["axon.metrics.micrometer.dimensional=tru",{"_index":2930,"title":{},"name":{},"text":{"57":{}},"component":{}}],["axon.mongo.databas",{"_index":5688,"title":{},"name":{},"text":{"114":{}},"component":{}}],["axon.multi",{"_index":5708,"title":{},"name":{},"text":{"115":{},"116":{}},"component":{}}],["axon.queri",{"_index":7106,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.act",{"_index":7107,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.count",{"_index":7102,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.dur",{"_index":7050,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.duration.handl",{"_index":7051,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.error.count",{"_index":7052,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.rate.fifteenminuter",{"_index":7105,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.rate.fiveminuter",{"_index":7104,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.rate.oneminuter",{"_index":7103,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.saturation.active.count",{"_index":7054,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.saturation.queued.count",{"_index":7053,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.dur",{"_index":7056,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.saturation.act",{"_index":7058,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.throughput.tot",{"_index":7055,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.throughput.upd",{"_index":7057,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.count",{"_index":7046,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.rate.fifteenminuter",{"_index":7049,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.rate.fiveminuter",{"_index":7048,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.rate.oneminuter",{"_index":7047,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.querysubscriptionmetricregistry.act",{"_index":7122,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.querysubscriptionmetricregistry.tot",{"_index":7120,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.querysubscriptionmetricregistry.upd",{"_index":7121,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.serializer.ev",{"_index":1631,"title":{},"name":{},"text":{"31":{}},"component":{}}],["axon.serializer.events*=jackson",{"_index":6521,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axon.serializer.events=jackson",{"_index":2613,"title":{},"name":{},"text":{"46":{}},"component":{}}],["axon.serializer.gener",{"_index":1630,"title":{},"name":{},"text":{"31":{}},"component":{}}],["axon.serializer.messag",{"_index":1632,"title":{},"name":{},"text":{"31":{}},"component":{}}],["axon.server.en",{"_index":2254,"title":{},"name":{},"text":{"38":{}},"component":{}}],["axon.snapshot.count",{"_index":7113,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshot.rate.fifteenminuter",{"_index":7116,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshot.rate.fiveminuter",{"_index":7115,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshot.rate.oneminuter",{"_index":7114,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.dur",{"_index":7077,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.error.count",{"_index":7078,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.saturation.active.count",{"_index":7079,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.count",{"_index":7073,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.rate.fifteenminuter",{"_index":7076,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.rate.fiveminuter",{"_index":7075,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.rate.oneminuter",{"_index":7074,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.dur",{"_index":7084,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.error.count",{"_index":7085,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.saturation.active.count",{"_index":7086,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.count",{"_index":7080,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.rate.fifteenminuter",{"_index":7083,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.rate.fiveminuter",{"_index":7082,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.rate.oneminuter",{"_index":7081,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tags.computeregion=europ",{"_index":6426,"title":{},"name":{},"text":{"150":{}},"component":{}}],["axon.tasks.dur",{"_index":7089,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tasks.error.count",{"_index":7088,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tasks.saturation.scheduled.count",{"_index":7087,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tracing.attributeproviders.aggregateidentifi",{"_index":3055,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.messageid",{"_index":3056,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.messagenam",{"_index":3057,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.messagetyp",{"_index":3058,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.metadata",{"_index":3060,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.payloadtyp",{"_index":3059,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.showeventsourcinghandl",{"_index":3053,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.vers",{"_index":2253,"title":{},"name":{},"text":{"38":{},"46":{},"61":{},"278":{}},"component":{}}],["axon_aggregate_identifi",{"_index":3025,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_ee_server_hom",{"_index":6516,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axon_message_id",{"_index":3027,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_message_nam",{"_index":3029,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_message_typ",{"_index":3031,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_metadata_{key",{"_index":3036,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_payload_typ",{"_index":3034,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_se_server_home}/data/default",{"_index":6528,"title":{},"name":{},"text":{"162":{}},"component":{}}],["axon_server_url}/swagg",{"_index":7012,"title":{},"name":{},"text":{"182":{}},"component":{}}],["axonautoconfigur",{"_index":1758,"title":{},"name":{},"text":{"32":{}},"component":{}}],["axonconfig",{"_index":1056,"title":{},"name":{},"text":{"14":{},"15":{},"24":{},"38":{},"43":{},"44":{},"46":{},"59":{},"61":{},"69":{},"76":{},"77":{},"81":{},"86":{},"87":{},"88":{},"89":{},"110":{},"113":{},"189":{}},"component":{}}],["axonconfig.eventprocessingconfigur",{"_index":4705,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axonconfigur",{"_index":2011,"title":{},"name":{},"text":{"36":{},"60":{},"147":{}},"component":{}}],["axonconfigurationexcept",{"_index":4307,"title":{},"name":{},"text":{"67":{}},"component":{}}],["axondbschedulerautoconfigur",{"_index":3333,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonframework",{"_index":1022,"title":{"270":{},"278":{}},"name":{"278":{}},"text":{"10":{},"12":{},"40":{},"67":{},"69":{},"71":{},"221":{},"265":{},"268":{},"270":{},"271":{},"273":{},"277":{},"278":{},"279":{},"280":{},"281":{}},"component":{}}],["axonframeworkvers",{"_index":3052,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonframwork",{"_index":7671,"title":{},"name":{},"text":{"270":{}},"component":{}}],["axoniq",{"_index":9,"title":{"5":{},"8":{},"13":{},"227":{},"231":{},"233":{},"234":{},"236":{},"238":{},"241":{},"249":{},"255":{},"263":{},"267":{},"272":{},"274":{},"276":{},"287":{},"5-1":{},"5-3":{},"5-4":{},"5-5":{},"5-7":{},"5-13":{},"5-14":{},"5-15":{},"8-1":{},"13-1":{},"88-23":{},"201-2":{},"227-1":{},"232-1":{},"232-2":{},"236-1":{},"263-1":{},"269-1":{},"276-1":{},"276-2":{},"276-3":{},"276-4":{},"276-5":{}},"name":{"263":{},"274":{}},"text":{"1":{},"3":{},"5":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"17":{},"28":{},"46":{},"49":{},"55":{},"66":{},"77":{},"86":{},"88":{},"137":{},"143":{},"154":{},"166":{},"168":{},"169":{},"173":{},"177":{},"187":{},"191":{},"192":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"227":{},"230":{},"232":{},"233":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"281":{},"287":{}},"component":{"5":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{}}}],["axoniq.axonserv",{"_index":6827,"title":{},"name":{},"text":{"179":{}},"component":{}}],["axoniq.axonserver.accesscontrol.admin",{"_index":6783,"title":{},"name":{},"text":{"173":{},"204":{}},"component":{}}],["axoniq.axonserver.accesscontrol.en",{"_index":6582,"title":{},"name":{},"text":{"169":{},"170":{},"172":{},"173":{}},"component":{}}],["axoniq.axonserver.accesscontrol.enabled=tru",{"_index":507,"title":{},"name":{},"text":{"3":{},"170":{},"174":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.intern",{"_index":508,"title":{},"name":{},"text":{"3":{},"169":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.sam",{"_index":6087,"title":{},"name":{},"text":{"141":{}},"component":{}}],["axoniq.axonserver.accesscontrol.systemtokenfil",{"_index":6583,"title":{},"name":{},"text":{"169":{}},"component":{}}],["axoniq.axonserver.accesscontrol.systemtokenfile=./config/axonserver.token",{"_index":387,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.systemtokenfile=/axonserver/config/axonserver.tok",{"_index":510,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.token",{"_index":6782,"title":{},"name":{},"text":{"173":{},"204":{}},"component":{}}],["axoniq.axonserver.autocluster.context",{"_index":6488,"title":{},"name":{},"text":{"154":{},"192":{}},"component":{}}],["axoniq.axonserver.autocluster.contexts=_admin,default",{"_index":493,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.autocluster.contexts=context1,context2",{"_index":6487,"title":{},"name":{},"text":{"154":{}},"component":{}}],["axoniq.axonserver.autocluster.contexts=default",{"_index":6038,"title":{},"name":{},"text":{"140":{}},"component":{}}],["axoniq.axonserver.autocluster.first",{"_index":6037,"title":{},"name":{},"text":{"140":{},"154":{},"192":{}},"component":{}}],["axoniq.axonserver.autocluster.first=axonserv",{"_index":492,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.autocluster.first=intern",{"_index":6485,"title":{},"name":{},"text":{"154":{}},"component":{}}],["axoniq.axonserver.clustertemplate.path:/mypath/clust",{"_index":6493,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["axoniq.axonserver.commandflowcontrol.initi",{"_index":6540,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.commandflowcontrol.new",{"_index":6543,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.commandflowcontrol.nr",{"_index":6542,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.configdb",{"_index":710,"title":{},"name":{},"text":{"4":{}},"component":{}}],["axoniq.axonserver.controldb",{"_index":297,"title":{},"name":{},"text":{"3":{},"4":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.activedirectori",{"_index":6628,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.activedirectory=tru",{"_index":6631,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.addomain",{"_index":6629,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.addomain=demo.io",{"_index":6633,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.allow",{"_index":6642,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.en",{"_index":6611,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.enabled=tru",{"_index":6630,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.group",{"_index":6625,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.initialbindpassword",{"_index":6621,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.initialbinduserdn",{"_index":6617,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.rol",{"_index":6636,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.roles.admin_staff=admin@_admin",{"_index":6639,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.roles.axonadmin=admin@_admin",{"_index":6635,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.roles.ship_crew=use_context@default",{"_index":6640,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.search",{"_index":6622,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.searchfilter=(&(objectclass=user)(samaccountname=\\{1",{"_index":6634,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.serv",{"_index":6612,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.servername=mi",{"_index":6632,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.trust",{"_index":6097,"title":{},"name":{},"text":{"141":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.us",{"_index":6641,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.licensedirectori",{"_index":265,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.enterprise.licensedirectory=./config",{"_index":386,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.author",{"_index":6758,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.en",{"_index":6756,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.forceoidclogout",{"_index":6770,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.mod",{"_index":6757,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.request",{"_index":6764,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.usernam",{"_index":6762,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.ev",{"_index":6089,"title":{},"name":{},"text":{"141":{},"145":{}},"component":{}}],["axoniq.axonserver.event.aggregate.prefetch",{"_index":6536,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.event.ev",{"_index":6539,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.event.glob",{"_index":6084,"title":{},"name":{},"text":{"141":{}},"component":{}}],["axoniq.axonserver.event.storag",{"_index":294,"title":{},"name":{},"text":{"3":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.event.storage=./ev",{"_index":382,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.event.storage]/[context",{"_index":6325,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axoniq.axonserver.event.storages.slow_disk=/hhd2/eventstor",{"_index":6441,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.event.storages.{storag",{"_index":6436,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.events.storag",{"_index":6321,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axoniq.axonserver.forc",{"_index":6500,"title":{},"name":{},"text":{"156":{}},"component":{}}],["axoniq.axonserver.heartbeat.enabled=tru",{"_index":7139,"title":{},"name":{},"text":{"189":{}},"component":{}}],["axoniq.axonserver.hostnam",{"_index":7170,"title":{},"name":{},"text":{"192":{}},"component":{}}],["axoniq.axonserver.legaci",{"_index":7126,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.en",{"_index":7130,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.jaeg",{"_index":7131,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.prometheu",{"_index":7132,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.z",{"_index":7133,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.nam",{"_index":7169,"title":{},"name":{},"text":{"192":{}},"component":{}}],["axoniq.axonserver.pid",{"_index":389,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.plugin",{"_index":300,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.preview.persist",{"_index":6019,"title":{},"name":{},"text":{"140":{}},"component":{}}],["axoniq.axonserver.queryflowcontrol.initi",{"_index":6544,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.queryflowcontrol.new",{"_index":6546,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.queryflowcontrol.nr",{"_index":6545,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.recoveryfil",{"_index":6403,"title":{},"name":{},"text":{"149":{}},"component":{}}],["axoniq.axonserver.replication.log",{"_index":384,"title":{},"name":{},"text":{"3":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.replication.min",{"_index":6503,"title":{},"name":{},"text":{"156":{}},"component":{}}],["axoniq.axonserver.serv",{"_index":6517,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.axonserver.snapshot.storag",{"_index":296,"title":{},"name":{},"text":{"3":{},"147":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.snapshot.storage=./ev",{"_index":383,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.snapshot.storage]/[context",{"_index":6338,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axoniq.axonserver.snapshot.storages.slow_disk=/hhd2/eventstor",{"_index":6442,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.snapshot.storages.{storag",{"_index":6438,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.ssl.cert",{"_index":6796,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.ssl.en",{"_index":6795,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.ssl.intern",{"_index":6798,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.ssl.priv",{"_index":6797,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.standalon",{"_index":407,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.standalone=tru",{"_index":411,"title":{},"name":{},"text":{"3":{},"141":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.tags.computeregion=europ",{"_index":6421,"title":{},"name":{},"text":{"150":{}},"component":{}}],["axoniq.axonserver.tags.networkspeed=fast",{"_index":6422,"title":{},"name":{},"text":{"150":{}},"component":{}}],["axoniq.axonserver.transformation.storag",{"_index":6262,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axoniq.console.appl",{"_index":7749,"title":{},"name":{},"text":{"276":{}},"component":{}}],["axoniq.console.credenti",{"_index":7746,"title":{},"name":{},"text":{"276":{}},"component":{}}],["axoniq.console.dlq",{"_index":7751,"title":{},"name":{},"text":{"276":{}},"component":{}}],["axoniq.datasource.eventstore.password",{"_index":6520,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.datasource.eventstore.url",{"_index":6518,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.datasource.eventstore.usernam",{"_index":6519,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.licens",{"_index":483,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq/axonserv",{"_index":701,"title":{},"name":{},"text":{"4":{},"140":{}},"component":{}}],["axoniq/axonserver:2023.1",{"_index":235,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq/axonserver:2023.1.0",{"_index":6036,"title":{},"name":{},"text":{"140":{}},"component":{}}],["axoniq/axonserver:latest",{"_index":280,"title":{},"name":{},"text":{"3":{},"191":{},"284":{}},"component":{}}],["axoniq/synaps",{"_index":7499,"title":{},"name":{},"text":{"215":{}},"component":{}}],["axoniq_axonserver_standalon",{"_index":8000,"title":{},"name":{},"text":{"284":{}},"component":{}}],["axoniq_axonserver_standalone=tru",{"_index":7999,"title":{},"name":{},"text":{"284":{}},"component":{}}],["axoniq_licens",{"_index":611,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq_license=/axonserver/config/axoniq.licens",{"_index":443,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniqconsol",{"_index":7650,"title":{},"name":{},"text":{"264":{}},"component":{}}],["axoniq’",{"_index":7552,"title":{},"name":{},"text":{"230":{},"240":{}},"component":{}}],["axonquickstart.zip",{"_index":7253,"title":{},"name":{},"text":{"201":{}},"component":{}}],["axonserv",{"_index":226,"title":{"199-8":{},"206-25":{}},"name":{},"text":{"3":{},"4":{},"38":{},"46":{},"61":{},"67":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"154":{},"156":{},"161":{},"164":{},"168":{},"169":{},"174":{},"177":{},"178":{},"179":{},"181":{},"185":{},"190":{},"191":{},"192":{},"199":{},"206":{},"220":{},"221":{},"226":{},"284":{}},"component":{}}],["axonserver.jar",{"_index":339,"title":{},"name":{},"text":{"3":{},"4":{},"191":{},"192":{}},"component":{}}],["axonserver.properti",{"_index":258,"title":{},"name":{},"text":{"3":{},"4":{},"148":{},"154":{},"168":{},"174":{},"176":{},"179":{},"185":{},"188":{},"191":{},"192":{}},"component":{}}],["axonserver.token",{"_index":484,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver.yml",{"_index":6815,"title":{},"name":{},"text":{"179":{}},"component":{}}],["axonserver/axonserv",{"_index":7255,"title":{},"name":{},"text":{"201":{}},"component":{}}],["axonserver/config",{"_index":188,"title":{"3-3":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/config/axoniq.licens",{"_index":440,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/config/axonserver.properti",{"_index":441,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/config/axonserver.token",{"_index":442,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/data",{"_index":189,"title":{"3-4":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/data/axonserver.log",{"_index":309,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/ev",{"_index":190,"title":{"3-5":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/ext",{"_index":192,"title":{"3-7":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/licens",{"_index":617,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/license/axoniq.licens",{"_index":561,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/log",{"_index":191,"title":{"3-6":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/plugin",{"_index":193,"title":{"3-8":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/plugins/bundl",{"_index":303,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/plugins/cach",{"_index":306,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/secur",{"_index":616,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/security/token.txt",{"_index":565,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver:axonserv",{"_index":365,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserveractuatorautoconfigurationi",{"_index":4145,"title":{},"name":{},"text":{"67":{}},"component":{}}],["axonserverautoconfigur",{"_index":1757,"title":{},"name":{},"text":{"32":{}},"component":{}}],["axonservercommandbu",{"_index":2073,"title":{"38-15":{}},"name":{},"text":{"38":{},"59":{},"67":{},"115":{},"261":{}},"component":{}}],["axonservercommandbus.dispatch(${commandnam",{"_index":3066,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonservercommandbus.handle(${commandnam",{"_index":3067,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverconfig",{"_index":4716,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axonserverconfig.setdisableeventblacklisting(tru",{"_index":4717,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axonserverconfigur",{"_index":3318,"title":{},"name":{},"text":{"66":{},"67":{},"76":{},"189":{}},"component":{}}],["axonserverconfiguration#isforcereadfromlead",{"_index":4365,"title":{},"name":{},"text":{"67":{}},"component":{}}],["axonserverconfiguration.builder().context(othercontext).build",{"_index":6345,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axonserverconfiguration.heartbeatconfigur",{"_index":7142,"title":{},"name":{},"text":{"189":{}},"component":{}}],["axonserverconnect",{"_index":6267,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnection#disconnect",{"_index":6272,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnection#isconnect",{"_index":6273,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactori",{"_index":6203,"title":{},"name":{},"text":{"144":{},"145":{}},"component":{}}],["axonserverconnectionfactory#connect(context",{"_index":6271,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactory#forcli",{"_index":6266,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactory.forclient(\"ev",{"_index":6268,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactory.forclient(componentname).build",{"_index":6205,"title":{},"name":{},"text":{"144":{}},"component":{}}],["axonserverconnectionmanag",{"_index":2368,"title":{},"name":{},"text":{"40":{},"54":{},"66":{},"67":{},"147":{}},"component":{}}],["axonservercontain",{"_index":3388,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["axonservereecontain",{"_index":3526,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonservereventschedul",{"_index":2342,"title":{},"name":{},"text":{"40":{},"66":{},"115":{}},"component":{}}],["axonservereventstor",{"_index":2514,"title":{},"name":{},"text":{"46":{},"67":{},"115":{}},"component":{}}],["axonservereventstore#createstreamablemessagesourceforcontext(str",{"_index":2622,"title":{},"name":{},"text":{"46":{}},"component":{}}],["axonservereventstorefactori",{"_index":3320,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonserverhealthind",{"_index":3518,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonserverquerybu",{"_index":3122,"title":{"61-3":{}},"name":{},"text":{"61":{},"67":{},"115":{},"261":{}},"component":{}}],["axonserverquerybus.query(${querynam",{"_index":3094,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverquerybus.responseprocessingtask(${querynam",{"_index":3097,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverquerybus.scattergather(${querynam",{"_index":3101,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverquerybus.streamingquery(${querynam",{"_index":3099,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserversecontain",{"_index":3527,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonstartedev",{"_index":1772,"title":{},"name":{},"text":{"32":{}},"component":{}}],["axonsynaps",{"_index":7485,"title":{},"name":{},"text":{"215":{}},"component":{}}],["axonsynapse.properti",{"_index":7443,"title":{},"name":{},"text":{"208":{}},"component":{}}],["axonthreadfactory(\"coordin",{"_index":5268,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axonthreadfactory(\"work",{"_index":5271,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axonus",{"_index":2744,"title":{},"name":{},"text":{"51":{}},"component":{}}],["axonuser\".equals(userid",{"_index":2752,"title":{},"name":{},"text":{"51":{}},"component":{}}],["axon’",{"_index":1454,"title":{"278-1":{}},"name":{},"text":{"29":{},"31":{},"32":{},"34":{},"44":{},"46":{},"51":{},"59":{},"66":{},"67":{},"72":{},"76":{},"77":{},"87":{},"89":{},"99":{},"100":{},"102":{},"105":{},"106":{},"107":{},"108":{},"147":{}},"component":{}}],["azzazzel",{"_index":3426,"title":{},"name":{},"text":{"66":{}},"component":{}}],["b",{"_index":1971,"title":{},"name":{},"text":{"35":{},"156":{},"280":{},"283":{},"286":{}},"component":{}}],["b281",{"_index":7515,"title":{},"name":{},"text":{"217":{}},"component":{}}],["b328",{"_index":7301,"title":{},"name":{},"text":{"202":{}},"component":{}}],["b5d8",{"_index":7910,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["b887",{"_index":7938,"title":{},"name":{},"text":{"280":{}},"component":{}}],["back",{"_index":136,"title":{"63-6":{}},"name":{},"text":{"2":{},"29":{},"33":{},"38":{},"46":{},"51":{},"53":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"79":{},"85":{},"86":{},"88":{},"89":{},"101":{},"141":{},"142":{},"143":{},"145":{},"157":{},"203":{},"206":{},"219":{},"280":{},"281":{},"284":{}},"component":{}}],["backbon",{"_index":7214,"title":{},"name":{},"text":{"199":{}},"component":{}}],["backend",{"_index":657,"title":{},"name":{},"text":{"3":{},"191":{},"206":{},"220":{},"226":{}},"component":{}}],["background",{"_index":1732,"title":{},"name":{},"text":{"32":{},"34":{},"141":{},"145":{},"286":{}},"component":{}}],["backofficeaccount",{"_index":2059,"title":{},"name":{},"text":{"36":{}},"component":{}}],["backpressur",{"_index":3217,"title":{},"name":{},"text":{"63":{},"121":{},"163":{},"179":{}},"component":{}}],["backup",{"_index":6046,"title":{"142":{},"143-6":{},"156-1":{},"156-2":{},"156-3":{}},"name":{"142":{}},"text":{"140":{},"142":{},"143":{},"146":{},"151":{},"156":{},"157":{},"179":{}},"component":{}}],["backup_nod",{"_index":6101,"title":{},"name":{},"text":{"142":{}},"component":{}}],["backward",{"_index":1720,"title":{},"name":{},"text":{"32":{},"44":{},"130":{}},"component":{}}],["bad",{"_index":4648,"title":{},"name":{},"text":{"72":{},"142":{},"215":{},"221":{}},"component":{}}],["badg",{"_index":7636,"title":{},"name":{},"text":{"262":{}},"component":{}}],["balanc",{"_index":3362,"title":{"260-6":{}},"name":{},"text":{"66":{},"67":{},"88":{},"111":{},"151":{},"179":{},"180":{},"189":{},"202":{},"203":{},"206":{},"215":{},"220":{},"221":{},"246":{},"250":{},"260":{},"274":{}},"component":{}}],["balancing=tru",{"_index":5297,"title":{},"name":{},"text":{"88":{}},"component":{}}],["barbequ",{"_index":3730,"title":{},"name":{},"text":{"66":{}},"component":{}}],["base",{"_index":69,"title":{"277":{},"77-9":{},"150-1":{},"151-10":{},"151-11":{},"269-2":{}},"name":{"277":{}},"text":{"2":{},"3":{},"5":{},"17":{},"19":{},"23":{},"24":{},"25":{},"28":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"56":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"97":{},"100":{},"102":{},"108":{},"111":{},"115":{},"121":{},"130":{},"140":{},"144":{},"150":{},"151":{},"154":{},"156":{},"160":{},"162":{},"163":{},"169":{},"170":{},"173":{},"175":{},"177":{},"179":{},"184":{},"191":{},"192":{},"194":{},"202":{},"215":{},"216":{},"237":{},"241":{},"244":{},"245":{},"246":{},"260":{},"261":{},"262":{},"263":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["bash",{"_index":6807,"title":{},"name":{},"text":{"178":{}},"component":{}}],["basi",{"_index":3762,"title":{},"name":{},"text":{"66":{},"88":{},"94":{}},"component":{}}],["basic",{"_index":677,"title":{"7":{},"154":{},"8-2":{},"13-2":{},"82-1":{},"193-1":{},"199-5":{}},"name":{"7":{},"154":{}},"text":{"3":{},"8":{},"13":{},"21":{},"30":{},"36":{},"44":{},"67":{},"77":{},"82":{},"144":{},"145":{},"148":{},"154":{},"155":{},"166":{},"169":{},"173":{},"177":{},"185":{},"190":{},"191":{},"192":{},"193":{},"199":{},"201":{},"237":{},"247":{},"250":{},"274":{},"280":{},"284":{}},"component":{}}],["batch",{"_index":2555,"title":{},"name":{},"text":{"46":{},"67":{},"78":{},"88":{},"89":{},"163":{},"179":{},"212":{},"215":{},"261":{},"274":{}},"component":{}}],["batchsiz",{"_index":7468,"title":{},"name":{},"text":{"212":{}},"component":{}}],["batchsize/2",{"_index":3662,"title":{},"name":{},"text":{"66":{}},"component":{}}],["bd31",{"_index":7917,"title":{},"name":{},"text":{"280":{}},"component":{}}],["be",{"_index":742,"title":{"5-14":{}},"name":{},"text":{"6":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"46":{},"49":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"60":{},"63":{},"66":{},"67":{},"72":{},"77":{},"79":{},"82":{},"83":{},"85":{},"88":{},"101":{},"140":{},"142":{},"145":{},"148":{},"151":{},"153":{},"156":{},"157":{},"179":{},"185":{},"192":{},"243":{},"257":{},"260":{},"261":{},"273":{},"283":{},"289":{}},"component":{}}],["bean",{"_index":1088,"title":{"59-13":{},"59-14":{}},"name":{},"text":{"15":{},"20":{},"24":{},"31":{},"32":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"50":{},"51":{},"52":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"69":{},"71":{},"75":{},"76":{},"77":{},"86":{},"87":{},"88":{},"89":{},"92":{},"110":{},"113":{},"115":{},"126":{},"128":{},"147":{}},"component":{}}],["beandefinit",{"_index":4030,"title":{},"name":{},"text":{"67":{}},"component":{}}],["beanvalidationinterceptor",{"_index":2735,"title":{},"name":{},"text":{"51":{}},"component":{}}],["bearer",{"_index":7329,"title":{},"name":{},"text":{"204":{}},"component":{}}],["becom",{"_index":327,"title":{},"name":{},"text":{"3":{},"25":{},"27":{},"29":{},"31":{},"32":{},"35":{},"38":{},"39":{},"40":{},"41":{},"46":{},"48":{},"55":{},"58":{},"59":{},"62":{},"66":{},"67":{},"69":{},"79":{},"87":{},"88":{},"89":{},"140":{},"151":{},"154":{},"156":{},"178":{},"185":{},"191":{},"192":{},"244":{},"262":{},"281":{},"288":{}},"component":{}}],["befor",{"_index":571,"title":{},"name":{},"text":{"3":{},"4":{},"5":{},"17":{},"18":{},"32":{},"34":{},"38":{},"46":{},"51":{},"53":{},"55":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"82":{},"86":{},"88":{},"94":{},"101":{},"123":{},"130":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"148":{},"149":{},"151":{},"168":{},"173":{},"179":{},"180":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"226":{},"232":{},"244":{},"247":{},"260":{},"262":{},"263":{},"266":{},"277":{},"279":{},"280":{},"281":{},"284":{},"285":{},"288":{}},"component":{}}],["beforeeach",{"_index":1274,"title":{},"name":{},"text":{"22":{},"285":{}},"component":{}}],["beforehand",{"_index":7220,"title":{},"name":{},"text":{"199":{}},"component":{}}],["begin",{"_index":330,"title":{},"name":{},"text":{"3":{},"30":{},"67":{},"88":{},"154":{},"176":{},"191":{},"233":{},"268":{},"279":{},"288":{}},"component":{}}],["behalf",{"_index":7508,"title":{},"name":{},"text":{"216":{},"217":{},"219":{}},"component":{}}],["behav",{"_index":2996,"title":{},"name":{},"text":{"59":{},"67":{},"145":{},"163":{},"264":{},"270":{},"273":{},"274":{},"277":{}},"component":{}}],["behavior",{"_index":1027,"title":{"66-7":{}},"name":{},"text":{"14":{},"16":{},"25":{},"28":{},"29":{},"35":{},"36":{},"38":{},"46":{},"49":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"79":{},"86":{},"87":{},"88":{},"115":{},"163":{},"172":{},"202":{},"241":{},"244":{},"246":{},"266":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"276":{},"277":{},"285":{}},"component":{}}],["behaviour",{"_index":1265,"title":{"144-6":{}},"name":{},"text":{"22":{},"48":{},"67":{},"69":{},"84":{},"87":{},"101":{},"238":{},"264":{}},"component":{}}],["behind",{"_index":1020,"title":{},"name":{},"text":{"8":{},"13":{},"57":{},"66":{},"80":{},"141":{},"185":{}},"component":{}}],["believ",{"_index":6243,"title":{},"name":{},"text":{"145":{}},"component":{}}],["belong",{"_index":371,"title":{},"name":{},"text":{"3":{},"44":{},"46":{},"67":{},"84":{},"86":{},"87":{},"88":{},"115":{},"133":{},"142":{},"191":{}},"component":{}}],["below",{"_index":313,"title":{},"name":{},"text":{"3":{},"14":{},"28":{},"30":{},"32":{},"33":{},"37":{},"38":{},"41":{},"45":{},"46":{},"49":{},"51":{},"55":{},"61":{},"62":{},"63":{},"64":{},"66":{},"70":{},"72":{},"73":{},"74":{},"77":{},"78":{},"79":{},"86":{},"87":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"137":{},"138":{},"147":{},"154":{},"157":{},"159":{},"163":{},"164":{},"169":{},"175":{},"177":{},"178":{},"179":{},"181":{},"182":{},"185":{},"191":{},"192":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"228":{},"232":{},"237":{},"238":{},"245":{},"246":{},"249":{},"250":{},"257":{},"260":{},"261":{},"262":{},"274":{},"276":{},"277":{},"280":{},"283":{},"286":{},"289":{},"290":{}},"component":{}}],["benefici",{"_index":4496,"title":{},"name":{},"text":{"69":{},"71":{},"81":{},"86":{},"87":{},"88":{},"89":{},"111":{},"125":{}},"component":{}}],["benefit",{"_index":948,"title":{},"name":{},"text":{"6":{},"31":{},"32":{},"44":{},"67":{},"69":{},"71":{},"72":{},"84":{},"88":{},"99":{},"120":{},"162":{},"263":{},"264":{},"265":{},"274":{},"275":{},"277":{},"281":{},"283":{}},"component":{}}],["besid",{"_index":1509,"title":{},"name":{},"text":{"30":{},"39":{},"46":{},"47":{},"49":{},"58":{},"72":{},"91":{},"94":{},"99":{},"100":{},"124":{},"129":{},"147":{}},"component":{}}],["best",{"_index":530,"title":{},"name":{},"text":{"3":{},"15":{},"19":{},"25":{},"31":{},"34":{},"36":{},"38":{},"52":{},"53":{},"59":{},"66":{},"72":{},"77":{},"79":{},"111":{},"151":{},"156":{},"191":{},"200":{},"232":{},"234":{},"268":{}},"component":{}}],["beta",{"_index":4376,"title":{},"name":{},"text":{"67":{}},"component":{}}],["better",{"_index":1261,"title":{},"name":{},"text":{"21":{},"31":{},"38":{},"40":{},"66":{},"67":{},"72":{},"77":{},"140":{},"145":{},"264":{},"274":{}},"component":{}}],["between",{"_index":91,"title":{"130":{},"88-20":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"19":{},"29":{},"30":{},"31":{},"36":{},"38":{},"40":{},"44":{},"46":{},"47":{},"49":{},"51":{},"57":{},"58":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"86":{},"88":{},"92":{},"94":{},"101":{},"104":{},"111":{},"132":{},"141":{},"143":{},"145":{},"147":{},"150":{},"151":{},"154":{},"156":{},"157":{},"163":{},"169":{},"175":{},"176":{},"179":{},"185":{},"191":{},"192":{},"193":{},"195":{},"199":{},"200":{},"202":{},"206":{},"210":{},"216":{},"221":{},"226":{},"243":{},"261":{},"274":{},"279":{}},"component":{}}],["bewar",{"_index":4754,"title":{},"name":{},"text":{"77":{}},"component":{}}],["beyond",{"_index":1968,"title":{},"name":{},"text":{"35":{},"46":{},"59":{},"94":{},"142":{},"189":{},"244":{}},"component":{}}],["bi",{"_index":4390,"title":{},"name":{},"text":{"67":{}},"component":{}}],["bia",{"_index":3824,"title":{},"name":{},"text":{"66":{}},"component":{}}],["biconsum",{"_index":6275,"title":{},"name":{},"text":{"145":{}},"component":{}}],["bifunct",{"_index":2723,"title":{},"name":{},"text":{"51":{},"101":{},"121":{}},"component":{}}],["big",{"_index":504,"title":{},"name":{},"text":{"3":{},"77":{},"120":{},"191":{},"281":{}},"component":{}}],["bigger",{"_index":1461,"title":{},"name":{},"text":{"29":{},"38":{},"239":{}},"component":{}}],["biggest",{"_index":1410,"title":{},"name":{},"text":{"29":{},"40":{}},"component":{}}],["bike",{"_index":1007,"title":{"277":{},"281":{},"283":{},"280-7":{},"281-2":{},"281-5":{},"281-10":{},"283-4":{}},"name":{"275":{},"280":{},"281":{},"283":{}},"text":{"8":{},"13":{},"237":{},"238":{},"241":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["bike(registerbikecommand",{"_index":7962,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikecreatedev",{"_index":8040,"title":{},"name":{},"text":{"286":{}},"component":{}}],["bikecreatedevent(event.bikeid",{"_index":8044,"title":{},"name":{},"text":{"286":{}},"component":{}}],["bikeeventpublish",{"_index":8043,"title":{},"name":{},"text":{"286":{}},"component":{}}],["bikeid",{"_index":7836,"title":{},"name":{},"text":{"280":{},"281":{},"285":{},"289":{}},"component":{}}],["bikeproject",{"_index":8076,"title":{},"name":{},"text":{"290":{}},"component":{}}],["bikeregisteredev",{"_index":7828,"title":{"280-4":{},"281-7":{}},"name":{},"text":{"280":{},"281":{},"283":{},"285":{},"286":{},"290":{}},"component":{}}],["bikeregisteredevent(\"bikeid",{"_index":8032,"title":{},"name":{},"text":{"285":{}},"component":{}}],["bikeregisteredevent(command.bikeid",{"_index":7965,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikereleasedevent(command.bikeid",{"_index":8056,"title":{},"name":{},"text":{"288":{}},"component":{}}],["bikerent",{"_index":7642,"title":{},"name":{},"text":{},"component":{"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}}}],["bikerentaldatagener",{"_index":7974,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikerequestedev",{"_index":7715,"title":{},"name":{},"text":{"274":{}},"component":{}}],["bikereservedev",{"_index":8065,"title":{},"name":{},"text":{"289":{}},"component":{}}],["bikereservedevent(command.bikeid",{"_index":8053,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["bikes.add(new",{"_index":8077,"title":{},"name":{},"text":{"290":{}},"component":{}}],["bikes.stream().tolist",{"_index":8079,"title":{},"name":{},"text":{"290":{}},"component":{}}],["bikes/{bikeid",{"_index":7903,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikes?biketype={biketype}&location={c",{"_index":7979,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikestatu",{"_index":7826,"title":{"280-1":{},"280-2":{},"280-3":{}},"name":{},"text":{"280":{}},"component":{}}],["bikestatus(event.bikeid",{"_index":7856,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["bikestatus.class",{"_index":7902,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueri",{"_index":7863,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueries.find_al",{"_index":7868,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueries.find_avail",{"_index":7872,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueries.find_on",{"_index":7876,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusproject",{"_index":7848,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusprojection(bikestatusrepostori",{"_index":7852,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepositori",{"_index":7851,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.findal",{"_index":7869,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.findallbybiketypeandstatus(biketyp",{"_index":7874,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.findbyid(bikeid).orelse(nul",{"_index":7878,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.save(bikestatu",{"_index":7859,"title":{},"name":{},"text":{"280":{}},"component":{}}],["biketest",{"_index":8023,"title":{"285-2":{}},"name":{},"text":{"285":{}},"component":{}}],["biketyp",{"_index":7837,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["bill",{"_index":795,"title":{"30-38":{},"250-4":{},"278-1":{}},"name":{},"text":{"5":{},"30":{},"250":{},"254":{},"278":{}},"component":{}}],["bin.zip",{"_index":6601,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["binari",{"_index":1474,"title":{"192-1":{}},"name":{},"text":{"30":{},"40":{},"124":{}},"component":{}}],["binaryjdbctype.inst",{"_index":4860,"title":{},"name":{},"text":{"79":{}},"component":{}}],["bind",{"_index":466,"title":{},"name":{},"text":{"3":{},"46":{},"53":{},"67":{},"90":{},"96":{},"170":{},"191":{},"201":{}},"component":{}}],["bird’",{"_index":7662,"title":{},"name":{},"text":{"266":{}},"component":{}}],["bit",{"_index":3777,"title":{},"name":{},"text":{"66":{},"115":{},"144":{},"237":{},"264":{},"273":{},"276":{},"280":{}},"component":{}}],["black",{"_index":6427,"title":{"151-5":{}},"name":{},"text":{"151":{}},"component":{}}],["blackdread",{"_index":3428,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["blacklist",{"_index":4702,"title":{"76-3":{}},"name":{},"text":{"76":{},"179":{},"260":{}},"component":{}}],["blob",{"_index":1422,"title":{},"name":{},"text":{"29":{},"79":{}},"component":{}}],["block",{"_index":826,"title":{},"name":{},"text":{"5":{},"6":{},"30":{},"36":{},"38":{},"51":{},"53":{},"66":{},"67":{},"72":{},"88":{},"120":{},"130":{},"211":{},"280":{},"287":{}},"component":{}}],["blockedpayload",{"_index":5884,"title":{},"name":{},"text":{"121":{}},"component":{}}],["blocker",{"_index":5380,"title":{},"name":{},"text":{"89":{}},"component":{}}],["blockingwaitstrategi",{"_index":2190,"title":{},"name":{},"text":{"38":{}},"component":{}}],["blog",{"_index":515,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["blogpost",{"_index":7643,"title":{},"name":{"264":{}},"text":{},"component":{}}],["bloom",{"_index":6334,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["bloom_filter_index",{"_index":6332,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["blue",{"_index":781,"title":{},"name":{},"text":{"5":{},"232":{},"274":{}},"component":{}}],["bodi",{"_index":7282,"title":{},"name":{},"text":{"202":{},"211":{},"212":{},"214":{},"215":{},"217":{},"281":{},"283":{}},"component":{}}],["bom",{"_index":1478,"title":{"278-1":{}},"name":{},"text":{"30":{},"38":{},"66":{},"67":{},"278":{}},"component":{}}],["book",{"_index":1002,"title":{},"name":{},"text":{"8":{},"13":{},"147":{},"195":{}},"component":{}}],["book[*].titl",{"_index":7200,"title":{},"name":{},"text":{"195":{}},"component":{}}],["boolean",{"_index":1232,"title":{},"name":{},"text":{"20":{},"24":{},"44":{},"58":{},"68":{},"72":{},"84":{},"86":{},"121":{},"144":{},"281":{}},"component":{}}],["boot",{"_index":761,"title":{"32":{},"30-9":{},"30-17":{},"30-20":{},"30-22":{},"30-24":{},"30-28":{},"30-30":{},"30-32":{},"30-35":{},"30-37":{},"31-3":{},"31-4":{},"31-5":{},"32-3":{},"32-4":{},"32-5":{},"54-1":{},"57-3":{},"57-7":{},"57-8":{},"59-3":{},"59-7":{},"59-13":{},"59-14":{},"59-19":{},"59-24":{},"69-13":{},"69-15":{},"71-3":{},"75-3":{},"76-5":{},"77-4":{},"77-8":{},"77-12":{},"89-3":{},"89-5":{},"89-6":{},"89-11":{},"89-12":{},"284-4":{}},"name":{"32":{}},"text":{"5":{},"28":{},"30":{},"32":{},"33":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"50":{},"54":{},"55":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"68":{},"69":{},"71":{},"86":{},"87":{},"88":{},"94":{},"96":{},"104":{},"114":{},"119":{},"121":{},"124":{},"126":{},"128":{},"129":{},"133":{},"147":{},"150":{},"172":{},"176":{},"185":{},"189":{},"215":{},"237":{},"276":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["bootstrap",{"_index":5610,"title":{"278":{}},"name":{"278":{}},"text":{"104":{},"278":{},"279":{}},"component":{}}],["bootstrapserv",{"_index":5605,"title":{},"name":{},"text":{"104":{}},"component":{}}],["boot’",{"_index":7998,"title":{},"name":{},"text":{"284":{}},"component":{}}],["both",{"_index":95,"title":{},"name":{},"text":{"2":{},"3":{},"19":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"42":{},"44":{},"46":{},"48":{},"50":{},"51":{},"52":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"82":{},"83":{},"84":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"101":{},"125":{},"127":{},"129":{},"140":{},"142":{},"144":{},"145":{},"150":{},"151":{},"163":{},"170":{},"174":{},"176":{},"179":{},"191":{},"201":{},"211":{},"212":{},"214":{},"224":{},"234":{},"235":{},"260":{},"276":{},"280":{},"281":{},"284":{}},"component":{}}],["bother",{"_index":1477,"title":{},"name":{},"text":{"30":{}},"component":{}}],["bottleneck",{"_index":960,"title":{},"name":{},"text":{"6":{},"243":{},"249":{},"263":{},"264":{},"265":{},"266":{},"273":{}},"component":{}}],["bottom",{"_index":7575,"title":{},"name":{},"text":{"239":{},"245":{},"246":{},"274":{},"280":{}},"component":{}}],["bound",{"_index":2348,"title":{},"name":{},"text":{"40":{},"46":{},"53":{},"64":{},"67":{},"96":{},"176":{},"192":{},"250":{},"286":{},"288":{}},"component":{}}],["boundari",{"_index":2135,"title":{},"name":{},"text":{"38":{},"46":{},"82":{},"151":{}},"component":{}}],["box",{"_index":79,"title":{},"name":{},"text":{"2":{},"31":{},"36":{},"46":{},"53":{},"56":{},"59":{},"61":{},"64":{},"71":{},"77":{},"84":{},"88":{},"91":{},"104":{},"115":{},"117":{},"156":{},"274":{},"277":{}},"component":{}}],["breach",{"_index":6447,"title":{},"name":{},"text":{"151":{}},"component":{}}],["break",{"_index":1584,"title":{"66-7":{}},"name":{},"text":{"31":{},"33":{},"66":{},"67":{},"86":{},"99":{},"215":{},"285":{}},"component":{}}],["breakdown",{"_index":7627,"title":{},"name":{},"text":{"261":{}},"component":{}}],["breviti",{"_index":1234,"title":{},"name":{},"text":{"20":{},"51":{},"81":{}},"component":{}}],["bridg",{"_index":2221,"title":{},"name":{},"text":{"38":{},"92":{},"200":{},"210":{}},"component":{}}],["briefli",{"_index":7757,"title":{},"name":{},"text":{"276":{}},"component":{}}],["bring",{"_index":981,"title":{},"name":{},"text":{"6":{},"67":{},"82":{},"102":{},"140":{},"239":{},"281":{},"283":{}},"component":{}}],["broadcast",{"_index":6052,"title":{},"name":{},"text":{"140":{}},"component":{}}],["broader",{"_index":6028,"title":{},"name":{},"text":{"140":{}},"component":{}}],["broken",{"_index":3295,"title":{},"name":{},"text":{"66":{},"79":{},"272":{}},"component":{}}],["broker",{"_index":1528,"title":{},"name":{},"text":{"30":{},"46":{},"91":{},"277":{},"280":{},"284":{},"286":{}},"component":{}}],["brought",{"_index":4257,"title":{},"name":{},"text":{"67":{}},"component":{}}],["brows",{"_index":7307,"title":{},"name":{},"text":{"203":{}},"component":{}}],["browser",{"_index":6765,"title":{},"name":{},"text":{"172":{},"199":{},"201":{},"208":{},"270":{},"273":{},"283":{},"284":{}},"component":{}}],["bu",{"_index":904,"title":{"46":{},"38-7":{},"38-11":{},"46-1":{},"61-2":{},"63-1":{}},"name":{},"text":{"6":{},"32":{},"34":{},"36":{},"38":{},"42":{},"45":{},"46":{},"49":{},"51":{},"59":{},"61":{},"63":{},"72":{},"77":{},"88":{},"89":{},"92":{},"94":{},"102":{},"115":{},"121":{},"127":{},"129":{},"130":{},"262":{},"273":{},"274":{},"280":{}},"component":{}}],["bubbl",{"_index":4948,"title":{},"name":{},"text":{"84":{},"87":{},"89":{}},"component":{}}],["bucket",{"_index":6251,"title":{},"name":{},"text":{"145":{}},"component":{}}],["buffer",{"_index":2176,"title":{},"name":{},"text":{"38":{},"53":{},"63":{},"99":{},"121":{},"143":{},"163":{},"179":{}},"component":{}}],["buffercapac",{"_index":5524,"title":{},"name":{},"text":{"99":{}},"component":{}}],["bufferfactori",{"_index":5526,"title":{},"name":{},"text":{"99":{}},"component":{}}],["buffersize(4096",{"_index":2213,"title":{},"name":{},"text":{"38":{}},"component":{}}],["bug",{"_index":3270,"title":{"66-4":{},"66-10":{},"66-15":{},"66-20":{},"66-25":{},"66-29":{},"66-32":{},"66-35":{},"66-38":{},"66-41":{},"66-44":{},"67-4":{},"67-9":{},"67-13":{},"67-18":{},"67-21":{},"67-25":{},"67-31":{},"67-35":{},"67-39":{},"67-44":{},"67-47":{},"67-51":{},"67-55":{},"67-60":{},"67-63":{},"67-68":{},"67-71":{},"67-74":{},"67-77":{},"67-80":{},"67-84":{},"67-89":{},"67-93":{},"67-97":{},"67-99":{},"67-103":{},"67-105":{},"67-108":{},"119-4":{},"126-4":{},"140-3":{},"140-21":{},"141-21":{},"141-24":{},"141-27":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{}},"name":{},"text":{"66":{},"67":{},"140":{},"141":{},"145":{},"260":{}},"component":{}}],["build",{"_index":194,"title":{"3-9":{},"191-2":{}},"name":{},"text":{"3":{},"5":{},"7":{},"8":{},"13":{},"15":{},"20":{},"28":{},"30":{},"31":{},"34":{},"36":{},"38":{},"39":{},"40":{},"46":{},"49":{},"51":{},"53":{},"59":{},"61":{},"63":{},"66":{},"69":{},"72":{},"86":{},"87":{},"88":{},"94":{},"97":{},"99":{},"101":{},"102":{},"110":{},"113":{},"120":{},"123":{},"128":{},"144":{},"145":{},"191":{},"201":{},"210":{},"260":{},"267":{},"268":{},"269":{},"273":{},"274":{},"276":{},"279":{},"280":{},"281":{},"282":{},"285":{},"287":{}},"component":{}}],["build(str",{"_index":5098,"title":{},"name":{},"text":{"87":{}},"component":{}}],["buildconfigur",{"_index":2913,"title":{},"name":{},"text":{"57":{}},"component":{}}],["buildcontext",{"_index":2459,"title":{},"name":{},"text":{"44":{}},"component":{}}],["builder",{"_index":1082,"title":{"87-9":{}},"name":{},"text":{"15":{},"20":{},"31":{},"38":{},"40":{},"46":{},"49":{},"59":{},"66":{},"67":{},"88":{},"97":{},"99":{},"101":{},"102":{},"147":{}},"component":{}}],["builder.coordinatorexecutor(coordinatorexecutorbuild",{"_index":5272,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.initialsegmentcount(32",{"_index":5236,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.initialtoken",{"_index":5189,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.initialtoken(messagesourc",{"_index":5182,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.tokenclaiminterval(2000",{"_index":5200,"title":{},"name":{},"text":{"88":{}},"component":{}}],["buildmultistreamablemessagesourc",{"_index":5362,"title":{},"name":{},"text":{"88":{}},"component":{}}],["buildscript",{"_index":1544,"title":{},"name":{},"text":{"30":{}},"component":{}}],["buildseri",{"_index":1678,"title":{},"name":{},"text":{"31":{}},"component":{}}],["built",{"_index":119,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"52":{},"88":{},"100":{},"111":{},"144":{},"191":{},"227":{},"236":{},"237":{},"246":{},"263":{},"264":{},"267":{},"269":{},"276":{}},"component":{}}],["bulk",{"_index":2060,"title":{},"name":{},"text":{"36":{}},"component":{}}],["bulki",{"_index":1453,"title":{},"name":{},"text":{"29":{}},"component":{}}],["bullet",{"_index":4909,"title":{},"name":{},"text":{"82":{},"84":{}},"component":{}}],["bunch",{"_index":2623,"title":{},"name":{},"text":{"46":{},"206":{}},"component":{}}],["bundl",{"_index":1371,"title":{},"name":{},"text":{"26":{},"148":{},"178":{}},"component":{}}],["bus/ev",{"_index":2519,"title":{},"name":{},"text":{"46":{}},"component":{}}],["bus/stor",{"_index":2518,"title":{},"name":{},"text":{"46":{}},"component":{}}],["buse",{"_index":1771,"title":{},"name":{},"text":{"32":{},"38":{},"66":{},"245":{},"274":{}},"component":{}}],["busi",{"_index":1180,"title":{"35-2":{}},"name":{},"text":{"18":{},"31":{},"34":{},"35":{},"38":{},"45":{},"49":{},"53":{},"58":{},"69":{},"70":{},"72":{},"77":{},"82":{},"84":{},"85":{},"87":{},"140":{},"145":{},"151":{},"261":{},"274":{},"279":{},"280":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{}},"component":{}}],["buss",{"_index":4498,"title":{},"name":{},"text":{"69":{}},"component":{}}],["busybox",{"_index":346,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["busyspinwaitstrategi",{"_index":2186,"title":{},"name":{},"text":{"38":{}},"component":{}}],["button",{"_index":5310,"title":{},"name":{},"text":{"88":{},"154":{},"165":{},"177":{},"232":{},"235":{},"237":{},"239":{},"242":{},"244":{},"245":{},"246":{},"247":{},"250":{},"257":{},"260":{},"262":{},"270":{},"273":{},"274":{},"276":{},"277":{},"283":{},"284":{}},"component":{}}],["buy",{"_index":4463,"title":{},"name":{},"text":{"69":{}},"component":{}}],["buyorderid",{"_index":4464,"title":{},"name":{},"text":{"69":{}},"component":{}}],["bydefaultassignhandlerinstancesto(funct",{"_index":5062,"title":{},"name":{},"text":{"87":{}},"component":{}}],["bydefaultassignhandlertypesto(funct",{"_index":5063,"title":{},"name":{},"text":{"87":{}},"component":{}}],["bydefaultassignto(str",{"_index":5061,"title":{},"name":{},"text":{"87":{}},"component":{}}],["bypass",{"_index":6484,"title":{},"name":{},"text":{"154":{}},"component":{}}],["bystam",{"_index":3307,"title":{},"name":{},"text":{"66":{}},"component":{}}],["byte",{"_index":1664,"title":{},"name":{},"text":{"31":{},"79":{},"101":{},"104":{},"280":{},"283":{}},"component":{}}],["bytea",{"_index":1435,"title":{"79-6":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["byteaenforcedpostgressqldialect",{"_index":4844,"title":{},"name":{},"text":{"79":{}},"component":{}}],["bytearrayinputstream",{"_index":1663,"title":{},"name":{},"text":{"31":{}},"component":{}}],["bytearrayoutputstream",{"_index":1662,"title":{},"name":{},"text":{"31":{}},"component":{}}],["bytebuff",{"_index":6852,"title":{},"name":{},"text":{"179":{}},"component":{}}],["c",{"_index":74,"title":{},"name":{},"text":{"2":{},"69":{},"71":{},"76":{},"147":{},"148":{},"156":{},"178":{},"200":{},"284":{}},"component":{}}],["c09d",{"_index":7915,"title":{},"name":{},"text":{"280":{}},"component":{}}],["c524b9ed553d",{"_index":7911,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["c61a95b",{"_index":4316,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ca",{"_index":6579,"title":{},"name":{},"text":{"168":{},"174":{}},"component":{}}],["cach",{"_index":304,"title":{"69-10":{},"71-8":{},"77-10":{}},"name":{},"text":{"3":{},"15":{},"36":{},"38":{},"46":{},"66":{},"67":{},"69":{},"71":{},"77":{},"94":{},"99":{},"148":{},"179":{},"191":{},"216":{}},"component":{}}],["cache#computeifpres",{"_index":4131,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cachedthreadpool",{"_index":2194,"title":{},"name":{},"text":{"38":{}},"component":{}}],["cachingeventsourcingrepositori",{"_index":2063,"title":{},"name":{},"text":{"36":{}},"component":{}}],["cachingsagastor",{"_index":4123,"title":{},"name":{},"text":{"67":{},"69":{},"71":{}},"component":{}}],["calcul",{"_index":2268,"title":{},"name":{},"text":{"38":{},"58":{},"66":{},"67":{},"88":{},"151":{},"197":{},"280":{}},"component":{}}],["calendar",{"_index":1003,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["california",{"_index":860,"title":{},"name":{},"text":{"5":{}},"component":{}}],["call",{"_index":161,"title":{"64-2":{}},"name":{},"text":{"2":{},"4":{},"6":{},"8":{},"13":{},"15":{},"18":{},"20":{},"23":{},"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"46":{},"50":{},"51":{},"52":{},"53":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"76":{},"77":{},"79":{},"80":{},"82":{},"85":{},"86":{},"87":{},"88":{},"94":{},"99":{},"104":{},"108":{},"111":{},"115":{},"121":{},"141":{},"142":{},"144":{},"145":{},"147":{},"149":{},"151":{},"157":{},"161":{},"165":{},"178":{},"189":{},"192":{},"199":{},"211":{},"221":{},"260":{},"262":{},"274":{},"279":{},"280":{},"281":{},"283":{},"285":{},"286":{},"289":{},"290":{}},"component":{}}],["callabl",{"_index":4878,"title":{},"name":{},"text":{"80":{},"82":{}},"component":{}}],["callback",{"_index":1876,"title":{},"name":{},"text":{"34":{},"38":{},"53":{},"66":{},"74":{}},"component":{}}],["callbackbehavior",{"_index":4679,"title":{},"name":{},"text":{"74":{}},"component":{}}],["callback’",{"_index":2201,"title":{},"name":{},"text":{"38":{}},"component":{}}],["caller",{"_index":2125,"title":{},"name":{},"text":{"38":{},"59":{},"121":{},"145":{},"178":{}},"component":{}}],["calll",{"_index":7893,"title":{},"name":{},"text":{"280":{}},"component":{}}],["camelcas",{"_index":6819,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cancel",{"_index":1178,"title":{"63-7":{}},"name":{},"text":{"18":{},"39":{},"40":{},"41":{},"53":{},"59":{},"63":{},"67":{},"97":{},"115":{},"121":{},"140":{},"145":{},"163":{},"250":{},"254":{},"288":{}},"component":{}}],["cancel_scheduled_ev",{"_index":6694,"title":{},"name":{},"text":{"171":{}},"component":{}}],["cancelal",{"_index":2294,"title":{},"name":{},"text":{"39":{},"66":{},"97":{}},"component":{}}],["cancelall(str",{"_index":2289,"title":{},"name":{},"text":{"39":{}},"component":{}}],["cancelallwithinscop",{"_index":3416,"title":{},"name":{},"text":{"66":{}},"component":{}}],["cancelallwithinscope(str",{"_index":2291,"title":{},"name":{},"text":{"39":{}},"component":{}}],["cancelmydeadline(str",{"_index":2287,"title":{},"name":{},"text":{"39":{}},"component":{}}],["candid",{"_index":4694,"title":{},"name":{},"text":{"75":{},"179":{}},"component":{}}],["cane",{"_index":3135,"title":{},"name":{},"text":{"62":{}},"component":{}}],["canhandle(@nonnul",{"_index":1345,"title":{},"name":{},"text":{"24":{}},"component":{}}],["cannotconvertbetweentypesexcept",{"_index":4339,"title":{},"name":{},"text":{"67":{}},"component":{}}],["canregisterbik",{"_index":8028,"title":{},"name":{},"text":{"285":{}},"component":{}}],["canupcast",{"_index":1702,"title":{},"name":{},"text":{"31":{},"44":{}},"component":{}}],["canupcast(intermediateeventrepresent",{"_index":2480,"title":{},"name":{},"text":{"44":{}},"component":{}}],["can’t",{"_index":5787,"title":{},"name":{},"text":{"120":{},"124":{},"215":{},"281":{}},"component":{}}],["capabilitydiscoverymod",{"_index":5915,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["capabilitydiscoverymode(capabilitydiscoverymod",{"_index":5940,"title":{},"name":{},"text":{"128":{}},"component":{}}],["capabilitydiscoverymode(resttempl",{"_index":5930,"title":{},"name":{},"text":{"128":{}},"component":{}}],["capabl",{"_index":84,"title":{},"name":{},"text":{"2":{},"28":{},"30":{},"34":{},"37":{},"38":{},"41":{},"43":{},"45":{},"46":{},"50":{},"51":{},"59":{},"62":{},"69":{},"70":{},"71":{},"73":{},"77":{},"78":{},"82":{},"84":{},"85":{},"88":{},"127":{},"128":{},"133":{},"137":{},"140":{},"146":{},"147":{},"156":{},"174":{},"190":{},"200":{},"228":{},"231":{},"238":{},"265":{},"274":{},"282":{}},"component":{}}],["capac",{"_index":2899,"title":{},"name":{},"text":{"57":{},"58":{},"99":{},"179":{},"246":{},"260":{},"261":{},"273":{},"274":{}},"component":{}}],["capacity/gaug",{"_index":2959,"title":{},"name":{},"text":{"57":{}},"component":{}}],["capacitymonitor",{"_index":2902,"title":{},"name":{},"text":{"57":{},"66":{}},"component":{}}],["capacitymonitor.buildmonitor",{"_index":2961,"title":{},"name":{},"text":{"57":{}},"component":{}}],["capacitymonitor1minut",{"_index":2960,"title":{},"name":{},"text":{"57":{}},"component":{}}],["captur",{"_index":2674,"title":{},"name":{},"text":{"49":{},"77":{},"202":{},"273":{}},"component":{}}],["card",{"_index":727,"title":{"5-6":{}},"name":{},"text":{"5":{},"18":{},"21":{},"40":{},"63":{},"64":{},"81":{},"82":{},"84":{},"85":{},"202":{},"203":{},"216":{},"249":{},"250":{}},"component":{}}],["card_id",{"_index":1270,"title":{},"name":{},"text":{"22":{}},"component":{}}],["cardid",{"_index":1856,"title":{},"name":{},"text":{"34":{},"35":{},"203":{}},"component":{}}],["cardin",{"_index":6469,"title":{},"name":{},"text":{"151":{}},"component":{}}],["cardissuedev",{"_index":2820,"title":{},"name":{},"text":{"51":{},"106":{},"108":{}},"component":{}}],["cardissuedevent(\"cardid",{"_index":2394,"title":{},"name":{},"text":{"42":{},"72":{}},"component":{}}],["cardissuedevent(cmd.getcardid",{"_index":1944,"title":{},"name":{},"text":{"35":{},"36":{},"42":{},"82":{}},"component":{}}],["cardissuedevent(v",{"_index":5664,"title":{},"name":{},"text":{"108":{}},"component":{}}],["cardissuedevent.class",{"_index":2821,"title":{},"name":{},"text":{"51":{}},"component":{}}],["cardissuedevent::class",{"_index":5637,"title":{},"name":{},"text":{"106":{}},"component":{}}],["cardredeemedevent(\"cardid",{"_index":4540,"title":{},"name":{},"text":{"72":{}},"component":{}}],["cardredeemedevent(giftcardid",{"_index":1190,"title":{},"name":{},"text":{"18":{}},"component":{}}],["cardredeemedevent(id",{"_index":1947,"title":{},"name":{},"text":{"35":{},"84":{},"85":{}},"component":{}}],["cardredeemedevent.class",{"_index":2791,"title":{},"name":{},"text":{"51":{}},"component":{}}],["cardreimbursedevent(cmd.getcardid",{"_index":4947,"title":{},"name":{},"text":{"84":{}},"component":{}}],["cardreplaycontext",{"_index":5354,"title":{},"name":{},"text":{"88":{}},"component":{}}],["cardrepositori",{"_index":3210,"title":{},"name":{},"text":{"63":{}},"component":{}}],["cardrepository.findal",{"_index":3208,"title":{},"name":{},"text":{"63":{}},"component":{}}],["cardsummari",{"_index":3117,"title":{},"name":{},"text":{"60":{},"63":{},"64":{}},"component":{}}],["cardsummary.class",{"_index":3159,"title":{},"name":{},"text":{"63":{}},"component":{}}],["cardsummaryid",{"_index":3235,"title":{},"name":{},"text":{"64":{}},"component":{}}],["cardsummaryproject",{"_index":2786,"title":{},"name":{},"text":{"51":{},"60":{},"63":{},"64":{},"88":{},"108":{}},"component":{}}],["cardsummarystorag",{"_index":3239,"title":{},"name":{},"text":{"64":{}},"component":{}}],["cardsummarystorage.get(query.getcardsummaryid",{"_index":3240,"title":{},"name":{},"text":{"64":{}},"component":{}}],["care",{"_index":248,"title":{},"name":{},"text":{"3":{},"38":{},"49":{},"87":{},"145":{},"147":{},"191":{},"219":{}},"component":{}}],["careful",{"_index":6315,"title":{},"name":{},"text":{"145":{}},"component":{}}],["carefulli",{"_index":333,"title":{},"name":{},"text":{"3":{},"31":{},"156":{},"191":{}},"component":{}}],["carri",{"_index":1931,"title":{},"name":{},"text":{"35":{},"38":{},"44":{},"47":{},"49":{},"66":{},"67":{},"82":{}},"component":{}}],["cascad",{"_index":974,"title":{},"name":{},"text":{"6":{},"85":{}},"component":{}}],["cascadetype.al",{"_index":4973,"title":{},"name":{},"text":{"85":{}},"component":{}}],["case",{"_index":324,"title":{"14":{},"18":{},"151-7":{}},"name":{},"text":{"3":{},"15":{},"18":{},"19":{},"21":{},"24":{},"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"46":{},"47":{},"49":{},"50":{},"51":{},"52":{},"53":{},"58":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"80":{},"81":{},"83":{},"84":{},"87":{},"88":{},"89":{},"102":{},"108":{},"111":{},"115":{},"121":{},"124":{},"128":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"149":{},"150":{},"151":{},"156":{},"161":{},"163":{},"168":{},"172":{},"174":{},"176":{},"178":{},"179":{},"184":{},"185":{},"191":{},"192":{},"202":{},"203":{},"208":{},"211":{},"212":{},"214":{},"219":{},"224":{},"237":{},"238":{},"241":{},"250":{},"260":{},"261":{},"266":{},"268":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"284":{},"285":{},"289":{}},"component":{}}],["cast",{"_index":2107,"title":{},"name":{},"text":{"38":{},"44":{},"115":{}},"component":{}}],["caster",{"_index":6250,"title":{},"name":{},"text":{"145":{}},"component":{}}],["casttype(int",{"_index":4850,"title":{},"name":{},"text":{"79":{}},"component":{}}],["catalogu",{"_index":996,"title":{},"name":{},"text":{"8":{},"13":{},"287":{}},"component":{}}],["catch",{"_index":2796,"title":{},"name":{},"text":{"51":{},"53":{},"66":{},"67":{},"68":{},"87":{},"99":{},"141":{}},"component":{}}],["categori",{"_index":7589,"title":{},"name":{},"text":{"244":{},"265":{},"271":{},"273":{},"274":{}},"component":{}}],["cater",{"_index":7548,"title":{},"name":{},"text":{"227":{},"236":{}},"component":{}}],["caught",{"_index":2971,"title":{},"name":{},"text":{"58":{},"67":{},"87":{},"88":{},"179":{}},"component":{}}],["caughtup",{"_index":4070,"title":{},"name":{},"text":{"67":{}},"component":{}}],["caus",{"_index":1035,"title":{},"name":{},"text":{"14":{},"16":{},"29":{},"38":{},"47":{},"49":{},"53":{},"56":{},"63":{},"66":{},"67":{},"77":{},"86":{},"87":{},"88":{},"126":{},"127":{},"141":{},"142":{},"144":{},"149":{},"168":{},"174":{},"215":{},"257":{},"260":{},"264":{},"266":{},"268":{},"269":{},"270":{},"274":{},"277":{}},"component":{}}],["causat",{"_index":3021,"title":{},"name":{},"text":{"59":{}},"component":{}}],["caution",{"_index":6443,"title":{},"name":{},"text":{"151":{},"178":{}},"component":{}}],["caveat",{"_index":2293,"title":{},"name":{},"text":{"39":{},"151":{}},"component":{}}],["cbor",{"_index":3325,"title":{},"name":{},"text":{"66":{}},"component":{}}],["ccpa",{"_index":863,"title":{},"name":{},"text":{"5":{}},"component":{}}],["cd",{"_index":7254,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["cdi",{"_index":1470,"title":{"30-18":{}},"name":{},"text":{"30":{}},"component":{}}],["center",{"_index":6498,"title":{},"name":{},"text":{"156":{},"246":{},"274":{}},"component":{}}],["central",{"_index":905,"title":{},"name":{},"text":{"6":{},"30":{},"121":{},"201":{},"274":{}},"component":{}}],["centric",{"_index":2898,"title":{},"name":{},"text":{"57":{}},"component":{}}],["cert",{"_index":6799,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["certain",{"_index":1264,"title":{},"name":{},"text":{"21":{},"32":{},"34":{},"36":{},"39":{},"41":{},"42":{},"46":{},"47":{},"49":{},"59":{},"62":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"88":{},"102":{},"114":{},"115":{},"124":{},"132":{},"145":{},"151":{},"156":{},"262":{},"269":{},"270":{},"272":{},"274":{},"276":{},"280":{}},"component":{}}],["certainti",{"_index":2657,"title":{},"name":{},"text":{"48":{},"66":{},"77":{},"285":{}},"component":{}}],["certif",{"_index":489,"title":{"140-10":{}},"name":{},"text":{"3":{},"140":{},"141":{},"168":{},"174":{},"176":{},"178":{},"179":{},"191":{},"206":{}},"component":{}}],["cfd7304a",{"_index":6562,"title":{},"name":{},"text":{"166":{}},"component":{}}],["chain",{"_index":1695,"title":{"206-5":{}},"name":{},"text":{"31":{},"34":{},"44":{},"46":{},"50":{},"51":{},"52":{},"63":{},"67":{},"101":{},"133":{},"176":{},"179":{},"215":{}},"component":{}}],["chain’",{"_index":1707,"title":{},"name":{},"text":{"31":{}},"component":{}}],["challeng",{"_index":1407,"title":{},"name":{},"text":{"29":{},"48":{},"265":{}},"component":{}}],["chanc",{"_index":1607,"title":{},"name":{},"text":{"31":{},"66":{},"76":{},"88":{},"128":{},"157":{},"244":{}},"component":{}}],["chang",{"_index":287,"title":{"35-2":{},"66-7":{},"79-4":{},"140-4":{},"156-6":{},"250-3":{}},"name":{},"text":{"3":{},"4":{},"6":{},"10":{},"12":{},"14":{},"16":{},"17":{},"18":{},"20":{},"21":{},"25":{},"31":{},"33":{},"35":{},"36":{},"37":{},"38":{},"44":{},"46":{},"47":{},"49":{},"53":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"93":{},"94":{},"95":{},"98":{},"101":{},"103":{},"104":{},"107":{},"109":{},"112":{},"119":{},"120":{},"122":{},"123":{},"124":{},"126":{},"127":{},"128":{},"131":{},"134":{},"140":{},"142":{},"143":{},"145":{},"147":{},"149":{},"151":{},"156":{},"157":{},"165":{},"168":{},"174":{},"178":{},"179":{},"180":{},"191":{},"192":{},"197":{},"206":{},"221":{},"226":{},"232":{},"239":{},"250":{},"254":{},"255":{},"260":{},"262":{},"268":{},"269":{},"270":{},"273":{},"274":{},"280":{},"281":{},"282":{},"283":{},"286":{},"287":{},"288":{},"289":{},"290":{}},"component":{}}],["changelist",{"_index":4309,"title":{},"name":{},"text":{"67":{}},"component":{}}],["changepend",{"_index":6560,"title":{},"name":{},"text":{"166":{},"169":{},"192":{}},"component":{}}],["channel",{"_index":1494,"title":{},"name":{},"text":{"30":{},"90":{},"92":{},"94":{},"144":{},"262":{}},"component":{}}],["channel(channel",{"_index":5443,"title":{},"name":{},"text":{"94":{}},"component":{}}],["chao",{"_index":7670,"title":{},"name":{},"text":{"270":{},"271":{}},"component":{}}],["chapter",{"_index":2426,"title":{},"name":{},"text":{"44":{},"52":{},"64":{},"72":{},"82":{},"84":{},"86":{},"88":{},"145":{}},"component":{}}],["charact",{"_index":1640,"title":{},"name":{},"text":{"31":{},"36":{},"67":{},"79":{},"141":{},"195":{}},"component":{}}],["characterist",{"_index":2131,"title":{},"name":{},"text":{"38":{},"46":{},"102":{},"164":{},"284":{}},"component":{}}],["charg",{"_index":1585,"title":{},"name":{},"text":{"31":{},"38":{},"44":{},"50":{},"51":{},"52":{},"64":{},"67":{},"87":{},"88":{},"127":{},"130":{},"199":{},"249":{},"250":{},"259":{}},"component":{}}],["check",{"_index":823,"title":{"145-22":{},"199-6":{}},"name":{},"text":{"5":{},"18":{},"20":{},"22":{},"24":{},"29":{},"30":{},"31":{},"38":{},"44":{},"46":{},"48":{},"49":{},"51":{},"56":{},"58":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"82":{},"83":{},"84":{},"87":{},"88":{},"90":{},"99":{},"102":{},"115":{},"127":{},"141":{},"144":{},"145":{},"147":{},"148":{},"156":{},"161":{},"162":{},"165":{},"167":{},"168":{},"169":{},"174":{},"176":{},"178":{},"179":{},"185":{},"189":{},"199":{},"218":{},"249":{},"259":{},"262":{},"273":{},"274":{},"276":{},"280":{},"282":{},"283":{},"285":{}},"component":{}}],["checkbox",{"_index":7684,"title":{},"name":{},"text":{"270":{},"274":{}},"component":{}}],["checker",{"_index":6928,"title":{},"name":{},"text":{"179":{}},"component":{}}],["child",{"_index":2755,"title":{},"name":{},"text":{"51":{},"59":{},"66":{},"80":{},"81":{},"84":{}},"component":{}}],["childaggreg",{"_index":4872,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregate(str",{"_index":4880,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregate.class",{"_index":4876,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregatecreatedev",{"_index":4883,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregatecreatedevent(aggregateid",{"_index":4882,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childent",{"_index":4323,"title":{},"name":{},"text":{"67":{}},"component":{}}],["children",{"_index":4896,"title":{},"name":{},"text":{"81":{}},"component":{}}],["choic",{"_index":1212,"title":{},"name":{},"text":{"19":{},"29":{},"35":{},"36":{},"58":{},"59":{},"69":{},"71":{},"72":{},"88":{},"102":{},"129":{},"145":{},"247":{}},"component":{}}],["choos",{"_index":679,"title":{},"name":{},"text":{"3":{},"5":{},"15":{},"19":{},"27":{},"31":{},"36":{},"38":{},"44":{},"46":{},"51":{},"53":{},"63":{},"66":{},"69":{},"71":{},"77":{},"87":{},"88":{},"94":{},"127":{},"140":{},"142":{},"145":{},"151":{},"156":{},"169":{},"172":{},"191":{},"232":{},"238":{},"239":{},"250":{},"260":{},"263":{},"267":{},"268":{},"276":{},"277":{}},"component":{}}],["choosen",{"_index":7891,"title":{},"name":{},"text":{"280":{}},"component":{}}],["chose",{"_index":1582,"title":{},"name":{},"text":{"31":{},"120":{},"140":{}},"component":{}}],["chosen",{"_index":2404,"title":{},"name":{},"text":{"43":{},"64":{},"88":{},"144":{},"150":{},"260":{},"274":{},"281":{}},"component":{}}],["chown",{"_index":363,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["chown=axonserv",{"_index":369,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["christian",{"_index":3743,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["chronounit.days).truncatedto(chronounit.day",{"_index":1243,"title":{},"name":{},"text":{"20":{}},"component":{}}],["chunk",{"_index":3214,"title":{},"name":{},"text":{"63":{},"79":{},"179":{}},"component":{}}],["circl",{"_index":7732,"title":{},"name":{},"text":{"274":{}},"component":{}}],["circular",{"_index":4261,"title":{},"name":{},"text":{"67":{}},"component":{}}],["circumst",{"_index":2399,"title":{},"name":{},"text":{"43":{},"46":{},"49":{},"64":{},"72":{}},"component":{}}],["citi",{"_index":7912,"title":{},"name":{},"text":{"280":{},"285":{}},"component":{}}],["claim",{"_index":2185,"title":{"88-9":{}},"name":{},"text":{"38":{},"66":{},"67":{},"79":{},"88":{},"114":{},"144":{},"180":{},"246":{},"260":{},"261":{},"262":{},"274":{},"288":{}},"component":{}}],["claimextensionthreshold",{"_index":5195,"title":{},"name":{},"text":{"88":{}},"component":{}}],["claimextensionthreshold(3000",{"_index":5201,"title":{},"name":{},"text":{"88":{}},"component":{}}],["claimtimeout",{"_index":3372,"title":{},"name":{},"text":{"66":{},"88":{}},"component":{}}],["clarif",{"_index":2114,"title":{},"name":{},"text":{"38":{}},"component":{}}],["clarifi",{"_index":4039,"title":{},"name":{},"text":{"67":{},"88":{}},"component":{}}],["clariti",{"_index":3255,"title":{},"name":{},"text":{"64":{},"86":{},"140":{}},"component":{}}],["class",{"_index":1030,"title":{"31-3":{},"280-3":{},"281-5":{}},"name":{},"text":{"14":{},"15":{},"17":{},"20":{},"22":{},"23":{},"24":{},"26":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"97":{},"99":{},"101":{},"102":{},"105":{},"106":{},"108":{},"110":{},"113":{},"115":{},"121":{},"128":{},"132":{},"144":{},"147":{},"148":{},"179":{},"189":{},"239":{},"276":{},"279":{},"280":{},"281":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["classcastexcept",{"_index":2108,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["classic",{"_index":3899,"title":{},"name":{},"text":{"67":{}},"component":{}}],["classifi",{"_index":6432,"title":{},"name":{},"text":{"151":{}},"component":{}}],["classload",{"_index":1303,"title":{},"name":{},"text":{"23":{},"26":{},"66":{}},"component":{}}],["classnotfoundexcept",{"_index":4174,"title":{},"name":{},"text":{"67":{}},"component":{}}],["classpath",{"_index":1299,"title":{},"name":{},"text":{"23":{},"30":{},"32":{},"46":{},"51":{},"57":{},"66":{},"69":{},"79":{},"91":{},"94":{},"100":{},"120":{},"129":{},"144":{},"163":{},"276":{}},"component":{}}],["claus",{"_index":4530,"title":{},"name":{},"text":{"72":{}},"component":{}}],["clazz",{"_index":5590,"title":{},"name":{},"text":{"102":{}},"component":{}}],["clazz.isassignablefrom(kafkaeventpublisher.class",{"_index":5591,"title":{},"name":{},"text":{"102":{}},"component":{}}],["clean",{"_index":2848,"title":{"145-14":{}},"name":{},"text":{"53":{},"66":{},"88":{},"140":{},"141":{},"145":{},"154":{},"177":{},"179":{}},"component":{}}],["clean/uniniti",{"_index":6479,"title":{},"name":{},"text":{"154":{}},"component":{}}],["cleaner",{"_index":1533,"title":{},"name":{},"text":{"30":{},"35":{},"88":{}},"component":{}}],["cleanup",{"_index":2881,"title":{},"name":{},"text":{"53":{},"67":{},"179":{}},"component":{}}],["clear",{"_index":922,"title":{},"name":{},"text":{"6":{},"46":{},"49":{},"59":{},"66":{},"67":{},"69":{},"72":{},"79":{},"88":{},"94":{},"141":{},"157":{},"179":{},"260":{},"264":{}},"component":{}}],["clearer",{"_index":2654,"title":{},"name":{},"text":{"48":{}},"component":{}}],["clearli",{"_index":2076,"title":{},"name":{},"text":{"38":{},"46":{},"66":{},"74":{},"82":{},"156":{},"271":{}},"component":{}}],["cli",{"_index":485,"title":{"167":{},"168-1":{},"174-1":{}},"name":{"167":{}},"text":{"3":{},"140":{},"143":{},"147":{},"166":{},"167":{},"168":{},"169":{},"172":{},"173":{},"174":{},"175":{},"191":{},"192":{}},"component":{}}],["cli.jar",{"_index":396,"title":{},"name":{},"text":{"3":{},"147":{},"148":{},"156":{},"168":{},"169":{},"174":{},"178":{},"191":{},"192":{}},"component":{}}],["click",{"_index":753,"title":{},"name":{},"text":{"5":{},"29":{},"59":{},"88":{},"156":{},"165":{},"201":{},"231":{},"232":{},"235":{},"237":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"250":{},"257":{},"260":{},"262":{},"267":{},"270":{},"273":{},"274":{},"276":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["clickabl",{"_index":7634,"title":{},"name":{},"text":{"262":{}},"component":{}}],["client",{"_index":395,"title":{"168":{},"140-17":{},"143-1":{},"150-6":{},"168-1":{},"176-1":{},"206-30":{},"221-9":{},"224-2":{},"224-3":{},"224-4":{},"274-4":{},"276-2":{}},"name":{"168":{},"222":{},"223":{}},"text":{"3":{},"5":{},"38":{},"39":{},"46":{},"49":{},"60":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"76":{},"89":{},"99":{},"102":{},"104":{},"120":{},"133":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"149":{},"150":{},"154":{},"156":{},"157":{},"162":{},"163":{},"166":{},"167":{},"168":{},"172":{},"175":{},"176":{},"179":{},"180":{},"186":{},"189":{},"191":{},"192":{},"204":{},"206":{},"207":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"219":{},"221":{},"224":{},"229":{},"245":{},"257":{},"274":{},"276":{},"283":{},"289":{},"290":{}},"component":{}}],["client.vers",{"_index":7745,"title":{},"name":{},"text":{"276":{}},"component":{}}],["clientauthenticationid",{"_index":7493,"title":{},"name":{},"text":{"215":{}},"component":{}}],["clientid",{"_index":1650,"title":{},"name":{},"text":{"31":{},"202":{},"211":{},"212":{},"214":{}},"component":{}}],["clientinstance.getisrun",{"_index":6227,"title":{},"name":{},"text":{"144":{}},"component":{}}],["clipboard",{"_index":6091,"title":{},"name":{},"text":{"141":{}},"component":{}}],["clob",{"_index":1423,"title":{},"name":{},"text":{"29":{},"79":{}},"component":{}}],["clock",{"_index":2314,"title":{},"name":{},"text":{"39":{},"74":{}},"component":{}}],["clock.systemutc",{"_index":2317,"title":{},"name":{},"text":{"39":{}},"component":{}}],["close",{"_index":1676,"title":{},"name":{},"text":{"31":{},"63":{},"66":{},"67":{},"68":{},"69":{},"88":{},"99":{},"102":{},"121":{},"140":{},"141":{},"142":{},"151":{},"179":{},"206":{},"215":{},"260":{},"281":{}},"component":{}}],["closedloopgiftcard",{"_index":4890,"title":{},"name":{},"text":{"81":{}},"component":{}}],["closest",{"_index":4334,"title":{},"name":{},"text":{"67":{}},"component":{}}],["closetimeout",{"_index":5565,"title":{},"name":{},"text":{"102":{}},"component":{}}],["closetimeout(closetimeout",{"_index":5569,"title":{},"name":{},"text":{"102":{}},"component":{}}],["closur",{"_index":3582,"title":{},"name":{},"text":{"66":{}},"component":{}}],["cloud",{"_index":30,"title":{"129":{},"131":{},"30-34":{},"30-35":{}},"name":{},"text":{"1":{},"5":{},"30":{},"38":{},"94":{},"101":{},"117":{},"127":{},"128":{},"129":{},"131":{},"150":{},"189":{},"199":{},"206":{}},"component":{"127":{},"128":{},"129":{},"130":{},"131":{}}}],["cloud.en",{"_index":5954,"title":{},"name":{},"text":{"128":{}},"component":{}}],["cloud.mode=rest",{"_index":5951,"title":{},"name":{},"text":{"128":{}},"component":{}}],["cloud.rest",{"_index":5952,"title":{},"name":{},"text":{"128":{}},"component":{}}],["cloud_ev",{"_index":5596,"title":{},"name":{},"text":{"104":{}},"component":{}}],["cloudev",{"_index":5597,"title":{},"name":{},"text":{"104":{}},"component":{}}],["cloudeventkafkamessageconvert",{"_index":5554,"title":{},"name":{},"text":{"101":{},"104":{}},"component":{}}],["cloud’",{"_index":5910,"title":{},"name":{},"text":{"127":{}},"component":{}}],["cluster",{"_index":99,"title":{"154":{},"155":{},"177":{},"140-18":{},"142-3":{},"143-8":{},"145-15":{},"154-4":{},"178-8":{},"192-3":{},"192-4":{},"192-5":{},"192-9":{},"199-5":{},"232-3":{}},"name":{"154":{},"177":{}},"text":{"2":{},"3":{},"4":{},"5":{},"40":{},"82":{},"94":{},"96":{},"127":{},"137":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"149":{},"151":{},"154":{},"155":{},"156":{},"157":{},"161":{},"162":{},"163":{},"167":{},"169":{},"170":{},"172":{},"174":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"185":{},"187":{},"191":{},"192":{},"199":{},"221":{},"232":{},"241":{},"250":{},"262":{}},"component":{}}],["cluster.auto",{"_index":6933,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.balanc",{"_index":6934,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.command",{"_index":6945,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.connect",{"_index":6927,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.metr",{"_index":6929,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.queri",{"_index":6944,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.rebal",{"_index":6931,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster/context",{"_index":429,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["clusterip",{"_index":645,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["clusternam",{"_index":5436,"title":{},"name":{},"text":{"94":{}},"component":{}}],["clustername(\"mycommandbu",{"_index":5444,"title":{},"name":{},"text":{"94":{}},"component":{}}],["cluster’",{"_index":6490,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["clutter",{"_index":6054,"title":{},"name":{},"text":{"140":{}},"component":{}}],["cmd",{"_index":1929,"title":{},"name":{},"text":{"35":{},"36":{},"39":{},"42":{},"82":{},"84":{},"85":{}},"component":{}}],["cmd.getamount",{"_index":1945,"title":{},"name":{},"text":{"35":{},"36":{},"42":{},"82":{},"84":{},"85":{}},"component":{}}],["cmd.gettransactionid",{"_index":1948,"title":{},"name":{},"text":{"35":{},"84":{},"85":{}},"component":{}}],["cmdmsg",{"_index":1862,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg",{"_index":1863,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg.exceptionresult",{"_index":1865,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg.getpayload",{"_index":1867,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg.isexcept",{"_index":1864,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cn=admin,dc=demo,dc=io",{"_index":6620,"title":{},"name":{},"text":{"170":{}},"component":{}}],["coda",{"_index":1499,"title":{},"name":{},"text":{"30":{}},"component":{}}],["code",{"_index":1072,"title":{"143":{}},"name":{"143":{}},"text":{"15":{},"16":{},"30":{},"33":{},"34":{},"37":{},"46":{},"51":{},"57":{},"62":{},"63":{},"66":{},"68":{},"72":{},"74":{},"77":{},"82":{},"85":{},"140":{},"143":{},"144":{},"145":{},"150":{},"166":{},"176":{},"177":{},"181":{},"185":{},"202":{},"216":{},"217":{},"219":{},"261":{},"274":{},"275":{},"279":{},"280":{},"281":{},"283":{},"285":{},"287":{}},"component":{}}],["codebas",{"_index":1828,"title":{},"name":{},"text":{"33":{}},"component":{}}],["codedrivenmitch",{"_index":3358,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["cohes",{"_index":881,"title":{},"name":{},"text":{"6":{}},"component":{}}],["cold",{"_index":6434,"title":{},"name":{},"text":{"151":{}},"component":{}}],["collabor",{"_index":4840,"title":{},"name":{},"text":{"79":{},"88":{}},"component":{}}],["colleagu",{"_index":7659,"title":{},"name":{},"text":{"265":{},"277":{}},"component":{}}],["collect",{"_index":992,"title":{},"name":{},"text":{"8":{},"10":{},"11":{},"13":{},"15":{},"24":{},"30":{},"31":{},"44":{},"46":{},"57":{},"59":{},"64":{},"66":{},"67":{},"69":{},"71":{},"84":{},"86":{},"88":{},"99":{},"111":{},"114":{},"141":{},"145":{},"179":{},"186":{},"187":{},"199":{},"202":{},"237":{},"238":{},"241":{},"261":{},"262":{},"264":{},"274":{},"276":{},"280":{}},"component":{}}],["collect(collectors.tolist",{"_index":2948,"title":{},"name":{},"text":{"57":{}},"component":{}}],["collections.emptymap",{"_index":3040,"title":{},"name":{},"text":{"59":{}},"component":{}}],["collector",{"_index":3048,"title":{},"name":{},"text":{"59":{},"140":{},"179":{},"261":{}},"component":{}}],["color",{"_index":779,"title":{},"name":{},"text":{"5":{}},"component":{}}],["column",{"_index":1419,"title":{"79-3":{},"79-6":{}},"name":{},"text":{"29":{},"66":{},"67":{},"68":{},"79":{},"88":{},"140":{},"242":{},"246":{},"255":{},"257":{},"260":{},"273":{},"274":{},"283":{}},"component":{}}],["columntype(int",{"_index":4846,"title":{},"name":{},"text":{"79":{}},"component":{}}],["com.fasterxml.jackson.databind.jsonnod",{"_index":5633,"title":{},"name":{},"text":{"106":{}},"component":{}}],["com.fasterxml.jackson.databind.jsonnode.class",{"_index":2490,"title":{},"name":{},"text":{"44":{}},"component":{}}],["coma",{"_index":5697,"title":{},"name":{},"text":{"115":{}},"component":{}}],["comand",{"_index":8055,"title":{},"name":{},"text":{"288":{}},"component":{}}],["combin",{"_index":1134,"title":{"46-10":{},"59-5":{}},"name":{},"text":{"16":{},"29":{},"33":{},"34":{},"44":{},"49":{},"50":{},"51":{},"57":{},"60":{},"61":{},"63":{},"67":{},"72":{},"79":{},"82":{},"88":{},"89":{},"94":{},"99":{},"100":{},"111":{},"119":{},"129":{},"140":{},"147":{},"151":{},"167":{},"178":{},"189":{},"204":{},"206":{},"284":{}},"component":{}}],["come",{"_index":1430,"title":{},"name":{},"text":{"29":{},"31":{},"36":{},"38":{},"39":{},"44":{},"46":{},"47":{},"48":{},"51":{},"53":{},"57":{},"59":{},"60":{},"61":{},"64":{},"66":{},"67":{},"72":{},"77":{},"79":{},"87":{},"88":{},"94":{},"99":{},"127":{},"151":{},"156":{},"157":{},"192":{},"206":{},"224":{},"260":{},"264":{},"270":{},"272":{},"274":{},"280":{}},"component":{}}],["comfort",{"_index":172,"title":{},"name":{},"text":{"2":{}},"component":{}}],["comma",{"_index":5466,"title":{},"name":{},"text":{"96":{},"147":{},"161":{},"168":{},"172":{},"174":{},"178":{},"192":{},"206":{},"208":{}},"component":{}}],["command",{"_index":234,"title":{"34":{},"35":{},"37":{},"72":{},"75":{},"105":{},"127":{},"130":{},"178":{},"211":{},"216":{},"285":{},"289":{},"34-3":{},"35-1":{},"35-4":{},"35-5":{},"36-2":{},"36-3":{},"38-6":{},"38-7":{},"38-11":{},"49-1":{},"51-1":{},"51-2":{},"51-4":{},"52-1":{},"59-26":{},"72-1":{},"72-6":{},"75-1":{},"84-1":{},"121-2":{},"143-3":{},"147-7":{},"178-4":{},"179-2":{},"186-1":{},"202-3":{},"202-5":{},"203-3":{},"211-4":{},"211-5":{},"211-6":{},"221-3":{},"280-14":{},"281-3":{},"281-4":{},"281-6":{},"283-2":{},"283-5":{},"285-2":{},"285-4":{},"289-4":{},"289-5":{}},"name":{"34":{},"35":{},"72":{},"75":{},"105":{},"127":{},"130":{},"178":{},"211":{},"216":{},"285":{}},"text":{"3":{},"5":{},"18":{},"20":{},"23":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"42":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"72":{},"73":{},"74":{},"75":{},"77":{},"78":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"88":{},"94":{},"97":{},"105":{},"107":{},"115":{},"121":{},"126":{},"127":{},"128":{},"129":{},"130":{},"132":{},"133":{},"140":{},"143":{},"147":{},"148":{},"150":{},"154":{},"156":{},"157":{},"161":{},"168":{},"169":{},"173":{},"174":{},"178":{},"179":{},"181":{},"185":{},"186":{},"191":{},"192":{},"194":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"208":{},"209":{},"211":{},"213":{},"214":{},"215":{},"216":{},"218":{},"219":{},"221":{},"224":{},"242":{},"243":{},"261":{},"262":{},"266":{},"270":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{}},"component":{}}],["command.amount",{"_index":1191,"title":{},"name":{},"text":{"18":{},"20":{}},"component":{}}],["command.biketyp",{"_index":7966,"title":{},"name":{},"text":{"281":{}},"component":{}}],["command.daysvalid",{"_index":1239,"title":{},"name":{},"text":{"20":{}},"component":{}}],["command.loc",{"_index":7967,"title":{},"name":{},"text":{"281":{}},"component":{}}],["command/queri",{"_index":2660,"title":{},"name":{},"text":{"48":{}},"component":{}}],["commandbodi",{"_index":5808,"title":{},"name":{},"text":{"121":{}},"component":{}}],["commandbu",{"_index":1497,"title":{"34-1":{}},"name":{},"text":{"30":{},"34":{},"38":{},"51":{},"53":{},"57":{},"59":{},"69":{},"74":{},"94":{},"115":{},"128":{},"130":{},"245":{},"261":{}},"component":{}}],["commandbus#dispatch(commandmessag",{"_index":1874,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus().registerhandlerinterceptor",{"_index":2217,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandbus(commandbu",{"_index":2129,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandbus.dispatch",{"_index":1860,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus.dispatch(commandmessag",{"_index":1881,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus.dispatch(genericcommandmessage.ascommandmessage(new",{"_index":1857,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus.registerdispatchinterceptor(new",{"_index":2729,"title":{},"name":{},"text":{"51":{}},"component":{}}],["commandbus.registerhandlerinterceptor",{"_index":2143,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandbus.registerhandlerinterceptor(new",{"_index":2214,"title":{},"name":{},"text":{"38":{},"51":{}},"component":{}}],["commandbus.subscribe(anothercommandtype.class.getnam",{"_index":5450,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commandbus.subscribe(commandtype.class.getnam",{"_index":5448,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commandbus.updateloadfactor(150",{"_index":5452,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commandbus/commandgateway",{"_index":1920,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbusclass}.dispatch(${commandnam",{"_index":3068,"title":{},"name":{},"text":{"59":{}},"component":{}}],["commandbusclass}.handle(${commandnam",{"_index":3069,"title":{},"name":{},"text":{"59":{}},"component":{}}],["commandbusconfigur",{"_index":2726,"title":{},"name":{},"text":{"51":{}},"component":{}}],["commandbusconnector",{"_index":2266,"title":{},"name":{},"text":{"38":{},"94":{},"128":{},"129":{},"130":{}},"component":{}}],["commandbuscorrelationconfigurermodul",{"_index":2153,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandcallback",{"_index":1854,"title":{"38-5":{}},"name":{},"text":{"34":{},"38":{},"66":{},"105":{}},"component":{}}],["commandcallback`",{"_index":2088,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commanddispatch",{"_index":1868,"title":{},"name":{},"text":{"34":{},"121":{}},"component":{}}],["commanddispatcher(priv",{"_index":5623,"title":{},"name":{},"text":{"105":{}},"component":{}}],["commanddispatchinterceptor",{"_index":2067,"title":{"38-4":{}},"name":{},"text":{},"component":{}}],["commanddispatchinterceptor`",{"_index":2087,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandexecutionexcept",{"_index":2110,"title":{},"name":{},"text":{"38":{},"48":{}},"component":{}}],["commandgateway",{"_index":1849,"title":{"34-2":{},"38-1":{},"38-2":{},"105-1":{}},"name":{},"text":{"34":{},"38":{},"66":{},"67":{},"68":{},"69":{},"88":{},"105":{},"133":{},"280":{},"281":{},"283":{},"286":{},"289":{}},"component":{}}],["commandgateway#send",{"_index":4235,"title":{},"name":{},"text":{"67":{},"130":{}},"component":{}}],["commandgateway#send(object",{"_index":1897,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandgateway#sendandwait",{"_index":4236,"title":{},"name":{},"text":{"67":{}},"component":{}}],["commandgateway#sendandwait(object",{"_index":1907,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandgateway.send",{"_index":5627,"title":{},"name":{},"text":{"105":{}},"component":{}}],["commandgateway.send(new",{"_index":1894,"title":{},"name":{},"text":{"34":{},"68":{},"286":{},"289":{}},"component":{}}],["commandgateway.send(registerbikecommand",{"_index":7985,"title":{},"name":{},"text":{"281":{}},"component":{}}],["commandgateway.sendandwait(commandpayload",{"_index":1904,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandgateway.sendandwait(new",{"_index":3178,"title":{},"name":{},"text":{"63":{}},"component":{}}],["commandgatewayfactori",{"_index":2068,"title":{"38-6":{}},"name":{},"text":{"38":{}},"component":{}}],["commandgatewayfactory.build",{"_index":2128,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandhandl",{"_index":1186,"title":{},"name":{},"text":{"18":{},"20":{},"27":{},"34":{},"35":{},"36":{},"42":{},"52":{},"66":{},"72":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"97":{},"280":{},"281":{},"288":{},"289":{}},"component":{}}],["commandhandler(payloadtyp",{"_index":1378,"title":{},"name":{},"text":{"27":{}},"component":{}}],["commandhandler`",{"_index":4888,"title":{},"name":{},"text":{"81":{}},"component":{}}],["commandhandlerinterceptor",{"_index":2715,"title":{"51-5":{}},"name":{},"text":{"51":{},"52":{},"67":{}},"component":{}}],["commandhandlerinterceptor`",{"_index":2133,"title":{},"name":{},"text":{"38":{},"81":{}},"component":{}}],["commandhandlingexcept",{"_index":4289,"title":{},"name":{},"text":{"67":{}},"component":{}}],["commandlin",{"_index":6570,"title":{},"name":{},"text":{"168":{}},"component":{}}],["commandloadfactorprovid",{"_index":2257,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandmessag",{"_index":1322,"title":{},"name":{},"text":{"24":{},"34":{},"38":{},"49":{},"50":{},"51":{},"52":{},"72":{},"105":{}},"component":{}}],["commandmessage`",{"_index":2095,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandmessage’",{"_index":2235,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandnam",{"_index":1381,"title":{},"name":{},"text":{"27":{},"35":{},"211":{}},"component":{}}],["commandnamepattern",{"_index":2756,"title":{},"name":{},"text":{"51":{}},"component":{}}],["commandpayload",{"_index":1902,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandpublish",{"_index":5811,"title":{},"name":{},"text":{"121":{}},"component":{}}],["commandresult",{"_index":1866,"title":{},"name":{},"text":{"34":{},"281":{}},"component":{}}],["commandresultmessag",{"_index":1878,"title":{},"name":{},"text":{"34":{},"38":{},"66":{},"72":{}},"component":{}}],["commandresultmessage#exceptionresult",{"_index":1884,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandresultmessage#getpayload",{"_index":1885,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandresultmessage#isexcept",{"_index":1883,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandrout",{"_index":2267,"title":{},"name":{},"text":{"38":{},"94":{},"128":{},"129":{}},"component":{}}],["commandrouter(commandrout",{"_index":5948,"title":{},"name":{},"text":{"128":{}},"component":{}}],["commandrouter(connector",{"_index":5447,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commands.wait",{"_index":7027,"title":{},"name":{},"text":{"185":{}},"component":{}}],["commands/ev",{"_index":4672,"title":{},"name":{},"text":{"73":{}},"component":{}}],["commands/queries/ev",{"_index":1581,"title":{},"name":{},"text":{"31":{},"156":{},"190":{}},"component":{}}],["commands=tru",{"_index":5956,"title":{},"name":{},"text":{"128":{}},"component":{}}],["commandtargetresolv",{"_index":1960,"title":{},"name":{},"text":{"35":{},"66":{},"72":{}},"component":{}}],["commandvalid",{"_index":3784,"title":{},"name":{},"text":{"66":{}},"component":{}}],["command’",{"_index":2758,"title":{},"name":{},"text":{"51":{},"72":{}},"component":{}}],["commenc",{"_index":8048,"title":{},"name":{},"text":{"288":{}},"component":{}}],["comment",{"_index":1895,"title":{},"name":{},"text":{"34":{},"82":{},"84":{},"85":{},"235":{}},"component":{}}],["commerci",{"_index":5992,"title":{},"name":{},"text":{"137":{}},"component":{}}],["commit",{"_index":2081,"title":{},"name":{},"text":{"38":{},"46":{},"51":{},"53":{},"59":{},"66":{},"67":{},"79":{},"87":{},"88":{},"102":{},"104":{},"142":{},"143":{},"156":{},"157":{},"179":{},"230":{},"240":{},"261":{},"262":{},"274":{}},"component":{}}],["common",{"_index":340,"title":{},"name":{},"text":{"3":{},"30":{},"49":{},"50":{},"62":{},"67":{},"84":{},"87":{},"99":{},"121":{},"124":{},"151":{},"172":{},"178":{},"179":{},"191":{},"279":{},"287":{},"290":{}},"component":{}}],["commonli",{"_index":4614,"title":{},"name":{},"text":{"72":{},"82":{},"179":{}},"component":{}}],["commun",{"_index":170,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"13":{},"19":{},"38":{},"45":{},"46":{},"47":{},"49":{},"66":{},"94":{},"141":{},"176":{},"179":{},"192":{},"199":{},"200":{},"201":{},"203":{},"208":{},"224":{},"264":{},"265":{},"278":{},"279":{},"281":{},"283":{},"287":{}},"component":{}}],["compact",{"_index":319,"title":{"145-9":{},"145-23":{}},"name":{},"text":{"3":{},"31":{},"46":{},"99":{},"142":{},"145":{},"179":{},"191":{}},"component":{}}],["compani",{"_index":7569,"title":{},"name":{},"text":{"237":{}},"component":{}}],["companion",{"_index":5991,"title":{},"name":{},"text":{"137":{}},"component":{}}],["companynam",{"_index":2472,"title":{},"name":{},"text":{"44":{}},"component":{}}],["compar",{"_index":1252,"title":{},"name":{},"text":{"20":{},"36":{},"38":{},"40":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"72":{},"88":{},"151":{},"156":{},"192":{},"244":{}},"component":{}}],["comparison",{"_index":4426,"title":{},"name":{},"text":{"68":{},"72":{},"193":{}},"component":{}}],["compat",{"_index":14,"title":{"163-2":{}},"name":{},"text":{"1":{},"2":{},"4":{},"30":{},"32":{},"44":{},"46":{},"66":{},"92":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"122":{},"126":{},"130":{},"131":{},"134":{},"137":{},"150":{},"176":{}},"component":{}}],["compens",{"_index":4449,"title":{},"name":{},"text":{"69":{},"88":{}},"component":{}}],["compet",{"_index":5287,"title":{},"name":{},"text":{"88":{}},"component":{}}],["compil",{"_index":3205,"title":{"123":{}},"name":{"123":{}},"text":{"63":{},"66":{},"123":{},"124":{},"125":{},"126":{}},"component":{}}],["complain",{"_index":1384,"title":{},"name":{},"text":{"27":{}},"component":{}}],["complaint",{"_index":2489,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complaintev",{"_index":2471,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complaintevent0_to_1upcast",{"_index":2500,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complaintevent1_to_2upcast",{"_index":2476,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complainteventupcasteron",{"_index":2507,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complainteventupcastertwo",{"_index":2508,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complement",{"_index":1510,"title":{"151-19":{}},"name":{},"text":{"30":{},"37":{},"62":{},"72":{},"151":{}},"component":{}}],["complet",{"_index":400,"title":{},"name":{},"text":{"3":{},"8":{},"13":{},"31":{},"32":{},"34":{},"43":{},"44":{},"52":{},"53":{},"58":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"73":{},"76":{},"88":{},"102":{},"140":{},"141":{},"142":{},"143":{},"145":{},"151":{},"157":{},"162":{},"177":{},"179":{},"182":{},"186":{},"191":{},"192":{},"202":{},"203":{},"224":{},"263":{},"274":{},"277":{},"279":{},"281":{},"282":{},"288":{}},"component":{}}],["completablefutur",{"_index":1892,"title":{},"name":{},"text":{"34":{},"38":{},"63":{},"76":{},"88":{},"108":{},"121":{},"130":{},"145":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["completablefuture::get",{"_index":7894,"title":{},"name":{},"text":{"280":{}},"component":{}}],["completablefuture`",{"_index":6304,"title":{},"name":{},"text":{"145":{}},"component":{}}],["complete=\"fals",{"_index":4824,"title":{},"name":{},"text":{"79":{}},"component":{}}],["completionstag",{"_index":2105,"title":{},"name":{},"text":{"38":{}},"component":{}}],["complex",{"_index":115,"title":{},"name":{},"text":{"2":{},"3":{},"15":{},"63":{},"67":{},"72":{},"84":{},"87":{},"191":{},"264":{},"279":{},"280":{},"281":{}},"component":{}}],["compli",{"_index":858,"title":{},"name":{},"text":{"5":{}},"component":{}}],["complic",{"_index":7949,"title":{},"name":{},"text":{"281":{}},"component":{}}],["compon",{"_index":890,"title":{"118":{},"269":{},"59-25":{},"104-1":{},"104-3":{},"104-7":{},"206-10":{},"206-13":{},"274-7":{}},"name":{"118":{},"269":{}},"text":{"6":{},"15":{},"17":{},"20":{},"24":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"86":{},"87":{},"88":{},"89":{},"91":{},"94":{},"100":{},"102":{},"104":{},"114":{},"115":{},"117":{},"118":{},"120":{},"121":{},"127":{},"128":{},"129":{},"140":{},"144":{},"147":{},"165":{},"180":{},"185":{},"202":{},"206":{},"211":{},"212":{},"214":{},"242":{},"243":{},"244":{},"245":{},"246":{},"260":{},"263":{},"264":{},"266":{},"273":{},"274":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{},"286":{},"287":{},"290":{}},"component":{}}],["componentloc",{"_index":3979,"title":{},"name":{},"text":{"67":{}},"component":{}}],["componentnam",{"_index":2939,"title":{},"name":{},"text":{"57":{},"87":{},"144":{},"202":{},"211":{},"212":{},"214":{}},"component":{}}],["componentscan",{"_index":4250,"title":{},"name":{},"text":{"67":{}},"component":{}}],["componenttyp",{"_index":2938,"title":{},"name":{},"text":{"57":{},"87":{}},"component":{}}],["component’",{"_index":7730,"title":{},"name":{},"text":{"274":{},"281":{}},"component":{}}],["compos",{"_index":195,"title":{"284":{},"3-10":{},"191-3":{},"284-2":{},"284-3":{},"284-4":{}},"name":{"284":{}},"text":{"3":{},"66":{},"72":{},"140":{},"145":{},"191":{},"237":{},"266":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["compose.yaml",{"_index":7641,"title":{},"name":{},"text":{"263":{},"267":{},"277":{},"284":{}},"component":{}}],["compose.yml",{"_index":7763,"title":{},"name":{},"text":{"277":{},"280":{}},"component":{}}],["comprehens",{"_index":6021,"title":{},"name":{},"text":{"140":{},"227":{},"236":{},"262":{},"264":{},"266":{},"269":{},"274":{}},"component":{}}],["compress",{"_index":4830,"title":{},"name":{},"text":{"79":{},"172":{}},"component":{}}],["compris",{"_index":4308,"title":{},"name":{},"text":{"67":{}},"component":{}}],["comput",{"_index":2172,"title":{},"name":{},"text":{"38":{},"117":{},"164":{},"199":{}},"component":{}}],["computeifpres",{"_index":4124,"title":{},"name":{},"text":{"67":{}},"component":{}}],["computeregion=asia",{"_index":6418,"title":{},"name":{},"text":{"150":{}},"component":{}}],["computeregion=europ",{"_index":6417,"title":{},"name":{},"text":{"150":{}},"component":{}}],["con",{"_index":5239,"title":{},"name":{},"text":{"88":{},"263":{},"267":{}},"component":{}}],["concat(listdata",{"_index":7187,"title":{},"name":{},"text":{"195":{}},"component":{}}],["concaten",{"_index":5826,"title":{},"name":{},"text":{"121":{},"195":{}},"component":{}}],["concatwith(result.upd",{"_index":5837,"title":{},"name":{},"text":{"121":{}},"component":{}}],["concept",{"_index":884,"title":{"49":{},"7-1":{}},"name":{},"text":{"6":{},"8":{},"12":{},"13":{},"28":{},"34":{},"36":{},"37":{},"38":{},"41":{},"44":{},"46":{},"48":{},"49":{},"53":{},"62":{},"68":{},"75":{},"82":{},"84":{},"87":{},"145":{},"153":{},"192":{},"264":{},"281":{}},"component":{}}],["conceptu",{"_index":1399,"title":{},"name":{},"text":{"28":{},"47":{},"69":{},"71":{},"88":{},"220":{}},"component":{}}],["concern",{"_index":1511,"title":{},"name":{},"text":{"30":{},"37":{},"62":{},"63":{},"67":{},"70":{},"86":{},"89":{},"102":{},"140":{},"144":{}},"component":{}}],["concess",{"_index":4310,"title":{},"name":{},"text":{"67":{}},"component":{}}],["conclud",{"_index":5208,"title":{},"name":{},"text":{"88":{},"145":{}},"component":{}}],["conclus",{"_index":7550,"title":{"230":{},"240":{},"265":{},"270-3":{},"280-16":{},"281-11":{},"283-7":{}},"name":{"230":{},"240":{},"265":{}},"text":{},"component":{}}],["concret",{"_index":1686,"title":{},"name":{},"text":{"31":{},"32":{},"46":{},"48":{},"49":{},"88":{}},"component":{}}],["concurr",{"_index":959,"title":{"211-7":{}},"name":{},"text":{"6":{},"31":{},"36":{},"38":{},"46":{},"67":{},"69":{},"71":{},"77":{},"88":{},"151":{},"211":{},"215":{}},"component":{}}],["concurrencyexcept",{"_index":2534,"title":{},"name":{},"text":{"46":{},"66":{}},"component":{}}],["concurrencyexception`",{"_index":3797,"title":{},"name":{},"text":{"66":{}},"component":{}}],["concurrenthashmap",{"_index":4054,"title":{},"name":{},"text":{"67":{}},"component":{}}],["condit",{"_index":958,"title":{"151-8":{},"244-2":{},"262-2":{},"262-3":{},"262-4":{}},"name":{},"text":{"6":{},"32":{},"42":{},"48":{},"66":{},"84":{},"88":{},"140":{},"141":{},"143":{},"151":{},"215":{},"239":{},"242":{},"244":{},"245":{},"246":{},"262":{},"273":{}},"component":{}}],["condition",{"_index":4453,"title":{},"name":{},"text":{"69":{},"84":{},"151":{}},"component":{}}],["conditionalonbean",{"_index":3483,"title":{},"name":{},"text":{"66":{}},"component":{}}],["conditionalonclass",{"_index":3697,"title":{},"name":{},"text":{"66":{}},"component":{}}],["conditionalonmissingbean",{"_index":1089,"title":{},"name":{},"text":{"15":{},"66":{},"67":{}},"component":{}}],["conditionalonmissingbean(eventbus.class",{"_index":1766,"title":{},"name":{},"text":{"32":{}},"component":{}}],["condition’",{"_index":7635,"title":{},"name":{},"text":{"262":{}},"component":{}}],["conf",{"_index":5078,"title":{},"name":{},"text":{"87":{},"88":{},"89":{}},"component":{}}],["config",{"_index":572,"title":{},"name":{"96":{},"110":{},"113":{},"114":{},"128":{},"132":{},"220":{}},"text":{"3":{},"14":{},"15":{},"17":{},"38":{},"43":{},"61":{},"75":{},"86":{},"88":{},"110":{},"114":{},"179":{},"189":{},"191":{},"273":{}},"component":{}}],["config.commandbus().registerhandlerinterceptor",{"_index":2155,"title":{},"name":{},"text":{"38":{}},"component":{}}],["config.deadletterqueue(processinggroup",{"_index":5026,"title":{},"name":{},"text":{"86":{}},"component":{}}],["config.eventprocessors().keyset",{"_index":1161,"title":{},"name":{},"text":{"17":{}},"component":{}}],["config.sequenceddeadletterprocessor(processinggroup",{"_index":5014,"title":{},"name":{},"text":{"86":{}},"component":{}}],["config.sequenceddeadletterprocessor(processinggroup).ifpres",{"_index":1162,"title":{},"name":{},"text":{"17":{}},"component":{}}],["config.snapshott",{"_index":4745,"title":{},"name":{},"text":{"77":{}},"component":{}}],["config/axonserver.properti",{"_index":6824,"title":{},"name":{},"text":{"179":{}},"component":{}}],["configdb",{"_index":698,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configdb.mv.db",{"_index":700,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configdb;defrag_always=tru",{"_index":707,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configmap",{"_index":199,"title":{"3-12":{},"191-5":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["configmap/axonserv",{"_index":579,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["configtoken",{"_index":4361,"title":{},"name":{},"text":{"67":{}},"component":{}}],["configur",{"_index":62,"title":{"36":{},"60":{},"96":{},"104":{},"110":{},"113":{},"114":{},"115":{},"128":{},"132":{},"135":{},"181":{},"206":{},"220":{},"4-2":{},"30-6":{},"31-2":{},"31-3":{},"32-1":{},"32-4":{},"32-5":{},"36-1":{},"38-2":{},"38-16":{},"39-4":{},"40-7":{},"44-4":{},"50-6":{},"57-2":{},"57-3":{},"57-5":{},"57-6":{},"57-7":{},"57-8":{},"59-2":{},"59-3":{},"59-6":{},"59-7":{},"59-12":{},"59-13":{},"59-14":{},"59-16":{},"59-19":{},"59-20":{},"59-23":{},"59-24":{},"69-11":{},"69-12":{},"69-13":{},"69-14":{},"69-15":{},"71-2":{},"71-3":{},"75-2":{},"75-3":{},"76-4":{},"76-5":{},"77-3":{},"77-4":{},"77-7":{},"77-8":{},"77-11":{},"77-12":{},"86-4":{},"86-5":{},"87-8":{},"88-1":{},"88-2":{},"88-3":{},"88-7":{},"88-17":{},"89-1":{},"89-2":{},"89-3":{},"89-4":{},"89-5":{},"89-6":{},"89-9":{},"89-10":{},"89-11":{},"89-12":{},"102-1":{},"104-11":{},"115-1":{},"115-2":{},"115-11":{},"121-1":{},"148-4":{},"151-6":{},"151-20":{},"154-6":{},"170-2":{},"172-2":{},"172-3":{},"172-4":{},"172-5":{},"176-1":{},"177-2":{},"179-1":{},"179-5":{},"202-5":{},"202-9":{},"202-13":{},"206-1":{},"208-2":{},"274-6":{},"274-12":{},"276-3":{},"278-1":{},"279-3":{},"284-2":{},"284-4":{},"285-1":{}},"name":{"36":{},"60":{},"104":{},"115":{},"135":{},"179":{},"206":{}},"text":{"2":{},"3":{},"4":{},"5":{},"8":{},"13":{},"14":{},"15":{},"16":{},"17":{},"20":{},"21":{},"24":{},"26":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"55":{},"57":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"79":{},"81":{},"82":{},"86":{},"87":{},"88":{},"89":{},"90":{},"92":{},"94":{},"96":{},"99":{},"100":{},"102":{},"104":{},"110":{},"111":{},"113":{},"114":{},"115":{},"119":{},"121":{},"127":{},"128":{},"130":{},"132":{},"133":{},"140":{},"141":{},"142":{},"143":{},"144":{},"146":{},"147":{},"148":{},"150":{},"151":{},"154":{},"156":{},"157":{},"163":{},"164":{},"165":{},"167":{},"169":{},"170":{},"172":{},"174":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"189":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"215":{},"220":{},"221":{},"226":{},"227":{},"228":{},"232":{},"236":{},"237":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"261":{},"262":{},"263":{},"265":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["configuration#configurecorrelationdataprovid",{"_index":2711,"title":{},"name":{},"text":{"50":{}},"component":{}}],["configuration#onshutdown",{"_index":3793,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configuration#onstart",{"_index":3792,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configuration(producerconfigur",{"_index":5571,"title":{},"name":{},"text":{"102":{}},"component":{}}],["configuration.enabled=tru",{"_index":2919,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configuration.eventprocessingconfigur",{"_index":5725,"title":{},"name":{},"text":{"115":{},"144":{}},"component":{}}],["configuration.sequenceddeadletterprocessor",{"_index":5737,"title":{},"name":{},"text":{"115":{}},"component":{}}],["configuration.spanfactory().registerspanattributeprovider(new",{"_index":3041,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurationlisten",{"_index":6382,"title":{},"name":{},"text":{"148":{}},"component":{}}],["configurationresourceinjector",{"_index":4474,"title":{},"name":{},"text":{"69":{}},"component":{}}],["configurationscopeawareprovider(configur",{"_index":1225,"title":{},"name":{},"text":{"20":{},"39":{}},"component":{}}],["configure(configur",{"_index":3002,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configure(eventprocessingconfigur",{"_index":5087,"title":{},"name":{},"text":{"87":{}},"component":{}}],["configure_plugin",{"_index":6711,"title":{},"name":{},"text":{"171":{}},"component":{}}],["configureaggreg",{"_index":2030,"title":{},"name":{},"text":{"36":{}},"component":{}}],["configureaggregate(giftcard.class",{"_index":2007,"title":{},"name":{},"text":{"36":{}},"component":{}}],["configureaggregate(giftcardconfigur",{"_index":4746,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configureaggregatewithcache(configur",{"_index":4794,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configureasynchronouscommandbus(configur",{"_index":2163,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurecache(config",{"_index":4795,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configurecommandbu",{"_index":2727,"title":{},"name":{},"text":{"51":{}},"component":{}}],["configurecorrelationdataproviders(config",{"_index":2712,"title":{},"name":{},"text":{"50":{}},"component":{}}],["configuredeadletterqueue(eventprocessingconfigur",{"_index":1116,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["configuredefaultmetrics(configur",{"_index":2914,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configuredisruptorcommandbus(configur",{"_index":2211,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configureenqueuepolicy(eventprocessingconfigur",{"_index":1059,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["configureeventbus(eventstorageengin",{"_index":2767,"title":{},"name":{},"text":{"51":{}},"component":{}}],["configureeventhandler(configur",{"_index":2418,"title":{},"name":{},"text":{"43":{}},"component":{}}],["configureeventprocessing(configur",{"_index":2775,"title":{},"name":{},"text":{"51":{}},"component":{}}],["configureeventserializer(c",{"_index":2609,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configureeventserializer(configur",{"_index":1628,"title":{},"name":{},"text":{"31":{}},"component":{}}],["configureinitialtrackingtoken(eventprocessingconfigur",{"_index":5176,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configureinmemoryeventstorage(configur",{"_index":2604,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configurejdbceventstorag",{"_index":2570,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configuremessageserializer(configur",{"_index":1627,"title":{},"name":{},"text":{"31":{}},"component":{}}],["configuremongoeventstorage(configur",{"_index":2596,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configuremysaga(eventprocessingconfigur",{"_index":4502,"title":{},"name":{},"text":{"69":{}},"component":{}}],["configurepooledstreamingprocessor(eventprocessingconfigur",{"_index":5375,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configurepooledstreamingprocessors(eventprocessingconfigur",{"_index":5145,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configureprocessinggrouperrorhandling(eventprocessingconfigur",{"_index":5075,"title":{},"name":{},"text":{"87":{}},"component":{}}],["configureprocessordefault(eventprocessingconfigur",{"_index":5122,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["configurequerybus(configur",{"_index":3127,"title":{},"name":{},"text":{"61":{}},"component":{}}],["configurer#oniniti",{"_index":3791,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configurer#registerhandlerenhancerdefinit",{"_index":3438,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configurer.configureaggregate(giftcardconfigur",{"_index":4796,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configurer.configurecommandbus(config",{"_index":2140,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.configureembeddedeventstore(config",{"_index":2572,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configurer.configuremessagemonitor(commandbus.class",{"_index":2965,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configuremessagemonitor(eventstore.class",{"_index":2953,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configuremessagemonitor(querybus.class",{"_index":2966,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configuremessagemonitor(trackingeventprocessor.class",{"_index":2962,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configurequerybu",{"_index":3128,"title":{},"name":{},"text":{"61":{}},"component":{}}],["configurer.configureserializer(configur",{"_index":1626,"title":{},"name":{},"text":{"31":{}},"component":{}}],["configurer.configurespanfactory(c",{"_index":3063,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurer.configurespanfactory(configur",{"_index":3003,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurer.defaultconfigur",{"_index":3061,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurer.eventprocess",{"_index":2422,"title":{},"name":{},"text":{"43":{},"51":{},"86":{},"88":{},"89":{}},"component":{}}],["configurer.eventprocessing().registerdeadletterqueu",{"_index":4993,"title":{},"name":{},"text":{"86":{},"110":{}},"component":{}}],["configurer.eventprocessing().registerdeadletterqueueprovid",{"_index":5003,"title":{},"name":{},"text":{"86":{}},"component":{}}],["configurer.eventprocessing(eventprocessingconfigur",{"_index":4518,"title":{},"name":{},"text":{"71":{}},"component":{}}],["configurer.eventprocessing(eventprocessingconfigurer::usingpooledstreamingeventprocessor",{"_index":5143,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configurer.eventprocessing(eventprocessingconfigurer::usingsubscribingeventprocessor",{"_index":5384,"title":{},"name":{},"text":{"89":{}},"component":{}}],["configurer.eventprocessing(process",{"_index":5091,"title":{},"name":{},"text":{"87":{}},"component":{}}],["configurer.eventprocessing(processingconfigur",{"_index":5080,"title":{},"name":{},"text":{"87":{},"88":{}},"component":{}}],["configurer.oniniti",{"_index":2154,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.oninitialize(config",{"_index":2216,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.registercompon",{"_index":4475,"title":{},"name":{},"text":{"69":{}},"component":{}}],["configurer.registercomponent(axonserverconfiguration.class",{"_index":7141,"title":{},"name":{},"text":{"189":{}},"component":{}}],["configurer.registercomponent(routingstrategy.class",{"_index":2250,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.registercomponent(sagastore.class",{"_index":4521,"title":{},"name":{},"text":{"71":{}},"component":{}}],["configurer.registerdeadletterpolicy(\"mi",{"_index":1060,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["configurer.registereventhandl",{"_index":2419,"title":{},"name":{},"text":{"43":{}},"component":{}}],["configurer.registereventupcaster(config",{"_index":2499,"title":{},"name":{},"text":{"44":{}},"component":{}}],["configurer.registerhandlerenhancerdefinition(config",{"_index":1356,"title":{},"name":{},"text":{"24":{}},"component":{}}],["configurer.registermessagehandl",{"_index":2421,"title":{},"name":{},"text":{"43":{}},"component":{}}],["configurer.registermodule(kafkamessagesourceconfigur",{"_index":5505,"title":{},"name":{},"text":{"99":{}},"component":{}}],["configurerepository(c",{"_index":2032,"title":{},"name":{},"text":{"36":{}},"component":{}}],["configurermodul",{"_index":2152,"title":{},"name":{},"text":{"38":{},"57":{},"67":{},"86":{},"87":{},"88":{},"89":{},"110":{}},"component":{}}],["configurermodule.ord",{"_index":3986,"title":{},"name":{},"text":{"67":{}},"component":{}}],["configureroutingstrategy(configur",{"_index":2248,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configuresegmentcount(eventprocessingconfigur",{"_index":5231,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuresequencingpolicy(eventprocessingconfigur",{"_index":5245,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuresimplecommandbus(configur",{"_index":2139,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configuresnapshotfilter(config",{"_index":4762,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configuresnapshottrigger(config",{"_index":4744,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configurespanfactory(c",{"_index":3062,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurespanfactory(spanfactori",{"_index":3043,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurestreamablekafkasource(eventprocessingconfigur",{"_index":5529,"title":{},"name":{},"text":{"99":{}},"component":{}}],["configuresubscribablekafkasource(eventprocessingconfigur",{"_index":5519,"title":{},"name":{},"text":{"99":{}},"component":{}}],["configuresubscribingprocessors(eventprocessingconfigur",{"_index":5386,"title":{},"name":{},"text":{"89":{}},"component":{}}],["configuretags(config",{"_index":6424,"title":{},"name":{},"text":{"150":{}},"component":{}}],["configurethreadcount(eventprocessingconfigur",{"_index":5257,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuretokenclaimvalues(eventprocessingconfigur",{"_index":5196,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuretrackingprocessor(eventprocessingconfigur",{"_index":5373,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuretrackingprocessors(eventprocessingconfigur",{"_index":5127,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configureupcasters(configur",{"_index":2497,"title":{},"name":{},"text":{"44":{}},"component":{}}],["confirm",{"_index":901,"title":{"202-6":{},"202-10":{},"202-14":{}},"name":{},"text":{"6":{},"40":{},"49":{},"102":{},"104":{},"143":{},"156":{},"157":{},"179":{},"185":{},"203":{},"237":{},"288":{}},"component":{}}],["confirmationmod",{"_index":5558,"title":{},"name":{},"text":{"102":{}},"component":{}}],["confirmationmode(confirmationmod",{"_index":5572,"title":{},"name":{},"text":{"102":{}},"component":{}}],["confirmpaymentcommand",{"_index":7712,"title":{},"name":{},"text":{"274":{}},"component":{}}],["conflict",{"_index":2020,"title":{"83":{}},"name":{"83":{}},"text":{"36":{},"46":{},"52":{},"67":{},"83":{},"201":{},"215":{}},"component":{}}],["conflictresolv",{"_index":2825,"title":{},"name":{},"text":{"52":{},"83":{}},"component":{}}],["confus",{"_index":3770,"title":{},"name":{},"text":{"66":{},"179":{}},"component":{}}],["congratul",{"_index":7756,"title":{},"name":{},"text":{"276":{},"277":{}},"component":{}}],["conjunct",{"_index":2827,"title":{},"name":{},"text":{"52":{},"66":{},"67":{},"107":{},"140":{},"144":{},"179":{}},"component":{}}],["connect",{"_index":233,"title":{"236":{},"267":{},"5-3":{},"145-18":{},"150-2":{},"172-4":{},"186-5":{},"206-2":{},"206-6":{},"206-25":{},"206-30":{},"206-32":{},"232-1":{},"237-3":{},"241-1":{},"241-2":{},"276-4":{}},"name":{},"text":{"3":{},"5":{},"30":{},"34":{},"38":{},"46":{},"53":{},"54":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"76":{},"88":{},"89":{},"94":{},"96":{},"99":{},"115":{},"117":{},"121":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"149":{},"150":{},"154":{},"156":{},"157":{},"161":{},"163":{},"168":{},"170":{},"172":{},"174":{},"178":{},"179":{},"180":{},"185":{},"186":{},"189":{},"191":{},"192":{},"199":{},"201":{},"206":{},"208":{},"215":{},"216":{},"217":{},"219":{},"221":{},"226":{},"228":{},"232":{},"237":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"247":{},"250":{},"260":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"274":{},"275":{},"276":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["connection.eventchannel",{"_index":6277,"title":{},"name":{},"text":{"145":{}},"component":{}}],["connection.eventtransformationchannel",{"_index":6284,"title":{},"name":{},"text":{"145":{}},"component":{}}],["connectiondetail",{"_index":3351,"title":{},"name":{},"text":{"66":{}},"component":{}}],["connectionfactori",{"_index":6204,"title":{},"name":{},"text":{"144":{}},"component":{}}],["connectionfactory.connect(contextname).adminchannel",{"_index":6206,"title":{},"name":{},"text":{"144":{}},"component":{}}],["connectionprovid",{"_index":2567,"title":{},"name":{},"text":{"46":{},"69":{},"71":{}},"component":{}}],["connectionprovider(connectionprovid",{"_index":2574,"title":{},"name":{},"text":{"46":{}},"component":{}}],["connection’",{"_index":2889,"title":{},"name":{},"text":{"54":{}},"component":{}}],["connector",{"_index":1465,"title":{"253":{},"30-7":{},"144-5":{}},"name":{},"text":{"30":{},"38":{},"46":{},"61":{},"66":{},"67":{},"94":{},"96":{},"129":{},"144":{},"145":{},"168":{},"257":{}},"component":{}}],["connector(commandbusconnector",{"_index":5949,"title":{},"name":{},"text":{"128":{}},"component":{}}],["connector(connector",{"_index":5446,"title":{},"name":{},"text":{"94":{}},"component":{}}],["connector.connect",{"_index":5449,"title":{},"name":{},"text":{"94":{}},"component":{}}],["consciou",{"_index":2650,"title":{},"name":{},"text":{"48":{}},"component":{}}],["conscious",{"_index":2624,"title":{},"name":{},"text":{"46":{}},"component":{}}],["consensu",{"_index":6507,"title":{"157-2":{}},"name":{},"text":{},"component":{}}],["consequ",{"_index":4266,"title":{"88-12":{}},"name":{},"text":{"67":{},"85":{},"86":{},"88":{},"115":{},"157":{},"280":{}},"component":{}}],["consid",{"_index":541,"title":{},"name":{},"text":{"3":{},"31":{},"34":{},"38":{},"43":{},"44":{},"47":{},"49":{},"53":{},"59":{},"63":{},"67":{},"69":{},"72":{},"77":{},"79":{},"83":{},"86":{},"87":{},"88":{},"96":{},"145":{},"150":{},"151":{},"188":{},"191":{},"226":{},"244":{},"261":{},"280":{},"281":{},"288":{}},"component":{}}],["consider",{"_index":1393,"title":{"102-2":{},"145-12":{},"145-15":{},"176-2":{},"281-1":{}},"name":{},"text":{"27":{},"34":{},"46":{},"79":{},"84":{},"88":{},"145":{},"164":{},"221":{},"280":{},"281":{}},"component":{}}],["consist",{"_index":916,"title":{},"name":{},"text":{"6":{},"30":{},"31":{},"35":{},"38":{},"44":{},"47":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"82":{},"86":{},"87":{},"102":{},"127":{},"142":{},"216":{},"221":{},"244":{},"254":{},"261":{},"274":{},"280":{}},"component":{}}],["consistenthash",{"_index":5437,"title":{},"name":{},"text":{"94":{},"128":{}},"component":{}}],["consistenthash.equ",{"_index":3588,"title":{},"name":{},"text":{"66":{}},"component":{}}],["consistenthashchangelisten",{"_index":5926,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["consol",{"_index":721,"title":{"5":{},"227":{},"231":{},"233":{},"234":{},"236":{},"238":{},"241":{},"249":{},"255":{},"263":{},"267":{},"272":{},"274":{},"276":{},"5-1":{},"5-3":{},"5-4":{},"5-5":{},"5-7":{},"5-13":{},"5-14":{},"5-15":{},"88-23":{},"88-27":{},"227-1":{},"232-1":{},"232-2":{},"236-1":{},"263-1":{},"269-1":{},"270-2":{},"276-1":{},"276-2":{},"276-3":{},"276-4":{},"276-5":{}},"name":{"263":{},"274":{},"276":{}},"text":{"5":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"17":{},"28":{},"49":{},"55":{},"66":{},"77":{},"86":{},"88":{},"141":{},"147":{},"156":{},"161":{},"162":{},"172":{},"174":{},"178":{},"179":{},"192":{},"199":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"284":{}},"component":{"5":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{}}}],["console'",{"_index":5309,"title":{},"name":{},"text":{"88":{}},"component":{}}],["console_faq",{"_index":743,"title":{},"name":{"5":{}},"text":{},"component":{}}],["console’",{"_index":6810,"title":{},"name":{},"text":{"178":{},"247":{},"274":{}},"component":{}}],["consolid",{"_index":7567,"title":{"250-4":{}},"name":{},"text":{"235":{},"250":{},"254":{}},"component":{}}],["constant",{"_index":3287,"title":{},"name":{},"text":{"66":{},"280":{}},"component":{}}],["constantli",{"_index":4721,"title":{},"name":{},"text":{"77":{}},"component":{}}],["constitut",{"_index":4963,"title":{},"name":{},"text":{"85":{}},"component":{}}],["constraint",{"_index":2528,"title":{"198":{}},"name":{"198":{}},"text":{"46":{},"81":{},"198":{}},"component":{}}],["construct",{"_index":207,"title":{},"name":{},"text":{"3":{},"20":{},"29":{},"33":{},"36":{},"38":{},"44":{},"46":{},"49":{},"59":{},"66":{},"67":{},"69":{},"71":{},"86":{},"87":{},"88":{},"94":{},"96":{},"99":{},"142":{},"191":{},"289":{}},"component":{}}],["constructor",{"_index":1301,"title":{},"name":{},"text":{"23":{},"31":{},"34":{},"35":{},"36":{},"40":{},"42":{},"44":{},"49":{},"50":{},"51":{},"57":{},"67":{},"69":{},"71":{},"72":{},"77":{},"80":{},"81":{},"82":{},"84":{},"85":{},"281":{}},"component":{}}],["consul",{"_index":5961,"title":{},"name":{},"text":{"129":{}},"component":{}}],["consult",{"_index":4497,"title":{},"name":{},"text":{"69":{},"71":{},"87":{},"199":{}},"component":{}}],["consum",{"_index":773,"title":{"99":{},"99-1":{},"99-2":{},"104-7":{}},"name":{"99":{}},"text":{"5":{},"6":{},"16":{},"36":{},"59":{},"63":{},"67":{},"69":{},"72":{},"88":{},"99":{},"100":{},"101":{},"102":{},"104":{},"115":{},"151":{},"163":{},"200":{},"260":{},"274":{},"286":{},"290":{}},"component":{}}],["consumerconfigur",{"_index":5484,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumercount",{"_index":5508,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumercount(consumercount",{"_index":5517,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerfactori",{"_index":5479,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerfactory(consumerfactori",{"_index":5513,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerfactory(map",{"_index":5483,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerrecord",{"_index":5542,"title":{},"name":{},"text":{"101":{}},"component":{}}],["consumpt",{"_index":4170,"title":{},"name":{},"text":{"67":{},"99":{},"101":{},"102":{}},"component":{}}],["contact",{"_index":7401,"title":{},"name":{},"text":{"206":{}},"component":{}}],["contactmovedev",{"_index":2676,"title":{},"name":{},"text":{"49":{}},"component":{}}],["contain",{"_index":311,"title":{},"name":{},"text":{"3":{},"4":{},"6":{},"8":{},"13":{},"24":{},"26":{},"29":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"101":{},"102":{},"111":{},"121":{},"140":{},"141":{},"142":{},"143":{},"147":{},"148":{},"149":{},"151":{},"153":{},"154":{},"156":{},"157":{},"159":{},"161":{},"162":{},"165":{},"174":{},"176":{},"177":{},"178":{},"179":{},"187":{},"191":{},"192":{},"195":{},"196":{},"198":{},"201":{},"204":{},"206":{},"208":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"218":{},"219":{},"224":{},"232":{},"235":{},"241":{},"244":{},"245":{},"262":{},"274":{},"276":{},"277":{},"279":{},"281":{},"283":{},"284":{},"285":{},"290":{}},"component":{}}],["containermanagedentitymanagerprovid",{"_index":2540,"title":{},"name":{},"text":{"46":{}},"component":{}}],["containerport",{"_index":604,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["containingclassname.methodname(argumentclass1",{"_index":3112,"title":{},"name":{},"text":{"59":{}},"component":{}}],["content",{"_index":1001,"title":{},"name":{},"text":{"8":{},"13":{},"23":{},"26":{},"31":{},"38":{},"60":{},"69":{},"145":{},"148":{},"194":{},"202":{},"203":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"232":{},"245":{},"257":{},"261":{},"271":{},"274":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["contenttypeconvert",{"_index":1562,"title":{"31-14":{}},"name":{},"text":{"31":{},"66":{}},"component":{}}],["context",{"_index":165,"title":{"147":{},"209":{},"32-2":{},"140-28":{},"145-22":{},"147-3":{},"147-4":{},"147-6":{},"147-8":{},"151-6":{},"151-7":{},"178-10":{},"180-2":{},"206-15":{}},"name":{"147":{},"209":{}},"text":{"2":{},"3":{},"6":{},"15":{},"20":{},"23":{},"24":{},"30":{},"32":{},"36":{},"38":{},"39":{},"41":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"54":{},"66":{},"67":{},"69":{},"76":{},"77":{},"80":{},"88":{},"115":{},"121":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"162":{},"166":{},"168":{},"169":{},"170":{},"177":{},"178":{},"179":{},"180":{},"182":{},"185":{},"187":{},"191":{},"192":{},"204":{},"206":{},"208":{},"209":{},"215":{},"216":{},"217":{},"219":{},"226":{},"235":{},"239":{},"249":{},"250":{},"273":{},"274":{},"286":{},"288":{}},"component":{}}],["context.tenantid().startswith(\"ten",{"_index":5703,"title":{},"name":{},"text":{"115":{}},"component":{}}],["context/appl",{"_index":6573,"title":{},"name":{},"text":{"168":{}},"component":{}}],["context_admin",{"_index":6589,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["context_adminv",{"_index":6723,"title":{},"name":{},"text":{"171":{}},"component":{}}],["contextadminservic",{"_index":6975,"title":{},"name":{},"text":{"180":{}},"component":{}}],["contextawareeventmultiupcast",{"_index":2461,"title":{},"name":{},"text":{"44":{}},"component":{}}],["contextawaresingleeventupcast",{"_index":2458,"title":{},"name":{},"text":{"44":{}},"component":{}}],["contextnam",{"_index":6207,"title":{},"name":{},"text":{"144":{},"192":{}},"component":{}}],["contextoverview",{"_index":6977,"title":{},"name":{},"text":{"180":{}},"component":{}}],["contexts_",{"_index":6322,"title":{},"name":{},"text":{"147":{}},"component":{}}],["contextu",{"_index":2297,"title":{},"name":{},"text":{"39":{}},"component":{}}],["contextupd",{"_index":6983,"title":{},"name":{},"text":{"180":{}},"component":{}}],["continu",{"_index":954,"title":{},"name":{},"text":{"6":{},"15":{},"16":{},"34":{},"51":{},"62":{},"63":{},"69":{},"83":{},"86":{},"87":{},"102":{},"145":{},"154":{},"172":{},"202":{},"203":{},"237":{},"244":{},"247":{},"272":{},"276":{},"277":{}},"component":{}}],["contrari",{"_index":4450,"title":{},"name":{},"text":{"69":{}},"component":{}}],["contrast",{"_index":2097,"title":{},"name":{},"text":{"38":{},"144":{},"151":{},"169":{}},"component":{}}],["contribut",{"_index":3815,"title":{},"name":{},"text":{"66":{}},"component":{}}],["contributetypes(typecontribut",{"_index":4852,"title":{},"name":{},"text":{"79":{}},"component":{}}],["contributor",{"_index":3271,"title":{"66-5":{},"66-11":{},"66-16":{},"66-21":{},"66-26":{},"67-5":{},"67-10":{},"67-14":{},"67-19":{},"67-22":{},"67-27":{},"67-32":{},"67-36":{},"67-40":{},"67-45":{},"67-48":{},"67-52":{},"67-56":{},"67-61":{},"67-64":{},"67-69":{},"67-72":{},"67-75":{},"67-78":{},"67-81":{},"67-85":{},"67-90":{},"119-5":{},"126-5":{}},"name":{},"text":{"66":{},"67":{},"119":{},"126":{}},"component":{}}],["control",{"_index":94,"title":{"152":{},"163":{},"166":{},"167":{},"169":{},"173":{},"174":{},"204":{},"142-1":{},"145-21":{},"151-12":{},"178-3":{},"192-11":{},"211-7":{},"281-8":{},"281-9":{}},"name":{"152":{},"163":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"204":{}},"text":{"2":{},"3":{},"4":{},"24":{},"48":{},"51":{},"53":{},"57":{},"63":{},"66":{},"77":{},"87":{},"88":{},"102":{},"121":{},"140":{},"141":{},"142":{},"145":{},"147":{},"149":{},"150":{},"151":{},"153":{},"155":{},"156":{},"157":{},"163":{},"164":{},"166":{},"167":{},"169":{},"170":{},"172":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"185":{},"191":{},"192":{},"204":{},"206":{},"226":{},"227":{},"236":{},"254":{},"260":{},"270":{},"280":{},"281":{},"283":{}},"component":{}}],["control.initi",{"_index":6897,"title":{},"name":{},"text":{"179":{}},"component":{}}],["control.new",{"_index":6899,"title":{},"name":{},"text":{"179":{}},"component":{}}],["control.nr",{"_index":6898,"title":{},"name":{},"text":{"179":{}},"component":{}}],["control/token",{"_index":6525,"title":{},"name":{},"text":{"161":{}},"component":{}}],["controldb",{"_index":269,"title":{},"name":{},"text":{"3":{},"4":{},"142":{},"162":{},"179":{},"191":{},"192":{}},"component":{}}],["controldb;defrag_always=tru",{"_index":706,"title":{},"name":{},"text":{"4":{}},"component":{}}],["conveni",{"_index":1888,"title":{},"name":{},"text":{"34":{},"38":{},"39":{},"40":{},"61":{},"63":{},"72":{},"79":{},"88":{},"151":{},"274":{},"278":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["convent",{"_index":1578,"title":{},"name":{},"text":{"31":{},"32":{},"46":{},"280":{}},"component":{}}],["convers",{"_index":1701,"title":{},"name":{},"text":{"31":{},"235":{}},"component":{}}],["convert",{"_index":1610,"title":{},"name":{},"text":{"31":{},"44":{},"63":{},"77":{},"79":{},"101":{},"104":{},"192":{},"195":{}},"component":{}}],["converter’",{"_index":5593,"title":{},"name":{},"text":{"102":{}},"component":{}}],["cooki",{"_index":652,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["cool",{"_index":2204,"title":{},"name":{},"text":{"38":{},"151":{}},"component":{}}],["coolingdownperiod",{"_index":2203,"title":{},"name":{},"text":{"38":{}},"component":{}}],["cooper",{"_index":7535,"title":{},"name":{},"text":{"221":{}},"component":{}}],["coordin",{"_index":1484,"title":{},"name":{},"text":{"30":{},"53":{},"67":{},"76":{},"88":{},"156":{},"157":{},"165":{}},"component":{}}],["coordinatorexecutorbuild",{"_index":5266,"title":{},"name":{},"text":{"88":{}},"component":{}}],["cope",{"_index":2425,"title":{},"name":{},"text":{"44":{},"86":{},"151":{}},"component":{}}],["copi",{"_index":271,"title":{},"name":{},"text":{"3":{},"26":{},"30":{},"44":{},"50":{},"115":{},"140":{},"141":{},"142":{},"151":{},"154":{},"156":{},"157":{},"162":{},"177":{},"191":{},"276":{},"280":{}},"component":{}}],["copyright",{"_index":4041,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cor",{"_index":6832,"title":{},"name":{},"text":{"179":{},"206":{}},"component":{}}],["core",{"_index":6,"title":{"9-1":{},"278-3":{},"279-6":{}},"name":{},"text":{"1":{},"36":{},"38":{},"49":{},"63":{},"67":{},"82":{},"142":{},"167":{},"170":{},"172":{},"261":{},"278":{},"279":{},"280":{},"281":{}},"component":{}}],["corner",{"_index":7633,"title":{},"name":{},"text":{"262":{},"274":{}},"component":{}}],["correct",{"_index":665,"title":{},"name":{},"text":{"3":{},"16":{},"35":{},"40":{},"42":{},"46":{},"47":{},"51":{},"67":{},"76":{},"77":{},"79":{},"81":{},"84":{},"85":{},"88":{},"97":{},"111":{},"141":{},"144":{},"191":{},"204":{},"221":{},"281":{},"284":{}},"component":{}}],["correctli",{"_index":373,"title":{},"name":{},"text":{"3":{},"35":{},"46":{},"57":{},"66":{},"67":{},"72":{},"74":{},"87":{},"99":{},"115":{},"191":{},"201":{},"202":{},"215":{},"273":{},"283":{},"285":{}},"component":{}}],["correl",{"_index":2681,"title":{"50":{},"50-1":{},"50-5":{},"56-1":{},"261-7":{}},"name":{"50":{}},"text":{"50":{},"51":{},"56":{},"59":{},"66":{},"67":{},"87":{},"261":{}},"component":{}}],["correlationdata",{"_index":2705,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationdata.put(\"usernam",{"_index":2709,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationdatafor(messag",{"_index":2704,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationdatainterceptor<>(config.correlationdataprovid",{"_index":2144,"title":{},"name":{},"text":{"38":{}},"component":{}}],["correlationdataprovid",{"_index":2687,"title":{},"name":{},"text":{"50":{},"56":{},"66":{},"67":{}},"component":{}}],["correlationdataproviderconfigur",{"_index":2713,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationid",{"_index":2688,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationprovid",{"_index":5707,"title":{},"name":{},"text":{"115":{}},"component":{}}],["correspond",{"_index":1655,"title":{},"name":{},"text":{"31":{},"39":{},"46":{},"59":{},"60":{},"63":{},"69":{},"104":{},"115":{},"143":{},"170":{},"179":{},"244":{},"273":{},"274":{},"276":{},"279":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["corrupt",{"_index":2193,"title":{},"name":{},"text":{"38":{},"46":{},"67":{},"94":{}},"component":{}}],["cost",{"_index":720,"title":{"5-1":{}},"name":{},"text":{"6":{},"15":{},"31":{},"132":{},"140":{},"151":{},"250":{}},"component":{}}],["costli",{"_index":5359,"title":{},"name":{},"text":{"88":{}},"component":{}}],["couldn’t",{"_index":3758,"title":{},"name":{},"text":{"66":{}},"component":{}}],["count",{"_index":812,"title":{"76-1":{},"165-1":{}},"name":{},"text":{"5":{},"29":{},"30":{},"57":{},"77":{},"79":{},"88":{},"99":{},"151":{},"163":{},"179":{},"193":{},"196":{},"197":{},"198":{},"261":{},"262":{}},"component":{}}],["count(//customerid",{"_index":7198,"title":{},"name":{},"text":{"195":{}},"component":{}}],["count=16",{"_index":5275,"title":{},"name":{},"text":{"88":{}},"component":{}}],["count=32",{"_index":5276,"title":{},"name":{},"text":{"88":{}},"component":{}}],["count=4",{"_index":5262,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["count=8",{"_index":6090,"title":{},"name":{},"text":{"141":{}},"component":{}}],["countbikestatusesbybiketype(str",{"_index":7882,"title":{},"name":{},"text":{"280":{}},"component":{}}],["countcardsummariesqueri",{"_index":5650,"title":{},"name":{},"text":{"108":{}},"component":{}}],["countcardsummariesquery(v",{"_index":5652,"title":{},"name":{},"text":{"108":{}},"component":{}}],["countchangedupd",{"_index":5661,"title":{},"name":{},"text":{"108":{}},"component":{}}],["counter",{"_index":2954,"title":{},"name":{},"text":{"57":{},"58":{},"138":{}},"component":{}}],["counterpart",{"_index":2566,"title":{},"name":{},"text":{"46":{},"72":{}},"component":{}}],["countri",{"_index":4815,"title":{},"name":{},"text":{"79":{},"150":{}},"component":{}}],["coupl",{"_index":936,"title":{},"name":{},"text":{"6":{},"34":{},"35":{},"38":{},"42":{},"50":{},"58":{},"61":{},"67":{},"82":{},"86":{},"87":{},"88":{},"121":{},"127":{},"154":{},"238":{},"264":{},"280":{},"281":{}},"component":{}}],["cours",{"_index":1436,"title":{},"name":{},"text":{"29":{},"38":{},"40":{},"53":{},"77":{},"87":{},"88":{},"150":{},"286":{}},"component":{}}],["couto",{"_index":4218,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cover",{"_index":1015,"title":{"221-2":{}},"name":{},"text":{"8":{},"13":{},"28":{},"37":{},"38":{},"41":{},"45":{},"63":{},"67":{},"70":{},"73":{},"76":{},"82":{},"87":{},"88":{},"89":{},"155":{},"159":{},"199":{},"249":{},"280":{}},"component":{}}],["coverag",{"_index":3624,"title":{},"name":{},"text":{"66":{}},"component":{}}],["cptcheesebeard",{"_index":3960,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cpu",{"_index":2138,"title":{},"name":{},"text":{"38":{},"94":{},"199":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["cqr",{"_index":1394,"title":{},"name":{},"text":{"28":{},"36":{},"72":{},"82":{}},"component":{}}],["craft",{"_index":7547,"title":{},"name":{},"text":{"227":{},"236":{}},"component":{}}],["crash",{"_index":3991,"title":{},"name":{},"text":{"67":{},"221":{}},"component":{}}],["creat",{"_index":197,"title":{"279":{},"280":{},"281":{},"3-12":{},"5-2":{},"38-6":{},"77-2":{},"80-1":{},"147-8":{},"174-1":{},"191-5":{},"202-4":{},"202-8":{},"202-12":{},"276-1":{},"279-2":{},"279-4":{},"279-5":{},"279-6":{},"280-1":{},"280-2":{},"280-3":{},"280-9":{},"281-5":{},"281-9":{},"285-2":{}},"name":{"279":{},"280":{},"281":{},"283":{}},"text":{"3":{},"5":{},"6":{},"14":{},"15":{},"19":{},"23":{},"24":{},"26":{},"27":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"53":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"97":{},"99":{},"102":{},"104":{},"111":{},"114":{},"115":{},"124":{},"130":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"154":{},"161":{},"168":{},"169":{},"172":{},"173":{},"174":{},"177":{},"178":{},"179":{},"180":{},"191":{},"192":{},"194":{},"199":{},"200":{},"202":{},"203":{},"208":{},"215":{},"217":{},"226":{},"228":{},"234":{},"237":{},"239":{},"242":{},"244":{},"247":{},"260":{},"262":{},"263":{},"264":{},"265":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}},"component":{}}],["create(configur",{"_index":5106,"title":{},"name":{},"text":{"87":{}},"component":{}}],["create/remov",{"_index":7608,"title":{},"name":{},"text":{"255":{}},"component":{}}],["create/return",{"_index":5130,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["create/upd",{"_index":6998,"title":{},"name":{},"text":{"180":{}},"component":{}}],["create_app",{"_index":6712,"title":{},"name":{},"text":{"171":{}},"component":{}}],["create_context",{"_index":6713,"title":{},"name":{},"text":{"171":{}},"component":{}}],["create_controldb_backup",{"_index":6714,"title":{},"name":{},"text":{"171":{}},"component":{}}],["create_if_miss",{"_index":1991,"title":{},"name":{},"text":{"35":{}},"component":{}}],["create_replication_group",{"_index":6715,"title":{},"name":{},"text":{"171":{}},"component":{}}],["createbikecommand",{"_index":7952,"title":{},"name":{},"text":{"281":{}},"component":{}}],["createcontext(createcontextrequest",{"_index":6979,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createheadtoken",{"_index":5171,"title":{},"name":{},"text":{"88":{}},"component":{}}],["createinvoicecommand",{"_index":2336,"title":{},"name":{},"text":{"40":{},"68":{}},"component":{}}],["createinvoiceid",{"_index":4440,"title":{},"name":{},"text":{"68":{}},"component":{}}],["createnew",{"_index":4875,"title":{},"name":{},"text":{"80":{}},"component":{}}],["createnew(class",{"_index":4916,"title":{},"name":{},"text":{"82":{}},"component":{}}],["createorrechargecardcommand",{"_index":1988,"title":{},"name":{},"text":{"35":{}},"component":{}}],["createorupdateapplication(applicationrequest",{"_index":6999,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createorupdateuser(createorupdateuserrequest",{"_index":7006,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createreplicationgroup(createreplicationgrouprequest",{"_index":6990,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createrepository(aggregatefactori",{"_index":2171,"title":{},"name":{},"text":{"38":{}},"component":{}}],["createschema",{"_index":2577,"title":{},"name":{},"text":{"46":{}},"component":{}}],["createshipmentid",{"_index":4438,"title":{},"name":{},"text":{"68":{}},"component":{}}],["createtailtoken",{"_index":5172,"title":{},"name":{},"text":{"88":{}},"component":{}}],["createtokenat(inst",{"_index":5173,"title":{},"name":{},"text":{"88":{}},"component":{}}],["createtokensince(dur",{"_index":5174,"title":{},"name":{},"text":{"88":{}},"component":{}}],["creation",{"_index":934,"title":{"80":{},"35-4":{},"59-13":{}},"name":{"80":{}},"text":{"6":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"51":{},"59":{},"66":{},"67":{},"69":{},"77":{},"80":{},"81":{},"82":{},"84":{},"87":{},"99":{},"102":{},"114":{},"140":{},"142":{},"143":{},"145":{},"147":{},"172":{},"178":{},"180":{},"192":{},"280":{},"281":{},"282":{}},"component":{}}],["creationpolici",{"_index":1981,"title":{},"name":{},"text":{"35":{},"66":{},"67":{}},"component":{}}],["creationpolicy(aggregatecreationpolicy.alway",{"_index":1985,"title":{},"name":{},"text":{"35":{}},"component":{}}],["creationpolicy(aggregatecreationpolicy.create_if_miss",{"_index":1236,"title":{},"name":{},"text":{"20":{},"35":{}},"component":{}}],["creationpolicy(alway",{"_index":4282,"title":{},"name":{},"text":{"67":{}},"component":{}}],["creationpolicyaggregatefactori",{"_index":3892,"title":{},"name":{},"text":{"67":{}},"component":{}}],["credenti",{"_index":6556,"title":{"166-1":{},"276-3":{}},"name":{},"text":{"166":{},"233":{},"276":{},"277":{}},"component":{}}],["credit",{"_index":726,"title":{"5-6":{}},"name":{},"text":{"5":{},"40":{},"67":{},"249":{},"250":{},"254":{}},"component":{}}],["criteria",{"_index":3140,"title":{},"name":{},"text":{"63":{},"87":{},"151":{},"280":{}},"component":{}}],["critic",{"_index":6048,"title":{},"name":{},"text":{"140":{},"244":{},"262":{}},"component":{}}],["cross",{"_index":2137,"title":{},"name":{},"text":{"38":{},"46":{},"206":{}},"component":{}}],["crucial",{"_index":2184,"title":{},"name":{},"text":{"38":{},"88":{},"234":{},"246":{},"260":{}},"component":{}}],["crud",{"_index":5162,"title":{},"name":{},"text":{"88":{}},"component":{}}],["cs.foreach(system.out::println",{"_index":3187,"title":{},"name":{},"text":{"63":{}},"component":{}}],["ctx.get(\"secur",{"_index":5881,"title":{},"name":{},"text":{"121":{}},"component":{}}],["ctx.haskey(\"secur",{"_index":5879,"title":{},"name":{},"text":{"121":{}},"component":{}}],["cumbersom",{"_index":2673,"title":{},"name":{},"text":{"49":{}},"component":{}}],["curiou",{"_index":4277,"title":{},"name":{},"text":{"67":{},"145":{}},"component":{}}],["curl",{"_index":6555,"title":{},"name":{},"text":{"165":{},"166":{},"169":{},"173":{},"280":{},"283":{}},"component":{}}],["current",{"_index":286,"title":{},"name":{},"text":{"3":{},"15":{},"18":{},"30":{},"31":{},"33":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"60":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"86":{},"88":{},"89":{},"107":{},"115":{},"117":{},"118":{},"127":{},"141":{},"142":{},"143":{},"145":{},"151":{},"154":{},"161":{},"170":{},"172":{},"177":{},"179":{},"185":{},"186":{},"187":{},"191":{},"192":{},"211":{},"226":{},"228":{},"244":{},"245":{},"246":{},"247":{},"250":{},"254":{},"260":{},"261":{},"262":{},"274":{},"280":{},"281":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["currentunitofwork.get",{"_index":2846,"title":{},"name":{},"text":{"53":{}},"component":{}}],["currentunitofwork.isstart",{"_index":2847,"title":{},"name":{},"text":{"53":{}},"component":{}}],["currentunitofwork.set(unitofwork",{"_index":2877,"title":{},"name":{},"text":{"53":{}},"component":{}}],["custom",{"_index":143,"title":{"25":{},"101":{},"38-6":{},"50-5":{},"115-4":{},"151-4":{},"274-40":{}},"name":{},"text":{"2":{},"10":{},"12":{},"24":{},"25":{},"27":{},"30":{},"31":{},"33":{},"35":{},"36":{},"38":{},"39":{},"46":{},"49":{},"50":{},"52":{},"54":{},"57":{},"59":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"101":{},"115":{},"126":{},"128":{},"132":{},"140":{},"144":{},"145":{},"146":{},"151":{},"156":{},"172":{},"184":{},"191":{},"192":{},"208":{},"217":{},"273":{},"274":{},"277":{}},"component":{"24":{},"25":{},"26":{}}}],["customcommandgateway(commandbu",{"_index":2127,"title":{},"name":{},"text":{"38":{}},"component":{}}],["customcorrelationdataprovid",{"_index":2694,"title":{},"name":{},"text":{"50":{}},"component":{}}],["customenqueuepolici",{"_index":1031,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["customerid",{"_index":1652,"title":{},"name":{},"text":{"31":{},"195":{}},"component":{}}],["customiz",{"_index":2583,"title":{},"name":{},"text":{"46":{},"66":{},"84":{},"128":{}},"component":{}}],["customroutingannot",{"_index":2242,"title":{},"name":{},"text":{"38":{}},"component":{}}],["customroutingproperti",{"_index":4942,"title":{},"name":{},"text":{"84":{}},"component":{}}],["customsourc",{"_index":5767,"title":{},"name":{},"text":{"115":{}},"component":{}}],["customspanattributesprovid",{"_index":3037,"title":{},"name":{},"text":{"59":{}},"component":{}}],["customtargettenantresolv",{"_index":5713,"title":{},"name":{},"text":{"115":{}},"component":{}}],["cve",{"_index":4230,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cve’",{"_index":4264,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cycl",{"_index":796,"title":{"69-1":{},"254-3":{}},"name":{},"text":{"5":{},"6":{},"35":{},"38":{},"66":{},"69":{},"71":{},"82":{},"88":{},"106":{},"254":{}},"component":{}}],["d",{"_index":362,"title":{},"name":{},"text":{"3":{},"147":{},"168":{},"170":{},"172":{},"178":{},"179":{},"191":{},"283":{}},"component":{}}],["d29775ea",{"_index":7935,"title":{},"name":{},"text":{"280":{}},"component":{}}],["d2d1",{"_index":7273,"title":{},"name":{},"text":{"202":{}},"component":{}}],["dactiverecipes=org.axonframework.migration.upgradeaxonframework_4_7_javax",{"_index":1845,"title":{},"name":{},"text":{"33":{}},"component":{}}],["dactiverecipes=org.openrewrite.java.spring.boot3.upgradespringboot_3_0,org.axonframework.migration.upgradeaxonframework_4_7_jakarta",{"_index":1848,"title":{},"name":{},"text":{"33":{}},"component":{}}],["dakr0013",{"_index":4221,"title":{},"name":{},"text":{"67":{}},"component":{}}],["damir",{"_index":4357,"title":{},"name":{},"text":{"67":{}},"component":{}}],["darchetypeartifactid=pom",{"_index":7804,"title":{},"name":{},"text":{"279":{}},"component":{}}],["darchetypegroupid=org.codehaus.mojo.archetyp",{"_index":7803,"title":{},"name":{},"text":{"279":{}},"component":{}}],["darchetypeversion=releas",{"_index":7805,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dark/light",{"_index":6017,"title":{},"name":{},"text":{"140":{}},"component":{}}],["dartifactid=bik",{"_index":7807,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dartifactid=cor",{"_index":7822,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dartifactid=rent",{"_index":7820,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dasboard",{"_index":7565,"title":{},"name":{},"text":{"235":{}},"component":{}}],["dashboard",{"_index":2358,"title":{"238":{},"241":{},"241-2":{}},"name":{"241":{}},"text":{"40":{},"88":{},"140":{},"174":{},"178":{},"179":{},"199":{},"201":{},"203":{},"232":{},"237":{},"238":{},"241":{},"244":{},"263":{},"264":{},"265":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"276":{},"277":{},"283":{},"284":{}},"component":{}}],["dashboard’",{"_index":5290,"title":{},"name":{},"text":{"88":{}},"component":{}}],["data",{"_index":299,"title":{"248":{},"5-13":{},"5-15":{},"47-1":{},"47-2":{},"50-1":{},"50-5":{},"56-1":{},"151-12":{},"206-24":{},"247-2":{}},"name":{"248":{}},"text":{"3":{},"5":{},"6":{},"24":{},"29":{},"31":{},"32":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"56":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"83":{},"87":{},"88":{},"94":{},"108":{},"114":{},"115":{},"117":{},"120":{},"140":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"161":{},"162":{},"163":{},"169":{},"174":{},"178":{},"179":{},"185":{},"191":{},"192":{},"194":{},"195":{},"197":{},"199":{},"202":{},"206":{},"216":{},"226":{},"239":{},"243":{},"260":{},"261":{},"276":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["data/axonserver.log",{"_index":308,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data/plugins/bundl",{"_index":302,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data/plugins/cach",{"_index":305,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data1",{"_index":459,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data1:/axonserver/data",{"_index":436,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data2",{"_index":471,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data2:/axonserver/data",{"_index":447,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data3",{"_index":477,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data3:/axonserver/data",{"_index":453,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["databas",{"_index":116,"title":{"79":{},"152":{},"4-2":{},"140-7":{},"142-1":{}},"name":{"152":{}},"text":{"2":{},"4":{},"15":{},"19":{},"29":{},"30":{},"32":{},"36":{},"40":{},"46":{},"49":{},"53":{},"63":{},"64":{},"67":{},"68":{},"69":{},"71":{},"78":{},"79":{},"86":{},"88":{},"114":{},"115":{},"117":{},"140":{},"142":{},"147":{},"149":{},"153":{},"155":{},"161":{},"179":{},"185":{},"192":{},"226":{},"260":{},"280":{}},"component":{}}],["database/servic",{"_index":2795,"title":{},"name":{},"text":{"51":{}},"component":{}}],["datadog",{"_index":5987,"title":{},"name":{},"text":{"133":{}},"component":{}}],["datafil",{"_index":6169,"title":{},"name":{},"text":{"143":{}},"component":{}}],["datainputstream",{"_index":1659,"title":{},"name":{},"text":{"31":{}},"component":{}}],["dataoutputstream",{"_index":1660,"title":{},"name":{},"text":{"31":{}},"component":{}}],["datasourc",{"_index":682,"title":{"4-1":{}},"name":{},"text":{"46":{},"69":{},"71":{},"88":{},"115":{},"147":{}},"component":{}}],["datasource(datasourc",{"_index":4517,"title":{},"name":{},"text":{"69":{}},"component":{}}],["datasourceproperti",{"_index":5717,"title":{},"name":{},"text":{"115":{}},"component":{}}],["date",{"_index":3153,"title":{},"name":{},"text":{"63":{},"74":{},"77":{},"88":{},"140":{},"151":{},"156":{},"157":{},"195":{},"215":{},"274":{},"280":{},"281":{}},"component":{}}],["datetim",{"_index":7464,"title":{},"name":{},"text":{"212":{},"215":{},"217":{}},"component":{}}],["daunt",{"_index":7987,"title":{},"name":{},"text":{"282":{}},"component":{}}],["day",{"_index":1202,"title":{},"name":{},"text":{"18":{},"22":{},"40":{},"69":{},"74":{},"77":{},"115":{},"198":{},"250":{},"254":{}},"component":{}}],["day(timestamp",{"_index":7193,"title":{},"name":{},"text":{"195":{}},"component":{}}],["daylight",{"_index":4816,"title":{},"name":{},"text":{"79":{}},"component":{}}],["db",{"_index":688,"title":{"40-4":{}},"name":{},"text":{"4":{},"39":{},"40":{},"66":{},"140":{},"141":{},"142":{},"160":{},"179":{},"185":{},"280":{}},"component":{}}],["dbschedul",{"_index":2295,"title":{},"name":{},"text":{"39":{},"66":{}},"component":{}}],["dbschedulerdeadlinemanag",{"_index":1211,"title":{},"name":{},"text":{"19":{},"39":{},"67":{}},"component":{}}],["dbschedulerdeadlinemanager.build",{"_index":2327,"title":{},"name":{},"text":{"39":{}},"component":{}}],["dbschedulereventschedul",{"_index":2362,"title":{},"name":{},"text":{"40":{}},"component":{}}],["dbschedulereventseri",{"_index":2343,"title":{},"name":{},"text":{"40":{}},"component":{}}],["dd't'hh:mm:ss.sssx",{"_index":7018,"title":{},"name":{},"text":{"184":{}},"component":{}}],["ddd",{"_index":7151,"title":{},"name":{},"text":{"192":{},"281":{}},"component":{}}],["de",{"_index":1605,"title":{},"name":{},"text":{"31":{},"66":{},"67":{},"101":{},"120":{},"290":{}},"component":{}}],["de)seri",{"_index":1586,"title":{},"name":{},"text":{"31":{},"67":{},"104":{}},"component":{}}],["deactiv",{"_index":6240,"title":{"145-27":{}},"name":{},"text":{"145":{}},"component":{}}],["dead",{"_index":848,"title":{"15":{},"16":{},"17":{},"86":{},"110":{},"257":{},"15-1":{},"15-2":{},"87-7":{},"111-4":{},"115-8":{}},"name":{"86":{}},"text":{"5":{},"7":{},"14":{},"15":{},"16":{},"17":{},"52":{},"66":{},"67":{},"79":{},"86":{},"87":{},"110":{},"111":{},"115":{},"249":{},"250":{},"255":{},"257":{},"259":{},"276":{}},"component":{"14":{},"15":{},"16":{},"17":{}}}],["dead_letter_entri",{"_index":4839,"title":{},"name":{},"text":{"79":{},"86":{}},"component":{}}],["deadlett",{"_index":2838,"title":{},"name":{},"text":{"52":{},"66":{},"67":{},"86":{},"111":{}},"component":{}}],["deadletter.message().getidentifier().equals(firstletterid",{"_index":5036,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadletter.message().getpayload",{"_index":5017,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadletterprocessor",{"_index":5012,"title":{},"name":{},"text":{"86":{},"115":{}},"component":{}}],["deadletterprovid",{"_index":1073,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deadletterqueu",{"_index":4090,"title":{},"name":{},"text":{"67":{}},"component":{}}],["deadletterqueueconfigurermodul",{"_index":4992,"title":{},"name":{},"text":{"86":{},"110":{}},"component":{}}],["deadletterqueueoverflowexcept",{"_index":4995,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadletterqueueprovid",{"_index":1081,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deadletterqueueproviderconfigurermodul",{"_index":1087,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deadlettersequ",{"_index":5025,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadlin",{"_index":786,"title":{"20":{},"21":{},"22":{},"39":{},"41":{},"39-1":{},"39-2":{},"40-1":{},"59-33":{},"72-9":{},"115-9":{}},"name":{"39":{}},"text":{"5":{},"10":{},"12":{},"18":{},"19":{},"20":{},"21":{},"22":{},"31":{},"39":{},"40":{},"41":{},"52":{},"59":{},"66":{},"67":{},"72":{},"97":{},"115":{},"118":{}},"component":{"18":{},"19":{},"20":{},"21":{},"22":{}}}],["deadlinecancelingcompon",{"_index":2286,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinehandl",{"_index":2304,"title":{},"name":{},"text":{"39":{},"66":{}},"component":{}}],["deadlinehandler(deadlinenam",{"_index":1245,"title":{},"name":{},"text":{"20":{},"39":{}},"component":{}}],["deadlinehandler`when",{"_index":2271,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlineid",{"_index":2279,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinejob.execute(${deadlinename},${deadlinepayloadclass",{"_index":3082,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanag",{"_index":1188,"title":{},"name":{},"text":{"18":{},"19":{},"20":{},"21":{},"39":{},"52":{},"66":{},"67":{},"97":{}},"component":{}}],["deadlinemanager.cancelallwithinscope(expired_gift_card",{"_index":1192,"title":{},"name":{},"text":{"18":{}},"component":{}}],["deadlinemanager.cancelschedule(\"mydeadlin",{"_index":2288,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinemanager.schedul",{"_index":2300,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinemanager.schedule(duration.ofmillis(500",{"_index":2280,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinemanager.schedule(trigg",{"_index":1244,"title":{},"name":{},"text":{"20":{}},"component":{}}],["deadlinemanagerclass}.cancelall(${deadlinenam",{"_index":3080,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanagerclass}.cancelallwithinscope(${deadlinenam",{"_index":3081,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanagerclass}.cancelschedule(${deadlinenam",{"_index":3078,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanagerclass}.schedule(${deadlinenam",{"_index":3077,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemessag",{"_index":4562,"title":{},"name":{},"text":{"72":{}},"component":{}}],["deadlinenam",{"_index":2290,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinepayload",{"_index":2309,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlineschedulingcompon",{"_index":2277,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlineschedulingwithpayloadcompon",{"_index":2298,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadline’",{"_index":2310,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlock",{"_index":5203,"title":{},"name":{},"text":{"88":{}},"component":{}}],["deal",{"_index":1321,"title":{},"name":{},"text":{"24":{},"29":{},"31":{},"33":{},"38":{},"40":{},"41":{},"48":{},"51":{},"66":{},"67":{},"69":{},"77":{},"86":{},"87":{},"88":{},"89":{},"94":{},"174":{},"279":{},"281":{}},"component":{}}],["dealt",{"_index":4693,"title":{},"name":{},"text":{"75":{}},"component":{}}],["debug",{"_index":1571,"title":{},"name":{},"text":{"31":{},"46":{},"59":{},"264":{},"274":{}},"component":{}}],["decent",{"_index":2615,"title":{},"name":{},"text":{"46":{}},"component":{}}],["decid",{"_index":138,"title":{"19":{}},"name":{"19":{}},"text":{"2":{},"5":{},"29":{},"35":{},"38":{},"51":{},"63":{},"72":{},"80":{},"83":{},"85":{},"86":{},"87":{},"88":{},"127":{},"145":{},"206":{},"226":{}},"component":{}}],["decide(deadlett",{"_index":1033,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["decis",{"_index":1967,"title":{},"name":{},"text":{"35":{},"42":{},"49":{},"51":{},"66":{},"67":{},"77":{},"80":{},"82":{},"84":{},"86":{},"211":{},"286":{}},"component":{}}],["decisions.donotenqueu",{"_index":1039,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["decisions.enqueue(caus",{"_index":1044,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["decisions.evict",{"_index":1043,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["deciss",{"_index":4981,"title":{},"name":{},"text":{"85":{}},"component":{}}],["declar",{"_index":249,"title":{"278-2":{}},"name":{},"text":{"3":{},"32":{},"35":{},"36":{},"38":{},"43":{},"46":{},"51":{},"52":{},"53":{},"61":{},"62":{},"64":{},"67":{},"77":{},"84":{},"85":{},"90":{},"145":{},"191":{},"270":{},"278":{},"279":{},"280":{}},"component":{}}],["decompos",{"_index":5980,"title":{},"name":{},"text":{"133":{}},"component":{}}],["decor",{"_index":5920,"title":{},"name":{},"text":{"127":{},"128":{},"283":{}},"component":{}}],["decoupl",{"_index":879,"title":{},"name":{},"text":{"6":{},"48":{},"88":{},"89":{},"279":{},"281":{}},"component":{}}],["decreas",{"_index":4701,"title":{"76-1":{},"165-1":{}},"name":{},"text":{"76":{},"87":{},"88":{},"125":{},"165":{},"179":{},"260":{}},"component":{}}],["dedic",{"_index":105,"title":{"202-4":{},"202-8":{},"202-12":{}},"name":{},"text":{"2":{},"3":{},"29":{},"33":{},"44":{},"48":{},"66":{},"67":{},"69":{},"77":{},"79":{},"87":{},"88":{},"100":{},"102":{},"105":{},"120":{},"140":{},"141":{},"145":{},"191":{},"271":{},"274":{},"280":{},"285":{}},"component":{}}],["deduc",{"_index":4271,"title":{},"name":{},"text":{"67":{},"88":{},"99":{},"108":{}},"component":{}}],["deduct",{"_index":7322,"title":{},"name":{},"text":{"203":{}},"component":{}}],["deep",{"_index":2680,"title":{},"name":{},"text":{"49":{},"67":{},"147":{},"249":{}},"component":{}}],["deepequalsmatch",{"_index":4214,"title":{},"name":{},"text":{"67":{}},"component":{}}],["deeper",{"_index":6477,"title":{},"name":{},"text":{"153":{},"246":{}},"component":{}}],["default",{"_index":283,"title":{"79-3":{},"115-12":{},"151-3":{}},"name":{},"text":{"3":{},"5":{},"14":{},"15":{},"16":{},"17":{},"23":{},"25":{},"27":{},"29":{},"31":{},"32":{},"33":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"79":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"94":{},"96":{},"99":{},"100":{},"101":{},"102":{},"104":{},"111":{},"114":{},"115":{},"116":{},"121":{},"127":{},"128":{},"129":{},"130":{},"132":{},"140":{},"141":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"161":{},"162":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"174":{},"177":{},"178":{},"179":{},"185":{},"186":{},"188":{},"189":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"208":{},"215":{},"216":{},"217":{},"219":{},"226":{},"239":{},"242":{},"244":{},"257":{},"260":{},"262":{},"273":{},"274":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["default=tru",{"_index":5966,"title":{},"name":{},"text":{"132":{}},"component":{}}],["defaultcommandgateway",{"_index":2084,"title":{},"name":{},"text":{"38":{},"66":{}},"component":{}}],["defaultconfigur",{"_index":2252,"title":{},"name":{},"text":{"38":{},"50":{},"66":{},"67":{},"147":{}},"component":{}}],["defaultconfigurer.defaultconfigur",{"_index":2006,"title":{},"name":{},"text":{"36":{},"38":{},"46":{},"57":{},"60":{},"61":{},"71":{},"76":{},"77":{},"150":{}},"component":{}}],["defaultconfigurer.defaultconfiguration().registercompon",{"_index":4698,"title":{},"name":{},"text":{"75":{}},"component":{}}],["defaultconfigurer.jpaconfiguration(entitymanagerprovid",{"_index":2558,"title":{},"name":{},"text":{"46":{}},"component":{}}],["defaultconsumerfactori",{"_index":5481,"title":{"104-8":{}},"name":{},"text":{"99":{},"104":{}},"component":{}}],["defaultconsumerfactory<>(consumerconfigur",{"_index":5485,"title":{},"name":{},"text":{"99":{}},"component":{}}],["defaultcontext",{"_index":6344,"title":{},"name":{},"text":{"147":{}},"component":{}}],["defaultkafkamessageconvert",{"_index":5516,"title":{"104-2":{}},"name":{},"text":{"99":{},"101":{},"102":{}},"component":{}}],["defaultkafkamessageconverter.build",{"_index":5549,"title":{},"name":{},"text":{"101":{}},"component":{}}],["defaultmongotempl",{"_index":4493,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["defaultproducerfactori",{"_index":5561,"title":{"104-4":{}},"name":{},"text":{"102":{},"104":{}},"component":{}}],["defaultproducerfactory.build",{"_index":5562,"title":{},"name":{},"text":{"102":{}},"component":{}}],["defaultquerygateway",{"_index":3125,"title":{},"name":{},"text":{"61":{}},"component":{}}],["defaultseri",{"_index":1618,"title":{},"name":{},"text":{"31":{}},"component":{}}],["defaulttenantsourc",{"_index":5768,"title":{},"name":{},"text":{"115":{}},"component":{}}],["defaulttyp",{"_index":1693,"title":{},"name":{},"text":{"31":{}},"component":{}}],["defaultunitofwork",{"_index":2859,"title":{},"name":{},"text":{"53":{}},"component":{}}],["defaultunitofwork.startandget(messag",{"_index":2863,"title":{},"name":{},"text":{"53":{}},"component":{}}],["defens",{"_index":7462,"title":{},"name":{},"text":{"211":{}},"component":{}}],["defer",{"_index":3550,"title":{},"name":{},"text":{"66":{}},"component":{}}],["defin",{"_index":709,"title":{"280-4":{},"281-3":{},"281-6":{},"285-3":{}},"name":{},"text":{"4":{},"27":{},"29":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"51":{},"52":{},"57":{},"58":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"81":{},"83":{},"84":{},"85":{},"87":{},"88":{},"89":{},"94":{},"96":{},"101":{},"102":{},"104":{},"115":{},"121":{},"128":{},"148":{},"149":{},"150":{},"154":{},"156":{},"157":{},"161":{},"169":{},"172":{},"173":{},"177":{},"178":{},"179":{},"180":{},"192":{},"194":{},"199":{},"206":{},"209":{},"216":{},"219":{},"224":{},"237":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"262":{},"270":{},"274":{},"275":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["definit",{"_index":430,"title":{},"name":{},"text":{"3":{},"31":{},"44":{},"46":{},"66":{},"67":{},"77":{},"87":{},"89":{},"147":{},"191":{},"244":{},"279":{},"280":{},"281":{}},"component":{}}],["degrad",{"_index":123,"title":{},"name":{},"text":{"2":{},"151":{}},"component":{}}],["degre",{"_index":5049,"title":{},"name":{},"text":{"87":{},"88":{},"89":{},"270":{}},"component":{}}],["delay",{"_index":6082,"title":{},"name":{},"text":{"141":{},"144":{},"179":{},"265":{},"268":{},"270":{},"271":{},"272":{},"273":{},"277":{}},"component":{}}],["deleg",{"_index":1337,"title":{},"name":{},"text":{"24":{},"38":{},"46":{},"59":{},"69":{},"71":{},"76":{},"88":{},"113":{},"216":{},"219":{}},"component":{}}],["delegate.attribute(\"expectedvalu",{"_index":1344,"title":{},"name":{},"text":{"24":{}},"component":{}}],["delegate.attribute(\"metadatakey",{"_index":1339,"title":{},"name":{},"text":{"24":{}},"component":{}}],["delet",{"_index":855,"title":{"148-8":{}},"name":{},"text":{"5":{},"36":{},"59":{},"82":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"151":{},"156":{},"168":{},"174":{},"178":{},"179":{},"180":{},"215":{},"231":{},"244":{},"249":{},"257":{},"259":{},"262":{},"280":{}},"component":{}}],["delete(identifi",{"_index":2025,"title":{},"name":{},"text":{"36":{}},"component":{}}],["delete/cr",{"_index":6031,"title":{},"name":{},"text":{"140":{}},"component":{}}],["delete_app",{"_index":6716,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_context",{"_index":6717,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_node_from_context",{"_index":6718,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_node_from_replication_group",{"_index":6719,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_plugin",{"_index":6720,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_replication_group",{"_index":6721,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_task",{"_index":6722,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_us",{"_index":6644,"title":{},"name":{},"text":{"171":{}},"component":{}}],["deleteapplication(applicationid",{"_index":7000,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deletecontext(deletecontextrequest",{"_index":6980,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deletereplicationgroup(deletereplicationgrouprequest",{"_index":6991,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deleteuser(deleteuserrequest",{"_index":7007,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deliber",{"_index":7667,"title":{},"name":{},"text":{"269":{},"274":{}},"component":{}}],["delic",{"_index":4479,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["delimit",{"_index":7188,"title":{},"name":{},"text":{"195":{}},"component":{}}],["deliv",{"_index":909,"title":{},"name":{},"text":{"6":{},"36":{},"52":{},"68":{},"88":{},"121":{},"140":{},"221":{},"280":{},"281":{},"284":{}},"component":{}}],["deliveri",{"_index":914,"title":{},"name":{},"text":{"6":{},"30":{},"34":{},"86":{},"87":{},"154":{},"192":{}},"component":{}}],["demand",{"_index":968,"title":{},"name":{},"text":{"6":{},"30":{},"140":{}},"component":{}}],["demarc",{"_index":4769,"title":{},"name":{},"text":{"77":{}},"component":{}}],["demo",{"_index":446,"title":{"277":{},"201-4":{},"203-2":{},"203-3":{},"203-4":{},"203-5":{},"277-2":{},"277-3":{}},"name":{"277":{}},"text":{"3":{},"5":{},"191":{},"201":{},"202":{},"203":{},"237":{},"238":{},"241":{},"247":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"279":{},"282":{}},"component":{"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}}}],["demonstr",{"_index":2065,"title":{},"name":{},"text":{"37":{},"62":{},"202":{},"209":{},"286":{}},"component":{}}],["demystifi",{"_index":1712,"title":{"32-3":{}},"name":{},"text":{},"component":{}}],["denot",{"_index":6826,"title":{},"name":{},"text":{"179":{}},"component":{}}],["depart",{"_index":7571,"title":{},"name":{},"text":{"237":{}},"component":{}}],["depend",{"_index":216,"title":{"67-26":{},"140-5":{},"278-2":{},"279-7":{}},"name":{},"text":{"3":{},"5":{},"6":{},"12":{},"15":{},"17":{},"20":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"48":{},"49":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"86":{},"87":{},"88":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"103":{},"104":{},"112":{},"114":{},"121":{},"122":{},"123":{},"126":{},"128":{},"131":{},"133":{},"134":{},"138":{},"140":{},"141":{},"144":{},"145":{},"147":{},"154":{},"161":{},"172":{},"191":{},"192":{},"194":{},"195":{},"211":{},"232":{},"237":{},"238":{},"244":{},"250":{},"254":{},"260":{},"267":{},"270":{},"274":{},"276":{},"277":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["dependabot",{"_index":3378,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dependabot[bot",{"_index":3458,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dependencymanag",{"_index":1549,"title":{},"name":{},"text":{"30":{},"276":{}},"component":{}}],["depict",{"_index":433,"title":{},"name":{},"text":{"3":{},"35":{},"50":{},"87":{},"143":{},"145":{},"147":{},"157":{},"169":{},"178":{},"191":{},"192":{},"290":{}},"component":{}}],["deplet",{"_index":1182,"title":{},"name":{},"text":{"18":{}},"component":{}}],["deploy",{"_index":200,"title":{"3-13":{},"191-6":{}},"name":{},"text":{"3":{},"5":{},"6":{},"31":{},"66":{},"77":{},"133":{},"137":{},"138":{},"140":{},"142":{},"146":{},"147":{},"154":{},"160":{},"162":{},"175":{},"178":{},"190":{},"191":{},"192":{},"199":{},"234":{},"238":{},"274":{},"279":{},"281":{},"282":{}},"component":{}}],["deprec",{"_index":179,"title":{"186-6":{},"206-2":{}},"name":{},"text":{"2":{},"4":{},"33":{},"59":{},"66":{},"67":{},"77":{},"169":{},"186":{},"206":{},"215":{}},"component":{}}],["depth",{"_index":4407,"title":{},"name":{},"text":{"67":{},"97":{},"260":{}},"component":{}}],["deregist",{"_index":4103,"title":{},"name":{},"text":{"67":{}},"component":{}}],["deriv",{"_index":2979,"title":{},"name":{},"text":{"58":{},"67":{},"81":{},"149":{},"185":{},"280":{}},"component":{}}],["descend",{"_index":3088,"title":{},"name":{},"text":{"59":{}},"component":{}}],["describ",{"_index":918,"title":{},"name":{},"text":{"6":{},"29":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"42":{},"44":{},"47":{},"49":{},"51":{},"56":{},"59":{},"60":{},"64":{},"66":{},"67":{},"72":{},"74":{},"75":{},"79":{},"80":{},"84":{},"86":{},"87":{},"88":{},"94":{},"99":{},"105":{},"106":{},"108":{},"121":{},"129":{},"147":{},"150":{},"153":{},"154":{},"155":{},"172":{},"174":{},"177":{},"178":{},"250":{},"260":{},"263":{},"276":{},"277":{},"279":{},"280":{},"284":{}},"component":{}}],["describeto(descript",{"_index":4603,"title":{},"name":{},"text":{"72":{}},"component":{}}],["descript",{"_index":1018,"title":{},"name":{},"text":{"8":{},"13":{},"33":{},"44":{},"47":{},"49":{},"59":{},"67":{},"72":{},"82":{},"86":{},"129":{},"143":{},"144":{},"145":{},"147":{},"155":{},"160":{},"164":{},"168":{},"169":{},"176":{},"178":{},"179":{},"185":{},"186":{},"188":{},"199":{},"262":{},"280":{}},"component":{}}],["descriptor",{"_index":580,"title":{"284-3":{}},"name":{},"text":{"3":{},"52":{},"191":{},"277":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["deselect",{"_index":7710,"title":{},"name":{},"text":{"274":{}},"component":{}}],["deseri",{"_index":1560,"title":{"31-10":{}},"name":{},"text":{"31":{},"40":{},"66":{},"67":{},"69":{},"101":{},"124":{},"130":{}},"component":{}}],["deserv",{"_index":5379,"title":{},"name":{},"text":{"89":{}},"component":{}}],["design",{"_index":106,"title":{"281-1":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"28":{},"34":{},"35":{},"38":{},"52":{},"68":{},"77":{},"82":{},"86":{},"120":{},"154":{},"191":{},"192":{},"210":{},"227":{},"230":{},"235":{},"236":{},"240":{},"260":{},"264":{},"279":{},"280":{},"281":{},"283":{},"285":{},"287":{}},"component":{}}],["desir",{"_index":1357,"title":{},"name":{},"text":{"25":{},"27":{},"31":{},"34":{},"35":{},"44":{},"46":{},"51":{},"56":{},"64":{},"67":{},"72":{},"75":{},"82":{},"87":{},"88":{},"104":{},"144":{},"145":{},"179":{},"270":{},"274":{},"286":{}},"component":{}}],["desktop",{"_index":239,"title":{},"name":{},"text":{"3":{},"191":{},"277":{},"284":{}},"component":{}}],["despit",{"_index":3019,"title":{},"name":{},"text":{"59":{}},"component":{}}],["destin",{"_index":778,"title":{"274-26":{},"274-38":{}},"name":{},"text":{"5":{},"36":{},"38":{},"49":{},"75":{},"94":{},"221":{},"239":{},"242":{},"274":{}},"component":{}}],["destruct",{"_index":2434,"title":{},"name":{},"text":{"44":{}},"component":{}}],["detail",{"_index":487,"title":{"6-2":{},"239-1":{},"242-1":{},"245-1":{},"246-1":{},"274-3":{},"274-14":{},"274-23":{},"274-31":{}},"name":{},"text":{"3":{},"5":{},"6":{},"28":{},"30":{},"31":{},"32":{},"33":{},"35":{},"37":{},"38":{},"41":{},"45":{},"48":{},"54":{},"55":{},"63":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"73":{},"78":{},"79":{},"82":{},"87":{},"88":{},"89":{},"99":{},"101":{},"140":{},"144":{},"145":{},"147":{},"157":{},"165":{},"169":{},"178":{},"180":{},"185":{},"191":{},"192":{},"199":{},"202":{},"203":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"219":{},"220":{},"235":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"260":{},"263":{},"267":{},"269":{},"273":{},"274":{},"281":{},"283":{},"285":{}},"component":{}}],["details=when",{"_index":7034,"title":{},"name":{},"text":{"185":{}},"component":{}}],["detect",{"_index":1295,"title":{"271":{},"273":{}},"name":{},"text":{"23":{},"26":{},"31":{},"36":{},"38":{},"46":{},"52":{},"66":{},"67":{},"72":{},"74":{},"81":{},"83":{},"94":{},"140":{},"179":{},"206":{},"239":{},"242":{},"244":{},"245":{},"246":{},"264":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"277":{},"279":{},"284":{}},"component":{}}],["detectconflict",{"_index":4927,"title":{},"name":{},"text":{"83":{}},"component":{}}],["determin",{"_index":817,"title":{},"name":{},"text":{"5":{},"58":{},"86":{},"115":{},"147":{},"151":{},"157":{},"169":{},"176":{},"179":{},"261":{}},"component":{}}],["determinist",{"_index":4690,"title":{},"name":{},"text":{"74":{}},"component":{}}],["dev",{"_index":600,"title":{},"name":{},"text":{"3":{},"66":{},"140":{},"191":{}},"component":{}}],["develop",{"_index":67,"title":{"140-19":{},"148-1":{},"250-1":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"16":{},"27":{},"28":{},"37":{},"45":{},"48":{},"59":{},"62":{},"66":{},"70":{},"88":{},"89":{},"140":{},"141":{},"143":{},"148":{},"154":{},"155":{},"172":{},"177":{},"191":{},"199":{},"200":{},"201":{},"203":{},"210":{},"227":{},"232":{},"234":{},"236":{},"239":{},"249":{},"250":{},"254":{},"255":{},"259":{},"268":{},"274":{},"276":{},"281":{},"282":{}},"component":{}}],["developer/view",{"_index":7612,"title":{},"name":{},"text":{"255":{}},"component":{}}],["developmentmod",{"_index":7162,"title":{},"name":{},"text":{"192":{}},"component":{}}],["deviat",{"_index":2247,"title":{},"name":{},"text":{"38":{},"46":{},"64":{},"244":{}},"component":{}}],["devic",{"_index":463,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["devmode.en",{"_index":6830,"title":{},"name":{},"text":{"179":{}},"component":{}}],["devop",{"_index":7646,"title":{},"name":{},"text":{"264":{},"265":{}},"component":{}}],["devtool",{"_index":3990,"title":{},"name":{},"text":{"67":{}},"component":{}}],["devtools.properti",{"_index":3987,"title":{},"name":{},"text":{"67":{}},"component":{}}],["dgomezg",{"_index":3303,"title":{},"name":{},"text":{"66":{},"284":{}},"component":{}}],["dgroupid=io.axoniq.demo.bikerent",{"_index":7806,"title":{},"name":{},"text":{"279":{}},"component":{}}],["diagnos",{"_index":7592,"title":{},"name":{},"text":{"246":{}},"component":{}}],["diagnost",{"_index":1048,"title":{"187":{},"140-12":{}},"name":{"187":{}},"text":{"14":{},"79":{},"86":{},"140":{},"141":{}},"component":{}}],["diagram",{"_index":6256,"title":{"258":{},"274-40":{}},"name":{},"text":{"145":{},"274":{},"280":{},"281":{}},"component":{}}],["dialect",{"_index":4487,"title":{"79-4":{}},"name":{},"text":{"69":{},"71":{},"79":{}},"component":{}}],["dialog",{"_index":5325,"title":{},"name":{},"text":{"88":{},"141":{},"260":{},"262":{},"263":{},"267":{},"274":{},"276":{},"277":{}},"component":{}}],["dialogu",{"_index":6554,"title":{},"name":{},"text":{"165":{}},"component":{}}],["dictat",{"_index":2503,"title":{},"name":{},"text":{"44":{},"53":{},"88":{}},"component":{}}],["didn’t",{"_index":3786,"title":{},"name":{},"text":{"66":{},"67":{},"221":{},"280":{}},"component":{}}],["differ",{"_index":4,"title":{"31-9":{},"88-20":{},"151-18":{}},"name":{},"text":{"1":{},"2":{},"3":{},"17":{},"24":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"51":{},"53":{},"57":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"94":{},"100":{},"102":{},"107":{},"114":{},"115":{},"121":{},"127":{},"140":{},"141":{},"145":{},"147":{},"150":{},"151":{},"156":{},"157":{},"165":{},"172":{},"174":{},"176":{},"191":{},"192":{},"204":{},"206":{},"211":{},"212":{},"214":{},"217":{},"221":{},"237":{},"238":{},"241":{},"243":{},"244":{},"254":{},"255":{},"262":{},"263":{},"268":{},"270":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"285":{}},"component":{}}],["difficult",{"_index":1733,"title":{},"name":{},"text":{"32":{},"151":{},"264":{}},"component":{}}],["digit",{"_index":6361,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["dilsh0d",{"_index":3735,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dimension",{"_index":1501,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["dinteractivemode=fals",{"_index":7809,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dir",{"_index":6835,"title":{},"name":{},"text":{"179":{}},"component":{}}],["direct",{"_index":937,"title":{"59-37":{}},"name":{},"text":{"6":{},"8":{},"13":{},"36":{},"53":{},"59":{},"63":{},"67":{},"69":{},"81":{},"99":{},"174":{},"230":{},"290":{}},"component":{}}],["directexecutor",{"_index":5964,"title":{},"name":{},"text":{"130":{}},"component":{}}],["directli",{"_index":568,"title":{"145-26":{}},"name":{},"text":{"3":{},"6":{},"16":{},"21":{},"24":{},"28":{},"29":{},"31":{},"34":{},"35":{},"36":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"49":{},"51":{},"52":{},"53":{},"55":{},"58":{},"59":{},"66":{},"67":{},"72":{},"74":{},"76":{},"88":{},"104":{},"105":{},"121":{},"140":{},"143":{},"144":{},"145":{},"165":{},"169":{},"173":{},"191":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"254":{},"263":{},"264":{},"267":{},"277":{},"280":{},"281":{},"283":{}},"component":{}}],["directori",{"_index":242,"title":{"10-1":{},"11-1":{},"170-3":{}},"name":{},"text":{"3":{},"4":{},"32":{},"79":{},"143":{},"147":{},"148":{},"149":{},"161":{},"167":{},"169":{},"170":{},"172":{},"178":{},"179":{},"191":{},"192":{},"208":{},"279":{}},"component":{}}],["disabl",{"_index":501,"title":{"116":{},"115-13":{}},"name":{"116":{}},"text":{"3":{},"5":{},"32":{},"38":{},"59":{},"66":{},"67":{},"76":{},"115":{},"116":{},"127":{},"132":{},"140":{},"156":{},"179":{},"189":{},"191":{},"260":{}},"component":{}}],["disableeventblacklist",{"_index":4715,"title":{},"name":{},"text":{"76":{}},"component":{}}],["disableheartbeats(configur",{"_index":7140,"title":{},"name":{},"text":{"189":{}},"component":{}}],["disadvantag",{"_index":2593,"title":{},"name":{},"text":{"46":{}},"component":{}}],["disallow",{"_index":4760,"title":{},"name":{},"text":{"77":{},"88":{}},"component":{}}],["disallowreplay",{"_index":3312,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["disast",{"_index":6100,"title":{},"name":{},"text":{"142":{}},"component":{}}],["discard",{"_index":5874,"title":{},"name":{},"text":{"121":{}},"component":{}}],["disconnect",{"_index":5455,"title":{},"name":{},"text":{"96":{},"140":{},"141":{},"143":{},"145":{},"156":{},"186":{}},"component":{}}],["discourag",{"_index":7533,"title":{},"name":{},"text":{"221":{}},"component":{}}],["discov",{"_index":762,"title":{"127":{}},"name":{},"text":{"5":{},"111":{},"127":{},"129":{},"148":{},"206":{},"220":{},"229":{},"234":{},"263":{}},"component":{}}],["discover",{"_index":5922,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["discoveri",{"_index":5358,"title":{},"name":{},"text":{"88":{},"94":{},"127":{},"129":{},"206":{}},"component":{}}],["discovery.pol",{"_index":7371,"title":{"206-54":{}},"name":{},"text":{},"component":{}}],["discovery.retri",{"_index":7370,"title":{"206-53":{}},"name":{},"text":{},"component":{}}],["discovery.timeout",{"_index":7369,"title":{"206-52":{}},"name":{},"text":{},"component":{}}],["discovery/eureka",{"_index":5959,"title":{},"name":{},"text":{"129":{}},"component":{}}],["discoverycli",{"_index":5911,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["discoveryclient(discoverycli",{"_index":5937,"title":{},"name":{},"text":{"128":{}},"component":{}}],["discrep",{"_index":3766,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["discuss",{"_index":44,"title":{"2-4":{}},"name":{},"text":{"3":{},"8":{},"13":{},"34":{},"44":{},"63":{},"66":{},"67":{},"79":{},"84":{},"87":{},"88":{},"124":{},"168":{},"174":{},"191":{},"235":{},"265":{},"271":{},"281":{}},"component":{}}],["disk",{"_index":4793,"title":{},"name":{},"text":{"77":{},"145":{},"148":{},"151":{},"164":{},"179":{},"199":{},"262":{}},"component":{}}],["diskspac",{"_index":7029,"title":{},"name":{},"text":{"185":{}},"component":{}}],["dispatch",{"_index":774,"title":{"34":{},"42":{},"63":{},"34-3":{},"42-1":{},"42-2":{},"51-2":{},"51-7":{},"51-10":{},"121-15":{}},"name":{"34":{},"42":{},"63":{}},"text":{"5":{},"34":{},"35":{},"37":{},"38":{},"42":{},"45":{},"46":{},"49":{},"51":{},"56":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"72":{},"74":{},"88":{},"94":{},"105":{},"108":{},"121":{},"127":{},"130":{},"143":{},"169":{},"274":{},"281":{}},"component":{}}],["dispatch(commandmessag",{"_index":1853,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dispatch_command",{"_index":6590,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["dispatch_queri",{"_index":6591,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["dispatch_subscription_queri",{"_index":6689,"title":{},"name":{},"text":{"171":{}},"component":{}}],["dispatchcommand",{"_index":1855,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dispatchev",{"_index":2392,"title":{},"name":{},"text":{"42":{}},"component":{}}],["dispatching/handl",{"_index":1912,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dispatchinterceptor",{"_index":2895,"title":{},"name":{},"text":{"56":{}},"component":{}}],["display",{"_index":757,"title":{"274-11":{}},"name":{},"text":{"5":{},"72":{},"140":{},"147":{},"188":{},"192":{},"199":{},"232":{},"239":{},"242":{},"244":{},"245":{},"246":{},"255":{},"272":{},"273":{},"274":{},"276":{},"277":{}},"component":{}}],["disregard",{"_index":5175,"title":{},"name":{},"text":{"88":{}},"component":{}}],["disruptor",{"_index":1466,"title":{"30-10":{}},"name":{},"text":{"30":{},"38":{}},"component":{}}],["disruptorcommandbu",{"_index":2071,"title":{"38-10":{}},"name":{},"text":{"38":{},"66":{},"67":{}},"component":{}}],["disruptorcommandbus(transactionmanag",{"_index":2215,"title":{},"name":{},"text":{"38":{}},"component":{}}],["disruptorcommandbus.class",{"_index":2212,"title":{},"name":{},"text":{"38":{}},"component":{}}],["disruptorconfigur",{"_index":2175,"title":{},"name":{},"text":{"38":{}},"component":{}}],["distinct",{"_index":1536,"title":{},"name":{},"text":{"30":{},"31":{},"36":{},"46":{},"49":{},"63":{},"66":{},"67":{},"88":{},"107":{},"115":{}},"component":{}}],["distinguish",{"_index":2258,"title":{},"name":{},"text":{"38":{},"62":{},"102":{},"144":{},"199":{}},"component":{}}],["distribut",{"_index":415,"title":{"59":{},"38-11":{},"46-14":{},"150-2":{}},"name":{},"text":{"3":{},"30":{},"31":{},"35":{},"38":{},"46":{},"48":{},"49":{},"59":{},"61":{},"66":{},"67":{},"76":{},"77":{},"79":{},"88":{},"89":{},"91":{},"94":{},"100":{},"127":{},"129":{},"133":{},"140":{},"141":{},"147":{},"157":{},"170":{},"172":{},"178":{},"179":{},"180":{},"191":{},"192":{},"215":{},"263":{},"264":{},"266":{},"274":{}},"component":{}}],["distributedcommandbu",{"_index":2074,"title":{"38-17":{}},"name":{},"text":{"38":{},"66":{},"94":{},"96":{},"128":{},"129":{}},"component":{}}],["distributedcommandbus(commandrout",{"_index":5947,"title":{},"name":{},"text":{"128":{}},"component":{}}],["distributedcommandbus.build",{"_index":5445,"title":{},"name":{},"text":{"94":{},"128":{}},"component":{}}],["distributor",{"_index":6930,"title":{},"name":{},"text":{"179":{}},"component":{}}],["distroless",{"_index":321,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["disturb",{"_index":4730,"title":{},"name":{},"text":{"77":{}},"component":{}}],["disucss",{"_index":7566,"title":{},"name":{},"text":{"235":{}},"component":{}}],["dit",{"_index":409,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["dive",{"_index":6352,"title":{},"name":{},"text":{"147":{},"153":{}},"component":{}}],["diverg",{"_index":5120,"title":{},"name":{},"text":{"88":{}},"component":{}}],["divid",{"_index":5357,"title":{},"name":{},"text":{"88":{},"261":{},"274":{}},"component":{}}],["divis",{"_index":2656,"title":{},"name":{},"text":{"48":{}},"component":{}}],["dlq",{"_index":853,"title":{"15":{}},"name":{"110":{},"257":{}},"text":{"5":{},"15":{},"16":{},"67":{},"86":{},"110":{},"115":{},"255":{},"257":{},"262":{}},"component":{}}],["dlqenabledgroup",{"_index":4997,"title":{},"name":{},"text":{"86":{}},"component":{}}],["dlqenabledgroups.contains(processinggroup",{"_index":4998,"title":{},"name":{},"text":{"86":{}},"component":{}}],["dlqmanag",{"_index":5734,"title":{},"name":{},"text":{"115":{}},"component":{}}],["dlqmanagement(configur",{"_index":5736,"title":{},"name":{},"text":{"115":{}},"component":{}}],["dlqmanagementcontrol",{"_index":5744,"title":{},"name":{},"text":{"115":{}},"component":{}}],["dmurat",{"_index":3754,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dn",{"_index":6619,"title":{},"name":{},"text":{"170":{},"199":{}},"component":{}}],["do",{"_index":254,"title":{},"name":{},"text":{"3":{},"24":{},"31":{},"34":{},"35":{},"38":{},"39":{},"51":{},"57":{},"66":{},"77":{},"85":{},"88":{},"142":{},"179":{},"191":{},"202":{},"239":{},"274":{},"284":{}},"component":{}}],["doc",{"_index":991,"title":{"8":{},"13":{}},"name":{},"text":{"8":{},"13":{},"66":{},"207":{},"216":{},"217":{},"219":{}},"component":{}}],["docker",{"_index":185,"title":{"3":{},"277":{},"284":{},"3-1":{},"3-10":{},"140-4":{},"191-1":{},"191-3":{},"284-2":{},"284-3":{},"284-4":{}},"name":{"277":{},"284":{}},"text":{"3":{},"4":{},"66":{},"67":{},"140":{},"159":{},"191":{},"215":{},"237":{},"263":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["dockerfil",{"_index":312,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["document",{"_index":865,"title":{"207":{},"224":{}},"name":{},"text":{"5":{},"29":{},"30":{},"31":{},"33":{},"44":{},"46":{},"59":{},"63":{},"67":{},"69":{},"71":{},"78":{},"90":{},"93":{},"95":{},"98":{},"99":{},"100":{},"102":{},"103":{},"109":{},"112":{},"113":{},"119":{},"122":{},"123":{},"126":{},"129":{},"131":{},"134":{},"140":{},"142":{},"144":{},"145":{},"182":{},"207":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"224":{},"287":{}},"component":{}}],["document.getrootel",{"_index":2486,"title":{},"name":{},"text":{"44":{}},"component":{}}],["documentpercommitstoragestrategi",{"_index":2589,"title":{},"name":{},"text":{"46":{}},"component":{}}],["doesn’t",{"_index":1125,"title":{},"name":{},"text":{"15":{},"16":{},"18":{},"19":{},"36":{},"49":{},"67":{},"88":{},"94":{},"99":{},"121":{},"126":{},"177":{},"206":{},"215":{},"216":{},"217":{},"219":{},"221":{},"290":{}},"component":{}}],["dofinally(it",{"_index":3189,"title":{},"name":{},"text":{"63":{}},"component":{}}],["dofinally(sign",{"_index":5838,"title":{},"name":{},"text":{"121":{}},"component":{}}],["dom4j",{"_index":1694,"title":{},"name":{},"text":{"31":{}},"component":{}}],["domain",{"_index":1260,"title":{},"name":{},"text":{"21":{},"28":{},"30":{},"35":{},"45":{},"46":{},"49":{},"51":{},"64":{},"66":{},"68":{},"72":{},"77":{},"80":{},"82":{},"84":{},"88":{},"111":{},"170":{},"179":{},"199":{},"215":{},"239":{},"286":{},"287":{},"288":{}},"component":{}}],["domain_event_entri",{"_index":1450,"title":{},"name":{},"text":{"29":{},"33":{},"79":{}},"component":{}}],["domainev",{"_index":5670,"title":{},"name":{},"text":{"111":{}},"component":{}}],["domainevententri",{"_index":2523,"title":{},"name":{},"text":{"46":{},"79":{}},"component":{}}],["domaineventmessag",{"_index":2667,"title":{},"name":{},"text":{"49":{},"52":{},"59":{},"67":{},"72":{}},"component":{}}],["domaineventstream",{"_index":2590,"title":{},"name":{},"text":{"46":{}},"component":{}}],["done",{"_index":2026,"title":{},"name":{},"text":{"36":{},"38":{},"40":{},"44":{},"47":{},"49":{},"51":{},"53":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"79":{},"80":{},"82":{},"88":{},"115":{},"128":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"176":{},"192":{},"244":{},"260":{},"273":{},"274":{},"281":{}},"component":{}}],["don’t",{"_index":266,"title":{},"name":{},"text":{"3":{},"14":{},"15":{},"17":{},"18":{},"21":{},"33":{},"40":{},"46":{},"49":{},"50":{},"59":{},"67":{},"82":{},"88":{},"115":{},"145":{},"154":{},"156":{},"176":{},"177":{},"178":{},"191":{},"237":{},"241":{},"247":{},"264":{},"265":{},"266":{},"269":{},"270":{},"274":{},"277":{},"283":{},"284":{}},"component":{}}],["dosomethingcommand(\"aggregateid",{"_index":4636,"title":{},"name":{},"text":{"72":{}},"component":{}}],["dot",{"_index":775,"title":{},"name":{},"text":{"5":{},"274":{}},"component":{}}],["doubl",{"_index":2595,"title":{},"name":{},"text":{"46":{},"88":{},"145":{}},"component":{}}],["doupcast",{"_index":2454,"title":{},"name":{},"text":{"44":{}},"component":{}}],["dowload",{"_index":7761,"title":{"277-2":{}},"name":{},"text":{},"component":{}}],["down",{"_index":982,"title":{},"name":{},"text":{"6":{},"31":{},"38":{},"40":{},"54":{},"64":{},"66":{},"67":{},"79":{},"84":{},"88":{},"96":{},"99":{},"121":{},"138":{},"141":{},"147":{},"151":{},"157":{},"162":{},"165":{},"179":{},"185":{},"199":{},"221":{},"264":{},"269":{},"272":{},"273":{},"274":{}},"component":{}}],["downgrad",{"_index":7600,"title":{},"name":{},"text":{"250":{},"254":{}},"component":{}}],["download",{"_index":692,"title":{"201-2":{},"201-5":{},"208-1":{}},"name":{},"text":{"4":{},"30":{},"67":{},"72":{},"140":{},"154":{},"177":{},"192":{},"201":{},"202":{},"203":{},"208":{},"271":{},"277":{},"284":{}},"component":{}}],["download_diagnos",{"_index":6645,"title":{},"name":{},"text":{"171":{}},"component":{}}],["download_templ",{"_index":6646,"title":{},"name":{},"text":{"171":{}},"component":{}}],["downtim",{"_index":977,"title":{"176-2":{}},"name":{},"text":{"6":{},"176":{},"199":{}},"component":{}}],["dpackage=io.axoniq.demo.bikerental.coreapi",{"_index":7823,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dpackage=io.axoniq.demo.bikerental.rent",{"_index":7821,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dproperty=valu",{"_index":6816,"title":{},"name":{},"text":{"179":{}},"component":{}}],["draft",{"_index":2397,"title":{},"name":{"264":{}},"text":{"43":{},"67":{},"99":{}},"component":{}}],["drastic",{"_index":3821,"title":{},"name":{},"text":{"66":{}},"component":{}}],["draw",{"_index":6514,"title":{},"name":{},"text":{"157":{}},"component":{}}],["drawn",{"_index":7740,"title":{},"name":{},"text":{"274":{}},"component":{}}],["drewrite.recipeartifactcoordinates=org.axonframework:axon",{"_index":1843,"title":{},"name":{},"text":{"33":{}},"component":{}}],["drewrite.recipeartifactcoordinates=org.openrewrite.recipe:rewrit",{"_index":1846,"title":{},"name":{},"text":{"33":{}},"component":{}}],["drill",{"_index":7665,"title":{},"name":{},"text":{"269":{},"273":{},"274":{}},"component":{}}],["drive",{"_index":2241,"title":{},"name":{},"text":{"38":{},"80":{},"85":{},"151":{}},"component":{}}],["driven",{"_index":868,"title":{"6":{},"6-2":{}},"name":{},"text":{"6":{},"7":{},"28":{},"82":{},"120":{},"200":{},"227":{},"230":{},"236":{},"240":{},"264":{},"266":{}},"component":{"6":{}}}],["driver",{"_index":460,"title":{},"name":{},"text":{"3":{},"31":{},"46":{},"161":{},"191":{}},"component":{}}],["driver_opt",{"_index":461,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["drop",{"_index":2986,"title":{},"name":{},"text":{"58":{},"66":{},"67":{},"77":{},"79":{},"88":{},"261":{},"274":{},"280":{}},"component":{}}],["dropdown",{"_index":6076,"title":{},"name":{},"text":{"141":{},"151":{},"199":{}},"component":{}}],["dropwizard",{"_index":2897,"title":{"57-1":{}},"name":{},"text":{"57":{},"66":{}},"component":{}}],["dsl",{"_index":1553,"title":{},"name":{},"text":{"30":{}},"component":{}}],["due",{"_index":542,"title":{},"name":{},"text":{"3":{},"16":{},"26":{},"31":{},"34":{},"38":{},"44":{},"48":{},"52":{},"59":{},"66":{},"67":{},"69":{},"71":{},"86":{},"87":{},"88":{},"99":{},"100":{},"143":{},"151":{},"191":{},"257":{},"261":{},"262":{},"273":{},"289":{}},"component":{}}],["dump",{"_index":7129,"title":{},"name":{},"text":{"187":{}},"component":{}}],["duplic",{"_index":1558,"title":{"31-8":{},"75-1":{}},"name":{},"text":{"36":{},"46":{},"59":{},"66":{},"67":{},"75":{},"76":{},"88":{},"115":{},"143":{},"147":{},"221":{}},"component":{}}],["duplicatecommandhandlerresolut",{"_index":4696,"title":{},"name":{},"text":{"75":{}},"component":{}}],["duplicatecommandhandlerresolution.class",{"_index":4699,"title":{},"name":{},"text":{"75":{}},"component":{}}],["duplicatecommandhandlerresolution.rejectdupl",{"_index":4700,"title":{},"name":{},"text":{"75":{}},"component":{}}],["duplicatecommandhandlerresolv",{"_index":2016,"title":{},"name":{},"text":{"36":{},"75":{}},"component":{}}],["duplicatecommandhandlersubscriptionexcept",{"_index":4697,"title":{},"name":{},"text":{"75":{}},"component":{}}],["durabl",{"_index":110,"title":{},"name":{},"text":{"2":{},"145":{},"290":{}},"component":{}}],["durat",{"_index":2274,"title":{},"name":{},"text":{"39":{},"58":{},"72":{},"74":{},"88":{},"121":{},"141":{},"186":{},"206":{},"244":{},"262":{},"288":{}},"component":{}}],["duration.ofmillis(500",{"_index":2301,"title":{},"name":{},"text":{"39":{}},"component":{}}],["duration.ofseconds(2",{"_index":6233,"title":{},"name":{},"text":{"144":{}},"component":{}}],["duration.ofseconds(5)).take(3",{"_index":5825,"title":{},"name":{},"text":{"121":{}},"component":{}}],["dure",{"_index":820,"title":{"269":{}},"name":{},"text":{"5":{},"35":{},"38":{},"39":{},"44":{},"51":{},"53":{},"58":{},"59":{},"60":{},"63":{},"66":{},"67":{},"69":{},"72":{},"74":{},"75":{},"77":{},"79":{},"86":{},"87":{},"88":{},"127":{},"141":{},"143":{},"145":{},"151":{},"154":{},"157":{},"176":{},"177":{},"179":{},"199":{},"215":{},"260":{},"264":{},"266":{},"267":{},"269":{},"271":{},"274":{},"276":{},"277":{},"285":{}},"component":{}}],["dversion=0.0.1",{"_index":7808,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dynam",{"_index":669,"title":{"115-2":{}},"name":{},"text":{"3":{},"88":{},"89":{},"115":{},"117":{},"154":{},"179":{},"191":{},"192":{},"262":{}},"component":{}}],["e",{"_index":410,"title":{"247-3":{}},"name":{},"text":{"3":{},"5":{},"53":{},"88":{},"191":{},"247":{},"285":{}},"component":{}}],["e0464143baf7",{"_index":7918,"title":{},"name":{},"text":{"280":{}},"component":{}}],["e32c48ab5047",{"_index":6585,"title":{},"name":{},"text":{"169":{}},"component":{}}],["ea",{"_index":3642,"title":{},"name":{},"text":{"66":{}},"component":{}}],["each",{"_index":15,"title":{"151-19":{}},"name":{},"text":{"1":{},"3":{},"5":{},"6":{},"15":{},"17":{},"31":{},"34":{},"36":{},"38":{},"44":{},"46":{},"47":{},"51":{},"53":{},"55":{},"56":{},"58":{},"59":{},"62":{},"63":{},"66":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"94":{},"97":{},"104":{},"108":{},"113":{},"115":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"155":{},"156":{},"157":{},"162":{},"163":{},"169":{},"176":{},"177":{},"178":{},"179":{},"185":{},"191":{},"192":{},"194":{},"197":{},"199":{},"211":{},"212":{},"214":{},"221":{},"238":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"250":{},"254":{},"255":{},"261":{},"262":{},"269":{},"270":{},"274":{},"276":{},"279":{},"280":{},"281":{},"285":{},"288":{}},"component":{}}],["eager",{"_index":3939,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eagerli",{"_index":4254,"title":{},"name":{},"text":{"67":{},"79":{},"151":{}},"component":{}}],["earli",{"_index":2731,"title":{},"name":{},"text":{"51":{},"66":{},"140":{}},"component":{}}],["earlier",{"_index":1457,"title":{},"name":{},"text":{"29":{},"33":{},"38":{},"44":{},"64":{},"72":{},"79":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"144":{},"202":{},"281":{}},"component":{}}],["eas",{"_index":2463,"title":{},"name":{},"text":{"44":{},"67":{},"121":{},"249":{},"259":{}},"component":{}}],["easi",{"_index":97,"title":{"28-1":{},"55-1":{}},"name":{},"text":{"2":{},"15":{},"22":{},"36":{},"38":{},"40":{},"44":{},"59":{},"66":{},"72":{},"79":{},"87":{},"88":{},"89":{},"162":{},"235":{},"262":{},"265":{},"269":{},"274":{},"275":{},"277":{},"279":{},"283":{}},"component":{}}],["easier",{"_index":944,"title":{},"name":{},"text":{"6":{},"18":{},"19":{},"32":{},"38":{},"40":{},"53":{},"66":{},"74":{},"86":{},"87":{},"142":{},"226":{},"243":{},"264":{},"265":{},"281":{}},"component":{}}],["easiest",{"_index":1496,"title":{},"name":{},"text":{"30":{},"32":{},"33":{},"34":{},"38":{},"61":{},"63":{},"88":{},"129":{}},"component":{}}],["easili",{"_index":144,"title":{},"name":{},"text":{"2":{},"5":{},"20":{},"30":{},"31":{},"36":{},"38":{},"59":{},"66":{},"67":{},"68":{},"88":{},"132":{},"140":{},"200":{},"261":{},"268":{},"269":{},"276":{},"280":{},"281":{},"283":{}},"component":{}}],["easymock",{"_index":4683,"title":{},"name":{},"text":{"74":{}},"component":{}}],["eclips",{"_index":227,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["eda",{"_index":870,"title":{},"name":{},"text":{"6":{}},"component":{}}],["eddumelendez",{"_index":3751,"title":{},"name":{},"text":{"66":{}},"component":{}}],["edit",{"_index":55,"title":{"162":{},"2-6":{}},"name":{"162":{}},"text":{"2":{},"3":{},"67":{},"137":{},"138":{},"140":{},"147":{},"148":{},"151":{},"173":{},"175":{},"178":{},"191":{},"192":{},"201":{},"204":{},"244":{},"262":{},"280":{}},"component":{}}],["editor",{"_index":7230,"title":{},"name":{},"text":{"199":{}},"component":{}}],["ee",{"_index":262,"title":{"170":{},"172":{},"168-1":{}},"name":{"169":{}},"text":{"3":{},"30":{},"117":{},"137":{},"142":{},"147":{},"156":{},"157":{},"161":{},"162":{},"167":{},"168":{},"174":{},"176":{},"178":{},"179":{},"185":{},"191":{},"192":{}},"component":{}}],["ee/s",{"_index":6823,"title":{},"name":{},"text":{"179":{}},"component":{}}],["effect",{"_index":966,"title":{},"name":{},"text":{"6":{},"35":{},"38":{},"47":{},"50":{},"52":{},"53":{},"56":{},"63":{},"67":{},"72":{},"74":{},"82":{},"86":{},"88":{},"127":{},"141":{},"145":{},"151":{},"154":{},"168":{},"174":{},"178":{},"179":{},"215":{},"227":{},"236":{},"250":{},"255":{}},"component":{}}],["effici",{"_index":913,"title":{},"name":{},"text":{"6":{},"88":{},"140":{},"147":{},"240":{},"260":{},"280":{}},"component":{}}],["effort",{"_index":209,"title":{},"name":{},"text":{"3":{},"33":{},"36":{},"138":{},"140":{},"156":{},"191":{},"192":{}},"component":{}}],["eg",{"_index":1765,"title":{},"name":{},"text":{"32":{}},"component":{}}],["ehcach",{"_index":3420,"title":{},"name":{},"text":{"66":{},"77":{}},"component":{}}],["ehcache3adapt",{"_index":4782,"title":{},"name":{},"text":{"77":{}},"component":{}}],["ehcacheadapt",{"_index":4779,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eight",{"_index":7702,"title":{},"name":{},"text":{"274":{}},"component":{}}],["eisenmann",{"_index":3740,"title":{},"name":{},"text":{"66":{}},"component":{}}],["el",{"_index":6752,"title":{},"name":{},"text":{"172":{}},"component":{}}],["elabor",{"_index":2451,"title":{},"name":{},"text":{"44":{}},"component":{}}],["elaps",{"_index":1282,"title":{},"name":{},"text":{"22":{},"74":{},"285":{}},"component":{}}],["elast",{"_index":5785,"title":{},"name":{},"text":{"120":{},"133":{},"264":{}},"component":{}}],["elasticsearch",{"_index":3006,"title":{},"name":{},"text":{"59":{}},"component":{}}],["elect",{"_index":6508,"title":{"157-2":{}},"name":{},"text":{"157":{},"179":{}},"component":{}}],["element",{"_index":917,"title":{},"name":{},"text":{"6":{},"31":{},"47":{},"94":{},"149":{},"150":{},"151":{},"195":{},"197":{},"212":{},"265":{},"274":{},"277":{},"280":{},"281":{}},"component":{}}],["elementtype.annotation_typ",{"_index":1377,"title":{},"name":{},"text":{"27":{}},"component":{}}],["elementtype.constructor",{"_index":1376,"title":{},"name":{},"text":{"27":{}},"component":{}}],["elig",{"_index":1307,"title":{},"name":{},"text":{"24":{},"74":{},"97":{},"151":{},"179":{}},"component":{}}],["elimin",{"_index":4687,"title":{},"name":{},"text":{"74":{},"140":{}},"component":{}}],["elk",{"_index":732,"title":{"5-7":{}},"name":{},"text":{"5":{}},"component":{}}],["elsewher",{"_index":4312,"title":{},"name":{},"text":{"67":{},"94":{}},"component":{}}],["email",{"_index":902,"title":{"262-8":{}},"name":{},"text":{"6":{},"49":{},"88":{},"172":{},"247":{},"260":{},"262":{},"273":{}},"component":{}}],["emailservic",{"_index":900,"title":{},"name":{},"text":{"6":{}},"component":{}}],["emb",{"_index":6751,"title":{},"name":{},"text":{"172":{}},"component":{}}],["embed",{"_index":2509,"title":{"46-4":{}},"name":{},"text":{"96":{},"140":{},"226":{}},"component":{}}],["embeddedeventstor",{"_index":2515,"title":{},"name":{},"text":{"46":{},"67":{},"113":{}},"component":{}}],["embeddedeventstore.build",{"_index":2560,"title":{},"name":{},"text":{"46":{},"51":{},"113":{}},"component":{}}],["embrac",{"_index":5070,"title":{},"name":{},"text":{"87":{},"120":{},"287":{}},"component":{}}],["emerg",{"_index":6450,"title":{},"name":{},"text":{"151":{}},"component":{}}],["emiss",{"_index":3175,"title":{},"name":{},"text":{"63":{}},"component":{}}],["emit",{"_index":952,"title":{},"name":{},"text":{"6":{},"59":{},"63":{},"67":{},"108":{},"179":{},"285":{}},"component":{}}],["emit(countchangedupd",{"_index":5662,"title":{},"name":{},"text":{"108":{}},"component":{}}],["emitt",{"_index":2780,"title":{"115-6":{}},"name":{},"text":{"51":{},"115":{}},"component":{}}],["employ",{"_index":6098,"title":{},"name":{},"text":{"142":{}},"component":{}}],["empti",{"_index":1145,"title":{},"name":{},"text":{"17":{},"20":{},"61":{},"63":{},"66":{},"82":{},"86":{},"101":{},"121":{},"195":{},"212":{},"283":{},"285":{}},"component":{}}],["empty,it",{"_index":5600,"title":{},"name":{},"text":{"104":{}},"component":{}}],["en",{"_index":6946,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enabl",{"_index":107,"title":{"150-4":{},"206-26":{},"206-28":{},"206-33":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"15":{},"16":{},"18":{},"30":{},"31":{},"32":{},"38":{},"41":{},"57":{},"59":{},"66":{},"67":{},"77":{},"86":{},"88":{},"94":{},"96":{},"104":{},"114":{},"115":{},"116":{},"117":{},"127":{},"128":{},"129":{},"140":{},"141":{},"143":{},"145":{},"148":{},"150":{},"151":{},"166":{},"167":{},"170":{},"172":{},"174":{},"176":{},"177":{},"178":{},"179":{},"188":{},"189":{},"191":{},"192":{},"199":{},"200":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"220":{},"221":{},"232":{},"241":{},"255":{},"257":{},"260":{},"261":{},"269":{},"270":{},"273":{},"278":{},"281":{},"284":{}},"component":{}}],["enable/dis",{"_index":3487,"title":{},"name":{},"text":{"66":{}},"component":{}}],["enabled=fals",{"_index":7127,"title":{},"name":{},"text":{"186":{}},"component":{}}],["enablediscoverycli",{"_index":5912,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["encapsul",{"_index":4902,"title":{},"name":{},"text":{"82":{},"289":{}},"component":{}}],["enclos",{"_index":4885,"title":{},"name":{},"text":{"80":{}},"component":{}}],["encount",{"_index":1654,"title":{},"name":{},"text":{"31":{},"46":{},"79":{},"88":{},"111":{},"220":{}},"component":{}}],["encourag",{"_index":181,"title":{},"name":{},"text":{"2":{},"48":{},"49":{},"150":{},"235":{}},"component":{}}],["encrypt",{"_index":6247,"title":{"206-24":{}},"name":{},"text":{"145":{},"175":{},"176":{},"192":{},"206":{}},"component":{}}],["encrypt(eventwithtoken.getev",{"_index":6283,"title":{},"name":{},"text":{"145":{}},"component":{}}],["end",{"_index":794,"title":{},"name":{},"text":{"5":{},"31":{},"38":{},"39":{},"44":{},"58":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"76":{},"77":{},"79":{},"82":{},"86":{},"87":{},"88":{},"99":{},"101":{},"102":{},"108":{},"120":{},"127":{},"130":{},"140":{},"142":{},"145":{},"151":{},"163":{},"165":{},"179":{},"195":{},"237":{}},"component":{}}],["endpoint",{"_index":2925,"title":{"185":{},"283":{},"185-1":{},"206-10":{},"206-17":{},"206-55":{},"211-1":{},"212-1":{},"214-1":{},"216-1":{},"216-2":{},"217-1":{},"217-2":{},"217-3":{},"219-1":{},"219-2":{},"280-9":{},"280-10":{},"280-11":{},"281-10":{},"283-1":{}},"name":{"185":{},"283":{}},"text":{"57":{},"59":{},"80":{},"88":{},"115":{},"127":{},"128":{},"140":{},"141":{},"142":{},"145":{},"165":{},"185":{},"186":{},"187":{},"188":{},"190":{},"202":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"221":{},"224":{},"273":{},"275":{},"276":{},"280":{},"281":{},"283":{},"289":{}},"component":{}}],["endpointopt",{"_index":7456,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["endpointtyp",{"_index":7277,"title":{},"name":{},"text":{"202":{},"211":{},"212":{},"214":{},"224":{}},"component":{}}],["endsaga",{"_index":2307,"title":{},"name":{},"text":{"39":{},"66":{},"69":{}},"component":{}}],["enforc",{"_index":1434,"title":{},"name":{},"text":{"29":{},"31":{},"49":{},"67":{},"79":{},"88":{},"102":{},"175":{}},"component":{}}],["engag",{"_index":6309,"title":{},"name":{},"text":{"145":{}},"component":{}}],["engin",{"_index":1730,"title":{},"name":{},"text":{"32":{},"46":{},"67":{},"68":{},"69":{},"71":{},"79":{},"194":{},"199":{},"227":{},"236":{},"262":{},"284":{}},"component":{}}],["enhanc",{"_index":134,"title":{"24":{},"66-3":{},"66-9":{},"66-14":{},"66-19":{},"66-24":{},"66-28":{},"66-31":{},"66-34":{},"66-37":{},"66-40":{},"66-43":{},"67-3":{},"67-8":{},"67-12":{},"67-17":{},"67-24":{},"67-30":{},"67-34":{},"67-38":{},"67-43":{},"67-50":{},"67-54":{},"67-59":{},"67-67":{},"67-83":{},"67-88":{},"67-92":{},"67-96":{},"67-102":{},"67-107":{},"140-11":{},"140-15":{},"140-20":{},"141-26":{}},"name":{"24":{}},"text":{"2":{},"6":{},"24":{},"29":{},"66":{},"67":{},"119":{},"140":{}},"component":{}}],["enhancement/test",{"_index":3289,"title":{},"name":{},"text":{"66":{}},"component":{}}],["enlarg",{"_index":7704,"title":{},"name":{},"text":{"274":{}},"component":{}}],["enough",{"_index":1480,"title":{},"name":{},"text":{"30":{},"46":{},"63":{},"123":{},"145":{},"151":{},"185":{},"221":{}},"component":{}}],["enqueu",{"_index":1026,"title":{"86-8":{}},"name":{},"text":{"14":{},"17":{},"86":{},"115":{}},"component":{}}],["enqueuedat",{"_index":5038,"title":{},"name":{},"text":{"86":{}},"component":{}}],["enqueuedecis",{"_index":1032,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["enqueuepolici",{"_index":1028,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["enqueuepolicyconfigurermodul",{"_index":5046,"title":{},"name":{},"text":{"86":{}},"component":{}}],["ensur",{"_index":109,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"16":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"46":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"79":{},"82":{},"86":{},"87":{},"88":{},"89":{},"99":{},"102":{},"140":{},"142":{},"144":{},"145":{},"151":{},"154":{},"156":{},"163":{},"167":{},"172":{},"176":{},"179":{},"191":{},"192":{},"199":{},"206":{},"211":{},"240":{},"260":{},"270":{},"276":{},"283":{},"285":{}},"component":{}}],["ensureindex",{"_index":5669,"title":{},"name":{},"text":{"111":{}},"component":{}}],["entail",{"_index":3429,"title":{},"name":{},"text":{"66":{}},"component":{}}],["enter",{"_index":1052,"title":{},"name":{},"text":{"14":{},"66":{},"67":{},"115":{},"141":{},"145":{},"151":{},"199":{},"247":{},"262":{},"274":{}},"component":{}}],["enterpris",{"_index":54,"title":{"162":{},"2-6":{}},"name":{"162":{}},"text":{"2":{},"3":{},"5":{},"40":{},"88":{},"120":{},"137":{},"138":{},"140":{},"147":{},"149":{},"150":{},"151":{},"154":{},"156":{},"175":{},"177":{},"178":{},"191":{},"192":{},"199":{},"260":{}},"component":{}}],["enterprise.context",{"_index":6937,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enterprise.default",{"_index":6868,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enterprise.licens",{"_index":6836,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enterprise:2023.0.1",{"_index":6035,"title":{},"name":{},"text":{"140":{}},"component":{}}],["enterprise’",{"_index":6040,"title":{},"name":{},"text":{"140":{}},"component":{}}],["entir",{"_index":680,"title":{},"name":{},"text":{"3":{},"6":{},"29":{},"46":{},"52":{},"53":{},"59":{},"67":{},"77":{},"82":{},"86":{},"87":{},"88":{},"99":{},"102":{},"145":{},"191":{},"228":{},"257":{},"262":{}},"component":{}}],["entireti",{"_index":2828,"title":{},"name":{},"text":{"52":{},"72":{},"76":{}},"component":{}}],["entiti",{"_index":1404,"title":{"84":{},"29-2":{},"84-1":{},"84-2":{}},"name":{"84":{}},"text":{"29":{},"32":{},"34":{},"35":{},"36":{},"42":{},"46":{},"51":{},"67":{},"79":{},"80":{},"82":{},"84":{},"85":{},"280":{},"281":{},"283":{}},"component":{}}],["entity/ent",{"_index":4939,"title":{},"name":{},"text":{"84":{}},"component":{}}],["entityid",{"_index":4933,"title":{},"name":{},"text":{"84":{}},"component":{}}],["entityid(routingkey",{"_index":4941,"title":{},"name":{},"text":{"84":{}},"component":{}}],["entitymanag",{"_index":2045,"title":{},"name":{},"text":{"36":{},"46":{},"53":{},"69":{},"71":{},"88":{}},"component":{}}],["entitymanager.clear",{"_index":2554,"title":{},"name":{},"text":{"46":{}},"component":{}}],["entitymanager.createnamedquery(\"cardsummary.fetch",{"_index":3158,"title":{},"name":{},"text":{"63":{}},"component":{}}],["entitymanager.find(cardsummary.class",{"_index":3168,"title":{},"name":{},"text":{"63":{}},"component":{}}],["entitymanager.flush",{"_index":2553,"title":{},"name":{},"text":{"46":{}},"component":{}}],["entitymanager`",{"_index":4484,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["entitymanagerprovid",{"_index":1091,"title":{},"name":{},"text":{"15":{},"36":{},"46":{},"69":{},"71":{}},"component":{}}],["entitymanagerprovider(config.getcompon",{"_index":4999,"title":{},"name":{},"text":{"86":{}},"component":{}}],["entitymanagerprovider(config.getcomponent(entitymanagerprovider.class",{"_index":1122,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["entitymanagerprovider(entitymanagerprovid",{"_index":1100,"title":{},"name":{},"text":{"15":{},"46":{},"69":{}},"component":{}}],["entitymanagerprovider.class",{"_index":5000,"title":{},"name":{},"text":{"86":{}},"component":{}}],["entitymanagerprovider’",{"_index":2538,"title":{},"name":{},"text":{"46":{}},"component":{}}],["entityscan",{"_index":1723,"title":{},"name":{},"text":{"32":{}},"component":{}}],["entri",{"_index":2115,"title":{"142-3":{}},"name":{},"text":{"38":{},"46":{},"47":{},"59":{},"67":{},"68":{},"72":{},"77":{},"86":{},"121":{},"141":{},"142":{},"151":{},"179":{},"199":{},"235":{}},"component":{}}],["entrypoint",{"_index":354,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["enum",{"_index":3604,"title":{},"name":{},"text":{"66":{},"280":{}},"component":{}}],["enumer",{"_index":1990,"title":{},"name":{},"text":{"35":{},"66":{},"67":{}},"component":{}}],["env",{"_index":610,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["environ",{"_index":100,"title":{"234":{},"254":{},"179-3":{},"254-1":{},"262-3":{},"276-1":{}},"name":{"234":{}},"text":{"2":{},"3":{},"5":{},"16":{},"24":{},"30":{},"33":{},"35":{},"38":{},"43":{},"46":{},"48":{},"49":{},"52":{},"66":{},"67":{},"69":{},"86":{},"87":{},"88":{},"94":{},"96":{},"115":{},"132":{},"142":{},"143":{},"145":{},"149":{},"150":{},"151":{},"174":{},"179":{},"185":{},"187":{},"191":{},"192":{},"200":{},"201":{},"206":{},"208":{},"228":{},"229":{},"232":{},"234":{},"237":{},"238":{},"239":{},"242":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"259":{},"262":{},"263":{},"267":{},"271":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["environment",{"_index":7149,"title":{},"name":{},"text":{"190":{}},"component":{}}],["environment/nod",{"_index":6825,"title":{},"name":{},"text":{"179":{}},"component":{}}],["environment’",{"_index":771,"title":{},"name":{},"text":{"5":{}},"component":{}}],["envis",{"_index":8037,"title":{},"name":{},"text":{"286":{}},"component":{}}],["ep",{"_index":6964,"title":{},"name":{},"text":{"180":{}},"component":{}}],["ep@ten",{"_index":5727,"title":{},"name":{},"text":{"115":{}},"component":{}}],["ephemer",{"_index":6004,"title":{"140-28":{},"151-6":{},"151-7":{}},"name":{},"text":{"140":{},"151":{}},"component":{}}],["equal",{"_index":2103,"title":{},"name":{},"text":{"38":{},"47":{},"66":{},"67":{},"69":{},"71":{},"72":{},"86":{},"88":{},"144":{},"150":{},"151":{},"219":{}},"component":{}}],["equals(eventprocessornam",{"_index":6221,"title":{},"name":{},"text":{"144":{}},"component":{}}],["equals(tokenstoreidentifi",{"_index":6223,"title":{},"name":{},"text":{"144":{}},"component":{}}],["equals/hashcod",{"_index":1954,"title":{},"name":{},"text":{"35":{},"64":{},"84":{}},"component":{}}],["equalto",{"_index":4641,"title":{},"name":{},"text":{"72":{}},"component":{}}],["equalto(new",{"_index":4642,"title":{},"name":{},"text":{"72":{}},"component":{}}],["equival",{"_index":5831,"title":{},"name":{},"text":{"121":{}},"component":{}}],["erasur",{"_index":2829,"title":{},"name":{},"text":{"52":{},"66":{}},"component":{}}],["erikhof",{"_index":3734,"title":{},"name":{},"text":{"66":{}},"component":{}}],["error",{"_index":846,"title":{"143":{},"63-8":{},"87-4":{},"87-5":{},"87-6":{},"88-4":{},"89-7":{},"143-1":{},"143-2":{},"143-3":{},"143-4":{},"143-5":{},"143-6":{},"143-7":{},"143-8":{},"143-9":{}},"name":{"143":{}},"text":{"5":{},"15":{},"16":{},"38":{},"46":{},"51":{},"53":{},"58":{},"63":{},"66":{},"67":{},"69":{},"72":{},"79":{},"86":{},"87":{},"88":{},"89":{},"124":{},"126":{},"141":{},"143":{},"144":{},"145":{},"161":{},"168":{},"179":{},"186":{},"215":{},"242":{},"243":{},"244":{},"262":{},"265":{},"268":{},"270":{},"271":{},"272":{},"273":{},"274":{},"277":{},"281":{},"285":{}},"component":{}}],["errorcontext",{"_index":5094,"title":{},"name":{},"text":{"87":{}},"component":{}}],["errorev",{"_index":5011,"title":{},"name":{},"text":{"86":{}},"component":{}}],["errorhandl",{"_index":5085,"title":{},"name":{},"text":{"87":{}},"component":{}}],["errorhandler’",{"_index":5092,"title":{},"name":{},"text":{"87":{}},"component":{}}],["especi",{"_index":522,"title":{},"name":{},"text":{"3":{},"6":{},"17":{},"29":{},"31":{},"35":{},"38":{},"46":{},"48":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"140":{},"165":{},"191":{},"282":{}},"component":{}}],["essenc",{"_index":2376,"title":{},"name":{},"text":{"42":{}},"component":{}}],["essenti",{"_index":2761,"title":{},"name":{},"text":{"51":{},"63":{},"86":{},"99":{},"106":{},"145":{},"151":{},"261":{}},"component":{}}],["establish",{"_index":1360,"title":{},"name":{},"text":{"25":{},"88":{},"145":{},"166":{},"189":{},"215":{},"250":{},"280":{},"290":{}},"component":{}}],["estim",{"_index":2980,"title":{},"name":{},"text":{"58":{},"66":{}},"component":{}}],["etc",{"_index":368,"title":{},"name":{},"text":{"3":{},"33":{},"44":{},"46":{},"59":{},"68":{},"77":{},"191":{}},"component":{}}],["etc/group",{"_index":367,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["etc/passwd",{"_index":366,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["etc/utc",{"_index":7019,"title":{},"name":{},"text":{"184":{}},"component":{}}],["eureka",{"_index":5958,"title":{},"name":{},"text":{"129":{}},"component":{}}],["europ",{"_index":7560,"title":{},"name":{},"text":{"234":{}},"component":{}}],["evalu",{"_index":2403,"title":{},"name":{},"text":{"43":{},"64":{},"69":{},"72":{},"193":{},"232":{},"244":{},"274":{}},"component":{}}],["even",{"_index":1255,"title":{},"name":{},"text":{"20":{},"29":{},"30":{},"31":{},"46":{},"49":{},"51":{},"52":{},"59":{},"63":{},"67":{},"69":{},"72":{},"77":{},"79":{},"86":{},"88":{},"115":{},"142":{},"145":{},"151":{},"156":{},"157":{},"163":{},"172":{},"180":{},"185":{},"196":{},"199":{},"204":{},"216":{},"219":{},"280":{},"284":{}},"component":{}}],["event",{"_index":38,"title":{"6":{},"40":{},"42":{},"43":{},"44":{},"45":{},"46":{},"58":{},"72":{},"76":{},"77":{},"87":{},"88":{},"89":{},"90":{},"92":{},"99":{},"101":{},"102":{},"106":{},"113":{},"144":{},"145":{},"165":{},"212":{},"217":{},"273":{},"2-3":{},"2-4":{},"6-2":{},"15-1":{},"30-4":{},"31-9":{},"32-6":{},"35-3":{},"36-5":{},"40-1":{},"40-2":{},"40-3":{},"40-4":{},"40-5":{},"40-6":{},"42-1":{},"42-2":{},"43-1":{},"44-1":{},"46-1":{},"46-2":{},"46-3":{},"46-4":{},"46-8":{},"46-9":{},"46-10":{},"46-11":{},"46-13":{},"46-14":{},"49-2":{},"51-6":{},"51-7":{},"51-8":{},"52-2":{},"58-1":{},"59-29":{},"59-30":{},"59-31":{},"59-32":{},"69-2":{},"72-7":{},"76-3":{},"77-5":{},"77-6":{},"77-9":{},"84-2":{},"86-1":{},"87-2":{},"87-3":{},"87-6":{},"87-9":{},"87-10":{},"88-26":{},"88-31":{},"99-1":{},"99-2":{},"102-1":{},"106-1":{},"115-10":{},"115-13":{},"121-12":{},"140-16":{},"142-2":{},"144-1":{},"145-2":{},"145-3":{},"145-4":{},"145-6":{},"145-10":{},"145-17":{},"145-20":{},"145-23":{},"147-4":{},"180-1":{},"186-3":{},"202-11":{},"202-13":{},"203-5":{},"206-39":{},"212-5":{},"212-6":{},"212-7":{},"221-4":{},"260-1":{},"261-3":{},"273-1":{},"274-18":{},"283-6":{}},"name":{"40":{},"42":{},"43":{},"44":{},"72":{},"76":{},"77":{},"106":{},"144":{},"145":{},"165":{},"212":{},"217":{},"273":{}},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"23":{},"24":{},"26":{},"28":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"73":{},"74":{},"76":{},"77":{},"78":{},"79":{},"80":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"97":{},"99":{},"100":{},"101":{},"102":{},"104":{},"106":{},"107":{},"111":{},"113":{},"114":{},"115":{},"117":{},"121":{},"127":{},"132":{},"133":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"161":{},"162":{},"163":{},"164":{},"165":{},"169":{},"174":{},"178":{},"179":{},"180":{},"181":{},"185":{},"186":{},"191":{},"192":{},"193":{},"194":{},"195":{},"198":{},"200":{},"202":{},"203":{},"206":{},"212":{},"213":{},"214":{},"215":{},"217":{},"218":{},"220":{},"221":{},"224":{},"242":{},"243":{},"246":{},"249":{},"250":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"264":{},"266":{},"270":{},"271":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{}},"component":{"6":{}}}],["event).put(\"descript",{"_index":2491,"title":{},"name":{},"text":{"44":{}},"component":{}}],["event.aggregate.prefetch",{"_index":6873,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.aggregate.retry.attempt",{"_index":6874,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.aggregate.retry.delay",{"_index":6875,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.amount",{"_index":1196,"title":{},"name":{},"text":{"18":{}},"component":{}}],["event.bikeid",{"_index":7970,"title":{},"name":{},"text":{"281":{}},"component":{}}],["event.biketyp",{"_index":7857,"title":{},"name":{},"text":{"280":{}},"component":{}}],["event.bloom",{"_index":6837,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.ev",{"_index":6838,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.forc",{"_index":6849,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.getamount",{"_index":3171,"title":{},"name":{},"text":{"63":{},"85":{}},"component":{}}],["event.getid",{"_index":3169,"title":{},"name":{},"text":{"63":{}},"component":{}}],["event.getid().startswith(query.getfilter().getidstartswith",{"_index":3174,"title":{},"name":{},"text":{"63":{}},"component":{}}],["event.getpayload",{"_index":5856,"title":{},"name":{},"text":{"121":{}},"component":{}}],["event.glob",{"_index":6085,"title":{},"name":{},"text":{"141":{},"179":{}},"component":{}}],["event.handler.thread",{"_index":7488,"title":{},"name":{},"text":{"215":{}},"component":{}}],["event.id",{"_index":1248,"title":{},"name":{},"text":{"20":{}},"component":{}}],["event.id.startswith(query.idfilt",{"_index":5663,"title":{},"name":{},"text":{"108":{}},"component":{}}],["event.index",{"_index":6330,"title":{},"name":{},"text":{"147":{},"166":{},"169":{},"179":{}},"component":{}}],["event.leader.retry.attempt",{"_index":6876,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.leader.retry.delay",{"_index":6877,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.loc",{"_index":7858,"title":{},"name":{},"text":{"280":{}},"component":{}}],["event.max",{"_index":6333,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["event.memori",{"_index":6859,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.new",{"_index":6839,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.otherst",{"_index":4777,"title":{},"name":{},"text":{"77":{}},"component":{}}],["event.primari",{"_index":6851,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.read",{"_index":6940,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.retent",{"_index":6335,"title":{},"name":{},"text":{"147":{},"151":{}},"component":{}}],["event.secondari",{"_index":6854,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.seg",{"_index":6327,"title":{},"name":{},"text":{"147":{},"151":{},"179":{}},"component":{}}],["event.somest",{"_index":4775,"title":{},"name":{},"text":{"77":{}},"component":{}}],["event.storag",{"_index":6324,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["event.storage=[loc",{"_index":6355,"title":{},"name":{},"text":{"147":{}},"component":{}}],["event.sync",{"_index":6856,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.us",{"_index":6870,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.valid",{"_index":6857,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event/snapshot",{"_index":6170,"title":{},"name":{},"text":{"143":{},"147":{},"162":{}},"component":{}}],["eventa",{"_index":2407,"title":{},"name":{},"text":{"43":{}},"component":{}}],["eventavailabilitytimeout",{"_index":5194,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventb",{"_index":2406,"title":{},"name":{},"text":{"43":{}},"component":{}}],["eventblocklistingen",{"_index":3956,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eventbu",{"_index":2046,"title":{},"name":{},"text":{"36":{},"39":{},"40":{},"42":{},"46":{},"51":{},"57":{},"66":{},"69":{},"82":{},"88":{},"89":{},"90":{}},"component":{}}],["eventbuffer#disableig",{"_index":3957,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eventbus(eventbu",{"_index":2373,"title":{},"name":{},"text":{"40":{}},"component":{}}],["eventbus.registerdispatchinterceptor(new",{"_index":2769,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventbus/eventgateway",{"_index":2833,"title":{},"name":{},"text":{"52":{}},"component":{}}],["eventbusclass}.commit",{"_index":3074,"title":{},"name":{},"text":{"59":{}},"component":{}}],["eventbusclass}.publish(${eventclass",{"_index":3073,"title":{},"name":{},"text":{"59":{}},"component":{}}],["eventbusconfigur",{"_index":2766,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventc",{"_index":2408,"title":{},"name":{},"text":{"43":{}},"component":{}}],["eventcountsnapshottriggerdefinit",{"_index":4729,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eventcountsnapshottriggerdefinition(snapshott",{"_index":4748,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eventdata",{"_index":295,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["eventforwardingmod",{"_index":4954,"title":{},"name":{},"text":{"84":{}},"component":{}}],["eventgateway",{"_index":2391,"title":{},"name":{},"text":{"42":{},"66":{},"121":{},"286":{}},"component":{}}],["eventgateway.publish(new",{"_index":2393,"title":{},"name":{},"text":{"42":{},"286":{}},"component":{}}],["eventhandl",{"_index":2396,"title":{},"name":{},"text":{"43":{},"51":{},"52":{},"63":{},"66":{},"67":{},"69":{},"77":{},"82":{},"85":{},"86":{},"87":{},"88":{},"108":{},"115":{},"280":{},"286":{},"290":{}},"component":{}}],["eventhandler(ev",{"_index":5754,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventhandler`",{"_index":7870,"title":{},"name":{},"text":{"280":{}},"component":{}}],["eventhandlerinterceptor",{"_index":5101,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventhandlerinvok",{"_index":5097,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventhandlingcomponentschedulingev",{"_index":5753,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventidentifi",{"_index":4799,"title":{},"name":{},"text":{"79":{}},"component":{}}],["eventjobdatabind",{"_index":2347,"title":{},"name":{},"text":{"40":{}},"component":{}}],["eventloggingdispatchinterceptor",{"_index":2763,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventmessag",{"_index":2315,"title":{},"name":{},"text":{"39":{},"42":{},"43":{},"44":{},"47":{},"49":{},"51":{},"52":{},"66":{},"67":{},"86":{},"87":{},"101":{}},"component":{}}],["eventmessage.class",{"_index":2785,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventmessage`",{"_index":4912,"title":{},"name":{},"text":{"82":{},"85":{}},"component":{}}],["eventmessagehandl",{"_index":5084,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventmono",{"_index":5853,"title":{},"name":{},"text":{"121":{}},"component":{}}],["eventmono.map(ev",{"_index":5854,"title":{},"name":{},"text":{"121":{}},"component":{}}],["eventmultiupcast",{"_index":2455,"title":{},"name":{},"text":{"44":{},"67":{}},"component":{}}],["eventnam",{"_index":7463,"title":{},"name":{},"text":{"212":{}},"component":{}}],["eventprocessing(eventprocessingconfigurer::usingtrackingeventprocessor",{"_index":5125,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessingconfigur",{"_index":1084,"title":{},"name":{},"text":{"15":{},"17":{},"43":{},"66":{},"67":{},"69":{},"71":{},"86":{},"87":{},"88":{},"99":{},"102":{},"144":{}},"component":{}}],["eventprocessingconfiguration#eventprocessor(str",{"_index":5304,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessingconfigurer#defaulttransactionmanag",{"_index":3541,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventprocessingconfigurer#registersaga(class",{"_index":4507,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer#registersagastore(funct",{"_index":4512,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer.pooledstreamingprocessorconfigur",{"_index":5146,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessingconfigurer.registereventhandler(configur",{"_index":5588,"title":{},"name":{},"text":{"102":{}},"component":{}}],["eventprocessingconfigurer.registersaga",{"_index":4508,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer.registersaga(mysaga.class",{"_index":4503,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer.registersubscribingeventprocessor",{"_index":5520,"title":{},"name":{},"text":{"99":{}},"component":{}}],["eventprocessingconfigurer.registertrackingeventprocessor",{"_index":5530,"title":{},"name":{},"text":{"99":{}},"component":{}}],["eventprocessingmodul",{"_index":3711,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventprocessor",{"_index":2773,"title":{},"name":{},"text":{"51":{},"53":{},"57":{},"66":{},"76":{},"87":{},"88":{},"144":{},"180":{}},"component":{}}],["eventprocessor(\"com.demo.queri",{"_index":5726,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventprocessor(processornam",{"_index":4706,"title":{},"name":{},"text":{"76":{}},"component":{}}],["eventprocessor.getidentifier().getprocessornam",{"_index":6220,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessor.getidentifier().gettokenstoreidentifi",{"_index":6222,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessor.gettokenstoreidentifi",{"_index":5228,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessoradminservic",{"_index":6960,"title":{},"name":{},"text":{"180":{}},"component":{}}],["eventprocessorbuild",{"_index":5095,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventprocessorbyprocessinggroup(processornam",{"_index":6192,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessorconfigur",{"_index":2774,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventprocessorcontrolservic",{"_index":3936,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eventprocessorlatencymetr",{"_index":3423,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventprocessorlatencymonitor",{"_index":2904,"title":{},"name":{},"text":{"57":{},"67":{}},"component":{}}],["eventprocessornam",{"_index":6216,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessorproperti",{"_index":1090,"title":{},"name":{},"text":{"15":{}},"component":{}}],["eventprocessor}",{"_index":1074,"title":{},"name":{},"text":{"15":{}},"component":{}}],["eventpublish",{"_index":5849,"title":{},"name":{},"text":{"121":{}},"component":{}}],["events/snapshot",{"_index":6175,"title":{},"name":{},"text":{"143":{}},"component":{}}],["events1",{"_index":467,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events1:/axonserver/ev",{"_index":437,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events2",{"_index":473,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events2:/axonserver/ev",{"_index":448,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events3",{"_index":479,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events3:/axonserver/ev",{"_index":454,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["eventschedul",{"_index":2333,"title":{},"name":{},"text":{"40":{},"66":{},"74":{},"115":{}},"component":{}}],["eventscheduler#schedul",{"_index":5757,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventscheduler.cancelschedule(token",{"_index":5758,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventscheduler.schedule(instant.now().plusdays(10",{"_index":5756,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventschedulingcompon",{"_index":5761,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventschema",{"_index":3381,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventseri",{"_index":1096,"title":{},"name":{},"text":{"15":{},"46":{},"66":{},"104":{}},"component":{}}],["eventserializer(config.eventseri",{"_index":2575,"title":{},"name":{},"text":{"46":{}},"component":{}}],["eventserializer(eventseri",{"_index":1103,"title":{},"name":{},"text":{"15":{},"46":{}},"component":{}}],["eventsourc",{"_index":1490,"title":{},"name":{},"text":{"30":{},"33":{},"145":{}},"component":{}}],["eventsourcea",{"_index":5363,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventsourceb",{"_index":5364,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventsources.rang",{"_index":6276,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventsourcinghandl",{"_index":1194,"title":{},"name":{},"text":{"18":{},"20":{},"82":{},"84":{},"280":{},"281":{},"288":{},"289":{}},"component":{}}],["eventsourcinghandler`",{"_index":4889,"title":{},"name":{},"text":{"81":{}},"component":{}}],["eventsourcingrepositori",{"_index":2036,"title":{},"name":{},"text":{"36":{},"66":{},"77":{}},"component":{}}],["eventsourcingrepository#getaggregatefactori",{"_index":4737,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eventsourcingrepository.builder(giftcard.class",{"_index":2033,"title":{},"name":{},"text":{"36":{}},"component":{}}],["eventsourcingrepository.builder(giftcard.class).eventstore(eventstore).build",{"_index":2039,"title":{},"name":{},"text":{"36":{}},"component":{}}],["eventstor",{"_index":2037,"title":{},"name":{},"text":{"36":{},"38":{},"39":{},"44":{},"46":{},"49":{},"51":{},"57":{},"66":{},"67":{},"69":{},"77":{},"87":{},"88":{},"90":{},"113":{},"115":{},"143":{},"245":{}},"component":{}}],["eventstorageengin",{"_index":2520,"title":{},"name":{},"text":{"46":{},"51":{},"67":{},"79":{},"113":{},"114":{}},"component":{}}],["eventstore(c.eventstor",{"_index":2034,"title":{},"name":{},"text":{"36":{}},"component":{}}],["eventstore(eventstorageengin",{"_index":2599,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["eventstore’",{"_index":2618,"title":{},"name":{},"text":{"46":{}},"component":{}}],["eventstream",{"_index":7629,"title":{},"name":{},"text":{"261":{}},"component":{}}],["eventtablefactori",{"_index":2571,"title":{},"name":{},"text":{"46":{}},"component":{}}],["eventtrackerstatuschangelisten",{"_index":3774,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventtransform",{"_index":6274,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel",{"_index":6311,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#activetransform",{"_index":6316,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#newtransformation(descript",{"_index":6299,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#startcompact",{"_index":6314,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#transform",{"_index":6296,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtyp",{"_index":5636,"title":{},"name":{},"text":{"106":{}},"component":{}}],["eventtypeupcast",{"_index":2462,"title":{},"name":{},"text":{"44":{},"67":{}},"component":{}}],["eventtypeupcaster#from(str",{"_index":2464,"title":{},"name":{},"text":{"44":{}},"component":{}}],["eventtypeupcaster.builder#to(upcastedpayloadtyp",{"_index":2467,"title":{},"name":{},"text":{"44":{}},"component":{}}],["eventu",{"_index":3201,"title":{},"name":{},"text":{"63":{},"67":{},"79":{},"88":{},"94":{}},"component":{}}],["eventupcaster.singleeventupcast",{"_index":5635,"title":{},"name":{},"text":{"106":{}},"component":{}}],["eventupcasterchain",{"_index":2495,"title":{},"name":{},"text":{"44":{},"67":{},"101":{}},"component":{}}],["eventutils#asdomaineventmessag",{"_index":3771,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventvalid",{"_index":3785,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventwithtoken",{"_index":6281,"title":{},"name":{},"text":{"145":{}},"component":{}}],["event’",{"_index":2446,"title":{},"name":{},"text":{"44":{},"57":{},"88":{},"89":{}},"component":{}}],["everybodi",{"_index":4267,"title":{},"name":{},"text":{"67":{},"127":{}},"component":{}}],["everyth",{"_index":764,"title":{},"name":{},"text":{"5":{},"32":{},"87":{},"89":{},"151":{},"200":{},"202":{},"254":{},"255":{},"269":{},"276":{},"284":{},"285":{}},"component":{}}],["evict",{"_index":1047,"title":{},"name":{},"text":{"14":{},"69":{},"71":{}},"component":{}}],["evolut",{"_index":7694,"title":{},"name":{},"text":{"273":{},"274":{},"279":{}},"component":{}}],["evolutionari",{"_index":811,"title":{},"name":{},"text":{"5":{}},"component":{}}],["evolv",{"_index":7250,"title":{},"name":{},"text":{"200":{},"230":{},"240":{},"274":{},"279":{},"282":{}},"component":{}}],["evt",{"_index":4907,"title":{},"name":{},"text":{"82":{},"84":{}},"component":{}}],["evt.getamount",{"_index":4951,"title":{},"name":{},"text":{"84":{}},"component":{}}],["evt.getcardid",{"_index":4908,"title":{},"name":{},"text":{"82":{}},"component":{}}],["exact",{"_index":1472,"title":{},"name":{},"text":{"30":{},"38":{},"64":{},"67":{},"72":{},"88":{},"151":{},"163":{},"179":{},"280":{}},"component":{}}],["exactli",{"_index":33,"title":{"2-1":{}},"name":{},"text":{"27":{},"34":{},"36":{},"38":{},"49":{},"69":{},"72":{},"77":{},"84":{},"86":{},"88":{},"145":{},"154":{},"177":{},"239":{},"274":{}},"component":{}}],["exactsequenceof",{"_index":4640,"title":{},"name":{},"text":{"72":{}},"component":{}}],["examin",{"_index":7306,"title":{"203-2":{}},"name":{},"text":{"274":{}},"component":{}}],["exampl",{"_index":511,"title":{"193-5":{},"195-1":{},"286-3":{},"288-3":{},"289-3":{},"290-3":{}},"name":{},"text":{"3":{},"4":{},"5":{},"6":{},"8":{},"13":{},"14":{},"15":{},"16":{},"18":{},"21":{},"24":{},"27":{},"29":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"57":{},"58":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"80":{},"81":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"100":{},"102":{},"104":{},"105":{},"107":{},"108":{},"111":{},"115":{},"121":{},"124":{},"127":{},"128":{},"129":{},"132":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"177":{},"178":{},"179":{},"181":{},"184":{},"191":{},"192":{},"199":{},"201":{},"202":{},"206":{},"208":{},"221":{},"234":{},"239":{},"244":{},"249":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"264":{},"266":{},"270":{},"273":{},"274":{},"278":{},"280":{},"281":{},"286":{},"287":{}},"component":{}}],["examplehandlerdefinit",{"_index":1325,"title":{},"name":{},"text":{"24":{}},"component":{}}],["examplemessagehandlingmemb",{"_index":1332,"title":{},"name":{},"text":{"24":{}},"component":{}}],["examplemessagehandlingmember(messagehandlingmemb",{"_index":1336,"title":{},"name":{},"text":{"24":{}},"component":{}}],["examplemessagehandlingmember<>(origin",{"_index":1329,"title":{},"name":{},"text":{"24":{}},"component":{}}],["exce",{"_index":736,"title":{"5-9":{}},"name":{},"text":{"77":{},"88":{},"260":{},"262":{}},"component":{}}],["exceed",{"_index":4333,"title":{},"name":{},"text":{"67":{},"86":{},"88":{},"269":{}},"component":{}}],["excel",{"_index":1289,"title":{},"name":{},"text":{"23":{},"31":{},"274":{},"277":{}},"component":{}}],["except",{"_index":1137,"title":{"48":{},"48-1":{}},"name":{"48":{}},"text":{"16":{},"31":{},"34":{},"35":{},"38":{},"40":{},"44":{},"46":{},"48":{},"51":{},"53":{},"63":{},"66":{},"67":{},"72":{},"77":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"101":{},"105":{},"143":{},"145":{},"149":{},"206":{},"215":{},"257":{},"260":{},"262":{},"289":{}},"component":{}}],["exception",{"_index":1917,"title":{},"name":{},"text":{"34":{},"67":{}},"component":{}}],["exception/messag",{"_index":2797,"title":{},"name":{},"text":{"51":{}},"component":{}}],["exceptionhandl",{"_index":2649,"title":{"48-2":{},"51-14":{}},"name":{},"text":{"48":{},"51":{},"66":{},"67":{}},"component":{}}],["exceptionhandler(payloadtyp",{"_index":2800,"title":{},"name":{},"text":{"51":{}},"component":{}}],["exceptionhandler(resulttyp",{"_index":2805,"title":{},"name":{},"text":{"51":{}},"component":{}}],["exceptionresult",{"_index":2875,"title":{},"name":{},"text":{"53":{}},"component":{}}],["exchang",{"_index":90,"title":{"90":{}},"name":{},"text":{"2":{},"90":{},"91":{},"279":{},"283":{}},"component":{}}],["excit",{"_index":7688,"title":{},"name":{},"text":{"272":{}},"component":{}}],["exclud",{"_index":2255,"title":{},"name":{},"text":{"38":{},"46":{},"61":{},"66":{},"86":{}},"component":{}}],["exclus",{"_index":2549,"title":{},"name":{},"text":{"46":{},"67":{},"195":{}},"component":{}}],["execut",{"_index":338,"title":{"48-1":{},"72-4":{},"283-4":{},"285-5":{}},"name":{},"text":{"3":{},"24":{},"34":{},"35":{},"38":{},"39":{},"41":{},"42":{},"46":{},"48":{},"49":{},"51":{},"53":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"81":{},"82":{},"83":{},"88":{},"115":{},"143":{},"144":{},"145":{},"148":{},"150":{},"151":{},"171":{},"174":{},"178":{},"179":{},"180":{},"186":{},"191":{},"192":{},"194":{},"200":{},"201":{},"204":{},"208":{},"215":{},"239":{},"260":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["execute(eventtranformationchannelsuppli",{"_index":6291,"title":{},"name":{},"text":{"145":{}},"component":{}}],["execute(giftcard",{"_index":1997,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["executeintransact",{"_index":5764,"title":{},"name":{},"text":{"115":{}},"component":{}}],["executewithresult",{"_index":2871,"title":{},"name":{},"text":{"53":{}},"component":{}}],["executionresult",{"_index":2880,"title":{},"name":{},"text":{"53":{}},"component":{}}],["executor",{"_index":2156,"title":{},"name":{},"text":{"38":{},"59":{},"77":{},"88":{},"99":{},"128":{},"130":{},"179":{}},"component":{}}],["executors.newscheduledthreadpool(1",{"_index":5267,"title":{},"name":{},"text":{"88":{}},"component":{}}],["executors.newscheduledthreadpool(16",{"_index":5270,"title":{},"name":{},"text":{"88":{}},"component":{}}],["executorservic",{"_index":2162,"title":{},"name":{},"text":{"38":{},"99":{}},"component":{}}],["executorservice(executorservic",{"_index":5492,"title":{},"name":{},"text":{"99":{}},"component":{}}],["exemplifi",{"_index":1869,"title":{},"name":{},"text":{"34":{},"38":{}},"component":{}}],["exercis",{"_index":7762,"title":{},"name":{},"text":{"277":{}},"component":{}}],["exhaust",{"_index":1831,"title":{},"name":{},"text":{"33":{},"52":{},"66":{},"67":{},"86":{},"87":{},"88":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{}},"component":{}}],["exist",{"_index":552,"title":{},"name":{},"text":{"3":{},"6":{},"17":{},"24":{},"35":{},"36":{},"38":{},"39":{},"46":{},"47":{},"51":{},"60":{},"63":{},"66":{},"67":{},"69":{},"71":{},"76":{},"79":{},"97":{},"143":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"161":{},"169":{},"170":{},"177":{},"178":{},"180":{},"191":{},"199":{},"203":{},"204":{},"206":{},"208":{},"215":{},"216":{},"250":{},"273":{},"280":{},"286":{},"289":{}},"component":{}}],["exit",{"_index":2783,"title":{},"name":{},"text":{"51":{},"59":{}},"component":{}}],["expand",{"_index":1263,"title":{},"name":{},"text":{"21":{},"66":{},"140":{},"150":{},"156":{},"274":{}},"component":{}}],["expect",{"_index":1324,"title":{},"name":{},"text":{"24":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"43":{},"44":{},"47":{},"51":{},"52":{},"53":{},"62":{},"63":{},"64":{},"66":{},"67":{},"72":{},"74":{},"77":{},"80":{},"83":{},"84":{},"87":{},"88":{},"101":{},"104":{},"121":{},"143":{},"151":{},"161":{},"166":{},"176":{},"203":{},"204":{},"206":{},"211":{},"212":{},"214":{},"216":{},"219":{},"224":{},"244":{},"263":{},"266":{},"269":{},"274":{},"280":{},"281":{},"285":{}},"component":{}}],["expectdeadlinesmet(object",{"_index":4670,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectdeadlinesmetmatching(match",{"_index":4671,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectdispatchedcommandsmatching(matchers.listwithallof(amarkasoverduecommand",{"_index":4677,"title":{},"name":{},"text":{"74":{}},"component":{}}],["expectdispatchedcommandsmatching(matchers.payloadsmatching(matchers.listwithallof(amarkasoverduecommand",{"_index":4678,"title":{},"name":{},"text":{"74":{}},"component":{}}],["expectedpayloadtyp",{"_index":2465,"title":{},"name":{},"text":{"44":{}},"component":{}}],["expectedrevis",{"_index":2466,"title":{},"name":{},"text":{"44":{}},"component":{}}],["expectedvalu",{"_index":1335,"title":{},"name":{},"text":{"24":{}},"component":{}}],["expectedvalue.equals(message.getmetadata().get(metadatakey",{"_index":1347,"title":{},"name":{},"text":{"24":{}},"component":{}}],["expectevents(new",{"_index":1278,"title":{},"name":{},"text":{"22":{},"72":{},"285":{}},"component":{}}],["expecteventsmatching(exactsequenceof",{"_index":4637,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expecteventsmatching(payloadsmatch",{"_index":4639,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectexceptionmessag",{"_index":4228,"title":{},"name":{},"text":{"67":{}},"component":{}}],["expectnoev",{"_index":1206,"title":{},"name":{},"text":{"18":{}},"component":{}}],["expectnoscheduleddeadlin",{"_index":4660,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadline(dur",{"_index":4663,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadline(inst",{"_index":4667,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinematching(dur",{"_index":4662,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinematching(inst",{"_index":4666,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinematching(match",{"_index":4661,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlineoftype(dur",{"_index":4664,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlineoftype(inst",{"_index":4668,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinewithname(dur",{"_index":4665,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinewithname(inst",{"_index":4669,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadline(dur",{"_index":4652,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadline(inst",{"_index":4656,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinematching(dur",{"_index":4653,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinematching(inst",{"_index":4657,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlineoftype(dur",{"_index":4654,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlineoftype(inst",{"_index":4658,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinewithname(dur",{"_index":4655,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinewithname(inst",{"_index":4659,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectst",{"_index":4647,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectstate(st",{"_index":4646,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectsuccessfulhandlerexecut",{"_index":1205,"title":{},"name":{},"text":{"18":{},"22":{},"66":{},"72":{}},"component":{}}],["expecttriggereddeadlineswithname(\"expired_gift_card",{"_index":1280,"title":{},"name":{},"text":{"22":{}},"component":{}}],["expend",{"_index":5798,"title":{},"name":{},"text":{"121":{}},"component":{}}],["expens",{"_index":4495,"title":{},"name":{},"text":{"69":{},"71":{},"77":{},"151":{},"156":{}},"component":{}}],["experi",{"_index":1534,"title":{},"name":{},"text":{"30":{},"140":{},"203":{},"235":{},"263":{},"265":{},"277":{}},"component":{}}],["experienc",{"_index":7801,"title":{},"name":{},"text":{"279":{}},"component":{}}],["experiment",{"_index":5644,"title":{},"name":{},"text":{"107":{},"140":{},"151":{}},"component":{}}],["experimental.black",{"_index":6444,"title":{},"name":{},"text":{"151":{}},"component":{}}],["expert",{"_index":4523,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expir",{"_index":1181,"title":{},"name":{},"text":{"18":{},"20":{},"21":{},"77":{},"176":{},"179":{},"185":{},"261":{}},"component":{}}],["expired_gift_card",{"_index":1193,"title":{},"name":{},"text":{"18":{},"20":{}},"component":{}}],["expiri",{"_index":6015,"title":{},"name":{},"text":{"140":{}},"component":{}}],["expiringcardexpiredev",{"_index":1256,"title":{},"name":{},"text":{"20":{},"22":{}},"component":{}}],["expiringcardexpiredevent(card_id",{"_index":1279,"title":{},"name":{},"text":{"22":{}},"component":{}}],["expiringcardexpiredevent(giftcardid",{"_index":1246,"title":{},"name":{},"text":{"20":{}},"component":{}}],["expiringcardissuedevent(command.id",{"_index":1238,"title":{},"name":{},"text":{"20":{}},"component":{}}],["expiringgiftcard",{"_index":1228,"title":{},"name":{},"text":{"20":{}},"component":{}}],["expiringgiftcardtest",{"_index":1269,"title":{},"name":{},"text":{"22":{}},"component":{}}],["explain",{"_index":1126,"title":{},"name":{},"text":{"15":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"37":{},"38":{},"43":{},"44":{},"61":{},"62":{},"67":{},"82":{},"85":{},"86":{},"88":{},"151":{},"216":{},"217":{},"219":{},"221":{},"273":{},"282":{}},"component":{}}],["explan",{"_index":1438,"title":{},"name":{},"text":{"29":{},"66":{},"145":{},"260":{},"280":{}},"component":{}}],["explicit",{"_index":2080,"title":{},"name":{},"text":{"38":{},"46":{},"47":{},"67":{},"72":{},"74":{},"83":{},"87":{},"108":{},"142":{},"273":{}},"component":{}}],["explicitli",{"_index":801,"title":{},"name":{},"text":{"5":{},"15":{},"24":{},"27":{},"32":{},"38":{},"46":{},"52":{},"72":{},"74":{},"77":{},"80":{},"84":{},"87":{},"88":{},"99":{},"145":{},"147":{},"149":{},"179":{},"192":{},"211":{},"212":{},"214":{},"286":{}},"component":{}}],["explor",{"_index":7227,"title":{},"name":{},"text":{"199":{},"241":{},"263":{},"265":{},"276":{},"280":{}},"component":{}}],["exploratori",{"_index":7669,"title":{},"name":{},"text":{"270":{}},"component":{}}],["exponenti",{"_index":2094,"title":{},"name":{},"text":{"38":{},"66":{}},"component":{}}],["exponentialbackoffintervalretryschedul",{"_index":2093,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["export",{"_index":187,"title":{"3-2":{},"154-7":{},"177-3":{}},"name":{},"text":{"3":{},"154":{},"177":{},"188":{},"191":{},"284":{}},"component":{}}],["expos",{"_index":342,"title":{},"name":{},"text":{"3":{},"38":{},"43":{},"50":{},"57":{},"58":{},"66":{},"82":{},"84":{},"86":{},"87":{},"88":{},"127":{},"140":{},"144":{},"165":{},"172":{},"185":{},"191":{},"215":{},"280":{},"290":{}},"component":{}}],["exposur",{"_index":6001,"title":{"140-11":{}},"name":{},"text":{},"component":{}}],["express",{"_index":2757,"title":{},"name":{},"text":{"51":{},"72":{},"89":{},"145":{},"147":{},"178":{},"193":{},"195":{},"196":{},"245":{},"289":{}},"component":{}}],["ext",{"_index":711,"title":{},"name":{},"text":{"4":{},"170":{},"172":{}},"component":{}}],["extend",{"_index":1302,"title":{},"name":{},"text":{"23":{},"24":{},"26":{},"36":{},"43":{},"44":{},"46":{},"47":{},"49":{},"52":{},"64":{},"66":{},"67":{},"77":{},"79":{},"81":{},"88":{},"121":{},"138":{},"280":{}},"component":{}}],["extens",{"_index":0,"title":{"1":{},"93":{},"95":{},"98":{},"100":{},"103":{},"109":{},"111":{},"112":{},"116":{},"119":{},"122":{},"126":{},"128":{},"131":{},"132":{},"134":{},"170":{},"172":{},"1-1":{},"4-3":{},"9-2":{},"30-15":{},"170-1":{},"170-2":{},"170-5":{},"172-1":{},"172-2":{}},"name":{},"text":{"1":{},"3":{},"4":{},"9":{},"29":{},"30":{},"31":{},"32":{},"38":{},"39":{},"46":{},"59":{},"63":{},"66":{},"72":{},"79":{},"86":{},"88":{},"89":{},"91":{},"92":{},"93":{},"95":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"107":{},"109":{},"112":{},"114":{},"115":{},"116":{},"117":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"126":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"140":{},"141":{},"147":{},"148":{},"170":{},"172":{},"174":{},"175":{},"191":{},"283":{}},"component":{"1":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{}}}],["extent",{"_index":1918,"title":{},"name":{},"text":{"34":{}},"component":{}}],["extern",{"_index":131,"title":{"286":{},"35-5":{}},"name":{},"text":{"2":{},"16":{},"35":{},"36":{},"69":{},"72":{},"74":{},"82":{},"85":{},"115":{},"121":{},"140":{},"144":{},"169":{},"174":{},"179":{},"281":{},"284":{},"286":{}},"component":{}}],["extra",{"_index":819,"title":{},"name":{},"text":{"5":{},"31":{},"38":{},"47":{},"49":{},"66":{},"72":{},"151":{},"179":{}},"component":{}}],["extract",{"_index":3701,"title":{},"name":{},"text":{"66":{},"77":{},"89":{},"192":{},"281":{}},"component":{}}],["extractor",{"_index":5244,"title":{},"name":{},"text":{"88":{}},"component":{}}],["extraordinari",{"_index":2136,"title":{},"name":{},"text":{"38":{}},"component":{}}],["extrem",{"_index":1635,"title":{},"name":{},"text":{"31":{},"60":{},"234":{},"242":{}},"component":{}}],["exts/axon",{"_index":6603,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["exts/common",{"_index":6727,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/cont",{"_index":6731,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/javax.inject",{"_index":6606,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["exts/javax.persist",{"_index":6733,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/javax.transact",{"_index":6735,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/jcip",{"_index":6737,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/lang",{"_index":6738,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/nimbu",{"_index":6740,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/oauth2",{"_index":6744,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/spr",{"_index":6608,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["exts/tomcat",{"_index":6750,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/valid",{"_index":6754,"title":{},"name":{},"text":{"172":{}},"component":{}}],["ey",{"_index":2967,"title":{},"name":{},"text":{"58":{},"266":{},"283":{}},"component":{}}],["f",{"_index":640,"title":{},"name":{},"text":{"3":{},"66":{},"148":{},"178":{},"191":{},"283":{}},"component":{}}],["f016e450998",{"_index":7934,"title":{},"name":{},"text":{"280":{}},"component":{}}],["fabio",{"_index":4217,"title":{},"name":{},"text":{"67":{}},"component":{}}],["facad",{"_index":1502,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["face",{"_index":4219,"title":{},"name":{},"text":{"67":{},"130":{}},"component":{}}],["facilit",{"_index":903,"title":{},"name":{},"text":{"6":{},"70":{},"73":{},"140":{},"145":{},"227":{},"236":{}},"component":{}}],["fact",{"_index":543,"title":{},"name":{},"text":{"3":{},"16":{},"26":{},"38":{},"49":{},"51":{},"59":{},"66":{},"67":{},"76":{},"84":{},"88":{},"145":{},"191":{}},"component":{}}],["facto",{"_index":5793,"title":{},"name":{},"text":{"120":{}},"component":{}}],["factor",{"_index":666,"title":{"38-13":{},"38-16":{}},"name":{},"text":{"3":{},"38":{},"77":{},"96":{},"128":{},"191":{},"211":{}},"component":{}}],["factor=100",{"_index":5458,"title":{},"name":{},"text":{"96":{},"128":{}},"component":{}}],["factori",{"_index":1291,"title":{"36-6":{},"59-1":{},"59-5":{},"115-14":{}},"name":{},"text":{"23":{},"36":{},"38":{},"50":{},"59":{},"66":{},"77":{},"80":{},"86":{},"87":{},"88":{},"113":{},"115":{},"119":{}},"component":{}}],["factory(factori",{"_index":5679,"title":{},"name":{},"text":{"113":{}},"component":{}}],["factory.creategateway(mygateway.class",{"_index":2130,"title":{},"name":{},"text":{"38":{}},"component":{}}],["factorybean",{"_index":4260,"title":{},"name":{},"text":{"67":{}},"component":{}}],["fail",{"_index":972,"title":{"17":{}},"name":{},"text":{"6":{},"15":{},"16":{},"31":{},"35":{},"36":{},"38":{},"48":{},"53":{},"57":{},"63":{},"66":{},"67":{},"72":{},"77":{},"83":{},"86":{},"88":{},"105":{},"121":{},"141":{},"143":{},"150":{},"179":{},"261":{}},"component":{}}],["failur",{"_index":973,"title":{},"name":{},"text":{"6":{},"38":{},"46":{},"48":{},"66":{},"67":{},"82":{},"85":{},"86":{},"102":{},"105":{},"127":{},"151":{},"257":{},"285":{},"288":{},"289":{}},"component":{}}],["failurethreshold",{"_index":625,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["fair",{"_index":2191,"title":{},"name":{},"text":{"38":{},"88":{}},"component":{}}],["fairli",{"_index":4526,"title":{},"name":{},"text":{"72":{}},"component":{}}],["faith",{"_index":4869,"title":{},"name":{},"text":{"80":{}},"component":{}}],["fall",{"_index":2256,"title":{},"name":{},"text":{"38":{},"46":{},"61":{},"66":{},"88":{},"284":{}},"component":{}}],["fallback",{"_index":2231,"title":{},"name":{},"text":{"38":{},"67":{},"89":{},"163":{},"206":{},"280":{}},"component":{}}],["fallbackroutingstrategy(unresolvedroutingkeypolicy.random_key",{"_index":2246,"title":{},"name":{},"text":{"38":{}},"component":{}}],["fallbackroutingstrategy(unresolvedroutingkeypolicy.static_key",{"_index":2244,"title":{},"name":{},"text":{"38":{}},"component":{}}],["fals",{"_index":1249,"title":{},"name":{},"text":{"20":{},"32":{},"38":{},"40":{},"52":{},"57":{},"58":{},"59":{},"67":{},"68":{},"82":{},"84":{},"114":{},"115":{},"132":{},"166":{},"169":{},"172":{},"178":{},"179":{},"184":{},"188":{},"192":{},"193":{},"204":{},"206":{},"244":{}},"component":{}}],["familiar",{"_index":7689,"title":{},"name":{},"text":{"272":{}},"component":{}}],["faq",{"_index":59,"title":{"2":{},"5":{}},"name":{"2":{}},"text":{"7":{}},"component":{"2":{},"5":{}}}],["far",{"_index":1495,"title":{},"name":{},"text":{"30":{},"32":{},"57":{},"67":{},"129":{},"141":{},"185":{},"221":{}},"component":{}}],["fashion",{"_index":3014,"title":{},"name":{},"text":{"59":{},"66":{},"88":{}},"component":{}}],["fast",{"_index":1567,"title":{},"name":{},"text":{"31":{},"46":{},"88":{},"121":{},"140":{},"151":{},"156":{},"163":{},"185":{},"281":{}},"component":{}}],["faster",{"_index":946,"title":{},"name":{},"text":{"6":{},"38":{},"140":{},"151":{},"179":{},"185":{}},"component":{}}],["fastest",{"_index":6416,"title":{},"name":{},"text":{"150":{},"242":{},"274":{}},"component":{}}],["fat",{"_index":2457,"title":{},"name":{},"text":{"44":{}},"component":{}}],["fatal",{"_index":6079,"title":{},"name":{},"text":{"141":{}},"component":{}}],["faulti",{"_index":4387,"title":{},"name":{},"text":{"67":{},"86":{},"128":{}},"component":{}}],["favor",{"_index":1825,"title":{},"name":{},"text":{"33":{},"67":{},"179":{},"215":{}},"component":{}}],["favorit",{"_index":7810,"title":{},"name":{},"text":{"279":{}},"component":{}}],["favour",{"_index":2259,"title":{},"name":{},"text":{"38":{}},"component":{}}],["feasibl",{"_index":4765,"title":{},"name":{},"text":{"77":{},"142":{}},"component":{}}],["featur",{"_index":36,"title":{"259":{},"281":{},"2-2":{},"2-5":{},"59-8":{},"66-2":{},"66-8":{},"66-13":{},"66-18":{},"66-23":{},"67-7":{},"67-58":{},"67-87":{},"67-101":{},"140-8":{},"140-15":{},"140-26":{},"141-26":{},"145-27":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{},"249-1":{}},"name":{},"text":{"2":{},"5":{},"29":{},"30":{},"32":{},"40":{},"52":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"79":{},"88":{},"94":{},"97":{},"119":{},"127":{},"140":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"163":{},"175":{},"177":{},"189":{},"192":{},"202":{},"221":{},"226":{},"244":{},"249":{},"250":{},"254":{},"259":{},"260":{},"262":{},"263":{},"265":{},"269":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"278":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["feature/1466",{"_index":3522,"title":{},"name":{},"text":{"66":{}},"component":{}}],["feature/1629",{"_index":3615,"title":{},"name":{},"text":{"66":{}},"component":{}}],["feed",{"_index":5544,"title":{},"name":{},"text":{"101":{}},"component":{}}],["feedback",{"_index":3644,"title":{"235":{}},"name":{"235":{}},"text":{"66":{},"140":{},"235":{}},"component":{}}],["feel",{"_index":171,"title":{},"name":{},"text":{"2":{},"5":{},"63":{},"107":{},"120":{},"140":{},"157":{}},"component":{}}],["fernanf",{"_index":3492,"title":{},"name":{},"text":{"66":{}},"component":{}}],["fetch",{"_index":2234,"title":{},"name":{},"text":{"38":{},"46":{},"59":{},"64":{},"66":{},"67":{},"88":{},"163":{},"206":{}},"component":{}}],["fetchcardsummariesqueri",{"_index":3176,"title":{},"name":{},"text":{"63":{},"202":{}},"component":{}}],["fetchcardsummariesquery(offset",{"_index":3180,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchcardsummariesquery.class",{"_index":3173,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchcardsummaryqueri",{"_index":3234,"title":{},"name":{},"text":{"64":{}},"component":{}}],["fetchcardsummaryquery(str",{"_index":3236,"title":{},"name":{},"text":{"64":{}},"component":{}}],["fetcher",{"_index":5480,"title":{},"name":{},"text":{"99":{},"104":{},"179":{}},"component":{}}],["fetcher(fetch",{"_index":5514,"title":{},"name":{},"text":{"99":{}},"component":{}}],["fetcher(long",{"_index":5488,"title":{},"name":{},"text":{"99":{}},"component":{}}],["fetchqueryresult",{"_index":3182,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchqueryresult.clos",{"_index":3190,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchtype.eag",{"_index":4972,"title":{},"name":{},"text":{"85":{}},"component":{}}],["few",{"_index":1183,"title":{},"name":{},"text":{"18":{},"23":{},"33":{},"38":{},"40":{},"46":{},"51":{},"53":{},"69":{},"72":{},"77":{},"128":{},"145":{},"151":{},"207":{},"239":{},"280":{},"281":{}},"component":{}}],["fewer",{"_index":7625,"title":{},"name":{},"text":{"260":{},"273":{}},"component":{}}],["field",{"_index":1429,"title":{"199-4":{}},"name":{},"text":{"29":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"58":{},"60":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"79":{},"81":{},"82":{},"83":{},"84":{},"85":{},"88":{},"89":{},"108":{},"132":{},"193":{},"194":{},"197":{},"199":{},"203":{},"216":{},"217":{},"219":{},"224":{},"262":{},"270":{},"274":{},"280":{},"281":{},"283":{}},"component":{}}],["field/gett",{"_index":4959,"title":{},"name":{},"text":{"84":{}},"component":{}}],["fifo",{"_index":4203,"title":{},"name":{},"text":{"67":{}},"component":{}}],["fifteen",{"_index":7039,"title":{},"name":{},"text":{"186":{}},"component":{}}],["fifteenth",{"_index":7603,"title":{},"name":{},"text":{"250":{}},"component":{}}],["fifth",{"_index":7709,"title":{},"name":{},"text":{"274":{}},"component":{}}],["figur",{"_index":2456,"title":{},"name":{},"text":{"44":{},"46":{},"201":{},"202":{},"203":{},"265":{},"273":{},"281":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["file",{"_index":241,"title":{"31-4":{},"31-5":{},"89-6":{},"89-12":{},"104-11":{},"179-1":{},"206-27":{},"206-29":{},"206-31":{},"206-34":{}},"name":{},"text":{"3":{},"4":{},"23":{},"24":{},"26":{},"29":{},"32":{},"33":{},"38":{},"44":{},"46":{},"66":{},"79":{},"88":{},"89":{},"94":{},"96":{},"104":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"162":{},"167":{},"169":{},"170":{},"172":{},"176":{},"177":{},"178":{},"179":{},"181":{},"185":{},"187":{},"188":{},"191":{},"192":{},"201":{},"206":{},"208":{},"215":{},"226":{},"237":{},"263":{},"267":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"283":{},"284":{},"285":{}},"component":{}}],["file.segment.per.ti",{"_index":6465,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file=./axoniq.licens",{"_index":573,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["file=./axoniq.token",{"_index":577,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["file=./axonserver.properti",{"_index":578,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["file=default_tcp_gossip.xml",{"_index":5465,"title":{},"name":{},"text":{"96":{}},"component":{}}],["file_segment_moved_complet",{"_index":6463,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_completed_total{axonserver=\"axonserv",{"_index":6457,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_dur",{"_index":6464,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_duration_seconds_sum{axonserver=\"axonserv",{"_index":6459,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_initi",{"_index":6462,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_initiated_total{axonserver=\"axonserv",{"_index":6454,"title":{},"name":{},"text":{"151":{}},"component":{}}],["filenam",{"_index":699,"title":{},"name":{},"text":{"4":{},"142":{}},"component":{}}],["fill",{"_index":2686,"title":{},"name":{},"text":{"50":{},"66":{},"86":{},"148":{},"163":{},"199":{},"211":{},"212":{},"214":{},"260":{},"281":{}},"component":{}}],["filter",{"_index":1319,"title":{"193":{},"46-11":{},"77-6":{},"274-29":{}},"name":{"193":{}},"text":{"24":{},"39":{},"46":{},"63":{},"66":{},"67":{},"72":{},"77":{},"86":{},"89":{},"108":{},"121":{},"127":{},"128":{},"140":{},"144":{},"145":{},"147":{},"170":{},"179":{},"193":{},"194":{},"260":{},"262":{},"274":{},"280":{}},"component":{}}],["filter(ctx",{"_index":5878,"title":{},"name":{},"text":{"121":{}},"component":{}}],["filter(eventprocessor",{"_index":4707,"title":{},"name":{},"text":{"76":{},"144":{}},"component":{}}],["filter(eventwithtoken",{"_index":6278,"title":{},"name":{},"text":{"145":{}},"component":{}}],["filter(pred",{"_index":6289,"title":{},"name":{},"text":{"145":{}},"component":{}}],["filter(result",{"_index":6229,"title":{},"name":{},"text":{"144":{}},"component":{}}],["filteringeventstorageengin",{"_index":2606,"title":{},"name":{},"text":{"46":{}},"component":{}}],["final",{"_index":344,"title":{"235-1":{}},"name":{},"text":{"3":{},"14":{},"17":{},"20":{},"21":{},"22":{},"24":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"49":{},"50":{},"51":{},"64":{},"72":{},"86":{},"121":{},"144":{},"145":{},"148":{},"191":{},"201":{},"202":{},"274":{},"279":{},"280":{},"281":{},"290":{}},"component":{}}],["financ",{"_index":7450,"title":{},"name":{},"text":{"209":{}},"component":{}}],["find",{"_index":763,"title":{},"name":{},"text":{"5":{},"12":{},"23":{},"29":{},"31":{},"33":{},"36":{},"43":{},"51":{},"53":{},"56":{},"59":{},"62":{},"67":{},"69":{},"77":{},"84":{},"86":{},"87":{},"93":{},"94":{},"95":{},"96":{},"98":{},"103":{},"109":{},"112":{},"115":{},"119":{},"122":{},"126":{},"127":{},"128":{},"131":{},"134":{},"147":{},"149":{},"150":{},"154":{},"167":{},"177":{},"179":{},"200":{},"211":{},"212":{},"214":{},"226":{},"239":{},"249":{},"262":{},"265":{},"280":{}},"component":{}}],["find_al",{"_index":7864,"title":{},"name":{},"text":{"280":{}},"component":{}}],["find_avail",{"_index":7866,"title":{},"name":{},"text":{"280":{}},"component":{}}],["find_on",{"_index":7865,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findal",{"_index":7829,"title":{"280-10":{},"280-13":{}},"name":{},"text":{"280":{}},"component":{}}],["findall(findallqueri",{"_index":5821,"title":{},"name":{},"text":{"121":{}},"component":{}}],["findallbybiketypeandstatus(str",{"_index":7881,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findavail",{"_index":7867,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findavailable(str",{"_index":7873,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findbyid",{"_index":7879,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findcardqueri",{"_index":2813,"title":{},"name":{},"text":{"51":{}},"component":{}}],["findcardquery.class",{"_index":2814,"title":{},"name":{},"text":{"51":{}},"component":{}}],["findmany(findmanyqueri",{"_index":5822,"title":{},"name":{},"text":{"121":{}},"component":{}}],["findon",{"_index":7830,"title":{"280-11":{},"280-13":{}},"name":{},"text":{"280":{}},"component":{}}],["findone(str",{"_index":7877,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findstatus(@pathvariable(\"bikeid",{"_index":7900,"title":{},"name":{},"text":{"280":{}},"component":{}}],["fine",{"_index":1311,"title":{},"name":{},"text":{"24":{},"31":{},"44":{},"48":{},"51":{},"57":{},"63":{},"66":{},"76":{},"77":{},"87":{},"88":{},"100":{},"132":{},"145":{},"151":{},"164":{},"172":{},"226":{},"244":{},"273":{}},"component":{}}],["finish",{"_index":1714,"title":{"32-6":{}},"name":{},"text":{"34":{},"38":{},"59":{},"82":{},"88":{},"143":{}},"component":{}}],["finit",{"_index":3229,"title":{},"name":{},"text":{"63":{}},"component":{}}],["finsh",{"_index":7554,"title":{},"name":{},"text":{"232":{}},"component":{}}],["fire",{"_index":2117,"title":{},"name":{},"text":{"38":{},"51":{},"59":{},"264":{},"270":{},"272":{},"273":{},"281":{}},"component":{}}],["firestart",{"_index":7653,"title":{"270":{},"269-3":{},"270-1":{},"270-2":{}},"name":{"270":{},"271":{}},"text":{"265":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"277":{}},"component":{}}],["first",{"_index":326,"title":{"237":{}},"name":{},"text":{"3":{},"5":{},"15":{},"18":{},"30":{},"31":{},"34":{},"35":{},"36":{},"37":{},"38":{},"42":{},"43":{},"44":{},"46":{},"51":{},"52":{},"57":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"76":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"96":{},"99":{},"115":{},"133":{},"141":{},"142":{},"145":{},"148":{},"151":{},"154":{},"177":{},"179":{},"186":{},"191":{},"192":{},"195":{},"199":{},"201":{},"202":{},"206":{},"212":{},"215":{},"237":{},"241":{},"247":{},"250":{},"254":{},"260":{},"263":{},"267":{},"269":{},"270":{},"272":{},"273":{},"274":{},"275":{},"276":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["firstev",{"_index":4634,"title":{},"name":{},"text":{"72":{}},"component":{}}],["firsthand",{"_index":7640,"title":{},"name":{},"text":{"263":{}},"component":{}}],["firstletterid",{"_index":5031,"title":{},"name":{},"text":{"86":{}},"component":{}}],["firstli",{"_index":2075,"title":{},"name":{},"text":{"38":{},"67":{},"88":{},"89":{},"121":{}},"component":{}}],["firsttoken",{"_index":6288,"title":{},"name":{},"text":{"145":{}},"component":{}}],["fisttoken",{"_index":6286,"title":{},"name":{},"text":{"145":{}},"component":{}}],["fit",{"_index":1262,"title":{},"name":{},"text":{"21":{},"66":{},"67":{},"77":{},"86":{},"111":{},"120":{},"145":{}},"component":{}}],["five",{"_index":2230,"title":{},"name":{},"text":{"38":{},"63":{},"121":{},"186":{},"273":{},"274":{}},"component":{}}],["fix",{"_index":671,"title":{"66-4":{},"66-10":{},"66-15":{},"66-20":{},"66-25":{},"66-29":{},"66-32":{},"66-35":{},"66-38":{},"66-41":{},"66-44":{},"67-4":{},"67-9":{},"67-13":{},"67-18":{},"67-21":{},"67-25":{},"67-31":{},"67-35":{},"67-39":{},"67-44":{},"67-47":{},"67-51":{},"67-55":{},"67-60":{},"67-63":{},"67-68":{},"67-71":{},"67-74":{},"67-77":{},"67-80":{},"67-84":{},"67-89":{},"67-93":{},"67-97":{},"67-99":{},"67-103":{},"67-105":{},"67-108":{},"119-4":{},"126-4":{},"140-3":{},"140-21":{},"141-21":{},"141-24":{},"141-27":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{}},"name":{},"text":{"3":{},"16":{},"57":{},"66":{},"67":{},"79":{},"87":{},"88":{},"119":{},"138":{},"140":{},"141":{},"144":{},"145":{},"191":{},"193":{},"215":{},"260":{},"270":{},"273":{}},"component":{}}],["fixedvaluerevisionresolv",{"_index":2441,"title":{},"name":{},"text":{"44":{}},"component":{}}],["fixtur",{"_index":1491,"title":{},"name":{},"text":{"30":{},"35":{},"66":{},"67":{},"72":{},"74":{},"285":{}},"component":{}}],["fixture.expectexception(class",{"_index":4595,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexception(match",{"_index":4594,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptiondetails(class",{"_index":4599,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptiondetails(match",{"_index":4600,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptiondetails(object",{"_index":4598,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptionmessage(match",{"_index":4597,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptionmessage(str",{"_index":4596,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessage(commandresultmessag",{"_index":4592,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessagematching(match",{"_index":4593,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessagepayload(object",{"_index":4590,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessagepayloadmatching(match",{"_index":4591,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectsuccessfulhandlerexecut",{"_index":4589,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.given(new",{"_index":4537,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.givenaggregate(invoiceid).published(new",{"_index":4674,"title":{},"name":{},"text":{"74":{}},"component":{}}],["fixture.givennoprioract",{"_index":8029,"title":{},"name":{},"text":{"285":{}},"component":{}}],["fixture.givenst",{"_index":4645,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.registerresource(object",{"_index":4681,"title":{},"name":{},"text":{"74":{}},"component":{}}],["fixtureconfigur",{"_index":4534,"title":{},"name":{},"text":{"72":{},"74":{}},"component":{}}],["fixture’",{"_index":4319,"title":{},"name":{},"text":{"67":{}},"component":{}}],["flag",{"_index":2112,"title":{},"name":{},"text":{"38":{},"67":{},"121":{},"178":{}},"component":{}}],["flagship",{"_index":5990,"title":{},"name":{},"text":{"137":{}},"component":{}}],["flatmap(collection::stream",{"_index":3151,"title":{},"name":{},"text":{"63":{}},"component":{}}],["flatmap(eventprocessor",{"_index":6224,"title":{},"name":{},"text":{"144":{}},"component":{}}],["flatmapmany(flux::fromiter",{"_index":5844,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flatmapmany(result",{"_index":5835,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flatten",{"_index":5840,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flavor",{"_index":1580,"title":{},"name":{},"text":{"31":{},"38":{},"39":{},"57":{},"87":{},"156":{},"224":{}},"component":{}}],["flexibl",{"_index":878,"title":{},"name":{},"text":{"6":{},"31":{},"38":{},"46":{},"47":{},"63":{},"67":{},"88":{},"89":{},"119":{},"140":{},"145":{}},"component":{}}],["flight",{"_index":7045,"title":{},"name":{},"text":{"186":{}},"component":{}}],["float",{"_index":3257,"title":{},"name":{},"text":{"64":{}},"component":{}}],["flow",{"_index":724,"title":{"163":{},"243":{},"258":{},"5-5":{},"49-4":{},"145-10":{},"145-13":{},"151-12":{},"274-39":{},"274-40":{}},"name":{"163":{},"243":{},"258":{}},"text":{"5":{},"31":{},"49":{},"56":{},"63":{},"87":{},"133":{},"151":{},"153":{},"163":{},"164":{},"179":{},"181":{},"185":{},"190":{},"243":{},"249":{},"250":{},"259":{},"274":{},"276":{},"281":{},"288":{},"289":{},"290":{}},"component":{}}],["fluctuat",{"_index":969,"title":{},"name":{},"text":{"6":{}},"component":{}}],["fluent",{"_index":1085,"title":{"145-19":{}},"name":{},"text":{"15":{},"72":{}},"component":{}}],["flush",{"_index":3104,"title":{},"name":{},"text":{"59":{}},"component":{}}],["flux",{"_index":3197,"title":{},"name":{},"text":{"63":{},"66":{},"67":{},"121":{},"144":{}},"component":{}}],["flux#concatmap",{"_index":5815,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flux.>error(new",{"_index":5893,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flux.from(new",{"_index":6218,"title":{},"name":{},"text":{"144":{}},"component":{}}],["flux.from(querygateway.streamingquery(queri",{"_index":3220,"title":{},"name":{},"text":{"63":{}},"component":{}}],["flux.fromiterable(eventprocessor.getclientinstancelist",{"_index":6225,"title":{},"name":{},"text":{"144":{}},"component":{}}],["flux.just(r",{"_index":5895,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flyway",{"_index":5724,"title":{},"name":{},"text":{"115":{}},"component":{}}],["focal",{"_index":237,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["focu",{"_index":4529,"title":{},"name":{},"text":{"72":{},"82":{},"140":{},"274":{},"275":{},"279":{},"280":{}},"component":{}}],["focus",{"_index":2870,"title":{},"name":{},"text":{"53":{},"238":{},"241":{},"285":{}},"component":{}}],["fold",{"_index":5207,"title":{},"name":{},"text":{"88":{}},"component":{}}],["folder",{"_index":6261,"title":{},"name":{},"text":{"145":{},"161":{},"162":{},"179":{},"192":{},"201":{},"208":{},"270":{},"276":{},"277":{},"279":{}},"component":{}}],["folder=./log",{"_index":385,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["follow",{"_index":257,"title":{"235-1":{},"283-4":{}},"name":{},"text":{"3":{},"5":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"42":{},"43":{},"44":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"60":{},"63":{},"64":{},"67":{},"69":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"85":{},"86":{},"87":{},"88":{},"89":{},"100":{},"104":{},"106":{},"114":{},"115":{},"116":{},"117":{},"118":{},"121":{},"123":{},"127":{},"128":{},"138":{},"140":{},"141":{},"144":{},"145":{},"146":{},"147":{},"148":{},"151":{},"153":{},"154":{},"155":{},"156":{},"157":{},"161":{},"163":{},"165":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"176":{},"177":{},"178":{},"179":{},"185":{},"186":{},"187":{},"188":{},"189":{},"191":{},"192":{},"193":{},"194":{},"197":{},"199":{},"201":{},"204":{},"208":{},"209":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"220":{},"221":{},"232":{},"233":{},"237":{},"241":{},"247":{},"249":{},"250":{},"255":{},"261":{},"262":{},"263":{},"267":{},"268":{},"269":{},"270":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"289":{}},"component":{}}],["for(str",{"_index":1160,"title":{},"name":{},"text":{"17":{}},"component":{}}],["forbidden",{"_index":4893,"title":{},"name":{},"text":{"81":{},"145":{}},"component":{}}],["forc",{"_index":1387,"title":{"140-17":{}},"name":{},"text":{"27":{},"59":{},"69":{},"77":{},"88":{},"140":{},"142":{},"172":{},"179":{}},"component":{}}],["forcefulli",{"_index":6872,"title":{},"name":{},"text":{"179":{}},"component":{}}],["forcenew",{"_index":4452,"title":{},"name":{},"text":{"69":{}},"component":{}}],["foreach(system.out::println",{"_index":3152,"title":{},"name":{},"text":{"63":{}},"component":{}}],["foreign",{"_index":8036,"title":{},"name":{},"text":{"286":{}},"component":{}}],["foremost",{"_index":5264,"title":{},"name":{},"text":{"88":{}},"component":{}}],["forev",{"_index":5043,"title":{},"name":{},"text":{"86":{},"88":{},"145":{}},"component":{}}],["forget",{"_index":1207,"title":{},"name":{},"text":{"18":{},"38":{},"46":{},"121":{},"145":{}},"component":{}}],["forgot",{"_index":6246,"title":{},"name":{},"text":{"145":{}},"component":{}}],["form",{"_index":1576,"title":{},"name":{},"text":{"31":{},"38":{},"44":{},"46":{},"57":{},"59":{},"64":{},"67":{},"82":{},"87":{},"88":{},"97":{},"121":{},"145":{},"147":{},"148":{},"199":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"218":{},"219":{},"244":{},"273":{},"279":{},"283":{},"285":{}},"component":{}}],["format",{"_index":1416,"title":{"101":{},"184":{},"147-1":{},"178-2":{},"184-1":{}},"name":{"101":{},"184":{}},"text":{"29":{},"31":{},"35":{},"40":{},"44":{},"51":{},"56":{},"59":{},"62":{},"64":{},"66":{},"67":{},"77":{},"79":{},"80":{},"101":{},"140":{},"143":{},"145":{},"147":{},"166":{},"168":{},"169":{},"174":{},"178":{},"183":{},"184":{},"185":{},"194":{},"195":{},"203":{},"206":{},"215":{},"216":{},"219":{},"255":{},"280":{},"281":{},"289":{}},"component":{}}],["formatdate(data",{"_index":7186,"title":{},"name":{},"text":{"195":{}},"component":{}}],["former",{"_index":2619,"title":{},"name":{},"text":{"46":{},"66":{},"77":{},"129":{}},"component":{}}],["formerli",{"_index":160,"title":{},"name":{},"text":{"2":{},"140":{}},"component":{}}],["formula",{"_index":7632,"title":{},"name":{},"text":{"262":{}},"component":{}}],["forten",{"_index":5733,"title":{},"name":{},"text":{"115":{}},"component":{}}],["fortun",{"_index":7880,"title":{},"name":{},"text":{"280":{},"285":{}},"component":{}}],["forum",{"_index":4241,"title":{},"name":{},"text":{"67":{},"235":{},"265":{},"271":{}},"component":{}}],["forward",{"_index":1835,"title":{"90":{}},"name":{"90":{}},"text":{"33":{},"44":{},"69":{},"71":{},"84":{},"90":{},"91":{},"102":{},"141":{},"143":{},"179":{},"194":{},"211":{},"281":{}},"component":{}}],["forwardal",{"_index":4961,"title":{},"name":{},"text":{"84":{}},"component":{}}],["forwardmatchinginst",{"_index":4958,"title":{},"name":{},"text":{"84":{}},"component":{}}],["forwardmatchinginstances.class",{"_index":4957,"title":{},"name":{},"text":{"84":{}},"component":{}}],["forwardnon",{"_index":4962,"title":{},"name":{},"text":{"84":{}},"component":{}}],["fot",{"_index":6957,"title":{},"name":{},"text":{"179":{}},"component":{}}],["found",{"_index":520,"title":{},"name":{},"text":{"3":{},"29":{},"36":{},"38":{},"43":{},"54":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"76":{},"79":{},"83":{},"84":{},"87":{},"97":{},"100":{},"111":{},"121":{},"143":{},"144":{},"147":{},"150":{},"169":{},"179":{},"191":{},"232":{},"239":{},"242":{},"250":{},"260":{},"262":{}},"component":{}}],["four",{"_index":2192,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"63":{},"72":{},"94":{},"244":{},"255":{},"274":{}},"component":{}}],["fourth",{"_index":7621,"title":{},"name":{},"text":{"260":{}},"component":{}}],["fpp",{"_index":6846,"title":{},"name":{},"text":{"179":{}},"component":{}}],["fqcn",{"_index":1788,"title":{},"name":{},"text":{"33":{}},"component":{}}],["frame",{"_index":4354,"title":{},"name":{},"text":{"67":{},"141":{}},"component":{}}],["framerwork",{"_index":7663,"title":{},"name":{},"text":{"266":{}},"component":{}}],["framework",{"_index":2,"title":{"1":{},"10":{},"16":{},"33":{},"168":{},"251":{},"261":{},"279":{},"12-1":{},"76-2":{},"144-3":{},"144-6":{},"147-2":{},"163-2":{},"241-1":{},"269-2":{},"285-1":{}},"name":{"10":{},"251":{},"279":{}},"text":{"1":{},"2":{},"5":{},"7":{},"8":{},"9":{},"10":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"23":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{},"37":{},"38":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"59":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"70":{},"72":{},"73":{},"76":{},"77":{},"78":{},"79":{},"81":{},"82":{},"85":{},"86":{},"88":{},"89":{},"93":{},"95":{},"98":{},"103":{},"107":{},"109":{},"111":{},"112":{},"117":{},"119":{},"120":{},"121":{},"122":{},"124":{},"126":{},"131":{},"134":{},"137":{},"140":{},"143":{},"144":{},"147":{},"150":{},"154":{},"161":{},"163":{},"165":{},"168":{},"169":{},"173":{},"174":{},"176":{},"189":{},"192":{},"199":{},"215":{},"219":{},"227":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"241":{},"242":{},"245":{},"246":{},"249":{},"250":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"272":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"285":{}},"component":{"1":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{}}}],["framework'",{"_index":5735,"title":{},"name":{},"text":{"115":{}},"component":{}}],["framework.vers",{"_index":3051,"title":{},"name":{},"text":{"59":{}},"component":{}}],["framework’",{"_index":1538,"title":{},"name":{},"text":{"30":{},"33":{},"38":{},"46":{},"67":{},"74":{},"86":{},"120":{}},"component":{}}],["free",{"_index":175,"title":{"5-1":{},"263-1":{}},"name":{},"text":{"2":{},"5":{},"47":{},"57":{},"63":{},"77":{},"86":{},"87":{},"120":{},"145":{},"246":{},"249":{},"250":{},"259":{},"260":{},"261":{},"262":{},"263":{},"267":{},"268":{},"269":{},"274":{},"276":{},"277":{}},"component":{}}],["freed",{"_index":6253,"title":{},"name":{},"text":{"145":{}},"component":{}}],["freedom",{"_index":5132,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["freeli",{"_index":2364,"title":{},"name":{},"text":{"40":{},"250":{},"254":{}},"component":{}}],["frequenc",{"_index":6433,"title":{},"name":{},"text":{"151":{},"179":{}},"component":{}}],["frequent",{"_index":984,"title":{"7-3":{}},"name":{},"text":{"29":{},"79":{},"140":{},"151":{}},"component":{}}],["fresh",{"_index":6491,"title":{},"name":{},"text":{"154":{},"177":{},"285":{}},"component":{}}],["friendli",{"_index":4306,"title":{},"name":{},"text":{"67":{}},"component":{}}],["friendlier",{"_index":2083,"title":{},"name":{},"text":{"38":{}},"component":{}}],["from/for",{"_index":6577,"title":{},"name":{},"text":{"168":{}},"component":{}}],["from=sourc",{"_index":349,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["front",{"_index":2738,"title":{},"name":{},"text":{"51":{},"239":{}},"component":{}}],["fsgroup",{"_index":599,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["fulfil",{"_index":2698,"title":{},"name":{},"text":{"50":{}},"component":{}}],["full",{"_index":1437,"title":{},"name":{},"text":{"29":{},"33":{},"36":{},"38":{},"44":{},"66":{},"67":{},"72":{},"77":{},"107":{},"115":{},"127":{},"137":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"156":{},"164":{},"186":{},"192":{},"211":{},"220":{},"280":{}},"component":{}}],["fullconcurrencypolici",{"_index":5241,"title":{},"name":{},"text":{"88":{}},"component":{}}],["fulli",{"_index":857,"title":{},"name":{},"text":{"5":{},"23":{},"24":{},"26":{},"32":{},"35":{},"36":{},"44":{},"52":{},"63":{},"67":{},"107":{},"120":{},"130":{},"144":{},"156":{},"157":{},"221":{},"280":{},"288":{}},"component":{}}],["fun",{"_index":5626,"title":{},"name":{},"text":{"105":{},"106":{},"108":{},"265":{}},"component":{}}],["function",{"_index":852,"title":{"195":{},"193-4":{},"206-58":{}},"name":{"195":{}},"text":{"5":{},"6":{},"8":{},"13":{},"15":{},"21":{},"25":{},"34":{},"35":{},"36":{},"37":{},"39":{},"42":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"70":{},"72":{},"75":{},"76":{},"77":{},"79":{},"82":{},"85":{},"86":{},"87":{},"88":{},"102":{},"105":{},"106":{},"108":{},"115":{},"121":{},"133":{},"140":{},"144":{},"145":{},"157":{},"192":{},"195":{},"197":{},"206":{},"220":{},"247":{},"250":{},"278":{}},"component":{}}],["functionalinterfac",{"_index":5096,"title":{},"name":{},"text":{"87":{},"121":{}},"component":{}}],["function’",{"_index":3145,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fundament",{"_index":5535,"title":{},"name":{},"text":{"100":{}},"component":{}}],["further",{"_index":533,"title":{},"name":{},"text":{"3":{},"16":{},"31":{},"34":{},"43":{},"46":{},"66":{},"67":{},"84":{},"88":{},"89":{},"96":{},"147":{},"148":{},"170":{},"189":{},"191":{},"221":{},"226":{},"280":{}},"component":{}}],["furthermor",{"_index":1555,"title":{},"name":{},"text":{"30":{},"35":{},"36":{},"38":{},"44":{},"46":{},"51":{},"60":{},"66":{},"67":{},"79":{},"86":{},"87":{},"88":{},"89":{},"96":{},"127":{},"132":{},"138":{},"264":{}},"component":{}}],["futur",{"_index":184,"title":{},"name":{},"text":{"2":{},"12":{},"34":{},"35":{},"38":{},"59":{},"64":{},"67":{},"127":{},"151":{},"169":{},"206":{},"234":{},"250":{},"254":{},"281":{},"285":{}},"component":{}}],["future/completablefutur",{"_index":4302,"title":{},"name":{},"text":{"67":{}},"component":{}}],["futurecallback",{"_index":1886,"title":{},"name":{},"text":{"34":{}},"component":{}}],["futureresult",{"_index":1893,"title":{},"name":{},"text":{"34":{},"76":{}},"component":{}}],["g",{"_index":358,"title":{},"name":{},"text":{"3":{},"147":{},"156":{},"178":{},"191":{}},"component":{}}],["ga",{"_index":4176,"title":{},"name":{},"text":{"67":{}},"component":{}}],["gain",{"_index":2823,"title":{},"name":{},"text":{"52":{},"59":{},"246":{}},"component":{}}],["game",{"_index":7658,"title":{},"name":{},"text":{"265":{}},"component":{}}],["gap",{"_index":1143,"title":{},"name":{},"text":{"17":{},"29":{},"66":{},"67":{},"72":{},"79":{},"80":{},"143":{}},"component":{}}],["gapawaretrackingtoken",{"_index":3966,"title":{},"name":{},"text":{"67":{}},"component":{}}],["garbag",{"_index":6032,"title":{},"name":{},"text":{"140":{},"179":{},"261":{}},"component":{}}],["gateway",{"_index":1850,"title":{"121":{},"38-6":{},"61-1":{},"63-1":{},"121-2":{},"121-5":{},"121-12":{}},"name":{"121":{}},"text":{"34":{},"36":{},"38":{},"42":{},"61":{},"63":{},"67":{},"74":{},"121":{},"215":{}},"component":{}}],["gather",{"_index":2995,"title":{"59-43":{},"63-3":{}},"name":{},"text":{"59":{},"61":{},"62":{},"63":{},"67":{},"127":{},"145":{},"199":{},"219":{},"261":{},"264":{},"274":{},"281":{}},"component":{}}],["gathier",{"_index":6388,"title":{},"name":{},"text":{"148":{}},"component":{}}],["gaug",{"_index":1505,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["gave",{"_index":7314,"title":{},"name":{},"text":{"203":{}},"component":{}}],["gb",{"_index":7631,"title":{},"name":{},"text":{"261":{}},"component":{}}],["gc1",{"_index":3192,"title":{},"name":{},"text":{"63":{}},"component":{}}],["gcloud",{"_index":7231,"title":{},"name":{},"text":{"199":{}},"component":{}}],["gcp",{"_index":7213,"title":{},"name":{},"text":{"199":{}},"component":{}}],["gcr.io",{"_index":322,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["gcr.io/distroless/java:11",{"_index":325,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["gdpr",{"_index":859,"title":{},"name":{},"text":{"5":{}},"component":{}}],["gener",{"_index":380,"title":{"23":{},"29-2":{},"31-13":{},"87-8":{},"104-1":{},"144-2":{},"273-1":{}},"name":{},"text":{"3":{},"5":{},"6":{},"10":{},"12":{},"23":{},"29":{},"31":{},"32":{},"33":{},"34":{},"36":{},"38":{},"42":{},"44":{},"46":{},"47":{},"48":{},"49":{},"51":{},"52":{},"53":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"78":{},"79":{},"82":{},"84":{},"86":{},"87":{},"88":{},"90":{},"94":{},"99":{},"108":{},"110":{},"111":{},"120":{},"154":{},"155":{},"164":{},"167":{},"168":{},"169":{},"172":{},"173":{},"176":{},"177":{},"178":{},"190":{},"191":{},"192":{},"199":{},"211":{},"212":{},"213":{},"214":{},"216":{},"218":{},"221":{},"246":{},"261":{},"274":{},"280":{},"281":{},"285":{}},"component":{"23":{}}}],["generatedvalu",{"_index":1441,"title":{},"name":{},"text":{"29":{},"79":{}},"component":{}}],["genericaggregatefactori",{"_index":2003,"title":{"36-7":{}},"name":{},"text":{"36":{}},"component":{}}],["genericcommandmessage#ascommandmessage(object",{"_index":1873,"title":{},"name":{},"text":{"34":{}},"component":{}}],["genericcommandmessage.ascommandmessage(new",{"_index":1861,"title":{},"name":{},"text":{"34":{}},"component":{}}],["genericeventmessag",{"_index":2636,"title":{},"name":{},"text":{"47":{},"49":{}},"component":{}}],["genericeventmessage.aseventmessage(\"intercept",{"_index":5855,"title":{},"name":{},"text":{"121":{}},"component":{}}],["genericeventmessage.clock",{"_index":2316,"title":{},"name":{},"text":{"39":{}},"component":{}}],["genericjparepositori",{"_index":2044,"title":{},"name":{},"text":{"36":{},"66":{},"67":{},"85":{}},"component":{}}],["genericmessagetest",{"_index":3909,"title":{},"name":{},"text":{"67":{}},"component":{}}],["genericquerymessag",{"_index":3032,"title":{},"name":{},"text":{"59":{},"63":{}},"component":{}}],["genericquerymessage<>(\"criteria",{"_index":3141,"title":{},"name":{},"text":{"63":{}},"component":{}}],["genericsagasqlschema",{"_index":4489,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["genericseri",{"_index":1094,"title":{},"name":{},"text":{"15":{}},"component":{}}],["genericserializer(genericseri",{"_index":1102,"title":{},"name":{},"text":{"15":{}},"component":{}}],["generictokentablefactori",{"_index":5212,"title":{},"name":{},"text":{"88":{}},"component":{}}],["generifi",{"_index":2658,"title":{},"name":{},"text":{"48":{}},"component":{}}],["geograph",{"_index":7557,"title":{},"name":{},"text":{"234":{}},"component":{}}],["get",{"_index":988,"title":{"227":{},"249-2":{}},"name":{},"text":{"7":{},"8":{},"13":{},"44":{},"59":{},"63":{},"147":{},"169":{},"185":{},"195":{},"249":{},"263":{},"264":{},"276":{}},"component":{"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{}}}],["get_app_detail",{"_index":6647,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_commands_count",{"_index":6690,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_commands_queu",{"_index":6691,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_event_processor",{"_index":6649,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_event_processor_strategi",{"_index":6648,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_event_processors_strategi",{"_index":6650,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_first_token",{"_index":6697,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_last_token",{"_index":6698,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_plugin_configur",{"_index":6651,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_token_at",{"_index":6699,"title":{},"name":{},"text":{"171":{}},"component":{}}],["getalleventprocessors(google.protobuf.empti",{"_index":6962,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getapplication(applicationid",{"_index":6995,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getapplications(google.protobuf.empti",{"_index":6997,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getbalancingstrategies(google.protobuf.empti",{"_index":6970,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getbik",{"_index":8082,"title":{},"name":{},"text":{"290":{}},"component":{}}],["getbikeid",{"_index":7842,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getbikesqueri",{"_index":8080,"title":{},"name":{},"text":{"290":{}},"component":{}}],["getbiketyp",{"_index":7843,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getcontaineripaddress",{"_index":3591,"title":{},"name":{},"text":{"66":{}},"component":{}}],["getcontext(getcontextrequest",{"_index":6976,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getcontexts(google.protobuf.empti",{"_index":6978,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getcurrentposit",{"_index":2977,"title":{},"name":{},"text":{"58":{}},"component":{}}],["getentitymanag",{"_index":2544,"title":{},"name":{},"text":{"46":{}},"component":{}}],["geteventprocessorsbycomponent(compon",{"_index":6963,"title":{},"name":{},"text":{"180":{}},"component":{}}],["gethost",{"_index":3590,"title":{},"name":{},"text":{"66":{}},"component":{}}],["getidentifi",{"_index":5033,"title":{},"name":{},"text":{"86":{}},"component":{}}],["getjdbctyperegistri",{"_index":4858,"title":{},"name":{},"text":{"79":{}},"component":{}}],["getloc",{"_index":7844,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getmap",{"_index":5820,"title":{},"name":{},"text":{"121":{},"280":{}},"component":{}}],["getmapping(\"/bik",{"_index":7887,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["getmapping(\"/bikes/{bikeid",{"_index":7899,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getnam",{"_index":6348,"title":{},"name":{},"text":{"147":{}},"component":{}}],["getnod",{"_index":6988,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getorderid",{"_index":4459,"title":{},"name":{},"text":{"69":{}},"component":{}}],["getrent",{"_index":7845,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getreplicationgroup(getreplicationgrouprequest",{"_index":6985,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getreplicationgroups(google.protobuf.empti",{"_index":6987,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getresetposit",{"_index":2978,"title":{},"name":{},"text":{"58":{}},"component":{}}],["getsequenceidentifierfor(t",{"_index":5255,"title":{},"name":{},"text":{"88":{}},"component":{}}],["getstatu",{"_index":7846,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getter",{"_index":1592,"title":{},"name":{},"text":{"31":{},"35":{},"38":{},"44":{},"64":{},"69":{},"84":{}},"component":{}}],["gettestfixtur",{"_index":1275,"title":{},"name":{},"text":{"22":{}},"component":{}}],["gettotalnumberofcard",{"_index":5649,"title":{},"name":{},"text":{"108":{}},"component":{}}],["gettransactionid",{"_index":4938,"title":{},"name":{},"text":{"84":{}},"component":{}}],["getusers(google.protobuf.empti",{"_index":7004,"title":{},"name":{},"text":{"180":{}},"component":{}}],["ghaction",{"_index":3656,"title":{},"name":{},"text":{"66":{}},"component":{}}],["gha’",{"_index":3630,"title":{},"name":{},"text":{"66":{}},"component":{}}],["gift",{"_index":1179,"title":{},"name":{},"text":{"18":{},"21":{},"64":{},"82":{},"84":{},"85":{},"202":{},"203":{}},"component":{}}],["giftcard",{"_index":1939,"title":{"201-4":{},"203-2":{},"203-3":{},"203-4":{},"203-5":{}},"name":{},"text":{"35":{},"36":{},"42":{},"51":{},"63":{},"72":{},"77":{},"81":{},"82":{},"84":{},"85":{},"201":{},"202":{},"203":{}},"component":{}}],["giftcard(issuecardcommand",{"_index":1943,"title":{},"name":{},"text":{"35":{},"36":{},"42":{},"82":{},"85":{}},"component":{}}],["giftcard.handle(cmd",{"_index":1998,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardcach",{"_index":4798,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardcommandhandl",{"_index":1994,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardconfigur",{"_index":4743,"title":{},"name":{},"text":{"77":{},"81":{}},"component":{}}],["giftcardid",{"_index":1231,"title":{},"name":{},"text":{"20":{},"85":{}},"component":{}}],["giftcardrepositori",{"_index":1995,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardrepository.load(cmd.getcardid",{"_index":1996,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardsnapshotfilt",{"_index":4763,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardsnapshottrigg",{"_index":4750,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardsnapshottrigger(snapshott",{"_index":4747,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardtest",{"_index":4533,"title":{},"name":{},"text":{"72":{}},"component":{}}],["giftcardtransact",{"_index":4932,"title":{},"name":{},"text":{"84":{}},"component":{}}],["giftcardtransaction(evt.gettransactionid",{"_index":4950,"title":{},"name":{},"text":{"84":{}},"component":{}}],["giftcardtransaction(id",{"_index":4977,"title":{},"name":{},"text":{"85":{}},"component":{}}],["giftcardtransaction(str",{"_index":4936,"title":{},"name":{},"text":{"84":{}},"component":{}}],["giftcardtransaction.class",{"_index":4944,"title":{},"name":{},"text":{"84":{}},"component":{}}],["github",{"_index":521,"title":{},"name":{},"text":{"3":{},"5":{},"30":{},"66":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"124":{},"126":{},"131":{},"134":{},"148":{},"191":{},"247":{},"276":{},"282":{}},"component":{}}],["give",{"_index":423,"title":{},"name":{},"text":{"3":{},"5":{},"24":{},"37":{},"49":{},"51":{},"62":{},"63":{},"66":{},"74":{},"75":{},"88":{},"89":{},"94":{},"120":{},"129":{},"132":{},"146":{},"155":{},"168":{},"171":{},"174":{},"178":{},"179":{},"186":{},"191":{},"192":{},"199":{},"202":{},"235":{},"249":{},"261":{},"263":{},"264":{},"273":{},"274":{},"276":{}},"component":{}}],["given",{"_index":555,"title":{"72-3":{}},"name":{},"text":{"3":{},"15":{},"28":{},"29":{},"31":{},"35":{},"36":{},"37":{},"38":{},"39":{},"41":{},"42":{},"44":{},"45":{},"46":{},"47":{},"49":{},"51":{},"55":{},"58":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"70":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"80":{},"82":{},"85":{},"86":{},"87":{},"88":{},"90":{},"99":{},"102":{},"106":{},"107":{},"108":{},"115":{},"121":{},"127":{},"130":{},"137":{},"138":{},"142":{},"151":{},"159":{},"175":{},"185":{},"191":{},"192":{},"211":{},"273":{},"280":{},"285":{},"289":{}},"component":{}}],["given(object",{"_index":4049,"title":{},"name":{},"text":{"67":{},"72":{}},"component":{}}],["givencommand",{"_index":4320,"title":{},"name":{},"text":{"67":{},"72":{}},"component":{}}],["givencommands(object",{"_index":4572,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givencurrentim",{"_index":4574,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givencurrenttime(inst",{"_index":4573,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givennoprioract",{"_index":4570,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givenst",{"_index":4576,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givenstate(suppli",{"_index":4575,"title":{},"name":{},"text":{"72":{}},"component":{}}],["gklij",{"_index":3355,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["global",{"_index":2057,"title":{},"name":{},"text":{"36":{},"43":{},"67":{},"79":{},"87":{},"96":{},"141":{},"144":{},"147":{},"179":{},"212":{},"273":{}},"component":{}}],["global_index",{"_index":1449,"title":{},"name":{},"text":{"29":{}},"component":{}}],["globalmetricregistri",{"_index":2146,"title":{},"name":{},"text":{"38":{},"46":{},"57":{},"113":{}},"component":{}}],["globalmetricregistry(meterregistri",{"_index":2920,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalmetricregistry(metricregistri",{"_index":2915,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalmetricregistry.registerwithconfigurer(configur",{"_index":2916,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalmetricregistry.registerwithconfigurerwithdefaulttags(configur",{"_index":2921,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalsequencetrackingtoken#covers(trackingtoken",{"_index":4416,"title":{},"name":{},"text":{"67":{}},"component":{}}],["go",{"_index":1167,"title":{},"name":{},"text":{"17":{},"29":{},"31":{},"33":{},"42":{},"44":{},"46":{},"55":{},"63":{},"67":{},"72":{},"77":{},"79":{},"87":{},"88":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"121":{},"122":{},"126":{},"131":{},"134":{},"144":{},"145":{},"156":{},"199":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"221":{},"235":{},"237":{},"241":{},"250":{},"260":{},"262":{},"264":{},"267":{},"274":{},"275":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["goal",{"_index":1011,"title":{},"name":{},"text":{"8":{},"13":{},"38":{},"44":{},"64":{},"107":{},"279":{},"280":{},"281":{}},"component":{}}],["goe",{"_index":2892,"title":{},"name":{},"text":{"55":{},"128":{},"221":{},"249":{},"259":{},"260":{},"262":{}},"component":{}}],["golden",{"_index":6022,"title":{},"name":{},"text":{"140":{}},"component":{}}],["gone",{"_index":6504,"title":{},"name":{},"text":{"156":{}},"component":{}}],["good",{"_index":1214,"title":{},"name":{},"text":{"19":{},"29":{},"38":{},"40":{},"46":{},"49":{},"66":{},"77":{},"88":{},"94":{},"111":{},"172":{},"174":{},"184":{},"192":{},"206":{},"261":{},"262":{},"264":{},"274":{},"276":{},"281":{}},"component":{}}],["googl",{"_index":751,"title":{"199":{},"172-3":{},"199-1":{}},"name":{},"text":{"5":{},"11":{},"12":{},"141":{},"172":{},"174":{},"199":{},"247":{}},"component":{}}],["google.protobuf.empti",{"_index":6973,"title":{},"name":{},"text":{"180":{}},"component":{}}],["google’",{"_index":320,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["gossip",{"_index":5435,"title":{},"name":{},"text":{"94":{},"96":{}},"component":{}}],["gotcha",{"_index":1411,"title":{},"name":{},"text":{"29":{}},"component":{}}],["grace",{"_index":827,"title":{},"name":{},"text":{"5":{},"67":{},"185":{}},"component":{}}],["gracefulli",{"_index":3789,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["gradat",{"_index":6526,"title":{},"name":{},"text":{"162":{}},"component":{}}],["grade",{"_index":7166,"title":{},"name":{},"text":{"192":{}},"component":{}}],["gradl",{"_index":1476,"title":{"59-18":{}},"name":{},"text":{"30":{},"33":{}},"component":{}}],["grain",{"_index":1312,"title":{},"name":{},"text":{"24":{},"44":{},"48":{},"51":{},"57":{},"63":{},"77":{},"87":{},"88":{},"132":{},"151":{},"226":{},"244":{}},"component":{}}],["grame",{"_index":7657,"title":{},"name":{},"text":{"265":{}},"component":{}}],["grant",{"_index":2106,"title":{},"name":{},"text":{"38":{},"121":{},"140":{},"145":{},"168":{},"169":{},"178":{}},"component":{}}],["granular",{"_index":3199,"title":{},"name":{},"text":{"63":{},"66":{},"274":{}},"component":{}}],["graph",{"_index":770,"title":{"274-11":{},"274-12":{}},"name":{},"text":{"5":{},"239":{},"242":{},"246":{},"261":{},"273":{},"274":{}},"component":{}}],["graphana",{"_index":7647,"title":{},"name":{},"text":{"264":{}},"component":{}}],["graphic",{"_index":7549,"title":{},"name":{},"text":{"227":{},"236":{},"257":{}},"component":{}}],["grasp",{"_index":2240,"title":{},"name":{},"text":{"38":{}},"component":{}}],["great",{"_index":798,"title":{},"name":{},"text":{"5":{},"55":{},"66":{},"120":{}},"component":{}}],["greater",{"_index":4605,"title":{},"name":{},"text":{"72":{},"89":{}},"component":{}}],["greaterthantwomatch",{"_index":4604,"title":{},"name":{},"text":{"72":{}},"component":{}}],["greatest",{"_index":2433,"title":{},"name":{},"text":{"44":{}},"component":{}}],["greatli",{"_index":3823,"title":{},"name":{},"text":{"66":{},"260":{}},"component":{}}],["green",{"_index":782,"title":{},"name":{},"text":{"5":{},"280":{},"283":{}},"component":{}}],["greenfield",{"_index":1780,"title":{},"name":{},"text":{"33":{}},"component":{}}],["grou",{"_index":6505,"title":{},"name":{},"text":{"156":{}},"component":{}}],["group",{"_index":250,"title":{"157":{},"15-2":{},"87-5":{},"157-3":{},"170-4":{},"178-9":{},"180-3":{}},"name":{"157":{}},"text":{"3":{},"5":{},"12":{},"14":{},"15":{},"17":{},"24":{},"30":{},"38":{},"40":{},"42":{},"50":{},"59":{},"66":{},"77":{},"86":{},"87":{},"99":{},"102":{},"104":{},"110":{},"114":{},"115":{},"121":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"167":{},"169":{},"170":{},"176":{},"177":{},"178":{},"179":{},"180":{},"185":{},"187":{},"191":{},"192":{},"197":{},"234":{},"237":{},"239":{},"244":{},"274":{},"276":{},"281":{}},"component":{}}],["group.dlq.en",{"_index":5006,"title":{},"name":{},"text":{"86":{}},"component":{}}],["groupbi",{"_index":7204,"title":{},"name":{},"text":{"197":{}},"component":{}}],["groupby(payloadtyp",{"_index":7203,"title":{},"name":{},"text":{"196":{},"198":{}},"component":{}}],["groupid",{"_index":1481,"title":{},"name":{},"text":{"30":{},"44":{},"99":{},"279":{}},"component":{}}],["groupid(groupid",{"_index":5512,"title":{},"name":{},"text":{"99":{}},"component":{}}],["groups/context",{"_index":6483,"title":{},"name":{},"text":{"154":{},"181":{}},"component":{}}],["group’",{"_index":551,"title":{},"name":{},"text":{"3":{},"87":{},"191":{}},"component":{}}],["grow",{"_index":156,"title":{},"name":{},"text":{"2":{},"35":{},"261":{},"285":{}},"component":{}}],["grown",{"_index":7951,"title":{},"name":{},"text":{"281":{}},"component":{}}],["grpc",{"_index":603,"title":{"136":{},"166":{},"180":{},"188":{},"145-26":{},"166-2":{}},"name":{"136":{},"180":{},"188":{}},"text":{"3":{},"59":{},"67":{},"140":{},"141":{},"166":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"188":{},"189":{},"190":{},"191":{},"192":{},"206":{},"208":{},"215":{},"284":{}},"component":{}}],["grpc/http",{"_index":6317,"title":{},"name":{},"text":{"145":{}},"component":{}}],["grpcbackedsubscriptionquerymessag",{"_index":3690,"title":{},"name":{},"text":{"66":{}},"component":{}}],["grpcinternalport",{"_index":6406,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["grpcport",{"_index":6409,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["grpc’",{"_index":6548,"title":{},"name":{},"text":{"163":{}},"component":{}}],["guarante",{"_index":13,"title":{},"name":{},"text":{"1":{},"30":{},"38":{},"40":{},"49":{},"52":{},"53":{},"68":{},"69":{},"71":{},"86":{},"88":{},"99":{},"102":{},"121":{},"142":{},"154":{},"157":{},"280":{},"285":{}},"component":{}}],["guard",{"_index":1962,"title":{},"name":{},"text":{"35":{}},"component":{}}],["gui",{"_index":608,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["guid",{"_index":29,"title":{"10":{},"11":{},"12":{},"199":{},"200":{},"227":{},"249":{},"269":{},"8-3":{},"10-1":{},"11-1":{},"13-3":{}},"name":{"268":{}},"text":{"1":{},"8":{},"10":{},"11":{},"12":{},"13":{},"16":{},"21":{},"28":{},"32":{},"37":{},"41":{},"45":{},"49":{},"55":{},"59":{},"62":{},"66":{},"67":{},"70":{},"73":{},"87":{},"88":{},"94":{},"100":{},"107":{},"129":{},"144":{},"146":{},"183":{},"192":{},"199":{},"200":{},"201":{},"202":{},"203":{},"207":{},"227":{},"236":{},"238":{},"247":{},"249":{},"260":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"276":{},"277":{},"280":{},"282":{},"285":{}},"component":{"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{}}}],["guidanc",{"_index":5313,"title":{},"name":{},"text":{"88":{}},"component":{}}],["guidelin",{"_index":4784,"title":{},"name":{},"text":{"77":{}},"component":{}}],["h",{"_index":361,"title":{},"name":{},"text":{"3":{},"166":{},"169":{},"173":{},"178":{},"191":{},"192":{}},"component":{}}],["h2",{"_index":687,"title":{},"name":{},"text":{"4":{},"140":{},"142":{}},"component":{}}],["ha",{"_index":7529,"title":{"220":{},"221-2":{}},"name":{"220":{}},"text":{"220":{},"221":{},"226":{}},"component":{}}],["hale",{"_index":1500,"title":{},"name":{},"text":{"30":{}},"component":{}}],["half",{"_index":2206,"title":{},"name":{},"text":{"38":{},"245":{},"274":{},"280":{}},"component":{}}],["hamcrest",{"_index":3478,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["hand",{"_index":897,"title":{},"name":{},"text":{"6":{},"38":{},"44":{},"46":{},"50":{},"59":{},"66":{},"74":{},"87":{},"102":{},"260":{}},"component":{}}],["handi",{"_index":2283,"title":{},"name":{},"text":{"39":{},"127":{}},"component":{}}],["handl",{"_index":46,"title":{"48":{},"2-4":{},"39-2":{},"63-8":{},"69-2":{},"84-1":{},"87-4":{},"143-3":{},"143-4":{},"144-6":{},"186-1":{},"186-2":{},"202-3":{},"202-7":{},"202-11":{},"280-5":{},"281-7":{}},"name":{"48":{}},"text":{"2":{},"5":{},"6":{},"21":{},"24":{},"25":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"41":{},"42":{},"43":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"94":{},"105":{},"106":{},"108":{},"115":{},"121":{},"124":{},"127":{},"130":{},"141":{},"143":{},"144":{},"147":{},"150":{},"156":{},"163":{},"165":{},"179":{},"185":{},"186":{},"202":{},"211":{},"212":{},"214":{},"221":{},"242":{},"246":{},"260":{},"261":{},"274":{},"280":{},"281":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["handle(bikeregisteredev",{"_index":7968,"title":{},"name":{},"text":{"281":{}},"component":{}}],["handle(c",{"_index":3186,"title":{},"name":{},"text":{"63":{}},"component":{}}],["handle(createorrechargecardcommand",{"_index":1987,"title":{},"name":{},"text":{"35":{}},"component":{}}],["handle(eventa",{"_index":2411,"title":{},"name":{},"text":{"43":{}},"component":{}}],["handle(eventb",{"_index":2413,"title":{},"name":{},"text":{"43":{}},"component":{}}],["handle(eventc",{"_index":2412,"title":{},"name":{},"text":{"43":{}},"component":{}}],["handle(fetchcardsummariesqueri",{"_index":3154,"title":{},"name":{},"text":{"63":{}},"component":{}}],["handle(fetchcardsummaryqueri",{"_index":3118,"title":{},"name":{},"text":{"60":{},"64":{}},"component":{}}],["handle(getbikesqueri",{"_index":8078,"title":{},"name":{},"text":{"290":{}},"component":{}}],["handle(invoicepaidev",{"_index":4446,"title":{},"name":{},"text":{"68":{}},"component":{}}],["handle(issuecardcommand",{"_index":1986,"title":{},"name":{},"text":{"35":{}},"component":{}}],["handle(issueexpiringcardcommand",{"_index":1237,"title":{},"name":{},"text":{"20":{}},"component":{}}],["handle(list",{"_index":2724,"title":{},"name":{},"text":{"51":{},"121":{}},"component":{}}],["handle(ordercreatedev",{"_index":4435,"title":{},"name":{},"text":{"68":{}},"component":{}}],["handle(publishtim",{"_index":2319,"title":{},"name":{},"text":{"39":{}},"component":{}}],["handle(querya",{"_index":3248,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handle(queryb",{"_index":3249,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handle(queryc",{"_index":3250,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handle(redeemcardcommand",{"_index":1187,"title":{},"name":{},"text":{"18":{},"35":{},"36":{},"84":{}},"component":{}}],["handle(reimbursecardcommand",{"_index":4945,"title":{},"name":{},"text":{"84":{}},"component":{}}],["handle(releasebikecommand",{"_index":8054,"title":{},"name":{},"text":{"288":{}},"component":{}}],["handle(reservebikecommand",{"_index":8050,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["handle(shippingarrivedev",{"_index":4444,"title":{},"name":{},"text":{"68":{}},"component":{}}],["handle(somecommand",{"_index":5470,"title":{},"name":{},"text":{"97":{}},"component":{}}],["handle(someev",{"_index":5471,"title":{},"name":{},"text":{"97":{}},"component":{}}],["handle(someparentcommand",{"_index":4874,"title":{},"name":{},"text":{"80":{}},"component":{}}],["handle(unitofwork",{"_index":2746,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handle_command",{"_index":6705,"title":{},"name":{},"text":{"171":{}},"component":{}}],["handle_queri",{"_index":6700,"title":{},"name":{},"text":{"171":{}},"component":{}}],["handleall(except",{"_index":2798,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleerror(errorcontext",{"_index":5093,"title":{},"name":{},"text":{"87":{}},"component":{}}],["handleex(queryb",{"_index":3252,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handlefindcardqueryexcept",{"_index":2815,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handlefindcardqueryexceptions(findcardqueri",{"_index":2812,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptions(except",{"_index":2818,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptions(illegalargumentexcept",{"_index":2816,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptionsfromcardissu",{"_index":2822,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptionsfromcardissued(cardissuedev",{"_index":2819,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptions(except",{"_index":2807,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptions(illegalstateexcept",{"_index":2803,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptionsfromissuecard",{"_index":2809,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptionsfromissuecard(issuecardcommand",{"_index":2808,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleissuecardexcept",{"_index":2802,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleissuecardexceptions(issuecardcommand",{"_index":2799,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handler",{"_index":735,"title":{"24":{},"25":{},"35":{},"43":{},"52":{},"64":{},"242":{},"273":{},"285":{},"5-8":{},"5-9":{},"35-1":{},"35-3":{},"35-4":{},"35-5":{},"36-2":{},"43-1":{},"48-1":{},"51-4":{},"51-8":{},"51-12":{},"52-1":{},"52-2":{},"52-3":{},"59-47":{},"60-1":{},"64-1":{},"64-2":{},"64-3":{},"75-1":{},"84-2":{},"87-1":{},"87-2":{},"87-3":{},"87-5":{},"87-6":{},"87-10":{},"121-16":{},"206-31":{},"211-4":{},"211-5":{},"211-6":{},"212-5":{},"212-6":{},"212-7":{},"214-4":{},"214-5":{},"214-6":{},"221-3":{},"221-4":{},"221-5":{},"242-1":{},"242-2":{},"261-4":{},"273-1":{},"273-4":{},"274-5":{},"274-18":{},"274-24":{},"274-28":{},"274-29":{},"274-30":{},"274-31":{},"274-32":{},"274-33":{},"274-36":{},"280-4":{},"281-6":{},"285-4":{}},"name":{"24":{},"35":{},"43":{},"52":{},"64":{},"242":{},"273":{}},"text":{"5":{},"10":{},"12":{},"18":{},"20":{},"24":{},"25":{},"26":{},"27":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"42":{},"43":{},"45":{},"46":{},"47":{},"48":{},"49":{},"51":{},"52":{},"53":{},"55":{},"56":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"111":{},"115":{},"121":{},"124":{},"126":{},"127":{},"133":{},"141":{},"143":{},"150":{},"163":{},"169":{},"179":{},"185":{},"186":{},"202":{},"203":{},"204":{},"206":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"219":{},"220":{},"221":{},"224":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{},"261":{},"262":{},"270":{},"271":{},"273":{},"274":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{"24":{},"25":{},"26":{}}}],["handler.balancing.consist",{"_index":7377,"title":{"206-58":{}},"name":{},"text":{},"component":{}}],["handler.balancing.en",{"_index":7367,"title":{"206-51":{}},"name":{},"text":{},"component":{}}],["handler.balancing.enabled=tru",{"_index":7531,"title":{},"name":{},"text":{"220":{}},"component":{}}],["handler.balancing.handl",{"_index":7375,"title":{"206-57":{}},"name":{},"text":{},"component":{}}],["handler.balancing.synaps",{"_index":7368,"title":{"206-52":{},"206-53":{},"206-54":{}},"name":{},"text":{},"component":{}}],["handler.balancing.web",{"_index":7372,"title":{"206-55":{},"206-56":{}},"name":{},"text":{},"component":{}}],["handler.subscription.retri",{"_index":7358,"title":{"206-41":{}},"name":{},"text":{},"component":{}}],["handler2",{"_index":5451,"title":{},"name":{},"text":{"94":{}},"component":{}}],["handlerattribut",{"_index":3765,"title":{},"name":{},"text":{"66":{}},"component":{}}],["handlerdefinit",{"_index":4567,"title":{},"name":{},"text":{"72":{}},"component":{}}],["handlerenhancerdefinit",{"_index":1315,"title":{},"name":{},"text":{"24":{},"66":{},"72":{}},"component":{}}],["handlerenhancerdefint",{"_index":1353,"title":{},"name":{},"text":{"24":{}},"component":{}}],["handlerexecutionexcept",{"_index":2651,"title":{},"name":{},"text":{"48":{},"66":{}},"component":{}}],["handlerexecutionexception#detail",{"_index":3999,"title":{},"name":{},"text":{"67":{}},"component":{}}],["handler’",{"_index":3228,"title":{},"name":{},"text":{"63":{},"87":{},"274":{}},"component":{}}],["handlesomestatechangeevent(mydomainev",{"_index":4772,"title":{},"name":{},"text":{"77":{}},"component":{}}],["hang",{"_index":3200,"title":{},"name":{},"text":{"63":{}},"component":{}}],["happen",{"_index":52,"title":{"2-6":{},"2-7":{},"5-9":{}},"name":{},"text":{"6":{},"31":{},"32":{},"38":{},"40":{},"45":{},"53":{},"59":{},"63":{},"66":{},"72":{},"82":{},"87":{},"88":{},"143":{},"145":{},"150":{},"156":{},"177":{},"192":{},"254":{},"261":{},"274":{},"280":{},"281":{},"285":{}},"component":{}}],["happi",{"_index":6258,"title":{},"name":{},"text":{"145":{},"289":{}},"component":{}}],["haraldk",{"_index":4327,"title":{},"name":{},"text":{"67":{}},"component":{}}],["hard",{"_index":1169,"title":{},"name":{},"text":{"17":{},"40":{},"67":{},"82":{},"85":{},"99":{},"101":{},"102":{},"117":{},"130":{},"151":{}},"component":{}}],["harder",{"_index":2594,"title":{},"name":{},"text":{"46":{},"264":{}},"component":{}}],["hardli",{"_index":4524,"title":{},"name":{},"text":{"72":{}},"component":{}}],["hash",{"_index":4787,"title":{"206-58":{}},"name":{},"text":{"77":{},"127":{},"206":{},"220":{},"221":{}},"component":{}}],["hashandlerattribut",{"_index":1348,"title":{},"name":{},"text":{"24":{}},"component":{}}],["hashicorp’",{"_index":5960,"title":{},"name":{},"text":{"129":{}},"component":{}}],["hashmap",{"_index":2706,"title":{},"name":{},"text":{"50":{},"150":{},"288":{},"289":{}},"component":{}}],["hashset",{"_index":4898,"title":{},"name":{},"text":{"81":{}},"component":{}}],["hashtag",{"_index":7991,"title":{},"name":{},"text":{"283":{}},"component":{}}],["hassl",{"_index":7595,"title":{},"name":{},"text":{"249":{},"259":{}},"component":{}}],["hatzlj",{"_index":3755,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["have",{"_index":1069,"title":{},"name":{},"text":{"15":{},"16":{},"17":{},"29":{},"38":{},"46":{},"59":{},"74":{},"77":{},"81":{},"88":{},"99":{},"145":{},"151":{},"156":{},"275":{},"284":{},"289":{}},"component":{}}],["haven’t",{"_index":1769,"title":{},"name":{},"text":{"32":{},"142":{},"174":{},"178":{},"199":{}},"component":{}}],["hdd",{"_index":6431,"title":{},"name":{},"text":{"151":{}},"component":{}}],["head",{"_index":4335,"title":{},"name":{},"text":{"67":{},"88":{},"260":{}},"component":{}}],["header",{"_index":1368,"title":{},"name":{},"text":{"26":{},"67":{},"101":{},"141":{},"166":{},"168":{},"169":{},"173":{},"202":{},"204":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"235":{},"262":{},"273":{},"280":{},"283":{}},"component":{}}],["headerutils#bytemapp",{"_index":5553,"title":{},"name":{},"text":{"101":{}},"component":{}}],["headervaluemapp",{"_index":5547,"title":{},"name":{},"text":{"101":{}},"component":{}}],["headervaluemapper(headervaluemapp",{"_index":5552,"title":{},"name":{},"text":{"101":{}},"component":{}}],["health",{"_index":807,"title":{"54":{},"54-1":{},"185-1":{}},"name":{"54":{}},"text":{"5":{},"54":{},"55":{},"58":{},"66":{},"140":{},"185":{},"187":{},"190":{},"199":{},"243":{},"246":{},"249":{},"259":{},"262":{}},"component":{}}],["healthi",{"_index":4785,"title":{},"name":{},"text":{"77":{},"284":{}},"component":{}}],["heap",{"_index":4791,"title":{},"name":{},"text":{"77":{},"179":{},"261":{},"262":{}},"component":{}}],["heard",{"_index":6910,"title":{},"name":{},"text":{"179":{}},"component":{}}],["heart",{"_index":891,"title":{},"name":{},"text":{"6":{},"127":{}},"component":{}}],["heartbeat",{"_index":3468,"title":{"189":{}},"name":{"189":{}},"text":{"66":{},"67":{},"127":{},"179":{},"189":{},"190":{}},"component":{}}],["heartbeat.en",{"_index":6926,"title":{},"name":{},"text":{"179":{}},"component":{}}],["heartbeatconfig",{"_index":7143,"title":{},"name":{},"text":{"189":{}},"component":{}}],["heartbeatconfig.setenabled(fals",{"_index":7144,"title":{},"name":{},"text":{"189":{}},"component":{}}],["heino",{"_index":4240,"title":{},"name":{},"text":{"67":{}},"component":{}}],["held",{"_index":2882,"title":{},"name":{},"text":{"53":{}},"component":{}}],["help",{"_index":316,"title":{},"name":{},"text":{"3":{},"8":{},"10":{},"11":{},"12":{},"13":{},"18":{},"28":{},"31":{},"36":{},"40":{},"41":{},"46":{},"52":{},"66":{},"67":{},"70":{},"72":{},"73":{},"74":{},"77":{},"78":{},"79":{},"82":{},"87":{},"88":{},"124":{},"140":{},"147":{},"151":{},"156":{},"178":{},"190":{},"191":{},"210":{},"249":{},"259":{},"263":{},"264":{},"265":{},"266":{},"270":{},"271":{},"273":{},"274":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["helper",{"_index":2355,"title":{},"name":{},"text":{"40":{},"53":{},"115":{},"145":{}},"component":{}}],["helper=fals",{"_index":5710,"title":{},"name":{},"text":{"115":{}},"component":{}}],["henc",{"_index":497,"title":{},"name":{},"text":{"3":{},"24":{},"29":{},"31":{},"36":{},"39":{},"44":{},"51":{},"52":{},"63":{},"66":{},"67":{},"79":{},"86":{},"88":{},"115":{},"130":{},"144":{},"145":{},"153":{},"156":{},"176":{},"178":{},"191":{},"228":{},"229":{}},"component":{}}],["henceforth",{"_index":4904,"title":{},"name":{},"text":{"82":{}},"component":{}}],["here",{"_index":498,"title":{},"name":{},"text":{"3":{},"5":{},"29":{},"30":{},"33":{},"34":{},"35":{},"38":{},"42":{},"46":{},"50":{},"51":{},"53":{},"56":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"79":{},"82":{},"85":{},"86":{},"87":{},"88":{},"89":{},"100":{},"104":{},"105":{},"106":{},"108":{},"115":{},"121":{},"144":{},"168":{},"174":{},"191":{},"200":{},"201":{},"245":{},"254":{},"260":{},"261":{},"262":{},"271":{},"279":{},"285":{},"289":{}},"component":{}}],["here’",{"_index":81,"title":{},"name":{},"text":{"2":{},"24":{},"86":{},"145":{},"148":{},"255":{}},"component":{}}],["hesit",{"_index":7661,"title":{},"name":{},"text":{"265":{}},"component":{}}],["hesseg",{"_index":4344,"title":{},"name":{},"text":{"67":{}},"component":{}}],["heterogen",{"_index":2224,"title":{},"name":{},"text":{"38":{},"76":{}},"component":{}}],["heurist",{"_index":3661,"title":{},"name":{},"text":{"66":{}},"component":{}}],["heutelbeck",{"_index":3745,"title":{},"name":{},"text":{"66":{}},"component":{}}],["hhd2/eventstor",{"_index":6440,"title":{},"name":{},"text":{"151":{}},"component":{}}],["hibern",{"_index":1420,"title":{"79-3":{},"79-4":{},"79-5":{}},"name":{},"text":{"29":{},"33":{},"46":{},"51":{},"79":{}},"component":{}}],["hibernate_sequ",{"_index":1834,"title":{},"name":{},"text":{"33":{}},"component":{}}],["hibernate’",{"_index":4841,"title":{},"name":{},"text":{"79":{}},"component":{}}],["hidden",{"_index":5973,"title":{},"name":{},"text":{"132":{}},"component":{}}],["hide",{"_index":7032,"title":{},"name":{},"text":{"185":{}},"component":{}}],["hierarch",{"_index":3334,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["hierarchi",{"_index":2401,"title":{},"name":{},"text":{"43":{},"59":{},"64":{},"66":{},"67":{},"81":{}},"component":{}}],["high",{"_index":505,"title":{"210":{},"221":{},"206-50":{},"220-2":{}},"name":{},"text":{"3":{},"6":{},"58":{},"67":{},"88":{},"128":{},"151":{},"154":{},"156":{},"189":{},"191":{},"206":{},"220":{},"221":{},"226":{},"250":{},"261":{},"273":{},"281":{}},"component":{}}],["higher",{"_index":1839,"title":{},"name":{},"text":{"33":{},"38":{},"67":{},"87":{},"88":{},"89":{},"156":{},"163":{},"185":{},"211":{},"216":{},"244":{},"260":{},"261":{},"266":{}},"component":{}}],["highest",{"_index":6419,"title":{},"name":{},"text":{"150":{},"273":{}},"component":{}}],["highli",{"_index":494,"title":{},"name":{},"text":{"3":{},"40":{},"49":{},"59":{},"67":{},"71":{},"79":{},"140":{},"161":{},"191":{},"192":{},"221":{}},"component":{}}],["highlight",{"_index":3241,"title":{},"name":{},"text":{"64":{},"88":{}},"component":{}}],["hint",{"_index":2062,"title":{},"name":{},"text":{"36":{},"115":{},"123":{},"124":{},"126":{}},"component":{}}],["histor",{"_index":1975,"title":{},"name":{},"text":{"35":{},"67":{},"82":{}},"component":{}}],["histori",{"_index":1463,"title":{},"name":{},"text":{"29":{},"44":{},"145":{},"274":{},"290":{}},"component":{}}],["history=10",{"_index":393,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["hit",{"_index":1675,"title":{},"name":{},"text":{"31":{},"59":{},"77":{},"79":{}},"component":{}}],["hoc",{"_index":5342,"title":{},"name":{},"text":{"88":{},"89":{},"143":{},"179":{}},"component":{}}],["hold",{"_index":1734,"title":{},"name":{},"text":{"32":{},"48":{},"87":{},"88":{},"99":{},"120":{},"151":{},"157":{},"281":{}},"component":{}}],["hole",{"_index":6428,"title":{"151-5":{}},"name":{},"text":{"151":{}},"component":{}}],["hole.condit",{"_index":6445,"title":{},"name":{},"text":{"151":{}},"component":{}}],["home",{"_index":331,"title":{},"name":{},"text":{"3":{},"191":{},"238":{},"273":{}},"component":{"7":{},"8":{},"9":{},"10":{},"11":{},"12":{}}}],["homogen",{"_index":5924,"title":{},"name":{},"text":{"127":{}},"component":{}}],["honor",{"_index":2502,"title":{},"name":{},"text":{"44":{}},"component":{}}],["hood",{"_index":1898,"title":{},"name":{},"text":{"34":{},"87":{},"130":{},"163":{}},"component":{}}],["hook",{"_index":2968,"title":{},"name":{},"text":{"58":{},"66":{},"88":{},"143":{}},"component":{}}],["hop",{"_index":6547,"title":{},"name":{},"text":{"163":{}},"component":{}}],["horizontally—ad",{"_index":961,"title":{},"name":{},"text":{"6":{}},"component":{}}],["host",{"_index":656,"title":{},"name":{},"text":{"3":{},"88":{},"96":{},"143":{},"149":{},"154":{},"176":{},"178":{},"179":{},"191":{},"199":{},"208":{},"209":{},"262":{}},"component":{}}],["hostnam",{"_index":435,"title":{},"name":{},"text":{"3":{},"88":{},"143":{},"149":{},"154":{},"161":{},"170":{},"176":{},"178":{},"179":{},"181":{},"191":{},"192":{},"199":{}},"component":{}}],["hostname/port",{"_index":6094,"title":{},"name":{},"text":{"141":{}},"component":{}}],["hostname:intern",{"_index":6486,"title":{},"name":{},"text":{"154":{}},"component":{}}],["hot",{"_index":6020,"title":{},"name":{},"text":{"140":{}},"component":{}}],["hotspot",{"_index":4734,"title":{},"name":{},"text":{"77":{}},"component":{}}],["hour",{"_index":6907,"title":{},"name":{},"text":{"179":{},"198":{},"239":{}},"component":{}}],["hour(timestamp",{"_index":7191,"title":{},"name":{},"text":{"195":{}},"component":{}}],["hsqlsagaschema",{"_index":4492,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["htlo",{"_index":3306,"title":{},"name":{},"text":{"66":{}},"component":{}}],["http",{"_index":642,"title":{"211-2":{},"211-3":{},"212-2":{},"212-3":{},"212-4":{},"214-2":{},"214-3":{},"216-1":{},"217-1":{},"217-2":{},"217-3":{},"219-1":{},"219-2":{},"281-8":{}},"name":{},"text":{"3":{},"140":{},"145":{},"168":{},"169":{},"173":{},"174":{},"176":{},"178":{},"179":{},"185":{},"188":{},"191":{},"192":{},"200":{},"202":{},"203":{},"206":{},"208":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"280":{},"281":{},"283":{}},"component":{}}],["http.client",{"_index":7337,"title":{"206-10":{}},"name":{},"text":{},"component":{}}],["http.port",{"_index":7336,"title":{"206-9":{}},"name":{},"text":{},"component":{}}],["http.tl",{"_index":7350,"title":{"206-28":{}},"name":{},"text":{},"component":{}}],["http.trust",{"_index":7351,"title":{"206-29":{},"206-31":{}},"name":{},"text":{},"component":{}}],["http/1.1",{"_index":7928,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["http/2",{"_index":6551,"title":{},"name":{},"text":{"163":{}},"component":{}}],["http/grpc",{"_index":6789,"title":{},"name":{},"text":{"176":{}},"component":{}}],["http2",{"_index":6549,"title":{},"name":{},"text":{"163":{}},"component":{}}],["http://127.0.0.1:8024",{"_index":8022,"title":{},"name":{},"text":{"284":{}},"component":{}}],["http://[node]:[port",{"_index":6353,"title":{},"name":{},"text":{"147":{},"156":{}},"component":{}}],["http://[server]/createcontroldbbackup",{"_index":6107,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http://[server]/v1/backup/createcontroldbbackup`forc",{"_index":6108,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http://[server]/v1/backup/filenam",{"_index":6112,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http://keycloak",{"_index":6778,"title":{},"name":{},"text":{"172":{}},"component":{}}],["http://localhost:10100/fir",{"_index":7679,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10101/fir",{"_index":7680,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10102/fir",{"_index":7681,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10103/fir",{"_index":7682,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10106/fir",{"_index":7683,"title":{},"name":{},"text":{"270":{},"273":{}},"component":{}}],["http://localhost:8024",{"_index":6364,"title":{},"name":{},"text":{"147":{},"156":{},"168":{},"174":{},"178":{},"192":{},"199":{},"283":{},"284":{}},"component":{}}],["http://localhost:8024.th",{"_index":6808,"title":{},"name":{},"text":{"178":{}},"component":{}}],["http://localhost:8024/v1",{"_index":7159,"title":{},"name":{},"text":{"192":{}},"component":{}}],["http://localhost:8024/v1/public/context",{"_index":6558,"title":{},"name":{},"text":{"166":{},"169":{}},"component":{}}],["http://localhost:8024/v1/public/us",{"_index":6784,"title":{},"name":{},"text":{"173":{}},"component":{}}],["http://localhost:8080",{"_index":7279,"title":{},"name":{},"text":{"202":{},"203":{}},"component":{}}],["http://localhost:8080/bik",{"_index":7905,"title":{},"name":{},"text":{"280":{}},"component":{}}],["http://localhost:8080/bikes/8427681b",{"_index":7924,"title":{},"name":{},"text":{"280":{}},"component":{}}],["http://localhost:8080/bikes/{bikeid",{"_index":7906,"title":{},"name":{},"text":{"280":{}},"component":{}}],["http://localhost:8080/bikes?biketype=city&location=utrecht",{"_index":7989,"title":{},"name":{},"text":{"283":{}},"component":{}}],["http://localhost:8080/bikes?biketype={type}&location={c",{"_index":7988,"title":{},"name":{},"text":{"283":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.issuecardcommand",{"_index":7309,"title":{},"name":{},"text":{"203":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/events/io.axoniq.demo.giftcard.api.cardredeemedev",{"_index":7319,"title":{},"name":{},"text":{"203":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/handlers/command",{"_index":7269,"title":{},"name":{},"text":{"202":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/handlers/ev",{"_index":7298,"title":{},"name":{},"text":{"202":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/handlers/queri",{"_index":7288,"title":{},"name":{},"text":{"202":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.fetchcardsummariesqueri",{"_index":7315,"title":{},"name":{},"text":{"203":{}},"component":{}}],["http://localhost:8081/fir",{"_index":7692,"title":{},"name":{},"text":{"273":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/command",{"_index":7510,"title":{},"name":{},"text":{"216":{},"219":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.issuecardcommand",{"_index":7506,"title":{},"name":{},"text":{"216":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/ev",{"_index":7521,"title":{},"name":{},"text":{"217":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/events/local.application.client.ev",{"_index":7513,"title":{},"name":{},"text":{"217":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/handlers/command",{"_index":7453,"title":{},"name":{},"text":{"211":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/handlers/ev",{"_index":7466,"title":{},"name":{},"text":{"212":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/handlers/queri",{"_index":7469,"title":{},"name":{},"text":{"214":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/queri",{"_index":7527,"title":{},"name":{},"text":{"219":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.fetchcardsummariesqueri",{"_index":7525,"title":{},"name":{},"text":{"219":{}},"component":{}}],["http://{synaps",{"_index":7448,"title":{},"name":{},"text":{"209":{}},"component":{}}],["http:[server]/v1/backup/log/filenam",{"_index":6116,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http:[server]:[port]/swagg",{"_index":6105,"title":{},"name":{},"text":{"142":{},"147":{},"156":{}},"component":{}}],["httpget",{"_index":619,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["httpport",{"_index":6408,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["https://1d5cae3d",{"_index":7300,"title":{},"name":{},"text":{"202":{}},"component":{}}],["https://ac365f15",{"_index":7290,"title":{},"name":{},"text":{"202":{}},"component":{}}],["https://cb5b8a7d",{"_index":7272,"title":{},"name":{},"text":{"202":{}},"component":{}}],["https://client.application.local/v1/messag",{"_index":7455,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["https://console.axoniq.io",{"_index":7555,"title":{},"name":{},"text":{"233":{}},"component":{}}],["https://download.axoniq.io/axonserver/axon",{"_index":7261,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["https://download.axoniq.io/quickstart/axonquickstart.zip",{"_index":7252,"title":{},"name":{},"text":{"201":{}},"component":{}}],["https://github.com/axoniq/axon",{"_index":6377,"title":{},"name":{},"text":{"148":{}},"component":{}}],["https://library.axoniq.io/axon",{"_index":6011,"title":{},"name":{},"text":{"140":{}},"component":{}}],["https://localhost:8024",{"_index":6578,"title":{},"name":{},"text":{"168":{},"174":{}},"component":{}}],["https://localhost:8024/v1/public/context",{"_index":6567,"title":{},"name":{},"text":{"166":{}},"component":{}}],["https://localhost:8080/fir",{"_index":7678,"title":{},"name":{},"text":{"270":{}},"component":{}}],["hub",{"_index":906,"title":{},"name":{},"text":{"6":{},"284":{}},"component":{}}],["huge",{"_index":6263,"title":{},"name":{},"text":{"145":{}},"component":{}}],["human",{"_index":1568,"title":{},"name":{},"text":{"31":{},"40":{},"46":{}},"component":{}}],["hundr",{"_index":4726,"title":{},"name":{},"text":{"77":{}},"component":{}}],["hydrat",{"_index":3071,"title":{},"name":{},"text":{"59":{}},"component":{}}],["hyphen",{"_index":6362,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["i.a.d.b.rental.rentalappl",{"_index":8012,"title":{},"name":{},"text":{"284":{}},"component":{}}],["i.o",{"_index":4352,"title":{},"name":{},"text":{"67":{}},"component":{}}],["i/o",{"_index":2209,"title":{},"name":{},"text":{"38":{},"88":{},"120":{},"261":{}},"component":{}}],["iap",{"_index":7237,"title":{},"name":{},"text":{"199":{}},"component":{}}],["icon",{"_index":6370,"title":{},"name":{},"text":{"147":{},"156":{},"165":{},"244":{},"274":{},"280":{},"283":{}},"component":{}}],["id",{"_index":251,"title":{"206-11":{},"206-20":{}},"name":{},"text":{"3":{},"5":{},"6":{},"16":{},"30":{},"35":{},"36":{},"39":{},"44":{},"52":{},"56":{},"63":{},"67":{},"69":{},"76":{},"82":{},"84":{},"85":{},"88":{},"102":{},"104":{},"108":{},"114":{},"121":{},"172":{},"191":{},"199":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"216":{},"217":{},"276":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["idea",{"_index":5495,"title":{"280-15":{},"283-3":{}},"name":{},"text":{"99":{},"120":{},"144":{},"194":{},"221":{},"234":{},"263":{},"280":{},"281":{},"283":{}},"component":{}}],["ideal",{"_index":1147,"title":{},"name":{},"text":{"17":{},"29":{},"31":{},"46":{},"66":{},"72":{},"88":{},"151":{}},"component":{}}],["idempot",{"_index":1254,"title":{"86-3":{}},"name":{},"text":{"20":{},"86":{},"88":{}},"component":{}}],["ident",{"_index":1388,"title":{},"name":{},"text":{"27":{},"44":{},"60":{},"67":{},"69":{},"72":{},"75":{},"80":{},"88":{},"101":{}},"component":{}}],["identifi",{"_index":928,"title":{"23":{},"88-14":{}},"name":{},"text":{"6":{},"10":{},"12":{},"15":{},"16":{},"23":{},"29":{},"34":{},"35":{},"36":{},"38":{},"42":{},"44":{},"46":{},"47":{},"49":{},"50":{},"52":{},"56":{},"58":{},"59":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"101":{},"102":{},"111":{},"115":{},"140":{},"143":{},"144":{},"148":{},"194":{},"202":{},"206":{},"215":{},"242":{},"243":{},"263":{},"264":{},"265":{},"273":{},"274":{},"280":{},"281":{}},"component":{"23":{}}}],["identifierfactori",{"_index":1284,"title":{},"name":{},"text":{"23":{}},"component":{}}],["identifiermissingexcept",{"_index":4114,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ide’",{"_index":4913,"title":{},"name":{},"text":{"82":{}},"component":{}}],["idfilt",{"_index":5665,"title":{},"name":{},"text":{"108":{}},"component":{}}],["idl",{"_index":4788,"title":{"145-7":{}},"name":{},"text":{"77":{},"120":{},"145":{},"274":{},"276":{}},"component":{}}],["ifnotpres",{"_index":602,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ifpresent(letterprocessor",{"_index":5015,"title":{},"name":{},"text":{"86":{}},"component":{}}],["ifpresent(sequenceddeadletterprocessor::processani",{"_index":5019,"title":{},"name":{},"text":{"86":{},"115":{}},"component":{}}],["ifpresent(streamingeventprocessor",{"_index":6193,"title":{},"name":{},"text":{"144":{}},"component":{}}],["ifpresent(streamingprocessor",{"_index":5307,"title":{},"name":{},"text":{"88":{}},"component":{}}],["ignor",{"_index":1670,"title":{},"name":{},"text":{"31":{},"35":{},"38":{},"43":{},"57":{},"64":{},"66":{},"67":{},"72":{},"74":{},"82":{},"87":{},"103":{},"127":{},"128":{},"163":{},"239":{},"242":{},"281":{}},"component":{}}],["ignorelistingdiscoverymod",{"_index":5921,"title":{},"name":{},"text":{"127":{}},"component":{}}],["illeg",{"_index":4577,"title":{},"name":{},"text":{"72":{},"204":{}},"component":{}}],["illegalargumentexcept",{"_index":1341,"title":{},"name":{},"text":{"24":{},"51":{},"67":{}},"component":{}}],["illegalargumentexception(\"no",{"_index":5028,"title":{},"name":{},"text":{"86":{}},"component":{}}],["illegalargumentexception.class",{"_index":2817,"title":{},"name":{},"text":{"51":{}},"component":{}}],["illegalstateexcept",{"_index":2804,"title":{},"name":{},"text":{"51":{},"76":{},"84":{}},"component":{}}],["illegalstateexception(\"amount",{"_index":1946,"title":{},"name":{},"text":{"35":{},"85":{}},"component":{}}],["illegalstateexception(\"bik",{"_index":8052,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["illegalstateexception(\"can't",{"_index":7964,"title":{},"name":{},"text":{"281":{}},"component":{}}],["illegalstateexception(\"transact",{"_index":4946,"title":{},"name":{},"text":{"84":{}},"component":{}}],["illegalstateexception(\"transactionid",{"_index":4976,"title":{},"name":{},"text":{"85":{}},"component":{}}],["illegalstateexception.class",{"_index":2806,"title":{},"name":{},"text":{"51":{}},"component":{}}],["illustr",{"_index":8067,"title":{},"name":{},"text":{"289":{}},"component":{}}],["imag",{"_index":186,"title":{"3-1":{},"3-9":{},"140-4":{},"191-1":{},"191-2":{}},"name":{},"text":{"3":{},"4":{},"30":{},"49":{},"59":{},"87":{},"124":{},"125":{},"140":{},"191":{},"215":{},"228":{},"245":{},"246":{},"249":{},"260":{},"266":{},"269":{},"270":{},"277":{},"281":{},"284":{}},"component":{}}],["image::ac",{"_index":7697,"title":{},"name":{},"text":{"273":{}},"component":{}}],["imagepullpolici",{"_index":601,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["imagin",{"_index":1648,"title":{},"name":{},"text":{"31":{},"44":{},"68":{},"83":{},"281":{}},"component":{}}],["imaginari",{"_index":5711,"title":{},"name":{},"text":{"115":{}},"component":{}}],["immedi",{"_index":950,"title":{},"name":{},"text":{"6":{},"38":{},"51":{},"63":{},"67":{},"69":{},"71":{},"88":{},"121":{},"141":{},"142":{},"144":{},"148":{},"172":{},"250":{},"273":{},"277":{},"279":{},"280":{},"285":{}},"component":{}}],["immut",{"_index":2630,"title":{},"name":{},"text":{"47":{},"49":{},"142":{},"145":{},"281":{}},"component":{}}],["impact",{"_index":942,"title":{},"name":{},"text":{"6":{},"38":{},"57":{},"59":{},"66":{},"67":{},"69":{},"77":{},"79":{},"102":{},"130":{},"145":{},"151":{},"156":{}},"component":{}}],["imped",{"_index":1603,"title":{},"name":{},"text":{"31":{}},"component":{}}],["implement",{"_index":866,"title":{"15":{},"19":{},"20":{},"61":{},"69":{},"281":{},"31-1":{},"36-9":{},"44-2":{},"50-5":{},"86-2":{},"280-7":{},"280-8":{},"280-10":{},"280-11":{},"281-2":{},"281-4":{},"281-8":{},"281-10":{}},"name":{"15":{},"20":{},"61":{},"69":{},"281":{}},"text":{"5":{},"6":{},"8":{},"13":{},"14":{},"15":{},"18":{},"19":{},"23":{},"24":{},"25":{},"26":{},"29":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"100":{},"101":{},"102":{},"106":{},"107":{},"111":{},"115":{},"117":{},"119":{},"121":{},"125":{},"127":{},"129":{},"133":{},"140":{},"144":{},"145":{},"148":{},"154":{},"161":{},"189":{},"207":{},"220":{},"221":{},"226":{},"257":{},"260":{},"274":{},"278":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["implementation(platform(\"org.axonframework:axon",{"_index":1554,"title":{},"name":{},"text":{"30":{}},"component":{}}],["implementation’",{"_index":2346,"title":{},"name":{},"text":{"40":{}},"component":{}}],["impli",{"_index":7832,"title":{},"name":{},"text":{"280":{},"281":{},"286":{}},"component":{}}],["implic",{"_index":3219,"title":{},"name":{},"text":{"63":{}},"component":{}}],["implicit",{"_index":1614,"title":{},"name":{},"text":{"31":{}},"component":{}}],["import",{"_index":539,"title":{"286":{},"79-1":{}},"name":{},"text":{"3":{},"5":{},"6":{},"17":{},"20":{},"30":{},"33":{},"34":{},"35":{},"36":{},"38":{},"40":{},"42":{},"43":{},"44":{},"46":{},"49":{},"52":{},"53":{},"55":{},"59":{},"63":{},"64":{},"66":{},"69":{},"71":{},"72":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"102":{},"105":{},"106":{},"108":{},"117":{},"123":{},"140":{},"142":{},"144":{},"148":{},"151":{},"153":{},"157":{},"163":{},"179":{},"191":{},"199":{},"206":{},"207":{},"208":{},"220":{},"237":{},"244":{},"260":{},"261":{},"278":{},"279":{},"281":{}},"component":{}}],["import_external_st",{"_index":8035,"title":{},"name":{"286":{}},"text":{},"component":{}}],["importruntimehint",{"_index":5904,"title":{},"name":{},"text":{"124":{}},"component":{}}],["impos",{"_index":2498,"title":{},"name":{},"text":{"44":{},"67":{}},"component":{}}],["imposs",{"_index":4685,"title":{},"name":{},"text":{"74":{}},"component":{}}],["improv",{"_index":3045,"title":{"140-3":{},"140-8":{},"140-13":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{}},"name":{},"text":{"59":{},"66":{},"67":{},"140":{},"141":{},"147":{},"151":{},"215":{},"235":{},"240":{},"260":{}},"component":{}}],["inaccessibleobjectexcept",{"_index":4216,"title":{},"name":{},"text":{"67":{}},"component":{}}],["inact",{"_index":2888,"title":{},"name":{},"text":{"54":{},"88":{},"206":{},"215":{}},"component":{}}],["inbound",{"_index":7386,"title":{},"name":{},"text":{"206":{}},"component":{}}],["incap",{"_index":1672,"title":{},"name":{},"text":{"31":{},"67":{}},"component":{}}],["incid",{"_index":7588,"title":{},"name":{},"text":{"244":{},"262":{}},"component":{}}],["incident",{"_index":6468,"title":{},"name":{},"text":{"151":{}},"component":{}}],["inclin",{"_index":5069,"title":{},"name":{},"text":{"87":{},"99":{},"115":{}},"component":{}}],["includ",{"_index":124,"title":{},"name":{},"text":{"2":{},"3":{},"4":{},"6":{},"21":{},"30":{},"32":{},"36":{},"38":{},"40":{},"44":{},"46":{},"48":{},"49":{},"51":{},"58":{},"59":{},"63":{},"66":{},"67":{},"72":{},"73":{},"78":{},"84":{},"86":{},"88":{},"94":{},"96":{},"97":{},"129":{},"140":{},"141":{},"142":{},"147":{},"151":{},"156":{},"168":{},"178":{},"185":{},"191":{},"192":{},"194":{},"211":{},"212":{},"214":{},"231":{},"239":{},"241":{},"242":{},"243":{},"245":{},"246":{},"249":{},"259":{},"261":{},"271":{},"274":{},"276":{},"279":{},"280":{},"289":{}},"component":{}}],["incom",{"_index":659,"title":{"206-32":{}},"name":{},"text":{"3":{},"38":{},"47":{},"51":{},"69":{},"76":{},"83":{},"84":{},"85":{},"121":{},"130":{},"165":{},"179":{},"191":{},"202":{},"261":{}},"component":{}}],["incompat",{"_index":5543,"title":{},"name":{},"text":{"101":{}},"component":{}}],["incompatibleaggregateexcept",{"_index":4117,"title":{},"name":{},"text":{"67":{}},"component":{}}],["incomplet",{"_index":6117,"title":{},"name":{},"text":{"142":{}},"component":{}}],["inconsist",{"_index":3995,"title":{},"name":{},"text":{"67":{},"86":{},"142":{},"143":{}},"component":{}}],["incorrect",{"_index":4190,"title":{},"name":{},"text":{"67":{},"141":{}},"component":{}}],["incorrectli",{"_index":3782,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["increas",{"_index":962,"title":{"76-1":{},"165-1":{}},"name":{},"text":{"6":{},"14":{},"38":{},"58":{},"76":{},"79":{},"88":{},"140":{},"141":{},"145":{},"148":{},"163":{},"165":{},"179":{},"250":{},"260":{},"261":{},"273":{}},"component":{}}],["increase/decreas",{"_index":4703,"title":{},"name":{},"text":{"76":{}},"component":{}}],["incred",{"_index":3020,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["increment",{"_index":1456,"title":{"79-2":{}},"name":{},"text":{"29":{},"44":{},"67":{},"77":{},"79":{},"87":{},"88":{},"120":{},"121":{},"138":{},"142":{}},"component":{}}],["incur",{"_index":7226,"title":{},"name":{},"text":{"199":{}},"component":{}}],["indefinit",{"_index":111,"title":{},"name":{},"text":{"2":{},"34":{},"44":{},"151":{}},"component":{}}],["indent",{"_index":8001,"title":{},"name":{},"text":{"284":{}},"component":{}}],["independ",{"_index":880,"title":{},"name":{},"text":{"6":{},"74":{},"117":{},"140":{},"144":{},"151":{},"221":{},"279":{},"285":{}},"component":{}}],["index",{"_index":3,"title":{"147-1":{}},"name":{"1":{},"6":{},"8":{},"12":{},"13":{},"16":{},"21":{},"23":{},"25":{},"27":{},"28":{},"37":{},"41":{},"45":{},"49":{},"55":{},"62":{},"65":{},"70":{},"73":{},"78":{},"87":{},"91":{},"94":{},"97":{},"100":{},"107":{},"111":{},"117":{},"120":{},"124":{},"129":{},"133":{},"137":{},"146":{},"153":{},"155":{},"159":{},"160":{},"164":{},"175":{},"181":{},"183":{},"190":{},"191":{},"192":{},"194":{},"199":{},"200":{},"207":{},"221":{},"224":{},"226":{},"227":{},"236":{},"249":{},"253":{},"254":{},"259":{},"266":{},"267":{},"272":{},"282":{},"287":{}},"text":{"46":{},"51":{},"59":{},"67":{},"79":{},"111":{},"141":{},"142":{},"143":{},"147":{},"151":{},"179":{},"202":{},"212":{},"274":{}},"component":{}}],["index.adoc",{"_index":3282,"title":{},"name":{},"text":{"66":{}},"component":{}}],["indexoutofboundsexcept",{"_index":3653,"title":{},"name":{},"text":{"66":{}},"component":{}}],["indic",{"_index":923,"title":{"54":{},"54-1":{},"79-1":{}},"name":{},"text":{"6":{},"24":{},"34":{},"38":{},"47":{},"49":{},"52":{},"53":{},"54":{},"55":{},"58":{},"59":{},"60":{},"61":{},"63":{},"66":{},"69":{},"72":{},"79":{},"83":{},"111":{},"143":{},"169":{},"179":{},"195":{},"202":{},"203":{},"217":{},"219":{},"244":{},"261":{},"273":{},"274":{},"276":{},"277":{},"281":{}},"component":{}}],["individu",{"_index":16,"title":{},"name":{},"text":{"1":{},"6":{},"30":{},"49":{},"69":{},"71":{},"101":{},"157":{},"176":{},"178":{},"179":{},"221":{},"260":{},"261":{},"262":{}},"component":{}}],["ineffici",{"_index":5675,"title":{},"name":{},"text":{"111":{},"120":{}},"component":{}}],["inertia",{"_index":7376,"title":{"206-57":{}},"name":{},"text":{"206":{}},"component":{}}],["inevit",{"_index":5073,"title":{},"name":{},"text":{"87":{}},"component":{}}],["inf",{"_index":1736,"title":{},"name":{},"text":{"32":{},"79":{}},"component":{}}],["inf/orm.xml",{"_index":4823,"title":{},"name":{},"text":{"79":{}},"component":{}}],["inf/persistence.xml",{"_index":2522,"title":{},"name":{},"text":{"46":{}},"component":{}}],["inf/services/org.axonframework.common.identifierfactori",{"_index":1294,"title":{},"name":{},"text":{"23":{}},"component":{}}],["inf/services/org.axonframework.messaging.annotation.handlerenhancerdefinit",{"_index":1323,"title":{},"name":{},"text":{"24":{}},"component":{}}],["inf/services/org.axonframework.messaging.annotation.parameterresolverfactori",{"_index":1365,"title":{},"name":{},"text":{"26":{}},"component":{}}],["inf/spr",{"_index":1760,"title":{},"name":{},"text":{"32":{}},"component":{}}],["infam",{"_index":4818,"title":{},"name":{},"text":{"79":{}},"component":{}}],["infer",{"_index":5653,"title":{},"name":{},"text":{"108":{},"280":{}},"component":{}}],["infinit",{"_index":85,"title":{},"name":{},"text":{"2":{},"63":{},"86":{}},"component":{}}],["inflat",{"_index":6602,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["influenc",{"_index":2448,"title":{"46-12":{}},"name":{},"text":{"44":{},"67":{},"88":{},"102":{},"157":{},"179":{}},"component":{}}],["info",{"_index":851,"title":{},"name":{},"text":{"5":{},"88":{},"142":{},"179":{},"280":{},"284":{},"285":{}},"component":{}}],["inform",{"_index":749,"title":{"232-3":{},"274-3":{}},"name":{},"text":{"5":{},"6":{},"28":{},"30":{},"31":{},"33":{},"36":{},"38":{},"46":{},"47":{},"49":{},"50":{},"51":{},"55":{},"59":{},"60":{},"62":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"86":{},"87":{},"88":{},"90":{},"94":{},"97":{},"110":{},"127":{},"128":{},"129":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"153":{},"154":{},"156":{},"157":{},"159":{},"162":{},"165":{},"169":{},"172":{},"178":{},"185":{},"187":{},"190":{},"192":{},"199":{},"202":{},"204":{},"206":{},"208":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"232":{},"235":{},"237":{},"238":{},"241":{},"242":{},"244":{},"245":{},"246":{},"247":{},"249":{},"254":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"264":{},"265":{},"269":{},"272":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"286":{},"290":{}},"component":{}}],["infraconfigur",{"_index":3484,"title":{},"name":{},"text":{"66":{}},"component":{}}],["infraconfiguration.springaxonconfigur",{"_index":3985,"title":{},"name":{},"text":{"67":{}},"component":{}}],["infrastructur",{"_index":800,"title":{"38":{},"71":{},"69-4":{},"221-6":{}},"name":{"38":{},"46":{},"71":{}},"text":{"5":{},"30":{},"31":{},"32":{},"34":{},"37":{},"38":{},"61":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"87":{},"88":{},"89":{},"102":{},"147":{},"227":{},"236":{},"284":{}},"component":{}}],["infrequ",{"_index":6044,"title":{},"name":{},"text":{"140":{}},"component":{}}],["ing.yml",{"_index":661,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ingest",{"_index":2907,"title":{},"name":{},"text":{"57":{},"75":{},"86":{},"87":{},"151":{},"261":{},"262":{}},"component":{}}],["ingress",{"_index":647,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ingress.networking.k8s.io/axonserv",{"_index":663,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["inherit",{"_index":4408,"title":{},"name":{},"text":{"67":{},"81":{},"163":{},"279":{}},"component":{}}],["init",{"_index":6480,"title":{},"name":{},"text":{"154":{},"178":{},"192":{}},"component":{}}],["init_clust",{"_index":6652,"title":{},"name":{},"text":{"171":{}},"component":{}}],["initi",{"_index":406,"title":{"77-9":{},"88-6":{},"88-8":{},"154-3":{},"192-7":{}},"name":{},"text":{"3":{},"20":{},"32":{},"34":{},"36":{},"44":{},"49":{},"59":{},"62":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"82":{},"85":{},"86":{},"88":{},"89":{},"90":{},"102":{},"115":{},"121":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"151":{},"154":{},"163":{},"167":{},"170":{},"174":{},"178":{},"179":{},"191":{},"192":{},"215":{},"244":{},"260":{},"281":{},"284":{},"285":{}},"component":{}}],["initialdelay",{"_index":1159,"title":{},"name":{},"text":{"17":{}},"component":{}}],["initialdelaysecond",{"_index":621,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["initialis",{"_index":5691,"title":{},"name":{},"text":{"114":{},"115":{}},"component":{}}],["initialposit",{"_index":5401,"title":{},"name":{},"text":{"89":{}},"component":{}}],["initialresult",{"_index":3193,"title":{},"name":{},"text":{"63":{}},"component":{}}],["initialsegmentcount",{"_index":5230,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialsegmentcount(32",{"_index":5274,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialtrackingtokenconfigurermodul",{"_index":5179,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialtrackingtokensuppli",{"_index":5331,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialvalu",{"_index":7286,"title":{},"name":{},"text":{"202":{}},"component":{}}],["inject",{"_index":427,"title":{"59-14":{},"69-3":{}},"name":{},"text":{"3":{},"20":{},"25":{},"30":{},"36":{},"39":{},"44":{},"52":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"86":{},"88":{},"97":{},"114":{},"115":{},"191":{},"281":{}},"component":{}}],["injector",{"_index":4133,"title":{},"name":{},"text":{"67":{}},"component":{}}],["inlin",{"_index":5617,"title":{},"name":{},"text":{"105":{},"107":{},"108":{}},"component":{}}],["inmemoryeventstorageengin",{"_index":2603,"title":{},"name":{},"text":{"46":{},"66":{}},"component":{}}],["inmemorysagastor",{"_index":4481,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["inmemorysequenceddeadletterqueu",{"_index":4984,"title":{},"name":{},"text":{"86":{}},"component":{}}],["inmemorytoken",{"_index":5221,"title":{},"name":{},"text":{"88":{}},"component":{}}],["inmemorytokenstor",{"_index":5169,"title":{},"name":{},"text":{"88":{},"99":{}},"component":{}}],["inner",{"_index":1976,"title":{},"name":{},"text":{"35":{},"59":{},"66":{}},"component":{}}],["innov",{"_index":7249,"title":{},"name":{},"text":{"200":{}},"component":{}}],["input",{"_index":1708,"title":{"143-2":{}},"name":{},"text":{"31":{},"44":{},"88":{},"121":{},"194":{},"274":{},"289":{}},"component":{}}],["inputstream",{"_index":1705,"title":{},"name":{},"text":{"31":{},"121":{}},"component":{}}],["insecur",{"_index":6571,"title":{},"name":{},"text":{"168":{},"174":{},"178":{}},"component":{}}],["insert",{"_index":2532,"title":{},"name":{},"text":{"46":{},"52":{},"67":{},"79":{},"87":{},"150":{}},"component":{}}],["insid",{"_index":1297,"title":{},"name":{},"text":{"23":{},"24":{},"30":{},"35":{},"38":{},"46":{},"50":{},"66":{},"69":{},"72":{},"88":{},"92":{},"101":{},"145":{},"197":{},"270":{},"280":{},"281":{}},"component":{}}],["insight",{"_index":89,"title":{"242":{},"273-4":{},"274-28":{}},"name":{"242":{}},"text":{"2":{},"5":{},"28":{},"49":{},"55":{},"59":{},"86":{},"192":{},"227":{},"236":{},"239":{},"241":{},"242":{},"243":{},"246":{},"249":{},"259":{},"273":{},"274":{}},"component":{}}],["inspect",{"_index":4940,"title":{},"name":{},"text":{"84":{},"186":{},"257":{}},"component":{}}],["instal",{"_index":146,"title":{"3":{},"159":{},"199":{},"201":{},"208":{},"232":{},"170-1":{},"172-1":{},"199-1":{},"199-8":{}},"name":{"201":{},"208":{},"232":{}},"text":{"2":{},"3":{},"5":{},"11":{},"12":{},"137":{},"151":{},"159":{},"170":{},"172":{},"176":{},"178":{},"179":{},"191":{},"199":{},"201":{},"202":{},"203":{},"207":{},"208":{},"215":{},"232":{},"241":{},"245":{},"277":{},"284":{}},"component":{"3":{},"199":{}}}],["installing_as_dock",{"_index":201,"title":{},"name":{"3":{}},"text":{},"component":{}}],["instana",{"_index":5985,"title":{},"name":{},"text":{"133":{}},"component":{}}],["instanc",{"_index":260,"title":{"232":{},"64-4":{},"64-5":{},"274-16":{}},"name":{"232":{}},"text":{"3":{},"5":{},"6":{},"15":{},"18":{},"19":{},"20":{},"23":{},"26":{},"28":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"42":{},"43":{},"44":{},"46":{},"47":{},"51":{},"52":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"96":{},"97":{},"99":{},"101":{},"102":{},"104":{},"115":{},"121":{},"127":{},"130":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"150":{},"151":{},"154":{},"156":{},"157":{},"161":{},"163":{},"165":{},"179":{},"180":{},"191":{},"192":{},"197":{},"199":{},"201":{},"202":{},"203":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"219":{},"221":{},"224":{},"226":{},"232":{},"234":{},"237":{},"238":{},"239":{},"241":{},"245":{},"246":{},"250":{},"260":{},"261":{},"262":{},"274":{},"277":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["instanceof",{"_index":1036,"title":{},"name":{},"text":{"14":{},"50":{},"76":{},"86":{}},"component":{}}],["instances/thread",{"_index":5163,"title":{},"name":{},"text":{"88":{}},"component":{}}],["instance’",{"_index":5486,"title":{},"name":{},"text":{"99":{}},"component":{}}],["instant",{"_index":1240,"title":{},"name":{},"text":{"20":{},"39":{},"72":{},"86":{},"88":{}},"component":{}}],["instant.now().getepochsecond",{"_index":7963,"title":{},"name":{},"text":{"281":{}},"component":{}}],["instant.now().plus(command.daysvalid",{"_index":1242,"title":{},"name":{},"text":{"20":{}},"component":{}}],["instanti",{"_index":1923,"title":{},"name":{},"text":{"34":{},"35":{},"36":{},"44":{},"67":{},"77":{},"80":{},"82":{},"102":{}},"component":{}}],["instantli",{"_index":752,"title":{},"name":{},"text":{"5":{}},"component":{}}],["instead",{"_index":953,"title":{},"name":{},"text":{"6":{},"16":{},"29":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"44":{},"46":{},"47":{},"49":{},"53":{},"57":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"74":{},"77":{},"79":{},"83":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"99":{},"104":{},"105":{},"108":{},"114":{},"120":{},"140":{},"145":{},"166":{},"168":{},"174":{},"178":{},"179":{},"206":{},"217":{},"276":{},"280":{}},"component":{}}],["instruct",{"_index":684,"title":{"4-4":{},"215-2":{},"215-6":{},"215-10":{},"215-14":{},"215-18":{}},"name":{},"text":{"5":{},"59":{},"66":{},"67":{},"140":{},"143":{},"144":{},"151":{},"179":{},"202":{},"203":{},"232":{},"237":{},"238":{},"241":{},"245":{},"262":{},"263":{},"266":{},"267":{},"276":{},"277":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["instruction.result.timeout",{"_index":6896,"title":{},"name":{},"text":{"179":{}},"component":{}}],["instrument",{"_index":2999,"title":{},"name":{},"text":{"59":{},"133":{}},"component":{}}],["instrumentcommandbus(meterregistri",{"_index":2935,"title":{},"name":{},"text":{"57":{}},"component":{}}],["instrumenteventprocessors(meterregistri",{"_index":2934,"title":{},"name":{},"text":{"57":{}},"component":{}}],["instrumenteventstore(meterregistri",{"_index":2933,"title":{},"name":{},"text":{"57":{}},"component":{}}],["instrumentquerybus(meterregistri",{"_index":2936,"title":{},"name":{},"text":{"57":{}},"component":{}}],["insuffici",{"_index":4831,"title":{},"name":{},"text":{"79":{},"88":{}},"component":{}}],["int",{"_index":1049,"title":{},"name":{},"text":{"14":{},"22":{},"35":{},"38":{},"76":{},"84":{},"85":{},"86":{},"87":{},"88":{},"99":{},"102":{},"108":{}},"component":{}}],["intact",{"_index":2436,"title":{},"name":{},"text":{"44":{}},"component":{}}],["integ",{"_index":1950,"title":{},"name":{},"text":{"35":{},"87":{}},"component":{}}],["integr",{"_index":130,"title":{"32":{},"244-4":{},"262-6":{}},"name":{"32":{}},"text":{"2":{},"28":{},"29":{},"30":{},"40":{},"59":{},"66":{},"67":{},"86":{},"140":{},"151":{},"169":{},"172":{},"244":{},"250":{},"262":{},"273":{},"286":{},"287":{}},"component":{}}],["integrationtest",{"_index":3349,"title":{},"name":{},"text":{"66":{}},"component":{}}],["intellij",{"_index":7831,"title":{"280-15":{},"283-3":{}},"name":{},"text":{"280":{},"283":{}},"component":{}}],["intend",{"_index":1012,"title":{"199-2":{},"227-2":{},"236-2":{}},"name":{},"text":{"8":{},"12":{},"13":{},"28":{},"29":{},"31":{},"35":{},"36":{},"38":{},"41":{},"44":{},"48":{},"49":{},"66":{},"67":{},"70":{},"73":{},"78":{},"140":{},"145":{},"199":{},"271":{},"281":{}},"component":{}}],["intent",{"_index":1606,"title":{},"name":{},"text":{"31":{},"34":{},"35":{},"37":{},"38":{},"49":{},"66":{},"68":{},"83":{},"145":{},"155":{},"176":{},"289":{}},"component":{}}],["intention",{"_index":1919,"title":{},"name":{},"text":{"34":{},"68":{},"269":{},"271":{}},"component":{}}],["interact",{"_index":2841,"title":{},"name":{},"text":{"53":{},"69":{},"72":{},"74":{},"87":{},"88":{},"117":{},"203":{},"211":{},"212":{},"214":{},"260":{},"281":{}},"component":{}}],["intercept",{"_index":1313,"title":{"51":{}},"name":{"51":{}},"text":{"24":{},"51":{},"121":{},"148":{}},"component":{}}],["intercept(cardredeemedev",{"_index":2792,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(eventmessag",{"_index":2790,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(m",{"_index":5883,"title":{},"name":{},"text":{"121":{}},"component":{}}],["intercept(messag",{"_index":2788,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(mono",{"_index":5862,"title":{},"name":{},"text":{"121":{}},"component":{}}],["intercept(mono.just(message)).block",{"_index":5863,"title":{},"name":{},"text":{"121":{}},"component":{}}],["intercept(querymessag",{"_index":2794,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(redeemcardcommand",{"_index":2759,"title":{},"name":{},"text":{"51":{}},"component":{}}],["interceptor",{"_index":1308,"title":{"51-1":{},"51-2":{},"51-4":{},"51-6":{},"51-7":{},"51-8":{},"51-9":{},"51-10":{},"51-12":{},"56-2":{},"87-10":{},"121-14":{},"121-15":{},"121-16":{}},"name":{},"text":{"24":{},"38":{},"48":{},"51":{},"59":{},"66":{},"67":{},"87":{},"121":{},"126":{},"143":{},"148":{},"274":{}},"component":{}}],["interceptorchain",{"_index":2741,"title":{},"name":{},"text":{"51":{},"52":{},"67":{}},"component":{}}],["interceptorchain#proce",{"_index":2782,"title":{},"name":{},"text":{"51":{}},"component":{}}],["interceptorchain.proce",{"_index":2753,"title":{},"name":{},"text":{"51":{}},"component":{}}],["interconnect",{"_index":417,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["interest",{"_index":1352,"title":{},"name":{},"text":{"24":{},"34":{},"42":{},"49":{},"57":{},"63":{},"66":{},"67":{},"69":{},"77":{},"88":{},"99":{},"121":{},"151":{},"153":{},"264":{},"269":{},"271":{},"281":{}},"component":{}}],["interfac",{"_index":805,"title":{"178":{},"147-7":{},"147-9":{}},"name":{"178":{}},"text":{"5":{},"14":{},"15":{},"24":{},"27":{},"31":{},"34":{},"36":{},"38":{},"40":{},"42":{},"44":{},"47":{},"49":{},"50":{},"51":{},"52":{},"56":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"83":{},"86":{},"87":{},"88":{},"115":{},"121":{},"140":{},"143":{},"145":{},"148":{},"157":{},"174":{},"178":{},"181":{},"201":{},"204":{},"208":{},"211":{},"212":{},"214":{},"227":{},"236":{},"257":{},"276":{},"280":{},"281":{}},"component":{}}],["intermedi",{"_index":2449,"title":{},"name":{},"text":{"44":{},"66":{},"67":{},"163":{}},"component":{}}],["intermediateeventrepresent",{"_index":2445,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediateeventrepresentation#canconvertdatato(class",{"_index":2450,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediaterepresent",{"_index":2481,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediaterepresentation.gettype().equals(target_typ",{"_index":2482,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediaterepresentation.upcastpayload",{"_index":2483,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermitt",{"_index":5361,"title":{},"name":{},"text":{"88":{}},"component":{}}],["intern",{"_index":1597,"title":{"143-7":{}},"name":{},"text":{"31":{},"34":{},"52":{},"59":{},"66":{},"67":{},"69":{},"77":{},"82":{},"88":{},"141":{},"143":{},"148":{},"154":{},"157":{},"163":{},"166":{},"169":{},"176":{},"178":{},"179":{},"189":{},"192":{},"199":{},"208":{},"215":{},"280":{},"281":{},"286":{},"290":{}},"component":{}}],["internal/raft/statu",{"_index":6025,"title":{},"name":{},"text":{"140":{}},"component":{}}],["internalhostnam",{"_index":6404,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["internet",{"_index":7764,"title":{},"name":{},"text":{"277":{}},"component":{}}],["internod",{"_index":5963,"title":{},"name":{"130":{}},"text":{},"component":{}}],["interoper",{"_index":1588,"title":{},"name":{},"text":{"31":{},"107":{}},"component":{}}],["interpret",{"_index":3065,"title":{},"name":{},"text":{"59":{}},"component":{}}],["interrupt",{"_index":1913,"title":{},"name":{},"text":{"34":{},"38":{},"67":{},"143":{},"288":{}},"component":{}}],["interruptedexcept",{"_index":2113,"title":{},"name":{},"text":{"38":{}},"component":{}}],["interv",{"_index":1164,"title":{"151-9":{},"206-41":{},"206-48":{},"206-49":{},"206-53":{},"206-54":{},"206-56":{}},"name":{},"text":{"17":{},"38":{},"40":{},"74":{},"87":{},"88":{},"104":{},"151":{},"179":{},"189":{},"206":{}},"component":{}}],["intervalretryschedul",{"_index":2091,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["intervent",{"_index":5054,"title":{},"name":{},"text":{"87":{},"88":{}},"component":{}}],["intric",{"_index":803,"title":{},"name":{},"text":{"5":{}},"component":{}}],["intro",{"_index":4988,"title":{},"name":{},"text":{"86":{}},"component":{}}],["introduc",{"_index":1070,"title":{"263":{},"270":{},"200-1":{},"227-1":{},"236-1":{}},"name":{},"text":{"15":{},"29":{},"31":{},"33":{},"34":{},"44":{},"51":{},"66":{},"67":{},"84":{},"87":{},"88":{},"101":{},"102":{},"104":{},"105":{},"108":{},"119":{},"120":{},"145":{},"156":{},"163":{},"257":{},"265":{},"270":{},"271":{},"272":{},"274":{},"275":{},"277":{},"280":{},"281":{}},"component":{}}],["introduct",{"_index":1127,"title":{"28":{},"117":{},"137":{},"264":{},"266":{},"282":{},"16-1":{},"151-1":{},"154-1":{}},"name":{},"text":{"66":{},"67":{},"87":{},"105":{},"111":{},"142":{},"192":{}},"component":{}}],["introspect",{"_index":4031,"title":{},"name":{},"text":{"67":{}},"component":{}}],["intrus",{"_index":1768,"title":{},"name":{},"text":{"32":{}},"component":{}}],["intuit",{"_index":6550,"title":{},"name":{},"text":{"163":{},"227":{},"236":{}},"component":{}}],["invalid",{"_index":2737,"title":{},"name":{},"text":{"51":{},"66":{},"67":{},"77":{},"143":{},"168":{},"179":{},"215":{}},"component":{}}],["invari",{"_index":8072,"title":{},"name":{},"text":{"289":{}},"component":{}}],["inventori",{"_index":8038,"title":{},"name":{},"text":{"286":{}},"component":{}}],["inventorycontrol",{"_index":8081,"title":{},"name":{},"text":{"290":{}},"component":{}}],["invert",{"_index":5790,"title":{},"name":{},"text":{"120":{}},"component":{}}],["investig",{"_index":2990,"title":{},"name":{},"text":{"58":{},"66":{}},"component":{}}],["invit",{"_index":7613,"title":{},"name":{},"text":{"255":{}},"component":{}}],["invite/remov",{"_index":7609,"title":{},"name":{},"text":{"255":{}},"component":{}}],["invoc",{"_index":1977,"title":{"59-47":{},"87-5":{}},"name":{},"text":{"35":{},"36":{},"38":{},"43":{},"44":{},"51":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"83":{},"84":{},"87":{},"121":{},"281":{}},"component":{}}],["invoic",{"_index":2285,"title":{},"name":{},"text":{"39":{},"40":{},"68":{},"74":{},"250":{},"254":{}},"component":{}}],["invoicecreatedev",{"_index":4675,"title":{},"name":{},"text":{"74":{}},"component":{}}],["invoiceid",{"_index":4439,"title":{},"name":{},"text":{"68":{}},"component":{}}],["invoicepaymentdeadlineexpiredev",{"_index":2337,"title":{},"name":{},"text":{"40":{}},"component":{}}],["invok",{"_index":696,"title":{"280-12":{},"280-13":{},"283-1":{}},"name":{"283":{}},"text":{"4":{},"17":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"51":{},"52":{},"53":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"81":{},"85":{},"86":{},"87":{},"88":{},"89":{},"105":{},"127":{},"130":{},"145":{},"163":{},"260":{},"276":{},"280":{},"281":{},"283":{}},"component":{}}],["invokerinterceptor",{"_index":2195,"title":{},"name":{},"text":{"38":{}},"component":{}}],["invokerthreadcount",{"_index":2205,"title":{},"name":{},"text":{"38":{}},"component":{}}],["involv",{"_index":2276,"title":{},"name":{},"text":{"39":{},"77":{},"140":{},"151":{},"156":{},"157":{},"162":{},"163":{},"192":{},"220":{},"288":{}},"component":{}}],["io",{"_index":6429,"title":{"151-13":{}},"name":{},"text":{"151":{}},"component":{}}],["io.axoniq",{"_index":6201,"title":{},"name":{},"text":{"144":{}},"component":{}}],["io.axoniq.axonserver.plugin.configur",{"_index":6384,"title":{},"name":{},"text":{"148":{}},"component":{}}],["io.axoniq.axonserver.plugin.configurationlisten",{"_index":6381,"title":{},"name":{},"text":{"148":{}},"component":{}}],["io.axoniq.axonserver.plugin.pluginpropertydefinit",{"_index":6385,"title":{},"name":{},"text":{"148":{}},"component":{}}],["io.axoniq.consol",{"_index":7744,"title":{},"name":{},"text":{"276":{}},"component":{}}],["io.axoniq.console:consol",{"_index":7742,"title":{},"name":{},"text":{"276":{}},"component":{}}],["io.axoniq.demo.bikerent",{"_index":7815,"title":{},"name":{},"text":{"279":{}},"component":{}}],["io.axoniq.demo.bikerental.coreapi",{"_index":7798,"title":{},"name":{},"text":{"279":{}},"component":{}}],["io.axoniq.demo.bikerental.coreapi.rent",{"_index":7841,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["io.axoniq.demo.bikerental.pay",{"_index":7705,"title":{},"name":{},"text":{"274":{}},"component":{}}],["io.axoniq.demo.bikerental.rent",{"_index":7799,"title":{},"name":{},"text":{"279":{}},"component":{}}],["io.axoniq.demo.bikerental.rental.command.biketest",{"_index":8033,"title":{},"name":{},"text":{"285":{}},"component":{}}],["io.axoniq.demo.bikerental.rental.ui",{"_index":7972,"title":{},"name":{},"text":{"281":{}},"component":{}}],["io.axoniq.demo.giftcard.api.cardissuedev",{"_index":7299,"title":{},"name":{},"text":{"202":{}},"component":{}}],["io.axoniq.demo.giftcard.api.cardredeemedev",{"_index":7321,"title":{},"name":{},"text":{"203":{}},"component":{}}],["io.axoniq.demo.giftcard.api.cardsummari",{"_index":7316,"title":{},"name":{},"text":{"203":{},"219":{}},"component":{}}],["io.axoniq.demo.giftcard.api.fetchcardsummariesqueri",{"_index":7289,"title":{},"name":{},"text":{"202":{},"203":{},"219":{}},"component":{}}],["io.axoniq.demo.giftcard.api.issuecardcommand",{"_index":7271,"title":{},"name":{},"text":{"202":{},"203":{},"216":{}},"component":{}}],["io.dropwizard.metr",{"_index":2917,"title":{},"name":{},"text":{"57":{}},"component":{}}],["io.opentracing.contrib",{"_index":5981,"title":{},"name":{},"text":{"133":{}},"component":{}}],["io.spring.depend",{"_index":1548,"title":{},"name":{},"text":{"30":{}},"component":{}}],["io.spring.gradle:depend",{"_index":1546,"title":{},"name":{},"text":{"30":{}},"component":{}}],["iop",{"_index":7240,"title":{},"name":{},"text":{"199":{}},"component":{}}],["ip",{"_index":5432,"title":{},"name":{},"text":{"94":{},"96":{},"143":{}},"component":{}}],["irrelev",{"_index":5240,"title":{},"name":{},"text":{"88":{},"140":{}},"component":{}}],["irrevers",{"_index":2028,"title":{},"name":{},"text":{"36":{}},"component":{}}],["isavail",{"_index":7958,"title":{},"name":{},"text":{"281":{}},"component":{}}],["iscaughtup",{"_index":2973,"title":{},"name":{},"text":{"58":{}},"component":{}}],["iserrorst",{"_index":2976,"title":{},"name":{},"text":{"58":{}},"component":{}}],["isexcept",{"_index":2874,"title":{},"name":{},"text":{"53":{}},"component":{}}],["isliv",{"_index":4917,"title":{},"name":{},"text":{"82":{}},"component":{}}],["ismerg",{"_index":2975,"title":{},"name":{},"text":{"58":{}},"component":{}}],["isn’t",{"_index":1219,"title":{},"name":{},"text":{"19":{},"27":{},"34":{},"46":{},"50":{},"67":{},"86":{},"88":{},"124":{},"215":{},"226":{}},"component":{}}],["iso",{"_index":4808,"title":{},"name":{},"text":{"79":{},"215":{}},"component":{}}],["isol",{"_index":975,"title":{},"name":{},"text":{"6":{},"44":{},"87":{},"142":{}},"component":{}}],["isreplay",{"_index":2974,"title":{},"name":{},"text":{"58":{},"67":{}},"component":{}}],["issu",{"_index":690,"title":{"29":{},"271":{},"29-2":{},"215-4":{},"215-8":{},"215-12":{},"215-16":{},"215-20":{}},"name":{"29":{},"271":{}},"text":{"4":{},"29":{},"30":{},"38":{},"46":{},"63":{},"66":{},"67":{},"69":{},"71":{},"79":{},"80":{},"88":{},"127":{},"138":{},"140":{},"141":{},"143":{},"145":{},"149":{},"173":{},"176":{},"185":{},"189":{},"202":{},"203":{},"215":{},"242":{},"243":{},"246":{},"261":{},"263":{},"266":{},"268":{},"270":{},"271":{},"273":{}},"component":{}}],["issuecardcommand",{"_index":1901,"title":{},"name":{},"text":{"34":{},"35":{},"51":{},"82":{},"85":{},"105":{},"202":{}},"component":{}}],["issuecardcommand(cardid",{"_index":1858,"title":{},"name":{},"text":{"34":{}},"component":{}}],["issuecardcommand(str",{"_index":1951,"title":{},"name":{},"text":{"35":{}},"component":{}}],["issuecardcommand(uuid.randomuuid().tostr",{"_index":1903,"title":{},"name":{},"text":{"34":{}},"component":{}}],["issuecardcommand.class",{"_index":2801,"title":{},"name":{},"text":{"51":{}},"component":{}}],["issuecmd(\"gc1",{"_index":3179,"title":{},"name":{},"text":{"63":{}},"component":{}}],["issueexpiringcardcommand(card_id",{"_index":1201,"title":{},"name":{},"text":{"18":{},"22":{}},"component":{}}],["isunencrypted(eventwithtoken.getev",{"_index":6279,"title":{},"name":{},"text":{"145":{}},"component":{}}],["it'",{"_index":1083,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["item",{"_index":3093,"title":{},"name":{},"text":{"59":{},"63":{},"66":{},"77":{},"142":{},"217":{},"249":{},"255":{},"259":{},"261":{},"280":{}},"component":{}}],["itemoutofstockev",{"_index":4727,"title":{},"name":{},"text":{"77":{}},"component":{}}],["iter",{"_index":2493,"title":{},"name":{},"text":{"44":{},"64":{},"84":{},"86":{},"280":{}},"component":{}}],["itself",{"_index":1924,"title":{},"name":{},"text":{"34":{},"35":{},"36":{},"38":{},"42":{},"44":{},"46":{},"49":{},"53":{},"56":{},"59":{},"67":{},"80":{},"87":{},"88":{},"89":{},"99":{},"104":{},"123":{},"130":{},"137":{},"140":{},"142":{},"144":{},"145":{},"154":{},"167":{},"177":{},"178":{},"185":{},"192":{},"199":{},"204":{},"226":{},"229":{},"234":{},"238":{},"250":{},"261":{},"262":{},"280":{},"290":{}},"component":{}}],["it’",{"_index":818,"title":{},"name":{},"text":{"5":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"39":{},"40":{},"46":{},"59":{},"62":{},"63":{},"66":{},"67":{},"77":{},"82":{},"85":{},"86":{},"88":{},"100":{},"114":{},"123":{},"124":{},"142":{},"145":{},"151":{},"163":{},"176":{},"177":{},"178":{},"189":{},"200":{},"201":{},"206":{},"208":{},"210":{},"217":{},"219":{},"221":{},"246":{},"260":{},"261":{},"280":{},"281":{},"283":{},"285":{},"286":{}},"component":{}}],["it’ll",{"_index":6260,"title":{},"name":{},"text":{"145":{}},"component":{}}],["i’m",{"_index":6313,"title":{},"name":{},"text":{"145":{}},"component":{}}],["j",{"_index":3738,"title":{},"name":{},"text":{"66":{},"170":{},"172":{}},"component":{}}],["jackson",{"_index":1575,"title":{},"name":{},"text":{"31":{},"44":{},"46":{},"66":{}},"component":{}}],["jacksonseri",{"_index":1561,"title":{"31-12":{}},"name":{},"text":{"31":{},"46":{},"66":{},"67":{},"69":{},"71":{},"161":{}},"component":{}}],["jacksonserializer.build",{"_index":1680,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacksonserializer.builder#defaulttyp",{"_index":1691,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacksonserializer.builder().build",{"_index":2610,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jacksonserializer.defaultseri",{"_index":1625,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacksonserializer’",{"_index":1690,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jackson’",{"_index":1577,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacoco",{"_index":3932,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jaeger",{"_index":3049,"title":{},"name":{},"text":{"59":{},"133":{},"188":{}},"component":{}}],["jakarta",{"_index":1774,"title":{"33-5":{},"33-9":{}},"name":{},"text":{"33":{},"46":{},"66":{}},"component":{}}],["jakarta.persist",{"_index":1719,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["jakarta.persistence.cascadetyp",{"_index":4965,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.ent",{"_index":4966,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.fetchtyp",{"_index":4967,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.id",{"_index":4968,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.joincolumn",{"_index":4969,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.onetomani",{"_index":4970,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta/javax",{"_index":4063,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jangalinski",{"_index":3750,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jar",{"_index":142,"title":{},"name":{},"text":{"2":{},"3":{},"4":{},"44":{},"147":{},"148":{},"156":{},"161":{},"168":{},"169":{},"170":{},"172":{},"174":{},"178":{},"179":{},"191":{},"192":{},"201":{},"208":{},"215":{}},"component":{}}],["jasperfect",{"_index":4246,"title":{},"name":{},"text":{"67":{}},"component":{}}],["java",{"_index":66,"title":{"89-5":{},"89-11":{}},"name":{},"text":{"2":{},"3":{},"5":{},"23":{},"30":{},"31":{},"38":{},"40":{},"44":{},"46":{},"47":{},"57":{},"59":{},"63":{},"66":{},"67":{},"82":{},"84":{},"88":{},"89":{},"107":{},"120":{},"124":{},"140":{},"144":{},"145":{},"147":{},"148":{},"156":{},"168":{},"169":{},"174":{},"176":{},"178":{},"179":{},"187":{},"191":{},"200":{},"201":{},"208":{},"237":{},"261":{},"263":{},"267":{},"276":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["java.concurr",{"_index":1887,"title":{},"name":{},"text":{"34":{}},"component":{}}],["java.lang",{"_index":4213,"title":{},"name":{},"text":{"67":{}},"component":{}}],["java.lang.long",{"_index":2832,"title":{},"name":{},"text":{"52":{}},"component":{}}],["java.lang.object",{"_index":7491,"title":{},"name":{},"text":{"215":{}},"component":{}}],["java.lang.str",{"_index":2836,"title":{},"name":{},"text":{"52":{},"63":{}},"component":{}}],["java.time.inst",{"_index":2830,"title":{},"name":{},"text":{"52":{}},"component":{}}],["java.time.temporal.tempor",{"_index":2831,"title":{},"name":{},"text":{"52":{}},"component":{}}],["java.util.arraylist",{"_index":7287,"title":{},"name":{},"text":{"202":{}},"component":{}}],["java.util.arrays.aslist",{"_index":6387,"title":{},"name":{},"text":{"148":{}},"component":{}}],["java.util.collections.singletonmap",{"_index":2642,"title":{},"name":{},"text":{"47":{}},"component":{}}],["java.util.concurrent.completablefutur",{"_index":5654,"title":{},"name":{},"text":{"108":{}},"component":{}}],["java.util.concurrent.executor",{"_index":2354,"title":{},"name":{},"text":{"40":{}},"component":{}}],["java.util.map",{"_index":6386,"title":{},"name":{},"text":{"148":{}},"component":{}}],["java.util.uuid",{"_index":1287,"title":{},"name":{},"text":{"23":{}},"component":{}}],["javadoc",{"_index":1667,"title":{},"name":{},"text":{"31":{},"38":{},"63":{},"66":{},"67":{}},"component":{}}],["javax",{"_index":1773,"title":{"33-1":{},"33-5":{}},"name":{},"text":{"33":{},"46":{},"66":{},"67":{}},"component":{}}],["javax.annot",{"_index":1829,"title":{},"name":{},"text":{"33":{}},"component":{}}],["javax.cach",{"_index":1830,"title":{},"name":{},"text":{"33":{}},"component":{}}],["javax.persist",{"_index":1721,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["java’",{"_index":1221,"title":{},"name":{},"text":{"20":{},"23":{},"27":{},"31":{}},"component":{}}],["jcach",{"_index":4783,"title":{},"name":{},"text":{"77":{}},"component":{}}],["jcacheadapt",{"_index":3395,"title":{},"name":{},"text":{"66":{},"77":{}},"component":{}}],["jcenter",{"_index":1545,"title":{},"name":{},"text":{"30":{}},"component":{}}],["jchannel",{"_index":5431,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jchannel(\"path/to/channel/config.xml",{"_index":5440,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jdbc",{"_index":1065,"title":{},"name":{},"text":{"15":{},"46":{},"66":{},"67":{},"69":{},"71":{},"86":{},"88":{},"100":{},"111":{},"125":{},"161":{}},"component":{}}],["jdbcautoconfigur",{"_index":2579,"title":{},"name":{},"text":{"46":{},"67":{}},"component":{}}],["jdbceve",{"_index":3382,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jdbceventstorageengin",{"_index":2511,"title":{"46-6":{}},"name":{},"text":{"46":{},"66":{},"67":{}},"component":{}}],["jdbceventstorageengine.build",{"_index":2587,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jdbceventstorageenginestat",{"_index":2585,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jdbcsagarepositori",{"_index":4486,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["jdbcsagastor",{"_index":4447,"title":{"69-8":{},"71-6":{}},"name":{},"text":{"69":{},"71":{}},"component":{}}],["jdbcsagastore#createschema",{"_index":4522,"title":{},"name":{},"text":{"71":{}},"component":{}}],["jdbcsagastore.build",{"_index":4516,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["jdbcsequenceddeadletterqueu",{"_index":4985,"title":{},"name":{},"text":{"86":{}},"component":{}}],["jdbctokenstor",{"_index":3723,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["jdbctokenstore#createschema(tokentablefactori",{"_index":5210,"title":{},"name":{},"text":{"88":{}},"component":{}}],["jdbctokenstore.build",{"_index":5219,"title":{},"name":{},"text":{"88":{}},"component":{}}],["jdbctyperegistri",{"_index":4856,"title":{},"name":{},"text":{"79":{}},"component":{}}],["jdbctyperegistry.adddescriptor(types.blob",{"_index":4859,"title":{},"name":{},"text":{"79":{}},"component":{}}],["jdk",{"_index":1601,"title":{},"name":{},"text":{"31":{},"140":{}},"component":{}}],["jdk16",{"_index":3485,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jdk17",{"_index":3455,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["jdk21",{"_index":3329,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jgroup",{"_index":17,"title":{"94":{},"95":{},"30-19":{},"30-20":{}},"name":{},"text":{"1":{},"30":{},"38":{},"94":{},"95":{},"96":{}},"component":{"94":{},"95":{},"96":{}}}],["jgroupsconnector",{"_index":5429,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jgroupsconnector.build",{"_index":5442,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jgroupsconnectorfactorybean",{"_index":5453,"title":{},"name":{},"text":{"96":{}},"component":{}}],["jk",{"_index":7412,"title":{},"name":{},"text":{"206":{}},"component":{}}],["job",{"_index":1934,"title":{},"name":{},"text":{"35":{},"40":{},"66":{},"67":{},"79":{},"97":{},"99":{}},"component":{}}],["jobrunr",{"_index":19,"title":{"97":{},"98":{},"30-21":{},"30-22":{},"40-3":{}},"name":{},"text":{"1":{},"30":{},"39":{},"40":{},"66":{},"95":{},"97":{},"98":{}},"component":{"97":{},"98":{}}}],["jobrunrdeadlinemanag",{"_index":1213,"title":{},"name":{},"text":{"19":{},"39":{},"66":{}},"component":{}}],["jobrunrdeadlinemanager.build",{"_index":2323,"title":{},"name":{},"text":{"39":{}},"component":{}}],["jobrunreventschedul",{"_index":2356,"title":{},"name":{},"text":{"40":{}},"component":{}}],["jobrunreventscheduler.build",{"_index":2372,"title":{},"name":{},"text":{"40":{}},"component":{}}],["jobrunrpro",{"_index":1517,"title":{},"name":{},"text":{"30":{}},"component":{}}],["jobrunrprodeadlinemanag",{"_index":5474,"title":{},"name":{},"text":{"97":{}},"component":{}}],["jobrunrprodeadlinemanager.probuild",{"_index":5475,"title":{},"name":{},"text":{"97":{}},"component":{}}],["jobschedul",{"_index":2321,"title":{},"name":{},"text":{"39":{},"40":{}},"component":{}}],["jobscheduler(jobschedul",{"_index":2324,"title":{},"name":{},"text":{"39":{},"40":{},"97":{}},"component":{}}],["join",{"_index":5438,"title":{},"name":{},"text":{"94":{},"108":{},"143":{},"154":{},"179":{},"192":{},"235":{}},"component":{}}],["joincolumn(nam",{"_index":4974,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jose",{"_index":6741,"title":{},"name":{},"text":{"172":{}},"component":{}}],["journey",{"_index":3005,"title":{},"name":{},"text":{"59":{}},"component":{}}],["jpa",{"_index":1064,"title":{"29-2":{},"32-2":{}},"name":{},"text":{"15":{},"29":{},"32":{},"36":{},"46":{},"66":{},"67":{},"69":{},"71":{},"79":{},"85":{},"86":{},"88":{},"100":{},"111":{},"115":{},"117":{},"125":{},"280":{}},"component":{}}],["jpa.databas",{"_index":4861,"title":{},"name":{},"text":{"79":{}},"component":{}}],["jpa/jdbc",{"_index":3669,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jpaautoconfigur",{"_index":3947,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jpadlq",{"_index":4079,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jpaeventstorageconfigur",{"_index":2557,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jpaeventstorageengin",{"_index":2510,"title":{"46-5":{}},"name":{},"text":{"46":{},"66":{},"67":{},"79":{}},"component":{}}],["jpaeventstorageengine#asdomaineventmessage(eventmessag",{"_index":3622,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jpaeventstoreautoconfigur",{"_index":3971,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jpaqueri",{"_index":3157,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jpaquery.setfirstresult(query.getoffset",{"_index":3162,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jpaquery.setmaxresults(query.getlimit",{"_index":3163,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jpaquery.setparameter(\"idstartswith",{"_index":3160,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jparepositori",{"_index":7827,"title":{"280-3":{}},"name":{},"text":{"280":{}},"component":{}}],["jpasagastor",{"_index":4143,"title":{"69-7":{},"71-5":{}},"name":{},"text":{"67":{},"69":{},"71":{}},"component":{}}],["jpasagastore.build",{"_index":4511,"title":{},"name":{},"text":{"69":{}},"component":{}}],["jpasequenceddeadletterqueu",{"_index":1115,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["jpasequenceddeadletterqueue.build",{"_index":1098,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["jpatokenstor",{"_index":2541,"title":{},"name":{},"text":{"46":{},"88":{}},"component":{}}],["jpatokenstore.build",{"_index":5217,"title":{},"name":{},"text":{"88":{}},"component":{}}],["jpa’",{"_index":2550,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jq",{"_index":6559,"title":{},"name":{},"text":{"166":{},"169":{},"173":{}},"component":{}}],["json",{"_index":1373,"title":{"184-1":{}},"name":{},"text":{"27":{},"31":{},"46":{},"89":{},"142":{},"147":{},"149":{},"178":{},"184":{},"195":{},"203":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"283":{}},"component":{}}],["json'",{"_index":1622,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jsoncommandhandl",{"_index":1380,"title":{},"name":{},"text":{"27":{}},"component":{}}],["jsonnod",{"_index":1386,"title":{},"name":{},"text":{"27":{},"31":{},"66":{}},"component":{}}],["jsonnode.class",{"_index":1379,"title":{},"name":{},"text":{"27":{}},"component":{}}],["jsonnode::class",{"_index":5639,"title":{},"name":{},"text":{"106":{}},"component":{}}],["jsonpath",{"_index":5402,"title":{},"name":{},"text":{"89":{},"195":{}},"component":{}}],["jsonpath(data",{"_index":7185,"title":{},"name":{},"text":{"195":{}},"component":{}}],["jsontypeinfo",{"_index":1683,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jsr",{"_index":2732,"title":{},"name":{},"text":{"51":{}},"component":{}}],["jubrunreventschedul",{"_index":2340,"title":{},"name":{},"text":{"40":{}},"component":{}}],["jump",{"_index":4822,"title":{},"name":{},"text":{"79":{},"266":{},"270":{},"280":{},"281":{}},"component":{}}],["jump_skip_index",{"_index":6331,"title":{},"name":{},"text":{"147":{},"166":{},"169":{},"179":{}},"component":{}}],["junit",{"_index":3566,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["junkdog",{"_index":4294,"title":{},"name":{},"text":{"67":{}},"component":{}}],["justif",{"_index":6237,"title":{"145-1":{}},"name":{},"text":{},"component":{}}],["jvm",{"_index":2134,"title":{},"name":{},"text":{"38":{},"40":{},"46":{},"67":{},"69":{},"71":{},"75":{},"77":{},"82":{},"87":{},"88":{},"94":{},"107":{},"130":{},"179":{},"185":{},"206":{},"208":{},"261":{}},"component":{}}],["jvm’",{"_index":2219,"title":{},"name":{},"text":{"38":{},"66":{},"88":{}},"component":{}}],["jwt",{"_index":6742,"title":{},"name":{},"text":{"172":{}},"component":{}}],["k",{"_index":5539,"title":{},"name":{},"text":{"101":{}},"component":{}}],["k8",{"_index":202,"title":{},"name":{"3":{}},"text":{"3":{},"159":{},"191":{}},"component":{}}],["kad",{"_index":4343,"title":{},"name":{},"text":{"67":{}},"component":{}}],["kafka",{"_index":21,"title":{"99":{},"100":{},"102":{},"103":{},"30-23":{},"30-24":{},"102-1":{}},"name":{},"text":{"1":{},"2":{},"30":{},"46":{},"88":{},"89":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"286":{}},"component":{"99":{},"100":{},"101":{},"102":{},"103":{},"104":{}}}],["kafkaeventconsumptionconfigur",{"_index":5482,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkaeventpublicationconfigur",{"_index":5563,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublish",{"_index":5557,"title":{"104-6":{}},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher#default_processing_group",{"_index":5582,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher(kafkapublish",{"_index":5583,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher.build",{"_index":5584,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher.default_processing_group",{"_index":5587,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkamessageconversationconfigur",{"_index":5545,"title":{},"name":{},"text":{"101":{}},"component":{}}],["kafkamessageconvert",{"_index":5507,"title":{},"name":{},"text":{"99":{},"101":{},"102":{}},"component":{}}],["kafkamessageconverter(seri",{"_index":5546,"title":{},"name":{},"text":{"101":{}},"component":{}}],["kafkamessagesourceconfigur",{"_index":5503,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkamessagesourceconfigurer(configur",{"_index":5504,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkamessagesourceconfigurer.registersubscribablesource(configur",{"_index":5518,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkaproperti",{"_index":5609,"title":{},"name":{},"text":{"104":{}},"component":{}}],["kafkapublish",{"_index":5555,"title":{"104-5":{}},"name":{},"text":{"102":{},"104":{}},"component":{}}],["kafkapublisher(kafkapublish",{"_index":5585,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkapublisher(str",{"_index":5574,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkapublisher.build",{"_index":5576,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkatokenstor",{"_index":5533,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkatrackingtoken",{"_index":5531,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafka’",{"_index":5494,"title":{},"name":{},"text":{"99":{},"100":{}},"component":{}}],["kebab",{"_index":6818,"title":{},"name":{},"text":{"179":{}},"component":{}}],["keep",{"_index":334,"title":{},"name":{},"text":{"3":{},"15":{},"16":{},"29":{},"44":{},"46":{},"57":{},"67":{},"77":{},"81":{},"87":{},"88":{},"94":{},"114":{},"121":{},"140":{},"142":{},"147":{},"148":{},"151":{},"157":{},"178":{},"179":{},"191":{},"192":{},"211":{},"226":{},"261":{},"263":{},"270":{},"275":{},"276":{},"279":{},"280":{},"281":{}},"component":{}}],["kept",{"_index":2014,"title":{},"name":{},"text":{"36":{},"58":{},"67":{},"88":{},"147":{},"151":{},"280":{}},"component":{}}],["key",{"_index":947,"title":{"140-10":{},"206-24":{}},"name":{},"text":{"6":{},"24":{},"27":{},"31":{},"35":{},"38":{},"46":{},"47":{},"50":{},"52":{},"58":{},"59":{},"64":{},"68":{},"69":{},"80":{},"84":{},"88":{},"101":{},"103":{},"104":{},"115":{},"121":{},"140":{},"150":{},"176":{},"179":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"284":{}},"component":{}}],["key/valu",{"_index":6829,"title":{},"name":{},"text":{"179":{},"211":{},"212":{},"214":{}},"component":{}}],["keyboard",{"_index":7947,"title":{},"name":{},"text":{"281":{}},"component":{}}],["keycloak",{"_index":6725,"title":{"172-4":{}},"name":{},"text":{"172":{}},"component":{}}],["keynam",{"_index":4466,"title":{},"name":{},"text":{"69":{}},"component":{}}],["keyname=\"orderid",{"_index":4468,"title":{},"name":{},"text":{"69":{}},"component":{}}],["keystor",{"_index":6790,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["keyword",{"_index":4473,"title":{},"name":{},"text":{"69":{}},"component":{}}],["kick",{"_index":3893,"title":{},"name":{},"text":{"67":{},"163":{}},"component":{}}],["kind",{"_index":588,"title":{},"name":{},"text":{"3":{},"102":{},"191":{},"264":{},"276":{}},"component":{}}],["klefter",{"_index":1000,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["know",{"_index":938,"title":{},"name":{},"text":{"6":{},"17":{},"29":{},"32":{},"35":{},"38":{},"44":{},"46":{},"49":{},"53":{},"63":{},"67":{},"68":{},"77":{},"82":{},"85":{},"86":{},"88":{},"115":{},"124":{},"153":{},"169":{},"189":{},"221":{},"271":{},"274":{},"276":{},"280":{},"281":{},"285":{}},"component":{}}],["knowledg",{"_index":4884,"title":{},"name":{},"text":{"80":{},"99":{},"269":{}},"component":{}}],["known",{"_index":1185,"title":{"29":{},"215-4":{},"215-8":{},"215-12":{},"215-16":{},"215-20":{}},"name":{"29":{}},"text":{"18":{},"29":{},"31":{},"42":{},"48":{},"51":{},"67":{},"82":{},"123":{},"127":{},"142":{},"167":{},"168":{},"172":{},"174":{},"180":{},"192":{},"206":{},"245":{},"280":{},"281":{}},"component":{}}],["kotlin",{"_index":22,"title":{"107":{},"109":{},"30-25":{},"30-26":{}},"name":{},"text":{"1":{},"30":{},"66":{},"107":{},"109":{},"281":{}},"component":{"105":{},"106":{},"107":{},"108":{},"109":{}}}],["kotlin.seri",{"_index":5666,"title":{},"name":{},"text":{"109":{}},"component":{}}],["kotlin’",{"_index":5641,"title":{},"name":{},"text":{"106":{},"108":{}},"component":{}}],["krosenvold",{"_index":3733,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["kubectl",{"_index":567,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["kubernet",{"_index":196,"title":{"3":{},"3-11":{},"191-4":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["kubernetes.io/ingress.class",{"_index":649,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["kudo",{"_index":4238,"title":{},"name":{},"text":{"67":{}},"component":{}}],["l.diagnostics().and(\"retri",{"_index":1051,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["label",{"_index":590,"title":{},"name":{},"text":{"3":{},"59":{},"97":{},"150":{},"191":{},"274":{}},"component":{}}],["lachja",{"_index":3356,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lacinoir",{"_index":3749,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lack",{"_index":2730,"title":{},"name":{},"text":{"51":{},"88":{}},"component":{}}],["lambda",{"_index":3702,"title":{},"name":{},"text":{"66":{},"87":{},"108":{},"115":{},"145":{}},"component":{}}],["landscap",{"_index":2225,"title":{},"name":{},"text":{"38":{},"48":{},"76":{}},"component":{}}],["lang3",{"_index":6729,"title":{},"name":{},"text":{"172":{}},"component":{}}],["languag",{"_index":77,"title":{},"name":{},"text":{"2":{},"11":{},"12":{},"46":{},"107":{},"194":{},"200":{},"202":{},"210":{}},"component":{"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["larg",{"_index":47,"title":{"2-4":{},"29-1":{}},"name":{},"text":{"2":{},"16":{},"17":{},"29":{},"46":{},"59":{},"63":{},"66":{},"67":{},"77":{},"79":{},"84":{},"88":{},"140":{},"141":{},"143":{},"145":{},"151":{},"156":{},"274":{}},"component":{}}],["larger",{"_index":2416,"title":{},"name":{},"text":{"43":{},"46":{},"77":{},"79":{},"142":{},"145":{},"148":{},"156":{}},"component":{}}],["largest",{"_index":5321,"title":{},"name":{},"text":{"88":{},"180":{},"274":{}},"component":{}}],["last",{"_index":337,"title":{},"name":{},"text":{"3":{},"17":{},"36":{},"38":{},"42":{},"67":{},"72":{},"77":{},"79":{},"86":{},"87":{},"88":{},"138":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"186":{},"191":{},"194":{},"195":{},"198":{},"212":{},"215":{},"232":{},"239":{},"247":{},"261":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{}},"component":{}}],["lastli",{"_index":1389,"title":{},"name":{},"text":{"27":{},"34":{},"38":{},"66":{},"67":{},"82":{},"88":{},"101":{},"102":{},"157":{}},"component":{}}],["lastsegmentbackedup",{"_index":6113,"title":{},"name":{},"text":{"142":{}},"component":{}}],["lasttoken",{"_index":6287,"title":{},"name":{},"text":{"145":{}},"component":{}}],["lasttouch",{"_index":5039,"title":{},"name":{},"text":{"86":{}},"component":{}}],["late",{"_index":2360,"title":{},"name":{},"text":{"40":{}},"component":{}}],["latenc",{"_index":844,"title":{},"name":{},"text":{"5":{},"38":{},"57":{},"58":{},"88":{},"156":{},"163":{},"246":{},"260":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["later",{"_index":2452,"title":{},"name":{},"text":{"44":{},"46":{},"59":{},"76":{},"86":{},"88":{},"97":{},"99":{},"148":{},"211":{},"238":{},"244":{},"274":{},"278":{},"279":{},"280":{},"281":{}},"component":{}}],["latest",{"_index":182,"title":{},"name":{},"text":{"2":{},"30":{},"67":{},"77":{},"85":{},"88":{},"140":{},"141":{},"145":{},"147":{},"151":{},"260":{},"274":{},"280":{},"284":{}},"component":{}}],["latter",{"_index":2102,"title":{},"name":{},"text":{"38":{},"46":{},"49":{},"66":{},"69":{},"71":{},"76":{},"84":{},"129":{},"165":{},"286":{},"289":{}},"component":{}}],["launch",{"_index":151,"title":{},"name":{},"text":{"2":{},"232":{},"274":{},"276":{},"277":{}},"component":{}}],["layer",{"_index":1216,"title":{},"name":{},"text":{"19":{},"38":{},"46":{},"64":{},"87":{},"176":{},"192":{},"208":{},"280":{},"281":{}},"component":{}}],["layout",{"_index":769,"title":{},"name":{},"text":{"5":{},"187":{}},"component":{}}],["lazi",{"_index":3207,"title":{},"name":{},"text":{"63":{},"67":{},"151":{}},"component":{}}],["lazili",{"_index":3712,"title":{},"name":{},"text":{"66":{}},"component":{}}],["ldap",{"_index":132,"title":{"170":{},"170-1":{},"170-2":{},"170-4":{},"170-5":{}},"name":{"170":{}},"text":{"2":{},"3":{},"4":{},"141":{},"170":{},"174":{},"175":{},"191":{}},"component":{}}],["ldaps://ldap",{"_index":6615,"title":{},"name":{},"text":{"170":{}},"component":{}}],["lead",{"_index":1583,"title":{},"name":{},"text":{"31":{},"66":{},"69":{},"76":{},"79":{},"84":{},"87":{},"101":{},"124":{},"127":{},"141":{},"211":{},"240":{},"260":{}},"component":{}}],["leader",{"_index":6080,"title":{},"name":{},"text":{"141":{},"143":{},"147":{},"151":{},"156":{},"157":{},"166":{},"169":{},"177":{},"179":{},"185":{},"192":{}},"component":{}}],["leak",{"_index":3202,"title":{},"name":{},"text":{"63":{},"67":{},"261":{}},"component":{}}],["learn",{"_index":993,"title":{},"name":{},"text":{"8":{},"13":{},"202":{},"237":{},"241":{},"274":{},"277":{},"279":{},"280":{},"282":{},"283":{},"284":{},"285":{}},"component":{}}],["leav",{"_index":5439,"title":{},"name":{},"text":{"94":{},"102":{},"140":{},"147":{},"151":{},"156":{},"168":{},"174":{},"178":{},"179":{},"202":{},"281":{},"283":{}},"component":{}}],["led",{"_index":5007,"title":{},"name":{},"text":{"86":{}},"component":{}}],["left",{"_index":1233,"title":{},"name":{},"text":{"20":{},"46":{},"69":{},"72":{},"87":{},"88":{},"195":{},"201":{},"232":{},"244":{},"245":{},"246":{},"260":{},"280":{},"283":{}},"component":{}}],["legaci",{"_index":1468,"title":{"30-13":{}},"name":{},"text":{"30":{},"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"262":{}},"component":{}}],["legacyjpa",{"_index":1722,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["legal",{"_index":864,"title":{},"name":{},"text":{"5":{}},"component":{}}],["length",{"_index":4804,"title":{},"name":{},"text":{"79":{},"141":{},"195":{},"280":{},"283":{}},"component":{}}],["lenient",{"_index":1559,"title":{"31-10":{}},"name":{},"text":{"31":{},"66":{},"88":{}},"component":{}}],["lenientdeseri",{"_index":1679,"title":{},"name":{},"text":{"31":{}},"component":{}}],["less",{"_index":2187,"title":{},"name":{},"text":{"38":{},"66":{},"67":{},"140":{},"151":{},"156":{},"179":{},"197":{},"211":{},"244":{}},"component":{}}],["let",{"_index":667,"title":{},"name":{},"text":{"3":{},"40":{},"191":{}},"component":{}}],["letter",{"_index":849,"title":{"15":{},"16":{},"17":{},"86":{},"110":{},"257":{},"15-1":{},"15-2":{},"87-7":{},"111-4":{},"115-8":{}},"name":{"86":{}},"text":{"5":{},"7":{},"14":{},"15":{},"16":{},"17":{},"52":{},"66":{},"67":{},"79":{},"86":{},"87":{},"110":{},"111":{},"115":{},"147":{},"178":{},"249":{},"250":{},"255":{},"257":{},"259":{},"276":{}},"component":{"14":{},"15":{},"16":{},"17":{}}}],["letter.diagnostics().getordefault(\"retri",{"_index":1050,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["letter.enqueuedat().isafter(instant.now().plus(duration.ofminutes(5l",{"_index":1042,"title":{},"name":{},"text":{"14":{}},"component":{}}],["letter.message().getpayload",{"_index":1040,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["letterprocessor",{"_index":5023,"title":{},"name":{},"text":{"86":{}},"component":{}}],["letterprocessor.process",{"_index":5016,"title":{},"name":{},"text":{"86":{}},"component":{}}],["letterprocessor.process(deadlett",{"_index":5035,"title":{},"name":{},"text":{"86":{}},"component":{}}],["let’",{"_index":43,"title":{"2-4":{}},"name":{},"text":{"18":{},"51":{},"63":{},"81":{},"84":{},"145":{},"151":{},"264":{},"268":{},"273":{},"274":{},"276":{},"280":{},"281":{},"285":{},"286":{}},"component":{}}],["level",{"_index":2400,"title":{"210":{}},"name":{},"text":{"43":{},"46":{},"51":{},"64":{},"66":{},"67":{},"69":{},"86":{},"87":{},"88":{},"102":{},"104":{},"140":{},"141":{},"148":{},"151":{},"167":{},"168":{},"172":{},"174":{},"179":{},"185":{},"189":{},"244":{},"262":{},"274":{},"281":{}},"component":{}}],["leverag",{"_index":1067,"title":{},"name":{},"text":{"15":{},"30":{},"34":{},"35":{},"56":{},"66":{},"84":{},"97":{},"151":{},"227":{},"236":{}},"component":{}}],["lfgcampo",{"_index":3744,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lhe",{"_index":5773,"title":{},"name":{},"text":{"115":{}},"component":{}}],["li",{"_index":4870,"title":{},"name":{},"text":{"80":{}},"component":{}}],["lib",{"_index":6522,"title":{},"name":{},"text":{"161":{}},"component":{}}],["librari",{"_index":1406,"title":{"269-3":{},"276-2":{}},"name":{},"text":{"29":{},"57":{},"59":{},"72":{},"140":{},"245":{},"265":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"276":{},"277":{},"278":{}},"component":{}}],["licence/token",{"_index":559,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["licens",{"_index":5,"title":{},"name":{},"text":{"1":{},"3":{},"28":{},"67":{},"137":{},"138":{},"140":{},"141":{},"143":{},"178":{},"179":{},"185":{},"191":{},"192":{},"226":{}},"component":{}}],["life",{"_index":2002,"title":{"69-1":{}},"name":{},"text":{"35":{},"64":{},"69":{},"71":{},"82":{}},"component":{}}],["lifecycl",{"_index":2306,"title":{"82-2":{}},"name":{},"text":{"39":{},"42":{},"44":{},"53":{},"66":{},"67":{},"72":{},"76":{},"99":{},"281":{}},"component":{}}],["lifecycleawar",{"_index":3632,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lifetim",{"_index":4789,"title":{},"name":{},"text":{"77":{}},"component":{}}],["light",{"_index":4258,"title":{},"name":{},"text":{"67":{},"88":{},"99":{}},"component":{}}],["lightest",{"_index":6420,"title":{},"name":{},"text":{"150":{}},"component":{}}],["lightstep",{"_index":5984,"title":{},"name":{},"text":{"133":{}},"component":{}}],["likewis",{"_index":7623,"title":{},"name":{},"text":{"260":{}},"component":{}}],["limit",{"_index":230,"title":{"151-13":{}},"name":{},"text":{"3":{},"5":{},"26":{},"30":{},"38":{},"59":{},"63":{},"79":{},"84":{},"88":{},"101":{},"121":{},"123":{},"140":{},"141":{},"143":{},"145":{},"148":{},"151":{},"156":{},"173":{},"179":{},"191":{},"203":{},"219":{},"244":{},"250":{}},"component":{}}],["limitedrechargeablegiftcard",{"_index":4897,"title":{},"name":{},"text":{"81":{}},"component":{}}],["line",{"_index":2527,"title":{"178":{},"147-7":{},"179-2":{},"280-14":{},"283-2":{}},"name":{"178":{}},"text":{"46":{},"54":{},"66":{},"72":{},"79":{},"90":{},"100":{},"140":{},"142":{},"147":{},"148":{},"151":{},"157":{},"174":{},"178":{},"179":{},"181":{},"192":{},"274":{},"280":{},"283":{},"284":{},"285":{}},"component":{}}],["link",{"_index":581,"title":{"170-4":{}},"name":{},"text":{"3":{},"15":{},"59":{},"66":{},"191":{},"235":{},"241":{},"244":{},"245":{},"247":{},"274":{},"277":{},"279":{},"280":{},"281":{}},"component":{}}],["linux",{"_index":7241,"title":{},"name":{},"text":{"199":{}},"component":{}}],["liquibas",{"_index":5723,"title":{},"name":{},"text":{"115":{}},"component":{}}],["list",{"_index":83,"title":{"206-3":{},"206-7":{},"212-4":{},"217-3":{}},"name":{},"text":{"2":{},"3":{},"29":{},"31":{},"33":{},"38":{},"43":{},"50":{},"51":{},"52":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"72":{},"77":{},"79":{},"84":{},"85":{},"87":{},"89":{},"93":{},"95":{},"98":{},"103":{},"108":{},"109":{},"112":{},"115":{},"119":{},"122":{},"126":{},"127":{},"131":{},"132":{},"134":{},"140":{},"141":{},"142":{},"143":{},"144":{},"147":{},"155":{},"156":{},"161":{},"163":{},"165":{},"166":{},"168":{},"169":{},"172":{},"174":{},"178":{},"179":{},"180":{},"182":{},"185":{},"186":{},"187":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"217":{},"220":{},"226":{},"228":{},"229":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"262":{},"270":{},"271":{},"273":{},"274":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["list/collect",{"_index":1685,"title":{},"name":{},"text":{"31":{}},"component":{}}],["list=axonserver1,axonserver2,axonserver3",{"_index":7444,"title":{},"name":{},"text":{"208":{}},"component":{}}],["list=axonserver:7124",{"_index":7445,"title":{},"name":{},"text":{"208":{}},"component":{}}],["list_app",{"_index":6653,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_backup_filenam",{"_index":6654,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_backup_logfil",{"_index":6655,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_command",{"_index":6656,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_context",{"_index":6657,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_ev",{"_index":6701,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_nod",{"_index":6658,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_plugin",{"_index":6659,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_queri",{"_index":6660,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_replication_group",{"_index":6661,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_snapshot",{"_index":6702,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_task",{"_index":6662,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_us",{"_index":6663,"title":{},"name":{},"text":{"171":{}},"component":{}}],["listdata",{"_index":7189,"title":{},"name":{},"text":{"195":{}},"component":{}}],["listen",{"_index":898,"title":{"87-5":{}},"name":{},"text":{"6":{},"40":{},"43":{},"49":{},"53":{},"59":{},"69":{},"85":{},"87":{},"127":{},"128":{},"148":{},"202":{},"290":{}},"component":{}}],["listenerinvocationerrorhandl",{"_index":3795,"title":{},"name":{},"text":{"66":{},"87":{}},"component":{}}],["listing=tru",{"_index":5955,"title":{},"name":{},"text":{"128":{}},"component":{}}],["liter",{"_index":4601,"title":{},"name":{},"text":{"72":{},"88":{}},"component":{}}],["littl",{"_index":2359,"title":{},"name":{},"text":{"40":{},"48":{},"77":{},"85":{},"138":{},"145":{},"153":{},"237":{},"264":{},"265":{},"270":{},"276":{},"280":{}},"component":{}}],["live",{"_index":584,"title":{},"name":{},"text":{"3":{},"46":{},"77":{},"82":{},"145":{},"191":{},"261":{},"274":{}},"component":{}}],["liveness/readi",{"_index":7022,"title":{},"name":{},"text":{"185":{}},"component":{}}],["livenessprob",{"_index":627,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["lo_get(token",{"_index":4868,"title":{},"name":{},"text":{"79":{}},"component":{}}],["load",{"_index":957,"title":{"38-13":{},"38-16":{}},"name":{},"text":{"6":{},"23":{},"35":{},"36":{},"38":{},"46":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"78":{},"79":{},"81":{},"82":{},"83":{},"85":{},"88":{},"96":{},"111":{},"128":{},"141":{},"148":{},"150":{},"154":{},"176":{},"180":{},"189":{},"192":{},"202":{},"211":{},"220":{},"246":{},"250":{},"260":{},"261":{},"262":{},"266":{},"273":{},"274":{},"281":{}},"component":{}}],["load(identifi",{"_index":2018,"title":{},"name":{},"text":{"36":{}},"component":{}}],["loadbalanceprocessor(loadbalancerequest",{"_index":6972,"title":{},"name":{},"text":{"180":{}},"component":{}}],["loadbalancingstrategi",{"_index":6971,"title":{},"name":{},"text":{"180":{}},"component":{}}],["loader",{"_index":6372,"title":{},"name":{},"text":{"148":{}},"component":{}}],["loadfactor",{"_index":7459,"title":{},"name":{},"text":{"211":{}},"component":{}}],["loadfactorprovid",{"_index":2261,"title":{},"name":{},"text":{"38":{}},"component":{}}],["load—without",{"_index":963,"title":{},"name":{},"text":{"6":{}},"component":{}}],["lob",{"_index":1418,"title":{"79-3":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["lob/blob/clob",{"_index":1426,"title":{},"name":{},"text":{"29":{}},"component":{}}],["local",{"_index":402,"title":{"284":{},"38-7":{},"38-12":{},"38-16":{},"226-2":{},"232-1":{},"277-3":{}},"name":{},"text":{"3":{},"38":{},"46":{},"54":{},"59":{},"66":{},"67":{},"79":{},"94":{},"96":{},"115":{},"127":{},"130":{},"144":{},"151":{},"159":{},"185":{},"191":{},"199":{},"206":{},"226":{},"232":{},"276":{},"277":{},"280":{},"284":{}},"component":{}}],["local.application.client.command",{"_index":7454,"title":{},"name":{},"text":{"211":{}},"component":{}}],["local.application.client.ev",{"_index":7467,"title":{},"name":{},"text":{"212":{},"217":{}},"component":{}}],["local.application.client.queri",{"_index":7470,"title":{},"name":{},"text":{"214":{}},"component":{}}],["local.ev",{"_index":5611,"title":{},"name":{},"text":{"104":{}},"component":{}}],["local_get_last_ev",{"_index":6679,"title":{},"name":{},"text":{"171":{}},"component":{}}],["local_get_last_snapshot",{"_index":6680,"title":{},"name":{},"text":{"171":{}},"component":{}}],["localcommandbus(localseg",{"_index":5945,"title":{},"name":{},"text":{"128":{}},"component":{}}],["localeventstor",{"_index":7030,"title":{},"name":{},"text":{"185":{}},"component":{}}],["localhost",{"_index":6613,"title":{},"name":{},"text":{"170":{},"206":{}},"component":{}}],["localhost:8124",{"_index":7385,"title":{},"name":{},"text":{"206":{}},"component":{}}],["localhost:9092",{"_index":5606,"title":{},"name":{},"text":{"104":{}},"component":{}}],["localseg",{"_index":2260,"title":{},"name":{},"text":{"38":{},"59":{},"94":{},"128":{}},"component":{}}],["localsegment(localseg",{"_index":2262,"title":{},"name":{},"text":{"38":{},"94":{}},"component":{}}],["localserviceinst",{"_index":5935,"title":{},"name":{},"text":{"128":{}},"component":{}}],["localserviceinstance(localserviceinst",{"_index":5939,"title":{},"name":{},"text":{"128":{}},"component":{}}],["locat",{"_index":289,"title":{"4-2":{}},"name":{},"text":{"3":{},"4":{},"15":{},"32":{},"33":{},"35":{},"42":{},"46":{},"49":{},"53":{},"66":{},"88":{},"99":{},"102":{},"140":{},"141":{},"145":{},"146":{},"147":{},"148":{},"149":{},"151":{},"154":{},"161":{},"162":{},"167":{},"169":{},"176":{},"177":{},"179":{},"181":{},"185":{},"191":{},"192":{},"201":{},"208":{},"234":{},"245":{},"264":{},"266":{},"274":{},"280":{},"281":{}},"component":{}}],["location=./data",{"_index":390,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["location’",{"_index":545,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["lock",{"_index":2167,"title":{},"name":{},"text":{"38":{},"46":{},"53":{},"59":{},"66":{},"174":{},"261":{},"262":{}},"component":{}}],["lockfactori",{"_index":3538,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lockingrepositori",{"_index":2048,"title":{},"name":{},"text":{"36":{}},"component":{}}],["lockingrepository.obtainlock",{"_index":3072,"title":{},"name":{},"text":{"59":{}},"component":{}}],["log",{"_index":272,"title":{"158":{},"183":{},"184":{},"56-2":{},"59-22":{},"142-3":{},"199-6":{}},"name":{"158":{},"184":{}},"text":{"3":{},"5":{},"16":{},"31":{},"36":{},"38":{},"46":{},"51":{},"56":{},"59":{},"66":{},"67":{},"75":{},"86":{},"87":{},"88":{},"105":{},"121":{},"140":{},"141":{},"142":{},"146":{},"155":{},"172":{},"179":{},"181":{},"183":{},"184":{},"185":{},"187":{},"191":{},"192":{},"199":{},"232":{},"247":{},"284":{}},"component":{}}],["log.exit(jpaquery.getresultlist",{"_index":3164,"title":{},"name":{},"text":{"63":{}},"component":{}}],["log.trace(\"handl",{"_index":3155,"title":{},"name":{},"text":{"63":{}},"component":{}}],["log1",{"_index":469,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log1:/axonserver/log",{"_index":438,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log2",{"_index":475,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log2:/axonserver/log",{"_index":449,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log3",{"_index":481,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log3:/axonserver/log",{"_index":455,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log4j",{"_index":4242,"title":{},"name":{},"text":{"67":{}},"component":{}}],["logback",{"_index":3898,"title":{},"name":{},"text":{"67":{},"184":{}},"component":{}}],["logback.xml",{"_index":7014,"title":{},"name":{},"text":{"184":{}},"component":{}}],["logger",{"_index":2721,"title":{},"name":{},"text":{"51":{},"105":{},"185":{}},"component":{}}],["logger.info(\"dispatch",{"_index":2725,"title":{},"name":{},"text":{"51":{}},"component":{}}],["logger.info(\"publish",{"_index":2765,"title":{},"name":{},"text":{"51":{}},"component":{}}],["logger.info(\"successfulli",{"_index":5630,"title":{},"name":{},"text":{"105":{}},"component":{}}],["logger.warn",{"_index":5632,"title":{},"name":{},"text":{"105":{}},"component":{}}],["loggerfactory.getlogger(commanddispatcher::class.java",{"_index":5625,"title":{},"name":{},"text":{"105":{}},"component":{}}],["loggerfactory.getlogger(eventloggingdispatchinterceptor.class",{"_index":2764,"title":{},"name":{},"text":{"51":{}},"component":{}}],["loggerfactory.getlogger(mycommanddispatchinterceptor.class",{"_index":2722,"title":{},"name":{},"text":{"51":{}},"component":{}}],["logging.config",{"_index":6083,"title":{},"name":{},"text":{"141":{},"184":{}},"component":{}}],["logging.config=logback.xml",{"_index":7015,"title":{},"name":{},"text":{"184":{}},"component":{}}],["logging.fil",{"_index":307,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["logging.file.max",{"_index":392,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["logging.file.nam",{"_index":6880,"title":{},"name":{},"text":{"179":{}},"component":{}}],["logging.file=./data/axonserver.log",{"_index":391,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["logging.level.io.axoniq.axonserv",{"_index":6879,"title":{},"name":{},"text":{"179":{}},"component":{}}],["logging.level.package_nam",{"_index":6878,"title":{},"name":{},"text":{"179":{}},"component":{}}],["logging.path",{"_index":6883,"title":{},"name":{},"text":{"179":{}},"component":{}}],["loggingduplicatecommandhandlerresolv",{"_index":4695,"title":{},"name":{},"text":{"75":{}},"component":{}}],["loggingerrorhandl",{"_index":5074,"title":{},"name":{},"text":{"87":{}},"component":{}}],["logginginterceptor",{"_index":2739,"title":{},"name":{},"text":{"51":{},"56":{},"105":{}},"component":{}}],["loggingspanfactori",{"_index":3001,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["loggingspanfactory.inst",{"_index":3015,"title":{},"name":{},"text":{"59":{}},"component":{}}],["logic",{"_index":1306,"title":{"35-2":{},"193-2":{}},"name":{},"text":{"24":{},"27":{},"31":{},"34":{},"35":{},"38":{},"42":{},"48":{},"51":{},"53":{},"66":{},"67":{},"82":{},"84":{},"85":{},"87":{},"88":{},"105":{},"106":{},"108":{},"120":{},"121":{},"127":{},"144":{},"145":{},"192":{},"211":{},"212":{},"214":{},"234":{},"239":{},"244":{},"274":{},"279":{},"280":{},"281":{},"285":{},"289":{}},"component":{}}],["login",{"_index":6598,"title":{},"name":{},"text":{"169":{},"172":{},"174":{},"233":{},"247":{}},"component":{}}],["logon",{"_index":6524,"title":{},"name":{},"text":{"161":{},"162":{}},"component":{}}],["logout",{"_index":6771,"title":{},"name":{},"text":{"172":{}},"component":{}}],["long",{"_index":1400,"title":{},"name":{},"text":{"28":{},"31":{},"34":{},"38":{},"40":{},"46":{},"52":{},"58":{},"59":{},"62":{},"67":{},"69":{},"70":{},"77":{},"82":{},"88":{},"89":{},"138":{},"140":{},"141":{},"143":{},"145":{},"147":{},"151":{},"157":{},"169":{},"178":{},"179":{},"221":{},"244":{},"261":{},"280":{}},"component":{}}],["longer",{"_index":180,"title":{},"name":{},"text":{"2":{},"29":{},"34":{},"35":{},"63":{},"66":{},"67":{},"77":{},"82":{},"86":{},"99":{},"127":{},"140":{},"141":{},"143":{},"145":{},"147":{},"151":{},"156":{},"178":{},"179":{},"185":{},"206":{},"215":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["longest",{"_index":5356,"title":{},"name":{},"text":{"88":{}},"component":{}}],["longpollingsourc",{"_index":5360,"title":{},"name":{},"text":{"88":{}},"component":{}}],["longpollingsource(\"eventsourcea",{"_index":5369,"title":{},"name":{},"text":{"88":{}},"component":{}}],["longpollingstream",{"_index":5370,"title":{},"name":{},"text":{"88":{}},"component":{}}],["look",{"_index":375,"title":{},"name":{},"text":{"3":{},"4":{},"29":{},"30":{},"31":{},"32":{},"40":{},"46":{},"51":{},"59":{},"63":{},"64":{},"67":{},"69":{},"77":{},"79":{},"80":{},"81":{},"83":{},"88":{},"104":{},"114":{},"128":{},"140":{},"147":{},"191":{},"199":{},"201":{},"203":{},"207":{},"261":{},"272":{},"273":{},"274":{},"276":{},"277":{},"280":{},"284":{}},"component":{}}],["lookup",{"_index":2521,"title":{},"name":{},"text":{"46":{},"67":{},"69":{},"71":{}},"component":{}}],["loop",{"_index":2296,"title":{},"name":{},"text":{"39":{},"67":{}},"component":{}}],["loos",{"_index":935,"title":{},"name":{},"text":{"6":{},"48":{},"264":{},"281":{}},"component":{}}],["loosen",{"_index":5286,"title":{},"name":{},"text":{"88":{}},"component":{}}],["lose",{"_index":5160,"title":{},"name":{},"text":{"88":{},"143":{},"168":{},"178":{},"226":{},"274":{}},"component":{}}],["loss",{"_index":7543,"title":{},"name":{},"text":{"226":{}},"component":{}}],["lost",{"_index":2350,"title":{},"name":{},"text":{"40":{},"67":{},"69":{},"71":{},"99":{},"143":{},"151":{},"280":{}},"component":{}}],["lot",{"_index":1731,"title":{},"name":{},"text":{"32":{},"38":{},"46":{},"59":{},"77":{},"84":{},"87":{},"88":{},"124":{},"211":{},"235":{},"260":{}},"component":{}}],["love",{"_index":168,"title":{},"name":{},"text":{"2":{},"265":{}},"component":{}}],["low",{"_index":2183,"title":{},"name":{},"text":{"38":{},"261":{}},"component":{}}],["lower",{"_index":2504,"title":{},"name":{},"text":{"44":{},"66":{},"67":{},"88":{},"140":{},"195":{},"199":{},"211":{},"261":{}},"component":{}}],["lowercas",{"_index":2035,"title":{},"name":{},"text":{"36":{},"147":{},"178":{},"195":{}},"component":{}}],["lt",{"_index":5997,"title":{},"name":{},"text":{"138":{}},"component":{}}],["lucki",{"_index":7760,"title":{},"name":{},"text":{"276":{}},"component":{}}],["luckili",{"_index":4303,"title":{},"name":{},"text":{"67":{},"79":{}},"component":{}}],["m",{"_index":6366,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["m1l4n54v1c",{"_index":3747,"title":{},"name":{},"text":{"66":{}},"component":{}}],["mac/arm",{"_index":3908,"title":{},"name":{},"text":{"67":{}},"component":{}}],["machin",{"_index":403,"title":{},"name":{},"text":{"3":{},"38":{},"49":{},"77":{},"88":{},"151":{},"191":{},"192":{},"199":{},"277":{},"281":{}},"component":{}}],["machineri",{"_index":1019,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["made",{"_index":1716,"title":{},"name":{},"text":{"32":{},"33":{},"42":{},"66":{},"67":{},"77":{},"83":{},"107":{},"140":{},"143":{},"144":{},"145":{},"150":{},"172":{},"235":{},"280":{},"288":{}},"component":{}}],["magnifi",{"_index":7995,"title":{},"name":{},"text":{"283":{}},"component":{}}],["magnu",{"_index":4239,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mail",{"_index":833,"title":{"247-3":{}},"name":{},"text":{"5":{},"88":{},"247":{}},"component":{}}],["main",{"_index":35,"title":{"2-2":{},"30-1":{},"279-5":{},"279-7":{}},"name":{},"text":{"30":{},"31":{},"46":{},"77":{},"79":{},"85":{},"99":{},"128":{},"151":{},"154":{},"177":{},"239":{},"255":{},"261":{},"269":{},"273":{},"274":{},"276":{},"279":{},"280":{}},"component":{}}],["main(str",{"_index":5928,"title":{},"name":{},"text":{"128":{}},"component":{}}],["mainli",{"_index":2844,"title":{},"name":{},"text":{"53":{},"69":{},"71":{}},"component":{}}],["maintain",{"_index":7,"title":{},"name":{},"text":{"1":{},"2":{},"6":{},"16":{},"44":{},"48":{},"67":{},"69":{},"77":{},"82":{},"86":{},"88":{},"89":{},"99":{},"127":{},"140":{},"147":{},"149":{},"151":{},"156":{},"157":{},"161":{},"177":{},"181":{},"280":{},"289":{}},"component":{}}],["maintained/suppli",{"_index":6814,"title":{},"name":{},"text":{"179":{}},"component":{}}],["mainten",{"_index":945,"title":{"147-6":{},"199-5":{}},"name":{},"text":{"6":{},"140":{},"146":{},"147":{},"156":{},"157":{},"179":{},"182":{},"183":{},"199":{},"221":{},"260":{}},"component":{}}],["maintenance/backup",{"_index":6451,"title":{},"name":{},"text":{"151":{}},"component":{}}],["major",{"_index":75,"title":{"66":{},"140":{}},"name":{"66":{},"140":{}},"text":{"2":{},"31":{},"38":{},"42":{},"65":{},"66":{},"67":{},"69":{},"77":{},"83":{},"87":{},"88":{},"138":{},"145":{},"149":{},"151":{},"157":{},"179":{},"244":{},"262":{}},"component":{}}],["major/minor",{"_index":3259,"title":{},"name":{},"text":{"65":{}},"component":{}}],["make",{"_index":154,"title":{},"name":{},"text":{"2":{},"6":{},"18":{},"20":{},"22":{},"24":{},"29":{},"31":{},"32":{},"33":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"79":{},"82":{},"83":{},"84":{},"85":{},"86":{},"88":{},"89":{},"91":{},"94":{},"99":{},"100":{},"101":{},"106":{},"114":{},"115":{},"120":{},"124":{},"127":{},"129":{},"130":{},"132":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"153":{},"156":{},"163":{},"170":{},"178":{},"211":{},"221":{},"243":{},"260":{},"261":{},"262":{},"264":{},"269":{},"272":{},"275":{},"279":{},"280":{},"282":{},"284":{},"285":{}},"component":{}}],["making/busi",{"_index":4910,"title":{},"name":{},"text":{"82":{}},"component":{}}],["malform",{"_index":3103,"title":{},"name":{},"text":{"59":{}},"component":{}}],["malfunct",{"_index":3230,"title":{},"name":{},"text":{"63":{}},"component":{}}],["malota",{"_index":4348,"title":{},"name":{},"text":{"67":{}},"component":{}}],["manag",{"_index":120,"title":{"39":{},"231":{},"256":{},"260":{},"5-10":{},"5-11":{},"28-1":{},"55-1":{},"69-5":{},"71-1":{},"87-12":{},"115-9":{},"140-20":{},"206-27":{},"206-29":{},"206-31":{}},"name":{"39":{},"260":{}},"text":{"2":{},"3":{},"5":{},"18":{},"20":{},"21":{},"28":{},"30":{},"36":{},"38":{},"39":{},"40":{},"41":{},"46":{},"51":{},"53":{},"55":{},"59":{},"66":{},"68":{},"69":{},"70":{},"71":{},"74":{},"77":{},"86":{},"87":{},"88":{},"94":{},"97":{},"114":{},"115":{},"118":{},"140":{},"141":{},"145":{},"146":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"163":{},"169":{},"173":{},"176":{},"179":{},"181":{},"191":{},"192":{},"199":{},"203":{},"206":{},"215":{},"227":{},"230":{},"231":{},"232":{},"234":{},"236":{},"238":{},"240":{},"249":{},"250":{},"255":{},"257":{},"259":{},"260":{},"270":{},"288":{},"289":{}},"component":{}}],["management.endpoint.health.show",{"_index":7033,"title":{},"name":{},"text":{"185":{}},"component":{}}],["management.endpoint.metrics.enabled=tru",{"_index":2924,"title":{},"name":{},"text":{"57":{}},"component":{}}],["management.endpoint.prometheus.enabled=tru",{"_index":2928,"title":{},"name":{},"text":{"57":{}},"component":{}}],["management.metrics.export.prometheus.enabled=tru",{"_index":2927,"title":{},"name":{},"text":{"57":{}},"component":{}}],["managers.adoc",{"_index":4651,"title":{},"name":{},"text":{"72":{}},"component":{}}],["mandatori",{"_index":1999,"title":{"168-2":{},"174-2":{}},"name":{},"text":{"35":{},"42":{},"63":{},"84":{},"94":{},"147":{},"156":{},"178":{},"199":{}},"component":{}}],["mani",{"_index":517,"title":{},"name":{},"text":{"3":{},"5":{},"29":{},"32":{},"36":{},"39":{},"44":{},"46":{},"53":{},"59":{},"67":{},"69":{},"77":{},"84":{},"87":{},"88":{},"101":{},"133":{},"143":{},"151":{},"179":{},"189":{},"191":{},"198":{},"215":{},"226":{},"249":{},"259":{},"260":{},"264":{},"269":{}},"component":{}}],["manifest",{"_index":1133,"title":{},"name":{},"text":{"16":{},"26":{},"80":{},"148":{},"289":{}},"component":{}}],["manifesto",{"_index":5786,"title":{},"name":{},"text":{"120":{}},"component":{}}],["manipul",{"_index":2318,"title":{},"name":{},"text":{"39":{},"74":{},"145":{}},"component":{}}],["manishatgit",{"_index":3308,"title":{},"name":{},"text":{"66":{}},"component":{}}],["manner",{"_index":416,"title":{},"name":{},"text":{"3":{},"44":{},"75":{},"191":{},"221":{},"264":{}},"component":{}}],["manual",{"_index":1151,"title":{"59-20":{},"88-25":{}},"name":{},"text":{"17":{},"29":{},"30":{},"33":{},"35":{},"44":{},"53":{},"67":{},"79":{},"88":{},"121":{},"144":{},"154":{},"159":{},"227":{},"236":{},"247":{},"260":{},"273":{},"274":{},"275":{},"283":{},"284":{},"285":{},"288":{}},"component":{}}],["map",{"_index":310,"title":{"171":{},"79-3":{},"79-5":{}},"name":{},"text":{"3":{},"29":{},"32":{},"46":{},"47":{},"50":{},"58":{},"59":{},"64":{},"72":{},"79":{},"84":{},"85":{},"87":{},"88":{},"89":{},"99":{},"101":{},"102":{},"104":{},"121":{},"140":{},"148":{},"150":{},"169":{},"172":{},"179":{},"191":{},"197":{},"288":{},"289":{}},"component":{}}],["map(",{"_index":2945,"title":{},"name":{},"text":{"57":{}},"component":{}}],["map(attr",{"_index":1328,"title":{},"name":{},"text":{"24":{}},"component":{}}],["map(clientinst",{"_index":6226,"title":{},"name":{},"text":{"144":{}},"component":{}}],["map(ctx",{"_index":5880,"title":{},"name":{},"text":{"121":{}},"component":{}}],["map(eventprocessor",{"_index":4708,"title":{},"name":{},"text":{"76":{}},"component":{}}],["map(memb",{"_index":1330,"title":{},"name":{},"text":{"24":{}},"component":{}}],["map(message::getpayload",{"_index":3150,"title":{},"name":{},"text":{"63":{}},"component":{}}],["map(mp",{"_index":5750,"title":{},"name":{},"text":{"115":{}},"component":{}}],["map(p",{"_index":5749,"title":{},"name":{},"text":{"115":{}},"component":{}}],["map(sequenceddeadletterqueue::deadlett",{"_index":5027,"title":{},"name":{},"text":{"86":{}},"component":{}}],["map(uid",{"_index":2749,"title":{},"name":{},"text":{"51":{}},"component":{}}],["map.googl",{"_index":6763,"title":{},"name":{},"text":{"172":{}},"component":{}}],["map.oidccli",{"_index":6781,"title":{},"name":{},"text":{"172":{}},"component":{}}],["mapper",{"_index":2626,"title":{},"name":{},"text":{"46":{},"101":{}},"component":{}}],["marc",{"_index":999,"title":{},"name":{},"text":{"8":{},"13":{},"148":{}},"component":{}}],["mark",{"_index":341,"title":{},"name":{},"text":{"3":{},"34":{},"48":{},"59":{},"64":{},"66":{},"67":{},"72":{},"82":{},"84":{},"128":{},"151":{},"154":{},"191":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["markdelet",{"_index":4919,"title":{},"name":{},"text":{"82":{}},"component":{}}],["market",{"_index":6039,"title":{},"name":{},"text":{"140":{}},"component":{}}],["marketplac",{"_index":1023,"title":{"199":{},"199-1":{}},"name":{},"text":{"11":{},"12":{},"141":{},"199":{}},"component":{"199":{}}}],["master",{"_index":994,"title":{},"name":{},"text":{"8":{},"13":{},"67":{},"147":{},"157":{},"163":{},"178":{},"179":{}},"component":{}}],["match",{"_index":562,"title":{"150-3":{},"193-4":{}},"name":{},"text":{"3":{},"24":{},"35":{},"38":{},"39":{},"46":{},"51":{},"52":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"77":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"104":{},"121":{},"132":{},"144":{},"147":{},"150":{},"170":{},"178":{},"191":{},"199":{},"216":{},"219":{},"237":{},"244":{},"260":{},"280":{},"286":{}},"component":{}}],["matcher",{"_index":3479,"title":{},"name":{},"text":{"66":{},"67":{},"72":{},"285":{}},"component":{}}],["matchers.andnomor",{"_index":4617,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.equalto(inst",{"_index":4615,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.exactsequenceof(ev",{"_index":4612,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.listwithallof(ev",{"_index":4608,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.listwithanyof(ev",{"_index":4609,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.matches(pred",{"_index":4619,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.messagewithpayload(payload",{"_index":4621,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.noth",{"_index":4618,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.payloadsmatching(list",{"_index":4622,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.predicate(pred",{"_index":4620,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.sequenceof(ev",{"_index":4610,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matches(object",{"_index":4602,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchlabel",{"_index":595,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["materi",{"_index":1005,"title":{"30-38":{},"278-1":{}},"name":{},"text":{"8":{},"13":{},"30":{},"278":{},"290":{}},"component":{}}],["matrix",{"_index":6597,"title":{"255-1":{}},"name":{"171":{}},"text":{"169":{},"255":{}},"component":{}}],["matter",{"_index":3805,"title":{},"name":{},"text":{"66":{},"72":{},"77":{},"88":{},"153":{},"202":{}},"component":{}}],["maven",{"_index":1475,"title":{"59-17":{}},"name":{},"text":{"30":{},"33":{},"44":{},"46":{},"66":{},"67":{},"72":{},"144":{},"201":{},"270":{},"276":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["mavenartifactrevisionresolv",{"_index":2443,"title":{},"name":{},"text":{"44":{}},"component":{}}],["mavenbom",{"_index":1550,"title":{},"name":{},"text":{"30":{}},"component":{}}],["maverick1601",{"_index":3490,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["max",{"_index":4368,"title":{},"name":{},"text":{"67":{},"87":{},"143":{},"151":{},"163":{},"179":{},"197":{},"206":{},"242":{},"273":{}},"component":{}}],["max_short",{"_index":6134,"title":{},"name":{},"text":{"143":{}},"component":{}}],["maxclaimedseg",{"_index":5280,"title":{},"name":{},"text":{"88":{}},"component":{}}],["maxconcurr",{"_index":7460,"title":{},"name":{},"text":{"211":{},"215":{}},"component":{}}],["maxelectiontimeout",{"_index":6921,"title":{},"name":{},"text":{"179":{}},"component":{}}],["maxim",{"_index":6909,"title":{},"name":{},"text":{"179":{},"227":{},"236":{}},"component":{}}],["maximum",{"_index":744,"title":{},"name":{},"text":{"5":{},"38":{},"57":{},"59":{},"63":{},"86":{},"88":{},"121":{},"140":{},"141":{},"143":{},"148":{},"163":{},"179":{},"197":{},"211":{},"212":{},"215":{},"255":{},"261":{},"273":{},"274":{}},"component":{}}],["maxsequences(256",{"_index":1120,"title":{},"name":{},"text":{"15":{},"86":{},"110":{}},"component":{}}],["maxsequencesize(256",{"_index":1121,"title":{},"name":{},"text":{"15":{},"86":{},"110":{}},"component":{}}],["mayb",{"_index":2868,"title":{},"name":{},"text":{"53":{},"145":{}},"component":{}}],["mb",{"_index":6329,"title":{},"name":{},"text":{"147":{},"179":{},"262":{}},"component":{}}],["mbechto",{"_index":3917,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mbreevoort",{"_index":4336,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mean",{"_index":229,"title":{"5-8":{},"145-2":{}},"name":{},"text":{"3":{},"6":{},"15":{},"23":{},"29":{},"31":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"56":{},"57":{},"60":{},"63":{},"66":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"102":{},"107":{},"111":{},"115":{},"127":{},"140":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"156":{},"163":{},"169":{},"172":{},"174":{},"185":{},"191":{},"202":{},"216":{},"220":{},"221":{},"224":{},"244":{},"245":{},"247":{},"254":{},"260":{},"261":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["meaning",{"_index":2029,"title":{},"name":{},"text":{"36":{}},"component":{}}],["meant",{"_index":414,"title":{},"name":{},"text":{"3":{},"46":{},"67":{},"72":{},"130":{},"191":{}},"component":{}}],["measur",{"_index":135,"title":{"261-1":{},"261-2":{}},"name":{},"text":{"2":{},"5":{},"55":{},"57":{},"59":{},"77":{},"151":{},"261":{},"274":{}},"component":{}}],["mechan",{"_index":432,"title":{},"name":{},"text":{"3":{},"23":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"40":{},"41":{},"46":{},"52":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"79":{},"84":{},"87":{},"94":{},"99":{},"100":{},"121":{},"127":{},"129":{},"154":{},"162":{},"177":{},"191":{},"250":{},"257":{},"281":{}},"component":{}}],["media",{"_index":6043,"title":{},"name":{},"text":{"140":{},"142":{},"151":{}},"component":{}}],["median",{"_index":7580,"title":{},"name":{},"text":{"242":{},"261":{},"273":{},"274":{}},"component":{}}],["medium",{"_index":6111,"title":{},"name":{},"text":{"142":{}},"component":{}}],["meet",{"_index":5775,"title":{},"name":{},"text":{"117":{},"230":{},"232":{},"240":{}},"component":{}}],["mehtod",{"_index":7890,"title":{},"name":{},"text":{"280":{}},"component":{}}],["meks77",{"_index":3931,"title":{},"name":{},"text":{"67":{}},"component":{}}],["member",{"_index":1309,"title":{},"name":{},"text":{"24":{},"48":{},"66":{},"67":{},"72":{},"76":{},"85":{},"87":{},"94":{},"126":{},"128":{},"142":{},"143":{},"147":{},"154":{},"156":{},"157":{},"178":{},"179":{},"192":{},"254":{},"255":{}},"component":{}}],["membercap",{"_index":5919,"title":{},"name":{},"text":{"127":{}},"component":{}}],["membercapabilitiescontrol",{"_index":5918,"title":{},"name":{},"text":{"127":{}},"component":{}}],["memori",{"_index":1113,"title":{"46-9":{},"140-20":{}},"name":{},"text":{"15":{},"40":{},"46":{},"63":{},"66":{},"67":{},"71":{},"77":{},"86":{},"88":{},"115":{},"140":{},"141":{},"147":{},"179":{},"187":{},"199":{},"261":{},"274":{}},"component":{}}],["mention",{"_index":1369,"title":{},"name":{},"text":{"26":{},"30":{},"33":{},"38":{},"39":{},"67":{},"84":{},"88":{},"96":{},"154":{},"164":{},"168":{},"172":{},"177":{},"178":{},"181":{},"201":{},"260":{},"270":{},"279":{}},"component":{}}],["menu",{"_index":6371,"title":{},"name":{},"text":{"147":{},"151":{},"156":{},"274":{},"283":{},"285":{}},"component":{}}],["mere",{"_index":2852,"title":{},"name":{},"text":{"53":{}},"component":{}}],["merg",{"_index":2101,"title":{"88-22":{},"260-3":{}},"name":{},"text":{"38":{},"58":{},"66":{},"67":{},"76":{},"88":{},"165":{},"180":{},"246":{},"260":{},"274":{}},"component":{}}],["merge_event_processor_seg",{"_index":6681,"title":{},"name":{},"text":{"171":{}},"component":{}}],["merge_us",{"_index":6664,"title":{},"name":{},"text":{"171":{}},"component":{}}],["mergecompletedposit",{"_index":2981,"title":{},"name":{},"text":{"58":{}},"component":{}}],["mergeeventprocessor(eventprocessoridentifi",{"_index":6969,"title":{},"name":{},"text":{"180":{}},"component":{}}],["mergesegment(int",{"_index":5312,"title":{},"name":{},"text":{"88":{}},"component":{}}],["mergesegmentfor(str",{"_index":5316,"title":{},"name":{},"text":{"88":{}},"component":{}}],["mesh",{"_index":7137,"title":{},"name":{},"text":{"189":{}},"component":{}}],["mess",{"_index":4903,"title":{},"name":{},"text":{"82":{}},"component":{}}],["messag",{"_index":63,"title":{"25":{},"47":{},"49":{},"50":{},"51":{},"56":{},"101":{},"202":{},"203":{},"213":{},"218":{},"243":{},"5-5":{},"5-14":{},"30-2":{},"47-2":{},"49-4":{},"59-47":{},"87-11":{},"99-1":{},"99-2":{},"115-3":{},"115-12":{},"147-3":{},"156-4":{},"202-3":{},"202-7":{},"202-11":{},"204-2":{},"204-3":{},"206-8":{},"211-3":{},"212-3":{},"212-4":{},"214-3":{},"216-2":{},"217-2":{},"217-3":{},"219-2":{},"224-3":{},"274-25":{},"274-26":{},"274-34":{},"274-37":{},"274-38":{},"274-39":{},"274-40":{},"278-3":{},"280-1":{}},"name":{"47":{},"50":{},"51":{},"56":{},"101":{},"213":{},"218":{},"222":{},"243":{}},"text":{"2":{},"5":{},"10":{},"12":{},"14":{},"16":{},"20":{},"24":{},"25":{},"28":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"42":{},"43":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"75":{},"78":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"91":{},"92":{},"94":{},"99":{},"100":{},"101":{},"102":{},"104":{},"105":{},"107":{},"115":{},"120":{},"121":{},"124":{},"127":{},"128":{},"130":{},"133":{},"140":{},"141":{},"143":{},"147":{},"154":{},"156":{},"157":{},"163":{},"164":{},"168":{},"179":{},"181":{},"185":{},"190":{},"192":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"227":{},"230":{},"236":{},"239":{},"240":{},"242":{},"243":{},"245":{},"249":{},"250":{},"257":{},"259":{},"261":{},"262":{},"266":{},"270":{},"273":{},"274":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"289":{}},"component":{"24":{},"25":{},"26":{}}}],["message#metadata",{"_index":5759,"title":{},"name":{},"text":{"115":{}},"component":{}}],["message.andmetadata(collections.singletonmap(tenant_correlation_key",{"_index":5706,"title":{},"name":{},"text":{"115":{}},"component":{}}],["message.getidentifi",{"_index":2964,"title":{},"name":{},"text":{"57":{}},"component":{}}],["message.getmetadata().containskey(\"author",{"_index":2707,"title":{},"name":{},"text":{"50":{}},"component":{}}],["message.getmetadata().get(\"author",{"_index":2708,"title":{},"name":{},"text":{"50":{}},"component":{}}],["message.getpayload().getfield(\"tenantnam",{"_index":5715,"title":{},"name":{},"text":{"115":{}},"component":{}}],["message.getpayloadtyp",{"_index":6347,"title":{},"name":{},"text":{"147":{}},"component":{}}],["message.getpayloadtype().getname().startswith(\"com.context.book",{"_index":6350,"title":{},"name":{},"text":{"147":{}},"component":{}}],["message.getpayloadtype().getsimplenam",{"_index":2943,"title":{},"name":{},"text":{"57":{}},"component":{}}],["message/aggreg",{"_index":2447,"title":{},"name":{},"text":{"44":{}},"component":{}}],["message_id",{"_index":5968,"title":{},"name":{},"text":{"132":{}},"component":{}}],["message_nam",{"_index":5972,"title":{},"name":{},"text":{"132":{}},"component":{}}],["message_typ",{"_index":5970,"title":{},"name":{},"text":{"132":{}},"component":{}}],["messagecapabilitiesendpoint",{"_index":5933,"title":{},"name":{},"text":{"128":{}},"component":{}}],["messageconvert",{"_index":5421,"title":{},"name":{},"text":{"92":{},"99":{}},"component":{}}],["messageconverter(kafkamessageconvert",{"_index":5580,"title":{},"name":{},"text":{"102":{}},"component":{}}],["messageconverter(messageconvert",{"_index":5515,"title":{},"name":{},"text":{"99":{}},"component":{}}],["messagecount",{"_index":2940,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagecountingmonitor",{"_index":2906,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagecountingmonitor.buildmonitor",{"_index":2941,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagedispatchinterceptor",{"_index":2719,"title":{},"name":{},"text":{"51":{},"72":{},"121":{},"133":{}},"component":{}}],["messagedispatchinterceptor#handle(list",{"_index":5864,"title":{},"name":{},"text":{"121":{}},"component":{}}],["messagehandl",{"_index":1314,"title":{},"name":{},"text":{"24":{},"72":{}},"component":{}}],["messagehandlerinterceptor",{"_index":2716,"title":{"51-13":{}},"name":{},"text":{"51":{},"66":{},"72":{},"87":{},"133":{}},"component":{}}],["messagehandlerinterceptor(messagetyp",{"_index":2789,"title":{},"name":{},"text":{"51":{}},"component":{}}],["messagehandlerinterceptor`",{"_index":2826,"title":{},"name":{},"text":{"52":{}},"component":{}}],["messagehandlerlookup",{"_index":3611,"title":{},"name":{},"text":{"66":{}},"component":{}}],["messagehandlerregistrar",{"_index":4095,"title":{},"name":{},"text":{"67":{}},"component":{}}],["messagehandlingmemb",{"_index":1317,"title":{},"name":{},"text":{"24":{},"27":{},"66":{}},"component":{}}],["messagehandlingmember.canhandlemessagetype(class",{"_index":1320,"title":{},"name":{},"text":{"24":{}},"component":{}}],["messagehandlingmember’",{"_index":1351,"title":{},"name":{},"text":{"24":{}},"component":{}}],["messageid",{"_index":2963,"title":{},"name":{},"text":{"57":{},"211":{},"212":{},"214":{},"215":{}},"component":{}}],["messageidentifi",{"_index":2824,"title":{},"name":{},"text":{"52":{}},"component":{}}],["messageidspanattributesprovid",{"_index":3026,"title":{},"name":{},"text":{"59":{}},"component":{}}],["messagemonitor",{"_index":2900,"title":{},"name":{},"text":{"57":{},"58":{},"66":{},"87":{}},"component":{}}],["messagemonitor(config.messagemonitor",{"_index":2164,"title":{},"name":{},"text":{"38":{}},"component":{}}],["messagemonitor(config.messagemonitor(simplecommandbus.class",{"_index":2142,"title":{},"name":{},"text":{"38":{}},"component":{}}],["messagemonitor(config.messagemonitor(simplequerybus.class",{"_index":3130,"title":{},"name":{},"text":{"61":{}},"component":{}}],["messagemonitor(metricregistry.registercommandbus(\"commandbu",{"_index":2150,"title":{},"name":{},"text":{"38":{}},"component":{}}],["messagemonitor(metricregistry.registereventbus(\"eventstor",{"_index":2562,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["messagemonitor(metricregistry.registerquerybus(\"querybu",{"_index":3133,"title":{},"name":{},"text":{"61":{}},"component":{}}],["messagemonitorfactori",{"_index":2937,"title":{},"name":{},"text":{"57":{},"87":{}},"component":{}}],["messagenamespanattributesprovid",{"_index":3028,"title":{},"name":{},"text":{"59":{}},"component":{}}],["messageoriginprovid",{"_index":2682,"title":{"50-2":{}},"name":{},"text":{"50":{},"56":{}},"component":{}}],["messages.context",{"_index":6950,"title":{},"name":{},"text":{"179":{}},"component":{}}],["messageseri",{"_index":1624,"title":{},"name":{},"text":{"31":{},"67":{}},"component":{}}],["messagesourc",{"_index":5184,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagesource.createtokenat(instant.parse(\"20020",{"_index":5185,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagesource.createtokensinc",{"_index":5183,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagesource.createtokensince(duration.ofdays(31",{"_index":5190,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagetag.java",{"_index":5977,"title":{},"name":{},"text":{"132":{}},"component":{}}],["messagetim",{"_index":2950,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagetimermonitor",{"_index":2908,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagetimermonitor.buildmonitor",{"_index":2951,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagetyp",{"_index":2784,"title":{},"name":{},"text":{"51":{}},"component":{}}],["messagetypespanattributesprovid",{"_index":3030,"title":{},"name":{},"text":{"59":{}},"component":{}}],["messagewithpayload(equalto(new",{"_index":4638,"title":{},"name":{},"text":{"72":{}},"component":{}}],["message’",{"_index":2629,"title":{},"name":{},"text":{"47":{},"49":{},"50":{},"72":{},"101":{},"115":{},"121":{}},"component":{}}],["messaging.log",{"_index":6881,"title":{},"name":{},"text":{"179":{}},"component":{}}],["messaging_onli",{"_index":6367,"title":{},"name":{},"text":{"147":{},"156":{},"157":{},"178":{}},"component":{}}],["met",{"_index":2272,"title":{},"name":{},"text":{"39":{},"72":{},"88":{},"262":{},"285":{}},"component":{}}],["meta",{"_index":1021,"title":{"27":{},"47-1":{}},"name":{},"text":{"10":{},"12":{},"23":{},"24":{},"26":{},"27":{},"32":{},"38":{},"42":{},"46":{},"47":{},"50":{},"56":{},"72":{},"79":{},"115":{},"202":{}},"component":{"27":{}}}],["meta_data",{"_index":4834,"title":{},"name":{},"text":{"79":{}},"component":{}}],["metadata",{"_index":589,"title":{},"name":{},"text":{"3":{},"6":{},"24":{},"31":{},"34":{},"38":{},"42":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"52":{},"56":{},"59":{},"66":{},"67":{},"72":{},"79":{},"82":{},"86":{},"88":{},"89":{},"101":{},"103":{},"105":{},"115":{},"121":{},"150":{},"154":{},"166":{},"169":{},"177":{},"191":{},"192":{},"199":{},"215":{},"216":{},"217":{},"219":{}},"component":{}}],["metadata.with(\"mykey",{"_index":2633,"title":{},"name":{},"text":{"47":{}},"component":{}}],["metadata.with(key",{"_index":2647,"title":{},"name":{},"text":{"47":{}},"component":{}}],["metadatakey",{"_index":1334,"title":{},"name":{},"text":{"24":{},"88":{}},"component":{}}],["metadatakey(\"mi",{"_index":2245,"title":{},"name":{},"text":{"38":{}},"component":{}}],["metadataroutingstrategi",{"_index":2233,"title":{},"name":{},"text":{"38":{}},"component":{}}],["metadatasequencingpolici",{"_index":3543,"title":{},"name":{},"text":{"66":{},"88":{},"89":{}},"component":{}}],["metadataspanattributesprovid",{"_index":3035,"title":{},"name":{},"text":{"59":{}},"component":{}}],["metadatavalu",{"_index":2099,"title":{},"name":{},"text":{"38":{},"52":{}},"component":{}}],["metadatavalue(\"userid",{"_index":2123,"title":{},"name":{},"text":{"38":{}},"component":{}}],["meterregistri",{"_index":2901,"title":{},"name":{},"text":{"57":{}},"component":{}}],["methd",{"_index":7861,"title":{},"name":{},"text":{"280":{}},"component":{}}],["method",{"_index":813,"title":{"48-2":{},"281-6":{}},"name":{},"text":{"5":{},"14":{},"15":{},"17":{},"20":{},"24":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"58":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"75":{},"76":{},"77":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"105":{},"107":{},"108":{},"110":{},"111":{},"113":{},"115":{},"121":{},"126":{},"130":{},"144":{},"145":{},"166":{},"180":{},"215":{},"224":{},"232":{},"233":{},"241":{},"274":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["method.getparametercount",{"_index":3637,"title":{},"name":{},"text":{"66":{}},"component":{}}],["method.getparameterstypes().length",{"_index":3636,"title":{},"name":{},"text":{"66":{}},"component":{}}],["method’",{"_index":3116,"title":{},"name":{},"text":{"60":{},"108":{}},"component":{}}],["metric",{"_index":829,"title":{"57":{},"186":{},"188":{},"261":{},"30-11":{},"58-2":{},"140-11":{},"151-15":{},"178-6":{},"186-1":{},"186-2":{},"186-3":{},"186-4":{},"186-5":{},"186-6":{},"261-3":{},"261-4":{},"261-5":{},"261-6":{},"262-9":{}},"name":{"57":{},"186":{},"188":{},"261":{}},"text":{"5":{},"28":{},"30":{},"55":{},"57":{},"58":{},"59":{},"66":{},"77":{},"140":{},"141":{},"151":{},"178":{},"179":{},"185":{},"186":{},"187":{},"188":{},"190":{},"199":{},"234":{},"239":{},"242":{},"244":{},"249":{},"250":{},"259":{},"260":{},"261":{},"262":{},"264":{},"273":{},"274":{}},"component":{}}],["metricconfigurer(meterregistri",{"_index":2932,"title":{},"name":{},"text":{"57":{}},"component":{}}],["metricregistri",{"_index":2147,"title":{},"name":{},"text":{"38":{},"46":{},"57":{},"61":{},"113":{}},"component":{}}],["metricsconfig",{"_index":2931,"title":{},"name":{},"text":{"57":{}},"component":{}}],["metricsconfigur",{"_index":2912,"title":{},"name":{},"text":{"57":{}},"component":{}}],["mgathier",{"_index":3301,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["michaelbub",{"_index":4297,"title":{},"name":{},"text":{"67":{}},"component":{}}],["micro)servic",{"_index":1563,"title":{},"name":{},"text":{"31":{}},"component":{}}],["micromet",{"_index":1467,"title":{"30-12":{},"57-4":{}},"name":{},"text":{"30":{},"57":{},"66":{},"278":{}},"component":{}}],["micronaut",{"_index":4273,"title":{},"name":{},"text":{"67":{}},"component":{}}],["microservic",{"_index":108,"title":{},"name":{},"text":{"2":{},"5":{},"59":{},"200":{},"270":{},"274":{},"276":{},"277":{},"279":{}},"component":{}}],["microservices/rent",{"_index":7677,"title":{},"name":{},"text":{"270":{},"276":{}},"component":{}}],["middl",{"_index":5341,"title":{},"name":{},"text":{"88":{}},"component":{}}],["midnight",{"_index":1253,"title":{},"name":{},"text":{"20":{}},"component":{}}],["migrat",{"_index":670,"title":{"160":{},"4-3":{},"33-10":{},"79-6":{}},"name":{},"text":{"3":{},"4":{},"30":{},"33":{},"36":{},"66":{},"67":{},"72":{},"79":{},"137":{},"141":{},"151":{},"160":{},"161":{},"162":{},"191":{},"206":{},"226":{}},"component":{}}],["migration.jar",{"_index":694,"title":{},"name":{},"text":{"4":{},"161":{}},"component":{}}],["migration:latest",{"_index":1844,"title":{},"name":{},"text":{"33":{}},"component":{}}],["mikelham",{"_index":3746,"title":{},"name":{},"text":{"66":{}},"component":{}}],["mileston",{"_index":3581,"title":{},"name":{},"text":{"66":{}},"component":{}}],["million",{"_index":7208,"title":{},"name":{},"text":{"198":{}},"component":{}}],["millisecond",{"_index":2174,"title":{},"name":{},"text":{"38":{},"69":{},"88":{},"99":{},"102":{},"151":{},"179":{},"194":{},"261":{},"274":{}},"component":{}}],["min",{"_index":6925,"title":{},"name":{},"text":{"179":{},"197":{},"242":{},"273":{}},"component":{}}],["mind",{"_index":2427,"title":{},"name":{},"text":{"44":{},"67":{},"81":{},"88":{},"94":{},"104":{},"145":{},"281":{},"288":{}},"component":{}}],["minim",{"_index":976,"title":{},"name":{},"text":{"6":{},"31":{},"67":{},"88":{},"115":{},"140":{},"141":{},"144":{},"151":{},"179":{}},"component":{}}],["minimin",{"_index":7579,"title":{},"name":{},"text":{"242":{}},"component":{}}],["minimum",{"_index":378,"title":{},"name":{},"text":{"3":{},"179":{},"191":{},"197":{},"206":{},"261":{},"273":{},"274":{},"281":{}},"component":{}}],["minor",{"_index":3269,"title":{"67":{},"141":{}},"name":{"67":{},"141":{}},"text":{"65":{},"66":{},"67":{},"138":{},"244":{},"262":{}},"component":{}}],["minut",{"_index":1046,"title":{},"name":{},"text":{"14":{},"58":{},"77":{},"142":{},"151":{},"176":{},"186":{},"198":{},"239":{},"242":{},"244":{},"261":{},"262":{},"274":{}},"component":{}}],["minute(timestamp",{"_index":7192,"title":{},"name":{},"text":{"195":{}},"component":{}}],["mirror",{"_index":4960,"title":{},"name":{},"text":{"84":{}},"component":{}}],["misbehav",{"_index":5323,"title":{},"name":{},"text":{"88":{},"272":{}},"component":{}}],["misbehavior",{"_index":7687,"title":{},"name":{},"text":{"271":{}},"component":{}}],["misconcept",{"_index":4270,"title":{},"name":{},"text":{"67":{}},"component":{}}],["misconfigur",{"_index":3341,"title":{},"name":{},"text":{"66":{}},"component":{}}],["misfir",{"_index":2357,"title":{},"name":{},"text":{"40":{}},"component":{}}],["misinterpret",{"_index":4928,"title":{},"name":{},"text":{"84":{}},"component":{}}],["mismatch",{"_index":3477,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["miss",{"_index":1342,"title":{},"name":{},"text":{"24":{},"35":{},"40":{},"66":{},"67":{},"72":{},"77":{},"87":{},"88":{},"97":{},"119":{},"141":{},"142":{},"143":{},"216":{},"219":{}},"component":{}}],["mistak",{"_index":6495,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["misus",{"_index":6255,"title":{},"name":{},"text":{"145":{}},"component":{}}],["mitig",{"_index":4138,"title":{},"name":{},"text":{"67":{},"102":{},"145":{}},"component":{}}],["mix",{"_index":5967,"title":{},"name":{},"text":{"132":{},"145":{}},"component":{}}],["mixtur",{"_index":6259,"title":{},"name":{},"text":{"145":{}},"component":{}}],["mkdir",{"_index":347,"title":{},"name":{},"text":{"3":{},"170":{},"172":{},"191":{}},"component":{}}],["mm",{"_index":7017,"title":{},"name":{},"text":{"184":{}},"component":{}}],["mmap",{"_index":6871,"title":{},"name":{},"text":{"179":{}},"component":{}}],["mnegacz",{"_index":3725,"title":{},"name":{},"text":{"66":{}},"component":{}}],["mock",{"_index":2098,"title":{"202-2":{},"202-4":{},"202-5":{},"202-8":{},"202-9":{},"202-12":{},"202-13":{}},"name":{},"text":{"38":{},"74":{},"202":{}},"component":{}}],["mockito",{"_index":4682,"title":{},"name":{},"text":{"74":{}},"component":{}}],["mode",{"_index":653,"title":{"88-4":{},"89-7":{},"140-19":{}},"name":{},"text":{"3":{},"66":{},"67":{},"84":{},"87":{},"88":{},"90":{},"102":{},"104":{},"128":{},"140":{},"141":{},"143":{},"149":{},"178":{},"191":{},"192":{},"246":{},"274":{}},"component":{}}],["mode/ev",{"_index":6029,"title":{},"name":{},"text":{"140":{}},"component":{}}],["mode=non",{"_index":7752,"title":{},"name":{},"text":{"276":{}},"component":{}}],["model",{"_index":997,"title":{"280":{},"30-3":{},"36-3":{},"72-1":{},"278-3":{},"281-4":{},"290-4":{},"290-5":{}},"name":{},"text":{"8":{},"13":{},"30":{},"33":{},"36":{},"37":{},"46":{},"49":{},"58":{},"63":{},"64":{},"66":{},"67":{},"72":{},"81":{},"82":{},"87":{},"88":{},"89":{},"144":{},"163":{},"260":{},"274":{},"278":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["modern",{"_index":6014,"title":{},"name":{},"text":{"140":{}},"component":{}}],["modif",{"_index":534,"title":{},"name":{},"text":{"3":{},"36":{},"38":{},"140":{},"145":{},"191":{}},"component":{}}],["modifi",{"_index":941,"title":{},"name":{},"text":{"6":{},"16":{},"38":{},"47":{},"66":{},"82":{},"83":{},"94":{},"121":{},"176":{},"274":{},"279":{},"280":{}},"component":{}}],["modul",{"_index":1220,"title":{"30":{},"30-1":{},"30-15":{},"278-2":{},"278-3":{},"279-4":{},"279-5":{},"279-7":{}},"name":{"30":{}},"text":{"20":{},"28":{},"30":{},"32":{},"33":{},"38":{},"43":{},"46":{},"54":{},"57":{},"58":{},"59":{},"66":{},"67":{},"72":{},"73":{},"74":{},"77":{},"87":{},"91":{},"94":{},"99":{},"100":{},"120":{},"129":{},"148":{},"265":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["modular",{"_index":2417,"title":{},"name":{},"text":{"43":{},"264":{},"279":{},"281":{}},"component":{}}],["moduleconfigur",{"_index":5521,"title":{},"name":{},"text":{"99":{}},"component":{}}],["modulehandl",{"_index":5059,"title":{},"name":{},"text":{"87":{}},"component":{}}],["modules/compon",{"_index":7666,"title":{},"name":{},"text":{"269":{}},"component":{}}],["modules/depend",{"_index":1486,"title":{},"name":{},"text":{"30":{}},"component":{}}],["module’",{"_index":4402,"title":{},"name":{},"text":{"67":{},"273":{},"274":{}},"component":{}}],["moment",{"_index":1366,"title":{},"name":{},"text":{"26":{},"38":{},"58":{},"74":{},"77":{},"86":{},"88":{},"151":{},"156":{},"219":{},"261":{},"288":{}},"component":{}}],["mongo",{"_index":1066,"title":{"112":{},"30-27":{},"30-28":{}},"name":{},"text":{"15":{},"30":{},"46":{},"86":{},"88":{},"111":{},"112":{},"114":{}},"component":{}}],["mongo.ev",{"_index":5684,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongo.saga",{"_index":5687,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongo.token",{"_index":5686,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongocli",{"_index":4494,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["mongodatabase(cli",{"_index":2602,"title":{},"name":{},"text":{"46":{}},"component":{}}],["mongodatabasefactori",{"_index":5683,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongodb",{"_index":23,"title":{"110":{},"111":{}},"name":{},"text":{"1":{},"19":{},"30":{},"46":{},"69":{},"71":{},"86":{},"111":{},"113":{},"114":{}},"component":{"110":{},"111":{},"112":{},"113":{},"114":{}}}],["mongodb://localhost:27017/test",{"_index":5690,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongoeventstorageengin",{"_index":2512,"title":{"46-7":{}},"name":{},"text":{"46":{},"111":{},"113":{}},"component":{}}],["mongoeventstorageengine.build",{"_index":5677,"title":{},"name":{},"text":{"113":{}},"component":{}}],["mongosagastor",{"_index":4448,"title":{"69-9":{},"71-7":{}},"name":{},"text":{"69":{},"71":{},"114":{}},"component":{}}],["mongosagastoreto",{"_index":4504,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mongosequenceddeadletterqueu",{"_index":4986,"title":{},"name":{},"text":{"86":{}},"component":{}}],["mongosequenceddeadletterqueue.build",{"_index":5667,"title":{},"name":{},"text":{"110":{}},"component":{}}],["mongotempl",{"_index":2597,"title":{},"name":{},"text":{"46":{},"69":{},"71":{},"110":{}},"component":{}}],["mongotemplate(defaultmongotemplate.build",{"_index":2601,"title":{},"name":{},"text":{"46":{}},"component":{}}],["mongotemplate(mongotempl",{"_index":2598,"title":{},"name":{},"text":{"46":{},"110":{}},"component":{}}],["mongotemplate(springmongotemplate.build",{"_index":5678,"title":{},"name":{},"text":{"113":{}},"component":{}}],["mongotokenstor",{"_index":5215,"title":{},"name":{},"text":{"88":{},"114":{}},"component":{}}],["mongotransactionmanag",{"_index":5680,"title":{},"name":{},"text":{"114":{}},"component":{}}],["monitor",{"_index":730,"title":{"55":{},"58":{},"189":{},"190":{},"244":{},"262":{},"272":{},"5-7":{},"28-1":{},"55-1":{},"87-11":{},"273-6":{},"276-5":{}},"name":{"189":{},"244":{},"262":{}},"text":{"5":{},"10":{},"12":{},"28":{},"30":{},"49":{},"54":{},"55":{},"57":{},"58":{},"59":{},"72":{},"87":{},"140":{},"145":{},"146":{},"151":{},"169":{},"171":{},"176":{},"178":{},"185":{},"189":{},"190":{},"232":{},"237":{},"238":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{},"250":{},"255":{},"261":{},"262":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"271":{},"273":{},"274":{},"275":{},"277":{}},"component":{}}],["monitor/met",{"_index":2949,"title":{},"name":{},"text":{"57":{}},"component":{}}],["mono",{"_index":3196,"title":{},"name":{},"text":{"63":{},"121":{},"144":{}},"component":{}}],["mono#empti",{"_index":5799,"title":{},"name":{},"text":{"121":{}},"component":{}}],["mono.subscribercontext",{"_index":5877,"title":{},"name":{},"text":{"121":{}},"component":{}}],["monolith",{"_index":967,"title":{},"name":{},"text":{"6":{},"279":{},"281":{},"283":{},"284":{}},"component":{}}],["monowrapp",{"_index":3634,"title":{},"name":{},"text":{"66":{}},"component":{}}],["month",{"_index":7209,"title":{},"name":{},"text":{"198":{},"250":{},"254":{}},"component":{}}],["month(timestamp",{"_index":7195,"title":{},"name":{},"text":{"195":{}},"component":{}}],["monthli",{"_index":728,"title":{"5-6":{}},"name":{},"text":{"5":{},"250":{}},"component":{}}],["more",{"_index":245,"title":{"6-2":{}},"name":{},"text":{"3":{},"5":{},"6":{},"12":{},"20":{},"21":{},"24":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"59":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"80":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"94":{},"97":{},"99":{},"101":{},"115":{},"120":{},"124":{},"127":{},"132":{},"133":{},"140":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"156":{},"165":{},"169":{},"179":{},"185":{},"191":{},"192":{},"195":{},"196":{},"202":{},"208":{},"216":{},"217":{},"219":{},"226":{},"232":{},"237":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"249":{},"250":{},"254":{},"257":{},"259":{},"260":{},"264":{},"269":{},"271":{},"273":{},"274":{},"277":{},"280":{},"281":{},"285":{},"287":{},"289":{}},"component":{}}],["moreov",{"_index":2432,"title":{},"name":{},"text":{"44":{}},"component":{}}],["morlack",{"_index":3427,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["mostli",{"_index":2269,"title":{},"name":{},"text":{"38":{},"44":{},"74":{}},"component":{}}],["motiv",{"_index":4753,"title":{},"name":{},"text":{"77":{}},"component":{}}],["mount",{"_index":255,"title":{},"name":{},"text":{"3":{},"151":{},"191":{}},"component":{}}],["mountpath",{"_index":613,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["mous",{"_index":7568,"title":{},"name":{},"text":{"235":{},"274":{}},"component":{}}],["move",{"_index":1208,"title":{"151-14":{},"260-5":{}},"name":{},"text":{"18":{},"29":{},"33":{},"44":{},"46":{},"59":{},"66":{},"67":{},"72":{},"74":{},"79":{},"86":{},"88":{},"108":{},"125":{},"142":{},"143":{},"145":{},"149":{},"151":{},"162":{},"179":{},"201":{},"208":{},"217":{},"243":{},"244":{},"260":{},"274":{},"279":{},"281":{},"284":{},"285":{}},"component":{}}],["move_event_processor_seg",{"_index":6682,"title":{},"name":{},"text":{"171":{}},"component":{}}],["movement",{"_index":6527,"title":{},"name":{},"text":{"162":{}},"component":{}}],["mp.fortenant(tenantdescriptor.tenantwithid(ten",{"_index":5751,"title":{},"name":{},"text":{"115":{}},"component":{}}],["ms",{"_index":4356,"title":{},"name":{},"text":{"67":{},"179":{},"262":{},"273":{},"280":{},"283":{}},"component":{}}],["msg",{"_index":5887,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msg,result",{"_index":5900,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msg.andmetadata(collections.singletonmap(\"key1",{"_index":5872,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msgmono",{"_index":5870,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msgmono.filterwhen(v",{"_index":5876,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msgmono.map(msg",{"_index":5871,"title":{},"name":{},"text":{"121":{}},"component":{}}],["much",{"_index":1166,"title":{},"name":{},"text":{"17":{},"31":{},"32":{},"38":{},"40":{},"46":{},"77":{},"221":{},"244":{},"249":{},"276":{},"281":{}},"component":{}}],["multi",{"_index":164,"title":{"84":{},"118":{},"119":{},"147":{},"209":{},"279":{},"30-29":{},"30-30":{},"88-21":{},"115-5":{},"115-13":{},"147-5":{}},"name":{"84":{},"118":{},"147":{},"209":{}},"text":{"2":{},"30":{},"35":{},"38":{},"46":{},"49":{},"66":{},"76":{},"84":{},"88":{},"115":{},"117":{},"118":{},"140":{},"146":{},"147":{},"157":{},"192":{},"249":{},"250":{},"279":{}},"component":{}}],["multicast",{"_index":5433,"title":{},"name":{},"text":{"94":{}},"component":{}}],["multicorrelationdataprovid",{"_index":2684,"title":{"50-4":{}},"name":{},"text":{"50":{}},"component":{}}],["multimessagemonitor<>(messagecount",{"_index":2952,"title":{},"name":{},"text":{"57":{}},"component":{}}],["multipart/form",{"_index":6959,"title":{},"name":{},"text":{"179":{}},"component":{}}],["multipl",{"_index":317,"title":{"46-10":{},"64-5":{},"88-31":{},"147-4":{}},"name":{},"text":{"3":{},"5":{},"6":{},"17":{},"20":{},"31":{},"36":{},"38":{},"40":{},"44":{},"46":{},"49":{},"50":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"81":{},"84":{},"86":{},"88":{},"89":{},"99":{},"108":{},"117":{},"121":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"157":{},"161":{},"162":{},"165":{},"168":{},"172":{},"174":{},"178":{},"191":{},"192":{},"203":{},"206":{},"209":{},"211":{},"215":{},"216":{},"219":{},"220":{},"221":{},"226":{},"255":{},"274":{},"276":{},"277":{},"279":{},"281":{}},"component":{}}],["multipleinstanceof(cardsummary.class",{"_index":3211,"title":{},"name":{},"text":{"63":{}},"component":{}}],["multipleinstancesresponsetyp",{"_index":3606,"title":{},"name":{},"text":{"66":{}},"component":{}}],["multipli",{"_index":7626,"title":{},"name":{},"text":{"261":{}},"component":{}}],["multispanfactori",{"_index":3012,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["multistreamablemessagesourc",{"_index":3804,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["multistreamablemessagesource.build",{"_index":5366,"title":{},"name":{},"text":{"88":{}},"component":{}}],["multit",{"_index":3510,"title":{},"name":{},"text":{"66":{}},"component":{}}],["multiten",{"_index":24,"title":{},"name":{},"text":{"1":{},"29":{},"30":{},"79":{},"117":{},"119":{}},"component":{"115":{},"116":{},"117":{},"118":{},"119":{}}}],["multitenantcommandbu",{"_index":5776,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantdatasourcemanag",{"_index":5781,"title":{},"name":{},"text":{"118":{},"119":{}},"component":{}}],["multitenantdeadletterprocessor",{"_index":5732,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenantdeadletterprocessor.fortenant(tenantid",{"_index":5742,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenanteventprocessor",{"_index":5730,"title":{},"name":{},"text":{"115":{},"118":{}},"component":{}}],["multitenanteventprocessorcontrolservic",{"_index":5780,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenanteventprocessorpred",{"_index":5771,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenanteventschedul",{"_index":5752,"title":{},"name":{},"text":{"115":{},"118":{}},"component":{}}],["multitenanteventstor",{"_index":5777,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantquerybu",{"_index":5778,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantqueryupdateemitt",{"_index":5779,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantstreamablemessagesourceprovid",{"_index":5765,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenantstreamablemessagesourceprovider(axonservereventstor",{"_index":5766,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitud",{"_index":3253,"title":{},"name":{},"text":{"64":{}},"component":{}}],["murat",{"_index":4358,"title":{},"name":{},"text":{"67":{}},"component":{}}],["murmur3_128",{"_index":7439,"title":{},"name":{},"text":{"206":{}},"component":{}}],["murmur3_32",{"_index":7438,"title":{},"name":{},"text":{"206":{}},"component":{}}],["mutat",{"_index":2632,"title":{},"name":{},"text":{"47":{},"59":{}},"component":{}}],["mvn",{"_index":1840,"title":{},"name":{},"text":{"33":{},"279":{},"285":{}},"component":{}}],["myaggreg",{"_index":4770,"title":{},"name":{},"text":{"77":{}},"component":{}}],["myannot",{"_index":1349,"title":{},"name":{},"text":{"24":{}},"component":{}}],["myapplic",{"_index":5927,"title":{},"name":{},"text":{"128":{}},"component":{}}],["myblockedqueri",{"_index":5896,"title":{},"name":{},"text":{"121":{}},"component":{}}],["mycommanddispatchinterceptor",{"_index":2720,"title":{},"name":{},"text":{"51":{}},"component":{}}],["mycommandhandlerinterceptor",{"_index":2745,"title":{},"name":{},"text":{"51":{}},"component":{}}],["mycommandmodeltest",{"_index":4632,"title":{},"name":{},"text":{"72":{}},"component":{}}],["mycustomspanfactori",{"_index":3004,"title":{},"name":{},"text":{"59":{}},"component":{}}],["mydeadlin",{"_index":2281,"title":{},"name":{},"text":{"39":{}},"component":{}}],["mydeadlinepayload",{"_index":2302,"title":{},"name":{},"text":{"39":{}},"component":{}}],["mydomain.net",{"_index":7225,"title":{},"name":{},"text":{"199":{}},"component":{}}],["myenqueuepolici",{"_index":5045,"title":{},"name":{},"text":{"86":{}},"component":{}}],["myentitymanagerprovid",{"_index":2543,"title":{},"name":{},"text":{"46":{}},"component":{}}],["myeventhandlerinterceptor",{"_index":2770,"title":{},"name":{},"text":{"51":{}},"component":{}}],["myeventhandlingcompon",{"_index":2420,"title":{},"name":{},"text":{"43":{}},"component":{}}],["mygateway",{"_index":2116,"title":{},"name":{},"text":{"38":{}},"component":{}}],["myhandl",{"_index":5056,"title":{},"name":{},"text":{"87":{}},"component":{}}],["myid",{"_index":2692,"title":{},"name":{},"text":{"50":{}},"component":{}}],["myid2",{"_index":2693,"title":{},"name":{},"text":{"50":{}},"component":{}}],["mynam",{"_index":6394,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myname:mypropid1=myvalu",{"_index":6396,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myname:mypropid2=myvalue2",{"_index":6397,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myotherhandl",{"_index":5057,"title":{},"name":{},"text":{"87":{}},"component":{}}],["mypayload",{"_index":2640,"title":{},"name":{},"text":{"47":{}},"component":{}}],["mypersistenceunit",{"_index":2542,"title":{},"name":{},"text":{"46":{}},"component":{}}],["myprocessinggroup",{"_index":5037,"title":{},"name":{},"text":{"86":{}},"component":{}}],["mypropid1",{"_index":6398,"title":{},"name":{},"text":{"148":{}},"component":{}}],["mypropid2",{"_index":6400,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myqueu",{"_index":5424,"title":{},"name":{},"text":{"92":{}},"component":{}}],["myqueuemessagesource(amqpmessageconvert",{"_index":5420,"title":{},"name":{},"text":{"92":{}},"component":{}}],["myresult",{"_index":3247,"title":{},"name":{},"text":{"64":{}},"component":{}}],["mysaga",{"_index":4499,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["mysaga.class",{"_index":4509,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mysagaprocessor",{"_index":4500,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mysagastor",{"_index":4514,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["mysagastore(datasourc",{"_index":4515,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mysequencingpolici",{"_index":5246,"title":{},"name":{},"text":{"88":{}},"component":{}}],["mysql",{"_index":3949,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mytokenstor",{"_index":5222,"title":{},"name":{},"text":{"88":{}},"component":{}}],["myvalu",{"_index":6399,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myvalue3",{"_index":6401,"title":{},"name":{},"text":{"148":{}},"component":{}}],["n",{"_index":574,"title":{},"name":{},"text":{"3":{},"57":{},"67":{},"87":{},"147":{},"156":{},"178":{},"191":{},"195":{}},"component":{}}],["name",{"_index":253,"title":{"206-12":{},"206-13":{},"206-21":{},"206-45":{},"280-6":{}},"name":{},"text":{"3":{},"4":{},"5":{},"15":{},"17":{},"18":{},"23":{},"24":{},"26":{},"27":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"94":{},"96":{},"102":{},"104":{},"111":{},"114":{},"115":{},"121":{},"140":{},"141":{},"142":{},"143":{},"144":{},"147":{},"148":{},"149":{},"151":{},"154":{},"156":{},"157":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"176":{},"177":{},"178":{},"179":{},"180":{},"185":{},"186":{},"188":{},"191":{},"192":{},"199":{},"202":{},"203":{},"206":{},"208":{},"209":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"229":{},"234":{},"237":{},"245":{},"246":{},"247":{},"254":{},"255":{},"274":{},"276":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["name/chang",{"_index":7618,"title":{},"name":{},"text":{"255":{}},"component":{}}],["name=axon",{"_index":5463,"title":{},"name":{},"text":{"96":{}},"component":{}}],["name=pay",{"_index":7754,"title":{},"name":{},"text":{"276":{}},"component":{}}],["name=rent",{"_index":7750,"title":{},"name":{},"text":{"276":{}},"component":{}}],["name=valu",{"_index":6574,"title":{},"name":{},"text":{"168":{}},"component":{}}],["name].load",{"_index":5292,"title":{},"name":{},"text":{"88":{}},"component":{}}],["namespac",{"_index":570,"title":{},"name":{},"text":{"3":{},"32":{},"33":{},"46":{},"191":{}},"component":{}}],["name}.connection.act",{"_index":2890,"title":{},"name":{},"text":{"54":{}},"component":{}}],["name}={path",{"_index":6437,"title":{},"name":{},"text":{"151":{}},"component":{}}],["name}@{ten",{"_index":5729,"title":{},"name":{},"text":{"115":{}},"component":{}}],["name}]/token",{"_index":5166,"title":{},"name":{},"text":{"88":{}},"component":{}}],["narrow",{"_index":7724,"title":{},"name":{},"text":{"274":{}},"component":{}}],["nativ",{"_index":104,"title":{"123":{}},"name":{"123":{}},"text":{"2":{},"30":{},"63":{},"66":{},"124":{},"126":{}},"component":{}}],["natur",{"_index":1448,"title":{},"name":{},"text":{"29":{},"31":{},"44":{},"66":{},"87":{},"120":{},"145":{},"172":{},"262":{}},"component":{}}],["navig",{"_index":835,"title":{},"name":{},"text":{"5":{},"59":{},"147":{},"156":{},"165":{},"233":{},"262":{}},"component":{}}],["near",{"_index":7544,"title":{},"name":{},"text":{"227":{},"236":{},"273":{}},"component":{}}],["nearest",{"_index":6415,"title":{},"name":{},"text":{"150":{}},"component":{}}],["nearli",{"_index":4922,"title":{},"name":{},"text":{"83":{}},"component":{}}],["necess",{"_index":3137,"title":{},"name":{},"text":{"63":{}},"component":{}}],["necessari",{"_index":1370,"title":{},"name":{},"text":{"26":{},"30":{},"32":{},"35":{},"36":{},"38":{},"39":{},"42":{},"44":{},"49":{},"57":{},"59":{},"69":{},"72":{},"77":{},"79":{},"80":{},"84":{},"86":{},"88":{},"124":{},"140":{},"145":{},"165":{},"178":{},"200":{},"201":{},"237":{},"239":{},"274":{},"276":{},"281":{}},"component":{}}],["necessarili",{"_index":529,"title":{},"name":{},"text":{"3":{},"33":{},"191":{}},"component":{}}],["need",{"_index":49,"title":{"2-4":{}},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"6":{},"14":{},"15":{},"18":{},"20":{},"21":{},"24":{},"25":{},"30":{},"31":{},"32":{},"33":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"60":{},"61":{},"63":{},"66":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"81":{},"84":{},"86":{},"87":{},"88":{},"92":{},"94":{},"97":{},"99":{},"102":{},"114":{},"115":{},"117":{},"121":{},"123":{},"124":{},"132":{},"140":{},"142":{},"144":{},"145":{},"147":{},"148":{},"149":{},"151":{},"154":{},"156":{},"157":{},"163":{},"164":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"177":{},"178":{},"180":{},"184":{},"187":{},"188":{},"189":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"214":{},"220":{},"221":{},"226":{},"230":{},"232":{},"238":{},"240":{},"247":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"266":{},"269":{},"270":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{}},"component":{}}],["neg",{"_index":6312,"title":{},"name":{},"text":{"145":{}},"component":{}}],["neighbor",{"_index":7731,"title":{},"name":{},"text":{"274":{}},"component":{}}],["nest",{"_index":2569,"title":{"59-10":{}},"name":{},"text":{"46":{},"53":{}},"component":{}}],["nestingspanfactori",{"_index":3475,"title":{},"name":{},"text":{"66":{}},"component":{}}],["net",{"_index":7246,"title":{},"name":{},"text":{"200":{}},"component":{}}],["netflix",{"_index":5957,"title":{},"name":{},"text":{"129":{}},"component":{}}],["netti",{"_index":4249,"title":{},"name":{},"text":{"67":{},"163":{}},"component":{}}],["network",{"_index":445,"title":{},"name":{},"text":{"3":{},"5":{},"63":{},"132":{},"149":{},"151":{},"163":{},"175":{},"176":{},"189":{},"191":{},"192":{},"199":{},"284":{}},"component":{}}],["networking.k8s.io/v1beta1",{"_index":646,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["neutral",{"_index":1507,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["never",{"_index":1922,"title":{},"name":{},"text":{"34":{},"35":{},"38":{},"53":{},"66":{},"67":{},"77":{},"81":{},"88":{},"151":{},"156":{},"157":{},"211":{},"232":{},"247":{},"260":{},"276":{},"281":{}},"component":{}}],["nevertheless",{"_index":6102,"title":{},"name":{},"text":{"142":{},"278":{}},"component":{}}],["new",{"_index":152,"title":{"232":{},"279":{},"281":{},"5-12":{},"28-1":{},"55-1":{},"140-8":{},"140-15":{},"140-25":{},"140-26":{},"141-26":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{},"281-2":{}},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"6":{},"8":{},"13":{},"14":{},"15":{},"18":{},"20":{},"22":{},"24":{},"29":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"94":{},"97":{},"99":{},"102":{},"115":{},"119":{},"120":{},"121":{},"127":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"163":{},"168":{},"176":{},"178":{},"179":{},"180":{},"189":{},"191":{},"192":{},"197":{},"199":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"215":{},"217":{},"221":{},"232":{},"244":{},"254":{},"255":{},"260":{},"262":{},"274":{},"275":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["newer",{"_index":4755,"title":{},"name":{},"text":{"77":{},"151":{}},"component":{}}],["newest",{"_index":5117,"title":{},"name":{},"text":{"88":{},"151":{}},"component":{}}],["newinst",{"_index":2021,"title":{},"name":{},"text":{"36":{}},"component":{}}],["newinstance(factorymethod",{"_index":2019,"title":{},"name":{},"text":{"36":{}},"component":{}}],["newli",{"_index":2022,"title":{},"name":{},"text":{"36":{},"66":{},"67":{},"68":{},"82":{},"141":{},"145":{},"154":{},"168":{},"177":{},"178":{},"192":{},"281":{},"290":{}},"component":{}}],["newtransformation(\"mi",{"_index":6305,"title":{},"name":{},"text":{"145":{}},"component":{}}],["next",{"_index":404,"title":{},"name":{},"text":{"3":{},"15":{},"17":{},"33":{},"35":{},"38":{},"39":{},"42":{},"44":{},"49":{},"51":{},"54":{},"61":{},"66":{},"74":{},"79":{},"86":{},"87":{},"88":{},"105":{},"138":{},"142":{},"151":{},"179":{},"186":{},"191":{},"192":{},"194":{},"202":{},"237":{},"250":{},"262":{},"263":{},"272":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["nexu",{"_index":3705,"title":{},"name":{},"text":{"66":{}},"component":{}}],["nginx",{"_index":650,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["nginx.ingress.kubernetes.io/affin",{"_index":651,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["nice",{"_index":2608,"title":{},"name":{},"text":{"46":{},"67":{}},"component":{}}],["nicer",{"_index":2616,"title":{},"name":{},"text":{"46":{}},"component":{}}],["niceti",{"_index":5499,"title":{},"name":{},"text":{"99":{}},"component":{}}],["nil",{"_index":3742,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["nindex",{"_index":6840,"title":{},"name":{},"text":{"179":{}},"component":{}}],["nineti",{"_index":7728,"title":{},"name":{},"text":{"274":{}},"component":{}}],["ninetieth",{"_index":7590,"title":{},"name":{},"text":{"245":{},"261":{},"273":{},"274":{}},"component":{}}],["noargumentconstructorcreationpolicyaggregatefactori",{"_index":4160,"title":{},"name":{},"text":{"67":{}},"component":{}}],["node",{"_index":268,"title":{"130":{},"156":{},"5-4":{},"88-21":{},"140-18":{},"151-16":{},"151-17":{},"151-18":{},"151-20":{},"156-1":{},"156-2":{},"156-3":{},"156-4":{},"156-5":{},"156-6":{},"157-1":{},"192-6":{},"192-7":{},"192-8":{}},"name":{"156":{}},"text":{"3":{},"4":{},"5":{},"30":{},"31":{},"67":{},"76":{},"88":{},"94":{},"127":{},"130":{},"137":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"155":{},"156":{},"157":{},"161":{},"162":{},"163":{},"166":{},"167":{},"169":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"185":{},"186":{},"187":{},"191":{},"192":{},"195":{},"199":{},"208":{},"221":{},"228":{},"232":{},"245":{},"246":{},"260":{},"261":{},"273":{},"274":{}},"component":{}}],["node.j",{"_index":73,"title":{},"name":{},"text":{"2":{},"200":{}},"component":{}}],["nodeid",{"_index":5288,"title":{},"name":{},"text":{"88":{}},"component":{}}],["nodelist",{"_index":7184,"title":{},"name":{},"text":{"195":{}},"component":{}}],["nodeoverview",{"_index":6989,"title":{},"name":{},"text":{"180":{}},"component":{}}],["node’",{"_index":5914,"title":{},"name":{},"text":{"127":{},"151":{}},"component":{}}],["nohandlerforcommandexcept",{"_index":1851,"title":{},"name":{},"text":{"34":{}},"component":{}}],["nohandlerforqueryexcept",{"_index":3138,"title":{},"name":{},"text":{"63":{}},"component":{}}],["noisi",{"_index":3054,"title":{},"name":{},"text":{"59":{}},"component":{}}],["non",{"_index":956,"title":{"161":{},"42-2":{},"97-2":{},"192-3":{}},"name":{"161":{}},"text":{"6":{},"15":{},"21":{},"30":{},"32":{},"36":{},"37":{},"38":{},"39":{},"44":{},"45":{},"46":{},"61":{},"62":{},"66":{},"67":{},"69":{},"70":{},"71":{},"77":{},"86":{},"87":{},"97":{},"104":{},"111":{},"115":{},"120":{},"121":{},"130":{},"138":{},"140":{},"141":{},"143":{},"151":{},"157":{},"160":{},"169":{},"173":{},"179":{},"185":{},"189":{},"192":{},"197":{},"199":{},"200":{},"215":{},"232":{}},"component":{}}],["none",{"_index":462,"title":{},"name":{},"text":{"3":{},"36":{},"67":{},"69":{},"76":{},"83":{},"84":{},"88":{},"102":{},"104":{},"115":{},"153":{},"169":{},"179":{},"191":{},"273":{},"274":{}},"component":{}}],["nonetheless",{"_index":1958,"title":{},"name":{},"text":{"35":{},"67":{}},"component":{}}],["nonexist",{"_index":2055,"title":{},"name":{},"text":{"36":{}},"component":{}}],["nonnul",{"_index":3038,"title":{},"name":{},"text":{"59":{}},"component":{}}],["nonnull/nul",{"_index":3672,"title":{},"name":{},"text":{"66":{}},"component":{}}],["nonroot",{"_index":243,"title":{},"name":{},"text":{"3":{},"140":{},"191":{}},"component":{}}],["normal",{"_index":2988,"title":{"111-1":{}},"name":{},"text":{"58":{},"59":{},"67":{},"77":{},"79":{},"83":{},"88":{},"99":{},"120":{},"143":{},"145":{},"156":{},"169":{},"170":{},"173":{},"221":{},"261":{},"262":{},"290":{}},"component":{}}],["north",{"_index":7558,"title":{},"name":{},"text":{"234":{}},"component":{}}],["nosql",{"_index":1535,"title":{},"name":{},"text":{"30":{},"40":{},"46":{},"115":{}},"component":{}}],["nosuchbeandefinitionexcept",{"_index":4148,"title":{},"name":{},"text":{"67":{}},"component":{}}],["notat",{"_index":4580,"title":{},"name":{},"text":{"72":{},"88":{},"89":{},"170":{}},"component":{}}],["note",{"_index":261,"title":{"65":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"215":{},"161-4":{},"162-4":{},"235-1":{}},"name":{"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"215":{}},"text":{"3":{},"5":{},"15":{},"16":{},"19":{},"21":{},"27":{},"30":{},"31":{},"33":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"92":{},"93":{},"94":{},"95":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"109":{},"111":{},"112":{},"115":{},"119":{},"121":{},"122":{},"124":{},"126":{},"130":{},"131":{},"134":{},"138":{},"140":{},"142":{},"144":{},"145":{},"147":{},"148":{},"151":{},"153":{},"157":{},"163":{},"166":{},"168":{},"170":{},"172":{},"174":{},"178":{},"179":{},"189":{},"191":{},"192":{},"211":{},"229":{},"255":{},"261":{},"265":{}},"component":{}}],["notempti",{"_index":2734,"title":{},"name":{},"text":{"51":{}},"component":{}}],["noteworthi",{"_index":3494,"title":{},"name":{},"text":{"66":{},"82":{}},"component":{}}],["noth",{"_index":1781,"title":{},"name":{},"text":{"33":{},"40":{},"145":{},"202":{}},"component":{}}],["notic",{"_index":1104,"title":{},"name":{},"text":{"15":{},"39":{},"66":{},"67":{},"120":{},"121":{},"274":{}},"component":{}}],["notif",{"_index":1045,"title":{},"name":{},"text":{"14":{},"42":{},"66":{},"74":{},"120":{},"141":{},"151":{},"244":{},"273":{},"280":{},"281":{}},"component":{}}],["notifi",{"_index":832,"title":{},"name":{},"text":{"5":{},"34":{},"40":{},"53":{},"55":{},"63":{},"74":{},"76":{},"80":{},"120":{},"244":{},"249":{},"259":{},"260":{},"262":{},"269":{},"280":{},"281":{},"283":{}},"component":{}}],["notificationev",{"_index":1041,"title":{},"name":{},"text":{"14":{}},"component":{}}],["notion",{"_index":3825,"title":{},"name":{},"text":{"66":{},"74":{},"121":{}},"component":{}}],["notoken",{"_index":3934,"title":{},"name":{},"text":{"67":{}},"component":{}}],["now",{"_index":148,"title":{},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"16":{},"19":{},"35":{},"39":{},"59":{},"66":{},"67":{},"72":{},"79":{},"87":{},"94":{},"99":{},"115":{},"138":{},"140":{},"141":{},"142":{},"144":{},"156":{},"166":{},"169":{},"191":{},"192":{},"199":{},"201":{},"202":{},"221":{},"232":{},"238":{},"249":{},"270":{},"272":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["npe",{"_index":3693,"title":{},"name":{},"text":{"66":{}},"component":{}}],["nr",{"_index":6533,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["ns",{"_index":575,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["null",{"_index":1075,"title":{},"name":{},"text":{"15":{},"34":{},"38":{},"44":{},"51":{},"52":{},"58":{},"66":{},"67":{},"72":{},"77":{},"84":{},"86":{},"88":{},"89":{},"104":{},"121":{},"166":{},"173":{},"280":{}},"component":{}}],["null/tru",{"_index":7205,"title":{},"name":{},"text":{"197":{}},"component":{}}],["nullabl",{"_index":2839,"title":{},"name":{},"text":{"52":{},"86":{}},"component":{}}],["nullpointerexcept",{"_index":1037,"title":{},"name":{},"text":{"14":{},"66":{},"67":{},"86":{}},"component":{}}],["number",{"_index":672,"title":{},"name":{},"text":{"3":{},"5":{},"30":{},"34":{},"36":{},"38":{},"42":{},"44":{},"46":{},"49":{},"52":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"76":{},"77":{},"79":{},"82":{},"84":{},"85":{},"86":{},"88":{},"89":{},"94":{},"99":{},"104":{},"111":{},"121":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"156":{},"157":{},"161":{},"162":{},"163":{},"165":{},"172":{},"179":{},"185":{},"186":{},"191":{},"193":{},"194":{},"195":{},"197":{},"203":{},"206":{},"208":{},"212":{},"229":{},"232":{},"242":{},"245":{},"246":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"264":{},"273":{},"274":{},"281":{}},"component":{}}],["numer",{"_index":554,"title":{},"name":{},"text":{"3":{},"66":{},"153":{},"191":{}},"component":{}}],["o",{"_index":465,"title":{},"name":{},"text":{"3":{},"147":{},"168":{},"174":{},"178":{},"191":{}},"component":{}}],["o.s.boot.docker.compose.core.dockercli",{"_index":8020,"title":{},"name":{},"text":{"284":{}},"component":{}}],["o/",{"_index":6552,"title":{},"name":{},"text":{"164":{}},"component":{}}],["oauth",{"_index":133,"title":{"172":{},"172-1":{},"172-2":{}},"name":{},"text":{"2":{},"4":{},"172":{},"175":{},"247":{}},"component":{}}],["oauth2",{"_index":277,"title":{"247-1":{}},"name":{"172":{}},"text":{"3":{},"169":{},"172":{},"174":{},"191":{},"247":{}},"component":{}}],["oauth2/author",{"_index":6759,"title":{},"name":{},"text":{"172":{}},"component":{}}],["object",{"_index":1318,"title":{"29-1":{},"145-1":{}},"name":{},"text":{"24":{},"29":{},"31":{},"34":{},"35":{},"38":{},"42":{},"43":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"60":{},"64":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"79":{},"80":{},"82":{},"84":{},"87":{},"88":{},"108":{},"142":{},"150":{},"170":{},"179":{},"206":{},"213":{},"216":{},"218":{},"219":{},"224":{},"239":{},"261":{},"280":{}},"component":{}}],["object#tostr",{"_index":4428,"title":{},"name":{},"text":{"68":{}},"component":{}}],["object`",{"_index":4911,"title":{},"name":{},"text":{"82":{},"85":{}},"component":{}}],["objectclass=group)(member={0",{"_index":6626,"title":{},"name":{},"text":{"170":{}},"component":{}}],["objectclass=inetorgperson)(uid={0",{"_index":6624,"title":{},"name":{},"text":{"170":{}},"component":{}}],["objectmapp",{"_index":1687,"title":{},"name":{},"text":{"31":{},"66":{}},"component":{}}],["objectnod",{"_index":1711,"title":{},"name":{},"text":{"31":{},"44":{},"66":{}},"component":{}}],["object’",{"_index":7539,"title":{},"name":{},"text":{"224":{}},"component":{}}],["observ",{"_index":88,"title":{},"name":{},"text":{"2":{},"59":{},"63":{},"79":{},"140":{},"151":{},"199":{},"211":{},"215":{},"244":{},"264":{},"290":{}},"component":{}}],["obsolet",{"_index":2284,"title":{},"name":{},"text":{"39":{},"41":{}},"component":{}}],["obtain",{"_index":1473,"title":{},"name":{},"text":{"30":{},"44":{},"46":{},"53":{},"59":{},"72":{},"76":{},"88":{},"144":{},"224":{}},"component":{}}],["obviou",{"_index":5168,"title":{},"name":{},"text":{"88":{}},"component":{}}],["obvious",{"_index":1431,"title":{},"name":{},"text":{"29":{},"67":{}},"component":{}}],["occas",{"_index":1608,"title":{},"name":{},"text":{"31":{},"87":{}},"component":{}}],["occasion",{"_index":2390,"title":{},"name":{},"text":{"42":{},"151":{}},"component":{}}],["occupi",{"_index":6252,"title":{},"name":{},"text":{"145":{}},"component":{}}],["occur",{"_index":919,"title":{},"name":{},"text":{"6":{},"16":{},"31":{},"35":{},"38":{},"40":{},"49":{},"53":{},"57":{},"67":{},"72":{},"76":{},"77":{},"79":{},"83":{},"86":{},"87":{},"88":{},"102":{},"215":{},"243":{},"244":{},"286":{},"289":{},"290":{}},"component":{}}],["occurr",{"_index":2395,"title":{},"name":{},"text":{"43":{},"67":{}},"component":{}}],["odd",{"_index":6513,"title":{},"name":{},"text":{"157":{}},"component":{}}],["offer",{"_index":51,"title":{"2-5":{}},"name":{},"text":{"6":{},"8":{},"13":{},"18":{},"40":{},"46":{},"86":{},"107":{},"120":{},"121":{},"140":{},"145":{},"147":{},"156":{},"237":{},"250":{},"263":{},"265":{},"268":{},"274":{},"281":{}},"component":{}}],["offset",{"_index":5532,"title":{"206-46":{}},"name":{},"text":{"99":{},"203":{},"219":{}},"component":{}}],["oftentim",{"_index":2218,"title":{},"name":{},"text":{"38":{}},"component":{}}],["oid",{"_index":1427,"title":{"79-6":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["oidc",{"_index":6745,"title":{},"name":{},"text":{"172":{},"247":{}},"component":{}}],["ok",{"_index":6095,"title":{},"name":{},"text":{"141":{},"142":{},"280":{},"283":{}},"component":{}}],["old",{"_index":697,"title":{},"name":{},"text":{"4":{},"36":{},"44":{},"46":{},"66":{},"67":{},"77":{},"101":{},"140":{},"145":{},"147":{},"151":{},"156":{},"179":{}},"component":{}}],["older",{"_index":1508,"title":{"144-6":{}},"name":{},"text":{"30":{},"67":{},"144":{},"145":{},"151":{},"156":{}},"component":{}}],["oldest",{"_index":5008,"title":{},"name":{},"text":{"86":{},"88":{},"151":{}},"component":{}}],["oldest/th",{"_index":5116,"title":{},"name":{},"text":{"88":{}},"component":{}}],["oldnam",{"_index":6412,"title":{},"name":{},"text":{"149":{}},"component":{}}],["olibutzki",{"_index":3425,"title":{},"name":{},"text":{"66":{}},"component":{}}],["omit",{"_index":1057,"title":{},"name":{},"text":{"14":{},"15":{},"24":{},"30":{},"33":{},"34":{},"35":{},"36":{},"38":{},"42":{},"43":{},"44":{},"46":{},"51":{},"59":{},"61":{},"64":{},"69":{},"71":{},"77":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"110":{},"113":{},"149":{},"154":{},"166":{}},"component":{}}],["on",{"_index":223,"title":{"46-10":{}},"name":{},"text":{"3":{},"5":{},"6":{},"8":{},"13":{},"15":{},"18":{},"20":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{},"37":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"53":{},"54":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"81":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"101":{},"102":{},"108":{},"115":{},"127":{},"130":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"157":{},"161":{},"165":{},"169":{},"174":{},"176":{},"178":{},"179":{},"180":{},"184":{},"185":{},"191":{},"192":{},"199":{},"201":{},"202":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"221":{},"232":{},"237":{},"244":{},"250":{},"254":{},"255":{},"257":{},"260":{},"261":{},"262":{},"268":{},"269":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"286":{},"289":{},"290":{}},"component":{}}],["on(bikecreatedev",{"_index":8045,"title":{},"name":{},"text":{"286":{}},"component":{}}],["on(bikeregisteredev",{"_index":7855,"title":{},"name":{},"text":{"280":{},"286":{},"290":{}},"component":{}}],["on(bikereleasedev",{"_index":8060,"title":{},"name":{},"text":{"288":{}},"component":{}}],["on(bikereservedev",{"_index":8057,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["on(cardcancelledev",{"_index":5353,"title":{},"name":{},"text":{"88":{}},"component":{}}],["on(cardissuedev",{"_index":4906,"title":{},"name":{},"text":{"82":{},"88":{}},"component":{}}],["on(cardredeemedev",{"_index":1195,"title":{},"name":{},"text":{"18":{},"84":{},"88":{}},"component":{}}],["on(cardreimbursedev",{"_index":4952,"title":{},"name":{},"text":{"84":{},"85":{}},"component":{}}],["on(ev",{"_index":5660,"title":{},"name":{},"text":{"108":{},"115":{}},"component":{}}],["on(expiringcardexpiredev",{"_index":1250,"title":{},"name":{},"text":{"20":{}},"component":{}}],["on(expiringcardissuedev",{"_index":1247,"title":{},"name":{},"text":{"20":{}},"component":{}}],["on(mydeadlinepayload",{"_index":2308,"title":{},"name":{},"text":{"39":{}},"component":{}}],["on(redeemedevt",{"_index":3167,"title":{},"name":{},"text":{"63":{}},"component":{}}],["on(someev",{"_index":2424,"title":{},"name":{},"text":{"43":{},"86":{}},"component":{}}],["onboard",{"_index":7593,"title":{"247-4":{}},"name":{},"text":{"247":{},"260":{},"276":{}},"component":{}}],["onc",{"_index":1054,"title":{},"name":{},"text":{"14":{},"16":{},"17":{},"38":{},"40":{},"44":{},"51":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"76":{},"77":{},"86":{},"88":{},"91":{},"117":{},"121":{},"141":{},"144":{},"145":{},"151":{},"154":{},"156":{},"162":{},"168":{},"176":{},"177":{},"178":{},"192":{},"202":{},"206":{},"232":{},"237":{},"241":{},"260":{},"261":{},"262":{},"266":{},"267":{},"270":{},"274":{},"276":{},"278":{},"279":{},"284":{}},"component":{}}],["oncleanup",{"_index":2843,"title":{},"name":{},"text":{"53":{}},"component":{}}],["oncommit",{"_index":2879,"title":{},"name":{},"text":{"53":{}},"component":{}}],["onerror",{"_index":5631,"title":{},"name":{},"text":{"105":{}},"component":{}}],["onerror(except",{"_index":5083,"title":{},"name":{},"text":{"87":{}},"component":{}}],["onerror(throw",{"_index":3224,"title":{},"name":{},"text":{"63":{}},"component":{}}],["onetomany(fetch",{"_index":4971,"title":{},"name":{},"text":{"85":{}},"component":{}}],["one’",{"_index":1706,"title":{},"name":{},"text":{"31":{},"287":{}},"component":{}}],["onfailur",{"_index":2202,"title":{},"name":{},"text":{"38":{}},"component":{}}],["onfirstinit",{"_index":6958,"title":{},"name":{},"text":{"179":{}},"component":{}}],["ongo",{"_index":6239,"title":{"145-25":{}},"name":{},"text":{"211":{}},"component":{}}],["onlin",{"_index":6511,"title":{"274-4":{}},"name":{},"text":{"157":{},"245":{},"246":{},"260":{},"261":{},"268":{},"269":{},"273":{},"274":{}},"component":{}}],["onmessage(messag",{"_index":5425,"title":{},"name":{},"text":{"92":{}},"component":{}}],["onpreparecommit",{"_index":2842,"title":{},"name":{},"text":{"53":{}},"component":{}}],["onreset(resetcontext",{"_index":5351,"title":{},"name":{},"text":{"88":{}},"component":{}}],["onresult",{"_index":1880,"title":{},"name":{},"text":{"34":{}},"component":{}}],["onresult(commandmessag",{"_index":1877,"title":{},"name":{},"text":{"34":{},"38":{}},"component":{}}],["onrollback",{"_index":2850,"title":{},"name":{},"text":{"53":{}},"component":{}}],["onsuccess",{"_index":5628,"title":{},"name":{},"text":{"105":{}},"component":{}}],["onward",{"_index":5477,"title":{},"name":{},"text":{"98":{},"142":{},"147":{},"148":{},"149":{},"150":{},"173":{}},"component":{}}],["oop",{"_index":2431,"title":{},"name":{},"text":{"44":{}},"component":{}}],["op",{"_index":1984,"title":{},"name":{},"text":{"35":{},"80":{},"199":{}},"component":{}}],["opaqu",{"_index":4649,"title":{},"name":{},"text":{"72":{}},"component":{}}],["open",{"_index":56,"title":{"224":{},"2-7":{}},"name":{},"text":{"2":{},"29":{},"30":{},"46":{},"66":{},"67":{},"69":{},"71":{},"76":{},"88":{},"99":{},"133":{},"137":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"156":{},"163":{},"165":{},"179":{},"192":{},"199":{},"201":{},"208":{},"260":{},"262":{},"273":{},"276":{},"277":{},"279":{},"280":{},"283":{},"284":{},"285":{}},"component":{}}],["openapi",{"_index":7486,"title":{},"name":{},"text":{"215":{},"224":{}},"component":{}}],["opencensu",{"_index":3046,"title":{},"name":{},"text":{"59":{}},"component":{}}],["openid",{"_index":6724,"title":{"172-4":{}},"name":{},"text":{"172":{},"247":{}},"component":{}}],["openid,email,profil",{"_index":6775,"title":{},"name":{},"text":{"172":{}},"component":{}}],["openloopgiftcard",{"_index":4891,"title":{},"name":{},"text":{"81":{}},"component":{}}],["openrewrit",{"_index":1785,"title":{},"name":{},"text":{"33":{},"67":{}},"component":{}}],["openshift",{"_index":246,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["opentelemetri",{"_index":1469,"title":{"30-14":{},"59-15":{}},"name":{},"text":{"30":{},"59":{},"66":{},"67":{}},"component":{}}],["opentelemetryspanfactori",{"_index":3013,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["opentelemetryspanfactory.builder().build",{"_index":3016,"title":{},"name":{},"text":{"59":{}},"component":{}}],["opentrac",{"_index":2993,"title":{"59-21":{}},"name":{},"text":{"59":{},"133":{}},"component":{}}],["oper",{"_index":767,"title":{"171":{},"82-2":{},"111-1":{},"151-14":{},"193-1":{},"193-2":{},"193-3":{}},"name":{},"text":{"5":{},"6":{},"8":{},"13":{},"30":{},"34":{},"35":{},"39":{},"46":{},"47":{},"58":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"82":{},"86":{},"87":{},"88":{},"89":{},"99":{},"101":{},"111":{},"120":{},"121":{},"130":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"151":{},"156":{},"164":{},"168":{},"169":{},"171":{},"179":{},"180":{},"183":{},"192":{},"193":{},"202":{},"204":{},"218":{},"262":{},"274":{},"280":{},"287":{}},"component":{}}],["opinion",{"_index":7648,"title":{},"name":{},"text":{"264":{}},"component":{}}],["opportun",{"_index":4329,"title":{},"name":{},"text":{"67":{},"88":{},"127":{}},"component":{}}],["opt",{"_index":259,"title":{},"name":{},"text":{"3":{},"79":{},"128":{},"191":{}},"component":{}}],["optim",{"_index":1613,"title":{},"name":{},"text":{"31":{},"38":{},"46":{},"67":{},"72":{},"76":{},"77":{},"78":{},"79":{},"88":{},"111":{},"140":{},"141":{},"150":{},"151":{},"164":{},"280":{},"284":{}},"component":{}}],["option",{"_index":722,"title":{"5-1":{},"168-3":{},"174-3":{},"269-2":{},"269-3":{}},"name":{},"text":{"5":{},"6":{},"8":{},"13":{},"15":{},"16":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"51":{},"58":{},"60":{},"61":{},"63":{},"64":{},"66":{},"69":{},"71":{},"72":{},"74":{},"76":{},"79":{},"82":{},"83":{},"86":{},"87":{},"88":{},"89":{},"99":{},"102":{},"129":{},"130":{},"132":{},"137":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"151":{},"155":{},"156":{},"157":{},"160":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"178":{},"179":{},"181":{},"192":{},"199":{},"202":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"220":{},"226":{},"228":{},"229":{},"232":{},"237":{},"244":{},"263":{},"267":{},"269":{},"274":{},"276":{},"277":{},"279":{},"280":{},"283":{}},"component":{}}],["optional.of(top",{"_index":5578,"title":{},"name":{},"text":{"102":{}},"component":{}}],["optional.ofnullable(command.getmetadata().get(\"userid",{"_index":2748,"title":{},"name":{},"text":{"51":{}},"component":{}}],["optional.ofnullable(event.getmetadata().get(\"userid",{"_index":2771,"title":{},"name":{},"text":{"51":{}},"component":{}}],["optionalletterprocessor",{"_index":5021,"title":{},"name":{},"text":{"86":{}},"component":{}}],["optionalletterprocessor.get",{"_index":5024,"title":{},"name":{},"text":{"86":{}},"component":{}}],["optionalletterprocessor.ispres",{"_index":5022,"title":{},"name":{},"text":{"86":{}},"component":{}}],["oracl",{"_index":4157,"title":{},"name":{},"text":{"67":{}},"component":{}}],["oracle11sagasqlschema",{"_index":4491,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["oracle11tokentablefactori",{"_index":5214,"title":{},"name":{},"text":{"88":{}},"component":{}}],["orchestr",{"_index":6512,"title":{},"name":{},"text":{"157":{}},"component":{}}],["order",{"_index":153,"title":{"64-2":{},"86-1":{},"87-3":{}},"name":{},"text":{"2":{},"5":{},"6":{},"16":{},"31":{},"32":{},"35":{},"38":{},"42":{},"44":{},"49":{},"51":{},"52":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"77":{},"79":{},"86":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"115":{},"119":{},"121":{},"142":{},"144":{},"145":{},"147":{},"151":{},"154":{},"163":{},"170":{},"177":{},"189":{},"202":{},"203":{},"209":{},"211":{},"230":{},"231":{},"233":{},"260":{},"264":{},"269":{},"273":{},"275":{},"280":{},"281":{},"286":{},"290":{}},"component":{}}],["order(0",{"_index":2505,"title":{},"name":{},"text":{"44":{}},"component":{}}],["order(1",{"_index":2506,"title":{},"name":{},"text":{"44":{}},"component":{}}],["orderid",{"_index":4434,"title":{},"name":{},"text":{"68":{},"69":{}},"component":{}}],["ordermanagementsaga",{"_index":4432,"title":{},"name":{},"text":{"68":{}},"component":{}}],["orderplac",{"_index":920,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ordinari",{"_index":7312,"title":{},"name":{},"text":{"203":{}},"component":{}}],["orelse(origin",{"_index":1331,"title":{},"name":{},"text":{"24":{}},"component":{}}],["orelsethrow",{"_index":1340,"title":{},"name":{},"text":{"24":{},"76":{},"86":{}},"component":{}}],["orelsethrow(illegalcommandexception::new",{"_index":2751,"title":{},"name":{},"text":{"51":{}},"component":{}}],["orelsethrow(illegaleventexception::new",{"_index":2772,"title":{},"name":{},"text":{"51":{}},"component":{}}],["org.axonframework",{"_index":1482,"title":{},"name":{},"text":{"30":{},"38":{},"46":{},"59":{},"61":{},"278":{},"285":{}},"component":{}}],["org.axonframework.axonserver.connector.axonserverconfigur",{"_index":1761,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.commandhandling.commandhandl",{"_index":1940,"title":{},"name":{},"text":{"35":{},"80":{},"82":{},"84":{},"85":{},"281":{}},"component":{}}],["org.axonframework.commandhandling.commandmessag",{"_index":5619,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.axonframework.commandhandling.gateway.commandgateway",{"_index":5620,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.axonframework.common.jpa.entitymanagerprovid",{"_index":1790,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.jpa.pagingjpaqueryiter",{"_index":1792,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.jpa.simpleentitymanagerprovid",{"_index":1794,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.legacyjpa.entitymanagerprovid",{"_index":1791,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.legacyjpa.pagingjpaqueryiter",{"_index":1793,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.legacyjpa.simpleentitymanagerprovid",{"_index":1795,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.config.configur",{"_index":1223,"title":{},"name":{},"text":{"20":{},"115":{},"144":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.deadletterjpaconvert",{"_index":1796,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.eventmessagedeadletterjpaconvert",{"_index":1798,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.jpadeadlett",{"_index":1800,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.jpasequenceddeadletterqueu",{"_index":1802,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.deadletterjpaconvert",{"_index":1797,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.eventmessagedeadletterjpaconvert",{"_index":1799,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.jpadeadlett",{"_index":1801,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.jpasequenceddeadletterqueu",{"_index":1803,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.eventhandl",{"_index":4964,"title":{},"name":{},"text":{"85":{},"108":{}},"component":{}}],["org.axonframework.eventhandling.tokenstor",{"_index":1727,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.eventhandling.tokenstore.jpa.jpatokenstor",{"_index":1804,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.tokenstore.jpa.tokenentri",{"_index":5209,"title":{},"name":{},"text":{"88":{}},"component":{}}],["org.axonframework.eventhandling.tokenstore.legacyjpa.jpatokenstor",{"_index":1805,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventsourcinghandl",{"_index":4905,"title":{},"name":{},"text":{"82":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jdbc.stat",{"_index":2586,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa",{"_index":1729,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.domainevententri",{"_index":2525,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.jpaeventstorageengin",{"_index":1806,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.snapshotevententri",{"_index":2526,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.sqlerrorcodesresolv",{"_index":1808,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.legacyjpa.jpaeventstorageengin",{"_index":1807,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.legacyjpa.sqlerrorcodesresolv",{"_index":1809,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.example.eventhandl",{"_index":5055,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.modul",{"_index":5058,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.module.modulehandl",{"_index":5053,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.myhandl",{"_index":5051,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.myotherhandl",{"_index":5052,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.extens",{"_index":1513,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.amqp",{"_index":1514,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.cdi",{"_index":1515,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.jgroup",{"_index":1516,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.jobrunrpro",{"_index":1518,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.kafka",{"_index":1519,"title":{},"name":{},"text":{"30":{},"104":{}},"component":{}}],["org.axonframework.extensions.kotlin",{"_index":1520,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.mongo",{"_index":1521,"title":{},"name":{},"text":{"30":{},"114":{}},"component":{}}],["org.axonframework.extensions.multiten",{"_index":1522,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.reactor",{"_index":1523,"title":{},"name":{},"text":{"30":{},"121":{}},"component":{}}],["org.axonframework.extensions.spr",{"_index":1524,"title":{},"name":{},"text":{"30":{},"123":{}},"component":{}}],["org.axonframework.extensions.springcloud",{"_index":1526,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.trac",{"_index":1527,"title":{},"name":{},"text":{"30":{},"133":{}},"component":{}}],["org.axonframework.firestart",{"_index":7673,"title":{},"name":{},"text":{"270":{}},"component":{}}],["org.axonframework.firestarter:firestart",{"_index":7672,"title":{},"name":{},"text":{"270":{}},"component":{}}],["org.axonframework.messaging.interceptors.beanvalidationinterceptor",{"_index":1810,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.interceptors.jsr303violationexcept",{"_index":1812,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.interceptors.legacyvalidation.beanvalidationinterceptor",{"_index":1811,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.interceptors.legacyvalidation.jsr303violationexcept",{"_index":1813,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.metadata",{"_index":5621,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.axonframework.modeling.command.aggregateidentifi",{"_index":7961,"title":{},"name":{},"text":{"281":{}},"component":{}}],["org.axonframework.modelling.command.aggregatecreationpolici",{"_index":1983,"title":{},"name":{},"text":{"35":{}},"component":{}}],["org.axonframework.modelling.command.aggregateidentifi",{"_index":1941,"title":{},"name":{},"text":{"35":{},"82":{},"84":{},"85":{}},"component":{}}],["org.axonframework.modelling.command.aggregatelifecycle.appli",{"_index":1942,"title":{},"name":{},"text":{"35":{},"42":{},"80":{},"82":{},"84":{}},"component":{}}],["org.axonframework.modelling.command.aggregatelifecycle.createnew",{"_index":4873,"title":{},"name":{},"text":{"80":{}},"component":{}}],["org.axonframework.modelling.command.aggregatememb",{"_index":4929,"title":{},"name":{},"text":{"84":{},"85":{}},"component":{}}],["org.axonframework.modelling.command.creationpolici",{"_index":1982,"title":{},"name":{},"text":{"35":{}},"component":{}}],["org.axonframework.modelling.command.entityid",{"_index":4930,"title":{},"name":{},"text":{"84":{}},"component":{}}],["org.axonframework.modelling.command.forwardmatchinginst",{"_index":4955,"title":{},"name":{},"text":{"84":{}},"component":{}}],["org.axonframework.modelling.command.genericjparepositori",{"_index":1814,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.modelling.command.legacyjpa.genericjparepositori",{"_index":1815,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.modelling.command.repositori",{"_index":1993,"title":{},"name":{},"text":{"35":{},"67":{}},"component":{}}],["org.axonframework.modelling.command.targetaggregateidentifi",{"_index":1949,"title":{},"name":{},"text":{"35":{},"281":{}},"component":{}}],["org.axonframework.modelling.saga.repository.jpa",{"_index":1728,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.modelling.saga.repository.jpa.jpasagastor",{"_index":1816,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.modelling.saga.repository.legacyjpa.jpasagastor",{"_index":1817,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.queryhandling.querygateway",{"_index":5647,"title":{},"name":{},"text":{"108":{}},"component":{}}],["org.axonframework.queryhandling.queryhandl",{"_index":3238,"title":{},"name":{},"text":{"64":{},"280":{}},"component":{}}],["org.axonframework.queryhandling.queryupdateemitt",{"_index":5659,"title":{},"name":{},"text":{"108":{}},"component":{}}],["org.axonframework.serialization.upcasting.event.singleeventupcast",{"_index":5634,"title":{},"name":{},"text":{"106":{}},"component":{}}],["org.axonframework.spring.stereotyp",{"_index":2008,"title":{},"name":{},"text":{"36":{}},"component":{}}],["org.axonframework.spring.stereotype.aggreg",{"_index":2009,"title":{},"name":{},"text":{"36":{},"281":{}},"component":{}}],["org.axonframework.spring.stereotype.saga",{"_index":4505,"title":{},"name":{},"text":{"69":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonautoconfigur",{"_index":1741,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonserveractuatorautoconfigur",{"_index":1753,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonserverautoconfigur",{"_index":1751,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonserverbusautoconfigur",{"_index":1754,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axontracingautoconfigur",{"_index":1755,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.eventprocessingautoconfigur",{"_index":1740,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.infraconfigur",{"_index":1749,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.jdbcautoconfigur",{"_index":1746,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.jpaautoconfigur",{"_index":1744,"title":{},"name":{},"text":{"32":{},"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.jpaeventstoreautoconfigur",{"_index":1745,"title":{},"name":{},"text":{"32":{},"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacy_jpa.jpajavaxautoconfigur",{"_index":1742,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacy_jpa.jpajavaxeventstoreautoconfigur",{"_index":1743,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacyjpa.jpajavaxautoconfigur",{"_index":1818,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacyjpa.jpajavaxeventstoreautoconfigur",{"_index":1819,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.metricsautoconfigur",{"_index":1738,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.micrometermetricsautoconfigur",{"_index":1739,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.nooptransactionautoconfigur",{"_index":1748,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.objectmapperautoconfigur",{"_index":1750,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.opentelemetryautoconfigur",{"_index":1756,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.transactionautoconfigur",{"_index":1747,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.xstreamautoconfigur",{"_index":1752,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.util.jpa.containermanagedentitymanagerprovid",{"_index":1820,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.springboot.util.legacyjpa.containermanagedentitymanagerprovid",{"_index":1821,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.test.aggregate.aggregatetestfixtur",{"_index":4531,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.aggregate.fixtureconfigur",{"_index":4532,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.andnomor",{"_index":4627,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.equalto",{"_index":4628,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.exactsequenceof",{"_index":4629,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.messagewithpayload",{"_index":4630,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.payloadsmatch",{"_index":4631,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework:axon",{"_index":1551,"title":{},"name":{},"text":{"30":{},"285":{}},"component":{}}],["org.codehaus.mojo.archetyp",{"_index":7812,"title":{},"name":{},"text":{"279":{}},"component":{}}],["org.dom4j.document.class",{"_index":2485,"title":{},"name":{},"text":{"44":{}},"component":{}}],["org.openrewrite.maven:rewrit",{"_index":1841,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.sampl",{"_index":6383,"title":{},"name":{},"text":{"148":{}},"component":{}}],["org.slf4j.loggerfactori",{"_index":5622,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.springframework.boot",{"_index":7818,"title":{},"name":{},"text":{"279":{},"284":{}},"component":{}}],["org.springframework.boot.autoconfigure.autoconfiguration.import",{"_index":1759,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.springframework.boot.autoconfigure.enableautoconfigur",{"_index":1737,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.springframework.boot:spr",{"_index":7800,"title":{},"name":{},"text":{"279":{}},"component":{}}],["org.springframework.stereotype.repositori",{"_index":7854,"title":{},"name":{},"text":{"280":{}},"component":{}}],["organ",{"_index":5048,"title":{},"name":{},"text":{"87":{},"140":{},"241":{},"255":{}},"component":{}}],["orient",{"_index":2429,"title":{},"name":{},"text":{"44":{}},"component":{}}],["origin",{"_index":831,"title":{"206-38":{}},"name":{},"text":{"5":{},"24":{},"31":{},"39":{},"42":{},"44":{},"48":{},"49":{},"50":{},"52":{},"55":{},"56":{},"59":{},"66":{},"67":{},"79":{},"82":{},"88":{},"145":{},"179":{},"206":{},"215":{},"250":{},"274":{},"280":{},"283":{}},"component":{}}],["origin=fals",{"_index":6088,"title":{},"name":{},"text":{"141":{}},"component":{}}],["original.attribute(\"metadatakey",{"_index":1327,"title":{},"name":{},"text":{"24":{}},"component":{}}],["orm",{"_index":4864,"title":{},"name":{},"text":{"79":{}},"component":{}}],["orm.xml",{"_index":4863,"title":{},"name":{},"text":{"79":{}},"component":{}}],["os",{"_index":7024,"title":{},"name":{},"text":{"185":{}},"component":{}}],["os/jvm",{"_index":7148,"title":{},"name":{},"text":{"190":{}},"component":{}}],["osgi",{"_index":1367,"title":{},"name":{},"text":{"26":{},"148":{},"178":{},"179":{}},"component":{}}],["other",{"_index":943,"title":{"46-13":{}},"name":{},"text":{"6":{},"30":{},"53":{},"59":{},"67":{},"69":{},"72":{},"82":{},"86":{},"156":{},"239":{}},"component":{}}],["otherwis",{"_index":374,"title":{},"name":{},"text":{"3":{},"34":{},"35":{},"36":{},"38":{},"50":{},"52":{},"72":{},"80":{},"88":{},"101":{},"120":{},"124":{},"147":{},"191":{},"201":{},"206":{},"273":{}},"component":{}}],["other’",{"_index":939,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ou=people,dc=planetexpress,dc=com",{"_index":6623,"title":{},"name":{},"text":{"170":{}},"component":{}}],["out",{"_index":78,"title":{},"name":{},"text":{"2":{},"3":{},"5":{},"20":{},"31":{},"36":{},"38":{},"39":{},"44":{},"46":{},"48":{},"53":{},"56":{},"59":{},"60":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"85":{},"87":{},"88":{},"91":{},"94":{},"104":{},"115":{},"117":{},"127":{},"129":{},"141":{},"143":{},"157":{},"168":{},"172":{},"174":{},"179":{},"187":{},"191":{},"226":{},"249":{},"259":{},"261":{},"265":{},"273":{},"274":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["outcom",{"_index":1875,"title":{},"name":{},"text":{"34":{},"49":{},"60":{},"67":{},"72":{},"80":{},"87":{},"88":{},"289":{}},"component":{}}],["outdat",{"_index":6053,"title":{},"name":{},"text":{"140":{},"260":{}},"component":{}}],["outer",{"_index":2884,"title":{},"name":{},"text":{"53":{},"72":{}},"component":{}}],["outgo",{"_index":5861,"title":{"206-25":{},"206-30":{}},"name":{},"text":{"121":{},"206":{}},"component":{}}],["outlin",{"_index":7599,"title":{},"name":{},"text":{"250":{},"260":{}},"component":{}}],["outofmemoryexception`",{"_index":2556,"title":{},"name":{},"text":{"46":{}},"component":{}}],["outperform",{"_index":2170,"title":{},"name":{},"text":{"38":{},"46":{}},"component":{}}],["output",{"_index":1661,"title":{},"name":{},"text":{"31":{},"44":{},"46":{},"105":{},"147":{},"166":{},"168":{},"174":{},"178":{},"184":{},"290":{}},"component":{}}],["outsid",{"_index":2987,"title":{},"name":{},"text":{"58":{},"72":{},"84":{},"87":{},"100":{},"108":{},"115":{},"130":{},"151":{},"261":{},"281":{}},"component":{}}],["over",{"_index":1079,"title":{},"name":{},"text":{"15":{},"16":{},"30":{},"33":{},"38":{},"39":{},"44":{},"49":{},"51":{},"56":{},"57":{},"59":{},"60":{},"63":{},"66":{},"67":{},"76":{},"79":{},"84":{},"86":{},"88":{},"94":{},"101":{},"107":{},"130":{},"138":{},"140":{},"142":{},"147":{},"151":{},"162":{},"163":{},"179":{},"203":{},"221":{},"235":{},"239":{},"242":{},"260":{},"261":{},"273":{},"274":{},"281":{}},"component":{}}],["overal",{"_index":806,"title":{},"name":{},"text":{"5":{},"30":{},"51":{},"57":{},"87":{},"88":{},"140":{},"151":{},"156":{},"163":{},"185":{},"245":{}},"component":{}}],["overcom",{"_index":3826,"title":{},"name":{},"text":{"66":{},"145":{}},"component":{}}],["overflow",{"_index":3212,"title":{},"name":{},"text":{"63":{},"79":{}},"component":{}}],["overhead",{"_index":1071,"title":{},"name":{},"text":{"15":{},"29":{},"38":{},"79":{},"88":{},"261":{},"274":{}},"component":{}}],["overload",{"_index":3177,"title":{},"name":{},"text":{"63":{}},"component":{}}],["overlook",{"_index":5784,"title":{},"name":{},"text":{"120":{}},"component":{}}],["overrid",{"_index":683,"title":{"4-1":{},"79-5":{},"115-12":{},"244-3":{}},"name":{},"text":{"14":{},"24":{},"25":{},"27":{},"31":{},"32":{},"44":{},"46":{},"50":{},"51":{},"56":{},"59":{},"66":{},"67":{},"79":{},"86":{},"88":{},"92":{},"115":{},"121":{},"147":{},"148":{},"154":{},"177":{},"179":{},"244":{},"262":{},"273":{}},"component":{}}],["overridden",{"_index":1959,"title":{},"name":{},"text":{"35":{},"63":{},"90":{},"167":{}},"component":{}}],["overs",{"_index":4827,"title":{},"name":{},"text":{"79":{}},"component":{}}],["overse",{"_index":7545,"title":{},"name":{},"text":{"227":{},"236":{}},"component":{}}],["overtim",{"_index":1674,"title":{},"name":{},"text":{"31":{}},"component":{}}],["overview",{"_index":821,"title":{"210":{},"268":{},"274":{},"199-4":{},"200-2":{},"244-1":{},"274-33":{}},"name":{"210":{},"245":{}},"text":{"5":{},"28":{},"38":{},"58":{},"61":{},"67":{},"72":{},"140":{},"141":{},"154":{},"165":{},"168":{},"169":{},"171":{},"177":{},"178":{},"186":{},"199":{},"201":{},"220":{},"227":{},"236":{},"244":{},"257":{},"260":{},"261":{},"262":{},"272":{},"274":{},"284":{}},"component":{}}],["overwhelm",{"_index":525,"title":{},"name":{},"text":{"3":{},"63":{},"121":{},"163":{},"191":{}},"component":{}}],["overwrit",{"_index":2043,"title":{},"name":{},"text":{"36":{},"38":{},"66":{},"142":{}},"component":{}}],["overwritten",{"_index":2644,"title":{},"name":{},"text":{"47":{}},"component":{}}],["ovstetun",{"_index":4381,"title":{},"name":{},"text":{"67":{}},"component":{}}],["own",{"_index":544,"title":{},"name":{},"text":{"3":{},"76":{},"88":{},"115":{},"191":{}},"component":{}}],["owner",{"_index":546,"title":{},"name":{},"text":{"3":{},"5":{},"72":{},"191":{},"231":{},"255":{}},"component":{}}],["ownership",{"_index":335,"title":{},"name":{},"text":{"3":{},"191":{},"255":{}},"component":{}}],["oxymoron",{"_index":6242,"title":{},"name":{},"text":{"145":{}},"component":{}}],["oyst",{"_index":4224,"title":{},"name":{},"text":{"67":{}},"component":{}}],["p",{"_index":348,"title":{},"name":{},"text":{"3":{},"115":{},"147":{},"148":{},"174":{},"178":{},"191":{}},"component":{}}],["p86t",{"_index":7458,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["p90",{"_index":7637,"title":{},"name":{},"text":{"262":{}},"component":{}}],["pace",{"_index":955,"title":{},"name":{},"text":{"6":{},"88":{},"145":{}},"component":{}}],["packag",{"_index":301,"title":{"140-12":{}},"name":{},"text":{"3":{},"4":{},"31":{},"32":{},"33":{},"34":{},"36":{},"44":{},"46":{},"66":{},"67":{},"72":{},"87":{},"88":{},"140":{},"141":{},"148":{},"161":{},"178":{},"179":{},"191":{},"199":{},"201":{},"215":{},"260":{},"266":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["page",{"_index":748,"title":{},"name":{},"text":{"5":{},"8":{},"13":{},"29":{},"31":{},"34":{},"36":{},"38":{},"42":{},"51":{},"56":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"75":{},"85":{},"86":{},"87":{},"88":{},"140":{},"141":{},"143":{},"144":{},"151":{},"153":{},"154":{},"173":{},"177":{},"188":{},"201":{},"202":{},"203":{},"221":{},"224":{},"228":{},"232":{},"235":{},"237":{},"244":{},"245":{},"249":{},"250":{},"254":{},"257":{},"259":{},"260":{},"262":{},"263":{},"270":{},"273":{},"274":{},"283":{}},"component":{}}],["pagerduti",{"_index":7699,"title":{},"name":{},"text":{"273":{}},"component":{}}],["pagin",{"_index":3218,"title":{},"name":{},"text":{"63":{}},"component":{}}],["paid",{"_index":791,"title":{},"name":{},"text":{"5":{},"39":{},"40":{},"68":{},"74":{},"273":{},"274":{}},"component":{}}],["pair",{"_index":1909,"title":{},"name":{},"text":{"34":{},"47":{},"66":{},"67":{},"85":{},"88":{},"99":{},"102":{},"106":{},"121":{},"179":{},"211":{},"212":{},"214":{}},"component":{}}],["panel",{"_index":6496,"title":{},"name":{},"text":{"154":{},"177":{},"199":{},"232":{},"235":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"263":{},"270":{},"274":{},"276":{},"277":{},"283":{},"284":{}},"component":{}}],["par",{"_index":1634,"title":{},"name":{},"text":{"31":{}},"component":{}}],["paradigm",{"_index":1498,"title":{},"name":{},"text":{"30":{},"85":{},"89":{}},"component":{}}],["parallel",{"_index":2984,"title":{"88-15":{}},"name":{},"text":{"58":{},"67":{},"78":{},"86":{},"88":{},"89":{},"163":{},"260":{}},"component":{}}],["param",{"_index":1080,"title":{},"name":{},"text":{"15":{},"172":{}},"component":{}}],["paramat",{"_index":7206,"title":{},"name":{},"text":{"197":{}},"component":{}}],["paramet",{"_index":1105,"title":{"26":{},"52":{},"52-1":{},"52-2":{},"52-3":{},"168-2":{},"168-3":{},"174-2":{},"174-3":{}},"name":{"26":{},"52":{}},"text":{"15":{},"25":{},"26":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"44":{},"49":{},"51":{},"52":{},"53":{},"58":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"80":{},"83":{},"86":{},"88":{},"89":{},"97":{},"108":{},"115":{},"121":{},"126":{},"141":{},"144":{},"147":{},"148":{},"156":{},"172":{},"178":{},"179":{},"195":{},"197":{},"208":{},"211":{},"273":{},"280":{},"281":{},"283":{}},"component":{}}],["parameter",{"_index":3286,"title":{},"name":{},"text":{"66":{}},"component":{}}],["parameterresolv",{"_index":1363,"title":{},"name":{},"text":{"26":{},"52":{},"72":{}},"component":{}}],["parameterresolver`",{"_index":2305,"title":{},"name":{},"text":{"39":{},"52":{}},"component":{}}],["parameterresolverfactori",{"_index":1364,"title":{},"name":{},"text":{"26":{},"52":{},"66":{},"72":{}},"component":{}}],["parameter’",{"_index":5355,"title":{},"name":{},"text":{"88":{}},"component":{}}],["paramount",{"_index":2494,"title":{},"name":{},"text":{"44":{}},"component":{}}],["params.prompt=select_account",{"_index":6768,"title":{},"name":{},"text":{"172":{}},"component":{}}],["parent",{"_index":2690,"title":{},"name":{},"text":{"50":{},"59":{},"63":{},"66":{},"67":{},"80":{},"81":{},"84":{},"133":{},"279":{}},"component":{}}],["parentaggreg",{"_index":4871,"title":{},"name":{},"text":{"80":{}},"component":{}}],["parenthes",{"_index":5658,"title":{},"name":{},"text":{"108":{}},"component":{}}],["park",{"_index":4982,"title":{},"name":{},"text":{"86":{},"87":{}},"component":{}}],["pars",{"_index":7501,"title":{},"name":{},"text":{"215":{}},"component":{}}],["part",{"_index":1176,"title":{"237-1":{},"237-2":{},"237-3":{}},"name":{},"text":{"17":{},"20":{},"24":{},"30":{},"33":{},"38":{},"40":{},"44":{},"45":{},"49":{},"57":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"82":{},"84":{},"86":{},"87":{},"88":{},"124":{},"133":{},"144":{},"147":{},"148":{},"154":{},"178":{},"192":{},"207":{},"209":{},"238":{},"246":{},"249":{},"259":{},"260":{},"261":{},"262":{},"272":{},"274":{},"277":{},"279":{},"280":{},"286":{},"289":{},"290":{}},"component":{}}],["partak",{"_index":2620,"title":{},"name":{},"text":{"46":{}},"component":{}}],["parti",{"_index":12,"title":{},"name":{},"text":{"1":{},"64":{},"88":{},"121":{},"200":{},"224":{},"281":{}},"component":{}}],["partial",{"_index":3773,"title":{"88-29":{}},"name":{},"text":{"66":{},"88":{},"140":{}},"component":{}}],["particip",{"_index":6501,"title":{},"name":{},"text":{"156":{},"157":{}},"component":{}}],["particular",{"_index":531,"title":{},"name":{},"text":{"3":{},"76":{},"87":{},"88":{},"143":{},"150":{},"156":{},"157":{},"191":{},"239":{},"242":{},"245":{},"273":{},"274":{}},"component":{}}],["particularli",{"_index":238,"title":{},"name":{},"text":{"3":{},"44":{},"140":{},"151":{},"191":{},"243":{}},"component":{}}],["partit",{"_index":5500,"title":{"102-2":{}},"name":{},"text":{"99":{},"102":{}},"component":{}}],["pass",{"_index":1259,"title":{"166-1":{},"166-2":{}},"name":{},"text":{"21":{},"22":{},"24":{},"31":{},"36":{},"38":{},"43":{},"47":{},"50":{},"52":{},"66":{},"72":{},"77":{},"83":{},"89":{},"101":{},"104":{},"119":{},"143":{},"144":{},"147":{},"166":{},"204":{},"215":{},"216":{},"217":{},"219":{},"243":{},"261":{},"280":{},"285":{}},"component":{}}],["passiv",{"_index":6497,"title":{"156-3":{}},"name":{},"text":{"156":{}},"component":{}}],["passive_backup",{"_index":6368,"title":{},"name":{},"text":{"147":{},"156":{},"157":{},"178":{}},"component":{}}],["password",{"_index":754,"title":{"169-4":{},"206-35":{},"247-3":{}},"name":{},"text":{"5":{},"161":{},"166":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"178":{},"179":{},"199":{},"204":{},"206":{},"247":{}},"component":{}}],["past",{"_index":4528,"title":{},"name":{},"text":{"72":{},"77":{},"82":{},"87":{},"88":{},"145":{},"276":{},"280":{}},"component":{}}],["patch",{"_index":3887,"title":{"119-2":{},"126-2":{}},"name":{},"text":{"67":{},"138":{},"141":{},"144":{}},"component":{}}],["path",{"_index":298,"title":{"206-10":{}},"name":{},"text":{"3":{},"4":{},"31":{},"33":{},"59":{},"67":{},"142":{},"151":{},"154":{},"177":{},"179":{},"184":{},"185":{},"191":{},"192":{},"206":{},"216":{},"217":{},"219":{},"267":{},"268":{},"280":{},"281":{},"288":{},"289":{}},"component":{}}],["path=./data",{"_index":388,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pathvariable(\"bikeid",{"_index":7904,"title":{},"name":{},"text":{"280":{}},"component":{}}],["pattern",{"_index":809,"title":{},"name":{},"text":{"5":{},"8":{},"13":{},"30":{},"31":{},"49":{},"51":{},"61":{},"63":{},"66":{},"67":{},"102":{},"121":{},"170":{},"216":{},"217":{},"219":{},"280":{},"281":{},"285":{},"287":{}},"component":{}}],["paus",{"_index":6198,"title":{"148-6":{},"151-14":{},"260-2":{}},"name":{},"text":{"144":{},"148":{},"151":{},"178":{},"180":{},"246":{},"260":{},"274":{}},"component":{}}],["pause_event_processor",{"_index":6683,"title":{},"name":{},"text":{"171":{}},"component":{}}],["pauseeventprocessor",{"_index":6209,"title":{},"name":{},"text":{"144":{}},"component":{}}],["pauseeventprocessor(eventprocessoridentifi",{"_index":6967,"title":{},"name":{},"text":{"180":{}},"component":{}}],["pay",{"_index":725,"title":{"5-6":{}},"name":{},"text":{"39":{}},"component":{}}],["payload",{"_index":741,"title":{"5-14":{}},"name":{},"text":{"5":{},"6":{},"27":{},"31":{},"34":{},"38":{},"39":{},"42":{},"43":{},"44":{},"47":{},"49":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"63":{},"64":{},"72":{},"74":{},"79":{},"84":{},"89":{},"101":{},"115":{},"121":{},"132":{},"143":{},"194":{},"195":{},"202":{},"203":{},"213":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{}},"component":{}}],["payload_typ",{"_index":5971,"title":{},"name":{},"text":{"132":{}},"component":{}}],["payloadclass",{"_index":3110,"title":{},"name":{},"text":{"59":{}},"component":{}}],["payloaddata",{"_index":7180,"title":{},"name":{},"text":{"194":{},"195":{}},"component":{}}],["payloadlessdeadlin",{"_index":2313,"title":{},"name":{},"text":{"39":{}},"component":{}}],["payloadrevis",{"_index":7179,"title":{},"name":{},"text":{"194":{}},"component":{}}],["payloadtyp",{"_index":1383,"title":{},"name":{},"text":{"27":{},"51":{},"57":{},"66":{},"193":{},"194":{},"202":{},"203":{},"211":{},"214":{},"216":{},"219":{}},"component":{}}],["payloadtypemessagemonitorwrapp",{"_index":2910,"title":{},"name":{},"text":{"57":{}},"component":{}}],["payloadtypespanattributesprovid",{"_index":3033,"title":{},"name":{},"text":{"59":{}},"component":{}}],["payment",{"_index":888,"title":{},"name":{},"text":{"6":{},"16":{},"40":{},"147":{},"250":{},"270":{},"273":{},"274":{},"276":{},"277":{}},"component":{}}],["payment/pom.xml",{"_index":7675,"title":{},"name":{},"text":{"270":{},"276":{}},"component":{}}],["payment/src/main/java/resources/application.properti",{"_index":7753,"title":{},"name":{},"text":{"276":{}},"component":{}}],["paymentconfirmedev",{"_index":7716,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentpreparedev",{"_index":7717,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentprocess",{"_index":921,"title":{},"name":{},"text":{"6":{}},"component":{}}],["paymentrejectedev",{"_index":7718,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentsaga",{"_index":7719,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentstatusproject",{"_index":7720,"title":{},"name":{},"text":{"274":{}},"component":{}}],["pckuyer",{"_index":3304,"title":{},"name":{},"text":{"66":{}},"component":{}}],["peak",{"_index":7645,"title":{},"name":{},"text":{"264":{}},"component":{}}],["peer",{"_index":6902,"title":{},"name":{},"text":{"179":{}},"component":{}}],["pem",{"_index":6791,"title":{},"name":{},"text":{"176":{}},"component":{}}],["pend",{"_index":6938,"title":{},"name":{},"text":{"179":{},"244":{},"262":{}},"component":{}}],["pendingsinc",{"_index":6561,"title":{},"name":{},"text":{"166":{},"169":{},"192":{}},"component":{}}],["peopl",{"_index":3528,"title":{},"name":{},"text":{"66":{}},"component":{}}],["pepperbob",{"_index":4315,"title":{},"name":{},"text":{"67":{}},"component":{}}],["per",{"_index":274,"title":{},"name":{},"text":{"3":{},"32":{},"33":{},"34":{},"38":{},"43":{},"57":{},"58":{},"64":{},"66":{},"67":{},"77":{},"87":{},"88":{},"115":{},"121":{},"127":{},"141":{},"147":{},"148":{},"151":{},"156":{},"163":{},"169":{},"176":{},"178":{},"179":{},"185":{},"186":{},"187":{},"191":{},"192":{},"239":{},"242":{},"250":{},"260":{},"261":{},"262":{},"274":{}},"component":{}}],["percent",{"_index":7729,"title":{},"name":{},"text":{"274":{}},"component":{}}],["percentag",{"_index":6847,"title":{},"name":{},"text":{"179":{},"211":{},"242":{},"246":{},"261":{},"262":{},"270":{},"274":{},"277":{}},"component":{}}],["percentil",{"_index":7591,"title":{},"name":{},"text":{"245":{},"261":{},"273":{},"274":{}},"component":{}}],["perfect",{"_index":1408,"title":{},"name":{},"text":{"29":{},"86":{}},"component":{}}],["perfectli",{"_index":5537,"title":{},"name":{},"text":{"100":{},"107":{}},"component":{}}],["perform",{"_index":122,"title":{"125":{},"164":{}},"name":{"125":{}},"text":{"2":{},"3":{},"5":{},"6":{},"12":{},"23":{},"24":{},"28":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"58":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"78":{},"79":{},"82":{},"84":{},"87":{},"88":{},"89":{},"101":{},"102":{},"106":{},"111":{},"127":{},"137":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"156":{},"163":{},"164":{},"168":{},"169":{},"179":{},"181":{},"191":{},"192":{},"195":{},"202":{},"208":{},"215":{},"220":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"249":{},"260":{},"261":{},"263":{},"264":{},"266":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"277":{},"280":{},"289":{}},"component":{}}],["perhap",{"_index":2085,"title":{},"name":{},"text":{"38":{},"44":{}},"component":{}}],["period",{"_index":824,"title":{},"name":{},"text":{"5":{},"31":{},"38":{},"67":{},"76":{},"88":{},"89":{},"138":{},"140":{},"151":{},"185":{},"250":{},"260":{},"273":{},"274":{}},"component":{}}],["periodsecond",{"_index":623,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["perman",{"_index":6051,"title":{},"name":{},"text":{"140":{},"145":{},"151":{},"178":{}},"component":{}}],["permiss",{"_index":6024,"title":{},"name":{},"text":{"140":{},"141":{},"143":{},"199":{}},"component":{}}],["permit",{"_index":4276,"title":{},"name":{},"text":{"67":{},"163":{},"179":{}},"component":{}}],["persist",{"_index":654,"title":{"32-2":{},"89-8":{},"140-2":{}},"name":{},"text":{"3":{},"18":{},"19":{},"32":{},"36":{},"40":{},"46":{},"53":{},"66":{},"67":{},"69":{},"71":{},"86":{},"88":{},"89":{},"119":{},"140":{},"141":{},"145":{},"148":{},"179":{},"191":{},"280":{}},"component":{}}],["persistence.xml",{"_index":1836,"title":{},"name":{},"text":{"33":{}},"component":{}}],["persistencecontext(unitnam",{"_index":2545,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistenceexceptionresolv",{"_index":2536,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistenceexceptionresolver(persistenceexceptionresolv",{"_index":2564,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistenceexceptiontransl",{"_index":2537,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistentstreammessagesourc",{"_index":5396,"title":{},"name":{},"text":{"89":{}},"component":{}}],["persistentstreammessagesourcedefinit",{"_index":5405,"title":{},"name":{},"text":{"89":{}},"component":{}}],["persistentstreamproperti",{"_index":5397,"title":{},"name":{},"text":{"89":{}},"component":{}}],["persistentstreamscheduledexecutorbuild",{"_index":3925,"title":{},"name":{},"text":{"67":{}},"component":{}}],["person",{"_index":4166,"title":{},"name":{},"text":{"67":{}},"component":{}}],["perspect",{"_index":1669,"title":{},"name":{},"text":{"31":{},"67":{},"88":{},"99":{},"202":{}},"component":{}}],["phase",{"_index":139,"title":{"72-3":{},"72-4":{},"72-5":{}},"name":{},"text":{"2":{},"51":{},"53":{},"66":{},"67":{},"72":{},"74":{},"176":{},"285":{}},"component":{}}],["phase’",{"_index":4587,"title":{},"name":{},"text":{"72":{}},"component":{}}],["physic",{"_index":4506,"title":{},"name":{},"text":{"69":{},"71":{},"117":{},"147":{},"151":{},"274":{}},"component":{}}],["pick",{"_index":1637,"title":{},"name":{},"text":{"31":{},"59":{},"66":{},"67":{},"81":{},"88":{},"115":{},"150":{},"154":{},"177":{},"221":{}},"component":{}}],["pictur",{"_index":7594,"title":{},"name":{},"text":{"247":{},"281":{}},"component":{}}],["pid",{"_index":270,"title":{},"name":{},"text":{"3":{},"179":{},"191":{},"284":{}},"component":{}}],["piec",{"_index":2168,"title":{},"name":{},"text":{"38":{},"67":{},"279":{}},"component":{}}],["ping",{"_index":7031,"title":{},"name":{},"text":{"185":{}},"component":{}}],["pipe",{"_index":7178,"title":{},"name":{},"text":{"194":{}},"component":{}}],["pipelin",{"_index":6290,"title":{"196":{}},"name":{"196":{}},"text":{"145":{},"194":{},"196":{},"198":{}},"component":{}}],["pivotal’",{"_index":5792,"title":{},"name":{},"text":{"120":{}},"component":{}}],["pkcs12",{"_index":6794,"title":{},"name":{},"text":{"176":{},"179":{},"206":{}},"component":{}}],["place",{"_index":276,"title":{},"name":{},"text":{"3":{},"4":{},"6":{},"16":{},"27":{},"30":{},"35":{},"36":{},"38":{},"44":{},"50":{},"51":{},"58":{},"59":{},"66":{},"67":{},"72":{},"77":{},"82":{},"84":{},"87":{},"88":{},"102":{},"104":{},"121":{},"127":{},"140":{},"151":{},"156":{},"161":{},"170":{},"179":{},"191":{},"221":{},"224":{},"273":{},"274":{},"279":{},"281":{}},"component":{}}],["plain",{"_index":759,"title":{},"name":{},"text":{"5":{},"31":{},"69":{},"71":{},"121":{},"130":{},"237":{},"276":{}},"component":{}}],["plaintext",{"_index":5613,"title":{},"name":{},"text":{"104":{}},"component":{}}],["plan",{"_index":159,"title":{"5-12":{},"232-2":{}},"name":{},"text":{"2":{},"3":{},"5":{},"28":{},"115":{},"155":{},"191":{},"199":{},"232":{},"249":{},"250":{},"255":{},"259":{},"260":{},"262":{},"263":{},"269":{},"273":{},"274":{},"278":{}},"component":{}}],["plan(",{"_index":7617,"title":{},"name":{},"text":{"255":{}},"component":{}}],["platform",{"_index":1395,"title":{},"name":{},"text":{"28":{},"30":{},"55":{},"79":{},"163":{},"206":{},"227":{},"235":{},"236":{},"255":{}},"component":{}}],["platform=fully.qualified.classname.byteaenforcedpostgressqldialect",{"_index":4862,"title":{},"name":{},"text":{"79":{}},"component":{}}],["platformtransactionmanag",{"_index":2371,"title":{},"name":{},"text":{"40":{},"87":{}},"component":{}}],["play",{"_index":1530,"title":{},"name":{},"text":{"30":{},"36":{},"156":{},"192":{},"234":{},"265":{},"274":{},"280":{},"283":{}},"component":{}}],["playbook",{"_index":989,"title":{"287":{},"8-1":{},"13-1":{}},"name":{},"text":{"7":{},"8":{},"13":{},"287":{}},"component":{"286":{},"287":{},"288":{},"289":{},"290":{}}}],["pleas",{"_index":790,"title":{},"name":{},"text":{"5":{},"15":{},"16":{},"29":{},"30":{},"33":{},"46":{},"59":{},"67":{},"77":{},"79":{},"88":{},"93":{},"94":{},"95":{},"98":{},"99":{},"102":{},"103":{},"109":{},"112":{},"119":{},"122":{},"124":{},"126":{},"129":{},"131":{},"134":{},"145":{},"168":{},"189":{},"192":{},"199":{},"202":{},"203":{},"206":{},"208":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"265":{},"277":{}},"component":{}}],["plu",{"_index":4393,"title":{},"name":{},"text":{"67":{},"255":{}},"component":{}}],["plugin",{"_index":279,"title":{"148":{},"143-5":{},"148-1":{},"148-2":{},"148-3":{},"148-4":{},"148-5":{},"148-6":{},"148-7":{},"148-8":{},"178-11":{}},"name":{"148":{}},"text":{"3":{},"30":{},"141":{},"143":{},"146":{},"148":{},"168":{},"169":{},"170":{},"173":{},"178":{},"179":{},"191":{},"283":{}},"component":{}}],["plugin:0.5.1.releas",{"_index":1547,"title":{},"name":{},"text":{"30":{}},"component":{}}],["plugin:4.40.0:run",{"_index":1842,"title":{},"name":{},"text":{"33":{}},"component":{}}],["pluginpropertydefinition.newbuilder(\"mypropid1",{"_index":6391,"title":{},"name":{},"text":{"148":{}},"component":{}}],["pluginpropertydefinition.newbuilder(\"mypropid2",{"_index":6393,"title":{},"name":{},"text":{"148":{}},"component":{}}],["plugins/bundl",{"_index":6374,"title":{},"name":{},"text":{"148":{},"179":{}},"component":{}}],["plugins/cach",{"_index":6375,"title":{},"name":{},"text":{"148":{},"179":{}},"component":{}}],["point",{"_index":332,"title":{"63-2":{}},"name":{},"text":{"3":{},"34":{},"38":{},"42":{},"46":{},"51":{},"59":{},"60":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"79":{},"82":{},"84":{},"85":{},"88":{},"89":{},"99":{},"142":{},"145":{},"151":{},"154":{},"163":{},"178":{},"184":{},"185":{},"191":{},"192":{},"201":{},"260":{},"262":{},"265":{},"268":{},"270":{},"272":{},"274":{},"277":{},"279":{},"281":{}},"component":{}}],["pointer",{"_index":6118,"title":{},"name":{},"text":{"142":{}},"component":{}}],["pointless",{"_index":5044,"title":{},"name":{},"text":{"86":{}},"component":{}}],["pois",{"_index":6047,"title":{},"name":{},"text":{"140":{}},"component":{}}],["pojo",{"_index":2663,"title":{},"name":{},"text":{"49":{},"64":{}},"component":{}}],["polici",{"_index":1055,"title":{"35-4":{},"86-8":{}},"name":{},"text":{"14":{},"35":{},"38":{},"51":{},"66":{},"67":{},"86":{},"87":{},"88":{},"89":{},"101":{},"115":{},"179":{},"192":{}},"component":{}}],["policy=mysequencingpolici",{"_index":5254,"title":{},"name":{},"text":{"88":{}},"component":{}}],["poll",{"_index":2363,"title":{},"name":{},"text":{"40":{},"88":{},"99":{},"104":{},"206":{}},"component":{}}],["polltimeout(timeoutmilli",{"_index":5491,"title":{},"name":{},"text":{"99":{}},"component":{}}],["polymorph",{"_index":1688,"title":{"81":{}},"name":{"81":{}},"text":{"31":{},"66":{},"67":{},"81":{}},"component":{}}],["pom",{"_index":1542,"title":{},"name":{},"text":{"30":{},"38":{},"67":{},"278":{},"279":{}},"component":{}}],["pom.xml",{"_index":3720,"title":{},"name":{},"text":{"66":{},"270":{},"276":{},"278":{},"279":{},"284":{}},"component":{}}],["pool",{"_index":2158,"title":{"88-3":{},"88-19":{},"88-20":{}},"name":{},"text":{"38":{},"67":{},"88":{},"99":{},"102":{},"130":{},"140":{},"170":{},"260":{}},"component":{}}],["pooledstreamingeventprocessor",{"_index":3276,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["pooledstreamingprocessorconfigur",{"_index":5153,"title":{},"name":{},"text":{"88":{}},"component":{}}],["pooledstreamingprocessorconfigurermodul",{"_index":5150,"title":{},"name":{},"text":{"88":{}},"component":{}}],["poor",{"_index":7585,"title":{},"name":{},"text":{"244":{},"264":{},"271":{},"274":{}},"component":{}}],["poorli",{"_index":7690,"title":{},"name":{},"text":{"273":{}},"component":{}}],["pop",{"_index":6506,"title":{},"name":{},"text":{"156":{}},"component":{}}],["popul",{"_index":2460,"title":{},"name":{},"text":{"44":{},"50":{},"56":{},"67":{},"281":{}},"component":{}}],["popular",{"_index":1006,"title":{},"name":{},"text":{"8":{},"13":{},"100":{},"203":{}},"component":{}}],["popup",{"_index":7996,"title":{},"name":{},"text":{"283":{}},"component":{}}],["port",{"_index":343,"title":{},"name":{},"text":{"3":{},"66":{},"96":{},"143":{},"149":{},"154":{},"161":{},"166":{},"168":{},"170":{},"174":{},"176":{},"178":{},"179":{},"181":{},"188":{},"191":{},"192":{},"199":{},"201":{},"203":{},"206":{},"208":{},"284":{}},"component":{}}],["port=7800",{"_index":5461,"title":{},"name":{},"text":{"96":{}},"component":{}}],["port=localhost:8024",{"_index":7238,"title":{},"name":{},"text":{"199":{}},"component":{}}],["portend",{"_index":5788,"title":{},"name":{},"text":{"120":{}},"component":{}}],["portion",{"_index":2226,"title":{},"name":{},"text":{"38":{}},"component":{}}],["portray",{"_index":4756,"title":{},"name":{},"text":{"77":{}},"component":{}}],["port}/v1/contexts/finance/commands/{command",{"_index":7451,"title":{},"name":{},"text":{"209":{}},"component":{}}],["port}/v1/contexts/orders/handlers/command",{"_index":7449,"title":{},"name":{},"text":{"209":{}},"component":{}}],["pose",{"_index":1682,"title":{},"name":{},"text":{"31":{},"77":{}},"component":{}}],["posibl",{"_index":7944,"title":{},"name":{},"text":{"280":{}},"component":{}}],["posit",{"_index":845,"title":{},"name":{},"text":{"5":{},"44":{},"58":{},"66":{},"67":{},"87":{},"88":{},"121":{},"142":{},"144":{},"179":{},"244":{},"260":{},"274":{}},"component":{}}],["possibl",{"_index":1025,"title":{},"name":{},"text":{"14":{},"15":{},"16":{},"17":{},"18":{},"22":{},"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"41":{},"42":{},"46":{},"48":{},"50":{},"51":{},"52":{},"53":{},"58":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"82":{},"84":{},"86":{},"87":{},"88":{},"99":{},"100":{},"102":{},"106":{},"114":{},"132":{},"140":{},"141":{},"144":{},"145":{},"147":{},"150":{},"151":{},"154":{},"156":{},"163":{},"169":{},"177":{},"178":{},"179":{},"206":{},"221":{},"226":{},"244":{},"250":{},"255":{},"257":{},"260":{},"261":{},"262":{},"265":{},"281":{},"289":{}},"component":{}}],["post",{"_index":3583,"title":{},"name":{},"text":{"66":{},"130":{},"142":{},"143":{},"202":{},"203":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"281":{},"283":{}},"component":{}}],["postconstruct",{"_index":5668,"title":{},"name":{},"text":{"111":{},"121":{}},"component":{}}],["postegresql",{"_index":1440,"title":{},"name":{},"text":{"29":{}},"component":{}}],["postgr",{"_index":3722,"title":{},"name":{},"text":{"66":{}},"component":{}}],["postgres/mysql",{"_index":6523,"title":{},"name":{},"text":{"161":{}},"component":{}}],["postgresql",{"_index":1403,"title":{"29-1":{},"79-3":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["postgresqldialect",{"_index":4842,"title":{},"name":{},"text":{"79":{}},"component":{}}],["postgressagasqlschema",{"_index":4490,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["postgrestokentablefactori",{"_index":5213,"title":{},"name":{},"text":{"88":{}},"component":{}}],["postman",{"_index":7266,"title":{"202":{},"203":{},"202-2":{},"203-3":{},"203-4":{},"203-5":{}},"name":{"202":{},"203":{}},"text":{"202":{},"203":{}},"component":{}}],["postman’",{"_index":7267,"title":{},"name":{},"text":{"202":{},"203":{}},"component":{}}],["postmap",{"_index":5806,"title":{},"name":{},"text":{"121":{},"281":{}},"component":{}}],["postmapping(\"/bik",{"_index":7981,"title":{},"name":{},"text":{"281":{}},"component":{}}],["postmapping(\"/reservebik",{"_index":8069,"title":{},"name":{},"text":{"289":{}},"component":{}}],["postmapping(path",{"_index":5745,"title":{},"name":{},"text":{"115":{}},"component":{}}],["postpon",{"_index":2883,"title":{},"name":{},"text":{"53":{}},"component":{}}],["potenti",{"_index":1574,"title":{},"name":{},"text":{"31":{},"46":{},"63":{},"67":{},"77":{},"81":{},"83":{},"94":{},"141":{},"143":{},"163":{},"164":{},"215":{},"242":{},"243":{},"261":{},"266":{},"274":{},"289":{}},"component":{}}],["pottenti",{"_index":7655,"title":{},"name":{},"text":{"265":{}},"component":{}}],["power",{"_index":2179,"title":{},"name":{},"text":{"38":{},"40":{},"140":{},"192":{},"200":{},"265":{},"269":{},"272":{},"274":{},"277":{}},"component":{}}],["pr",{"_index":3459,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["practic",{"_index":1016,"title":{},"name":{},"text":{"8":{},"13":{},"25":{},"27":{},"34":{},"37":{},"38":{},"49":{},"53":{},"62":{},"66":{},"72":{},"88":{},"140":{},"174":{},"192":{},"234":{}},"component":{}}],["pre",{"_index":1443,"title":{"144-6":{},"161-1":{},"162-1":{},"199-3":{}},"name":{},"text":{"29":{},"38":{},"69":{},"88":{},"111":{},"115":{},"141":{},"144":{},"147":{},"156":{},"163":{},"206":{},"234":{}},"component":{}}],["precaut",{"_index":1969,"title":{},"name":{},"text":{"35":{}},"component":{}}],["preced",{"_index":1078,"title":{},"name":{},"text":{"15":{},"67":{}},"component":{}}],["precis",{"_index":4921,"title":{},"name":{},"text":{"83":{},"88":{}},"component":{}}],["predefin",{"_index":2442,"title":{},"name":{},"text":{"44":{},"50":{},"104":{},"154":{},"177":{},"179":{}},"component":{}}],["predic",{"_index":2607,"title":{},"name":{},"text":{"46":{},"63":{},"72":{},"83":{},"86":{},"87":{},"108":{},"115":{},"127":{}},"component":{}}],["predica",{"_index":1432,"title":{},"name":{},"text":{"29":{},"31":{},"67":{},"79":{},"87":{},"89":{}},"component":{}}],["predict",{"_index":4688,"title":{},"name":{},"text":{"74":{},"140":{}},"component":{}}],["preemptiv",{"_index":4353,"title":{},"name":{},"text":{"67":{}},"component":{}}],["prefer",{"_index":708,"title":{},"name":{},"text":{"4":{},"5":{},"15":{},"30":{},"31":{},"33":{},"35":{},"49":{},"51":{},"67":{},"72":{},"77":{},"87":{},"94":{},"179":{},"200":{},"201":{},"208":{},"232":{},"233":{},"247":{},"263":{},"267":{},"274":{},"276":{},"279":{},"281":{}},"component":{}}],["prefetch",{"_index":5814,"title":{},"name":{},"text":{"121":{},"163":{},"179":{}},"component":{}}],["prefetch}*5",{"_index":6537,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["prefix",{"_index":3565,"title":{},"name":{},"text":{"66":{},"96":{},"102":{},"104":{},"179":{},"199":{}},"component":{}}],["premium",{"_index":739,"title":{"5-12":{}},"name":{},"text":{"5":{},"260":{},"274":{}},"component":{}}],["prepar",{"_index":1564,"title":{"276":{}},"name":{"276":{}},"text":{"31":{},"46":{},"88":{},"145":{},"199":{},"238":{},"241":{},"263":{},"267":{},"268":{},"276":{},"277":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["preparepaymentcommand",{"_index":7711,"title":{},"name":{},"text":{"274":{}},"component":{}}],["prepareshippingcommand",{"_index":4443,"title":{},"name":{},"text":{"68":{}},"component":{}}],["preprocess",{"_index":7726,"title":{},"name":{},"text":{"274":{}},"component":{}}],["prerequisit",{"_index":7219,"title":{"201-1":{},"202-1":{},"203-1":{},"221-1":{}},"name":{},"text":{"199":{},"269":{}},"component":{}}],["prescrib",{"_index":2017,"title":{},"name":{},"text":{"36":{},"38":{},"72":{}},"component":{}}],["presenc",{"_index":217,"title":{},"name":{},"text":{"3":{},"25":{},"50":{},"138":{},"140":{},"191":{},"192":{}},"component":{}}],["present",{"_index":758,"title":{},"name":{},"text":{"5":{},"17":{},"30":{},"35":{},"36":{},"38":{},"46":{},"50":{},"51":{},"52":{},"59":{},"63":{},"67":{},"76":{},"77":{},"81":{},"84":{},"87":{},"88":{},"127":{},"138":{},"142":{},"154":{},"161":{},"162":{},"177":{},"206":{},"232":{},"233":{},"237":{},"263":{},"264":{},"267":{},"271":{},"276":{},"280":{}},"component":{}}],["preserv",{"_index":6351,"title":{},"name":{},"text":{"147":{},"156":{},"178":{}},"component":{}}],["pressur",{"_index":3136,"title":{"63-6":{}},"name":{},"text":{"63":{}},"component":{}}],["pretti",{"_index":376,"title":{},"name":{},"text":{"3":{},"40":{},"191":{}},"component":{}}],["prev",{"_index":6300,"title":{},"name":{},"text":{"145":{}},"component":{}}],["prevent",{"_index":1111,"title":{"31-8":{}},"name":{},"text":{"15":{},"16":{},"38":{},"40":{},"46":{},"51":{},"52":{},"59":{},"66":{},"69":{},"72":{},"77":{},"86":{},"88":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"156":{},"157":{},"163":{},"221":{},"257":{}},"component":{}}],["preview",{"_index":6006,"title":{},"name":{},"text":{"140":{},"255":{}},"component":{}}],["previou",{"_index":691,"title":{},"name":{},"text":{"4":{},"42":{},"44":{},"46":{},"49":{},"56":{},"58":{},"66":{},"69":{},"72":{},"74":{},"87":{},"88":{},"101":{},"121":{},"140":{},"142":{},"145":{},"147":{},"154":{},"166":{},"177":{},"202":{},"203":{},"215":{},"277":{},"280":{},"281":{},"285":{}},"component":{}}],["previous",{"_index":214,"title":{},"name":{},"text":{"3":{},"39":{},"63":{},"67":{},"138":{},"140":{},"151":{},"191":{},"192":{},"201":{},"281":{},"289":{}},"component":{}}],["price",{"_index":747,"title":{},"name":{},"text":{"5":{},"28":{},"249":{},"250":{},"259":{}},"component":{}}],["primari",{"_index":885,"title":{},"name":{},"text":{"6":{},"128":{},"140":{},"142":{},"147":{},"151":{},"154":{},"156":{},"157":{},"166":{},"169":{},"177":{},"178":{},"179":{},"192":{},"221":{},"280":{}},"component":{}}],["primarili",{"_index":2672,"title":{},"name":{},"text":{"49":{},"140":{},"162":{}},"component":{}}],["primary/messaging_only/active_backup/passive_backup/secondari",{"_index":6813,"title":{},"name":{},"text":{"178":{}},"component":{}}],["primit",{"_index":2631,"title":{},"name":{},"text":{"47":{},"64":{},"66":{}},"component":{}}],["principl",{"_index":4990,"title":{"194":{}},"name":{},"text":{"86":{},"281":{}},"component":{}}],["print",{"_index":3143,"title":{},"name":{},"text":{"63":{},"283":{}},"component":{}}],["println",{"_index":3204,"title":{},"name":{},"text":{"63":{}},"component":{}}],["prior",{"_index":2096,"title":{},"name":{},"text":{"38":{},"51":{},"66":{},"67":{},"72":{},"77":{},"85":{},"140":{},"144":{},"156":{},"289":{}},"component":{}}],["priorit",{"_index":5372,"title":{},"name":{},"text":{"88":{}},"component":{}}],["prioriti",{"_index":506,"title":{},"name":{},"text":{"3":{},"66":{},"67":{},"87":{},"120":{},"191":{},"211":{},"216":{},"244":{}},"component":{}}],["prioritizedrunn",{"_index":3578,"title":{},"name":{},"text":{"66":{}},"component":{}}],["prioritya",{"_index":5365,"title":{},"name":{},"text":{"88":{}},"component":{}}],["prioritytask",{"_index":3579,"title":{},"name":{},"text":{"66":{}},"component":{}}],["pristin",{"_index":6081,"title":{},"name":{},"text":{"141":{}},"component":{}}],["privaci",{"_index":861,"title":{},"name":{},"text":{"5":{}},"component":{}}],["privat",{"_index":1154,"title":{},"name":{},"text":{"17":{},"20":{},"22":{},"24":{},"34":{},"35":{},"36":{},"42":{},"44":{},"46":{},"50":{},"51":{},"57":{},"64":{},"68":{},"72":{},"82":{},"84":{},"85":{},"86":{},"88":{},"105":{},"108":{},"115":{},"121":{},"144":{},"148":{},"176":{},"179":{},"280":{},"281":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["private/protect",{"_index":4169,"title":{},"name":{},"text":{"67":{}},"component":{}}],["privileg",{"_index":7553,"title":{},"name":{},"text":{"231":{}},"component":{}}],["pro",{"_index":20,"title":{"97":{},"98":{},"30-21":{},"30-22":{}},"name":{},"text":{"1":{},"2":{},"30":{},"39":{},"88":{},"95":{},"97":{},"98":{}},"component":{"97":{},"98":{}}}],["probabl",{"_index":1657,"title":{},"name":{},"text":{"31":{},"46":{},"79":{},"84":{},"97":{},"285":{}},"component":{}}],["probe",{"_index":585,"title":{},"name":{},"text":{"3":{},"141":{},"185":{},"191":{}},"component":{}}],["problem",{"_index":41,"title":{"2-4":{},"286-1":{},"288-1":{},"289-1":{},"290-1":{}},"name":{},"text":{"5":{},"20":{},"29":{},"31":{},"53":{},"55":{},"58":{},"66":{},"67":{},"77":{},"86":{},"88":{},"141":{},"143":{},"145":{},"151":{},"185":{},"220":{},"244":{},"260":{},"261":{},"262":{},"264":{},"265":{},"266":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"277":{},"287":{}},"component":{}}],["problemat",{"_index":1414,"title":{},"name":{},"text":{"29":{},"31":{},"79":{},"87":{}},"component":{}}],["proce",{"_index":2311,"title":{},"name":{},"text":{"39":{},"40":{},"51":{},"87":{},"88":{},"202":{},"263":{},"272":{}},"component":{}}],["procedur",{"_index":718,"title":{},"name":{},"text":{"4":{},"53":{},"69":{},"71":{},"142":{},"145":{}},"component":{}}],["proceed",{"_index":7217,"title":{},"name":{},"text":{"199":{}},"component":{}}],["process",{"_index":211,"title":{"75":{},"76":{},"248":{},"5-13":{},"5-14":{},"15-2":{},"46-12":{},"86-6":{},"87-5":{},"88-15":{},"88-16":{},"88-21":{},"143-1":{},"154-2":{},"161-1":{},"161-2":{},"162-1":{},"162-2":{},"281-2":{},"289-5":{}},"name":{"75":{},"76":{},"165":{},"248":{}},"text":{"3":{},"5":{},"6":{},"14":{},"15":{},"16":{},"17":{},"23":{},"29":{},"30":{},"31":{},"34":{},"35":{},"38":{},"43":{},"44":{},"47":{},"49":{},"51":{},"52":{},"53":{},"57":{},"58":{},"59":{},"60":{},"61":{},"66":{},"67":{},"69":{},"71":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"101":{},"102":{},"104":{},"106":{},"110":{},"114":{},"115":{},"120":{},"124":{},"138":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"157":{},"162":{},"163":{},"165":{},"168":{},"179":{},"185":{},"186":{},"187":{},"191":{},"192":{},"194":{},"199":{},"202":{},"206":{},"208":{},"211":{},"216":{},"217":{},"219":{},"237":{},"239":{},"242":{},"245":{},"246":{},"247":{},"257":{},"260":{},"261":{},"264":{},"265":{},"268":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["process(pred",{"_index":5009,"title":{},"name":{},"text":{"86":{}},"component":{}}],["process(sequencefilt",{"_index":5743,"title":{},"name":{},"text":{"115":{}},"component":{}}],["processani",{"_index":1170,"title":{},"name":{},"text":{"17":{},"86":{}},"component":{}}],["processdeadlettercompon",{"_index":1153,"title":{},"name":{},"text":{"17":{}},"component":{}}],["processdeadlettercomponent(eventprocessingconfigur",{"_index":1155,"title":{},"name":{},"text":{"17":{}},"component":{}}],["processdeadlettersequencefortenant(str",{"_index":5739,"title":{},"name":{},"text":{"115":{}},"component":{}}],["processing.adoc#_increasing_and_decreasing_segment_count",{"_index":7708,"title":{},"name":{},"text":{"274":{}},"component":{}}],["processingconfigur",{"_index":1117,"title":{},"name":{},"text":{"15":{},"86":{},"87":{},"88":{},"89":{}},"component":{}}],["processingconfiguration.eventprocessor(processornam",{"_index":5305,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerdeadletterqueu",{"_index":1118,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["processingconfigurer.registerdeadletterqueueprovid",{"_index":4996,"title":{},"name":{},"text":{"86":{}},"component":{}}],["processingconfigurer.registerdefaultlistenerinvocationerrorhandl",{"_index":5081,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processingconfigurer.registerdefaultsequencingpolicy(config",{"_index":5250,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessor",{"_index":5376,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessor(\"mi",{"_index":5148,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessorconfigur",{"_index":5191,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessorconfiguration(\"mi",{"_index":5188,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessorconfiguration(psepconfig",{"_index":5155,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registersubscribingeventprocessor",{"_index":5404,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processingconfigurer.registersubscribingeventprocessor(\"mi",{"_index":5387,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processingconfigurer.registertokenstore(conf",{"_index":5224,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertokenstore(config",{"_index":5218,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertokenstore(processornam",{"_index":5220,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessor",{"_index":5374,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessorconfigur",{"_index":5181,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessorconfiguration(\"mi",{"_index":5178,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessorconfiguration(config",{"_index":5138,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.usingpooledstreamingeventprocessor",{"_index":5142,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.usingsubscribingeventprocessor",{"_index":5383,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processingconfigurer.usingtrackingeventprocessor",{"_index":5123,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processinggroup",{"_index":1097,"title":{},"name":{},"text":{"15":{},"17":{},"67":{},"86":{},"87":{},"102":{},"111":{},"115":{}},"component":{}}],["processinggroup(\"card",{"_index":5348,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processinggroup(\"mi",{"_index":1119,"title":{},"name":{},"text":{"15":{},"86":{},"87":{},"110":{}},"component":{}}],["processinggroup(\"modul",{"_index":5060,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processinggroup(processinggroup",{"_index":1099,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["processinggrouperrorhandlingconfigurermodul",{"_index":5079,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processingstatu",{"_index":2972,"title":{},"name":{},"text":{"58":{}},"component":{}}],["processor",{"_index":843,"title":{"58":{},"87":{},"88":{},"89":{},"144":{},"246":{},"260":{},"15-1":{},"59-30":{},"59-31":{},"59-32":{},"87-1":{},"87-3":{},"87-6":{},"87-8":{},"87-9":{},"88-2":{},"88-3":{},"88-18":{},"88-19":{},"115-13":{},"144-1":{},"180-1":{},"246-1":{},"246-2":{},"260-1":{},"260-2":{},"261-3":{},"273-3":{},"274-8":{},"274-13":{},"274-14":{},"274-15":{},"274-20":{}},"name":{"58":{},"144":{},"246":{}},"text":{"5":{},"15":{},"16":{},"17":{},"28":{},"29":{},"32":{},"38":{},"44":{},"45":{},"46":{},"51":{},"55":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"71":{},"76":{},"79":{},"86":{},"87":{},"88":{},"89":{},"92":{},"99":{},"102":{},"104":{},"111":{},"114":{},"115":{},"140":{},"141":{},"143":{},"144":{},"147":{},"151":{},"161":{},"165":{},"169":{},"179":{},"180":{},"187":{},"206":{},"215":{},"239":{},"244":{},"245":{},"246":{},"249":{},"250":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"270":{},"273":{},"274":{},"277":{},"286":{}},"component":{}}],["processor.automat",{"_index":5296,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.dlq.en",{"_index":5005,"title":{},"name":{},"text":{"86":{}},"component":{}}],["processor.initi",{"_index":5263,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.initialsegmentcount=32",{"_index":5237,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.load",{"_index":5299,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.mode=pool",{"_index":5151,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.mode=subscrib",{"_index":5390,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processor.mode=track",{"_index":5133,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.sequenc",{"_index":5253,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.source=eventbu",{"_index":5391,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processor.source=eventstor",{"_index":5134,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.source=mi",{"_index":5406,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processor.source=multistreamablemessagesourc",{"_index":5377,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.thread",{"_index":5261,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor[{processor",{"_index":5165,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processordefaultconfigurermodul",{"_index":5124,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["processorerrorhandlingconfigurermodul",{"_index":5090,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processornam",{"_index":2955,"title":{},"name":{},"text":{"57":{},"76":{},"88":{},"99":{},"115":{}},"component":{}}],["processorname.equals(\"extern",{"_index":5772,"title":{},"name":{},"text":{"115":{}},"component":{}}],["processornotificationr",{"_index":4370,"title":{},"name":{},"text":{"67":{}},"component":{}}],["processortype}[${processorname}](${eventclass",{"_index":3075,"title":{},"name":{},"text":{"59":{}},"component":{}}],["processortype}[${processorname}].process(${eventclass",{"_index":3076,"title":{},"name":{},"text":{"59":{}},"component":{}}],["processor’",{"_index":3814,"title":{},"name":{},"text":{"66":{},"87":{},"88":{},"246":{},"260":{},"273":{},"274":{}},"component":{}}],["prod",{"_index":1209,"title":{},"name":{},"text":{"18":{}},"component":{}}],["produc",{"_index":872,"title":{"104-3":{}},"name":{},"text":{"6":{},"31":{},"38":{},"46":{},"50":{},"59":{},"63":{},"67":{},"77":{},"101":{},"102":{},"104":{},"115":{},"151":{},"163":{},"178":{},"242":{},"270":{},"273":{},"274":{},"280":{},"285":{},"289":{}},"component":{}}],["producercaches",{"_index":5566,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producercachesize(producercaches",{"_index":5570,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerconfigur",{"_index":5567,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerfactori",{"_index":5556,"title":{},"name":{},"text":{"102":{},"104":{}},"component":{}}],["producerfactory(dur",{"_index":5564,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerfactory(producerfactori",{"_index":5579,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerrecord",{"_index":5541,"title":{},"name":{},"text":{"101":{}},"component":{}}],["producertyp",{"_index":2181,"title":{},"name":{},"text":{"38":{}},"component":{}}],["product",{"_index":839,"title":{"9-1":{},"140-22":{}},"name":{},"text":{"5":{},"8":{},"12":{},"13":{},"16":{},"19":{},"30":{},"46":{},"77":{},"86":{},"88":{},"96":{},"101":{},"137":{},"140":{},"145":{},"174":{},"192":{},"199":{},"230":{},"232":{},"234":{},"240":{},"250":{},"254":{},"265":{},"266":{},"271":{},"274":{},"282":{}},"component":{}}],["profession",{"_index":7596,"title":{"250-2":{}},"name":{},"text":{"250":{},"254":{},"262":{}},"component":{}}],["profil",{"_index":893,"title":{},"name":{},"text":{"6":{},"67":{},"172":{},"247":{},"284":{}},"component":{}}],["profit",{"_index":1642,"title":{},"name":{},"text":{"31":{}},"component":{}}],["program",{"_index":76,"title":{"88-25":{}},"name":{},"text":{"2":{},"38":{},"44":{},"107":{},"120":{},"200":{}},"component":{}}],["programmat",{"_index":1715,"title":{"88-28":{}},"name":{},"text":{"32":{},"53":{},"88":{},"257":{},"260":{}},"component":{}}],["progress",{"_index":1451,"title":{},"name":{},"text":{"29":{},"53":{},"58":{},"67":{},"72":{},"74":{},"79":{},"88":{},"99":{},"140":{},"143":{},"151":{},"179":{},"206":{},"260":{},"281":{}},"component":{}}],["project",{"_index":760,"title":{"197":{},"279":{},"290":{},"115-5":{},"115-7":{},"279-1":{},"279-2":{},"279-4":{},"280-2":{},"280-5":{},"280-8":{}},"name":{"197":{},"279":{},"280":{}},"text":{"5":{},"15":{},"19":{},"30":{},"33":{},"40":{},"44":{},"54":{},"63":{},"66":{},"67":{},"88":{},"100":{},"104":{},"105":{},"108":{},"114":{},"115":{},"117":{},"120":{},"121":{},"129":{},"144":{},"145":{},"163":{},"194":{},"197":{},"199":{},"237":{},"270":{},"274":{},"276":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"290":{}},"component":{}}],["project.groupid",{"_index":7824,"title":{},"name":{},"text":{"279":{}},"component":{}}],["project.vers",{"_index":7825,"title":{},"name":{},"text":{"279":{}},"component":{}}],["project.yml",{"_index":3507,"title":{},"name":{},"text":{"66":{}},"component":{}}],["project=your_project_id",{"_index":7232,"title":{},"name":{},"text":{"199":{}},"component":{}}],["projection’",{"_index":7945,"title":{},"name":{},"text":{"280":{}},"component":{}}],["projector",{"_index":2810,"title":{},"name":{},"text":{"51":{}},"component":{}}],["project’",{"_index":5536,"title":{},"name":{},"text":{"100":{},"278":{},"279":{},"285":{}},"component":{}}],["prometheu",{"_index":2923,"title":{},"name":{},"text":{"57":{},"58":{},"185":{},"188":{}},"component":{}}],["promin",{"_index":3000,"title":{},"name":{},"text":{"59":{}},"component":{}}],["prompt",{"_index":6766,"title":{},"name":{},"text":{"172":{},"174":{},"178":{},"199":{}},"component":{}}],["prone",{"_index":4607,"title":{},"name":{},"text":{"72":{},"161":{}},"component":{}}],["proof",{"_index":1633,"title":{},"name":{},"text":{"31":{}},"component":{}}],["prop",{"_index":6354,"title":{},"name":{},"text":{"147":{},"148":{},"168":{},"178":{}},"component":{}}],["propag",{"_index":907,"title":{},"name":{},"text":{"6":{},"59":{},"63":{},"66":{},"67":{},"87":{},"163":{},"180":{},"215":{}},"component":{}}],["propagatingerrorhandl",{"_index":5086,"title":{},"name":{},"text":{"87":{}},"component":{}}],["proper",{"_index":4790,"title":{},"name":{},"text":{"77":{},"84":{},"96":{},"142":{},"162":{},"281":{},"287":{}},"component":{}}],["properli",{"_index":765,"title":{},"name":{},"text":{"5":{},"38":{},"67":{},"77":{},"99":{},"102":{},"145":{},"189":{}},"component":{}}],["properti",{"_index":291,"title":{"179":{},"31-4":{},"89-6":{},"89-12":{},"104-11":{},"179-5":{},"206-1":{}},"name":{},"text":{"3":{},"4":{},"15":{},"27":{},"31":{},"32":{},"33":{},"35":{},"38":{},"40":{},"46":{},"50":{},"51":{},"52":{},"57":{},"59":{},"66":{},"67":{},"68":{},"69":{},"72":{},"76":{},"77":{},"79":{},"84":{},"86":{},"88":{},"89":{},"90":{},"99":{},"104":{},"111":{},"114":{},"115":{},"116":{},"132":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"163":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"177":{},"179":{},"180":{},"181":{},"184":{},"185":{},"186":{},"188":{},"189":{},"190":{},"191":{},"192":{},"199":{},"202":{},"204":{},"206":{},"208":{},"215":{},"220":{},"226":{},"228":{},"244":{},"257":{},"274":{},"276":{},"278":{},"279":{},"281":{},"284":{}},"component":{}}],["properties.setdriverclassname(\"org.postgresql.driv",{"_index":5719,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties.setpassword(\"postgr",{"_index":5721,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties.seturl(\"jdbc:postgresql://localhost:5432/\"+tenant.tenantid",{"_index":5718,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties.setusername(\"postgr",{"_index":5720,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties/.yml",{"_index":1763,"title":{},"name":{},"text":{"32":{}},"component":{}}],["property\").build",{"_index":6392,"title":{},"name":{},"text":{"148":{}},"component":{}}],["propertyname(\"myproperti",{"_index":5249,"title":{},"name":{},"text":{"88":{}},"component":{}}],["propertysequencingpolici",{"_index":4274,"title":{},"name":{},"text":{"67":{},"88":{},"89":{}},"component":{}}],["propertysequencingpolicy.builder(someevent.class",{"_index":5247,"title":{},"name":{},"text":{"88":{}},"component":{}}],["propos",{"_index":4077,"title":{},"name":{},"text":{"67":{},"265":{}},"component":{}}],["prorat",{"_index":7601,"title":{},"name":{},"text":{"250":{}},"component":{}}],["protect",{"_index":496,"title":{"5-15":{}},"name":{},"text":{"3":{},"5":{},"44":{},"46":{},"63":{},"66":{},"77":{},"79":{},"82":{},"85":{},"88":{},"144":{},"191":{},"204":{},"281":{}},"component":{}}],["protocol",{"_index":606,"title":{},"name":{},"text":{"3":{},"38":{},"94":{},"157":{},"189":{},"191":{},"247":{}},"component":{}}],["prototyp",{"_index":2056,"title":{},"name":{},"text":{"36":{}},"component":{}}],["prove",{"_index":2969,"title":{},"name":{},"text":{"58":{},"247":{}},"component":{}}],["proven",{"_index":7791,"title":{},"name":{},"text":{"278":{}},"component":{}}],["provid",{"_index":10,"title":{"44-2":{},"50-1":{},"50-5":{},"59-11":{},"86-5":{},"247-1":{}},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"15":{},"20":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"91":{},"99":{},"100":{},"101":{},"102":{},"104":{},"105":{},"107":{},"108":{},"111":{},"115":{},"117":{},"120":{},"121":{},"127":{},"130":{},"133":{},"137":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"156":{},"157":{},"162":{},"165":{},"166":{},"167":{},"168":{},"170":{},"172":{},"174":{},"175":{},"177":{},"178":{},"180":{},"181":{},"182":{},"185":{},"186":{},"187":{},"189":{},"190":{},"191":{},"192":{},"200":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"221":{},"224":{},"227":{},"228":{},"229":{},"232":{},"236":{},"237":{},"238":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"266":{},"267":{},"269":{},"270":{},"271":{},"274":{},"276":{},"277":{},"278":{},"280":{},"281":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["provideformessage(@nonnul",{"_index":3039,"title":{},"name":{},"text":{"59":{}},"component":{}}],["provider’",{"_index":6413,"title":{},"name":{},"text":{"150":{},"172":{}},"component":{}}],["provis",{"_index":4004,"title":{"192-6":{}},"name":{},"text":{"67":{},"101":{},"161":{},"162":{},"192":{}},"component":{}}],["proxi",{"_index":5731,"title":{},"name":{},"text":{"115":{},"189":{},"221":{}},"component":{}}],["psep",{"_index":4018,"title":{},"name":{},"text":{"67":{},"88":{}},"component":{}}],["psepconfig",{"_index":5147,"title":{},"name":{},"text":{"88":{}},"component":{}}],["psep’",{"_index":5278,"title":{},"name":{},"text":{"88":{}},"component":{}}],["psqlexcept",{"_index":4013,"title":{},"name":{},"text":{"67":{}},"component":{}}],["public",{"_index":1029,"title":{"102-1":{},"102-2":{}},"name":{},"text":{"14":{},"15":{},"17":{},"18":{},"20":{},"22":{},"24":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"50":{},"51":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"99":{},"101":{},"102":{},"106":{},"110":{},"113":{},"115":{},"121":{},"128":{},"140":{},"147":{},"148":{},"176":{},"179":{},"189":{},"261":{},"280":{},"281":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["publicli",{"_index":7747,"title":{},"name":{},"text":{"276":{}},"component":{}}],["publicuseraccount",{"_index":2058,"title":{},"name":{},"text":{"36":{}},"component":{}}],["publish",{"_index":772,"title":{"102":{},"72-7":{},"121-13":{},"203-5":{}},"name":{"102":{}},"text":{"5":{},"6":{},"18":{},"21":{},"22":{},"30":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"46":{},"49":{},"50":{},"51":{},"52":{},"58":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"80":{},"82":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"99":{},"100":{},"102":{},"104":{},"115":{},"121":{},"127":{},"151":{},"169":{},"185":{},"200":{},"203":{},"215":{},"217":{},"221":{},"261":{},"284":{},"286":{}},"component":{}}],["publish_ev",{"_index":6592,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["publisheracktimeout",{"_index":5575,"title":{},"name":{},"text":{"102":{}},"component":{}}],["publisheracktimeout(publisheracktimeout",{"_index":5581,"title":{},"name":{},"text":{"102":{}},"component":{}}],["publisherinterceptor",{"_index":2196,"title":{},"name":{},"text":{"38":{}},"component":{}}],["publisherthreadcount",{"_index":2207,"title":{},"name":{},"text":{"38":{}},"component":{}}],["publishev",{"_index":5857,"title":{},"name":{},"text":{"121":{}},"component":{}}],["publishing/dispatch",{"_index":2779,"title":{},"name":{},"text":{"51":{}},"component":{}}],["publishing/handl",{"_index":2911,"title":{},"name":{},"text":{"57":{}},"component":{}}],["pull",{"_index":1415,"title":{},"name":{},"text":{"29":{},"44":{},"63":{},"66":{},"67":{},"87":{},"277":{}},"component":{}}],["purchas",{"_index":828,"title":{},"name":{},"text":{"5":{}},"component":{}}],["pure",{"_index":2339,"title":{},"name":{},"text":{"40":{},"66":{},"72":{},"77":{}},"component":{}}],["purg",{"_index":6030,"title":{},"name":{},"text":{"140":{},"178":{}},"component":{}}],["purpos",{"_index":512,"title":{"199-2":{},"227-2":{},"236-2":{}},"name":{},"text":{"3":{},"28":{},"31":{},"37":{},"41":{},"45":{},"46":{},"49":{},"51":{},"52":{},"53":{},"55":{},"59":{},"62":{},"64":{},"66":{},"67":{},"69":{},"70":{},"72":{},"73":{},"77":{},"78":{},"82":{},"86":{},"97":{},"100":{},"111":{},"137":{},"146":{},"151":{},"153":{},"154":{},"155":{},"159":{},"169":{},"173":{},"175":{},"177":{},"178":{},"180":{},"182":{},"183":{},"191":{},"202":{},"210":{},"264":{},"273":{},"274":{},"287":{}},"component":{}}],["push",{"_index":401,"title":{},"name":{},"text":{"3":{},"44":{},"129":{},"161":{},"191":{}},"component":{}}],["put",{"_index":267,"title":{},"name":{},"text":{"3":{},"14":{},"23":{},"51":{},"58":{},"66":{},"81":{},"82":{},"85":{},"87":{},"88":{},"102":{},"111":{},"191":{},"196":{},"215":{}},"component":{}}],["pwd}/data1",{"_index":464,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/data2",{"_index":472,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/data3",{"_index":478,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/events1",{"_index":468,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/events2",{"_index":474,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/events3",{"_index":480,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/log1",{"_index":470,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/log2",{"_index":476,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/log3",{"_index":482,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["python",{"_index":72,"title":{},"name":{},"text":{"2":{},"200":{}},"component":{}}],["q",{"_index":32,"title":{"2-1":{},"2-2":{},"2-3":{},"2-4":{},"2-5":{},"2-6":{},"2-7":{},"5-1":{},"5-2":{},"5-3":{},"5-4":{},"5-5":{},"5-6":{},"5-7":{},"5-8":{},"5-9":{},"5-10":{},"5-11":{},"5-12":{},"5-13":{},"5-14":{},"5-15":{}},"name":{},"text":{"121":{}},"component":{}}],["q.getqueryname().equals(\"myblockedqueri",{"_index":5898,"title":{},"name":{},"text":{"121":{}},"component":{}}],["qualifi",{"_index":1298,"title":{},"name":{},"text":{"23":{},"24":{},"26":{},"35":{},"38":{},"44":{},"52":{},"63":{},"67":{}},"component":{}}],["qualifier(\"eventseri",{"_index":1095,"title":{},"name":{},"text":{"15":{},"39":{},"40":{},"46":{}},"component":{}}],["qualifier(\"localseg",{"_index":2264,"title":{},"name":{},"text":{"38":{},"128":{}},"component":{}}],["qualifier(\"messageseri",{"_index":1629,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quartz",{"_index":2331,"title":{"40-6":{}},"name":{},"text":{"40":{},"66":{},"67":{}},"component":{}}],["quartzdeadlinemanag",{"_index":2273,"title":{},"name":{},"text":{"39":{},"66":{},"67":{}},"component":{}}],["quartzeventschedul",{"_index":2341,"title":{},"name":{},"text":{"40":{},"66":{}},"component":{}}],["quartzeventschedulerfactorybean",{"_index":2369,"title":{},"name":{},"text":{"40":{},"66":{}},"component":{}}],["queri",{"_index":783,"title":{"62":{},"63":{},"64":{},"108":{},"214":{},"219":{},"280":{},"49-3":{},"51-9":{},"51-10":{},"51-12":{},"52-3":{},"59-36":{},"59-37":{},"59-40":{},"59-43":{},"59-46":{},"60-1":{},"61-1":{},"61-2":{},"62-1":{},"63-1":{},"63-2":{},"63-3":{},"63-4":{},"63-5":{},"64-1":{},"64-2":{},"64-3":{},"115-6":{},"121-5":{},"121-6":{},"121-8":{},"143-4":{},"163-1":{},"186-2":{},"202-7":{},"202-9":{},"203-4":{},"214-4":{},"214-5":{},"214-6":{},"221-5":{},"280-5":{},"280-6":{},"280-7":{},"280-8":{},"280-9":{},"280-10":{},"280-11":{},"280-12":{},"280-13":{},"290-5":{}},"name":{"63":{},"64":{},"108":{},"214":{},"219":{}},"text":{"5":{},"11":{},"12":{},"23":{},"24":{},"28":{},"29":{},"30":{},"31":{},"32":{},"34":{},"36":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"72":{},"79":{},"88":{},"89":{},"107":{},"108":{},"111":{},"115":{},"121":{},"132":{},"133":{},"140":{},"141":{},"143":{},"144":{},"147":{},"148":{},"150":{},"161":{},"162":{},"163":{},"169":{},"170":{},"179":{},"185":{},"186":{},"192":{},"194":{},"200":{},"202":{},"203":{},"213":{},"214":{},"215":{},"216":{},"218":{},"219":{},"221":{},"224":{},"242":{},"243":{},"249":{},"261":{},"262":{},"270":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"290":{}},"component":{"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["queries.wait",{"_index":7028,"title":{},"name":{},"text":{"185":{}},"component":{}}],["query'",{"_index":5819,"title":{},"name":{},"text":{"121":{}},"component":{}}],["query(str",{"_index":3139,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query.getfilter().getidstartswith",{"_index":3161,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query.limit",{"_index":6866,"title":{},"name":{},"text":{"179":{}},"component":{}}],["query.timeout",{"_index":6947,"title":{},"name":{},"text":{"179":{}},"component":{}}],["query1(str",{"_index":3147,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query2(str",{"_index":3148,"title":{},"name":{},"text":{"63":{}},"component":{}}],["querya",{"_index":3244,"title":{},"name":{},"text":{"64":{}},"component":{}}],["queryb",{"_index":3243,"title":{},"name":{},"text":{"64":{}},"component":{}}],["querybu",{"_index":2778,"title":{},"name":{},"text":{"51":{},"53":{},"57":{},"59":{},"61":{},"63":{},"64":{},"67":{},"115":{},"245":{},"261":{},"274":{}},"component":{}}],["querybus(globalmetricregistri",{"_index":3131,"title":{},"name":{},"text":{"61":{}},"component":{}}],["querybus.query(query).thenaccept(system.out::println",{"_index":3144,"title":{},"name":{},"text":{"63":{}},"component":{}}],["querybus.scattergather(queri",{"_index":3149,"title":{},"name":{},"text":{"63":{}},"component":{}}],["queryc",{"_index":3245,"title":{},"name":{},"text":{"64":{}},"component":{}}],["querydispatcher(priv",{"_index":5648,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querydispatchinterceptor`",{"_index":3126,"title":{},"name":{},"text":{"61":{}},"component":{}}],["queryexecutionexcept",{"_index":2653,"title":{},"name":{},"text":{"48":{}},"component":{}}],["queryexecutionexception`with",{"_index":2659,"title":{},"name":{},"text":{"48":{}},"component":{}}],["querygateway",{"_index":3124,"title":{"108-1":{}},"name":{},"text":{"61":{},"63":{},"66":{},"67":{},"108":{},"121":{},"133":{},"280":{},"281":{},"290":{}},"component":{}}],["querygateway#streamingqueri",{"_index":4005,"title":{},"name":{},"text":{"67":{}},"component":{}}],["querygateway.queri",{"_index":7888,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["querygateway.query(bikestatusnamedqueries.find_on",{"_index":7901,"title":{},"name":{},"text":{"280":{}},"component":{}}],["querygateway.query(countcardsummariesqueri",{"_index":5655,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querygateway.query(find_all_queri",{"_index":7895,"title":{},"name":{},"text":{"280":{}},"component":{}}],["querygateway.query(queri",{"_index":5651,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querygateway.streamingquery(queri",{"_index":3209,"title":{},"name":{},"text":{"63":{}},"component":{}}],["querygateway.subscriptionqueri",{"_index":3183,"title":{},"name":{},"text":{"63":{}},"component":{}}],["queryhandl",{"_index":2787,"title":{},"name":{},"text":{"51":{},"52":{},"60":{},"63":{},"64":{},"66":{},"67":{},"280":{},"290":{}},"component":{}}],["queryhandler(querynam",{"_index":3146,"title":{},"name":{},"text":{"63":{},"280":{}},"component":{}}],["querymani",{"_index":5657,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querymessag",{"_index":1594,"title":{},"name":{},"text":{"31":{},"47":{},"51":{},"52":{},"67":{}},"component":{}}],["querymessage.class",{"_index":2793,"title":{},"name":{},"text":{"51":{}},"component":{}}],["querynam",{"_index":3109,"title":{},"name":{},"text":{"59":{},"60":{},"63":{},"67":{},"121":{},"214":{},"280":{}},"component":{}}],["queryopt",{"_index":5656,"title":{},"name":{},"text":{"108":{}},"component":{}}],["queryprocessingtask(${querynam",{"_index":3095,"title":{},"name":{},"text":{"59":{}},"component":{}}],["queryrequest",{"_index":4304,"title":{},"name":{},"text":{"67":{}},"component":{}}],["queryrespons",{"_index":2685,"title":{},"name":{},"text":{"50":{}},"component":{}}],["queryupd",{"_index":5797,"title":{"121-11":{}},"name":{},"text":{},"component":{}}],["queryupdateemitt",{"_index":3106,"title":{"108-2":{}},"name":{},"text":{"59":{},"61":{},"63":{},"67":{},"108":{},"115":{}},"component":{}}],["queryupdateemitter(updateemitt",{"_index":3134,"title":{},"name":{},"text":{"61":{}},"component":{}}],["queryupdateemitter.emit",{"_index":3172,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query’",{"_index":3092,"title":{},"name":{},"text":{"59":{},"60":{},"64":{}},"component":{}}],["question",{"_index":986,"title":{"7-3":{}},"name":{},"text":{"61":{},"64":{},"76":{},"88":{},"187":{},"235":{},"288":{}},"component":{}}],["queu",{"_index":1142,"title":{},"name":{},"text":{"16":{},"59":{},"186":{},"274":{}},"component":{}}],["queue",{"_index":850,"title":{"15":{},"16":{},"86":{},"92":{},"110":{},"257":{},"15-1":{},"15-2":{},"87-7":{},"111-4":{},"115-8":{}},"name":{"86":{}},"text":{"5":{},"7":{},"14":{},"15":{},"16":{},"17":{},"46":{},"66":{},"67":{},"86":{},"87":{},"88":{},"90":{},"91":{},"92":{},"110":{},"115":{},"143":{},"179":{},"249":{},"250":{},"255":{},"257":{},"259":{},"276":{}},"component":{"14":{},"15":{},"16":{},"17":{}}}],["quick",{"_index":499,"title":{"200":{},"178-1":{},"201-2":{}},"name":{},"text":{"3":{},"7":{},"30":{},"31":{},"46":{},"67":{},"178":{},"191":{},"192":{},"200":{},"201":{},"207":{},"274":{},"275":{},"280":{},"284":{}},"component":{"200":{},"201":{},"202":{},"203":{}}}],["quickest",{"_index":1485,"title":{},"name":{},"text":{"30":{},"133":{}},"component":{}}],["quickli",{"_index":4359,"title":{},"name":{},"text":{"67":{},"88":{},"94":{},"151":{},"201":{},"232":{},"269":{},"283":{}},"component":{}}],["quit",{"_index":1570,"title":{},"name":{},"text":{"31":{},"46":{},"69":{},"77":{},"124":{},"128":{}},"component":{}}],["quota",{"_index":737,"title":{"5-9":{}},"name":{},"text":{},"component":{}}],["r",{"_index":364,"title":{},"name":{},"text":{"3":{},"88":{},"121":{},"147":{},"156":{},"168":{},"169":{},"174":{},"178":{},"191":{}},"component":{}}],["r.getpayload().equ",{"_index":5892,"title":{},"name":{},"text":{"121":{}},"component":{}}],["r.getpayload().equals(\"blockedpayload",{"_index":5889,"title":{},"name":{},"text":{"121":{}},"component":{}}],["rabbitlistener(queu",{"_index":5423,"title":{},"name":{},"text":{"92":{}},"component":{}}],["rabbitmq",{"_index":5418,"title":{},"name":{},"text":{"91":{}},"component":{}}],["race",{"_index":6034,"title":{},"name":{},"text":{"140":{},"141":{},"215":{}},"component":{}}],["rafaesp",{"_index":4318,"title":{},"name":{},"text":{"67":{}},"component":{}}],["raft",{"_index":6023,"title":{},"name":{},"text":{"140":{},"141":{},"157":{},"179":{},"185":{}},"component":{}}],["raft_clean_log",{"_index":6665,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_get_statu",{"_index":6666,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_list_appl",{"_index":6667,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_list_context",{"_index":6669,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_list_context_memb",{"_index":6668,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_start_context",{"_index":6670,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_stepdown",{"_index":6671,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_stop_context",{"_index":6672,"title":{},"name":{},"text":{"171":{}},"component":{}}],["rais",{"_index":2666,"title":{},"name":{},"text":{"49":{},"77":{},"87":{},"88":{},"156":{}},"component":{}}],["random",{"_index":1870,"title":{},"name":{},"text":{"34":{},"38":{},"270":{}},"component":{}}],["random_key",{"_index":2237,"title":{},"name":{},"text":{"38":{}},"component":{}}],["randomli",{"_index":1286,"title":{},"name":{},"text":{"23":{},"199":{},"266":{}},"component":{}}],["rang",{"_index":3064,"title":{},"name":{},"text":{"59":{},"137":{},"244":{},"274":{}},"component":{}}],["range(eventchannelprovid",{"_index":6285,"title":{},"name":{},"text":{"145":{}},"component":{}}],["rank",{"_index":3598,"title":{},"name":{},"text":{"66":{}},"component":{}}],["rare",{"_index":4187,"title":{},"name":{},"text":{"67":{},"140":{},"145":{},"179":{}},"component":{}}],["rate",{"_index":847,"title":{"151-13":{},"261-2":{},"274-34":{}},"name":{},"text":{"5":{},"151":{},"163":{},"179":{},"211":{},"235":{},"239":{},"242":{},"261":{},"262":{},"270":{},"273":{},"274":{}},"component":{}}],["rate=0",{"_index":6452,"title":{},"name":{},"text":{"151":{}},"component":{}}],["rate=5",{"_index":6449,"title":{},"name":{},"text":{"151":{}},"component":{}}],["ratio",{"_index":5283,"title":{},"name":{},"text":{"88":{}},"component":{}}],["rational",{"_index":4887,"title":{},"name":{},"text":{"80":{},"81":{}},"component":{}}],["raw",{"_index":7278,"title":{"211-2":{},"212-2":{},"214-2":{},"216-1":{},"217-1":{},"219-1":{},"224-4":{}},"name":{"223":{}},"text":{"202":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"290":{}},"component":{}}],["rdbm",{"_index":40,"title":{"2-4":{}},"name":{"79":{}},"text":{"29":{},"67":{},"78":{},"88":{},"100":{},"111":{},"161":{},"192":{}},"component":{}}],["re",{"_index":1141,"title":{},"name":{},"text":{"16":{},"69":{},"77":{},"189":{},"221":{},"226":{}},"component":{}}],["re)seri",{"_index":4792,"title":{},"name":{},"text":{"77":{}},"component":{}}],["reach",{"_index":1914,"title":{},"name":{},"text":{"34":{},"43":{},"58":{},"64":{},"77":{},"87":{},"88":{},"143":{},"144":{},"163":{},"179":{},"187":{},"279":{},"281":{}},"component":{}}],["react",{"_index":876,"title":{"121-15":{}},"name":{},"text":{"6":{},"35":{},"38":{},"43":{},"45":{},"48":{},"51":{},"66":{},"67":{},"75":{},"86":{},"88":{},"99":{},"264":{},"265":{},"270":{},"281":{},"286":{}},"component":{}}],["reaction",{"_index":1972,"title":{},"name":{},"text":{"35":{},"80":{}},"component":{}}],["reactiv",{"_index":3194,"title":{},"name":{},"text":{"63":{},"120":{},"121":{}},"component":{}}],["reactivecardrepository.findal",{"_index":3216,"title":{},"name":{},"text":{"63":{}},"component":{}}],["reactivecardrepository.findall().timeout(duration.ofseconds(5",{"_index":3231,"title":{},"name":{},"text":{"63":{}},"component":{}}],["reactivecommandgateway",{"_index":5805,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivecommandgateway.send(command",{"_index":5809,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivecommandgateway.sendall(inputstream",{"_index":5813,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactiveeventgateway",{"_index":5851,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactiveeventgateway.publish(\"ev",{"_index":5858,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactiveeventgateway.registerdispatchinterceptor",{"_index":5852,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivegateway",{"_index":5868,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivegateway.registerdispatchinterceptor",{"_index":5869,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivegateway.registerresulthandlerinterceptor",{"_index":5886,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway",{"_index":5818,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.query(queri",{"_index":5800,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.queryupdates(\"criteriaqueri",{"_index":5846,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.registerresulthandlerinterceptor",{"_index":5890,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.scattergather(queri",{"_index":5823,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.subscriptionquery(\"criteriaqueri",{"_index":5829,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.subscriptionquery(queri",{"_index":5834,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.subscriptionquerymany(\"criteriaqueri",{"_index":5841,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactor",{"_index":25,"title":{"120":{},"121":{},"122":{},"30-31":{},"30-32":{},"121-2":{},"121-5":{},"121-12":{},"121-16":{}},"name":{"121":{}},"text":{"1":{},"30":{},"63":{},"66":{},"120":{},"121":{},"122":{},"163":{},"278":{}},"component":{"120":{},"121":{},"122":{}}}],["reactor'",{"_index":3195,"title":{},"name":{},"text":{"63":{}},"component":{}}],["reactorcommandgateway",{"_index":5802,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactorconfigur",{"_index":5866,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactoreventgateway",{"_index":5850,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactormessagedispatchinterceptor",{"_index":5859,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactormessagedispatchinterceptor#intercept(mono",{"_index":5865,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactorquerygateway",{"_index":5817,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactorresulthandlerinterceptor",{"_index":5860,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactor’",{"_index":3215,"title":{},"name":{},"text":{"63":{},"121":{}},"component":{}}],["read",{"_index":550,"title":{"92":{},"147-4":{},"290-4":{},"290-5":{}},"name":{"92":{}},"text":{"3":{},"31":{},"42":{},"44":{},"46":{},"49":{},"52":{},"64":{},"66":{},"67":{},"77":{},"79":{},"82":{},"89":{},"91":{},"92":{},"104":{},"123":{},"143":{},"144":{},"145":{},"148":{},"151":{},"154":{},"161":{},"169":{},"171":{},"177":{},"178":{},"179":{},"186":{},"191":{},"199":{},"203":{},"208":{},"212":{},"237":{},"250":{},"260":{},"261":{},"263":{},"264":{},"267":{},"274":{},"279":{},"285":{},"286":{},"290":{}},"component":{}}],["read,admin",{"_index":6576,"title":{},"name":{},"text":{"168":{},"174":{},"178":{}},"component":{}}],["read/admin",{"_index":6811,"title":{},"name":{},"text":{"178":{}},"component":{}}],["read/chang",{"_index":7228,"title":{},"name":{},"text":{"199":{}},"component":{}}],["read_ev",{"_index":6593,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["read_highest_seqnr",{"_index":6704,"title":{},"name":{},"text":{"171":{}},"component":{}}],["readabl",{"_index":1569,"title":{},"name":{},"text":{"31":{},"40":{},"46":{},"72":{},"79":{},"195":{}},"component":{}}],["reader",{"_index":1013,"title":{},"name":{},"text":{"8":{},"12":{},"13":{}},"component":{}}],["readi",{"_index":220,"title":{"276-5":{}},"name":{},"text":{"3":{},"19":{},"31":{},"53":{},"63":{},"88":{},"96":{},"141":{},"143":{},"179":{},"191":{},"202":{},"237":{},"241":{},"268":{},"269":{},"270":{},"276":{},"277":{},"278":{},"280":{},"281":{}},"component":{}}],["readinessprob",{"_index":618,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["readme.md",{"_index":4099,"title":{},"name":{},"text":{"67":{}},"component":{}}],["readonli",{"_index":614,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["readwriteonc",{"_index":633,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["real",{"_index":86,"title":{},"name":{},"text":{"2":{},"5":{},"64":{},"140":{},"151":{},"156":{},"243":{},"269":{},"272":{},"277":{},"280":{}},"component":{}}],["realiti",{"_index":4991,"title":{},"name":{},"text":{"86":{}},"component":{}}],["realiz",{"_index":6245,"title":{},"name":{},"text":{"145":{},"286":{}},"component":{}}],["realli",{"_index":1644,"title":{},"name":{},"text":{"31":{},"36":{},"38":{},"46":{},"49":{},"55":{},"69":{},"76":{}},"component":{}}],["realm",{"_index":6769,"title":{},"name":{},"text":{"172":{}},"component":{}}],["realm’",{"_index":6777,"title":{},"name":{},"text":{"172":{}},"component":{}}],["rearrang",{"_index":7739,"title":{},"name":{},"text":{"274":{}},"component":{}}],["reason",{"_index":714,"title":{},"name":{},"text":{"4":{},"31":{},"38":{},"46":{},"51":{},"53":{},"63":{},"67":{},"77":{},"86":{},"89":{},"142":{},"145":{},"151":{},"156":{},"184":{},"189":{},"206":{},"264":{},"273":{},"274":{},"278":{},"281":{}},"component":{}}],["rebal",{"_index":3275,"title":{},"name":{},"text":{"66":{}},"component":{}}],["rebalanc",{"_index":6932,"title":{},"name":{},"text":{"179":{}},"component":{}}],["rebalance_processor",{"_index":6684,"title":{},"name":{},"text":{"171":{}},"component":{}}],["rebas",{"_index":1824,"title":{},"name":{},"text":{"33":{}},"component":{}}],["rebuild",{"_index":2970,"title":{},"name":{},"text":{"58":{},"77":{}},"component":{}}],["rebuilt",{"_index":7997,"title":{},"name":{},"text":{"283":{}},"component":{}}],["recal",{"_index":7833,"title":{},"name":{},"text":{"280":{}},"component":{}}],["recap",{"_index":6320,"title":{},"name":{},"text":{"147":{}},"component":{}}],["receipt",{"_index":6467,"title":{},"name":{},"text":{"151":{},"274":{}},"component":{}}],["receiv",{"_index":998,"title":{"202":{},"211":{},"212":{},"213":{},"214":{},"204-3":{}},"name":{"202":{},"211":{},"212":{},"213":{},"214":{}},"text":{"8":{},"13":{},"31":{},"35":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"67":{},"72":{},"76":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"99":{},"100":{},"101":{},"102":{},"121":{},"127":{},"130":{},"138":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"156":{},"163":{},"179":{},"186":{},"200":{},"202":{},"204":{},"206":{},"211":{},"212":{},"213":{},"214":{},"217":{},"221":{},"243":{},"247":{},"250":{},"254":{},"262":{},"274":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["recent",{"_index":1458,"title":{},"name":{},"text":{"29":{},"31":{},"40":{},"67":{},"140":{},"142":{},"143":{},"151":{},"156":{},"157":{},"179":{},"185":{},"198":{}},"component":{}}],["recept",{"_index":7871,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["rechargeablegiftcard",{"_index":4892,"title":{},"name":{},"text":{"81":{}},"component":{}}],["recip",{"_index":1009,"title":{},"name":{},"text":{"8":{},"13":{},"33":{},"67":{}},"component":{}}],["reclaim",{"_index":5789,"title":{},"name":{},"text":{"120":{},"140":{}},"component":{}}],["recogn",{"_index":2617,"title":{},"name":{},"text":{"46":{},"66":{},"69":{},"77":{},"143":{},"279":{}},"component":{}}],["recommend",{"_index":495,"title":{"179-4":{},"199-4":{}},"name":{},"text":{"3":{},"30":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"47":{},"48":{},"51":{},"52":{},"53":{},"59":{},"63":{},"64":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"99":{},"100":{},"102":{},"104":{},"111":{},"121":{},"130":{},"147":{},"154":{},"156":{},"161":{},"162":{},"164":{},"165":{},"176":{},"177":{},"179":{},"191":{},"199":{},"247":{},"260":{},"261":{},"276":{},"283":{}},"component":{}}],["reconnect",{"_index":4415,"title":{"140-17":{}},"name":{},"text":{"67":{},"140":{},"141":{},"154":{},"192":{},"206":{},"215":{},"221":{}},"component":{}}],["reconnect_cli",{"_index":6685,"title":{},"name":{},"text":{"171":{}},"component":{}}],["reconsid",{"_index":5040,"title":{},"name":{},"text":{"86":{}},"component":{}}],["reconstruct",{"_index":1645,"title":{},"name":{},"text":{"31":{},"35":{},"36":{},"38":{},"66":{},"69":{},"77":{}},"component":{}}],["record",{"_index":886,"title":{},"name":{},"text":{"6":{},"74":{},"101":{},"104":{},"141":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["record’",{"_index":5594,"title":{},"name":{},"text":{"104":{}},"component":{}}],["recov",{"_index":4107,"title":{},"name":{},"text":{"67":{},"142":{},"151":{}},"component":{}}],["recover",{"_index":7138,"title":{},"name":{},"text":{"189":{}},"component":{}}],["recoveri",{"_index":979,"title":{"149":{}},"name":{"149":{}},"text":{"6":{},"146":{},"149":{},"179":{},"181":{}},"component":{}}],["recovery.json",{"_index":6402,"title":{},"name":{},"text":{"149":{},"179":{}},"component":{}}],["recoveryfil",{"_index":6955,"title":{},"name":{},"text":{"179":{}},"component":{}}],["recreat",{"_index":1979,"title":{},"name":{},"text":{"35":{},"67":{},"77":{},"82":{},"147":{},"162":{},"206":{}},"component":{}}],["rectifi",{"_index":4380,"title":{},"name":{},"text":{"67":{},"140":{}},"component":{}}],["red",{"_index":784,"title":{},"name":{},"text":{"5":{}},"component":{}}],["redeem",{"_index":3165,"title":{},"name":{},"text":{"63":{},"203":{}},"component":{}}],["redeemcardcommand",{"_index":1930,"title":{},"name":{},"text":{"35":{},"72":{}},"component":{}}],["redeemcardcommand(\"cardid",{"_index":4539,"title":{},"name":{},"text":{"72":{}},"component":{}}],["redeemcardcommand(card_id",{"_index":1203,"title":{},"name":{},"text":{"18":{}},"component":{}}],["redeemcardcommand(str",{"_index":1956,"title":{},"name":{},"text":{"35":{}},"component":{}}],["redeemcmd",{"_index":3203,"title":{},"name":{},"text":{"63":{}},"component":{}}],["redeemcmd(\"gc1",{"_index":3191,"title":{},"name":{},"text":{"63":{}},"component":{}}],["redeemedevt",{"_index":3166,"title":{},"name":{},"text":{"63":{}},"component":{}}],["redesign",{"_index":3613,"title":{},"name":{},"text":{"66":{},"140":{}},"component":{}}],["redirect",{"_index":4476,"title":{},"name":{},"text":{"69":{},"71":{},"141":{},"172":{}},"component":{}}],["redistribut",{"_index":6074,"title":{},"name":{},"text":{"141":{}},"component":{}}],["reduc",{"_index":940,"title":{},"name":{},"text":{"6":{},"66":{},"67":{},"77":{},"88":{},"89":{},"140":{},"141":{},"151":{},"156":{},"250":{},"261":{}},"component":{}}],["reduce(boolean::logicaland",{"_index":6228,"title":{},"name":{},"text":{"144":{}},"component":{}}],["reduct",{"_index":6470,"title":{},"name":{},"text":{"151":{}},"component":{}}],["redund",{"_index":3575,"title":{},"name":{},"text":{"66":{}},"component":{}}],["reentrantlock",{"_index":3902,"title":{},"name":{},"text":{"67":{}},"component":{}}],["reevalu",{"_index":5041,"title":{},"name":{},"text":{"86":{}},"component":{}}],["refactor",{"_index":2435,"title":{},"name":{},"text":{"44":{},"46":{},"66":{},"67":{}},"component":{}}],["refer",{"_index":18,"title":{"9":{},"207":{},"249":{},"8-4":{},"13-4":{},"28-2":{},"55-2":{}},"name":{"9":{}},"text":{"1":{},"3":{},"8":{},"13":{},"28":{},"33":{},"35":{},"37":{},"38":{},"41":{},"43":{},"45":{},"46":{},"49":{},"50":{},"55":{},"59":{},"64":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"73":{},"82":{},"84":{},"86":{},"87":{},"88":{},"94":{},"100":{},"115":{},"129":{},"144":{},"145":{},"146":{},"147":{},"156":{},"172":{},"173":{},"178":{},"183":{},"191":{},"192":{},"199":{},"206":{},"207":{},"208":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"220":{},"221":{},"226":{},"242":{},"246":{},"274":{},"276":{},"278":{},"280":{},"284":{},"285":{}},"component":{"13":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{}}}],["referenc",{"_index":1915,"title":{},"name":{},"text":{"34":{},"151":{},"215":{}},"component":{}}],["reference:tuning:ev",{"_index":7707,"title":{},"name":{},"text":{"274":{}},"component":{}}],["referr",{"_index":6643,"title":{},"name":{},"text":{"170":{}},"component":{}}],["reflect",{"_index":896,"title":{},"name":{},"text":{"6":{},"31":{},"58":{},"66":{},"67":{},"72":{},"87":{},"126":{},"239":{}},"component":{}}],["refresh",{"_index":4720,"title":{},"name":{},"text":{"76":{},"180":{},"279":{},"281":{},"283":{}},"component":{}}],["refreshtoken(applicationid",{"_index":7002,"title":{},"name":{},"text":{"180":{}},"component":{}}],["refus",{"_index":6186,"title":{},"name":{},"text":{"143":{}},"component":{}}],["regard",{"_index":1446,"title":{},"name":{},"text":{"29":{},"30":{},"35":{},"38":{},"42":{},"55":{},"60":{},"66":{},"67":{},"69":{},"82":{},"100":{},"111":{},"153":{},"189":{},"221":{},"239":{}},"component":{}}],["regardless",{"_index":1689,"title":{},"name":{},"text":{"31":{},"35":{},"38":{},"44":{},"51":{},"59":{},"63":{},"66":{},"67":{},"74":{},"88":{},"99":{},"102":{},"127":{},"261":{}},"component":{}}],["regener",{"_index":7001,"title":{},"name":{},"text":{"180":{},"281":{}},"component":{}}],["region",{"_index":6414,"title":{},"name":{},"text":{"150":{},"234":{}},"component":{}}],["regist",{"_index":1061,"title":{"283":{},"15-1":{},"36-2":{},"43-1":{},"60-1":{},"81-1":{},"168-1":{},"211-4":{},"211-5":{},"211-6":{},"212-5":{},"212-6":{},"212-7":{},"214-4":{},"214-5":{},"214-6":{},"247-1":{},"247-3":{},"281-2":{},"281-10":{},"283-4":{}},"name":{},"text":{"15":{},"20":{},"24":{},"32":{},"36":{},"38":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"81":{},"87":{},"88":{},"89":{},"94":{},"99":{},"115":{},"121":{},"141":{},"143":{},"145":{},"147":{},"148":{},"150":{},"154":{},"168":{},"169":{},"172":{},"174":{},"178":{},"192":{},"202":{},"204":{},"209":{},"211":{},"212":{},"213":{},"214":{},"216":{},"219":{},"221":{},"224":{},"247":{},"250":{},"263":{},"265":{},"280":{},"281":{},"283":{},"286":{},"289":{},"290":{}},"component":{}}],["registeraggregatefactori",{"_index":4555,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerannotatedcommandhandl",{"_index":4548,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerbik",{"_index":7982,"title":{},"name":{},"text":{"281":{}},"component":{}}],["registerbikecommand",{"_index":7950,"title":{},"name":{},"text":{"281":{},"283":{},"285":{},"289":{}},"component":{}}],["registerbikecommand(\"bikeid",{"_index":8030,"title":{},"name":{},"text":{"285":{}},"component":{}}],["registerbikecommand(@targetaggregateidentifi",{"_index":7954,"title":{},"name":{},"text":{"281":{}},"component":{}}],["registerbikecommand`",{"_index":7986,"title":{},"name":{},"text":{"281":{}},"component":{}}],["registercommanddispatchinterceptor",{"_index":4559,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercommandgateway(class",{"_index":4686,"title":{},"name":{},"text":{"74":{}},"component":{}}],["registercommandhandl",{"_index":4556,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercommandhandler(conf",{"_index":2012,"title":{},"name":{},"text":{"36":{}},"component":{}}],["registercommandhandlerinterceptor",{"_index":4560,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercommandtargetresolv",{"_index":4569,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercomponent(axonserverconfiguration.class",{"_index":4718,"title":{},"name":{},"text":{"76":{}},"component":{}}],["registercomponent(targetcontextresolver.class",{"_index":6346,"title":{},"name":{},"text":{"147":{}},"component":{}}],["registerdeadletterpolicy(\"mi",{"_index":5047,"title":{},"name":{},"text":{"86":{}},"component":{}}],["registerdeadletterqueu",{"_index":1114,"title":{},"name":{},"text":{"15":{}},"component":{}}],["registerdeadletterqueue(str",{"_index":1077,"title":{},"name":{},"text":{"15":{}},"component":{}}],["registerdeadletterqueueprovid",{"_index":1086,"title":{},"name":{},"text":{"15":{},"66":{}},"component":{}}],["registerdeadlinedispatchinterceptor",{"_index":4561,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerdeadlinehandlerinterceptor",{"_index":4563,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerdefaulterrorhandler(conf",{"_index":5088,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerdefaulthandlerinterceptor(bifunct",{"_index":5102,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerdefaultlistenerinvocationerrorhandler(conf",{"_index":5076,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerdispatchinterceptor(reactorcommandgateway",{"_index":5867,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registerdispatchinterceptor(reactoreventgateway",{"_index":5875,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registererrorhandler(\"mi",{"_index":5089,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registereventhandler(config",{"_index":2423,"title":{},"name":{},"text":{"43":{}},"component":{}}],["registereventprocessor(str",{"_index":5100,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registereventprocessorfactory(eventprocessorbuild",{"_index":5099,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registereventupcaster(config",{"_index":2501,"title":{},"name":{},"text":{"44":{}},"component":{}}],["registerexamplehandlerdefinition(configur",{"_index":1355,"title":{},"name":{},"text":{"24":{}},"component":{}}],["registerextens",{"_index":4543,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerfieldfilt",{"_index":4564,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerhandlerdefinit",{"_index":4566,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerhandlerenhancerdefinit",{"_index":4568,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerhandlerinterceptor",{"_index":4066,"title":{},"name":{},"text":{"67":{}},"component":{}}],["registerhandlerinterceptor(\"mi",{"_index":2777,"title":{},"name":{},"text":{"51":{}},"component":{}}],["registerhandlerinterceptor(str",{"_index":5103,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerignoredfield",{"_index":4565,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerinjectableresourc",{"_index":4557,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerlistenerinvocationerrorhandl",{"_index":5082,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerlistenerinvocationerrorhandler(\"mi",{"_index":5077,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registermessagehandler(conf",{"_index":2013,"title":{},"name":{},"text":{"36":{},"60":{}},"component":{}}],["registermessagemonitor(str",{"_index":5104,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registermessagemonitorfactory(str",{"_index":5105,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerparameterresolverfactori",{"_index":4558,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerpooledstreamingeventprocessor",{"_index":5149,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingeventprocessorconfigur",{"_index":5157,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingeventprocessorconfiguration(\"mi",{"_index":5156,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingprocessor",{"_index":5144,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingprocessorconfig(eventprocessingconfigur",{"_index":5154,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpublishertoeventprocessor(eventprocessingconfigur",{"_index":5586,"title":{},"name":{},"text":{"102":{}},"component":{}}],["registerqueryhandler(conf",{"_index":3119,"title":{},"name":{},"text":{"60":{}},"component":{}}],["registerrepositori",{"_index":4551,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerrepositoryprovid",{"_index":4552,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerresultinterceptor(reactorcommandgateway",{"_index":5899,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registerresultinterceptor(reactorquerygateway",{"_index":5885,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registerrollbackconfiguration(str",{"_index":5111,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registersaga(mysaga.class",{"_index":4519,"title":{},"name":{},"text":{"71":{}},"component":{}}],["registersequencingpolicy(\"mi",{"_index":5251,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerspanattributeprovid",{"_index":3681,"title":{},"name":{},"text":{"66":{}},"component":{}}],["registersubscribingeventprocessor",{"_index":5385,"title":{},"name":{},"text":{"89":{},"102":{}},"component":{}}],["registersubscribingeventprocessor(\"mi",{"_index":5388,"title":{},"name":{},"text":{"89":{}},"component":{}}],["registersubscribingeventprocessor(processinggroup",{"_index":5592,"title":{},"name":{},"text":{"102":{}},"component":{}}],["registertokenstore(\"mi",{"_index":5225,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertokenstore(eventprocessingconfigur",{"_index":5216,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertrackingeventprocessor",{"_index":5126,"title":{},"name":{},"text":{"88":{},"102":{}},"component":{}}],["registertrackingeventprocessor(\"mi",{"_index":2776,"title":{},"name":{},"text":{"51":{},"88":{}},"component":{}}],["registertrackingeventprocessorconfigur",{"_index":5140,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertrackingeventprocessorconfiguration(\"mi",{"_index":5139,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertrackingprocessorconfig(eventprocessingconfigur",{"_index":5137,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertransactionmanager(str",{"_index":5109,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registr",{"_index":2010,"title":{"75-1":{},"247-4":{}},"name":{},"text":{"36":{},"46":{},"50":{},"51":{},"60":{},"66":{},"67":{},"75":{},"87":{},"89":{},"99":{},"127":{},"128":{},"129":{},"147":{},"154":{},"167":{},"178":{},"202":{},"211":{},"290":{}},"component":{}}],["registrationupd",{"_index":8039,"title":{},"name":{},"text":{"286":{}},"component":{}}],["registri",{"_index":2922,"title":{},"name":{},"text":{"57":{}},"component":{}}],["regress",{"_index":4140,"title":{},"name":{},"text":{"67":{}},"component":{}}],["regular",{"_index":1927,"title":{},"name":{},"text":{"35":{},"36":{},"38":{},"42":{},"47":{},"51":{},"52":{},"64":{},"67":{},"69":{},"72":{},"76":{},"77":{},"82":{},"86":{},"87":{},"88":{},"92":{},"121":{},"147":{},"161":{},"178":{},"179":{},"189":{},"192":{},"199":{},"202":{}},"component":{}}],["regularli",{"_index":4714,"title":{},"name":{},"text":{"76":{},"77":{},"80":{}},"component":{}}],["reifi",{"_index":1532,"title":{},"name":{},"text":{"30":{},"107":{}},"component":{}}],["reimburs",{"_index":4935,"title":{},"name":{},"text":{"84":{}},"component":{}}],["reinstal",{"_index":6376,"title":{},"name":{},"text":{"148":{}},"component":{}}],["reintroduc",{"_index":4127,"title":{},"name":{},"text":{"67":{}},"component":{}}],["reiter",{"_index":3772,"title":{},"name":{},"text":{"66":{}},"component":{}}],["reject",{"_index":4924,"title":{},"name":{},"text":{"83":{},"143":{},"281":{},"288":{}},"component":{}}],["rejectpaymentcommand",{"_index":7713,"title":{},"name":{},"text":{"274":{}},"component":{}}],["rel",{"_index":2251,"title":{},"name":{},"text":{"38":{},"66":{},"69":{},"71":{},"77":{},"179":{},"211":{},"274":{}},"component":{}}],["relat",{"_index":1063,"title":{"79":{},"206-37":{}},"name":{},"text":{"15":{},"19":{},"22":{},"29":{},"32":{},"33":{},"38":{},"46":{},"52":{},"59":{},"67":{},"69":{},"72":{},"78":{},"79":{},"82":{},"142":{},"143":{},"144":{},"160":{},"164":{},"180":{},"186":{},"187":{},"206":{},"211":{},"212":{},"214":{},"237":{},"242":{},"244":{},"274":{},"281":{},"287":{}},"component":{}}],["relationship",{"_index":5242,"title":{},"name":{},"text":{"88":{},"154":{}},"component":{}}],["relay",{"_index":7313,"title":{},"name":{},"text":{"203":{}},"component":{}}],["releas",{"_index":8,"title":{"65":{},"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"140":{},"141":{},"215":{},"66-1":{},"66-6":{},"66-12":{},"66-17":{},"66-22":{},"66-27":{},"66-30":{},"66-33":{},"66-36":{},"66-39":{},"66-42":{},"67-1":{},"67-2":{},"67-6":{},"67-11":{},"67-15":{},"67-16":{},"67-20":{},"67-23":{},"67-28":{},"67-29":{},"67-33":{},"67-37":{},"67-41":{},"67-42":{},"67-46":{},"67-49":{},"67-53":{},"67-57":{},"67-62":{},"67-65":{},"67-66":{},"67-70":{},"67-73":{},"67-76":{},"67-79":{},"67-82":{},"67-86":{},"67-91":{},"67-94":{},"67-95":{},"67-98":{},"67-100":{},"67-104":{},"67-106":{},"67-109":{},"67-110":{},"67-111":{},"67-112":{},"67-113":{},"67-114":{},"67-115":{},"67-116":{},"67-117":{},"67-118":{},"67-119":{},"67-120":{},"67-121":{},"67-122":{},"67-123":{},"67-124":{},"67-125":{},"67-126":{},"67-127":{},"67-128":{},"67-129":{},"67-130":{},"67-131":{},"67-132":{},"67-133":{},"67-134":{},"67-135":{},"67-136":{},"67-137":{},"67-138":{},"67-139":{},"67-140":{},"67-141":{},"67-142":{},"67-143":{},"67-144":{},"67-145":{},"93-1":{},"95-1":{},"98-1":{},"103-1":{},"109-1":{},"112-1":{},"119-1":{},"119-2":{},"119-3":{},"119-6":{},"119-7":{},"122-1":{},"126-1":{},"126-2":{},"126-3":{},"131-1":{},"134-1":{},"140-1":{},"140-6":{},"140-9":{},"140-14":{},"140-24":{},"140-25":{},"141-1":{},"141-2":{},"141-3":{},"141-4":{},"141-5":{},"141-6":{},"141-7":{},"141-8":{},"141-9":{},"141-10":{},"141-11":{},"141-12":{},"141-13":{},"141-14":{},"141-15":{},"141-16":{},"141-17":{},"141-18":{},"141-19":{},"141-20":{},"141-22":{},"141-23":{},"141-25":{}},"name":{"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"140":{},"141":{},"215":{}},"text":{"1":{},"3":{},"4":{},"53":{},"65":{},"66":{},"67":{},"87":{},"88":{},"93":{},"95":{},"98":{},"103":{},"107":{},"109":{},"111":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"137":{},"138":{},"140":{},"141":{},"144":{},"186":{},"191":{},"192":{},"206":{},"274":{},"279":{},"288":{}},"component":{}}],["releasedur",{"_index":5294,"title":{},"name":{},"text":{"88":{}},"component":{}}],["releaseseg",{"_index":5301,"title":{},"name":{},"text":{"88":{}},"component":{}}],["releasesegment(int",{"_index":5293,"title":{},"name":{},"text":{"88":{}},"component":{}}],["releasesegmentfor(str",{"_index":5303,"title":{},"name":{},"text":{"88":{}},"component":{}}],["relev",{"_index":1726,"title":{},"name":{},"text":{"32":{},"34":{},"77":{},"114":{},"142":{},"144":{},"151":{},"154":{},"187":{},"211":{},"212":{},"213":{},"214":{},"218":{},"224":{},"261":{},"273":{},"289":{}},"component":{}}],["reli",{"_index":2265,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"46":{},"50":{},"63":{},"79":{},"206":{},"216":{},"264":{},"281":{},"284":{},"287":{}},"component":{}}],["reliabl",{"_index":908,"title":{},"name":{},"text":{"6":{},"30":{},"40":{},"49":{},"76":{},"100":{},"165":{}},"component":{}}],["reload",{"_index":6802,"title":{},"name":{},"text":{"176":{},"279":{}},"component":{}}],["remain",{"_index":174,"title":{},"name":{},"text":{"2":{},"18":{},"29":{},"33":{},"35":{},"44":{},"67":{},"72":{},"74":{},"85":{},"140":{},"145":{},"147":{},"149":{},"151":{},"163":{},"179":{},"221":{},"229":{},"250":{},"254":{}},"component":{}}],["remaind",{"_index":1590,"title":{},"name":{},"text":{"31":{},"87":{}},"component":{}}],["remainingvalu",{"_index":1184,"title":{},"name":{},"text":{"18":{},"35":{},"84":{},"85":{},"202":{}},"component":{}}],["remark",{"_index":2645,"title":{},"name":{},"text":{"47":{}},"component":{}}],["remedi",{"_index":4340,"title":{},"name":{},"text":{"67":{}},"component":{}}],["rememb",{"_index":4821,"title":{},"name":{},"text":{"79":{},"102":{},"145":{},"176":{},"273":{},"280":{},"281":{}},"component":{}}],["remot",{"_index":2077,"title":{},"name":{},"text":{"38":{},"127":{},"178":{}},"component":{}}],["remov",{"_index":1148,"title":{"140-18":{},"151-8":{}},"name":{},"text":{"17":{},"31":{},"33":{},"38":{},"66":{},"67":{},"68":{},"79":{},"86":{},"107":{},"115":{},"116":{},"127":{},"140":{},"141":{},"143":{},"147":{},"151":{},"154":{},"156":{},"178":{},"180":{},"186":{},"226":{},"228":{},"229":{},"254":{},"255":{},"257":{},"260":{},"273":{},"281":{}},"component":{}}],["remove_node_from_clust",{"_index":6673,"title":{},"name":{},"text":{"171":{}},"component":{}}],["removed/deleted/clos",{"_index":4920,"title":{},"name":{},"text":{"82":{}},"component":{}}],["removenodefromreplicationgroup(leavereplicationgroup",{"_index":6993,"title":{},"name":{},"text":{"180":{}},"component":{}}],["renam",{"_index":3679,"title":{},"name":{},"text":{"66":{},"67":{},"79":{},"140":{}},"component":{}}],["render",{"_index":3008,"title":{},"name":{},"text":{"59":{},"274":{}},"component":{}}],["renew_app_token",{"_index":6674,"title":{},"name":{},"text":{"171":{}},"component":{}}],["rent",{"_index":7834,"title":{},"name":{},"text":{"280":{},"281":{},"286":{},"289":{}},"component":{}}],["rental",{"_index":1008,"title":{"277":{},"278-2":{},"279-5":{},"279-7":{}},"name":{"275":{}},"text":{"8":{},"13":{},"237":{},"238":{},"241":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{}},"component":{}}],["rental.queri",{"_index":7849,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental/pom.xml",{"_index":7676,"title":{},"name":{},"text":{"270":{},"276":{},"278":{},"279":{},"285":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/command/bike.java",{"_index":7957,"title":{},"name":{},"text":{"281":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/rentalcontroller.java",{"_index":7885,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/query/bikestatusprojection.java",{"_index":7850,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/ui/rentalcontroller.java",{"_index":7973,"title":{},"name":{},"text":{"281":{}},"component":{}}],["rental/src/main/java/resources/application.properti",{"_index":7748,"title":{},"name":{},"text":{"276":{}},"component":{}}],["rental/src/test/java/io/axoniq/demo/bikerental/rental/command/biketest.java",{"_index":8025,"title":{},"name":{},"text":{"285":{}},"component":{}}],["rentalappl",{"_index":8013,"title":{},"name":{},"text":{"284":{}},"component":{}}],["rentalcommand",{"_index":7722,"title":{},"name":{},"text":{"274":{}},"component":{}}],["rentalcontrol",{"_index":7884,"title":{},"name":{},"text":{"280":{},"281":{},"283":{},"289":{}},"component":{}}],["rentalcontroller(commandgateway",{"_index":7975,"title":{},"name":{},"text":{"281":{}},"component":{}}],["rentals.get(command.bikeid()).equals(rentalstate.avail",{"_index":8051,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["rentals.put(event.bikeid",{"_index":8058,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["rentalstate.avail",{"_index":8061,"title":{},"name":{},"text":{"288":{}},"component":{}}],["rentalstate.reserv",{"_index":8059,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["rentalstatu",{"_index":7839,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rentalstatus.avail",{"_index":7875,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental}}/bik",{"_index":7926,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental}}/bikes/8427681b",{"_index":7927,"title":{},"name":{},"text":{"280":{}},"component":{}}],["renter",{"_index":7838,"title":{},"name":{},"text":{"280":{},"288":{},"289":{}},"component":{}}],["reoccur",{"_index":5350,"title":{},"name":{},"text":{"88":{}},"component":{}}],["reopen",{"_index":5159,"title":{},"name":{},"text":{"88":{}},"component":{}}],["repeat",{"_index":717,"title":{},"name":{},"text":{"4":{},"144":{},"192":{},"275":{}},"component":{}}],["repetit",{"_index":4623,"title":{},"name":{},"text":{"72":{}},"component":{}}],["replac",{"_index":140,"title":{"140-10":{}},"name":{},"text":{"2":{},"3":{},"4":{},"6":{},"14":{},"15":{},"30":{},"33":{},"47":{},"53":{},"64":{},"66":{},"67":{},"77":{},"79":{},"86":{},"102":{},"110":{},"121":{},"138":{},"140":{},"142":{},"145":{},"148":{},"154":{},"162":{},"176":{},"177":{},"186":{},"191":{},"192":{},"215":{}},"component":{}}],["replay",{"_index":1974,"title":{"88-26":{},"88-29":{},"88-30":{},"260-4":{}},"name":{},"text":{"35":{},"46":{},"52":{},"58":{},"66":{},"67":{},"82":{},"85":{},"87":{},"88":{},"89":{},"144":{},"250":{},"260":{},"281":{}},"component":{}}],["replaycontext",{"_index":5346,"title":{},"name":{},"text":{"88":{}},"component":{}}],["replaystatu",{"_index":2840,"title":{},"name":{},"text":{"52":{},"66":{},"67":{},"88":{}},"component":{}}],["replaystatus#replay",{"_index":3313,"title":{},"name":{},"text":{"66":{}},"component":{}}],["replaytoken",{"_index":3311,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["replaytoken.replaycontext",{"_index":5345,"title":{},"name":{},"text":{"88":{}},"component":{}}],["replenish",{"_index":6538,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["repli",{"_index":7283,"title":{},"name":{},"text":{"202":{},"280":{},"281":{}},"component":{}}],["replic",{"_index":275,"title":{"157":{},"158":{},"157-3":{},"178-9":{},"180-3":{}},"name":{"157":{},"158":{}},"text":{"3":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"167":{},"169":{},"177":{},"178":{},"179":{},"180":{},"181":{},"185":{},"187":{},"191":{},"192":{}},"component":{}}],["replica",{"_index":593,"title":{},"name":{},"text":{"3":{},"88":{},"143":{},"151":{},"163":{},"179":{},"185":{},"191":{},"262":{}},"component":{}}],["replicas=3",{"_index":676,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["replication.flow",{"_index":6900,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.forc",{"_index":6903,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.heartbeat",{"_index":6904,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.index",{"_index":6845,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.initi",{"_index":6906,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.log",{"_index":6833,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.max",{"_index":6908,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.min",{"_index":6913,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.primari",{"_index":6914,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.secondari",{"_index":6915,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.seg",{"_index":6916,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.snapshot",{"_index":6918,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.sync",{"_index":6919,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.us",{"_index":6922,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.wait",{"_index":6920,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replicationgroup",{"_index":6494,"title":{},"name":{},"text":{"154":{},"166":{},"169":{},"177":{}},"component":{}}],["replicationgroupadminservic",{"_index":6984,"title":{},"name":{},"text":{"180":{}},"component":{}}],["replicationgroupoverview",{"_index":6986,"title":{},"name":{},"text":{"180":{}},"component":{}}],["repons",{"_index":7892,"title":{},"name":{},"text":{"280":{}},"component":{}}],["reponsetypes#instanceof(class",{"_index":3256,"title":{},"name":{},"text":{"64":{}},"component":{}}],["reponsetypes#multipleinstancesof(class",{"_index":3258,"title":{},"name":{},"text":{"64":{}},"component":{}}],["report",{"_index":2535,"title":{},"name":{},"text":{"46":{},"49":{},"66":{},"67":{},"72":{},"87":{},"227":{},"234":{},"236":{},"261":{}},"component":{}}],["repositori",{"_index":323,"title":{"36-3":{},"36-4":{},"36-5":{},"69-6":{},"71-4":{}},"name":{},"text":{"3":{},"30":{},"35":{},"36":{},"38":{},"46":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"85":{},"100":{},"191":{},"276":{},"280":{},"282":{}},"component":{}}],["repositories/servic",{"_index":2811,"title":{},"name":{},"text":{"51":{}},"component":{}}],["repository#load(str",{"_index":2000,"title":{},"name":{},"text":{"35":{}},"component":{}}],["repository/axonserver:2023.1",{"_index":424,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["repository/axonserver:2023.1.1",{"_index":399,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["repositoryclass}.load",{"_index":3070,"title":{},"name":{},"text":{"59":{}},"component":{}}],["repositoryforgiftcard",{"_index":2041,"title":{},"name":{},"text":{"36":{}},"component":{}}],["repositoryforgiftcard(eventstor",{"_index":2038,"title":{},"name":{},"text":{"36":{}},"component":{}}],["repositoryprovid",{"_index":4553,"title":{},"name":{},"text":{"72":{}},"component":{}}],["repository’",{"_index":4741,"title":{},"name":{},"text":{"77":{}},"component":{}}],["repres",{"_index":776,"title":{},"name":{},"text":{"5":{},"6":{},"24":{},"27":{},"35":{},"46":{},"47":{},"63":{},"68":{},"69":{},"72":{},"74":{},"88":{},"115":{},"145":{},"216":{},"217":{},"219":{},"244":{},"255":{},"274":{},"280":{},"281":{},"288":{},"289":{},"290":{}},"component":{}}],["represent",{"_index":1710,"title":{},"name":{},"text":{"31":{},"44":{},"68":{},"87":{},"145":{},"151":{},"154":{},"157":{},"192":{},"215":{},"226":{},"243":{}},"component":{}}],["reprocess",{"_index":5170,"title":{},"name":{},"text":{"88":{}},"component":{}}],["reproduc",{"_index":2669,"title":{},"name":{},"text":{"49":{},"226":{}},"component":{}}],["request",{"_index":635,"title":{"143-1":{},"280-9":{},"283-4":{}},"name":{},"text":{"3":{},"5":{},"29":{},"31":{},"47":{},"49":{},"54":{},"59":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"77":{},"133":{},"141":{},"142":{},"143":{},"144":{},"145":{},"148":{},"150":{},"163":{},"168":{},"172":{},"178":{},"179":{},"180":{},"186":{},"191":{},"199":{},"202":{},"203":{},"204":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"270":{},"274":{},"275":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["requestbikecommand",{"_index":7721,"title":{},"name":{},"text":{"274":{}},"component":{}}],["requestmap",{"_index":7886,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["requestmapping(\"/inventori",{"_index":8068,"title":{},"name":{},"text":{"289":{},"290":{}},"component":{}}],["requestmessag",{"_index":7725,"title":{},"name":{},"text":{"274":{}},"component":{}}],["requestparam",{"_index":5747,"title":{},"name":{},"text":{"115":{}},"component":{}}],["requestparam(\"biketyp",{"_index":7983,"title":{},"name":{},"text":{"281":{}},"component":{}}],["requestparam(\"loc",{"_index":7984,"title":{},"name":{},"text":{"281":{}},"component":{}}],["requests.http",{"_index":7925,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["request’",{"_index":7281,"title":{},"name":{},"text":{"202":{},"211":{},"212":{},"214":{},"217":{},"281":{}},"component":{}}],["requeu",{"_index":1053,"title":{},"name":{},"text":{"14":{}},"component":{}}],["requir",{"_index":315,"title":{"117-1":{},"199-4":{}},"name":{"269":{}},"text":{"3":{},"4":{},"5":{},"16":{},"19":{},"20":{},"23":{},"26":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"53":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"100":{},"101":{},"102":{},"104":{},"111":{},"117":{},"123":{},"124":{},"127":{},"128":{},"130":{},"138":{},"142":{},"144":{},"145":{},"147":{},"151":{},"156":{},"161":{},"162":{},"165":{},"169":{},"172":{},"173":{},"174":{},"175":{},"176":{},"178":{},"191":{},"192":{},"198":{},"199":{},"204":{},"208":{},"215":{},"216":{},"217":{},"219":{},"226":{},"249":{},"250":{},"260":{},"262":{},"264":{},"274":{},"278":{},"279":{},"280":{},"281":{},"283":{},"289":{},"290":{}},"component":{}}],["requisit",{"_index":7211,"title":{"199-3":{},"277-1":{},"284-1":{}},"name":{},"text":{},"component":{}}],["reschedul",{"_index":2200,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["reschedule_ev",{"_index":6695,"title":{},"name":{},"text":{"171":{}},"component":{}}],["reschedulecommandsoncorruptst",{"_index":2199,"title":{},"name":{},"text":{"38":{}},"component":{}}],["resembl",{"_index":4879,"title":{},"name":{},"text":{"80":{},"87":{}},"component":{}}],["reserv",{"_index":4156,"title":{"288":{}},"name":{"288":{}},"text":{"67":{},"99":{},"274":{},"288":{},"289":{}},"component":{}}],["reservationconfirm",{"_index":7960,"title":{},"name":{},"text":{"281":{}},"component":{}}],["reservebike(@requestparam(\"bikeid",{"_index":8070,"title":{},"name":{},"text":{"289":{}},"component":{}}],["reservebikecommand",{"_index":8064,"title":{},"name":{},"text":{"289":{}},"component":{}}],["reservebikecommand(bikeid",{"_index":8071,"title":{},"name":{},"text":{"289":{}},"component":{}}],["reservedbi",{"_index":7959,"title":{},"name":{},"text":{"281":{}},"component":{}}],["reset",{"_index":2905,"title":{"88-27":{},"88-28":{},"115-7":{},"144-1":{}},"name":{},"text":{"57":{},"58":{},"66":{},"67":{},"88":{},"99":{},"115":{},"141":{},"144":{},"161":{},"246":{},"249":{},"259":{},"260":{},"274":{}},"component":{}}],["resetcontext",{"_index":3500,"title":{},"name":{},"text":{"66":{},"88":{}},"component":{}}],["resethandl",{"_index":4342,"title":{},"name":{},"text":{"67":{},"88":{},"260":{},"274":{}},"component":{}}],["resettoken",{"_index":5328,"title":{},"name":{},"text":{"88":{},"144":{}},"component":{}}],["resettokens(funct",{"_index":5330,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resettokens(r",{"_index":5329,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resettokens(trackingtoken",{"_index":5332,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resettokensfor(str",{"_index":5334,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resid",{"_index":2665,"title":{},"name":{},"text":{"49":{},"88":{},"286":{}},"component":{}}],["resili",{"_index":971,"title":{},"name":{},"text":{"6":{},"88":{},"120":{}},"component":{}}],["resolut",{"_index":1310,"title":{"83":{}},"name":{"83":{}},"text":{"24":{},"34":{},"36":{},"42":{},"52":{},"66":{},"67":{},"69":{},"140":{}},"component":{}}],["resolv",{"_index":1362,"title":{"26":{},"115-4":{}},"name":{"26":{}},"text":{"26":{},"29":{},"31":{},"33":{},"34":{},"36":{},"38":{},"43":{},"44":{},"51":{},"52":{},"63":{},"64":{},"66":{},"67":{},"75":{},"82":{},"86":{},"88":{},"115":{},"143":{},"151":{}},"component":{}}],["resourc",{"_index":634,"title":{"69-3":{},"145-14":{},"199-6":{},"262-4":{}},"name":{},"text":{"3":{},"6":{},"8":{},"13":{},"16":{},"36":{},"39":{},"51":{},"52":{},"53":{},"63":{},"66":{},"67":{},"69":{},"72":{},"74":{},"88":{},"120":{},"140":{},"145":{},"151":{},"182":{},"191":{},"199":{},"206":{},"247":{},"262":{},"288":{}},"component":{}}],["resourceinjector",{"_index":4469,"title":{},"name":{},"text":{"69":{}},"component":{}}],["respect",{"_index":569,"title":{},"name":{},"text":{"3":{},"31":{},"32":{},"33":{},"34":{},"35":{},"38":{},"44":{},"46":{},"48":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"87":{},"88":{},"99":{},"104":{},"127":{},"129":{},"150":{},"191":{},"211":{},"212":{},"214":{},"247":{},"276":{}},"component":{}}],["respond",{"_index":873,"title":{},"name":{},"text":{"6":{},"51":{},"74":{},"87":{},"143":{},"144":{},"157":{},"179":{},"189":{},"202":{},"214":{},"219":{},"280":{}},"component":{}}],["respons",{"_index":951,"title":{"255-1":{},"280-1":{}},"name":{},"text":{"6":{},"31":{},"34":{},"38":{},"39":{},"46":{},"47":{},"50":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"115":{},"120":{},"121":{},"140":{},"141":{},"154":{},"157":{},"165":{},"179":{},"186":{},"192":{},"202":{},"203":{},"211":{},"215":{},"219":{},"254":{},"255":{},"280":{},"281":{},"283":{},"288":{},"289":{},"290":{}},"component":{}}],["responsecardin",{"_index":7317,"title":{},"name":{},"text":{"203":{}},"component":{}}],["responsecount",{"_index":7524,"title":{},"name":{},"text":{"219":{}},"component":{}}],["responseprocessingtask",{"_index":3098,"title":{},"name":{},"text":{"59":{}},"component":{}}],["responsetyp",{"_index":1595,"title":{},"name":{},"text":{"31":{},"64":{},"108":{},"121":{},"203":{},"215":{},"219":{}},"component":{}}],["responsetype.class).retry(5",{"_index":5801,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.instanceof(cardsummary.class",{"_index":3185,"title":{},"name":{},"text":{"63":{}},"component":{}}],["responsetypes.instanceof(responsetyp",{"_index":5843,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.instanceof(void.class",{"_index":5847,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.multipleinstanceof(bikestatus.class",{"_index":7896,"title":{},"name":{},"text":{"280":{}},"component":{}}],["responsetypes.multipleinstancesof(bikestatus.class",{"_index":7889,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["responsetypes.multipleinstancesof(cardsummary.class",{"_index":3184,"title":{},"name":{},"text":{"63":{}},"component":{}}],["responsetypes.multipleinstancesof(responsetyp",{"_index":5842,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.multipleinstancesof(string.class",{"_index":3142,"title":{},"name":{},"text":{"63":{}},"component":{}}],["rest",{"_index":965,"title":{"139":{},"166":{},"182":{},"144-4":{},"147-10":{},"166-1":{},"166-2":{},"281-8":{}},"name":{"139":{},"182":{}},"text":{"6":{},"59":{},"67":{},"80":{},"87":{},"115":{},"121":{},"128":{},"130":{},"140":{},"142":{},"143":{},"144":{},"147":{},"156":{},"165":{},"166":{},"168":{},"169":{},"173":{},"174":{},"181":{},"182":{},"192":{},"206":{},"224":{},"234":{},"235":{},"250":{},"265":{},"273":{},"274":{},"275":{},"276":{},"280":{},"281":{},"283":{}},"component":{}}],["restart",{"_index":980,"title":{},"name":{},"text":{"6":{},"140":{},"141":{},"144":{},"148":{},"162":{},"176":{},"179":{},"199":{},"246":{}},"component":{}}],["restcapabilitydiscoverymod",{"_index":5916,"title":{},"name":{},"text":{"127":{}},"component":{}}],["restcapabilitydiscoverymode.build",{"_index":5931,"title":{},"name":{},"text":{"128":{}},"component":{}}],["restcontrol",{"_index":7883,"title":{},"name":{},"text":{"280":{},"281":{},"289":{},"290":{}},"component":{}}],["restituit",{"_index":7606,"title":{},"name":{},"text":{"254":{}},"component":{}}],["restoper",{"_index":5943,"title":{},"name":{},"text":{"128":{},"130":{}},"component":{}}],["restoperations(restoper",{"_index":5946,"title":{},"name":{},"text":{"128":{}},"component":{}}],["restor",{"_index":2051,"title":{},"name":{},"text":{"36":{},"66":{}},"component":{}}],["restrict",{"_index":1361,"title":{"117-2":{}},"name":{},"text":{"25":{},"143":{},"179":{},"215":{}},"component":{}}],["restructur",{"_index":3822,"title":{},"name":{},"text":{"66":{}},"component":{}}],["resttempl",{"_index":5917,"title":{},"name":{},"text":{"127":{},"128":{},"130":{}},"component":{}}],["resttemplate(resttempl",{"_index":5932,"title":{},"name":{},"text":{"128":{}},"component":{}}],["result",{"_index":892,"title":{"34-3":{},"72-6":{},"121-16":{}},"name":{},"text":{"6":{},"15":{},"16":{},"29":{},"31":{},"34":{},"35":{},"38":{},"39":{},"42":{},"44":{},"46":{},"48":{},"49":{},"50":{},"51":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"72":{},"74":{},"77":{},"79":{},"82":{},"85":{},"86":{},"88":{},"105":{},"121":{},"130":{},"138":{},"143":{},"144":{},"145":{},"151":{},"163":{},"179":{},"194":{},"202":{},"215":{},"226":{},"280":{},"281":{},"282":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["result.clos",{"_index":5839,"title":{},"name":{},"text":{"121":{}},"component":{}}],["result.equals(tru",{"_index":6230,"title":{},"name":{},"text":{"144":{}},"component":{}}],["result.get",{"_index":7897,"title":{},"name":{},"text":{"280":{}},"component":{}}],["result.initialresult",{"_index":5836,"title":{},"name":{},"text":{"121":{}},"component":{}}],["result.upd",{"_index":5848,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultflux",{"_index":5828,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultmessag",{"_index":2872,"title":{},"name":{},"text":{"53":{},"121":{}},"component":{}}],["results.filter(it",{"_index":5897,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.filter(r",{"_index":5888,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.flatmap(r",{"_index":5891,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.log().take(5",{"_index":5902,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.timeout(duration.ofseconds(30",{"_index":5901,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultstreampublisher<>(adminchannel::eventprocessor",{"_index":6219,"title":{},"name":{},"text":{"144":{}},"component":{}}],["resulttyp",{"_index":7183,"title":{},"name":{},"text":{"195":{}},"component":{}}],["resulttype.class",{"_index":5830,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultvalid",{"_index":4547,"title":{},"name":{},"text":{"72":{}},"component":{}}],["resum",{"_index":6453,"title":{},"name":{},"text":{"151":{},"215":{}},"component":{}}],["retain",{"_index":6235,"title":{},"name":{},"text":{"144":{},"156":{},"274":{}},"component":{}}],["retent",{"_index":6336,"title":{"151-9":{},"151-10":{},"151-11":{}},"name":{},"text":{"147":{},"151":{},"156":{},"179":{},"192":{},"250":{}},"component":{}}],["retention(retentionpolicy.runtim",{"_index":1374,"title":{},"name":{},"text":{"27":{}},"component":{}}],["rethrow",{"_index":2869,"title":{},"name":{},"text":{"53":{},"87":{},"88":{},"89":{}},"component":{}}],["rethrown",{"_index":4286,"title":{},"name":{},"text":{"67":{},"87":{}},"component":{}}],["retri",{"_index":856,"title":{"17":{}},"name":{"17":{}},"text":{"5":{},"14":{},"15":{},"16":{},"17":{},"38":{},"66":{},"67":{},"76":{},"86":{},"87":{},"88":{},"104":{},"115":{},"121":{},"179":{},"206":{},"221":{},"249":{},"250":{},"257":{},"259":{}},"component":{}}],["retriev",{"_index":854,"title":{"88-14":{}},"name":{},"text":{"5":{},"17":{},"30":{},"34":{},"35":{},"42":{},"44":{},"46":{},"53":{},"57":{},"58":{},"60":{},"64":{},"66":{},"67":{},"69":{},"71":{},"77":{},"86":{},"87":{},"88":{},"99":{},"102":{},"113":{},"114":{},"115":{},"127":{},"128":{},"142":{},"144":{},"145":{},"151":{},"190":{},"206":{},"208":{},"280":{},"284":{},"290":{}},"component":{}}],["retrievestorageidentifi",{"_index":5226,"title":{},"name":{},"text":{"88":{}},"component":{}}],["retrievetrackingprocessor(axonconfig",{"_index":4711,"title":{},"name":{},"text":{"76":{}},"component":{}}],["retrievetrackingprocessor(org.axonframework.config.configur",{"_index":4704,"title":{},"name":{},"text":{"76":{}},"component":{}}],["retry/delet",{"_index":7616,"title":{},"name":{},"text":{"255":{}},"component":{}}],["retryabl",{"_index":3798,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["retryallsequences(str",{"_index":5020,"title":{},"name":{},"text":{"86":{}},"component":{}}],["retryanysequence(str",{"_index":5018,"title":{},"name":{},"text":{"86":{}},"component":{}}],["retrydlq(@requestparam",{"_index":5746,"title":{},"name":{},"text":{"115":{}},"component":{}}],["retryerroreventsequence(str",{"_index":5013,"title":{},"name":{},"text":{"86":{}},"component":{}}],["retryschedul",{"_index":2066,"title":{"38-3":{}},"name":{},"text":{"38":{},"66":{},"67":{}},"component":{}}],["retrywhen(retry.fixeddelay(3",{"_index":6232,"title":{},"name":{},"text":{"144":{}},"component":{}}],["return",{"_index":1038,"title":{"64-3":{},"64-4":{},"64-5":{},"64-6":{},"280-7":{}},"name":{},"text":{"14":{},"15":{},"18":{},"20":{},"22":{},"24":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"99":{},"101":{},"102":{},"108":{},"110":{},"113":{},"115":{},"121":{},"128":{},"130":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"168":{},"178":{},"180":{},"185":{},"189":{},"194":{},"195":{},"198":{},"202":{},"203":{},"211":{},"215":{},"219":{},"244":{},"260":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["returnvalu",{"_index":2121,"title":{},"name":{},"text":{"38":{}},"component":{}}],["reus",{"_index":1445,"title":{},"name":{},"text":{"29":{},"38":{},"53":{},"66":{},"130":{},"283":{}},"component":{}}],["revamp",{"_index":6013,"title":{},"name":{},"text":{"140":{}},"component":{}}],["revers",{"_index":3955,"title":{},"name":{},"text":{"67":{},"221":{}},"component":{}}],["revert",{"_index":4121,"title":{},"name":{},"text":{"67":{},"141":{}},"component":{}}],["review",{"_index":7695,"title":{"283-5":{},"283-6":{}},"name":{},"text":{"273":{}},"component":{}}],["revis",{"_index":1649,"title":{},"name":{},"text":{"31":{},"44":{},"66":{},"77":{},"106":{},"215":{}},"component":{}}],["revision(\"1",{"_index":4768,"title":{},"name":{},"text":{"77":{}},"component":{}}],["revision(\"1.0",{"_index":2470,"title":{},"name":{},"text":{"44":{}},"component":{}}],["revision(\"2.0",{"_index":2473,"title":{},"name":{},"text":{"44":{}},"component":{}}],["revisionresolv",{"_index":2437,"title":{},"name":{},"text":{"44":{}},"component":{}}],["revisions(\"0",{"_index":5640,"title":{},"name":{},"text":{"106":{}},"component":{}}],["revisionsnapshotfilt",{"_index":4291,"title":{},"name":{},"text":{"67":{},"77":{}},"component":{}}],["revolv",{"_index":882,"title":{},"name":{},"text":{"6":{},"53":{},"66":{},"88":{},"127":{}},"component":{}}],["rid",{"_index":6249,"title":{},"name":{},"text":{"145":{}},"component":{}}],["ride",{"_index":8047,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["right",{"_index":549,"title":{},"name":{},"text":{"3":{},"32":{},"46":{},"67":{},"69":{},"77":{},"79":{},"99":{},"115":{},"169":{},"173":{},"191":{},"195":{},"201":{},"235":{},"239":{},"242":{},"245":{},"246":{},"260":{},"262":{},"270":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["rightfulli",{"_index":4212,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ring",{"_index":2178,"title":{},"name":{},"text":{"38":{}},"component":{}}],["rise",{"_index":7630,"title":{},"name":{},"text":{"261":{},"273":{}},"component":{}}],["risk",{"_index":6499,"title":{},"name":{},"text":{"156":{}},"component":{}}],["rn",{"_index":6005,"title":{},"name":{"140":{},"141":{}},"text":{},"component":{}}],["robin",{"_index":6952,"title":{},"name":{},"text":{"179":{}},"component":{}}],["robust",{"_index":125,"title":{},"name":{},"text":{"2":{},"6":{},"30":{},"230":{},"240":{}},"component":{}}],["role",{"_index":92,"title":{"156":{},"171":{},"255":{},"156-6":{},"157-1":{},"169-3":{},"170-4":{},"172-5":{},"255-1":{}},"name":{"156":{},"255":{}},"text":{"2":{},"30":{},"31":{},"36":{},"89":{},"140":{},"141":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"162":{},"166":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"177":{},"178":{},"180":{},"192":{},"199":{},"204":{},"208":{},"234":{},"254":{},"255":{}},"component":{}}],["role@context",{"_index":6575,"title":{},"name":{},"text":{"168":{}},"component":{}}],["role_name}@{context_nam",{"_index":6812,"title":{},"name":{},"text":{"178":{}},"component":{}}],["role`@`context",{"_index":6586,"title":{},"name":{},"text":{"169":{}},"component":{}}],["roles/context",{"_index":6530,"title":{},"name":{},"text":{"162":{}},"component":{}}],["roll",{"_index":713,"title":{},"name":{},"text":{"4":{},"31":{},"38":{},"51":{},"53":{},"66":{},"67":{},"69":{},"77":{},"79":{},"88":{},"143":{}},"component":{}}],["rollback",{"_index":2082,"title":{},"name":{},"text":{"38":{},"53":{},"63":{},"66":{},"77":{},"86":{},"87":{},"88":{},"102":{}},"component":{}}],["rollbackconfigur",{"_index":2197,"title":{},"name":{},"text":{"38":{},"77":{},"87":{}},"component":{}}],["rollbackconfigurationtype.any_throw",{"_index":2856,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollbackconfigurationtype.nev",{"_index":2855,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollbackconfigurationtype.runtime_except",{"_index":2858,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollbackconfigurationtype.unchecked_except",{"_index":2857,"title":{},"name":{},"text":{"53":{}},"component":{}}],["roomavailabilityhandler.on(roomaddedev",{"_index":3114,"title":{},"name":{},"text":{"59":{}},"component":{}}],["root",{"_index":225,"title":{"279-2":{}},"name":{},"text":{"3":{},"34":{},"36":{},"50":{},"51":{},"53":{},"59":{},"67":{},"82":{},"84":{},"85":{},"176":{},"191":{},"270":{},"276":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["rotat",{"_index":1171,"title":{},"name":{},"text":{"17":{}},"component":{}}],["roughli",{"_index":1980,"title":{},"name":{},"text":{"35":{},"72":{},"79":{},"87":{},"88":{},"107":{}},"component":{}}],["round",{"_index":6912,"title":{},"name":{},"text":{"179":{},"265":{}},"component":{}}],["roundtrip",{"_index":2592,"title":{},"name":{},"text":{"46":{}},"component":{}}],["rout",{"_index":80,"title":{"127":{},"38-14":{},"115-3":{},"150-1":{}},"name":{"127":{}},"text":{"2":{},"6":{},"27":{},"35":{},"38":{},"62":{},"67":{},"69":{},"75":{},"77":{},"79":{},"84":{},"115":{},"127":{},"129":{},"130":{},"150":{},"156":{},"179":{},"192":{},"202":{},"211":{},"215":{},"216":{},"280":{},"281":{},"284":{}},"component":{}}],["router",{"_index":64,"title":{},"name":{},"text":{"2":{},"127":{},"179":{}},"component":{}}],["routin",{"_index":1004,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["routingkey",{"_index":1382,"title":{},"name":{},"text":{"27":{},"35":{},"38":{},"84":{},"211":{},"216":{}},"component":{}}],["routingservers(new",{"_index":6269,"title":{},"name":{},"text":{"145":{}},"component":{}}],["routingstrategi",{"_index":1937,"title":{},"name":{},"text":{"35":{},"38":{},"127":{}},"component":{}}],["routingstrategy(new",{"_index":5938,"title":{},"name":{},"text":{"128":{}},"component":{}}],["row",{"_index":1428,"title":{},"name":{},"text":{"29":{},"46":{},"143":{},"239":{},"246":{},"257":{},"260":{},"262":{},"273":{},"274":{},"283":{}},"component":{}}],["rpc",{"_index":6961,"title":{},"name":{},"text":{"180":{}},"component":{}}],["rsobi",{"_index":3918,"title":{},"name":{},"text":{"67":{}},"component":{}}],["rule",{"_index":655,"title":{"87-2":{}},"name":{},"text":{"3":{},"18":{},"43":{},"64":{},"67":{},"69":{},"82":{},"84":{},"87":{},"121":{},"145":{},"191":{},"239":{},"242":{},"245":{},"246":{},"250":{},"274":{},"281":{}},"component":{}}],["run",{"_index":224,"title":{"283":{},"284":{},"201-3":{},"201-4":{},"201-6":{},"206-57":{},"208-3":{},"277-3":{},"280-12":{},"284-4":{},"284-5":{}},"name":{"284":{}},"text":{"3":{},"5":{},"16":{},"24":{},"28":{},"30":{},"31":{},"32":{},"33":{},"38":{},"52":{},"54":{},"66":{},"67":{},"69":{},"70":{},"77":{},"79":{},"88":{},"101":{},"102":{},"111":{},"115":{},"123":{},"124":{},"126":{},"133":{},"140":{},"141":{},"143":{},"144":{},"145":{},"148":{},"150":{},"151":{},"154":{},"161":{},"164":{},"167":{},"177":{},"178":{},"179":{},"180":{},"185":{},"191":{},"192":{},"199":{},"201":{},"208":{},"211":{},"215":{},"221":{},"229":{},"232":{},"237":{},"238":{},"241":{},"245":{},"246":{},"247":{},"250":{},"260":{},"261":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"270":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["runasus",{"_index":598,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["runnabl",{"_index":2388,"title":{},"name":{},"text":{"42":{},"67":{}},"component":{}}],["runtim",{"_index":1492,"title":{"140-10":{}},"name":{},"text":{"30":{},"36":{},"38":{},"39":{},"53":{},"66":{},"72":{},"76":{},"84":{},"88":{},"115":{},"124":{},"140":{},"151":{},"165":{},"284":{}},"component":{}}],["runtimeexcept",{"_index":2090,"title":{},"name":{},"text":{"38":{},"144":{}},"component":{}}],["runtimeexception(\"no",{"_index":5894,"title":{},"name":{},"text":{"121":{}},"component":{}}],["rust",{"_index":7248,"title":{},"name":{},"text":{"200":{}},"component":{}}],["s",{"_index":357,"title":{},"name":{},"text":{"3":{},"53":{},"127":{},"140":{},"147":{},"148":{},"156":{},"168":{},"169":{},"173":{},"174":{},"178":{},"191":{},"280":{},"285":{}},"component":{}}],["s.b.d.c.l.dockercomposelifecyclemanag",{"_index":8018,"title":{},"name":{},"text":{"284":{}},"component":{}}],["s.getvalue().tostr",{"_index":2947,"title":{},"name":{},"text":{"57":{}},"component":{}}],["sabartiu",{"_index":3818,"title":{},"name":{},"text":{"66":{}},"component":{}}],["safe",{"_index":1288,"title":{},"name":{},"text":{"23":{},"33":{},"49":{},"53":{},"67":{},"72":{},"142":{},"151":{}},"component":{}}],["safer",{"_index":6446,"title":{},"name":{},"text":{"151":{}},"component":{}}],["safest",{"_index":7461,"title":{},"name":{},"text":{"211":{}},"component":{}}],["safeti",{"_index":4482,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["saga",{"_index":1210,"title":{"70":{},"74":{},"59-35":{},"69-4":{},"69-5":{},"69-6":{},"69-11":{},"71-1":{},"71-4":{},"111-3":{}},"name":{"74":{}},"text":{"19":{},"21":{},"28":{},"29":{},"30":{},"31":{},"32":{},"35":{},"39":{},"40":{},"41":{},"46":{},"51":{},"52":{},"59":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"73":{},"74":{},"79":{},"86":{},"87":{},"88":{},"97":{},"111":{},"114":{},"274":{}},"component":{}}],["saga(sagastor",{"_index":4513,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["saga_entri",{"_index":4838,"title":{},"name":{},"text":{"79":{}},"component":{}}],["sagaconfigur",{"_index":4501,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagaconfigurer.configuresagastor",{"_index":4510,"title":{},"name":{},"text":{"69":{}},"component":{}}],["sagaconfigurer.configuresagastore(c",{"_index":4520,"title":{},"name":{},"text":{"71":{}},"component":{}}],["sagaentri",{"_index":1826,"title":{},"name":{},"text":{"33":{},"79":{}},"component":{}}],["sagaeventhandl",{"_index":4422,"title":{},"name":{},"text":{"68":{},"69":{}},"component":{}}],["sagaeventhandler(associationproperti",{"_index":4433,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagaeventhandler(associationproperty=\"orderid",{"_index":4461,"title":{},"name":{},"text":{"69":{}},"component":{}}],["sagaeventhandler(associationproperty=\"sellorderid",{"_index":4467,"title":{},"name":{},"text":{"69":{}},"component":{}}],["sagafixturetest",{"_index":4060,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sagaid",{"_index":4803,"title":{},"name":{},"text":{"79":{}},"component":{}}],["sagaidentifi",{"_index":3090,"title":{},"name":{},"text":{"59":{},"111":{}},"component":{}}],["sagalifecycle.associatewith(\"invoiceid",{"_index":4442,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagalifecycle.associatewith(\"shipmentid",{"_index":4441,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagalifecycle.associatewith(str",{"_index":4423,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagalifecycle.associationvalu",{"_index":3515,"title":{},"name":{},"text":{"66":{},"68":{}},"component":{}}],["sagalifecycle.end",{"_index":4445,"title":{},"name":{},"text":{"68":{},"69":{}},"component":{}}],["sagalifecycle.removeassociationwith(str",{"_index":4425,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagamanag",{"_index":4477,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagamanager[${sagatypename}].invokesaga",{"_index":3089,"title":{},"name":{},"text":{"59":{}},"component":{}}],["sagamanager[${sagatypename}].startnewsaga",{"_index":3091,"title":{},"name":{},"text":{"59":{}},"component":{}}],["sagamethodmessagehandlerdefinit",{"_index":4057,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sagarepositori",{"_index":4470,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagasqlschema",{"_index":4488,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagastor",{"_index":3449,"title":{},"name":{},"text":{"66":{},"69":{},"71":{}},"component":{}}],["sagatestfixtur",{"_index":1266,"title":{},"name":{},"text":{"22":{},"66":{},"67":{}},"component":{}}],["sagatestfixture<>(invoicingsaga.class",{"_index":4673,"title":{},"name":{},"text":{"74":{}},"component":{}}],["sagatyp",{"_index":4801,"title":{},"name":{},"text":{"79":{},"111":{}},"component":{}}],["saga’",{"_index":3086,"title":{},"name":{},"text":{"59":{},"69":{},"71":{},"86":{},"114":{}},"component":{}}],["sajjad",{"_index":3305,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sake",{"_index":7980,"title":{},"name":{},"text":{"281":{},"283":{}},"component":{}}],["same",{"_index":244,"title":{},"name":{},"text":{"3":{},"4":{},"14":{},"15":{},"16":{},"19":{},"20":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"46":{},"47":{},"48":{},"51":{},"56":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"81":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"115":{},"120":{},"124":{},"127":{},"133":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"167":{},"168":{},"172":{},"176":{},"178":{},"179":{},"191":{},"192":{},"197":{},"198":{},"199":{},"203":{},"204":{},"206":{},"211":{},"216":{},"217":{},"250":{},"255":{},"261":{},"276":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["sameorigin",{"_index":6086,"title":{},"name":{},"text":{"141":{}},"component":{}}],["sampl",{"_index":1692,"title":{},"name":{},"text":{"31":{},"36":{},"38":{},"43":{},"50":{},"51":{},"57":{},"63":{},"64":{},"72":{},"74":{},"77":{},"86":{},"87":{},"88":{},"100":{},"104":{},"105":{},"108":{},"144":{},"147":{},"149":{},"178":{},"192":{},"193":{},"201":{},"203":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"264":{},"279":{}},"component":{}}],["sampleconfigurationlisten",{"_index":6389,"title":{},"name":{},"text":{"148":{}},"component":{}}],["samples/bik",{"_index":8016,"title":{},"name":{},"text":{"284":{}},"component":{}}],["sandjelkov",{"_index":3736,"title":{},"name":{},"text":{"66":{},"119":{}},"component":{}}],["saratri",{"_index":3729,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["sascha",{"_index":3739,"title":{},"name":{},"text":{"66":{}},"component":{}}],["satisfi",{"_index":6466,"title":{},"name":{},"text":{"151":{},"280":{}},"component":{}}],["save",{"_index":2024,"title":{},"name":{},"text":{"36":{},"38":{},"69":{},"71":{},"79":{},"85":{},"86":{},"88":{},"145":{},"262":{},"270":{},"273":{},"277":{},"280":{},"283":{}},"component":{}}],["saw",{"_index":4314,"title":{},"name":{},"text":{"67":{}},"component":{}}],["say",{"_index":7691,"title":{},"name":{},"text":{"273":{}},"component":{}}],["sbloom",{"_index":6842,"title":{},"name":{},"text":{"179":{}},"component":{}}],["scalabl",{"_index":42,"title":{"2-4":{}},"name":{},"text":{"2":{},"6":{},"28":{},"46":{},"88":{},"250":{}},"component":{}}],["scale",{"_index":45,"title":{"2-4":{},"260-6":{}},"name":{},"text":{"2":{},"3":{},"6":{},"49":{},"76":{},"88":{},"115":{},"117":{},"140":{},"165":{},"191":{},"249":{},"250":{},"259":{},"260":{},"264":{},"266":{},"273":{},"274":{},"279":{},"280":{},"281":{}},"component":{}}],["scan",{"_index":1372,"title":{},"name":{},"text":{"27":{},"60":{},"66":{},"69":{}},"component":{}}],["scatter",{"_index":2994,"title":{"59-43":{},"63-3":{}},"name":{},"text":{"59":{},"61":{},"62":{},"63":{},"67":{},"219":{}},"component":{}}],["scattergath",{"_index":3951,"title":{"121-7":{}},"name":{},"text":{"67":{}},"component":{}}],["scenario",{"_index":1409,"title":{},"name":{},"text":{"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"48":{},"57":{},"60":{},"66":{},"67":{},"72":{},"76":{},"77":{},"80":{},"86":{},"87":{},"88":{},"89":{},"140":{},"142":{},"145":{},"150":{},"151":{},"155":{},"234":{},"270":{},"271":{},"273":{},"282":{}},"component":{}}],["scenario’",{"_index":4643,"title":{},"name":{},"text":{"72":{}},"component":{}}],["schanana",{"_index":3359,"title":{},"name":{},"text":{"66":{}},"component":{}}],["schedul",{"_index":1152,"title":{"40":{},"39-1":{},"40-1":{},"40-2":{},"40-3":{},"40-4":{},"40-5":{},"40-6":{},"115-10":{},"140-25":{},"186-4":{}},"name":{"40":{}},"text":{"17":{},"18":{},"20":{},"21":{},"38":{},"39":{},"40":{},"41":{},"52":{},"53":{},"59":{},"66":{},"67":{},"72":{},"74":{},"87":{},"115":{},"140":{},"143":{},"145":{},"186":{},"192":{}},"component":{}}],["schedule(ev",{"_index":5762,"title":{},"name":{},"text":{"115":{}},"component":{}}],["schedule_ev",{"_index":6696,"title":{},"name":{},"text":{"171":{}},"component":{}}],["scheduled(fixeddelay",{"_index":1157,"title":{},"name":{},"text":{"17":{}},"component":{}}],["scheduledexecutorservic",{"_index":1222,"title":{},"name":{},"text":{"20":{},"40":{},"88":{}},"component":{}}],["scheduledtoken",{"_index":5755,"title":{},"name":{},"text":{"115":{}},"component":{}}],["scheduleid",{"_index":3079,"title":{},"name":{},"text":{"59":{}},"component":{}}],["schedulemydeadlin",{"_index":2278,"title":{},"name":{},"text":{"39":{}},"component":{}}],["schedulemydeadlinewithpayload",{"_index":2299,"title":{},"name":{},"text":{"39":{}},"component":{}}],["scheduler(schedul",{"_index":2328,"title":{},"name":{},"text":{"39":{}},"component":{}}],["scheduler’",{"_index":2366,"title":{},"name":{},"text":{"40":{}},"component":{}}],["schedulesnapshot",{"_index":4731,"title":{},"name":{},"text":{"77":{}},"component":{}}],["scheduletoken",{"_index":2338,"title":{},"name":{},"text":{"40":{}},"component":{}}],["scheduling/trigg",{"_index":2275,"title":{},"name":{},"text":{"39":{}},"component":{}}],["schedulingexecutorservic",{"_index":2353,"title":{},"name":{},"text":{"40":{}},"component":{}}],["schema",{"_index":2576,"title":{},"name":{},"text":{"46":{},"66":{},"71":{},"88":{},"115":{},"212":{},"217":{}},"component":{}}],["scheme",{"_index":3448,"title":{},"name":{},"text":{"66":{},"77":{},"87":{},"138":{}},"component":{}}],["scope",{"_index":1227,"title":{},"name":{},"text":{"20":{},"39":{},"42":{},"46":{},"52":{},"59":{},"67":{},"82":{},"85":{},"87":{},"94":{},"100":{},"172":{},"247":{}},"component":{}}],["scopeawareprovid",{"_index":2322,"title":{},"name":{},"text":{"39":{}},"component":{}}],["scopeawareprovider(provid",{"_index":1226,"title":{},"name":{},"text":{"20":{}},"component":{}}],["scopeawareprovider(scopeawareprovid",{"_index":2325,"title":{},"name":{},"text":{"39":{},"97":{}},"component":{}}],["scopedescriptor",{"_index":2292,"title":{},"name":{},"text":{"39":{},"52":{},"66":{}},"component":{}}],["scopedescriptor`",{"_index":3813,"title":{},"name":{},"text":{"66":{}},"component":{}}],["scrape",{"_index":2982,"title":{},"name":{},"text":{"58":{},"185":{}},"component":{}}],["scratch",{"_index":990,"title":{},"name":{},"text":{"7":{},"282":{}},"component":{}}],["screen",{"_index":6016,"title":{},"name":{},"text":{"140":{},"147":{},"156":{},"165":{},"202":{},"232":{},"233":{},"237":{},"238":{},"245":{},"247":{},"260":{},"262":{},"274":{},"276":{}},"component":{}}],["screenshot",{"_index":7257,"title":{},"name":{},"text":{"201":{},"202":{},"203":{},"274":{}},"component":{}}],["script",{"_index":2078,"title":{},"name":{},"text":{"38":{},"79":{},"178":{},"276":{}},"component":{}}],["scroll",{"_index":6553,"title":{},"name":{},"text":{"165":{},"274":{}},"component":{}}],["sdk",{"_index":6746,"title":{},"name":{},"text":{"172":{}},"component":{}}],["se",{"_index":292,"title":{"173":{},"173-1":{},"173-2":{}},"name":{"173":{}},"text":{"3":{},"137":{},"142":{},"162":{},"167":{},"168":{},"169":{},"173":{},"174":{},"176":{},"178":{},"179":{},"185":{},"191":{},"206":{}},"component":{}}],["se/e",{"_index":6104,"title":{},"name":{},"text":{"142":{},"146":{},"174":{},"176":{},"178":{},"190":{}},"component":{}}],["seamless",{"_index":1786,"title":{},"name":{},"text":{"33":{}},"component":{}}],["seamlessli",{"_index":155,"title":{},"name":{},"text":{"2":{},"38":{}},"component":{}}],["search",{"_index":1697,"title":{"274-30":{}},"name":{},"text":{"31":{},"38":{},"39":{},"43":{},"64":{},"67":{},"97":{},"140":{},"141":{},"143":{},"170":{},"198":{},"203":{},"265":{},"274":{},"283":{}},"component":{}}],["search/commands/queries/ev",{"_index":6077,"title":{},"name":{},"text":{"141":{}},"component":{}}],["search_ev",{"_index":6703,"title":{},"name":{},"text":{"171":{}},"component":{}}],["second",{"_index":329,"title":{},"name":{},"text":{"3":{},"17":{},"19":{},"31":{},"34":{},"38":{},"40":{},"44":{},"45":{},"46":{},"59":{},"63":{},"72":{},"74":{},"75":{},"80":{},"83":{},"87":{},"88":{},"89":{},"102":{},"115":{},"121":{},"133":{},"140":{},"144":{},"145":{},"148":{},"179":{},"186":{},"191":{},"192":{},"202":{},"208":{},"250":{},"260":{},"261":{},"263":{},"265":{},"267":{},"279":{},"280":{},"281":{}},"component":{}}],["secondari",{"_index":6045,"title":{"151-16":{},"151-17":{},"151-18":{},"151-20":{},"156-5":{}},"name":{},"text":{"140":{},"147":{},"151":{},"156":{},"157":{},"178":{}},"component":{}}],["secondev",{"_index":4635,"title":{},"name":{},"text":{"72":{}},"component":{}}],["secondli",{"_index":5110,"title":{},"name":{},"text":{"87":{},"88":{}},"component":{}}],["secret",{"_index":198,"title":{"3-12":{},"191-5":{}},"name":{},"text":{"3":{},"172":{},"191":{},"199":{}},"component":{}}],["secret/axonserv",{"_index":576,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["secretnam",{"_index":630,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["section",{"_index":203,"title":{"28-2":{},"55-2":{}},"name":{},"text":{"3":{},"15":{},"28":{},"29":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"48":{},"52":{},"55":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"70":{},"73":{},"74":{},"78":{},"79":{},"84":{},"86":{},"87":{},"88":{},"97":{},"101":{},"104":{},"105":{},"106":{},"107":{},"108":{},"115":{},"121":{},"137":{},"140":{},"144":{},"146":{},"147":{},"153":{},"155":{},"157":{},"159":{},"166":{},"169":{},"173":{},"174":{},"175":{},"178":{},"183":{},"185":{},"186":{},"191":{},"192":{},"199":{},"202":{},"203":{},"208":{},"211":{},"228":{},"229":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"250":{},"262":{},"263":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"289":{},"290":{}},"component":{}}],["secur",{"_index":50,"title":{"168":{},"175":{},"2-5":{},"199-8":{},"206-16":{},"206-37":{}},"name":{},"text":{"2":{},"3":{},"31":{},"49":{},"51":{},"67":{},"82":{},"119":{},"121":{},"137":{},"140":{},"145":{},"168":{},"170":{},"172":{},"174":{},"175":{},"178":{},"179":{},"181":{},"191":{},"199":{},"206":{},"208":{}},"component":{}}],["security.protocol",{"_index":5612,"title":{},"name":{},"text":{"104":{}},"component":{}}],["security.requir",{"_index":6792,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["security/.token",{"_index":6568,"title":{},"name":{},"text":{"167":{},"169":{}},"component":{}}],["security/secur",{"_index":6787,"title":{},"name":{},"text":{"176":{},"192":{}},"component":{}}],["securitycontext",{"_index":597,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["see",{"_index":370,"title":{"5-5":{}},"name":{},"text":{"3":{},"5":{},"28":{},"31":{},"36":{},"38":{},"40":{},"44":{},"46":{},"49":{},"51":{},"52":{},"55":{},"56":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"74":{},"86":{},"88":{},"93":{},"95":{},"98":{},"101":{},"103":{},"109":{},"110":{},"112":{},"115":{},"119":{},"121":{},"122":{},"126":{},"127":{},"131":{},"134":{},"140":{},"145":{},"148":{},"151":{},"157":{},"163":{},"169":{},"178":{},"191":{},"201":{},"202":{},"203":{},"206":{},"208":{},"211":{},"213":{},"221":{},"224":{},"226":{},"232":{},"235":{},"237":{},"238":{},"239":{},"241":{},"242":{},"245":{},"246":{},"249":{},"250":{},"254":{},"255":{},"257":{},"260":{},"261":{},"262":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"289":{},"290":{}},"component":{}}],["seek",{"_index":6042,"title":{},"name":{},"text":{"140":{},"227":{},"236":{}},"component":{}}],["seem",{"_index":4130,"title":{},"name":{},"text":{"67":{},"281":{}},"component":{}}],["seen",{"_index":2303,"title":{},"name":{},"text":{"39":{},"40":{},"53":{},"66":{},"85":{},"147":{},"206":{},"274":{}},"component":{}}],["segement",{"_index":3532,"title":{},"name":{},"text":{"66":{}},"component":{}}],["segment",{"_index":2072,"title":{"165":{},"38-12":{},"38-16":{},"76-1":{},"76-2":{},"88-22":{},"115-14":{},"142-2":{},"142-3":{},"165-1":{},"165-2":{},"260-3":{},"260-5":{},"274-17":{}},"name":{},"text":{"38":{},"58":{},"66":{},"67":{},"76":{},"78":{},"88":{},"89":{},"94":{},"96":{},"114":{},"115":{},"127":{},"128":{},"130":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"163":{},"164":{},"165":{},"179":{},"180":{},"246":{},"255":{},"260":{},"261":{},"262":{},"274":{}},"component":{}}],["segmentcountconfigurermodul",{"_index":5234,"title":{},"name":{},"text":{"88":{}},"component":{}}],["segmentid",{"_index":4709,"title":{},"name":{},"text":{"76":{},"88":{}},"component":{}}],["segment’",{"_index":7620,"title":{},"name":{},"text":{"260":{}},"component":{}}],["segreg",{"_index":5643,"title":{},"name":{},"text":{"107":{}},"component":{}}],["select",{"_index":1489,"title":{"226-1":{},"274-11":{}},"name":{},"text":{"30":{},"44":{},"46":{},"63":{},"67":{},"88":{},"115":{},"145":{},"150":{},"151":{},"165":{},"180":{},"192":{},"195":{},"197":{},"199":{},"202":{},"206":{},"212":{},"217":{},"220":{},"221":{},"226":{},"232":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"274":{},"276":{},"288":{},"289":{}},"component":{}}],["select(.context==\"default",{"_index":6584,"title":{},"name":{},"text":{"169":{}},"component":{}}],["select(jsonpath(payloaddata",{"_index":7199,"title":{},"name":{},"text":{"195":{}},"component":{}}],["select_account",{"_index":6767,"title":{},"name":{},"text":{"172":{}},"component":{}}],["selector",{"_index":594,"title":{},"name":{},"text":{"3":{},"179":{},"191":{},"274":{}},"component":{}}],["selector.min",{"_index":6953,"title":{},"name":{},"text":{"179":{}},"component":{}}],["self",{"_index":535,"title":{},"name":{},"text":{"3":{},"44":{},"168":{},"174":{},"176":{},"191":{}},"component":{}}],["sell",{"_index":4462,"title":{},"name":{},"text":{"69":{},"77":{}},"component":{}}],["sellorderid",{"_index":4465,"title":{},"name":{},"text":{"69":{}},"component":{}}],["semant",{"_index":4616,"title":{},"name":{},"text":{"72":{},"88":{},"145":{}},"component":{}}],["send",{"_index":841,"title":{"130":{},"203":{},"216":{},"217":{},"218":{},"219":{},"121-3":{},"147-3":{},"202-5":{},"202-9":{},"202-13":{},"203-3":{},"203-4":{},"204-2":{},"289-4":{}},"name":{"203":{},"216":{},"217":{},"218":{},"219":{}},"text":{"5":{},"6":{},"20":{},"34":{},"38":{},"40":{},"49":{},"59":{},"61":{},"63":{},"68":{},"74":{},"76":{},"83":{},"88":{},"89":{},"90":{},"121":{},"124":{},"130":{},"143":{},"145":{},"147":{},"150":{},"157":{},"163":{},"168":{},"174":{},"178":{},"179":{},"200":{},"202":{},"203":{},"204":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"221":{},"224":{},"244":{},"260":{},"262":{},"274":{},"275":{},"276":{},"280":{},"281":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["send(object",{"_index":1896,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sendal",{"_index":5794,"title":{"121-4":{}},"name":{},"text":{"121":{}},"component":{}}],["sendandforget(mycommand",{"_index":5810,"title":{},"name":{},"text":{"121":{}},"component":{}}],["sendandwait",{"_index":1890,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sendcommand",{"_index":1891,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sendcommand(@requestbodi",{"_index":5807,"title":{},"name":{},"text":{"121":{}},"component":{}}],["sendcommand(mypayloadtyp",{"_index":2118,"title":{},"name":{},"text":{"38":{}},"component":{}}],["sendcommandandwait(mypayloadtyp",{"_index":2126,"title":{},"name":{},"text":{"38":{}},"component":{}}],["sendcommandandwaitforaresult(mypayloadtyp",{"_index":2122,"title":{},"name":{},"text":{"38":{}},"component":{}}],["sendcommandandwaitonresult",{"_index":1900,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sender",{"_index":2664,"title":{},"name":{},"text":{"49":{},"163":{},"179":{},"215":{},"216":{},"217":{},"219":{},"289":{}},"component":{}}],["sendsubscriptionquery(somequeri",{"_index":5833,"title":{},"name":{},"text":{"121":{}},"component":{}}],["sens",{"_index":1704,"title":{},"name":{},"text":{"31":{},"33":{},"38":{},"52":{},"79":{},"132":{},"147":{},"192":{}},"component":{}}],["sensibl",{"_index":1871,"title":{},"name":{},"text":{"34":{},"51":{},"57":{},"58":{},"69":{},"71":{},"77":{},"96":{},"200":{}},"component":{}}],["sensit",{"_index":6248,"title":{},"name":{},"text":{"145":{},"174":{},"192":{},"199":{},"206":{},"284":{}},"component":{}}],["sent",{"_index":740,"title":{"5-13":{},"5-14":{}},"name":{},"text":{"5":{},"34":{},"38":{},"42":{},"44":{},"49":{},"59":{},"63":{},"66":{},"74":{},"94":{},"121":{},"130":{},"143":{},"147":{},"168":{},"172":{},"174":{},"179":{},"185":{},"186":{},"189":{},"215":{},"243":{},"262":{},"274":{},"276":{},"280":{},"281":{},"283":{},"290":{}},"component":{}}],["separ",{"_index":215,"title":{},"name":{},"text":{"3":{},"6":{},"15":{},"31":{},"34":{},"46":{},"54":{},"59":{},"66":{},"72":{},"76":{},"77":{},"82":{},"87":{},"88":{},"89":{},"96":{},"113":{},"115":{},"117":{},"133":{},"138":{},"140":{},"147":{},"154":{},"161":{},"165":{},"168":{},"172":{},"174":{},"177":{},"178":{},"191":{},"192":{},"206":{},"208":{},"226":{},"234":{},"276":{},"281":{},"283":{},"289":{}},"component":{}}],["sequenc",{"_index":1076,"title":{"17":{},"29-2":{},"79-2":{},"86-6":{}},"name":{},"text":{"15":{},"16":{},"17":{},"29":{},"33":{},"42":{},"46":{},"49":{},"52":{},"66":{},"67":{},"72":{},"79":{},"86":{},"87":{},"88":{},"89":{},"101":{},"111":{},"143":{},"179":{},"194":{},"202":{},"203":{},"257":{}},"component":{}}],["sequence.iter",{"_index":5030,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequenceddeadletterprocessor",{"_index":1149,"title":{},"name":{},"text":{"17":{},"86":{},"115":{}},"component":{}}],["sequenceddeadletterprocessor#process",{"_index":5034,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequenceddeadletterprocessor(processinggroup",{"_index":5748,"title":{},"name":{},"text":{"115":{}},"component":{}}],["sequenceddeadletterprocessor::processani",{"_index":1163,"title":{},"name":{},"text":{"17":{}},"component":{}}],["sequenceddeadletterqueu",{"_index":1062,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["sequenceddeadletterqueue#deadlettersequence(str",{"_index":3993,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sequenceddeadletterqueuefactori",{"_index":3409,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sequenceeventstorageengin",{"_index":2605,"title":{},"name":{},"text":{"46":{},"67":{}},"component":{}}],["sequencefilt",{"_index":5741,"title":{},"name":{},"text":{"115":{}},"component":{}}],["sequenceidentifi",{"_index":5674,"title":{},"name":{},"text":{"111":{}},"component":{}}],["sequenceindex",{"_index":4162,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sequenceiter",{"_index":5029,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequenceiterator.next",{"_index":5032,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequencenumb",{"_index":2379,"title":{},"name":{},"text":{"42":{},"52":{},"79":{},"111":{},"203":{},"212":{},"215":{},"217":{}},"component":{}}],["sequence’",{"_index":5010,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequencingpolici",{"_index":3545,"title":{},"name":{},"text":{"66":{},"67":{},"88":{},"99":{},"101":{},"102":{}},"component":{}}],["sequencingpolicy(sequencingpolici",{"_index":5550,"title":{},"name":{},"text":{"101":{}},"component":{}}],["sequencingpolicyconfigurermodule(sequencingpolici",{"_index":5252,"title":{},"name":{},"text":{"88":{}},"component":{}}],["sequencingpolicynam",{"_index":5399,"title":{},"name":{},"text":{"89":{}},"component":{}}],["sequencingpolicyparamet",{"_index":5400,"title":{},"name":{},"text":{"89":{}},"component":{}}],["sequenti",{"_index":5114,"title":{"88-16":{}},"name":{},"text":{"88":{},"121":{}},"component":{}}],["sequentialperaggregatepolici",{"_index":5238,"title":{},"name":{},"text":{"88":{},"101":{}},"component":{}}],["sequentialpolici",{"_index":5243,"title":{},"name":{},"text":{"88":{}},"component":{}}],["seral",{"_index":2345,"title":{},"name":{},"text":{"40":{}},"component":{}}],["seri",{"_index":2050,"title":{},"name":{},"text":{"36":{},"185":{}},"component":{}}],["serial",{"_index":1093,"title":{"31":{},"31-1":{},"31-6":{},"31-8":{},"31-9":{},"46-12":{},"46-13":{}},"name":{"31":{}},"text":{"15":{},"28":{},"29":{},"31":{},"38":{},"39":{},"40":{},"44":{},"46":{},"66":{},"67":{},"69":{},"71":{},"77":{},"89":{},"94":{},"101":{},"109":{},"128":{},"130":{},"161":{},"194":{},"195":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"274":{}},"component":{}}],["seriali",{"_index":3571,"title":{},"name":{},"text":{"66":{}},"component":{}}],["serializ",{"_index":2054,"title":{},"name":{},"text":{"36":{},"49":{},"77":{}},"component":{}}],["serializationawar",{"_index":1666,"title":{},"name":{},"text":{"31":{},"38":{}},"component":{}}],["serialized_saga",{"_index":4837,"title":{},"name":{},"text":{"79":{}},"component":{}}],["serializedsaga",{"_index":4866,"title":{},"name":{},"text":{"79":{}},"component":{}}],["serializer(config.seri",{"_index":1124,"title":{},"name":{},"text":{"15":{},"86":{},"110":{}},"component":{}}],["serializer(seri",{"_index":2326,"title":{},"name":{},"text":{"39":{},"40":{},"94":{},"97":{},"101":{},"128":{}},"component":{}}],["serializerconfigur",{"_index":1616,"title":{},"name":{},"text":{"31":{}},"component":{}}],["serializerconfiguration(configur",{"_index":1617,"title":{},"name":{},"text":{"31":{}},"component":{}}],["serializerthreadcount",{"_index":2210,"title":{},"name":{},"text":{"38":{}},"component":{}}],["serializer’",{"_index":1668,"title":{},"name":{},"text":{"31":{}},"component":{}}],["serialversionuid",{"_index":2440,"title":{},"name":{},"text":{"44":{}},"component":{}}],["serialversionuidrevisionresolv",{"_index":2439,"title":{},"name":{},"text":{"44":{}},"component":{}}],["serv",{"_index":912,"title":{},"name":{},"text":{"6":{},"44":{},"87":{},"88":{},"89":{},"117":{},"142":{},"147":{},"156":{},"157":{},"178":{},"185":{},"192":{},"227":{},"236":{}},"component":{}}],["server",{"_index":34,"title":{"2":{},"3":{},"4":{},"11":{},"135":{},"136":{},"139":{},"148":{},"161":{},"169":{},"170":{},"172":{},"173":{},"186":{},"191":{},"192":{},"199":{},"232":{},"252":{},"256":{},"2-1":{},"2-2":{},"2-3":{},"2-4":{},"2-5":{},"2-6":{},"2-7":{},"3-13":{},"5-4":{},"12-2":{},"30-7":{},"40-5":{},"46-3":{},"54-1":{},"59-27":{},"59-28":{},"59-38":{},"59-39":{},"59-41":{},"59-42":{},"59-44":{},"59-45":{},"88-24":{},"140-23":{},"142-3":{},"144-5":{},"145-18":{},"145-27":{},"150-5":{},"151-2":{},"165-2":{},"168-1":{},"169-1":{},"169-2":{},"170-4":{},"173-1":{},"173-2":{},"191-6":{},"192-2":{},"192-6":{},"199-1":{},"199-7":{},"201-3":{},"202-2":{},"202-4":{},"202-5":{},"202-8":{},"202-9":{},"202-12":{},"202-13":{},"206-2":{},"206-6":{},"206-9":{},"206-10":{},"206-28":{},"206-29":{},"221-7":{},"226-3":{},"232-1":{},"232-2":{},"232-3":{},"283-4":{}},"name":{"11":{},"161":{},"186":{},"252":{},"256":{}},"text":{"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"19":{},"28":{},"29":{},"30":{},"32":{},"35":{},"38":{},"40":{},"46":{},"59":{},"61":{},"63":{},"66":{},"67":{},"76":{},"79":{},"88":{},"89":{},"91":{},"94":{},"96":{},"100":{},"104":{},"111":{},"115":{},"117":{},"119":{},"129":{},"137":{},"138":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"153":{},"154":{},"155":{},"156":{},"157":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"191":{},"192":{},"194":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"227":{},"228":{},"230":{},"231":{},"232":{},"234":{},"235":{},"236":{},"237":{},"238":{},"241":{},"249":{},"250":{},"259":{},"262":{},"264":{},"274":{},"277":{},"280":{},"282":{},"283":{},"284":{},"286":{}},"component":{"3":{},"4":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["server.loc",{"_index":6616,"title":{},"name":{},"text":{"170":{}},"component":{}}],["server.max",{"_index":7335,"title":{"206-8":{}},"name":{},"text":{"215":{}},"component":{}}],["server.port",{"_index":6828,"title":{},"name":{},"text":{"179":{},"208":{}},"component":{}}],["server.port=8081",{"_index":7258,"title":{},"name":{},"text":{"201":{}},"component":{}}],["server.serv",{"_index":7334,"title":{"206-7":{}},"name":{},"text":{"215":{}},"component":{}}],["server.ssl.key",{"_index":6793,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["server.tl",{"_index":7348,"title":{"206-26":{}},"name":{},"text":{"215":{}},"component":{}}],["server.trust",{"_index":7349,"title":{"206-27":{}},"name":{},"text":{"215":{}},"component":{}}],["serveraddress(\"localhost",{"_index":6270,"title":{},"name":{},"text":{"145":{}},"component":{}}],["serverauthenticationid",{"_index":7494,"title":{},"name":{},"text":{"215":{}},"component":{}}],["serverconfig",{"_index":7145,"title":{},"name":{},"text":{"189":{}},"component":{}}],["serverconfig.setheartbeat(heartbeatconfig",{"_index":7146,"title":{},"name":{},"text":{"189":{}},"component":{}}],["server’",{"_index":1767,"title":{},"name":{},"text":{"32":{},"46":{},"54":{},"67":{},"140":{},"170":{},"175":{},"176":{},"179":{},"201":{},"203":{},"206":{},"284":{}},"component":{}}],["servic",{"_index":419,"title":{},"name":{},"text":{"3":{},"5":{},"6":{},"16":{},"31":{},"38":{},"44":{},"59":{},"85":{},"86":{},"88":{},"94":{},"127":{},"128":{},"129":{},"130":{},"140":{},"141":{},"148":{},"157":{},"170":{},"174":{},"180":{},"188":{},"189":{},"191":{},"192":{},"199":{},"211":{},"212":{},"214":{},"230":{},"237":{},"268":{},"269":{},"277":{},"281":{},"283":{},"284":{}},"component":{}}],["service/axonserv",{"_index":662,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["serviceinst",{"_index":5913,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["serviceinstancefilt",{"_index":5941,"title":{},"name":{},"text":{"128":{}},"component":{}}],["serviceload",{"_index":1292,"title":{},"name":{},"text":{"23":{}},"component":{}}],["servicenam",{"_index":592,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["serviceport",{"_index":658,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["serviceregistri",{"_index":4854,"title":{},"name":{},"text":{"79":{}},"component":{}}],["session",{"_index":1177,"title":{},"name":{},"text":{"17":{},"166":{},"172":{}},"component":{}}],["set",{"_index":336,"title":{"231":{},"5-4":{},"151-13":{},"170-3":{},"192-2":{},"206-2":{},"206-37":{},"232-1":{},"237-1":{},"237-2":{},"254-1":{},"254-2":{},"263-1":{}},"name":{"231":{},"237":{}},"text":{"3":{},"5":{},"14":{},"15":{},"19":{},"20":{},"30":{},"31":{},"32":{},"34":{},"36":{},"38":{},"39":{},"40":{},"42":{},"46":{},"51":{},"52":{},"55":{},"56":{},"57":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"96":{},"99":{},"100":{},"102":{},"104":{},"114":{},"123":{},"127":{},"132":{},"140":{},"141":{},"142":{},"143":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"163":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"179":{},"180":{},"185":{},"186":{},"188":{},"190":{},"191":{},"192":{},"199":{},"201":{},"206":{},"208":{},"211":{},"220":{},"221":{},"226":{},"228":{},"231":{},"232":{},"237":{},"246":{},"249":{},"250":{},"254":{},"255":{},"259":{},"260":{},"262":{},"263":{},"266":{},"267":{},"271":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"284":{},"285":{},"290":{}},"component":{}}],["set_event_processor_strategi",{"_index":6686,"title":{},"name":{},"text":{"171":{}},"component":{}}],["setautoloadbalancestrategy(loadbalancerequest",{"_index":6974,"title":{},"name":{},"text":{"180":{}},"component":{}}],["setcallbackbehavior",{"_index":4680,"title":{},"name":{},"text":{"74":{}},"component":{}}],["setdeadlinemanager(deadlinemanag",{"_index":5472,"title":{},"name":{},"text":{"97":{}},"component":{}}],["setentitymanager(entitymanag",{"_index":2546,"title":{},"name":{},"text":{"46":{}},"component":{}}],["setreportillegalstatechang",{"_index":4578,"title":{},"name":{},"text":{"72":{}},"component":{}}],["setter",{"_index":1593,"title":{},"name":{},"text":{"31":{},"44":{},"69":{},"74":{}},"component":{}}],["settext(\"no",{"_index":2488,"title":{},"name":{},"text":{"44":{}},"component":{}}],["setup",{"_index":678,"title":{"236":{},"237":{},"72-2":{},"154-2":{},"192-5":{},"232-3":{}},"name":{},"text":{"3":{},"22":{},"29":{},"31":{},"44":{},"67":{},"72":{},"76":{},"79":{},"88":{},"129":{},"147":{},"151":{},"154":{},"161":{},"162":{},"168":{},"176":{},"177":{},"179":{},"181":{},"191":{},"192":{},"226":{},"232":{},"263":{},"267":{},"285":{}},"component":{}}],["sever",{"_index":668,"title":{},"name":{},"text":{"3":{},"29":{},"30":{},"31":{},"38":{},"40":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"60":{},"63":{},"66":{},"67":{},"68":{},"72":{},"76":{},"77":{},"79":{},"85":{},"86":{},"87":{},"88":{},"99":{},"102":{},"107":{},"108":{},"115":{},"121":{},"127":{},"133":{},"140":{},"145":{},"151":{},"168":{},"169":{},"180":{},"191":{},"199":{},"202":{},"238":{},"241":{},"244":{},"261":{},"268":{},"274":{},"276":{}},"component":{}}],["se’",{"_index":7171,"title":{},"name":{},"text":{"192":{}},"component":{}}],["sg",{"_index":3753,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sgrimm",{"_index":3752,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sha256",{"_index":7440,"title":{},"name":{},"text":{"206":{}},"component":{}}],["sha512",{"_index":7441,"title":{},"name":{},"text":{"206":{}},"component":{}}],["shall",{"_index":557,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["shape",{"_index":4527,"title":{},"name":{},"text":{"72":{},"197":{}},"component":{}}],["share",{"_index":1587,"title":{},"name":{},"text":{"31":{},"38":{},"46":{},"54":{},"64":{},"66":{},"67":{},"81":{},"86":{},"88":{},"99":{},"100":{},"144":{},"151":{},"154":{},"172":{},"177":{},"192":{},"206":{},"215":{},"221":{},"226":{},"265":{},"276":{},"277":{},"280":{}},"component":{}}],["shareabl",{"_index":5560,"title":{},"name":{},"text":{"102":{}},"component":{}}],["shared/glob",{"_index":2627,"title":{},"name":{},"text":{"46":{}},"component":{}}],["shed",{"_index":5206,"title":{},"name":{},"text":{"88":{},"99":{}},"component":{}}],["shell",{"_index":231,"title":{},"name":{},"text":{"3":{},"178":{},"191":{}},"component":{}}],["shi",{"_index":7660,"title":{},"name":{},"text":{"265":{}},"component":{}}],["shift",{"_index":7586,"title":{},"name":{},"text":{"244":{}},"component":{}}],["ship",{"_index":4430,"title":{},"name":{},"text":{"68":{}},"component":{}}],["ship_crew",{"_index":6638,"title":{},"name":{},"text":{"170":{}},"component":{}}],["shipment",{"_index":4420,"title":{},"name":{},"text":{"68":{},"77":{}},"component":{}}],["shipmentid",{"_index":4437,"title":{},"name":{},"text":{"68":{}},"component":{}}],["shippingid",{"_index":4436,"title":{},"name":{},"text":{"68":{}},"component":{}}],["shopid",{"_index":1859,"title":{},"name":{},"text":{"34":{},"42":{}},"component":{}}],["short",{"_index":82,"title":{},"name":{},"text":{"2":{},"46":{},"59":{},"63":{},"67":{},"69":{},"71":{},"77":{},"88":{},"89":{},"178":{},"192":{},"260":{},"280":{}},"component":{}}],["short.max",{"_index":5281,"title":{},"name":{},"text":{"88":{}},"component":{}}],["shortcut",{"_index":3896,"title":{},"name":{},"text":{"67":{},"284":{},"285":{}},"component":{}}],["shorten",{"_index":1573,"title":{},"name":{},"text":{"31":{},"46":{}},"component":{}}],["shorter",{"_index":1638,"title":{},"name":{},"text":{"31":{},"79":{},"106":{},"195":{}},"component":{}}],["shortest",{"_index":1698,"title":{},"name":{},"text":{"31":{}},"component":{}}],["shorthand",{"_index":5618,"title":{},"name":{},"text":{"105":{},"173":{}},"component":{}}],["shouldn’t",{"_index":2173,"title":{},"name":{},"text":{"38":{}},"component":{}}],["show",{"_index":513,"title":{},"name":{},"text":{"3":{},"5":{},"34":{},"50":{},"51":{},"54":{},"57":{},"59":{},"63":{},"72":{},"74":{},"77":{},"84":{},"85":{},"87":{},"88":{},"141":{},"144":{},"170":{},"176":{},"178":{},"185":{},"191":{},"192":{},"202":{},"203":{},"232":{},"238":{},"239":{},"241":{},"244":{},"246":{},"260":{},"261":{},"263":{},"264":{},"266":{},"269":{},"270":{},"271":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["shown",{"_index":491,"title":{},"name":{},"text":{"3":{},"31":{},"34":{},"35":{},"36":{},"38":{},"50":{},"51":{},"54":{},"64":{},"67":{},"72":{},"79":{},"84":{},"87":{},"88":{},"101":{},"121":{},"144":{},"147":{},"148":{},"154":{},"168":{},"192":{},"203":{},"228":{},"235":{},"237":{},"238":{},"239":{},"244":{},"245":{},"246":{},"250":{},"257":{},"260":{},"262":{},"273":{},"274":{},"280":{},"286":{}},"component":{}}],["shubhojitr",{"_index":4247,"title":{},"name":{},"text":{"67":{}},"component":{}}],["shut",{"_index":2160,"title":{},"name":{},"text":{"38":{},"40":{},"67":{},"88":{},"96":{},"99":{},"162":{}},"component":{}}],["shutdown",{"_index":2161,"title":{},"name":{},"text":{"38":{},"66":{},"67":{},"69":{},"88":{},"102":{},"141":{},"144":{},"179":{}},"component":{}}],["shutdownhandl",{"_index":3666,"title":{},"name":{},"text":{"66":{}},"component":{}}],["side",{"_index":2655,"title":{},"name":{},"text":{"48":{},"53":{},"63":{},"67":{},"72":{},"74":{},"86":{},"88":{},"89":{},"101":{},"104":{},"117":{},"150":{},"174":{},"176":{},"201":{},"232":{},"239":{},"242":{},"244":{},"245":{},"246":{},"264":{},"274":{},"283":{}},"component":{}}],["sidebar",{"_index":7268,"title":{},"name":{},"text":{"202":{}},"component":{}}],["sign",{"_index":536,"title":{},"name":{},"text":{"3":{},"5":{},"8":{},"13":{},"28":{},"49":{},"55":{},"168":{},"174":{},"176":{},"191":{},"233":{},"247":{},"249":{},"267":{},"271":{},"276":{},"277":{}},"component":{}}],["signal",{"_index":3227,"title":{},"name":{},"text":{"63":{},"66":{},"76":{},"140":{},"163":{},"179":{}},"component":{}}],["signatur",{"_index":1928,"title":{},"name":{},"text":{"35":{}},"component":{}}],["signifi",{"_index":4451,"title":{},"name":{},"text":{"69":{},"289":{}},"component":{}}],["signific",{"_index":780,"title":{},"name":{},"text":{"5":{},"6":{},"88":{},"145":{},"151":{}},"component":{}}],["significantli",{"_index":5285,"title":{},"name":{},"text":{"88":{},"151":{}},"component":{}}],["similar",{"_index":377,"title":{},"name":{},"text":{"3":{},"15":{},"30":{},"40":{},"46":{},"51":{},"59":{},"64":{},"66":{},"69":{},"71":{},"72":{},"74":{},"87":{},"88":{},"99":{},"115":{},"121":{},"150":{},"163":{},"191":{},"262":{},"274":{},"280":{},"281":{}},"component":{}}],["similarli",{"_index":1109,"title":{},"name":{},"text":{"15":{},"47":{},"86":{},"150":{},"170":{},"202":{}},"component":{}}],["simpl",{"_index":158,"title":{"40-2":{}},"name":{},"text":{"2":{},"31":{},"35":{},"36":{},"40":{},"42":{},"46":{},"47":{},"51":{},"56":{},"63":{},"67":{},"68":{},"77":{},"79":{},"80":{},"84":{},"88":{},"89":{},"120":{},"144":{},"235":{},"280":{},"281":{},"282":{}},"component":{}}],["simplecommandbu",{"_index":2069,"title":{"38-8":{}},"name":{},"text":{"38":{},"115":{}},"component":{}}],["simplecommandbus(transactionmanag",{"_index":2145,"title":{},"name":{},"text":{"38":{}},"component":{}}],["simplecommandbus.build",{"_index":2149,"title":{},"name":{},"text":{"38":{}},"component":{}}],["simplecommandbus.builder().build",{"_index":2728,"title":{},"name":{},"text":{"51":{},"94":{},"128":{}},"component":{}}],["simplecorrelationdataprovid",{"_index":2683,"title":{"50-3":{}},"name":{},"text":{"50":{}},"component":{}}],["simplecorrelationdataprovider(\"myid",{"_index":2695,"title":{},"name":{},"text":{"50":{}},"component":{}}],["simplecorrelationdataprovider(\"somekey",{"_index":2697,"title":{},"name":{},"text":{"50":{}},"component":{}}],["simpledeadlinemanag",{"_index":1218,"title":{},"name":{},"text":{"19":{},"20":{},"39":{},"67":{}},"component":{}}],["simpleentitymanagerprovid",{"_index":2539,"title":{},"name":{},"text":{"46":{}},"component":{}}],["simpleeventbu",{"_index":2516,"title":{},"name":{},"text":{"46":{}},"component":{}}],["simpleeventschedul",{"_index":2352,"title":{},"name":{},"text":{"40":{}},"component":{}}],["simpleeventschedulerfactorybean",{"_index":2370,"title":{},"name":{},"text":{"40":{}},"component":{}}],["simplequerybu",{"_index":3123,"title":{"61-4":{}},"name":{},"text":{"61":{},"67":{},"115":{}},"component":{}}],["simplequerybus.build",{"_index":3129,"title":{},"name":{},"text":{"61":{}},"component":{}}],["simplequerybus.query(${querynam",{"_index":3096,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequerybus.scattergather(${querynam",{"_index":3102,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequerybus.streamingquery(${querynam",{"_index":3100,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequeryupdateemitt",{"_index":3105,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["simplequeryupdateemitter.emit",{"_index":3108,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequeryupdateemitter.emit(${payloadclass",{"_index":3107,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simpler",{"_index":3816,"title":{},"name":{},"text":{"66":{},"68":{},"72":{},"281":{}},"component":{}}],["simpleresourceinjector",{"_index":4472,"title":{},"name":{},"text":{"69":{}},"component":{}}],["simpleserializedtyp",{"_index":2477,"title":{},"name":{},"text":{"44":{}},"component":{}}],["simpleserializedtype(complaintevent.class.gettypenam",{"_index":2479,"title":{},"name":{},"text":{"44":{}},"component":{}}],["simpleserializedtype(target_type.getnam",{"_index":2484,"title":{},"name":{},"text":{"44":{}},"component":{}}],["simplest",{"_index":664,"title":{},"name":{},"text":{"3":{},"36":{},"38":{},"145":{},"191":{}},"component":{}}],["simplfi",{"_index":2762,"title":{},"name":{},"text":{"51":{}},"component":{}}],["simpli",{"_index":766,"title":{},"name":{},"text":{"5":{},"16":{},"31":{},"32":{},"35":{},"36":{},"37":{},"38":{},"42":{},"43":{},"45":{},"46":{},"53":{},"57":{},"60":{},"61":{},"62":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"83":{},"84":{},"86":{},"87":{},"88":{},"121":{},"142":{},"144":{},"145":{},"151":{},"184":{},"192":{},"221":{},"232":{},"263":{},"267":{},"270":{},"273":{},"275":{},"280":{},"281":{},"284":{}},"component":{}}],["simplic",{"_index":1838,"title":{},"name":{},"text":{"33":{},"77":{},"86":{},"281":{}},"component":{}}],["simplicity’",{"_index":7990,"title":{},"name":{},"text":{"283":{}},"component":{}}],["simplifi",{"_index":210,"title":{},"name":{},"text":{"3":{},"66":{},"67":{},"72":{},"96":{},"106":{},"108":{},"138":{},"140":{},"141":{},"191":{},"192":{}},"component":{}}],["simul",{"_index":1268,"title":{"275":{}},"name":{"275":{}},"text":{"22":{},"39":{},"72":{},"202":{},"264":{},"276":{}},"component":{}}],["simulator.properti",{"_index":7759,"title":{},"name":{},"text":{"276":{}},"component":{}}],["simulatorconfigcontrol",{"_index":7758,"title":{},"name":{},"text":{"276":{}},"component":{}}],["simultan",{"_index":4923,"title":{},"name":{},"text":{"83":{}},"component":{}}],["sindex",{"_index":6844,"title":{},"name":{},"text":{"179":{}},"component":{}}],["singl",{"_index":141,"title":{"64-4":{}},"name":{},"text":{"2":{},"3":{},"5":{},"29":{},"30":{},"33":{},"34":{},"35":{},"36":{},"38":{},"43":{},"44":{},"46":{},"47":{},"50":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"99":{},"102":{},"106":{},"115":{},"121":{},"138":{},"140":{},"142":{},"143":{},"151":{},"153":{},"156":{},"157":{},"162":{},"168":{},"172":{},"179":{},"185":{},"191":{},"192":{},"195":{},"199":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"227":{},"236":{},"239":{},"260":{},"273":{},"279":{},"280":{},"281":{},"284":{},"288":{}},"component":{}}],["singleeventupcast",{"_index":2453,"title":{},"name":{},"text":{"44":{},"106":{}},"component":{}}],["singleton",{"_index":523,"title":{},"name":{},"text":{"3":{},"60":{},"69":{},"71":{},"87":{},"191":{}},"component":{}}],["singletonmap",{"_index":2646,"title":{},"name":{},"text":{"47":{}},"component":{}}],["singular",{"_index":1424,"title":{},"name":{},"text":{"29":{}},"component":{}}],["sinksmanywrapper#performwithbusywaitspin",{"_index":3901,"title":{},"name":{},"text":{"67":{}},"component":{}}],["site:https://youtu.be/lxonqnu1txq[axon",{"_index":1925,"title":{},"name":{},"text":{"34":{}},"component":{}}],["situat",{"_index":532,"title":{},"name":{},"text":{"3":{},"31":{},"35":{},"38":{},"46":{},"67":{},"69":{},"71":{},"84":{},"88":{},"130":{},"141":{},"145":{},"151":{},"189":{},"191":{},"261":{},"270":{}},"component":{}}],["sixteen",{"_index":5235,"title":{},"name":{},"text":{"88":{}},"component":{}}],["size",{"_index":1110,"title":{"151-11":{},"206-8":{},"206-40":{}},"name":{},"text":{"15":{},"31":{},"38":{},"63":{},"67":{},"88":{},"141":{},"143":{},"145":{},"147":{},"148":{},"151":{},"161":{},"163":{},"179":{},"206":{},"212":{},"215":{},"239":{},"261":{},"262":{},"274":{}},"component":{}}],["size=100",{"_index":5411,"title":{},"name":{},"text":{"89":{}},"component":{}}],["size=10mb",{"_index":394,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["skip",{"_index":1783,"title":{},"name":{},"text":{"33":{},"67":{},"86":{},"121":{},"138":{},"263":{},"267":{},"276":{},"277":{},"285":{}},"component":{}}],["skywalk",{"_index":5986,"title":{},"name":{},"text":{"133":{}},"component":{}}],["slack",{"_index":3495,"title":{"262-7":{}},"name":{},"text":{"66":{},"67":{},"262":{},"273":{}},"component":{}}],["slash",{"_index":6078,"title":{},"name":{},"text":{"141":{},"273":{}},"component":{}}],["slate",{"_index":5352,"title":{},"name":{},"text":{"88":{}},"component":{}}],["sleepingwaitstrategi",{"_index":2189,"title":{},"name":{},"text":{"38":{}},"component":{}}],["slf4j",{"_index":2896,"title":{},"name":{},"text":{"56":{},"59":{},"67":{}},"component":{}}],["slice",{"_index":8063,"title":{},"name":{},"text":{"289":{},"290":{}},"component":{}}],["slight",{"_index":2584,"title":{},"name":{},"text":{"46":{},"221":{}},"component":{}}],["slightli",{"_index":2228,"title":{},"name":{},"text":{"38":{},"79":{},"115":{}},"component":{}}],["slot",{"_index":2177,"title":{},"name":{},"text":{"38":{}},"component":{}}],["slow",{"_index":5164,"title":{"273":{},"273-1":{}},"name":{"273":{}},"text":{"88":{},"121":{},"141":{},"143":{},"163":{},"260":{},"261":{},"262":{},"271":{},"273":{}},"component":{}}],["slow_disk",{"_index":6439,"title":{},"name":{},"text":{"151":{}},"component":{}}],["slower",{"_index":2227,"title":{},"name":{},"text":{"38":{},"46":{},"151":{},"262":{}},"component":{}}],["slowest",{"_index":5279,"title":{"274-5":{}},"name":{},"text":{"88":{},"245":{},"273":{},"274":{}},"component":{}}],["slowli",{"_index":5327,"title":{},"name":{},"text":{"88":{}},"component":{}}],["sm",{"_index":5349,"title":{},"name":{},"text":{"88":{}},"component":{}}],["small",{"_index":2169,"title":{},"name":{},"text":{"38":{},"44":{},"66":{},"67":{},"72":{},"76":{},"120":{},"141":{},"151":{},"192":{},"263":{},"272":{},"274":{}},"component":{}}],["smaller",{"_index":1623,"title":{},"name":{},"text":{"31":{},"63":{},"245":{},"274":{}},"component":{}}],["smallest",{"_index":5322,"title":{},"name":{},"text":{"88":{},"180":{},"274":{}},"component":{}}],["smart",{"_index":4757,"title":{},"name":{},"text":{"77":{}},"component":{}}],["smartlifecycl",{"_index":3279,"title":{},"name":{},"text":{"66":{}},"component":{}}],["smcvb",{"_index":3300,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["smoother",{"_index":978,"title":{},"name":{},"text":{"6":{}},"component":{}}],["snake",{"_index":3419,"title":{},"name":{},"text":{"66":{}},"component":{}}],["snake_cas",{"_index":6820,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot",{"_index":1417,"title":{"77":{},"59-34":{},"77-1":{},"77-2":{},"77-5":{},"77-6":{},"77-9":{},"111-2":{}},"name":{"77":{}},"text":{"29":{},"31":{},"46":{},"59":{},"66":{},"67":{},"77":{},"78":{},"79":{},"111":{},"140":{},"141":{},"142":{},"143":{},"147":{},"148":{},"151":{},"161":{},"162":{},"169":{},"172":{},"179":{},"185":{},"186":{},"192":{},"245":{},"261":{},"279":{}},"component":{}}],["snapshot.bloom",{"_index":6841,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.ev",{"_index":6843,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.forc",{"_index":6860,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.index",{"_index":6340,"title":{},"name":{},"text":{"147":{},"166":{},"169":{},"179":{}},"component":{}}],["snapshot.jar",{"_index":6726,"title":{},"name":{},"text":{"172":{}},"component":{}}],["snapshot.max",{"_index":6341,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["snapshot.memori",{"_index":6865,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.primari",{"_index":6861,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.read",{"_index":6942,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.retent",{"_index":6342,"title":{},"name":{},"text":{"147":{},"151":{}},"component":{}}],["snapshot.secondari",{"_index":6862,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.seg",{"_index":6339,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["snapshot.storag",{"_index":6337,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["snapshot.storage=[loc",{"_index":6356,"title":{},"name":{},"text":{"147":{}},"component":{}}],["snapshot.sync",{"_index":6863,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.us",{"_index":6943,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.valid",{"_index":6864,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot_event_entri",{"_index":4835,"title":{},"name":{},"text":{"79":{}},"component":{}}],["snapshotdata",{"_index":4761,"title":{},"name":{},"text":{"77":{}},"component":{}}],["snapshotev",{"_index":5671,"title":{},"name":{},"text":{"111":{}},"component":{}}],["snapshotevententri",{"_index":2524,"title":{},"name":{},"text":{"46":{},"79":{}},"component":{}}],["snapshoteventstor",{"_index":4735,"title":{},"name":{},"text":{"77":{}},"component":{}}],["snapshotfilt",{"_index":3593,"title":{},"name":{},"text":{"66":{},"67":{},"77":{}},"component":{}}],["snapshotserializer(config.seri",{"_index":2573,"title":{},"name":{},"text":{"46":{}},"component":{}}],["snapshotserializer(seri",{"_index":2563,"title":{},"name":{},"text":{"46":{}},"component":{}}],["snapshott",{"_index":3083,"title":{},"name":{},"text":{"59":{},"66":{},"67":{},"77":{}},"component":{}}],["snapshotterclass}.createsnapshot($aggregateclass",{"_index":3084,"title":{},"name":{},"text":{"59":{}},"component":{}}],["snapshottriggerdefinit",{"_index":2042,"title":{},"name":{},"text":{"36":{},"67":{},"77":{}},"component":{}}],["sneak",{"_index":4292,"title":{},"name":{},"text":{"67":{}},"component":{}}],["snippet",{"_index":1677,"title":{},"name":{},"text":{"31":{},"32":{},"35":{},"44":{},"50":{},"51":{},"57":{},"60":{},"63":{},"69":{},"76":{},"77":{},"82":{},"84":{},"85":{},"88":{},"140":{},"144":{},"145":{},"279":{}},"component":{}}],["socket",{"_index":6788,"title":{},"name":{},"text":{"176":{},"179":{},"192":{}},"component":{}}],["socket.platform",{"_index":7373,"title":{"206-55":{}},"name":{},"text":{},"component":{}}],["socket.reconnect",{"_index":7374,"title":{"206-56":{}},"name":{},"text":{},"component":{}}],["softwar",{"_index":871,"title":{},"name":{},"text":{"6":{},"8":{},"13":{},"44":{},"48":{},"59":{},"120":{},"210":{},"266":{},"276":{}},"component":{}}],["sold",{"_index":4725,"title":{},"name":{},"text":{"77":{}},"component":{}}],["sole",{"_index":2367,"title":{},"name":{},"text":{"40":{},"51":{},"66":{},"99":{},"127":{},"289":{},"290":{}},"component":{}}],["solid",{"_index":1014,"title":{},"name":{},"text":{"8":{},"12":{},"13":{},"287":{}},"component":{}}],["solut",{"_index":102,"title":{"286-2":{},"288-2":{},"289-2":{},"290-2":{}},"name":{},"text":{"2":{},"8":{},"12":{},"13":{},"19":{},"29":{},"30":{},"36":{},"38":{},"40":{},"44":{},"46":{},"56":{},"66":{},"67":{},"77":{},"79":{},"80":{},"87":{},"88":{},"89":{},"102":{},"107":{},"140":{},"144":{},"145":{},"163":{},"210":{},"262":{},"287":{}},"component":{}}],["solv",{"_index":689,"title":{},"name":{},"text":{"4":{},"12":{},"29":{},"66":{},"67":{},"145":{}},"component":{}}],["somebodi",{"_index":4262,"title":{},"name":{},"text":{"67":{}},"component":{}}],["someclass(paramet",{"_index":2551,"title":{},"name":{},"text":{"46":{}},"component":{}}],["somekeycorrelationprovid",{"_index":2714,"title":{},"name":{},"text":{"50":{}},"component":{}}],["someon",{"_index":4338,"title":{},"name":{},"text":{"67":{},"264":{}},"component":{}}],["someparentcommand",{"_index":4886,"title":{},"name":{},"text":{"80":{}},"component":{}}],["somepredicate.test(messag",{"_index":3223,"title":{},"name":{},"text":{"63":{}},"component":{}}],["someresponsetype.class",{"_index":5824,"title":{},"name":{},"text":{"121":{}},"component":{}}],["someth",{"_index":875,"title":{},"name":{},"text":{"6":{},"14":{},"17":{},"29":{},"33":{},"35":{},"40":{},"45":{},"49":{},"55":{},"59":{},"63":{},"66":{},"80":{},"88":{},"97":{},"124":{},"147":{},"244":{},"249":{},"259":{},"260":{},"262":{},"280":{},"281":{},"282":{}},"component":{}}],["sometim",{"_index":1258,"title":{},"name":{},"text":{"21":{},"31":{},"32":{},"44":{},"59":{},"69":{},"72":{},"80":{},"84":{},"87":{},"156":{},"262":{},"264":{},"274":{},"280":{}},"component":{}}],["somewher",{"_index":2612,"title":{},"name":{},"text":{"46":{},"71":{},"75":{},"88":{},"266":{}},"component":{}}],["sonar",{"_index":3454,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["soon",{"_index":1146,"title":{},"name":{},"text":{"17":{},"35":{},"46":{},"67":{},"74":{},"99":{},"157":{},"202":{},"273":{},"275":{}},"component":{}}],["sort",{"_index":4817,"title":{},"name":{},"text":{"79":{},"273":{}},"component":{}}],["sortedkafkamessagebuff",{"_index":5528,"title":{},"name":{},"text":{"99":{}},"component":{}}],["sortedkafkamessagebuffer<>(buffercapac",{"_index":5527,"title":{},"name":{},"text":{"99":{}},"component":{}}],["sound",{"_index":6241,"title":{},"name":{},"text":{"145":{}},"component":{}}],["sourc",{"_index":57,"title":{"2-7":{},"30-4":{},"35-3":{},"36-5":{},"84-2":{},"88-31":{},"99-1":{},"99-2":{},"115-12":{},"274-25":{},"274-37":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"18":{},"20":{},"28":{},"29":{},"30":{},"31":{},"35":{},"36":{},"38":{},"42":{},"44":{},"46":{},"49":{},"51":{},"52":{},"59":{},"66":{},"67":{},"72":{},"77":{},"80":{},"82":{},"84":{},"85":{},"87":{},"88":{},"89":{},"90":{},"92":{},"99":{},"100":{},"115":{},"121":{},"137":{},"140":{},"147":{},"151":{},"191":{},"239":{},"242":{},"266":{},"274":{},"280":{},"281":{},"284":{},"285":{},"287":{},"289":{},"290":{}},"component":{}}],["sourceid",{"_index":2837,"title":{},"name":{},"text":{"52":{}},"component":{}}],["sources.jar",{"_index":6604,"title":{},"name":{},"text":{"170":{}},"component":{}}],["sown",{"_index":7284,"title":{},"name":{},"text":{"202":{}},"component":{}}],["space",{"_index":1579,"title":{},"name":{},"text":{"31":{},"140":{},"145":{},"151":{},"174":{},"178":{},"185":{},"199":{},"262":{},"276":{},"284":{}},"component":{}}],["span",{"_index":2991,"title":{"59-1":{},"59-9":{},"59-10":{},"59-11":{}},"name":{},"text":{"59":{},"66":{},"69":{},"71":{},"119":{},"132":{},"133":{}},"component":{}}],["spanattributesprovid",{"_index":3022,"title":{},"name":{},"text":{"59":{}},"component":{}}],["spanfactori",{"_index":2148,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"59":{},"61":{},"66":{},"67":{}},"component":{}}],["spanfactory(config.spanfactori",{"_index":2141,"title":{},"name":{},"text":{"38":{}},"component":{}}],["spanfactory(defaultdeadlinemanagerspanfactory.build",{"_index":2329,"title":{},"name":{},"text":{"39":{}},"component":{}}],["spanfactory(spanfactori",{"_index":2151,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"46":{},"61":{},"97":{},"113":{}},"component":{}}],["spanfactory.registerspanattributeprovider(new",{"_index":3044,"title":{},"name":{},"text":{"59":{}},"component":{}}],["spanfactory.registerspanattributeprovider(provid",{"_index":3023,"title":{},"name":{},"text":{"59":{}},"component":{}}],["spanfactory.registertagprovid",{"_index":3680,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sparingli",{"_index":5072,"title":{},"name":{},"text":{"87":{}},"component":{}}],["spars",{"_index":1921,"title":{},"name":{},"text":{"34":{}},"component":{}}],["spawn",{"_index":4554,"title":{},"name":{},"text":{"72":{}},"component":{}}],["speak",{"_index":1916,"title":{},"name":{},"text":{"34":{},"46":{}},"component":{}}],["spec",{"_index":583,"title":{},"name":{},"text":{"3":{},"101":{},"191":{}},"component":{}}],["specfic",{"_index":7792,"title":{},"name":{},"text":{"278":{}},"component":{}}],["special",{"_index":547,"title":{"157-3":{}},"name":{},"text":{"3":{},"25":{},"35":{},"36":{},"57":{},"59":{},"69":{},"71":{},"72":{},"77":{},"157":{},"172":{},"191":{},"231":{},"261":{}},"component":{}}],["specif",{"_index":553,"title":{"15-2":{},"47-2":{},"115-3":{},"115-13":{},"170-3":{},"262-4":{},"274-30":{}},"name":{},"text":{"3":{},"5":{},"6":{},"8":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"17":{},"18":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"38":{},"39":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"57":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"82":{},"83":{},"84":{},"85":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"104":{},"105":{},"115":{},"120":{},"121":{},"124":{},"127":{},"133":{},"140":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"155":{},"156":{},"157":{},"161":{},"168":{},"169":{},"173":{},"174":{},"178":{},"179":{},"191":{},"192":{},"199":{},"202":{},"204":{},"208":{},"215":{},"224":{},"226":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"260":{},"261":{},"262":{},"271":{},"273":{},"274":{},"276":{},"277":{},"278":{},"280":{},"281":{},"285":{},"289":{},"290":{}},"component":{}}],["specifi",{"_index":345,"title":{},"name":{},"text":{"3":{},"15":{},"24":{},"27":{},"30":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"58":{},"59":{},"60":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"79":{},"82":{},"84":{},"87":{},"88":{},"89":{},"94":{},"104":{},"115":{},"121":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"168":{},"174":{},"176":{},"178":{},"179":{},"180":{},"191":{},"195":{},"204":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"217":{},"219":{},"224":{},"226":{},"234":{},"238":{},"239":{},"242":{},"244":{},"260":{},"262":{},"270":{},"274":{},"278":{},"280":{},"283":{},"285":{}},"component":{}}],["speed",{"_index":5071,"title":{},"name":{},"text":{"87":{},"88":{},"100":{},"111":{},"140":{},"151":{}},"component":{}}],["spel",{"_index":4251,"title":{},"name":{},"text":{"67":{}},"component":{}}],["spend",{"_index":2736,"title":{},"name":{},"text":{"51":{},"77":{},"274":{}},"component":{}}],["spent",{"_index":2208,"title":{},"name":{},"text":{"38":{},"57":{},"261":{},"274":{}},"component":{}}],["spike",{"_index":6448,"title":{},"name":{},"text":{"151":{}},"component":{}}],["split",{"_index":204,"title":{"88-22":{},"260-3":{}},"name":{},"text":{"3":{},"58":{},"59":{},"66":{},"76":{},"88":{},"89":{},"124":{},"163":{},"165":{},"179":{},"180":{},"191":{},"245":{},"246":{},"260":{},"270":{},"274":{},"276":{},"279":{},"281":{}},"component":{}}],["split/merg",{"_index":5319,"title":{},"name":{},"text":{"88":{},"255":{}},"component":{}}],["split_event_processor_seg",{"_index":6687,"title":{},"name":{},"text":{"171":{}},"component":{}}],["spliteventprocessor(eventprocessoridentifi",{"_index":6968,"title":{},"name":{},"text":{"180":{}},"component":{}}],["splitsegment(int",{"_index":5311,"title":{},"name":{},"text":{"88":{}},"component":{}}],["splitsegmentfor(str",{"_index":5314,"title":{},"name":{},"text":{"88":{}},"component":{}}],["splunk",{"_index":733,"title":{"5-7":{}},"name":{},"text":{"5":{}},"component":{}}],["spot",{"_index":4232,"title":{},"name":{},"text":{"67":{},"87":{},"89":{}},"component":{}}],["spread",{"_index":3017,"title":{},"name":{},"text":{"59":{},"60":{},"76":{},"84":{},"165":{}},"component":{}}],["spring",{"_index":26,"title":{"32":{},"91":{},"110":{},"113":{},"124":{},"126":{},"129":{},"131":{},"30-8":{},"30-9":{},"30-17":{},"30-20":{},"30-22":{},"30-24":{},"30-28":{},"30-30":{},"30-32":{},"30-33":{},"30-34":{},"30-35":{},"30-37":{},"31-3":{},"31-4":{},"31-5":{},"32-3":{},"32-4":{},"32-5":{},"32-6":{},"40-7":{},"54-1":{},"57-3":{},"57-7":{},"57-8":{},"59-3":{},"59-7":{},"59-13":{},"59-14":{},"59-19":{},"59-24":{},"69-13":{},"69-15":{},"71-3":{},"75-3":{},"76-5":{},"77-4":{},"77-8":{},"77-12":{},"89-3":{},"89-5":{},"89-6":{},"89-11":{},"89-12":{},"97-1":{},"97-2":{},"280-3":{},"284-4":{}},"name":{"32":{},"110":{},"113":{}},"text":{"1":{},"5":{},"15":{},"17":{},"20":{},"24":{},"28":{},"30":{},"32":{},"33":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"50":{},"52":{},"54":{},"55":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"68":{},"69":{},"71":{},"76":{},"77":{},"79":{},"81":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"94":{},"96":{},"97":{},"104":{},"114":{},"117":{},"119":{},"120":{},"121":{},"123":{},"124":{},"126":{},"127":{},"128":{},"129":{},"131":{},"133":{},"147":{},"150":{},"176":{},"184":{},"185":{},"189":{},"237":{},"270":{},"276":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{}}}],["spring.datasource.url",{"_index":703,"title":{},"name":{},"text":{"4":{}},"component":{}}],["spring.datasource.url=jdbc:h2:./data/axonserv",{"_index":705,"title":{},"name":{},"text":{"4":{}},"component":{}}],["spring.factori",{"_index":1735,"title":{},"name":{},"text":{"32":{}},"component":{}}],["spring.jpa.properties.hibernate.id.db_structure_naming_strategy=legaci",{"_index":1837,"title":{},"name":{},"text":{"33":{}},"component":{}}],["spring.security.oauth2.client.provider.keycloak.issu",{"_index":6776,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.google.cli",{"_index":6760,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.google.scop",{"_index":6761,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.oidcclient.cli",{"_index":6772,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.oidcclient.provid",{"_index":6773,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.oidcclient.scop",{"_index":6774,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.servlet.multipart.max",{"_index":6380,"title":{},"name":{},"text":{"148":{},"179":{}},"component":{}}],["spring:4.33.0,org.axonframework:axon",{"_index":1847,"title":{},"name":{},"text":{"33":{}},"component":{}}],["springaggregatelookup",{"_index":3451,"title":{},"name":{},"text":{"66":{}},"component":{}}],["springaggregatesnapshott",{"_index":4740,"title":{},"name":{},"text":{"77":{}},"component":{}}],["springamqpmessagesourc",{"_index":5419,"title":{},"name":{},"text":{"92":{}},"component":{}}],["springamqpmessagesource(messageconvert",{"_index":5422,"title":{},"name":{},"text":{"92":{}},"component":{}}],["springamqppublish",{"_index":5413,"title":{},"name":{},"text":{"90":{}},"component":{}}],["springapplication.run(myapplication.class",{"_index":5929,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springaxonautoconfigur",{"_index":4087,"title":{},"name":{},"text":{"67":{}},"component":{}}],["springaxonconfigur",{"_index":3471,"title":{},"name":{},"text":{"66":{}},"component":{}}],["springboot",{"_index":1354,"title":{"96":{},"104":{},"114":{},"121-1":{},"279-3":{},"281-9":{}},"name":{"96":{},"104":{},"114":{}},"text":{"24":{},"278":{},"279":{},"281":{}},"component":{}}],["springbootappl",{"_index":4268,"title":{},"name":{},"text":{"67":{},"128":{}},"component":{}}],["springcloud",{"_index":1525,"title":{},"name":{},"text":{"30":{},"38":{},"128":{},"129":{}},"component":{}}],["springcloudcommandrout",{"_index":5909,"title":{},"name":{},"text":{"127":{},"129":{}},"component":{}}],["springcloudcommandrouter(discoverycli",{"_index":5934,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springcloudcommandrouter.build",{"_index":5936,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springcommandcontrol",{"_index":5804,"title":{},"name":{},"text":{"121":{}},"component":{}}],["springconfigur",{"_index":3472,"title":{},"name":{},"text":{"66":{}},"component":{}}],["springconfigurer.componentloc",{"_index":3976,"title":{},"name":{},"text":{"67":{}},"component":{}}],["springdatasourceconnectionprovid",{"_index":2582,"title":{},"name":{},"text":{"46":{}},"component":{}}],["springhttpcommandbusconnector",{"_index":5962,"title":{},"name":{},"text":{"129":{},"130":{}},"component":{}}],["springhttpcommandbusconnector(@qualifier(\"localseg",{"_index":5942,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springhttpcommandbusconnector.build",{"_index":5944,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springmongotempl",{"_index":5682,"title":{},"name":{},"text":{"114":{}},"component":{}}],["springmongotransactionmanag",{"_index":5681,"title":{},"name":{},"text":{"114":{}},"component":{}}],["springprototypeaggregatefactori",{"_index":2004,"title":{"36-8":{}},"name":{},"text":{"36":{},"67":{}},"component":{}}],["springquerycontrol",{"_index":5816,"title":{},"name":{},"text":{"121":{}},"component":{}}],["springresourceinjector",{"_index":4471,"title":{},"name":{},"text":{"69":{}},"component":{}}],["springtransactionmanag",{"_index":5107,"title":{},"name":{},"text":{"87":{}},"component":{}}],["spring’",{"_index":1717,"title":{},"name":{},"text":{"32":{},"44":{},"67":{},"69":{},"87":{},"280":{}},"component":{}}],["spuriou",{"_index":3674,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sql",{"_index":2361,"title":{},"name":{},"text":{"40":{},"46":{},"67":{},"69":{},"71":{},"79":{},"115":{},"117":{},"280":{}},"component":{}}],["sqltypecod",{"_index":4847,"title":{},"name":{},"text":{"79":{}},"component":{}}],["sqltypes.blob",{"_index":4848,"title":{},"name":{},"text":{"79":{}},"component":{}}],["squar",{"_index":3731,"title":{},"name":{},"text":{"66":{}},"component":{}}],["src",{"_index":7797,"title":{},"name":{},"text":{"279":{}},"component":{}}],["src/main/java/resources/meta",{"_index":4865,"title":{},"name":{},"text":{"79":{}},"component":{}}],["src/main/resources/application.properti",{"_index":7755,"title":{},"name":{},"text":{"276":{}},"component":{}}],["src/test/java/io/axoniq/demo/bikerental/rental/command",{"_index":8024,"title":{},"name":{},"text":{"285":{}},"component":{}}],["srmppn",{"_index":3732,"title":{},"name":{},"text":{"66":{}},"component":{}}],["ssd",{"_index":6430,"title":{},"name":{},"text":{"151":{}},"component":{}}],["ssh",{"_index":7233,"title":{},"name":{},"text":{"199":{}},"component":{}}],["ssl",{"_index":490,"title":{"176":{},"192-12":{}},"name":{"176":{}},"text":{"3":{},"168":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"191":{},"192":{}},"component":{}}],["ssl,tl",{"_index":6809,"title":{},"name":{},"text":{"178":{}},"component":{}}],["ssl.cert",{"_index":6887,"title":{},"name":{},"text":{"179":{}},"component":{}}],["ssl.enabl",{"_index":6805,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["ssl.intern",{"_index":6800,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["ssl.privat",{"_index":6888,"title":{},"name":{},"text":{"179":{}},"component":{}}],["st",{"_index":675,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["stabil",{"_index":7532,"title":{},"name":{},"text":{"220":{}},"component":{}}],["stack",{"_index":797,"title":{},"name":{},"text":{"5":{},"44":{},"66":{},"94":{}},"component":{}}],["stackoverflowerror",{"_index":7490,"title":{},"name":{},"text":{"215":{}},"component":{}}],["stacktrac",{"_index":3649,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["stage",{"_index":318,"title":{},"name":{},"text":{"3":{},"46":{},"52":{},"53":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"99":{},"191":{},"254":{},"282":{}},"component":{}}],["stale",{"_index":4786,"title":{},"name":{},"text":{"77":{},"88":{},"140":{},"141":{},"145":{}},"component":{}}],["stall",{"_index":4989,"title":{},"name":{},"text":{"86":{},"87":{}},"component":{}}],["stamp",{"_index":4814,"title":{},"name":{},"text":{"79":{}},"component":{}}],["stanc",{"_index":4758,"title":{},"name":{},"text":{"77":{}},"component":{}}],["stand",{"_index":4826,"title":{},"name":{},"text":{"79":{},"101":{},"230":{},"240":{}},"component":{}}],["standalon",{"_index":405,"title":{},"name":{},"text":{"3":{},"140":{},"141":{},"178":{},"191":{},"200":{},"201":{},"232":{}},"component":{}}],["standard",{"_index":53,"title":{"162":{},"2-6":{},"36-4":{}},"name":{"162":{}},"text":{"2":{},"3":{},"30":{},"36":{},"59":{},"69":{},"71":{},"88":{},"89":{},"120":{},"133":{},"137":{},"138":{},"140":{},"148":{},"173":{},"176":{},"191":{},"192":{},"201":{},"204":{}},"component":{}}],["start",{"_index":149,"title":{"200":{},"227":{},"5-2":{},"201-2":{},"249-2":{},"260-2":{},"273-5":{},"274-1":{}},"name":{"277":{}},"text":{"2":{},"3":{},"4":{},"5":{},"7":{},"8":{},"13":{},"18":{},"21":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"38":{},"42":{},"44":{},"46":{},"50":{},"51":{},"53":{},"59":{},"66":{},"67":{},"69":{},"72":{},"74":{},"77":{},"86":{},"87":{},"88":{},"94":{},"96":{},"99":{},"102":{},"125":{},"133":{},"138":{},"141":{},"144":{},"145":{},"147":{},"148":{},"149":{},"151":{},"154":{},"156":{},"169":{},"177":{},"178":{},"179":{},"180":{},"184":{},"186":{},"189":{},"191":{},"192":{},"199":{},"200":{},"201":{},"203":{},"207":{},"208":{},"212":{},"215":{},"235":{},"237":{},"238":{},"241":{},"244":{},"249":{},"250":{},"254":{},"259":{},"260":{},"262":{},"263":{},"264":{},"265":{},"267":{},"270":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"289":{}},"component":{"200":{},"201":{},"202":{},"203":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{}}}],["start/compose.yaml",{"_index":8019,"title":{},"name":{},"text":{"284":{}},"component":{}}],["start/rental/target/class",{"_index":8017,"title":{},"name":{},"text":{"284":{}},"component":{}}],["start/stop",{"_index":5339,"title":{},"name":{},"text":{"88":{}},"component":{}}],["start/stop/pause/reset",{"_index":7614,"title":{},"name":{},"text":{"255":{}},"component":{}}],["start=fals",{"_index":5469,"title":{},"name":{},"text":{"96":{}},"component":{}}],["start_event_processor",{"_index":6688,"title":{},"name":{},"text":{"171":{}},"component":{}}],["starter",{"_index":162,"title":{"30-9":{},"30-17":{},"30-20":{},"30-22":{},"30-24":{},"30-28":{},"30-30":{},"30-32":{},"30-35":{},"30-37":{},"32-3":{}},"name":{},"text":{"2":{},"3":{},"30":{},"32":{},"33":{},"38":{},"39":{},"40":{},"46":{},"61":{},"66":{},"67":{},"94":{},"96":{},"97":{},"104":{},"114":{},"121":{},"128":{},"129":{},"133":{},"172":{},"191":{},"232":{},"264":{},"270":{},"273":{},"276":{},"278":{},"279":{},"285":{}},"component":{}}],["starteventprocessor",{"_index":6210,"title":{},"name":{},"text":{"144":{}},"component":{}}],["starteventprocessor(eventprocessoridentifi",{"_index":6965,"title":{},"name":{},"text":{"180":{}},"component":{}}],["starthandl",{"_index":3664,"title":{},"name":{},"text":{"66":{}},"component":{}}],["startposit",{"_index":5333,"title":{},"name":{},"text":{"88":{}},"component":{}}],["startreceivingcommands(flux",{"_index":5812,"title":{},"name":{},"text":{"121":{}},"component":{}}],["startsaga",{"_index":4421,"title":{},"name":{},"text":{"68":{},"69":{},"97":{}},"component":{}}],["startscheduler(fals",{"_index":2330,"title":{},"name":{},"text":{"39":{}},"component":{}}],["startswith(\"com.context.book",{"_index":6349,"title":{},"name":{},"text":{"147":{}},"component":{}}],["startup",{"_index":1713,"title":{"32-6":{}},"name":{},"text":{"67":{},"88":{},"143":{},"149":{},"154":{},"161":{},"177":{},"179":{},"208":{},"215":{}},"component":{}}],["state",{"_index":556,"title":{"85":{},"286":{},"289":{},"290":{},"35-2":{},"72-8":{},"145-6":{},"145-10":{},"145-13":{},"289-5":{}},"name":{"85":{}},"text":{"3":{},"6":{},"20":{},"35":{},"36":{},"37":{},"38":{},"42":{},"44":{},"49":{},"51":{},"58":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"80":{},"82":{},"84":{},"85":{},"86":{},"88":{},"89":{},"120":{},"127":{},"141":{},"142":{},"144":{},"145":{},"151":{},"161":{},"179":{},"186":{},"187":{},"191":{},"226":{},"280":{},"281":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["state_transitions_via_command",{"_index":8062,"title":{},"name":{"289":{}},"text":{},"component":{}}],["state_views_via_project",{"_index":8073,"title":{},"name":{"290":{}},"text":{},"component":{}}],["statefulset",{"_index":524,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["statefulset.apps/axonserv",{"_index":641,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["stateless",{"_index":5050,"title":{},"name":{},"text":{"87":{}},"component":{}}],["statement",{"_index":1787,"title":{},"name":{},"text":{"33":{},"46":{},"66":{},"67":{},"69":{},"71":{},"88":{}},"component":{}}],["static",{"_index":1235,"title":{"115-1":{}},"name":{},"text":{"20":{},"22":{},"24":{},"35":{},"36":{},"38":{},"40":{},"42":{},"44":{},"49":{},"51":{},"66":{},"72":{},"80":{},"82":{},"84":{},"85":{},"128":{},"145":{},"148":{},"280":{},"281":{}},"component":{}}],["static_key",{"_index":2238,"title":{},"name":{},"text":{"38":{}},"component":{}}],["statist",{"_index":842,"title":{"274-10":{},"274-20":{},"274-21":{},"274-27":{},"274-32":{}},"name":{},"text":{"5":{},"239":{},"243":{},"246":{},"255":{},"260":{},"273":{},"274":{}},"component":{}}],["statu",{"_index":799,"title":{"58-1":{}},"name":{"280":{}},"text":{"5":{},"54":{},"55":{},"58":{},"66":{},"67":{},"88":{},"97":{},"140":{},"178":{},"179":{},"185":{},"187":{},"201":{},"208":{},"211":{},"232":{},"241":{},"244":{},"246":{},"260":{},"261":{},"262":{},"274":{},"280":{},"281":{}},"component":{}}],["status",{"_index":7860,"title":{},"name":{},"text":{"280":{}},"component":{}}],["status.cod",{"_index":4287,"title":{},"name":{},"text":{"67":{}},"component":{}}],["stay",{"_index":825,"title":{},"name":{},"text":{"5":{},"33":{},"63":{},"140":{}},"component":{}}],["stdout",{"_index":6882,"title":{},"name":{},"text":{"179":{}},"component":{}}],["steal",{"_index":5112,"title":{"88-10":{},"88-12":{}},"name":{},"text":{"88":{},"261":{}},"component":{}}],["stefanmirkov",{"_index":4061,"title":{},"name":{},"text":{"67":{}},"component":{}}],["step",{"_index":328,"title":{"33-1":{},"33-2":{},"33-3":{},"33-4":{},"33-5":{},"33-6":{},"33-7":{},"33-8":{},"33-9":{},"145-20":{}},"name":{},"text":{"3":{},"4":{},"28":{},"29":{},"33":{},"42":{},"53":{},"66":{},"67":{},"79":{},"102":{},"120":{},"144":{},"165":{},"179":{},"191":{},"192":{},"194":{},"196":{},"201":{},"202":{},"203":{},"208":{},"215":{},"220":{},"232":{},"237":{},"262":{},"263":{},"267":{},"268":{},"269":{},"271":{},"272":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"284":{},"285":{}},"component":{}}],["stereotyp",{"_index":3699,"title":{},"name":{},"text":{"66":{}},"component":{}}],["stick",{"_index":1217,"title":{},"name":{},"text":{"19":{},"31":{},"33":{},"46":{},"47":{},"53":{}},"component":{}}],["sticki",{"_index":8066,"title":{},"name":{},"text":{"289":{}},"component":{}}],["still",{"_index":177,"title":{},"name":{},"text":{"2":{},"4":{},"5":{},"27":{},"38":{},"46":{},"47":{},"59":{},"67":{},"72":{},"87":{},"88":{},"89":{},"90":{},"94":{},"128":{},"130":{},"140":{},"142":{},"144":{},"148":{},"151":{},"156":{},"167":{},"172":{},"178":{},"179":{},"186":{},"189":{},"206":{},"216":{},"217":{},"219":{},"264":{},"273":{},"280":{},"281":{}},"component":{}}],["stock",{"_index":4724,"title":{},"name":{},"text":{"77":{}},"component":{}}],["stoerti",{"_index":3915,"title":{},"name":{},"text":{"67":{}},"component":{}}],["stolen",{"_index":5113,"title":{"88-11":{}},"name":{},"text":{"88":{}},"component":{}}],["stop",{"_index":716,"title":{"5-6":{}},"name":{},"text":{"4":{},"5":{},"16":{},"17":{},"38":{},"67":{},"74":{},"80":{},"86":{},"87":{},"88":{},"99":{},"121":{},"141":{},"143":{},"144":{},"145":{},"148":{},"178":{},"179":{},"186":{},"199":{},"215":{},"249":{},"250":{},"259":{},"260":{},"284":{}},"component":{}}],["storag",{"_index":48,"title":{"151":{},"226":{},"2-4":{},"29-1":{},"46-9":{},"140-27":{},"151-2":{},"151-4":{},"151-17":{},"192-10":{},"206-42":{},"220-1":{},"226-1":{},"226-2":{},"226-3":{},"226-4":{}},"name":{"151":{}},"text":{"2":{},"3":{},"19":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"42":{},"46":{},"64":{},"66":{},"67":{},"69":{},"71":{},"79":{},"85":{},"88":{},"113":{},"140":{},"141":{},"142":{},"145":{},"146":{},"151":{},"154":{},"156":{},"157":{},"164":{},"179":{},"181":{},"185":{},"191":{},"192":{},"206":{},"215":{},"220":{},"221":{},"226":{},"280":{}},"component":{}}],["storage.event.max",{"_index":6911,"title":{},"name":{},"text":{"179":{}},"component":{}}],["storage/messag",{"_index":7164,"title":{},"name":{},"text":{"192":{}},"component":{}}],["storagecontextnam",{"_index":7163,"title":{},"name":{},"text":{"192":{}},"component":{}}],["storageengin",{"_index":2559,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["storageengine(eventstorageengin",{"_index":2768,"title":{},"name":{},"text":{"51":{}},"component":{}}],["storageengine(mongocli",{"_index":2600,"title":{},"name":{},"text":{"46":{}},"component":{}}],["storageengine(mongodatabasefactori",{"_index":5676,"title":{},"name":{},"text":{"113":{}},"component":{}}],["storageengine(storageengin",{"_index":2561,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["storageengine.createschema(eventtablefactori",{"_index":2578,"title":{},"name":{},"text":{"46":{}},"component":{}}],["storageengine.createschema(tablefactori",{"_index":2581,"title":{},"name":{},"text":{"46":{}},"component":{}}],["storageprovider(storageprovid",{"_index":5476,"title":{},"name":{},"text":{"97":{}},"component":{}}],["storagestrategi",{"_index":2588,"title":{},"name":{},"text":{"46":{},"114":{}},"component":{}}],["storagetyp",{"_index":5638,"title":{},"name":{},"text":{"106":{}},"component":{}}],["store",{"_index":39,"title":{"46":{},"85":{},"113":{},"2-3":{},"46-2":{},"46-3":{},"46-4":{},"46-8":{},"46-10":{},"46-11":{},"69-6":{},"71-4":{},"77-5":{},"88-13":{},"88-14":{},"142-2":{},"145-6":{},"145-10":{},"145-23":{},"186-3":{},"206-34":{},"206-35":{},"206-36":{}},"name":{"85":{}},"text":{"2":{},"3":{},"4":{},"19":{},"29":{},"30":{},"31":{},"32":{},"36":{},"38":{},"39":{},"40":{},"44":{},"45":{},"46":{},"49":{},"56":{},"59":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"85":{},"86":{},"88":{},"89":{},"92":{},"99":{},"100":{},"102":{},"111":{},"113":{},"114":{},"115":{},"117":{},"121":{},"127":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"161":{},"162":{},"167":{},"169":{},"174":{},"176":{},"178":{},"179":{},"181":{},"185":{},"191":{},"192":{},"194":{},"198":{},"199":{},"206":{},"212":{},"217":{},"221":{},"226":{},"257":{},"260":{},"261":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["store.en",{"_index":5685,"title":{},"name":{},"text":{"114":{}},"component":{}}],["store/ev",{"_index":1764,"title":{},"name":{},"text":{"32":{}},"component":{}}],["store’",{"_index":6326,"title":{},"name":{},"text":{"147":{}},"component":{}}],["storm",{"_index":7956,"title":{},"name":{},"text":{"281":{}},"component":{}}],["straightforward",{"_index":715,"title":{},"name":{},"text":{"4":{},"29":{},"38":{},"61":{},"66":{},"68":{},"69":{},"86":{},"87":{},"88":{},"127":{},"235":{}},"component":{}}],["strategi",{"_index":1938,"title":{"38-14":{}},"name":{},"text":{"35":{},"38":{},"53":{},"63":{},"66":{},"67":{},"87":{},"88":{},"140":{},"142":{},"179":{},"180":{},"260":{}},"component":{}}],["strategy=threadnumb",{"_index":5300,"title":{},"name":{},"text":{"88":{}},"component":{}}],["stream",{"_index":1452,"title":{"88":{},"59-31":{},"59-40":{},"63-5":{},"63-6":{},"88-3":{},"88-19":{},"88-20":{},"89-8":{},"140-2":{},"163-1":{},"260-1":{}},"name":{"88":{}},"text":{"29":{},"30":{},"31":{},"36":{},"44":{},"46":{},"49":{},"58":{},"59":{},"62":{},"63":{},"64":{},"66":{},"67":{},"76":{},"77":{},"79":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"102":{},"119":{},"120":{},"121":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"163":{},"165":{},"179":{},"180":{},"194":{},"197":{},"206":{},"215":{},"260":{},"261":{},"274":{}},"component":{}}],["stream.batch",{"_index":5410,"title":{},"name":{},"text":{"89":{}},"component":{}}],["stream.initi",{"_index":5412,"title":{},"name":{},"text":{"89":{}},"component":{}}],["stream.name=mi",{"_index":5409,"title":{},"name":{},"text":{"89":{}},"component":{}}],["streamabl",{"_index":3809,"title":{"99-2":{}},"name":{},"text":{"66":{},"99":{},"102":{}},"component":{}}],["streamablbemessagesourc",{"_index":3808,"title":{},"name":{},"text":{"66":{}},"component":{}}],["streamablekafkamessagesourc",{"_index":5478,"title":{"104-10":{}},"name":{},"text":{"99":{},"104":{}},"component":{}}],["streamablekafkamessagesource(list",{"_index":5523,"title":{},"name":{},"text":{"99":{}},"component":{}}],["streamablekafkamessagesource.build",{"_index":5525,"title":{},"name":{},"text":{"99":{}},"component":{}}],["streamablemessagesourc",{"_index":5115,"title":{},"name":{},"text":{"88":{},"115":{}},"component":{}}],["streamablemessagesource#createtokenat(inst",{"_index":4331,"title":{},"name":{},"text":{"67":{}},"component":{}}],["streamablemessagesource’",{"_index":5340,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingeventprocessor",{"_index":2835,"title":{},"name":{},"text":{"52":{},"58":{},"66":{},"67":{},"88":{},"144":{}},"component":{}}],["streamingeventprocessor#maxcapac",{"_index":3714,"title":{},"name":{},"text":{"66":{}},"component":{}}],["streamingeventprocessor#resettoken",{"_index":5344,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingeventprocessor.claimseg",{"_index":3344,"title":{},"name":{},"text":{"66":{}},"component":{}}],["streamingeventprocessor.class",{"_index":5306,"title":{},"name":{},"text":{"88":{},"144":{}},"component":{}}],["streamingeventprocessor.resettoken",{"_index":6196,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingeventprocessor.shutdown",{"_index":6195,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingeventprocessor.start",{"_index":6197,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingeventprocessor.supportsreset",{"_index":6194,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingprocessor.mergesegment(segmentid",{"_index":5317,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.releasesegment(segmentid",{"_index":5308,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.resettoken",{"_index":5336,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.resettokens(resetcontext",{"_index":5338,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.shutdown",{"_index":5335,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.splitsegment(segmentid",{"_index":5315,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.start",{"_index":5337,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessorcontrol",{"_index":5318,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessorservic",{"_index":5302,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingqueri",{"_index":3206,"title":{},"name":{},"text":{"63":{}},"component":{}}],["streamingquery(queri",{"_index":3213,"title":{},"name":{},"text":{"63":{}},"component":{}}],["streamlin",{"_index":6050,"title":{},"name":{},"text":{"140":{}},"component":{}}],["streamnam",{"_index":5398,"title":{},"name":{},"text":{"89":{}},"component":{}}],["streams.mi",{"_index":5408,"title":{},"name":{},"text":{"89":{}},"component":{}}],["strengthen",{"_index":5496,"title":{},"name":{},"text":{"99":{}},"component":{}}],["stress",{"_index":1165,"title":{},"name":{},"text":{"17":{},"270":{},"271":{}},"component":{}}],["strict",{"_index":6103,"title":{},"name":{},"text":{"142":{}},"component":{}}],["strike",{"_index":6471,"title":{},"name":{},"text":{"151":{}},"component":{}}],["string",{"_index":1230,"title":{},"name":{},"text":{"20":{},"22":{},"24":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"44":{},"47":{},"50":{},"51":{},"52":{},"64":{},"67":{},"68":{},"69":{},"72":{},"76":{},"79":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"99":{},"101":{},"102":{},"104":{},"106":{},"108":{},"115":{},"121":{},"144":{},"195":{},"211":{},"212":{},"214":{},"280":{},"281":{},"289":{}},"component":{}}],["string.class",{"_index":5248,"title":{},"name":{},"text":{"88":{}},"component":{}}],["string.format(\"bik",{"_index":7847,"title":{},"name":{},"text":{"280":{}},"component":{}}],["string/numb",{"_index":4424,"title":{},"name":{},"text":{"68":{}},"component":{}}],["strip",{"_index":3564,"title":{},"name":{},"text":{"66":{}},"component":{}}],["strive",{"_index":1144,"title":{},"name":{},"text":{"17":{}},"component":{}}],["stroke",{"_index":7735,"title":{},"name":{},"text":{"274":{}},"component":{}}],["strong",{"_index":2086,"title":{},"name":{},"text":{"38":{},"145":{},"147":{},"192":{}},"component":{}}],["strongli",{"_index":526,"title":{},"name":{},"text":{"3":{},"33":{},"47":{},"79":{},"86":{},"88":{},"145":{},"191":{}},"component":{}}],["structur",{"_index":285,"title":{"268":{},"51-3":{},"51-11":{},"82-1":{},"279-1":{}},"name":{"268":{}},"text":{"3":{},"32":{},"35":{},"44":{},"46":{},"47":{},"51":{},"66":{},"79":{},"81":{},"82":{},"84":{},"85":{},"101":{},"157":{},"191":{},"192":{},"211":{},"212":{},"214":{},"224":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["sts.yml",{"_index":639,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["stub",{"_index":4684,"title":{},"name":{},"text":{"74":{}},"component":{}}],["stubaggregatelifecycleextens",{"_index":4541,"title":{},"name":{},"text":{"72":{}},"component":{}}],["stubeventschedul",{"_index":4692,"title":{},"name":{},"text":{"74":{}},"component":{}}],["stubschedul",{"_index":4689,"title":{},"name":{},"text":{"74":{}},"component":{}}],["stuck",{"_index":5042,"title":{},"name":{},"text":{"86":{},"266":{}},"component":{}}],["studi",{"_index":527,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["style",{"_index":2552,"title":{},"name":{},"text":{"46":{},"104":{},"115":{},"140":{}},"component":{}}],["sub",{"_index":206,"title":{},"name":{},"text":{"3":{},"28":{},"37":{},"41":{},"45":{},"47":{},"49":{},"70":{},"73":{},"78":{},"137":{},"146":{},"153":{},"155":{},"157":{},"159":{},"175":{},"191":{},"279":{}},"component":{}}],["subclass",{"_index":1385,"title":{},"name":{},"text":{"27":{},"44":{},"66":{},"81":{}},"component":{}}],["subdirectori",{"_index":288,"title":{},"name":{},"text":{"3":{},"147":{},"170":{},"172":{},"179":{},"191":{}},"component":{}}],["subhandl",{"_index":3246,"title":{},"name":{},"text":{"64":{}},"component":{}}],["subject",{"_index":528,"title":{},"name":{},"text":{"3":{},"29":{},"107":{},"191":{},"285":{}},"component":{}}],["sublisten",{"_index":2409,"title":{},"name":{},"text":{"43":{}},"component":{}}],["submit",{"_index":3085,"title":{},"name":{},"text":{"59":{},"186":{}},"component":{}}],["submodul",{"_index":7794,"title":{},"name":{},"text":{"278":{},"279":{}},"component":{}}],["subnetwork",{"_index":7216,"title":{},"name":{},"text":{"199":{}},"component":{}}],["suboptim",{"_index":1447,"title":{},"name":{},"text":{"29":{},"67":{}},"component":{}}],["subproject",{"_index":7796,"title":{"279-6":{}},"name":{},"text":{"279":{}},"component":{}}],["subqueryhandl",{"_index":3251,"title":{},"name":{},"text":{"64":{}},"component":{}}],["subscrib",{"_index":808,"title":{"89":{},"59-32":{},"99-1":{}},"name":{"89":{}},"text":{"5":{},"6":{},"46":{},"59":{},"63":{},"66":{},"67":{},"69":{},"87":{},"88":{},"89":{},"90":{},"99":{},"102":{},"104":{},"108":{},"121":{},"140":{},"180":{},"186":{},"206":{},"280":{},"286":{}},"component":{}}],["subscribablekafkamessagesourc",{"_index":5493,"title":{},"name":{},"text":{"99":{},"104":{}},"component":{}}],["subscribablekafkamessagesource#start",{"_index":5502,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablekafkamessagesource(list",{"_index":5506,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablekafkamessagesource.build",{"_index":5509,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablekafkamessagesource.builder#autostart",{"_index":5522,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablemessagesourc",{"_index":5118,"title":{},"name":{},"text":{"88":{},"89":{},"90":{},"92":{},"99":{}},"component":{}}],["subscribe_command_handl",{"_index":6594,"title":{},"name":{},"text":{"169":{},"171":{},"178":{},"204":{}},"component":{}}],["subscribe_query_handl",{"_index":6595,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["subscribecontextupdates(google.protobuf.empti",{"_index":6982,"title":{},"name":{},"text":{"180":{}},"component":{}}],["subscribingeventprocessor",{"_index":5378,"title":{},"name":{},"text":{"89":{},"99":{},"104":{}},"component":{}}],["subscribingprocessorsconfigurermodul",{"_index":5389,"title":{},"name":{},"text":{"89":{}},"component":{}}],["subscript",{"_index":729,"title":{"250":{},"5-6":{},"59-46":{},"63-4":{},"121-8":{},"250-3":{},"254-3":{}},"name":{"250":{}},"text":{"5":{},"51":{},"59":{},"62":{},"63":{},"67":{},"99":{},"121":{},"141":{},"143":{},"169":{},"186":{},"219":{},"237":{},"249":{},"250":{},"254":{},"255":{},"273":{}},"component":{}}],["subscription.retri",{"_index":7365,"title":{"206-48":{}},"name":{},"text":{},"component":{}}],["subscriptionqueri",{"_index":5795,"title":{"121-9":{}},"name":{},"text":{},"component":{}}],["subscriptionquerymani",{"_index":5796,"title":{"121-10":{}},"name":{},"text":{},"component":{}}],["subscriptionqueryresult",{"_index":3181,"title":{},"name":{},"text":{"63":{}},"component":{}}],["subscriptionqueryresult#handl",{"_index":3920,"title":{},"name":{},"text":{"67":{}},"component":{}}],["subscriptionqueryresult#handle(consum",{"_index":3198,"title":{},"name":{},"text":{"63":{}},"component":{}}],["subscriptionquerysend",{"_index":5832,"title":{},"name":{},"text":{"121":{}},"component":{}}],["subsect",{"_index":1398,"title":{"62-2":{}},"name":{},"text":{"28":{},"41":{},"55":{},"59":{},"62":{},"78":{},"137":{},"153":{},"155":{},"159":{}},"component":{}}],["subsequ",{"_index":2878,"title":{},"name":{},"text":{"53":{},"59":{},"63":{},"142":{},"163":{},"172":{},"179":{}},"component":{}}],["subset",{"_index":4233,"title":{},"name":{},"text":{"67":{},"262":{}},"component":{}}],["substitut",{"_index":6821,"title":{},"name":{},"text":{"179":{}},"component":{}}],["substr",{"_index":7190,"title":{},"name":{},"text":{"195":{}},"component":{}}],["subtyp",{"_index":2678,"title":{"81-1":{}},"name":{},"text":{"49":{},"52":{},"64":{},"66":{},"67":{},"81":{}},"component":{}}],["subtypes.add(openloopgiftcard.class",{"_index":4899,"title":{},"name":{},"text":{"81":{}},"component":{}}],["subtypes.add(rechargeablegiftcard.class",{"_index":4900,"title":{},"name":{},"text":{"81":{}},"component":{}}],["succe",{"_index":2092,"title":{},"name":{},"text":{"38":{},"53":{},"72":{},"86":{},"172":{}},"component":{}}],["succeed",{"_index":4227,"title":{},"name":{},"text":{"67":{},"88":{}},"component":{}}],["success",{"_index":1197,"title":{"238":{}},"name":{"238":{}},"text":{"18":{},"34":{},"42":{},"57":{},"66":{},"72":{},"88":{},"105":{},"144":{},"156":{},"192":{},"237":{},"289":{}},"component":{}}],["successfulli",{"_index":1175,"title":{},"name":{},"text":{"17":{},"34":{},"63":{},"66":{},"67":{},"72":{},"86":{},"87":{},"123":{},"124":{},"144":{},"151":{},"192":{},"201":{},"238":{},"241":{},"247":{},"277":{},"281":{},"285":{},"289":{}},"component":{}}],["successor",{"_index":2998,"title":{},"name":{},"text":{"59":{}},"component":{}}],["successthreshold",{"_index":629,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["such",{"_index":126,"title":{"5-7":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"16":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{},"40":{},"43":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"57":{},"58":{},"59":{},"60":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"75":{},"76":{},"77":{},"80":{},"82":{},"86":{},"87":{},"88":{},"91":{},"94":{},"99":{},"101":{},"102":{},"104":{},"105":{},"115":{},"120":{},"121":{},"124":{},"132":{},"138":{},"140":{},"142":{},"143":{},"147":{},"151":{},"165":{},"166":{},"167":{},"169":{},"170":{},"175":{},"189":{},"191":{},"199":{},"200":{},"202":{},"204":{},"211":{},"212":{},"214":{},"217":{},"224":{},"234":{},"242":{},"245":{},"246":{},"250":{},"261":{},"267":{},"273":{},"274":{},"283":{},"286":{},"290":{}},"component":{}}],["sudden",{"_index":4108,"title":{},"name":{},"text":{"67":{},"273":{}},"component":{}}],["suddent",{"_index":7644,"title":{},"name":{},"text":{"264":{}},"component":{}}],["sudo",{"_index":7242,"title":{},"name":{},"text":{"199":{}},"component":{}}],["suffic",{"_index":2052,"title":{},"name":{},"text":{"36":{},"46":{},"67":{},"69":{},"79":{},"87":{},"88":{},"189":{}},"component":{}}],["suffici",{"_index":1609,"title":{},"name":{},"text":{"31":{},"36":{},"43":{},"50":{},"60":{},"66":{},"87":{},"88":{},"90":{},"145":{},"232":{},"263":{},"274":{}},"component":{}}],["suffix",{"_index":673,"title":{},"name":{},"text":{"3":{},"36":{},"179":{},"191":{}},"component":{}}],["suggest",{"_index":1413,"title":{},"name":{},"text":{"29":{},"38":{},"40":{},"52":{},"75":{},"78":{},"79":{},"88":{},"111":{},"128":{},"130":{},"156":{},"172":{},"235":{},"271":{}},"component":{}}],["suit",{"_index":2132,"title":{},"name":{},"text":{"38":{},"72":{},"200":{}},"component":{}}],["suitabl",{"_index":1350,"title":{},"name":{},"text":{"24":{},"31":{},"36":{},"38":{},"43":{},"46":{},"64":{},"69":{},"80":{},"86":{},"87":{},"88":{},"145":{},"151":{},"286":{}},"component":{}}],["sum",{"_index":814,"title":{},"name":{},"text":{"5":{},"145":{}},"component":{}}],["summar",{"_index":4751,"title":{},"name":{},"text":{"77":{},"192":{},"274":{}},"component":{}}],["summari",{"_index":1397,"title":{"178-1":{},"274-15":{}},"name":{},"text":{"28":{},"37":{},"41":{},"45":{},"55":{},"62":{},"63":{},"66":{},"70":{},"73":{},"78":{},"88":{},"137":{},"146":{},"155":{},"159":{},"164":{},"169":{},"175":{},"178":{},"181":{},"232":{},"238":{},"241":{},"244":{},"246":{},"274":{},"281":{}},"component":{}}],["summaris",{"_index":4722,"title":{},"name":{},"text":{"77":{}},"component":{}}],["summary.setremainingvalue(summary.getremainingvalu",{"_index":3170,"title":{},"name":{},"text":{"63":{}},"component":{}}],["super",{"_index":3242,"title":{},"name":{},"text":{"64":{},"81":{},"238":{}},"component":{}}],["super(databaseversion.make(9",{"_index":4845,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super(deleg",{"_index":1338,"title":{},"name":{},"text":{"24":{}},"component":{}}],["super.canhandle(messag",{"_index":1346,"title":{},"name":{},"text":{"24":{}},"component":{}}],["super.casttype(sqltypecod",{"_index":4851,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super.columntype(sqltypecod",{"_index":4849,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super.contributetypes(typecontribut",{"_index":4855,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super.onmessage(messag",{"_index":5426,"title":{},"name":{},"text":{"92":{}},"component":{}}],["superclass",{"_index":2414,"title":{},"name":{},"text":{"43":{},"44":{}},"component":{}}],["superior",{"_index":112,"title":{},"name":{},"text":{"2":{}},"component":{}}],["supertyp",{"_index":2405,"title":{},"name":{},"text":{"43":{}},"component":{}}],["suppli",{"_index":558,"title":{},"name":{},"text":{"3":{},"35":{},"88":{},"143":{},"144":{},"147":{},"156":{},"168":{},"174":{},"178":{},"179":{},"191":{}},"component":{}}],["supplier",{"_index":2384,"title":{},"name":{},"text":{"42":{},"67":{}},"component":{}}],["support",{"_index":746,"title":{"52":{},"118":{},"52-1":{},"52-2":{},"52-3":{},"64-4":{},"64-5":{},"278-3":{},"280-8":{},"284-4":{},"285-1":{}},"name":{"52":{}},"text":{"5":{},"8":{},"13":{},"26":{},"30":{},"31":{},"32":{},"33":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"48":{},"51":{},"52":{},"53":{},"55":{},"59":{},"64":{},"66":{},"67":{},"69":{},"70":{},"71":{},"74":{},"77":{},"79":{},"84":{},"86":{},"88":{},"89":{},"91":{},"92":{},"94":{},"101":{},"109":{},"115":{},"117":{},"118":{},"119":{},"121":{},"127":{},"133":{},"137":{},"138":{},"140":{},"141":{},"142":{},"143":{},"145":{},"146":{},"151":{},"155":{},"156":{},"157":{},"176":{},"178":{},"187":{},"189":{},"192":{},"200":{},"201":{},"211":{},"212":{},"213":{},"214":{},"215":{},"218":{},"219":{},"221":{},"226":{},"227":{},"236":{},"247":{},"250":{},"264":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"287":{}},"component":{}}],["suppos",{"_index":6502,"title":{},"name":{},"text":{"156":{},"277":{}},"component":{}}],["suppress",{"_index":3314,"title":{},"name":{},"text":{"66":{}},"component":{}}],["suppresswarnings(\"unuseddeclar",{"_index":4915,"title":{},"name":{},"text":{"82":{}},"component":{}}],["sure",{"_index":502,"title":{"235-1":{}},"name":{},"text":{"3":{},"18":{},"27":{},"29":{},"32":{},"33":{},"36":{},"38":{},"46":{},"49":{},"50":{},"59":{},"67":{},"69":{},"77":{},"82":{},"86":{},"88":{},"91":{},"94":{},"97":{},"100":{},"101":{},"114":{},"115":{},"120":{},"127":{},"129":{},"144":{},"145":{},"151":{},"191":{},"221":{},"235":{},"260":{},"261":{},"279":{},"280":{},"284":{}},"component":{}}],["surpris",{"_index":5204,"title":{},"name":{},"text":{"88":{}},"component":{}}],["surround",{"_index":2548,"title":{},"name":{},"text":{"46":{}},"component":{}}],["sut",{"_index":8027,"title":{},"name":{},"text":{"285":{}},"component":{}}],["swagger",{"_index":6318,"title":{},"name":{},"text":{"145":{},"165":{}},"component":{}}],["swallow",{"_index":3665,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["swift",{"_index":8075,"title":{},"name":{},"text":{"290":{}},"component":{}}],["switch",{"_index":503,"title":{"226-4":{}},"name":{},"text":{"3":{},"18":{},"33":{},"38":{},"40":{},"59":{},"66":{},"67":{},"72":{},"79":{},"88":{},"140":{},"191":{},"226":{},"280":{}},"component":{}}],["switchifempty(mono.error(new",{"_index":6231,"title":{},"name":{},"text":{"144":{}},"component":{}}],["symbol",{"_index":6373,"title":{},"name":{},"text":{"148":{}},"component":{}}],["synaps",{"_index":987,"title":{"200":{},"207":{},"200-1":{},"200-2":{},"201-5":{},"201-6":{},"202-5":{},"202-9":{},"202-13":{},"203-3":{},"203-4":{},"203-5":{},"204-1":{},"206-37":{},"208-1":{},"208-3":{},"211-5":{},"211-6":{},"212-6":{},"212-7":{},"214-5":{},"214-6":{},"221-2":{},"221-8":{},"224-1":{}},"name":{"225":{}},"text":{"7":{},"9":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"207":{},"208":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"224":{},"226":{}},"component":{"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{}}}],["synapse.auth.en",{"_index":7323,"title":{"206-22":{}},"name":{},"text":{"204":{},"215":{}},"component":{}}],["synapse.auth.sensit",{"_index":7347,"title":{"206-24":{}},"name":{},"text":{},"component":{}}],["synapse.auth.token",{"_index":7346,"title":{"206-23":{}},"name":{},"text":{"208":{}},"component":{}}],["synapse.axon",{"_index":7333,"title":{"206-7":{},"206-8":{},"206-9":{},"206-10":{},"206-26":{},"206-27":{},"206-28":{},"206-29":{}},"name":{},"text":{"215":{}},"component":{}}],["synapse.axonserver.serv",{"_index":7378,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse.axonserver.tlsen",{"_index":7380,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse.axonserver.trustmanagerfil",{"_index":7382,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse.certif",{"_index":7332,"title":{"206-5":{}},"name":{},"text":{"215":{}},"component":{}}],["synapse.cli",{"_index":7338,"title":{"206-11":{},"206-13":{}},"name":{},"text":{},"component":{}}],["synapse.compon",{"_index":7339,"title":{"206-12":{}},"name":{},"text":{},"component":{}}],["synapse.connect",{"_index":7340,"title":{"206-14":{}},"name":{},"text":{},"component":{}}],["synapse.default",{"_index":7341,"title":{"206-15":{}},"name":{},"text":{},"component":{}}],["synapse.ev",{"_index":7357,"title":{"206-41":{},"206-51":{},"206-52":{},"206-53":{},"206-54":{},"206-55":{},"206-56":{},"206-57":{},"206-58":{}},"name":{},"text":{"220":{}},"component":{}}],["synapse.event.streaming.buff",{"_index":7356,"title":{"206-40":{}},"name":{},"text":{},"component":{}}],["synapse.http",{"_index":7342,"title":{"206-17":{}},"name":{},"text":{},"component":{}}],["synapse.http.handlers.event.list.cont",{"_index":7497,"title":{},"name":{},"text":{"215":{}},"component":{}}],["synapse.i",{"_index":7504,"title":{},"name":{},"text":{"215":{}},"component":{}}],["synapse.internal.cli",{"_index":7344,"title":{"206-20":{}},"name":{},"text":{},"component":{}}],["synapse.internal.compon",{"_index":7345,"title":{"206-21":{}},"name":{},"text":{},"component":{}}],["synapse.internal.context",{"_index":7343,"title":{"206-19":{}},"name":{},"text":{},"component":{}}],["synapse.jar",{"_index":7263,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["synapse.mv.db",{"_index":7542,"title":{},"name":{},"text":{"226":{}},"component":{}}],["synapse.security.cor",{"_index":7355,"title":{"206-38":{}},"name":{},"text":{},"component":{}}],["synapse.serv",{"_index":7330,"title":{"206-3":{}},"name":{},"text":{"208":{},"215":{}},"component":{}}],["synapse.server.key",{"_index":7354,"title":{"206-34":{},"206-35":{},"206-36":{}},"name":{},"text":{},"component":{}}],["synapse.server.tl",{"_index":7353,"title":{"206-33":{}},"name":{},"text":{},"component":{}}],["synapse.storage.compon",{"_index":7361,"title":{"206-45":{}},"name":{},"text":{},"component":{}}],["synapse.storage.context",{"_index":7360,"title":{"206-44":{}},"name":{},"text":{"226":{}},"component":{}}],["synapse.storage.initi",{"_index":7364,"title":{"206-48":{}},"name":{},"text":{},"component":{}}],["synapse.storage.min",{"_index":7362,"title":{"206-46":{}},"name":{},"text":{},"component":{}}],["synapse.storage.subscription.retri",{"_index":7366,"title":{"206-49":{}},"name":{},"text":{},"component":{}}],["synapse.storage.token",{"_index":7363,"title":{"206-47":{}},"name":{},"text":{"226":{}},"component":{}}],["synapse.storage.typ",{"_index":7359,"title":{"206-43":{}},"name":{},"text":{"220":{},"226":{}},"component":{}}],["synapse.storage.type=axonserv",{"_index":7530,"title":{},"name":{},"text":{"220":{},"226":{}},"component":{}}],["synapse.storage.type=loc",{"_index":7540,"title":{},"name":{},"text":{"226":{}},"component":{}}],["synapse.synaps",{"_index":7352,"title":{"206-31":{}},"name":{},"text":{},"component":{}}],["synapse.us",{"_index":7331,"title":{"206-4":{}},"name":{},"text":{"208":{}},"component":{}}],["synapse.zip",{"_index":7262,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["synapse_auth_en",{"_index":7403,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_auth_sensitivedataencryptionkey",{"_index":7405,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_auth_token",{"_index":7404,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_maxmessages",{"_index":7387,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_serverlist",{"_index":7384,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_tlsen",{"_index":7406,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_trustmanagerfil",{"_index":7407,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_clientsforcomponentendpointspath",{"_index":7390,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_port",{"_index":7389,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_tlsen",{"_index":7408,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_trustmanagerfil",{"_index":7409,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_certificatechain",{"_index":7383,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_clientcomponentnam",{"_index":7394,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_clientid",{"_index":7392,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_componentnam",{"_index":7393,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_connectiontimeout",{"_index":7395,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_defaultcontext",{"_index":7396,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_event_streaming_buffers",{"_index":7417,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_consistenthashingfunct",{"_index":7442,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_en",{"_index":7427,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_handlerrunintertia",{"_index":7436,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_synapsediscovery_pollinterv",{"_index":7431,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_synapsediscovery_retryinterv",{"_index":7430,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_synapsediscovery_timeout",{"_index":7428,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_websocket_platformendpoint",{"_index":7434,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_websocket_reconnectinterv",{"_index":7435,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_subscriptionretryinterv",{"_index":7418,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_httpendpoint",{"_index":7397,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_internal_clientid",{"_index":7399,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_internal_componentnam",{"_index":7402,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_internal_context",{"_index":7398,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_security_corsallowedorigin",{"_index":7416,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_keystorefil",{"_index":7413,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_keystorepassword",{"_index":7414,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_keystoretyp",{"_index":7415,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_tlsen",{"_index":7411,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_serverlist",{"_index":7379,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_componentnam",{"_index":7422,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_context",{"_index":7421,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_initialsubscription_retryinterv",{"_index":7425,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_mintokenoffset",{"_index":7423,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_subscription_retryinterv",{"_index":7426,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_token",{"_index":7424,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_typ",{"_index":7420,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_synapsehandlershttp_trustmanagerfil",{"_index":7410,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_usetl",{"_index":7381,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse’",{"_index":7264,"title":{},"name":{},"text":{"201":{},"202":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{}},"component":{}}],["sync",{"_index":6850,"title":{},"name":{},"text":{"179":{},"270":{}},"component":{}}],["synchron",{"_index":1215,"title":{},"name":{},"text":{"19":{},"34":{},"38":{},"59":{},"61":{},"67":{},"133":{},"141":{},"142":{},"151":{},"163":{},"170":{},"172":{}},"component":{}}],["syntax",{"_index":6435,"title":{},"name":{},"text":{"151":{}},"component":{}}],["system",{"_index":563,"title":{"179":{},"255-1":{},"281-2":{}},"name":{},"text":{"3":{},"5":{},"6":{},"8":{},"13":{},"16":{},"17":{},"24":{},"30":{},"31":{},"38":{},"46":{},"50":{},"56":{},"57":{},"59":{},"63":{},"64":{},"72":{},"74":{},"76":{},"77":{},"82":{},"94":{},"100":{},"108":{},"115":{},"120":{},"127":{},"140":{},"145":{},"151":{},"165":{},"168":{},"169":{},"179":{},"181":{},"184":{},"185":{},"187":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"227":{},"230":{},"235":{},"236":{},"239":{},"240":{},"242":{},"243":{},"246":{},"255":{},"260":{},"261":{},"262":{},"264":{},"265":{},"266":{},"269":{},"270":{},"271":{},"273":{},"274":{},"275":{},"276":{},"277":{},"280":{},"281":{},"283":{},"284":{},"285":{},"287":{},"289":{},"290":{}},"component":{}}],["system.out::println",{"_index":3188,"title":{},"name":{},"text":{"63":{}},"component":{}}],["systemat",{"_index":4372,"title":{},"name":{},"text":{"67":{},"140":{}},"component":{}}],["systemctl",{"_index":7244,"title":{},"name":{},"text":{"199":{}},"component":{}}],["system’",{"_index":7583,"title":{},"name":{},"text":{"243":{},"269":{},"281":{},"290":{}},"component":{}}],["t",{"_index":6369,"title":{},"name":{},"text":{"147":{},"156":{},"167":{},"168":{},"174":{},"178":{},"280":{},"285":{}},"component":{}}],["tab",{"_index":756,"title":{"231":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{},"273-2":{},"273-3":{},"273-4":{},"273-5":{},"273-6":{},"274-1":{},"274-2":{},"274-13":{},"274-22":{}},"name":{"231":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{}},"text":{"5":{},"59":{},"88":{},"170":{},"201":{},"202":{},"231":{},"232":{},"235":{},"238":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"260":{},"265":{},"273":{},"274":{},"276":{},"277":{},"284":{}},"component":{}}],["tab.png[alt=\"screenshot",{"_index":7698,"title":{},"name":{},"text":{"273":{}},"component":{}}],["tabl",{"_index":1425,"title":{},"name":{},"text":{"29":{},"33":{},"40":{},"46":{},"56":{},"59":{},"66":{},"79":{},"86":{},"88":{},"138":{},"141":{},"146":{},"153":{},"155":{},"161":{},"171":{},"178":{},"232":{},"235":{},"239":{},"245":{},"246":{},"260":{},"262":{},"274":{},"283":{}},"component":{}}],["tablefactori",{"_index":2580,"title":{},"name":{},"text":{"46":{}},"component":{}}],["tab’",{"_index":7703,"title":{},"name":{},"text":{"274":{}},"component":{}}],["tag",{"_index":398,"title":{"150":{},"57-5":{},"57-6":{},"57-7":{},"57-8":{},"150-1":{},"150-3":{},"150-4":{}},"name":{"150":{}},"text":{"3":{},"31":{},"57":{},"66":{},"67":{},"115":{},"132":{},"140":{},"146":{},"150":{},"172":{},"179":{},"184":{},"191":{},"279":{}},"component":{}}],["tag.of(s.getkey",{"_index":2946,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tag/dimens",{"_index":2929,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tags.of",{"_index":2956,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tags.of(tagsutil.payload_type_tag",{"_index":2942,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tagsconfigur",{"_index":6423,"title":{},"name":{},"text":{"150":{}},"component":{}}],["tagsconfiguration(tag",{"_index":6425,"title":{},"name":{},"text":{"150":{}},"component":{}}],["tagsutil.payload_type_tag",{"_index":2957,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tagsutil.processor_name_tag",{"_index":2958,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tail",{"_index":4332,"title":{},"name":{},"text":{"67":{},"88":{},"260":{}},"component":{}}],["tailor",{"_index":314,"title":{},"name":{},"text":{"3":{},"67":{},"144":{},"191":{}},"component":{}}],["taint",{"_index":7668,"title":{},"name":{},"text":{"270":{},"273":{}},"component":{}}],["take",{"_index":247,"title":{},"name":{},"text":{"3":{},"17":{},"27":{},"31":{},"34":{},"35":{},"38":{},"39":{},"40":{},"44":{},"51":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"78":{},"79":{},"81":{},"84":{},"86":{},"87":{},"88":{},"89":{},"102":{},"120":{},"125":{},"127":{},"128":{},"132":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"156":{},"165":{},"191":{},"201":{},"202":{},"206":{},"219":{},"221":{},"239":{},"244":{},"245":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"265":{},"270":{},"273":{},"274":{},"276":{},"277":{}},"component":{}}],["take(100",{"_index":3221,"title":{},"name":{},"text":{"63":{}},"component":{}}],["taken",{"_index":1970,"title":{},"name":{},"text":{"35":{},"36":{},"38":{},"39":{},"44":{},"53":{},"66":{},"67":{},"69":{},"74":{},"75":{},"85":{},"86":{},"87":{},"88":{},"145":{},"247":{},"262":{},"273":{},"274":{}},"component":{}}],["takeuntil(messag",{"_index":3222,"title":{},"name":{},"text":{"63":{}},"component":{}}],["talk",{"_index":486,"title":{},"name":{},"text":{"3":{},"31":{},"145":{},"191":{}},"component":{}}],["tan",{"_index":7577,"title":{},"name":{},"text":{"241":{}},"component":{}}],["tap",{"_index":5343,"title":{},"name":{},"text":{"88":{}},"component":{}}],["target",{"_index":439,"title":{},"name":{},"text":{"3":{},"6":{},"35":{},"38":{},"66":{},"72":{},"82":{},"143":{},"161":{},"165":{},"178":{},"191":{},"280":{},"289":{}},"component":{}}],["target({elementtype.method",{"_index":1375,"title":{},"name":{},"text":{"27":{}},"component":{}}],["target_typ",{"_index":2478,"title":{},"name":{},"text":{"44":{}},"component":{}}],["targetaggregateidentifi",{"_index":1932,"title":{},"name":{},"text":{"35":{},"38":{},"281":{},"289":{}},"component":{}}],["targetaggregatevers",{"_index":1961,"title":{},"name":{},"text":{"35":{},"83":{},"94":{}},"component":{}}],["targetcontextresolv",{"_index":3807,"title":{},"name":{},"text":{"66":{},"147":{}},"component":{}}],["targetcontextresolver(targetcontextresolv",{"_index":2263,"title":{},"name":{},"text":{"38":{}},"component":{}}],["targetport",{"_index":644,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["targettenantresolv",{"_index":5712,"title":{},"name":{},"text":{"115":{}},"component":{}}],["task",{"_index":926,"title":{},"name":{},"text":{"6":{},"8":{},"10":{},"11":{},"12":{},"13":{},"38":{},"39":{},"40":{},"48":{},"53":{},"59":{},"66":{},"88":{},"115":{},"127":{},"140":{},"143":{},"145":{},"179":{},"186":{},"192":{},"208":{},"264":{},"274":{},"275":{},"280":{},"281":{}},"component":{}}],["tast",{"_index":7723,"title":{},"name":{},"text":{"274":{}},"component":{}}],["tcp",{"_index":607,"title":{},"name":{},"text":{"3":{},"94":{},"191":{}},"component":{}}],["team",{"_index":837,"title":{},"name":{},"text":{"5":{},"25":{},"27":{},"29":{},"87":{},"154":{},"177":{},"187":{},"199":{},"237":{},"240":{},"254":{},"255":{},"264":{}},"component":{}}],["technic",{"_index":1017,"title":{},"name":{},"text":{"8":{},"13":{},"33":{},"49":{},"87":{},"88":{},"89":{},"217":{}},"component":{}}],["techniqu",{"_index":4828,"title":{},"name":{},"text":{"79":{},"151":{},"281":{}},"component":{}}],["technolog",{"_index":7546,"title":{},"name":{},"text":{"227":{},"230":{},"236":{},"237":{},"264":{},"279":{}},"component":{}}],["tediou",{"_index":4606,"title":{},"name":{},"text":{"72":{},"275":{}},"component":{}}],["telemetri",{"_index":1540,"title":{},"name":{},"text":{"30":{},"66":{},"264":{},"276":{}},"component":{}}],["tell",{"_index":426,"title":{},"name":{},"text":{"3":{},"31":{},"44":{},"46":{},"68":{},"72":{},"77":{},"79":{},"82":{},"84":{},"85":{},"88":{},"115":{},"140":{},"168":{},"172":{},"174":{},"191":{},"201":{},"220":{},"249":{},"259":{}},"component":{}}],["templat",{"_index":596,"title":{"177":{},"154-4":{}},"name":{"177":{}},"text":{"3":{},"56":{},"154":{},"167":{},"174":{},"177":{},"181":{},"191":{},"192":{},"202":{}},"component":{}}],["template.yml",{"_index":6492,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["temporari",{"_index":6002,"title":{"140-19":{}},"name":{},"text":{},"component":{}}],["temporarili",{"_index":1131,"title":{},"name":{},"text":{"16":{},"30":{},"140":{},"144":{},"148":{},"178":{},"288":{}},"component":{}}],["temurin",{"_index":228,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["temurin:11",{"_index":236,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ten",{"_index":7701,"title":{},"name":{},"text":{"274":{}},"component":{}}],["tenanc",{"_index":1471,"title":{"119":{},"30-29":{},"30-30":{},"115-13":{},"147-5":{}},"name":{},"text":{"30":{},"115":{},"117":{},"147":{},"192":{}},"component":{}}],["tenancy.enabled=fals",{"_index":5774,"title":{},"name":{},"text":{"116":{}},"component":{}}],["tenancy.us",{"_index":5709,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenant",{"_index":3524,"title":{"118":{},"115-1":{},"115-2":{},"115-3":{},"115-5":{},"115-14":{}},"name":{"118":{}},"text":{"66":{},"115":{},"117":{},"118":{},"147":{},"192":{}},"component":{}}],["tenantcommandsegmentfactori",{"_index":5692,"title":{"115-15":{}},"name":{},"text":{},"component":{}}],["tenantconfiguration.tenant_correlation_key",{"_index":5705,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantconnectpred",{"_index":5701,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdatasourceresolv",{"_index":5716,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor",{"_index":5769,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor.tenantid().startswith(\"ten",{"_index":5770,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor.tenantwithid",{"_index":5714,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor.tenantwithid(tenantnam",{"_index":5763,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenanteventprocessorcontrolsegmentfactori",{"_index":5696,"title":{"115-19":{}},"name":{},"text":{},"component":{}}],["tenanteventschedulersegmentfactori",{"_index":5695,"title":{"115-18":{}},"name":{},"text":{},"component":{}}],["tenanteventsegmentfactori",{"_index":5694,"title":{"115-17":{}},"name":{},"text":{},"component":{}}],["tenantfilterpred",{"_index":5702,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantid",{"_index":5740,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantquerysegmentfactori",{"_index":5693,"title":{"115-16":{}},"name":{},"text":{},"component":{}}],["tenantwrappedtransactionmanag",{"_index":5760,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantwrappedtransactionmanager.getcurrentten",{"_index":5722,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tend",{"_index":2492,"title":{},"name":{},"text":{"44":{},"77":{}},"component":{}}],["tep",{"_index":5119,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tepconfig",{"_index":5128,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tep’",{"_index":5277,"title":{},"name":{},"text":{"88":{}},"component":{}}],["term",{"_index":1651,"title":{},"name":{},"text":{"31":{},"40":{},"46":{},"72":{},"88":{},"99":{},"102":{},"138":{},"140":{},"143":{}},"component":{}}],["termin",{"_index":3225,"title":{},"name":{},"text":{"63":{},"66":{},"144":{},"189":{},"201":{},"208":{},"277":{},"279":{},"283":{}},"component":{}}],["terminolog",{"_index":2992,"title":{"59-4":{}},"name":{},"text":{"140":{}},"component":{}}],["terraform",{"_index":7218,"title":{},"name":{},"text":{"199":{}},"component":{}}],["test",{"_index":500,"title":{"22":{},"73":{},"285":{},"30-5":{},"30-26":{},"72-1":{},"72-2":{},"72-4":{},"285-1":{},"285-4":{},"285-5":{}},"name":{"22":{},"285":{}},"text":{"3":{},"16":{},"18":{},"21":{},"22":{},"28":{},"30":{},"35":{},"38":{},"39":{},"46":{},"64":{},"66":{},"67":{},"72":{},"73":{},"74":{},"86":{},"88":{},"96":{},"111":{},"114":{},"145":{},"172":{},"191":{},"202":{},"234":{},"270":{},"271":{},"278":{},"280":{},"283":{},"285":{}},"component":{}}],["test:8090",{"_index":6779,"title":{},"name":{},"text":{"172":{}},"component":{}}],["test:8090/realms/test",{"_index":6780,"title":{},"name":{},"text":{"172":{}},"component":{}}],["testabl",{"_index":1251,"title":{},"name":{},"text":{"20":{}},"component":{}}],["testament",{"_index":7551,"title":{},"name":{},"text":{"230":{},"240":{}},"component":{}}],["testcardexpiredafterthirtyoneday",{"_index":1276,"title":{},"name":{},"text":{"22":{}},"component":{}}],["testcardnotexpiringifnothingleft",{"_index":1198,"title":{},"name":{},"text":{"18":{}},"component":{}}],["testclass",{"_index":3573,"title":{},"name":{},"text":{"66":{}},"component":{}}],["testexecutor",{"_index":3639,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["testfixtur",{"_index":1273,"title":{},"name":{},"text":{"22":{}},"component":{}}],["testfixture.givennoprioract",{"_index":1199,"title":{},"name":{},"text":{"18":{},"22":{}},"component":{}}],["testng",{"_index":4525,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testredeemcardcommand",{"_index":4536,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testsubject",{"_index":4544,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testsubject.getappliedevents().s",{"_index":4546,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testwithmatch",{"_index":4633,"title":{},"name":{},"text":{"72":{}},"component":{}}],["text",{"_index":4832,"title":{},"name":{},"text":{"79":{},"178":{},"217":{},"262":{},"274":{},"283":{}},"component":{}}],["text/plain;charset=utf",{"_index":7992,"title":{},"name":{},"text":{"283":{}},"component":{}}],["th",{"_index":7582,"title":{},"name":{},"text":{"242":{}},"component":{}}],["thank",{"_index":3299,"title":{},"name":{},"text":{"66":{},"67":{},"119":{},"126":{},"265":{},"277":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["tharoldd",{"_index":3309,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["that’",{"_index":1106,"title":{},"name":{},"text":{"15":{},"31":{},"40":{},"151":{},"176":{},"189":{}},"component":{}}],["the_${axon_ee_server_home}/data/default_",{"_index":6529,"title":{},"name":{},"text":{"162":{}},"component":{}}],["the`@revis",{"_index":4742,"title":{},"name":{},"text":{"77":{}},"component":{}}],["the`message`seri",{"_index":1596,"title":{},"name":{},"text":{"31":{}},"component":{}}],["the`segment#mergeablesegmentid",{"_index":5320,"title":{},"name":{},"text":{"88":{}},"component":{}}],["theme",{"_index":6018,"title":{},"name":{},"text":{"140":{}},"component":{}}],["themselv",{"_index":4483,"title":{},"name":{},"text":{"69":{},"71":{},"77":{},"88":{},"156":{},"221":{}},"component":{}}],["thencompose(activetransform",{"_index":6306,"title":{},"name":{},"text":{"145":{}},"component":{}}],["thencompose(activetransformation::startappli",{"_index":6308,"title":{},"name":{},"text":{"145":{}},"component":{}}],["thenreturn(result.success",{"_index":6234,"title":{},"name":{},"text":{"144":{}},"component":{}}],["thenrun",{"_index":6213,"title":{},"name":{},"text":{"144":{}},"component":{}}],["thenrun(eventprocessor::resettoken",{"_index":6212,"title":{},"name":{},"text":{"144":{}},"component":{}}],["theoret",{"_index":2565,"title":{},"name":{},"text":{"46":{},"90":{}},"component":{}}],["therebi",{"_index":7538,"title":{},"name":{},"text":{"221":{}},"component":{}}],["therefor",{"_index":792,"title":{},"name":{},"text":{"5":{},"6":{},"20":{},"27":{},"31":{},"32":{},"35":{},"46":{},"51":{},"59":{},"74":{},"77":{},"88":{},"89":{},"150":{},"154":{},"177":{},"189":{},"199":{},"201":{},"202":{},"234":{},"235":{}},"component":{}}],["thereof",{"_index":7622,"title":{},"name":{},"text":{"260":{}},"component":{}}],["thereon",{"_index":6482,"title":{},"name":{},"text":{"154":{}},"component":{}}],["there’",{"_index":1129,"title":{},"name":{},"text":{"16":{},"59":{},"86":{},"140":{}},"component":{}}],["they’r",{"_index":1172,"title":{},"name":{},"text":{"17":{},"67":{},"176":{},"202":{}},"component":{}}],["they’v",{"_index":5161,"title":{},"name":{},"text":{"88":{}},"component":{}}],["thick",{"_index":788,"title":{},"name":{},"text":{"5":{}},"component":{}}],["thicker",{"_index":7736,"title":{},"name":{},"text":{"274":{}},"component":{}}],["thing",{"_index":540,"title":{},"name":{},"text":{"3":{},"18":{},"31":{},"32":{},"33":{},"40":{},"59":{},"72":{},"79":{},"88":{},"127":{},"176":{},"191":{},"246":{},"264":{},"269":{},"270":{},"273":{},"274":{},"275":{},"280":{},"281":{},"285":{}},"component":{}}],["think",{"_index":1359,"title":{},"name":{},"text":{"25":{},"29":{},"64":{}},"component":{}}],["thinner",{"_index":7737,"title":{},"name":{},"text":{"274":{}},"component":{}}],["third",{"_index":11,"title":{},"name":{},"text":{"1":{},"46":{},"62":{},"63":{},"72":{},"88":{},"121":{},"140":{},"200":{},"224":{},"260":{},"281":{}},"component":{}}],["thirdev",{"_index":4624,"title":{},"name":{},"text":{"72":{}},"component":{}}],["thirti",{"_index":2335,"title":{},"name":{},"text":{"40":{},"121":{},"250":{}},"component":{}}],["this.amount",{"_index":1953,"title":{},"name":{},"text":{"35":{}},"component":{}}],["this.bikeid",{"_index":7969,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.bikerentaldatagener",{"_index":7978,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.bikestatusrepositori",{"_index":7853,"title":{},"name":{},"text":{"280":{}},"component":{}}],["this.cardid",{"_index":1952,"title":{},"name":{},"text":{"35":{}},"component":{}}],["this.cardsummaryid",{"_index":3237,"title":{},"name":{},"text":{"64":{}},"component":{}}],["this.commandgateway",{"_index":7976,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.config",{"_index":1156,"title":{},"name":{},"text":{"17":{}},"component":{}}],["this.deadlinemanag",{"_index":5473,"title":{},"name":{},"text":{"97":{}},"component":{}}],["this.entitymanag",{"_index":2547,"title":{},"name":{},"text":{"46":{}},"component":{}}],["this.getclass",{"_index":2402,"title":{},"name":{},"text":{"43":{},"64":{}},"component":{}}],["this.isavail",{"_index":7971,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.multitenantdeadletterprocessor",{"_index":5738,"title":{},"name":{},"text":{"115":{}},"component":{}}],["this.otherst",{"_index":4776,"title":{},"name":{},"text":{"77":{}},"component":{}}],["this.querygateway",{"_index":7977,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.remainingvalu",{"_index":4979,"title":{},"name":{},"text":{"85":{}},"component":{}}],["this.somest",{"_index":4774,"title":{},"name":{},"text":{"77":{}},"component":{}}],["this.state.equals(command.getst",{"_index":2760,"title":{},"name":{},"text":{"51":{}},"component":{}}],["this.transactionid",{"_index":1957,"title":{},"name":{},"text":{"35":{},"84":{}},"component":{}}],["this.transactionvalu",{"_index":4937,"title":{},"name":{},"text":{"84":{}},"component":{}}],["this.usernameprovid",{"_index":2703,"title":{},"name":{},"text":{"50":{}},"component":{}}],["thorough",{"_index":1966,"title":{},"name":{},"text":{"35":{},"67":{}},"component":{}}],["thoroughli",{"_index":1479,"title":{},"name":{},"text":{"30":{},"82":{}},"component":{}}],["those",{"_index":712,"title":{},"name":{},"text":{"4":{},"6":{},"29":{},"31":{},"33":{},"35":{},"36":{},"38":{},"39":{},"44":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"81":{},"87":{},"88":{},"100":{},"101":{},"121":{},"124":{},"145":{},"150":{},"153":{},"156":{},"157":{},"163":{},"208":{},"224":{},"238":{},"246":{},"264":{},"272":{},"274":{},"278":{},"280":{},"281":{}},"component":{}}],["though",{"_index":2671,"title":{},"name":{},"text":{"49":{},"67":{},"69":{},"88":{},"151":{},"163":{},"216":{},"219":{},"280":{},"284":{}},"component":{}}],["thousand",{"_index":1128,"title":{},"name":{},"text":{"16":{},"63":{}},"component":{}}],["thread",{"_index":1304,"title":{"88-17":{},"88-18":{},"88-19":{}},"name":{},"text":{"23":{},"34":{},"38":{},"40":{},"46":{},"49":{},"51":{},"53":{},"57":{},"58":{},"61":{},"66":{},"67":{},"76":{},"77":{},"87":{},"88":{},"89":{},"99":{},"102":{},"130":{},"140":{},"141":{},"143":{},"165":{},"179":{},"187":{},"260":{},"261":{},"262":{},"274":{},"280":{}},"component":{}}],["threadcountconfigurermodul",{"_index":5260,"title":{},"name":{},"text":{"88":{}},"component":{}}],["threadfactori",{"_index":5256,"title":{},"name":{},"text":{"88":{}},"component":{}}],["threadnumb",{"_index":5298,"title":{},"name":{},"text":{"88":{}},"component":{}}],["threadpoolexecutor",{"_index":4736,"title":{},"name":{},"text":{"77":{}},"component":{}}],["three",{"_index":810,"title":{},"name":{},"text":{"5":{},"6":{},"31":{},"33":{},"36":{},"38":{},"46":{},"57":{},"67":{},"69":{},"71":{},"72":{},"74":{},"79":{},"88":{},"121":{},"130":{},"138":{},"140":{},"142":{},"151":{},"156":{},"169":{},"179":{},"192":{},"199":{},"202":{},"204":{},"212":{},"213":{},"217":{},"218":{},"244":{},"245":{},"246":{},"247":{},"261":{},"262":{},"274":{},"277":{},"280":{},"283":{}},"component":{}}],["threshold",{"_index":4728,"title":{},"name":{},"text":{"77":{},"86":{},"88":{},"151":{},"163":{},"179":{},"185":{},"244":{},"262":{},"269":{},"273":{}},"component":{}}],["threw",{"_index":2109,"title":{},"name":{},"text":{"38":{},"63":{},"67":{}},"component":{}}],["through",{"_index":408,"title":{"76-2":{},"86-5":{},"165-2":{}},"name":{},"text":{"3":{},"6":{},"16":{},"21":{},"29":{},"30":{},"31":{},"34":{},"35":{},"38":{},"40":{},"42":{},"44":{},"46":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"94":{},"99":{},"100":{},"102":{},"115":{},"119":{},"121":{},"123":{},"127":{},"128":{},"133":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"165":{},"169":{},"174":{},"178":{},"182":{},"191":{},"192":{},"198":{},"202":{},"204":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"227":{},"236":{},"237":{},"239":{},"241":{},"243":{},"247":{},"249":{},"250":{},"264":{},"265":{},"268":{},"271":{},"272":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["throughout",{"_index":1611,"title":{},"name":{},"text":{"31":{},"55":{},"87":{},"88":{},"121":{},"269":{}},"component":{}}],["throughput",{"_index":113,"title":{},"name":{},"text":{"2":{},"5":{},"38":{},"88":{},"262":{},"274":{}},"component":{}}],["throw",{"_index":1135,"title":{},"name":{},"text":{"16":{},"34":{},"35":{},"38":{},"47":{},"48":{},"51":{},"53":{},"66":{},"67":{},"72":{},"75":{},"83":{},"84":{},"85":{},"86":{},"87":{},"92":{},"143":{},"281":{},"288":{},"289":{}},"component":{}}],["throwabl",{"_index":1034,"title":{},"name":{},"text":{"14":{},"34":{},"53":{},"58":{},"86":{},"87":{},"105":{}},"component":{}}],["thrown",{"_index":1852,"title":{},"name":{},"text":{"34":{},"35":{},"38":{},"46":{},"48":{},"51":{},"63":{},"66":{},"67":{},"80":{},"83":{},"84":{},"87":{},"257":{},"289":{}},"component":{}}],["thu",{"_index":1531,"title":{},"name":{},"text":{"30":{},"31":{},"34":{},"35":{},"38":{},"39":{},"44":{},"46":{},"48":{},"51":{},"57":{},"59":{},"67":{},"69":{},"76":{},"79":{},"80":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"99":{},"101":{},"107":{},"120":{},"121":{},"127":{},"129":{},"130":{},"133":{},"154":{},"163":{},"192":{},"260":{},"278":{},"280":{},"281":{},"285":{},"288":{}},"component":{}}],["ti",{"_index":2375,"title":{},"name":{},"text":{"42":{},"67":{},"99":{}},"component":{}}],["tick",{"_index":6475,"title":{},"name":{},"text":{"153":{}},"component":{}}],["tie",{"_index":2742,"title":{},"name":{},"text":{"51":{},"77":{},"99":{}},"component":{}}],["tier",{"_index":6003,"title":{"151":{},"140-27":{},"151-2":{},"151-5":{},"151-17":{}},"name":{"151":{}},"text":{"140":{},"141":{},"146":{},"151":{},"156":{},"273":{},"274":{}},"component":{}}],["till",{"_index":4069,"title":{},"name":{},"text":{"67":{}},"component":{}}],["time",{"_index":87,"title":{"124":{},"198":{},"237":{},"5-6":{},"30-33":{},"39-3":{},"151-10":{},"274-12":{},"274-35":{},"274-36":{}},"name":{"198":{}},"text":{"2":{},"3":{},"5":{},"14":{},"17":{},"21":{},"22":{},"24":{},"30":{},"31":{},"34":{},"36":{},"38":{},"39":{},"40":{},"41":{},"44":{},"46":{},"47":{},"52":{},"53":{},"57":{},"58":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"84":{},"86":{},"88":{},"97":{},"101":{},"121":{},"123":{},"125":{},"138":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"151":{},"153":{},"154":{},"156":{},"161":{},"170":{},"179":{},"185":{},"189":{},"191":{},"194":{},"198":{},"199":{},"206":{},"215":{},"237":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"247":{},"250":{},"257":{},"260":{},"261":{},"262":{},"263":{},"267":{},"270":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"283":{},"285":{}},"component":{}}],["time=10d",{"_index":6472,"title":{},"name":{},"text":{"151":{}},"component":{}}],["timeout",{"_index":1908,"title":{"206-14":{}},"name":{},"text":{"34":{},"38":{},"61":{},"63":{},"66":{},"67":{},"88":{},"104":{},"143":{},"179":{},"206":{},"215":{},"261":{}},"component":{}}],["timeout(valu",{"_index":2119,"title":{},"name":{},"text":{"38":{}},"component":{}}],["timeoutexcept",{"_index":2111,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["timeoutmilli",{"_index":5489,"title":{},"name":{},"text":{"99":{}},"component":{}}],["timeoutsecond",{"_index":624,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["timepublishedevent(genericeventmessage.clock.inst",{"_index":2320,"title":{},"name":{},"text":{"39":{}},"component":{}}],["timer",{"_index":2909,"title":{"261-1":{}},"name":{},"text":{"57":{},"261":{}},"component":{}}],["timespan",{"_index":3232,"title":{},"name":{},"text":{"63":{}},"component":{}}],["timestamp",{"_index":927,"title":{},"name":{},"text":{"6":{},"39":{},"44":{},"47":{},"49":{},"52":{},"57":{},"67":{},"72":{},"74":{},"79":{},"88":{},"111":{},"176":{},"194":{},"195":{},"198":{}},"component":{}}],["timeunit",{"_index":2104,"title":{},"name":{},"text":{"38":{},"88":{}},"component":{}}],["timeunit.millisecond",{"_index":1906,"title":{},"name":{},"text":{"34":{},"88":{}},"component":{}}],["timeunit.second",{"_index":2120,"title":{},"name":{},"text":{"38":{},"63":{}},"component":{}}],["timezon",{"_index":4811,"title":{},"name":{},"text":{"79":{},"195":{}},"component":{}}],["timofry",{"_index":3944,"title":{},"name":{},"text":{"67":{}},"component":{}}],["timtebeek",{"_index":3302,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["tip",{"_index":2781,"title":{"125":{}},"name":{},"text":{"51":{},"69":{},"74":{}},"component":{}}],["titl",{"_index":7201,"title":{},"name":{},"text":{"195":{},"232":{}},"component":{}}],["tl",{"_index":6000,"title":{"140-10":{},"206-4":{},"206-25":{},"206-30":{},"206-32":{}},"name":{},"text":{"140":{},"141":{},"168":{},"170":{},"174":{},"176":{},"206":{},"208":{},"215":{}},"component":{}}],["tl;dr",{"_index":867,"title":{"6-1":{}},"name":{},"text":{},"component":{}}],["tls/ssl",{"_index":6786,"title":{},"name":{},"text":{"176":{},"192":{},"199":{}},"component":{}}],["to/from",{"_index":3535,"title":{},"name":{},"text":{"66":{}},"component":{}}],["toast",{"_index":4825,"title":{},"name":{},"text":{"79":{}},"component":{}}],["togeth",{"_index":1784,"title":{},"name":{},"text":{"33":{},"44":{},"50":{},"59":{},"67":{},"78":{},"117":{},"121":{},"133":{},"196":{},"218":{},"278":{},"281":{}},"component":{}}],["toggl",{"_index":3794,"title":{},"name":{},"text":{"66":{},"99":{},"104":{}},"component":{}}],["token",{"_index":428,"title":{"228":{},"5-10":{},"88-5":{},"88-6":{},"88-8":{},"88-9":{},"88-10":{},"88-11":{},"88-12":{},"88-13":{},"88-14":{},"144-1":{},"166-2":{},"169-1":{},"173-1":{},"206-46":{}},"name":{"228":{}},"text":{"3":{},"5":{},"29":{},"31":{},"40":{},"50":{},"52":{},"58":{},"66":{},"67":{},"79":{},"87":{},"88":{},"89":{},"114":{},"115":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"154":{},"156":{},"161":{},"162":{},"166":{},"167":{},"168":{},"169":{},"173":{},"174":{},"177":{},"178":{},"179":{},"180":{},"191":{},"193":{},"194":{},"204":{},"206":{},"208":{},"215":{},"226":{},"228":{},"230":{},"231":{},"260":{},"261":{},"274":{},"276":{}},"component":{}}],["token=${generated_token",{"_index":509,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["token_bytea",{"_index":4867,"title":{},"name":{},"text":{"79":{}},"component":{}}],["token_entri",{"_index":4836,"title":{},"name":{},"text":{"79":{},"88":{},"161":{}},"component":{}}],["tokenclaiminterv",{"_index":5192,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tokenclaimvaluesconfigurermodul",{"_index":5199,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tokenentri",{"_index":1822,"title":{},"name":{},"text":{"33":{},"79":{}},"component":{}}],["tokenstor",{"_index":1068,"title":{},"name":{},"text":{"15":{},"32":{},"66":{},"67":{},"88":{},"99":{}},"component":{}}],["tokenstore#retrievestorageidentifi",{"_index":3937,"title":{},"name":{},"text":{"67":{}},"component":{}}],["tokenstoreconfigurermodul",{"_index":5223,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tokenstoreid",{"_index":5227,"title":{},"name":{},"text":{"88":{},"144":{}},"component":{}}],["tokenstoreidentifi",{"_index":6208,"title":{},"name":{},"text":{"144":{}},"component":{}}],["tokentablefactori",{"_index":5211,"title":{},"name":{},"text":{"88":{}},"component":{}}],["token’",{"_index":2469,"title":{},"name":{},"text":{"44":{},"88":{}},"component":{}}],["told",{"_index":7685,"title":{},"name":{},"text":{"270":{}},"component":{}}],["toler",{"_index":7534,"title":{},"name":{},"text":{"221":{}},"component":{}}],["tomcat",{"_index":6801,"title":{},"name":{},"text":{"176":{},"280":{}},"component":{}}],["tomcat’",{"_index":7898,"title":{},"name":{},"text":{"280":{}},"component":{}}],["tomdeback",{"_index":3491,"title":{},"name":{},"text":{"66":{}},"component":{}}],["took",{"_index":2997,"title":{},"name":{},"text":{"59":{},"67":{},"77":{},"274":{}},"component":{}}],["tool",{"_index":731,"title":{"269":{},"5-7":{}},"name":{"269":{}},"text":{"5":{},"6":{},"29":{},"46":{},"58":{},"59":{},"66":{},"86":{},"140":{},"146":{},"161":{},"166":{},"169":{},"173":{},"201":{},"203":{},"230":{},"237":{},"240":{},"244":{},"250":{},"263":{},"264":{},"269":{},"273":{},"274":{},"277":{},"278":{},"279":{},"281":{},"284":{}},"component":{}}],["toolbelt",{"_index":7656,"title":{},"name":{},"text":{"265":{}},"component":{}}],["toolkit",{"_index":1529,"title":{"201-2":{}},"name":{},"text":{"30":{},"201":{}},"component":{}}],["tooltip",{"_index":7563,"title":{"235-1":{}},"name":{},"text":{},"component":{}}],["top",{"_index":566,"title":{},"name":{},"text":{"3":{},"30":{},"32":{},"43":{},"47":{},"64":{},"120":{},"141":{},"191":{},"235":{},"239":{},"245":{},"246":{},"262":{},"273":{},"274":{}},"component":{}}],["topic",{"_index":1643,"title":{"102-2":{}},"name":{},"text":{"31":{},"46":{},"52":{},"99":{},"101":{},"102":{},"104":{},"183":{},"280":{}},"component":{}}],["topicresolver(m",{"_index":5577,"title":{},"name":{},"text":{"102":{}},"component":{}}],["topics(top",{"_index":5510,"title":{},"name":{},"text":{"99":{}},"component":{}}],["toplisten",{"_index":2410,"title":{},"name":{},"text":{"43":{}},"component":{}}],["toplistener'",{"_index":2415,"title":{},"name":{},"text":{"43":{}},"component":{}}],["topolog",{"_index":2229,"title":{},"name":{},"text":{"38":{},"76":{},"154":{},"165":{},"206":{},"221":{}},"component":{}}],["tostr",{"_index":1872,"title":{},"name":{},"text":{"34":{},"35":{},"64":{}},"component":{}}],["total",{"_index":2903,"title":{"274-35":{}},"name":{},"text":{"57":{},"88":{},"151":{},"179":{},"186":{},"239":{},"261":{},"273":{},"274":{}},"component":{}}],["touch",{"_index":2496,"title":{},"name":{},"text":{"44":{},"86":{},"145":{},"281":{}},"component":{}}],["tougher",{"_index":5282,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tour",{"_index":7700,"title":{},"name":{},"text":{"274":{}},"component":{}}],["toward",{"_index":1512,"title":{},"name":{},"text":{"30":{},"34":{},"35":{},"38":{},"43":{},"61":{},"63":{},"66":{},"67":{},"72":{},"77":{},"87":{},"88":{},"261":{}},"component":{}}],["to’",{"_index":3283,"title":{},"name":{},"text":{"66":{}},"component":{}}],["trace",{"_index":31,"title":{"59":{},"133":{},"134":{},"30-14":{},"30-36":{},"30-37":{},"59-25":{}},"name":{"59":{}},"text":{"1":{},"30":{},"49":{},"55":{},"56":{},"59":{},"66":{},"67":{},"132":{},"133":{},"134":{}},"component":{"132":{},"133":{},"134":{}}}],["traceid",{"_index":2689,"title":{},"name":{},"text":{"50":{}},"component":{}}],["tracer",{"_index":5983,"title":{},"name":{},"text":{"133":{}},"component":{}}],["traces/stat",{"_index":7135,"title":{},"name":{},"text":{"188":{}},"component":{}}],["tracinghandlerenhancerdefinit",{"_index":3111,"title":{},"name":{},"text":{"59":{}},"component":{}}],["track",{"_index":931,"title":{"56":{},"88-2":{},"88-5":{},"88-6":{},"88-18":{},"88-20":{}},"name":{"56":{}},"text":{"6":{},"44":{},"46":{},"49":{},"51":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"76":{},"77":{},"79":{},"87":{},"88":{},"89":{},"92":{},"99":{},"102":{},"104":{},"111":{},"114":{},"140":{},"151":{},"161":{},"179":{},"211":{},"260":{},"274":{},"281":{}},"component":{}}],["trackedeventcomparator(prioritya",{"_index":5371,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tracker",{"_index":2893,"title":{"58-1":{}},"name":{},"text":{"55":{},"58":{},"66":{},"67":{},"179":{}},"component":{}}],["trackingeventprocessor",{"_index":3549,"title":{},"name":{},"text":{"66":{},"67":{},"76":{},"88":{},"99":{},"104":{},"115":{}},"component":{}}],["trackingeventprocessor#mergesegment(int",{"_index":4373,"title":{},"name":{},"text":{"67":{}},"component":{}}],["trackingeventprocessor#processingstatu",{"_index":3796,"title":{},"name":{},"text":{"66":{}},"component":{}}],["trackingeventprocessor#resettoken",{"_index":5501,"title":{},"name":{},"text":{"99":{}},"component":{}}],["trackingeventprocessor.class",{"_index":5728,"title":{},"name":{},"text":{"115":{}},"component":{}}],["trackingeventprocessorconfigur",{"_index":3776,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["trackingeventprocessorconfiguration.forparallelprocessing(2",{"_index":5232,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingeventprocessorconfiguration.forparallelprocessing(4",{"_index":5258,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingeventprocessorconfiguration.forsinglethreadedprocess",{"_index":5129,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingprocessor",{"_index":4710,"title":{},"name":{},"text":{"76":{}},"component":{}}],["trackingprocessor.mergesegment(segmentid",{"_index":4713,"title":{},"name":{},"text":{"76":{}},"component":{}}],["trackingprocessor.splitsegment(segmentid",{"_index":4712,"title":{},"name":{},"text":{"76":{}},"component":{}}],["trackingprocessorconfigurermodul",{"_index":5131,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingtoken",{"_index":2834,"title":{},"name":{},"text":{"52":{},"58":{},"66":{},"67":{},"88":{},"99":{}},"component":{}}],["tradit",{"_index":889,"title":{},"name":{},"text":{"6":{}},"component":{}}],["traffic",{"_index":660,"title":{},"name":{},"text":{"3":{},"175":{},"176":{},"191":{},"192":{}},"component":{}}],["transact",{"_index":929,"title":{"87-12":{}},"name":{},"text":{"6":{},"15":{},"28":{},"38":{},"40":{},"46":{},"51":{},"53":{},"63":{},"66":{},"67":{},"68":{},"69":{},"70":{},"77":{},"79":{},"84":{},"85":{},"87":{},"90":{},"102":{},"104":{},"114":{},"115":{},"143":{},"151":{},"154":{},"156":{},"157":{},"179":{},"186":{},"274":{}},"component":{}}],["transactionalidprefix(transactionidprefix",{"_index":5573,"title":{},"name":{},"text":{"102":{}},"component":{}}],["transactionid",{"_index":1955,"title":{},"name":{},"text":{"35":{},"72":{},"84":{}},"component":{}}],["transactionid.equals(event.gettransactionid",{"_index":4953,"title":{},"name":{},"text":{"84":{}},"component":{}}],["transactionidprefix",{"_index":5568,"title":{},"name":{},"text":{"102":{}},"component":{}}],["transactionmanag",{"_index":1092,"title":{},"name":{},"text":{"15":{},"38":{},"39":{},"40":{},"46":{},"51":{},"53":{},"61":{},"67":{},"87":{},"113":{}},"component":{}}],["transactionmanager#starttransact",{"_index":5108,"title":{},"name":{},"text":{"87":{}},"component":{}}],["transactionmanager(config.getcompon",{"_index":5001,"title":{},"name":{},"text":{"86":{}},"component":{}}],["transactionmanager(config.getcomponent(transactionmanager.class",{"_index":1123,"title":{},"name":{},"text":{"15":{},"38":{},"46":{},"61":{},"86":{},"110":{}},"component":{}}],["transactionmanager(transactionmanag",{"_index":1101,"title":{},"name":{},"text":{"15":{},"38":{},"39":{},"40":{},"46":{},"61":{},"97":{},"113":{}},"component":{}}],["transactionmanager.class",{"_index":5002,"title":{},"name":{},"text":{"86":{}},"component":{}}],["transactionmanaginginterceptor",{"_index":2743,"title":{},"name":{},"text":{"51":{}},"component":{}}],["transactions.add(new",{"_index":4949,"title":{},"name":{},"text":{"84":{},"85":{}},"component":{}}],["transactions.stream().map(giftcardtransaction::gettransactionid).anymatch(cmd.gettransactionid()::equ",{"_index":4975,"title":{},"name":{},"text":{"85":{}},"component":{}}],["transactionvalu",{"_index":4934,"title":{},"name":{},"text":{"84":{}},"component":{}}],["transfer",{"_index":372,"title":{},"name":{},"text":{"3":{},"46":{},"63":{},"91":{},"151":{},"191":{},"255":{}},"component":{}}],["transform",{"_index":2430,"title":{"145":{},"140-16":{},"145-2":{},"145-3":{},"145-4":{},"145-8":{},"145-11":{},"145-13":{},"145-14":{},"145-17":{},"145-20":{},"145-22":{},"145-25":{},"145-27":{}},"name":{"145":{}},"text":{"44":{},"140":{},"145":{},"146":{},"286":{}},"component":{}}],["transform(\"encrypt",{"_index":6280,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transform(\"transform",{"_index":6297,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transform_admin",{"_index":6310,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transformation.enabled=fals",{"_index":6319,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transformer#transform(append",{"_index":6292,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transienc",{"_index":3646,"title":{},"name":{},"text":{"66":{}},"component":{}}],["transient",{"_index":2089,"title":{},"name":{},"text":{"38":{},"66":{},"67":{},"68":{},"69":{},"72":{},"290":{}},"component":{}}],["transit",{"_index":1487,"title":{"289":{},"289-5":{}},"name":{},"text":{"30":{},"81":{},"84":{},"88":{},"107":{},"140":{},"145":{},"151":{},"286":{},"289":{},"290":{}},"component":{}}],["translat",{"_index":2533,"title":{},"name":{},"text":{"46":{},"51":{},"88":{},"99":{},"170":{},"286":{}},"component":{}}],["transmiss",{"_index":6531,"title":{},"name":{},"text":{"163":{}},"component":{}}],["transpar",{"_index":2661,"title":{},"name":{},"text":{"49":{},"79":{},"87":{},"264":{},"281":{}},"component":{}}],["transport",{"_index":2220,"title":{},"name":{},"text":{"38":{},"50":{},"176":{},"192":{},"208":{}},"component":{}}],["travel",{"_index":7714,"title":{},"name":{},"text":{"274":{}},"component":{}}],["travers",{"_index":4833,"title":{},"name":{},"text":{"79":{},"88":{}},"component":{}}],["treat",{"_index":2662,"title":{},"name":{},"text":{"49":{},"77":{},"239":{}},"component":{}}],["trend",{"_index":7727,"title":{},"name":{},"text":{"274":{}},"component":{}}],["trhough",{"_index":7652,"title":{},"name":{},"text":{"265":{}},"component":{}}],["tri",{"_index":755,"title":{},"name":{},"text":{"5":{},"12":{},"14":{},"16":{},"17":{},"31":{},"32":{},"46":{},"49":{},"53":{},"67":{},"74":{},"86":{},"87":{},"88":{},"97":{},"141":{},"143":{},"145":{},"150":{},"192":{},"202":{},"206":{},"249":{},"261":{},"263":{},"265":{},"266":{},"267":{},"283":{}},"component":{}}],["trick",{"_index":4843,"title":{},"name":{},"text":{"79":{}},"component":{}}],["trigger",{"_index":1241,"title":{"88-27":{},"88-28":{},"260-4":{}},"name":{},"text":{"20":{},"21":{},"22":{},"36":{},"38":{},"39":{},"49":{},"56":{},"57":{},"59":{},"63":{},"66":{},"67":{},"69":{},"72":{},"77":{},"84":{},"87":{},"88":{},"99":{},"127":{},"165":{},"172":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"262":{},"273":{},"274":{},"280":{},"281":{},"286":{}},"component":{}}],["troubl",{"_index":240,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["troubleshoot",{"_index":6238,"title":{"145-24":{}},"name":{},"text":{"243":{}},"component":{}}],["troublesom",{"_index":4275,"title":{},"name":{},"text":{"67":{}},"component":{}}],["troughput",{"_index":7578,"title":{},"name":{},"text":{"242":{}},"component":{}}],["true",{"_index":615,"title":{},"name":{},"text":{"3":{},"20":{},"31":{},"34":{},"38":{},"52":{},"53":{},"57":{},"59":{},"68":{},"69":{},"84":{},"86":{},"88":{},"96":{},"97":{},"104":{},"114":{},"115":{},"140":{},"141":{},"145":{},"156":{},"169":{},"170":{},"172":{},"173":{},"179":{},"184":{},"191":{},"192":{},"193":{},"208":{},"211":{},"212":{},"214":{},"281":{},"284":{}},"component":{}}],["truncat",{"_index":4010,"title":{},"name":{},"text":{"67":{}},"component":{}}],["trust",{"_index":6092,"title":{},"name":{},"text":{"141":{},"176":{},"179":{},"206":{}},"component":{}}],["truth",{"_index":7943,"title":{},"name":{},"text":{"280":{},"281":{},"290":{}},"component":{}}],["ttl",{"_index":6891,"title":{},"name":{},"text":{"179":{}},"component":{}}],["tune",{"_index":117,"title":{"78":{},"79":{},"31-6":{},"76-2":{},"165-2":{},"170-5":{}},"name":{"79":{},"165":{}},"text":{"2":{},"28":{},"29":{},"36":{},"51":{},"66":{},"75":{},"76":{},"78":{},"79":{},"88":{},"137":{},"164":{},"170":{},"273":{},"274":{}},"component":{}}],["tunnel",{"_index":7236,"title":{},"name":{},"text":{"199":{}},"component":{}}],["tupl",{"_index":6215,"title":{},"name":{},"text":{"144":{}},"component":{}}],["turn",{"_index":1615,"title":{},"name":{},"text":{"31":{},"38":{},"50":{},"51":{},"59":{},"63":{},"64":{},"66":{},"76":{},"86":{},"87":{},"88":{},"102":{},"114":{},"127":{},"132":{},"163":{},"203":{},"226":{},"265":{}},"component":{}}],["tutori",{"_index":983,"title":{"7-2":{}},"name":{},"text":{"16":{},"21":{},"34":{},"37":{},"62":{},"63":{},"249":{},"263":{},"264":{},"268":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"282":{},"285":{}},"component":{}}],["tweak",{"_index":1358,"title":{},"name":{},"text":{"25":{},"38":{},"46":{},"67":{},"77":{}},"component":{}}],["twice",{"_index":1641,"title":{},"name":{},"text":{"31":{},"67":{},"88":{},"145":{},"250":{}},"component":{}}],["two",{"_index":221,"title":{},"name":{},"text":{"3":{},"15":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"42":{},"46":{},"47":{},"49":{},"50":{},"51":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"83":{},"84":{},"86":{},"87":{},"88":{},"99":{},"127":{},"137":{},"145":{},"148":{},"150":{},"151":{},"154":{},"156":{},"163":{},"170":{},"173":{},"176":{},"178":{},"180":{},"191":{},"201":{},"202":{},"204":{},"211":{},"212":{},"213":{},"214":{},"216":{},"218":{},"219":{},"224":{},"226":{},"239":{},"244":{},"245":{},"250":{},"261":{},"267":{},"273":{},"274":{},"275":{},"279":{},"280":{},"281":{},"286":{}},"component":{}}],["txt,json",{"_index":6572,"title":{},"name":{},"text":{"168":{},"174":{},"178":{}},"component":{}}],["tyour",{"_index":2670,"title":{},"name":{},"text":{"49":{}},"component":{}}],["type",{"_index":222,"title":{"5-13":{},"31-13":{},"59-9":{},"62-1":{},"206-36":{},"211-1":{},"212-1":{},"214-1":{},"226-1":{},"226-4":{}},"name":{},"text":{"3":{},"5":{},"6":{},"12":{},"24":{},"29":{},"31":{},"34":{},"35":{},"36":{},"37":{},"38":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"80":{},"81":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"102":{},"107":{},"108":{},"111":{},"115":{},"120":{},"121":{},"127":{},"128":{},"130":{},"132":{},"138":{},"140":{},"142":{},"147":{},"148":{},"151":{},"156":{},"161":{},"169":{},"170":{},"172":{},"176":{},"179":{},"191":{},"194":{},"200":{},"202":{},"203":{},"204":{},"206":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"221":{},"224":{},"226":{},"239":{},"241":{},"243":{},"244":{},"261":{},"262":{},"264":{},"271":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"289":{},"290":{}},"component":{}}],["type=appl",{"_index":7498,"title":{},"name":{},"text":{"215":{}},"component":{}}],["typecontribut",{"_index":4853,"title":{},"name":{},"text":{"79":{}},"component":{}}],["typecontributions.gettypeconfigur",{"_index":4857,"title":{},"name":{},"text":{"79":{}},"component":{}}],["typedqueri",{"_index":3156,"title":{},"name":{},"text":{"63":{}},"component":{}}],["typescript",{"_index":7247,"title":{},"name":{},"text":{"200":{}},"component":{}}],["typic",{"_index":915,"title":{},"name":{},"text":{"6":{},"29":{},"30":{},"31":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"51":{},"53":{},"60":{},"66":{},"69":{},"72":{},"76":{},"77":{},"82":{},"83":{},"88":{},"99":{},"145":{},"150":{},"151":{},"165":{},"170":{},"172":{},"289":{},"290":{}},"component":{}}],["typo",{"_index":3353,"title":{},"name":{},"text":{"66":{}},"component":{}}],["u",{"_index":360,"title":{},"name":{},"text":{"3":{},"33":{},"166":{},"169":{},"174":{},"178":{},"191":{}},"component":{}}],["ui",{"_index":1926,"title":{"211-5":{},"212-6":{},"214-5":{}},"name":{},"text":{"34":{},"63":{},"66":{},"140":{},"141":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"165":{},"166":{},"167":{},"168":{},"169":{},"172":{},"173":{},"174":{},"177":{},"192":{},"199":{},"202":{},"203":{},"211":{},"212":{},"214":{},"250":{},"263":{},"267":{},"270":{},"277":{},"281":{}},"component":{}}],["ui.html",{"_index":6106,"title":{},"name":{},"text":{"142":{},"147":{},"156":{}},"component":{}}],["ui/api",{"_index":7948,"title":{},"name":{},"text":{"281":{}},"component":{}}],["ui/index.html",{"_index":7013,"title":{},"name":{},"text":{"182":{}},"component":{}}],["uid",{"_index":2750,"title":{},"name":{},"text":{"51":{}},"component":{}}],["ultim",{"_index":1656,"title":{},"name":{},"text":{"31":{},"94":{},"111":{}},"component":{}}],["un",{"_index":3927,"title":{},"name":{},"text":{"67":{},"255":{}},"component":{}}],["unabl",{"_index":4983,"title":{},"name":{},"text":{"86":{},"143":{},"219":{}},"component":{}}],["unabletoclaimtokenexcept",{"_index":5202,"title":{},"name":{},"text":{"88":{}},"component":{}}],["unaffect",{"_index":1832,"title":{},"name":{},"text":{"33":{}},"component":{}}],["unassign",{"_index":7537,"title":{},"name":{},"text":{"221":{}},"component":{}}],["unauthent",{"_index":6618,"title":{},"name":{},"text":{"170":{}},"component":{}}],["unavail",{"_index":1132,"title":{},"name":{},"text":{"16":{},"30":{},"151":{},"288":{}},"component":{}}],["unavoid",{"_index":6027,"title":{},"name":{},"text":{"140":{},"145":{},"221":{}},"component":{}}],["unblock",{"_index":1899,"title":{},"name":{},"text":{"34":{},"87":{},"88":{}},"component":{}}],["unbound",{"_index":2157,"title":{},"name":{},"text":{"38":{}},"component":{}}],["unchang",{"_index":6257,"title":{},"name":{},"text":{"145":{}},"component":{}}],["uncheck",{"_index":2198,"title":{},"name":{},"text":{"38":{},"53":{},"77":{}},"component":{}}],["unclean",{"_index":6858,"title":{},"name":{},"text":{"179":{}},"component":{}}],["uncommit",{"_index":6184,"title":{},"name":{},"text":{"143":{}},"component":{}}],["uncommon",{"_index":3121,"title":{},"name":{},"text":{"60":{},"102":{}},"component":{}}],["uncondition",{"_index":2691,"title":{},"name":{},"text":{"50":{}},"component":{}}],["unconfirm",{"_index":6901,"title":{},"name":{},"text":{"179":{}},"component":{}}],["uncov",{"_index":4362,"title":{},"name":{},"text":{"67":{}},"component":{}}],["undefin",{"_index":5065,"title":{},"name":{},"text":{"87":{}},"component":{}}],["under",{"_index":548,"title":{},"name":{},"text":{"3":{},"6":{},"34":{},"49":{},"54":{},"66":{},"67":{},"72":{},"79":{},"87":{},"88":{},"104":{},"130":{},"137":{},"161":{},"162":{},"163":{},"185":{},"186":{},"191":{},"192":{},"239":{},"242":{},"244":{},"245":{},"246":{},"257":{},"261":{},"270":{},"273":{},"274":{},"276":{},"279":{},"285":{}},"component":{}}],["underestim",{"_index":6244,"title":{},"name":{},"text":{"145":{}},"component":{}}],["undergo",{"_index":6137,"title":{},"name":{},"text":{"143":{}},"component":{}}],["undergon",{"_index":3493,"title":{},"name":{},"text":{"66":{}},"component":{}}],["underli",{"_index":2023,"title":{},"name":{},"text":{"36":{},"40":{},"69":{},"71":{},"77":{},"84":{},"88":{},"94":{}},"component":{}}],["underneath",{"_index":1889,"title":{},"name":{},"text":{"34":{}},"component":{}}],["underperform",{"_index":7587,"title":{},"name":{},"text":{"244":{}},"component":{}}],["underscor",{"_index":6363,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["understand",{"_index":995,"title":{},"name":{},"text":{"8":{},"12":{},"13":{},"32":{},"40":{},"44":{},"88":{},"145":{},"189":{},"242":{},"243":{},"246":{},"264":{},"274":{},"287":{}},"component":{}}],["undertak",{"_index":2717,"title":{},"name":{},"text":{"51":{}},"component":{}}],["undertaken",{"_index":6033,"title":{},"name":{},"text":{"140":{}},"component":{}}],["underway",{"_index":4375,"title":{},"name":{},"text":{"67":{}},"component":{}}],["undesir",{"_index":4325,"title":{},"name":{},"text":{"67":{},"80":{},"86":{}},"component":{}}],["undon",{"_index":7624,"title":{},"name":{},"text":{"260":{}},"component":{}}],["unequ",{"_index":5289,"title":{},"name":{},"text":{"88":{}},"component":{}}],["unexpect",{"_index":1421,"title":{},"name":{},"text":{"29":{},"66":{},"67":{},"88":{},"140":{},"141":{},"266":{}},"component":{}}],["unfortun",{"_index":1777,"title":{},"name":{},"text":{"33":{}},"component":{}}],["unidirect",{"_index":2652,"title":{},"name":{},"text":{"48":{}},"component":{}}],["unifi",{"_index":208,"title":{"140-23":{}},"name":{},"text":{"3":{},"138":{},"191":{},"192":{}},"component":{}}],["uniformli",{"_index":7489,"title":{},"name":{},"text":{"215":{}},"component":{}}],["uniniti",{"_index":2061,"title":{},"name":{},"text":{"36":{},"192":{}},"component":{}}],["unintend",{"_index":1460,"title":{},"name":{},"text":{"29":{},"88":{}},"component":{}}],["unintent",{"_index":1964,"title":{},"name":{},"text":{"35":{},"88":{}},"component":{}}],["unintention",{"_index":3802,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["uniqu",{"_index":1462,"title":{},"name":{},"text":{"29":{},"34":{},"36":{},"46":{},"49":{},"67":{},"69":{},"71":{},"79":{},"85":{},"86":{},"88":{},"102":{},"111":{},"151":{},"179":{},"194":{},"202":{},"211":{},"212":{},"214":{},"226":{},"281":{}},"component":{}}],["unit",{"_index":1910,"title":{"53":{}},"name":{"53":{},"285":{}},"text":{"34":{},"38":{},"40":{},"46":{},"50":{},"51":{},"52":{},"53":{},"63":{},"66":{},"69":{},"71":{},"72":{},"73":{},"77":{},"82":{},"87":{},"88":{},"102":{},"151":{},"283":{},"285":{}},"component":{}}],["unitin",{"_index":7573,"title":{},"name":{},"text":{"239":{}},"component":{}}],["unitofwork",{"_index":2568,"title":{},"name":{},"text":{"46":{},"51":{},"52":{},"53":{},"66":{},"67":{}},"component":{}}],["unitofwork.execute(runn",{"_index":2860,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.executewithresult(cal",{"_index":2861,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.getmessag",{"_index":2747,"title":{},"name":{},"text":{"51":{}},"component":{}}],["unitofwork.getorcomputeresourc",{"_index":2849,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.getresourc",{"_index":2885,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.oncommit",{"_index":2854,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.root",{"_index":2886,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofworkawareconnectionproviderwrapp",{"_index":4485,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["unitofworkfactori",{"_index":2349,"title":{},"name":{},"text":{"40":{}},"component":{}}],["unix",{"_index":7177,"title":{},"name":{},"text":{"194":{}},"component":{}}],["unknown",{"_index":1671,"title":{},"name":{},"text":{"31":{},"44":{},"143":{},"172":{},"280":{}},"component":{}}],["unless",{"_index":1174,"title":{},"name":{},"text":{"17":{},"31":{},"38":{},"74":{},"145":{},"147":{},"174":{},"179":{},"192":{}},"component":{}}],["unlik",{"_index":101,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"35":{},"38":{},"39":{},"44":{},"47":{},"51":{},"53":{},"64":{},"69":{},"71":{},"79":{},"142":{},"191":{}},"component":{}}],["unlimit",{"_index":7598,"title":{},"name":{},"text":{"250":{}},"component":{}}],["unlock",{"_index":7597,"title":{},"name":{},"text":{"250":{},"254":{}},"component":{}}],["unmatch",{"_index":4611,"title":{},"name":{},"text":{"72":{}},"component":{}}],["unnam",{"_index":5614,"title":{},"name":{},"text":{"104":{}},"component":{}}],["unnecessari",{"_index":1112,"title":{},"name":{},"text":{"15":{},"38":{},"67":{},"279":{}},"component":{}}],["unpack",{"_index":6599,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["unprocess",{"_index":1140,"title":{},"name":{},"text":{"16":{},"88":{}},"component":{}}],["unreach",{"_index":6478,"title":{},"name":{},"text":{"154":{},"192":{}},"component":{}}],["unread",{"_index":3018,"title":{},"name":{},"text":{"59":{}},"component":{}}],["unreason",{"_index":6806,"title":{},"name":{},"text":{"176":{}},"component":{}}],["unregist",{"_index":4102,"title":{"148-7":{}},"name":{},"text":{"67":{},"140":{},"148":{},"178":{}},"component":{}}],["unregister_plugin",{"_index":6675,"title":{},"name":{},"text":{"171":{}},"component":{}}],["unresolv",{"_index":2239,"title":{},"name":{},"text":{"38":{}},"component":{}}],["unresolvedroutingkeypolici",{"_index":2236,"title":{},"name":{},"text":{"38":{}},"component":{}}],["unrespons",{"_index":6236,"title":{},"name":{},"text":{"144":{}},"component":{}}],["unseen",{"_index":4926,"title":{},"name":{},"text":{"83":{}},"component":{}}],["unspecifi",{"_index":3120,"title":{},"name":{},"text":{"60":{},"63":{}},"component":{}}],["unspecifiedsynapseinst",{"_index":7400,"title":{},"name":{},"text":{"206":{}},"component":{}}],["unsubscrib",{"_index":5827,"title":{},"name":{},"text":{"121":{}},"component":{}}],["unsuccessfulli",{"_index":1138,"title":{},"name":{},"text":{"16":{}},"component":{}}],["unsuit",{"_index":2351,"title":{},"name":{},"text":{"40":{},"86":{}},"component":{}}],["unsupport",{"_index":3233,"title":{"64-6":{}},"name":{},"text":{"143":{}},"component":{}}],["unsupportedoperationexcept",{"_index":2648,"title":{},"name":{},"text":{"47":{},"80":{}},"component":{}}],["until",{"_index":793,"title":{},"name":{},"text":{"5":{},"16":{},"34":{},"35":{},"38":{},"53":{},"67":{},"86":{},"87":{},"88":{},"102":{},"107":{},"121":{},"138":{},"140":{},"144":{},"145":{},"156":{},"163":{},"179":{},"186":{},"192":{},"260":{},"278":{},"280":{},"288":{}},"component":{}}],["unus",{"_index":4914,"title":{},"name":{},"text":{"82":{},"179":{},"274":{}},"component":{}}],["unwant",{"_index":5167,"title":{},"name":{},"text":{"88":{},"257":{}},"component":{}}],["unwieldi",{"_index":4429,"title":{},"name":{},"text":{"68":{}},"component":{}}],["unzip",{"_index":6600,"title":{},"name":{},"text":{"170":{},"172":{},"201":{}},"component":{}}],["uow",{"_index":2862,"title":{},"name":{},"text":{"53":{}},"component":{}}],["uow.commit",{"_index":2866,"title":{},"name":{},"text":{"53":{}},"component":{}}],["uow.executewithresult",{"_index":2865,"title":{},"name":{},"text":{"53":{}},"component":{}}],["uow.rollback(",{"_index":2867,"title":{},"name":{},"text":{"53":{}},"component":{}}],["up",{"_index":281,"title":{"5-4":{},"192-2":{},"232-1":{},"237-1":{},"237-2":{},"263-1":{}},"name":{"237":{}},"text":{"3":{},"8":{},"13":{},"19":{},"28":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"49":{},"51":{},"53":{},"54":{},"55":{},"56":{},"58":{},"59":{},"61":{},"63":{},"66":{},"67":{},"72":{},"76":{},"77":{},"79":{},"81":{},"82":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"102":{},"104":{},"115":{},"123":{},"127":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"154":{},"156":{},"157":{},"162":{},"163":{},"170":{},"177":{},"179":{},"185":{},"191":{},"192":{},"199":{},"201":{},"203":{},"215":{},"221":{},"226":{},"232":{},"237":{},"245":{},"247":{},"249":{},"250":{},"255":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"267":{},"271":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"284":{},"290":{}},"component":{}}],["upcast",{"_index":1647,"title":{"44-1":{},"44-2":{},"44-3":{},"44-4":{},"106-1":{}},"name":{},"text":{"31":{},"44":{},"46":{},"67":{},"101":{},"106":{}},"component":{}}],["upcastedrevis",{"_index":2468,"title":{},"name":{},"text":{"44":{}},"component":{}}],["upcasterchain",{"_index":5548,"title":{},"name":{},"text":{"101":{}},"component":{}}],["upcasterchain(upcasterchain",{"_index":5551,"title":{},"name":{},"text":{"101":{}},"component":{}}],["upcom",{"_index":6476,"title":{},"name":{},"text":{"153":{},"280":{}},"component":{}}],["updat",{"_index":183,"title":{"115-6":{},"140-5":{},"140-7":{},"140-22":{},"199-7":{},"290-4":{}},"name":{},"text":{"2":{},"3":{},"4":{},"6":{},"8":{},"13":{},"35":{},"38":{},"42":{},"44":{},"49":{},"51":{},"59":{},"62":{},"63":{},"64":{},"66":{},"67":{},"79":{},"87":{},"88":{},"89":{},"93":{},"95":{},"98":{},"103":{},"108":{},"111":{},"112":{},"115":{},"121":{},"122":{},"126":{},"127":{},"131":{},"134":{},"138":{},"140":{},"141":{},"142":{},"143":{},"145":{},"148":{},"149":{},"156":{},"161":{},"176":{},"178":{},"179":{},"180":{},"182":{},"186":{},"191":{},"192":{},"199":{},"206":{},"246":{},"260":{},"270":{},"274":{},"276":{},"280":{},"289":{},"290":{}},"component":{}}],["update.initi",{"_index":6949,"title":{},"name":{},"text":{"179":{}},"component":{}}],["update.r",{"_index":6948,"title":{},"name":{},"text":{"179":{}},"component":{}}],["update_context_properti",{"_index":6676,"title":{},"name":{},"text":{"171":{}},"component":{}}],["updateavailabilitycommand",{"_index":8041,"title":{},"name":{},"text":{"286":{}},"component":{}}],["updateavailabilitycommand(event.bikeid",{"_index":8046,"title":{},"name":{},"text":{"286":{}},"component":{}}],["updatecontextproperties(updatecontextpropertiesrequest",{"_index":6981,"title":{},"name":{},"text":{"180":{}},"component":{}}],["updated(str",{"_index":6395,"title":{},"name":{},"text":{"148":{}},"component":{}}],["updateemitt",{"_index":3132,"title":{},"name":{},"text":{"61":{},"66":{}},"component":{}}],["updatehandlerregistration#complet",{"_index":4183,"title":{},"name":{},"text":{"67":{}},"component":{}}],["updatesonli",{"_index":5845,"title":{},"name":{},"text":{"121":{}},"component":{}}],["upgrad",{"_index":145,"title":{"4":{},"33":{},"4-4":{},"33-1":{},"33-5":{},"33-9":{},"67-26":{},"140-12":{},"161-1":{},"161-2":{},"162-1":{},"162-2":{},"215-2":{},"215-6":{},"215-10":{},"215-14":{},"215-18":{}},"name":{"33":{}},"text":{"2":{},"4":{},"11":{},"12":{},"28":{},"31":{},"33":{},"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"122":{},"126":{},"131":{},"134":{},"140":{},"141":{},"215":{},"250":{},"273":{}},"component":{"4":{}}}],["upgrade/upgrading_as_2024.html",{"_index":6012,"title":{},"name":{},"text":{"140":{}},"component":{}}],["upgrading_as_2024",{"_index":686,"title":{},"name":{"4":{}},"text":{},"component":{}}],["upload",{"_index":278,"title":{"148-3":{}},"name":{},"text":{"3":{},"148":{},"178":{},"179":{},"191":{}},"component":{}}],["upload_licens",{"_index":6677,"title":{},"name":{},"text":{"171":{}},"component":{}}],["upon",{"_index":840,"title":{},"name":{},"text":{"5":{},"35":{},"36":{},"38":{},"59":{},"60":{},"66":{},"67":{},"80":{},"82":{},"85":{},"99":{},"101":{},"102":{},"105":{},"147":{},"154":{},"161":{},"238":{},"260":{},"280":{},"281":{},"288":{}},"component":{}}],["upper",{"_index":6817,"title":{},"name":{},"text":{"179":{},"195":{},"274":{}},"component":{}}],["uppercas",{"_index":6360,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["upsert",{"_index":1992,"title":{},"name":{},"text":{"35":{}},"component":{}}],["upstream",{"_index":3226,"title":{},"name":{},"text":{"63":{},"221":{}},"component":{}}],["uri",{"_index":5689,"title":{},"name":{},"text":{"114":{},"127":{},"172":{}},"component":{}}],["url",{"_index":6093,"title":{},"name":{},"text":{"141":{},"144":{},"161":{},"168":{},"170":{},"172":{},"174":{},"178":{},"182":{},"185":{},"187":{},"209":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"233":{},"270":{},"273":{},"280":{},"281":{},"283":{}},"component":{}}],["url=\"/mi",{"_index":5953,"title":{},"name":{},"text":{"128":{}},"component":{}}],["us",{"_index":71,"title":{"14":{},"18":{},"231":{},"269":{},"277":{},"5-7":{},"39-3":{},"111-1":{},"144-3":{},"144-4":{},"144-5":{},"145-26":{},"151-7":{},"151-20":{},"168-1":{},"174-1":{},"199-1":{},"226-1":{},"247-1":{},"247-3":{},"280-6":{},"280-15":{},"283-3":{}},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"8":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"94":{},"96":{},"97":{},"99":{},"100":{},"101":{},"102":{},"104":{},"105":{},"106":{},"107":{},"108":{},"111":{},"114":{},"115":{},"116":{},"117":{},"120":{},"121":{},"124":{},"126":{},"127":{},"128":{},"129":{},"130":{},"132":{},"133":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"157":{},"161":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"177":{},"178":{},"179":{},"180":{},"184":{},"185":{},"187":{},"189":{},"191":{},"192":{},"194":{},"195":{},"197":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"224":{},"226":{},"228":{},"230":{},"232":{},"233":{},"234":{},"235":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["usabl",{"_index":4781,"title":{},"name":{},"text":{"77":{},"140":{}},"component":{}}],["usag",{"_index":681,"title":{"5-8":{},"5-9":{},"97-1":{},"97-2":{},"147-2":{},"154-5":{},"177-1":{}},"name":{},"text":{"3":{},"5":{},"8":{},"13":{},"30":{},"34":{},"53":{},"59":{},"63":{},"66":{},"67":{},"72":{},"79":{},"97":{},"99":{},"105":{},"121":{},"128":{},"133":{},"140":{},"141":{},"144":{},"145":{},"151":{},"168":{},"174":{},"191":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["use_context",{"_index":6596,"title":{},"name":{},"text":{"169":{},"171":{},"178":{},"204":{}},"component":{}}],["use_context@context",{"_index":7328,"title":{},"name":{},"text":{"204":{}},"component":{}}],["usebinarypojo",{"_index":2365,"title":{},"name":{},"text":{"40":{}},"component":{}}],["useless",{"_index":3799,"title":{},"name":{},"text":{"66":{},"145":{}},"component":{}}],["user",{"_index":96,"title":{"5-12":{},"147-9":{},"166-1":{},"169-2":{},"173-2":{},"174-1":{},"178-5":{},"180-5":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"59":{},"64":{},"66":{},"67":{},"72":{},"77":{},"83":{},"88":{},"94":{},"99":{},"102":{},"120":{},"121":{},"140":{},"141":{},"143":{},"145":{},"151":{},"153":{},"154":{},"162":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"177":{},"178":{},"180":{},"181":{},"182":{},"185":{},"191":{},"199":{},"204":{},"227":{},"230":{},"231":{},"235":{},"236":{},"237":{},"238":{},"240":{},"246":{},"250":{},"255":{},"257":{},"280":{},"281":{}},"component":{}}],["user:password",{"_index":6557,"title":{},"name":{},"text":{"166":{}},"component":{}}],["useradminservic",{"_index":7003,"title":{},"name":{},"text":{"180":{}},"component":{}}],["userid",{"_index":2124,"title":{},"name":{},"text":{"38":{},"51":{}},"component":{}}],["usernam",{"_index":6075,"title":{},"name":{},"text":{"141":{},"161":{},"166":{},"169":{},"170":{},"172":{},"173":{},"174":{},"178":{},"204":{},"247":{}},"component":{}}],["username/password",{"_index":7324,"title":{},"name":{},"text":{"204":{},"206":{}},"component":{}}],["usernameprovid",{"_index":2700,"title":{},"name":{},"text":{"50":{}},"component":{}}],["usernameprovider.apply(token",{"_index":2710,"title":{},"name":{},"text":{"50":{}},"component":{}}],["useroverview",{"_index":7005,"title":{},"name":{},"text":{"180":{}},"component":{}}],["userprovid",{"_index":2702,"title":{},"name":{},"text":{"50":{}},"component":{}}],["users/dgomezg/projects/axon/cod",{"_index":8015,"title":{},"name":{},"text":{"284":{}},"component":{}}],["userservic",{"_index":894,"title":{},"name":{},"text":{"6":{}},"component":{}}],["userupd",{"_index":895,"title":{},"name":{},"text":{"6":{}},"component":{}}],["user’",{"_index":4925,"title":{"172-5":{}},"name":{},"text":{"83":{},"99":{},"141":{},"169":{}},"component":{}}],["usingpooledstreamingeventprocessor",{"_index":5141,"title":{},"name":{},"text":{"88":{}},"component":{}}],["usingsubscribingeventprocessor",{"_index":5382,"title":{},"name":{},"text":{"89":{}},"component":{}}],["usingtrackingeventprocessor",{"_index":5121,"title":{},"name":{},"text":{"88":{}},"component":{}}],["usual",{"_index":695,"title":{},"name":{},"text":{"4":{},"36":{},"44":{},"50":{},"64":{},"69":{},"77":{},"82":{},"88":{},"151":{},"198":{},"264":{},"281":{},"283":{}},"component":{}}],["utc",{"_index":4810,"title":{},"name":{},"text":{"79":{}},"component":{}}],["util",{"_index":2332,"title":{"46-8":{}},"name":{},"text":{"40":{},"46":{},"63":{},"66":{},"67":{},"72":{},"76":{},"86":{},"99":{},"102":{},"105":{},"120":{},"121":{},"140":{},"145":{},"147":{},"165":{},"178":{},"192":{},"199":{},"226":{},"234":{},"246":{}},"component":{}}],["utrecht",{"_index":7913,"title":{},"name":{},"text":{"280":{}},"component":{}}],["uuid",{"_index":4805,"title":{},"name":{},"text":{"79":{},"283":{}},"component":{}}],["uuid.randomuuid().tostr",{"_index":1271,"title":{},"name":{},"text":{"22":{},"34":{},"281":{}},"component":{}}],["v",{"_index":5540,"title":{},"name":{},"text":{"101":{},"148":{},"178":{},"192":{}},"component":{}}],["v1",{"_index":643,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["v1/applic",{"_index":7008,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v1/backup/eventstor",{"_index":6115,"title":{},"name":{},"text":{"142":{}},"component":{}}],["v1/cluster",{"_index":7011,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v1/components/cli",{"_index":7391,"title":{},"name":{},"text":{"206":{}},"component":{}}],["v1/components/{component}/processors/{processor}/pause?context={context}&tokenstoreidentifier={tokenstoreid",{"_index":6199,"title":{},"name":{},"text":{"144":{}},"component":{}}],["v1/components/{component}/processors/{processor}/start?context={context}&tokenstoreidentifier={tokenstoreid",{"_index":6200,"title":{},"name":{},"text":{"144":{}},"component":{}}],["v1/context",{"_index":7010,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v1/context/[contextname]/command",{"_index":7509,"title":{},"name":{},"text":{"216":{}},"component":{}}],["v1/context/[contextname]/commands/[commandnam",{"_index":7505,"title":{},"name":{},"text":{"216":{}},"component":{}}],["v1/context/[contextname]/ev",{"_index":7520,"title":{},"name":{},"text":{"217":{}},"component":{}}],["v1/context/[contextname]/events/[eventnam",{"_index":7512,"title":{},"name":{},"text":{"217":{}},"component":{}}],["v1/context/[contextname]/queri",{"_index":7526,"title":{},"name":{},"text":{"219":{}},"component":{}}],["v1/context/[contextname]/queries/[querynam",{"_index":7523,"title":{},"name":{},"text":{"219":{}},"component":{}}],["v1/contexts/default/command",{"_index":7311,"title":{},"name":{},"text":{"203":{}},"component":{}}],["v1/contexts/default/ev",{"_index":7320,"title":{},"name":{},"text":{"203":{}},"component":{}}],["v1/contexts/default/handlers/command",{"_index":7280,"title":{},"name":{},"text":{"202":{}},"component":{}}],["v1/contexts/default/handlers/ev",{"_index":7305,"title":{},"name":{},"text":{"202":{}},"component":{}}],["v1/contexts/default/handlers/queri",{"_index":7295,"title":{},"name":{},"text":{"202":{}},"component":{}}],["v1/contexts/default/queri",{"_index":7318,"title":{},"name":{},"text":{"203":{}},"component":{}}],["v1/contexts/{context}/ev",{"_index":7496,"title":{},"name":{},"text":{"215":{}},"component":{}}],["v1/diagnose/download",{"_index":7128,"title":{},"name":{},"text":{"187":{}},"component":{}}],["v1/public/context",{"_index":7165,"title":{},"name":{},"text":{"192":{}},"component":{}}],["v1/public/m",{"_index":7160,"title":{},"name":{},"text":{"192":{}},"component":{}}],["v1/user",{"_index":7009,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v3.1",{"_index":8004,"title":{},"name":{},"text":{"284":{}},"component":{}}],["v3.2.1",{"_index":8011,"title":{},"name":{},"text":{"284":{}},"component":{}}],["v4.4",{"_index":6489,"title":{},"name":{},"text":{"154":{}},"component":{}}],["val",{"_index":5624,"title":{},"name":{},"text":{"105":{},"108":{}},"component":{}}],["valid",{"_index":538,"title":{"51-3":{},"51-11":{},"72-5":{},"72-6":{},"72-7":{},"72-8":{},"72-9":{}},"name":{},"text":{"3":{},"18":{},"20":{},"31":{},"35":{},"36":{},"38":{},"44":{},"51":{},"66":{},"67":{},"69":{},"72":{},"84":{},"85":{},"86":{},"88":{},"121":{},"127":{},"141":{},"143":{},"148":{},"151":{},"154":{},"157":{},"162":{},"168":{},"169":{},"172":{},"173":{},"177":{},"178":{},"179":{},"191":{},"193":{},"204":{},"206":{},"226":{},"233":{},"261":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["validation.initi",{"_index":6924,"title":{},"name":{},"text":{"179":{}},"component":{}}],["validation.r",{"_index":6923,"title":{},"name":{},"text":{"179":{}},"component":{}}],["valu",{"_index":290,"title":{"235":{},"5-7":{},"64-3":{},"64-4":{},"64-5":{},"64-6":{}},"name":{},"text":{"3":{},"14":{},"18":{},"20":{},"24":{},"27":{},"29":{},"31":{},"34":{},"35":{},"36":{},"38":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"57":{},"58":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"99":{},"101":{},"102":{},"104":{},"121":{},"132":{},"141":{},"143":{},"144":{},"147":{},"148":{},"150":{},"151":{},"156":{},"161":{},"166":{},"168":{},"169":{},"170":{},"172":{},"179":{},"185":{},"188":{},"191":{},"192":{},"193":{},"195":{},"197":{},"199":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"216":{},"226":{},"244":{},"245":{},"261":{},"262":{},"273":{},"274":{},"280":{},"281":{},"285":{},"289":{}},"component":{}}],["valuabl",{"_index":7584,"title":{},"name":{},"text":{"243":{},"265":{},"281":{}},"component":{}}],["value1",{"_index":5873,"title":{},"name":{},"text":{"121":{}},"component":{}}],["var",{"_index":1224,"title":{},"name":{},"text":{"20":{},"280":{},"281":{}},"component":{}}],["var/log",{"_index":6884,"title":{},"name":{},"text":{"179":{}},"component":{}}],["vari",{"_index":1696,"title":{},"name":{},"text":{"31":{},"44":{},"86":{},"155":{},"161":{},"261":{},"280":{},"283":{},"285":{}},"component":{}}],["variabl",{"_index":425,"title":{"179-3":{}},"name":{},"text":{"3":{},"66":{},"79":{},"140":{},"143":{},"151":{},"179":{},"191":{},"208":{},"280":{}},"component":{}}],["variant",{"_index":3600,"title":{},"name":{},"text":{"66":{},"72":{},"86":{},"108":{}},"component":{}}],["variat",{"_index":4613,"title":{},"name":{},"text":{"72":{},"121":{},"273":{}},"component":{}}],["varieti",{"_index":4550,"title":{},"name":{},"text":{"72":{},"77":{},"192":{},"249":{},"259":{}},"component":{}}],["variou",{"_index":750,"title":{},"name":{},"text":{"5":{},"28":{},"31":{},"37":{},"41":{},"45":{},"55":{},"62":{},"66":{},"70":{},"73":{},"78":{},"93":{},"95":{},"98":{},"103":{},"112":{},"115":{},"122":{},"126":{},"131":{},"134":{},"137":{},"140":{},"142":{},"143":{},"146":{},"151":{},"154":{},"155":{},"157":{},"159":{},"169":{},"175":{},"178":{},"181":{},"185":{},"189":{},"192":{},"200":{},"232":{},"242":{},"244":{},"255":{},"262":{},"265":{},"266":{},"270":{},"273":{},"274":{},"277":{},"282":{},"283":{}},"component":{}}],["varying(255",{"_index":4014,"title":{},"name":{},"text":{"67":{}},"component":{}}],["vast",{"_index":2389,"title":{},"name":{},"text":{"42":{}},"component":{}}],["vendor",{"_index":1506,"title":{},"name":{},"text":{"30":{},"57":{},"69":{},"71":{}},"component":{}}],["verbos",{"_index":1598,"title":{},"name":{},"text":{"31":{}},"component":{}}],["verdockercomposeconnectiondetailsfactori",{"_index":8021,"title":{},"name":{},"text":{"284":{}},"component":{}}],["verif",{"_index":4644,"title":{"161-3":{},"162-3":{}},"name":{},"text":{"72":{},"247":{}},"component":{}}],["verifi",{"_index":1882,"title":{},"name":{},"text":{"34":{},"67":{},"72":{},"74":{},"79":{},"82":{},"148":{},"179":{},"204":{},"247":{}},"component":{}}],["vermorkentech",{"_index":3748,"title":{},"name":{},"text":{"66":{}},"component":{}}],["versa",{"_index":4455,"title":{},"name":{},"text":{"69":{},"156":{}},"component":{}}],["versatil",{"_index":7556,"title":{},"name":{},"text":{"234":{}},"component":{}}],["version",{"_index":58,"title":{"44":{},"2-7":{},"144-6":{},"274-9":{}},"name":{"44":{}},"text":{"2":{},"3":{},"4":{},"30":{},"31":{},"33":{},"35":{},"36":{},"39":{},"44":{},"45":{},"46":{},"51":{},"52":{},"59":{},"65":{},"66":{},"67":{},"71":{},"72":{},"77":{},"83":{},"89":{},"93":{},"95":{},"97":{},"98":{},"101":{},"103":{},"109":{},"112":{},"115":{},"119":{},"122":{},"126":{},"131":{},"134":{},"137":{},"138":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"156":{},"163":{},"170":{},"172":{},"173":{},"176":{},"178":{},"179":{},"185":{},"187":{},"189":{},"191":{},"192":{},"194":{},"215":{},"245":{},"257":{},"263":{},"267":{},"269":{},"270":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{}},"component":{}}],["version.axon",{"_index":1541,"title":{},"name":{},"text":{"30":{},"38":{}},"component":{}}],["version}.jar",{"_index":7256,"title":{},"name":{},"text":{"201":{}},"component":{}}],["versu",{"_index":2079,"title":{},"name":{},"text":{"38":{}},"component":{}}],["via",{"_index":560,"title":{"289":{},"290":{},"203-3":{},"203-4":{},"203-5":{},"211-5":{},"211-6":{},"212-6":{},"212-7":{},"214-5":{},"214-6":{}},"name":{},"text":{"3":{},"5":{},"38":{},"40":{},"59":{},"63":{},"76":{},"81":{},"86":{},"115":{},"117":{},"140":{},"147":{},"151":{},"154":{},"168":{},"177":{},"179":{},"191":{},"192":{},"202":{},"206":{},"211":{},"212":{},"213":{},"214":{},"218":{},"221":{},"224":{},"269":{},"281":{},"286":{},"289":{},"290":{}},"component":{}}],["viabl",{"_index":3972,"title":{},"name":{},"text":{"67":{},"89":{}},"component":{}}],["vice",{"_index":4454,"title":{},"name":{},"text":{"69":{},"156":{}},"component":{}}],["video",{"_index":2064,"title":{},"name":{},"text":{"37":{},"62":{}},"component":{}}],["view",{"_index":804,"title":{"290":{}},"name":{},"text":{"5":{},"58":{},"63":{},"69":{},"71":{},"88":{},"140":{},"169":{},"178":{},"185":{},"201":{},"202":{},"229":{},"234":{},"239":{},"242":{},"243":{},"244":{},"246":{},"255":{},"261":{},"264":{},"266":{},"269":{},"273":{},"274":{},"280":{},"287":{},"290":{}},"component":{}}],["view_configur",{"_index":6588,"title":{},"name":{},"text":{"169":{},"171":{},"178":{},"208":{}},"component":{}}],["view_configuration@_admin",{"_index":7326,"title":{},"name":{},"text":{"204":{}},"component":{}}],["viewer",{"_index":7607,"title":{},"name":{},"text":{"255":{}},"component":{}}],["violat",{"_index":2531,"title":{},"name":{},"text":{"46":{},"63":{}},"component":{}}],["virtual",{"_index":1599,"title":{},"name":{},"text":{"31":{},"46":{},"66":{}},"component":{}}],["visibl",{"_index":3009,"title":{},"name":{},"text":{"59":{},"79":{},"141":{},"230":{},"273":{}},"component":{}}],["visit",{"_index":1483,"title":{},"name":{},"text":{"30":{},"31":{},"38":{},"46":{},"201":{},"284":{}},"component":{}}],["visual",{"_index":5978,"title":{},"name":{},"text":{"133":{},"141":{},"151":{},"154":{},"157":{},"243":{},"249":{},"250":{},"259":{}},"component":{}}],["visualt",{"_index":3050,"title":{},"name":{},"text":{"59":{}},"component":{}}],["vital",{"_index":4987,"title":{},"name":{},"text":{"86":{},"88":{},"190":{}},"component":{}}],["vitko",{"_index":3959,"title":{},"name":{},"text":{"67":{}},"component":{}}],["vm",{"_index":7212,"title":{"199-6":{}},"name":{},"text":{"199":{}},"component":{}}],["vmware",{"_index":5989,"title":{},"name":{},"text":{"133":{}},"component":{}}],["vm’",{"_index":7224,"title":{},"name":{},"text":{"199":{}},"component":{}}],["void",{"_index":1058,"title":{},"name":{},"text":{"14":{},"15":{},"17":{},"18":{},"20":{},"22":{},"24":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"42":{},"43":{},"44":{},"46":{},"50":{},"51":{},"57":{},"59":{},"61":{},"63":{},"68":{},"69":{},"72":{},"77":{},"79":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"99":{},"102":{},"115":{},"121":{},"128":{},"147":{},"148":{},"189":{},"280":{},"281":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["volatil",{"_index":2517,"title":{},"name":{},"text":{"46":{}},"component":{}}],["volum",{"_index":121,"title":{"3-2":{}},"name":{},"text":{"2":{},"3":{},"140":{},"191":{},"284":{}},"component":{}}],["volumeclaimtempl",{"_index":631,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["volumemount",{"_index":612,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["vote",{"_index":6509,"title":{},"name":{},"text":{"157":{}},"component":{}}],["vpc",{"_index":7215,"title":{},"name":{},"text":{"199":{}},"component":{}}],["vs",{"_index":2513,"title":{"46-13":{},"151-17":{}},"name":{},"text":{},"component":{}}],["w",{"_index":7686,"title":{},"name":{"271":{}},"text":{},"component":{}}],["wacki",{"_index":3726,"title":{},"name":{},"text":{"66":{}},"component":{}}],["wait",{"_index":949,"title":{},"name":{},"text":{"6":{},"16":{},"17":{},"34":{},"38":{},"61":{},"67":{},"88":{},"102":{},"120":{},"121":{},"143":{},"144":{},"145":{},"179":{},"185":{},"202":{},"206":{},"237":{},"261":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["wait_for_ack",{"_index":5559,"title":{},"name":{},"text":{"102":{}},"component":{}}],["waitstrategi",{"_index":2182,"title":{},"name":{},"text":{"38":{}},"component":{}}],["walk",{"_index":7651,"title":{},"name":{},"text":{"265":{},"268":{},"272":{}},"component":{}}],["walkthrough",{"_index":1439,"title":{},"name":{},"text":{"29":{}},"component":{}}],["want",{"_index":355,"title":{},"name":{},"text":{"3":{},"5":{},"14":{},"15":{},"17":{},"21":{},"24":{},"27":{},"31":{},"33":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"51":{},"52":{},"57":{},"58":{},"59":{},"63":{},"64":{},"66":{},"69":{},"72":{},"76":{},"77":{},"80":{},"86":{},"87":{},"88":{},"96":{},"97":{},"110":{},"115":{},"121":{},"127":{},"145":{},"148":{},"149":{},"150":{},"151":{},"153":{},"156":{},"157":{},"168":{},"170":{},"174":{},"178":{},"184":{},"189":{},"191":{},"192":{},"195":{},"199":{},"226":{},"228":{},"234":{},"239":{},"242":{},"245":{},"246":{},"249":{},"250":{},"257":{},"260":{},"262":{},"264":{},"267":{},"270":{},"271":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["warn",{"_index":2015,"title":{},"name":{},"text":{"36":{},"54":{},"59":{},"66":{},"67":{},"75":{},"82":{},"88":{},"140":{},"141":{},"179":{},"185":{},"244":{},"273":{}},"component":{}}],["warrant",{"_index":2989,"title":{},"name":{},"text":{"58":{}},"component":{}}],["wasn’t",{"_index":4366,"title":{},"name":{},"text":{"67":{}},"component":{}}],["wast",{"_index":4456,"title":{},"name":{},"text":{"69":{},"88":{}},"component":{}}],["wavefront",{"_index":5988,"title":{},"name":{},"text":{"133":{}},"component":{}}],["way",{"_index":514,"title":{"145-20":{}},"name":{},"text":{"3":{},"5":{},"15":{},"17":{},"20":{},"29":{},"30":{},"31":{},"33":{},"37":{},"38":{},"39":{},"40":{},"43":{},"46":{},"53":{},"56":{},"58":{},"59":{},"61":{},"64":{},"66":{},"68":{},"69":{},"72":{},"74":{},"76":{},"77":{},"86":{},"88":{},"100":{},"108":{},"111":{},"114":{},"121":{},"127":{},"129":{},"144":{},"145":{},"151":{},"154":{},"156":{},"165":{},"179":{},"191":{},"192":{},"199":{},"200":{},"202":{},"204":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"226":{},"247":{},"261":{},"262":{},"264":{},"268":{},"269":{},"270":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["we'd",{"_index":1621,"title":{},"name":{},"text":{"31":{}},"component":{}}],["weakreferencecach",{"_index":4778,"title":{},"name":{},"text":{"77":{}},"component":{}}],["web",{"_index":834,"title":{},"name":{},"text":{"5":{},"38":{},"133":{},"179":{},"203":{},"211":{},"212":{},"214":{}},"component":{}}],["webflux",{"_index":5803,"title":{},"name":{},"text":{"121":{}},"component":{}}],["webserv",{"_index":3280,"title":{},"name":{},"text":{"66":{}},"component":{}}],["websit",{"_index":887,"title":{},"name":{},"text":{"6":{},"30":{},"31":{},"46":{}},"component":{}}],["websocket",{"_index":6831,"title":{},"name":{},"text":{"179":{},"206":{}},"component":{}}],["week",{"_index":830,"title":{},"name":{},"text":{"5":{},"40":{},"69":{},"198":{}},"component":{}}],["week(timestamp",{"_index":7194,"title":{},"name":{},"text":{"195":{}},"component":{}}],["weight",{"_index":7452,"title":{},"name":{},"text":{"211":{}},"component":{}}],["weird",{"_index":3942,"title":{},"name":{},"text":{"67":{}},"component":{}}],["welcom",{"_index":7245,"title":{},"name":{},"text":{"200":{},"207":{},"287":{}},"component":{}}],["well",{"_index":68,"title":{},"name":{},"text":{"2":{},"3":{},"27":{},"29":{},"31":{},"32":{},"35":{},"38":{},"40":{},"41":{},"42":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"57":{},"58":{},"59":{},"61":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"81":{},"88":{},"89":{},"107":{},"140":{},"145":{},"147":{},"151":{},"155":{},"157":{},"172":{},"174":{},"176":{},"185":{},"191":{},"192":{},"229":{},"244":{},"245":{},"249":{},"259":{},"260":{},"261":{},"278":{},"286":{}},"component":{}}],["went",{"_index":2876,"title":{},"name":{},"text":{"53":{}},"component":{}}],["weren’t",{"_index":4283,"title":{},"name":{},"text":{"67":{}},"component":{}}],["we’d",{"_index":3298,"title":{},"name":{},"text":{"66":{},"67":{},"119":{},"126":{}},"component":{}}],["we’ll",{"_index":564,"title":{},"name":{},"text":{"3":{},"44":{},"63":{},"191":{}},"component":{}}],["we’r",{"_index":1639,"title":{},"name":{},"text":{"31":{}},"component":{}}],["we’v",{"_index":213,"title":{},"name":{},"text":{"3":{},"66":{},"86":{},"138":{},"140":{},"191":{},"192":{},"235":{}},"component":{}}],["whatev",{"_index":2845,"title":{},"name":{},"text":{"53":{},"67":{},"77":{}},"component":{}}],["what’",{"_index":719,"title":{"5-1":{}},"name":{},"text":{"6":{},"17":{},"44":{},"46":{},"88":{}},"component":{}}],["when(new",{"_index":4538,"title":{},"name":{},"text":{"72":{},"285":{}},"component":{}}],["when(object",{"_index":4579,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whenconstruct",{"_index":3431,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["whenconstructing(cal",{"_index":4585,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whenev",{"_index":2621,"title":{},"name":{},"text":{"46":{},"59":{},"66":{},"67":{},"72":{},"79":{},"87":{},"88":{},"89":{},"145":{},"254":{},"280":{},"283":{}},"component":{}}],["wheninvok",{"_index":3432,"title":{},"name":{},"text":{"66":{}},"component":{}}],["wheninvoking(str",{"_index":4586,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeadvancesto",{"_index":4584,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeadvancesto(inst",{"_index":4583,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeadvanceto",{"_index":4691,"title":{},"name":{},"text":{"74":{}},"component":{}}],["whentimeelaps",{"_index":4582,"title":{},"name":{},"text":{"72":{},"74":{}},"component":{}}],["whentimeelapses(dur",{"_index":4581,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeelapses(duration.ofdays(31",{"_index":4676,"title":{},"name":{},"text":{"74":{}},"component":{}}],["whentimeelapses(duration.ofdays(31l",{"_index":1204,"title":{},"name":{},"text":{"18":{},"22":{}},"component":{}}],["wherea",{"_index":2334,"title":{},"name":{},"text":{"40":{},"46":{},"66":{},"67":{},"87":{},"88":{},"99":{},"127":{},"151":{}},"component":{}}],["wherebi",{"_index":8074,"title":{},"name":{},"text":{"290":{}},"component":{}}],["wherein",{"_index":5229,"title":{},"name":{},"text":{"88":{}},"component":{}}],["whether",{"_index":1285,"title":{},"name":{},"text":{"23":{},"32":{},"34":{},"35":{},"38":{},"44":{},"46":{},"49":{},"52":{},"54":{},"58":{},"59":{},"60":{},"61":{},"63":{},"67":{},"72":{},"77":{},"82":{},"83":{},"84":{},"85":{},"86":{},"88":{},"102":{},"127":{},"128":{},"145":{},"176":{},"179":{},"189":{},"206":{},"211":{},"212":{},"214":{},"237":{},"246":{},"249":{},"260":{},"267":{},"274":{},"276":{},"277":{},"280":{}},"component":{}}],["whilst",{"_index":1879,"title":{},"name":{},"text":{"34":{},"35":{},"51":{},"67":{},"82":{},"221":{},"226":{}},"component":{}}],["whole",{"_index":1173,"title":{},"name":{},"text":{"17":{},"151":{},"195":{},"260":{},"264":{}},"component":{}}],["whose",{"_index":1503,"title":{},"name":{},"text":{"30":{},"40":{},"57":{},"87":{},"99":{},"274":{},"280":{},"281":{},"285":{}},"component":{}}],["wide",{"_index":4549,"title":{"262-3":{}},"name":{},"text":{"72":{},"79":{},"86":{},"140":{},"239":{},"242":{},"262":{}},"component":{}}],["width",{"_index":4011,"title":{},"name":{},"text":{"67":{}},"component":{}}],["wildcard",{"_index":3254,"title":{},"name":{},"text":{"64":{},"67":{}},"component":{}}],["win",{"_index":1636,"title":{},"name":{},"text":{"31":{},"32":{},"157":{},"221":{}},"component":{}}],["window",{"_index":4328,"title":{"274-12":{}},"name":{},"text":{"67":{},"138":{},"143":{},"172":{},"179":{},"201":{},"202":{},"208":{},"274":{}},"component":{}}],["wipe",{"_index":7541,"title":{},"name":{},"text":{"226":{}},"component":{}}],["wire",{"_index":1770,"title":{},"name":{},"text":{"32":{},"38":{},"51":{},"52":{},"66":{},"69":{},"87":{},"88":{},"94":{},"97":{}},"component":{}}],["wise",{"_index":1433,"title":{},"name":{},"text":{"29":{},"87":{},"132":{}},"component":{}}],["wisest",{"_index":1658,"title":{},"name":{},"text":{"31":{}},"component":{}}],["wish",{"_index":1725,"title":{},"name":{},"text":{"32":{},"39":{},"46":{},"72":{},"90":{},"115":{},"116":{},"117":{},"140":{},"169":{},"173":{}},"component":{}}],["within",{"_index":98,"title":{"5-4":{},"5-5":{},"87-3":{}},"name":{},"text":{"2":{},"5":{},"6":{},"25":{},"28":{},"30":{},"31":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"102":{},"105":{},"115":{},"121":{},"127":{},"140":{},"142":{},"143":{},"146":{},"147":{},"151":{},"153":{},"154":{},"156":{},"157":{},"161":{},"162":{},"169":{},"172":{},"176":{},"178":{},"179":{},"185":{},"192":{},"200":{},"209":{},"230":{},"234":{},"239":{},"244":{},"250":{},"255":{},"270":{},"274":{},"277":{},"279":{},"281":{}},"component":{}}],["withmetadata",{"_index":2641,"title":{},"name":{},"text":{"47":{}},"component":{}}],["withmetadata(singletonmap(\"mykey",{"_index":2638,"title":{},"name":{},"text":{"47":{}},"component":{}}],["without",{"_index":114,"title":{"57-5":{},"57-7":{},"59-28":{},"59-39":{},"59-42":{},"59-45":{},"169-4":{}},"name":{},"text":{"2":{},"3":{},"6":{},"30":{},"31":{},"35":{},"38":{},"39":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"82":{},"87":{},"88":{},"104":{},"108":{},"116":{},"121":{},"140":{},"142":{},"144":{},"145":{},"147":{},"151":{},"154":{},"156":{},"167":{},"169":{},"172":{},"174":{},"176":{},"178":{},"191":{},"192":{},"199":{},"203":{},"206":{},"211":{},"215":{},"221":{},"239":{},"242":{},"249":{},"250":{},"259":{},"261":{},"270":{},"275":{},"278":{},"281":{},"283":{},"284":{}},"component":{}}],["withsubtypes(subtyp",{"_index":4901,"title":{},"name":{},"text":{"81":{}},"component":{}}],["won’t",{"_index":2529,"title":{},"name":{},"text":{"46":{},"79":{},"83":{},"88":{},"101":{},"170":{},"215":{},"285":{}},"component":{}}],["word",{"_index":1681,"title":{},"name":{},"text":{"31":{},"43":{},"44":{},"46":{},"67":{},"85":{},"145":{}},"component":{}}],["work",{"_index":37,"title":{"53":{},"2-3":{},"202-6":{},"202-10":{},"202-14":{},"262-1":{}},"name":{"53":{}},"text":{"2":{},"3":{},"4":{},"5":{},"12":{},"21":{},"26":{},"31":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"47":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"87":{},"88":{},"94":{},"99":{},"102":{},"107":{},"115":{},"117":{},"119":{},"120":{},"124":{},"126":{},"140":{},"141":{},"144":{},"145":{},"151":{},"167":{},"169":{},"170":{},"172":{},"179":{},"180":{},"191":{},"200":{},"204":{},"208":{},"211":{},"220":{},"221":{},"261":{},"262":{},"264":{},"266":{},"267":{},"268":{},"269":{},"274":{},"277":{},"278":{},"280":{},"281":{},"285":{}},"component":{}}],["workaround",{"_index":1405,"title":{"29":{}},"name":{"29":{}},"text":{"29":{},"67":{}},"component":{}}],["workdir",{"_index":350,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["worker",{"_index":4016,"title":{},"name":{},"text":{"67":{},"88":{},"280":{}},"component":{}}],["workerexecutor(workerexecutorbuild",{"_index":5273,"title":{},"name":{},"text":{"88":{}},"component":{}}],["workerexecutorbuild",{"_index":5269,"title":{},"name":{},"text":{"88":{}},"component":{}}],["workerlaunch",{"_index":4279,"title":{},"name":{},"text":{"67":{}},"component":{}}],["workflow",{"_index":3643,"title":{},"name":{},"text":{"66":{}},"component":{}}],["worklaunch",{"_index":4181,"title":{},"name":{},"text":{"67":{}},"component":{}}],["workload",{"_index":5497,"title":{},"name":{},"text":{"99":{},"264":{},"276":{}},"component":{}}],["workpackag",{"_index":5265,"title":{},"name":{},"text":{"88":{}},"component":{}}],["workspac",{"_index":738,"title":{"254":{},"5-11":{},"237-2":{},"254-2":{},"276-1":{}},"name":{},"text":{"5":{},"231":{},"232":{},"237":{},"238":{},"239":{},"241":{},"247":{},"250":{},"254":{},"255":{},"262":{},"276":{},"277":{}},"component":{}}],["workspace’",{"_index":7605,"title":{},"name":{},"text":{"254":{},"276":{}},"component":{}}],["work’",{"_index":2853,"title":{},"name":{},"text":{"53":{}},"component":{}}],["world",{"_index":7562,"title":{},"name":{},"text":{"234":{},"281":{}},"component":{}}],["worri",{"_index":1782,"title":{},"name":{},"text":{"33":{},"145":{},"241":{},"264":{},"269":{},"274":{}},"component":{}}],["worth",{"_index":4223,"title":{},"name":{},"text":{"67":{},"84":{},"285":{}},"component":{}}],["worthi",{"_index":1936,"title":{},"name":{},"text":{"35":{},"40":{}},"component":{}}],["wrap",{"_index":1305,"title":{},"name":{},"text":{"24":{},"34":{},"38":{},"42":{},"48":{},"49":{},"63":{},"67":{},"69":{},"71":{},"72":{},"77":{},"114":{},"115":{}},"component":{}}],["wraphandl",{"_index":1316,"title":{},"name":{},"text":{"24":{}},"component":{}}],["wraphandler(messagehandlingmemb",{"_index":1326,"title":{},"name":{},"text":{"24":{}},"component":{}}],["wrappedmessagehandlingmemb",{"_index":1333,"title":{},"name":{},"text":{"24":{}},"component":{}}],["wrapper",{"_index":1537,"title":{},"name":{},"text":{"30":{},"36":{},"46":{},"66":{},"121":{}},"component":{}}],["writabl",{"_index":256,"title":{},"name":{},"text":{"3":{},"179":{},"191":{}},"component":{}}],["write",{"_index":264,"title":{"44-3":{},"64-1":{}},"name":{},"text":{"3":{},"21":{},"27":{},"31":{},"44":{},"46":{},"64":{},"66":{},"69":{},"71":{},"74":{},"77":{},"120":{},"141":{},"142":{},"143":{},"151":{},"154":{},"169":{},"171":{},"177":{},"179":{},"191":{},"199":{},"204":{},"261":{},"281":{},"283":{},"285":{}},"component":{}}],["writeabl",{"_index":6956,"title":{},"name":{},"text":{"179":{}},"component":{}}],["writer",{"_index":6954,"title":{},"name":{},"text":{"179":{}},"component":{}}],["written",{"_index":273,"title":{},"name":{},"text":{"3":{},"8":{},"13":{},"44":{},"66":{},"88":{},"89":{},"106":{},"107":{},"142":{},"143":{},"145":{},"179":{},"191":{},"200":{}},"component":{}}],["wrong",{"_index":1168,"title":{},"name":{},"text":{"17":{},"53":{},"55":{},"66":{},"67":{},"144":{},"249":{},"259":{},"260":{},"262":{}},"component":{}}],["wrongfulli",{"_index":4299,"title":{},"name":{},"text":{"67":{}},"component":{}}],["wrote",{"_index":4379,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ws",{"_index":7433,"title":{},"name":{},"text":{"206":{}},"component":{}}],["wtrzas2",{"_index":3916,"title":{},"name":{},"text":{"67":{}},"component":{}}],["x",{"_index":1699,"title":{},"name":{},"text":{"31":{},"39":{},"44":{},"83":{},"141":{},"198":{},"204":{},"215":{},"280":{},"283":{}},"component":{}}],["xml",{"_index":1566,"title":{},"name":{},"text":{"31":{},"46":{},"89":{},"184":{},"195":{},"203":{},"216":{},"219":{}},"component":{}}],["xml’",{"_index":1612,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xom",{"_index":1709,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xpath",{"_index":5403,"title":{},"name":{},"text":{"89":{},"195":{}},"component":{}}],["xpath(data",{"_index":7182,"title":{},"name":{},"text":{"195":{}},"component":{}}],["xpath(payloaddata",{"_index":7197,"title":{},"name":{},"text":{"195":{}},"component":{}}],["xref",{"_index":3296,"title":{},"name":{},"text":{"66":{},"179":{}},"component":{}}],["xref:../deadlines/deadlin",{"_index":4650,"title":{},"name":{},"text":{"72":{}},"component":{}}],["xref:axon",{"_index":7706,"title":{},"name":{},"text":{"274":{}},"component":{}}],["xref:monitoring/index.adoc",{"_index":7664,"title":{},"name":{},"text":{"267":{}},"component":{}}],["xstream",{"_index":1565,"title":{},"name":{},"text":{"31":{},"44":{},"46":{},"66":{},"67":{}},"component":{}}],["xstream(xstream",{"_index":1620,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xstreamseri",{"_index":1557,"title":{"31-7":{},"31-11":{}},"name":{},"text":{"31":{},"46":{},"66":{},"67":{},"69":{},"71":{},"77":{},"104":{},"161":{}},"component":{}}],["xstreamserializer#defaultseri",{"_index":4137,"title":{},"name":{},"text":{"67":{}},"component":{}}],["xstreamserializer.build",{"_index":1619,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xstreamserializer.builder().build",{"_index":5441,"title":{},"name":{},"text":{"94":{}},"component":{}}],["xstreamserializer’",{"_index":2614,"title":{},"name":{},"text":{"46":{}},"component":{}}],["xstream’",{"_index":1604,"title":{},"name":{},"text":{"31":{},"67":{}},"component":{}}],["xyz",{"_index":1412,"title":{},"name":{},"text":{"29":{}},"component":{}}],["y",{"_index":1700,"title":{},"name":{},"text":{"31":{},"199":{}},"component":{}}],["yaml",{"_index":1556,"title":{"31-5":{}},"name":{},"text":{"148":{},"154":{},"177":{},"188":{},"284":{}},"component":{}}],["ye",{"_index":118,"title":{},"name":{},"text":{"2":{},"5":{},"35":{},"52":{},"59":{},"262":{}},"component":{}}],["year",{"_index":537,"title":{},"name":{},"text":{"3":{},"138":{},"140":{},"191":{},"198":{}},"component":{}}],["year(timestamp",{"_index":7196,"title":{},"name":{},"text":{"195":{}},"component":{}}],["yellow",{"_index":785,"title":{},"name":{},"text":{"5":{},"289":{}},"component":{}}],["yield",{"_index":1703,"title":{},"name":{},"text":{"31":{},"286":{},"289":{}},"component":{}}],["yieldingwaitstrategi",{"_index":2188,"title":{},"name":{},"text":{"38":{}},"component":{}}],["you'r",{"_index":4766,"title":{},"name":{},"text":{"77":{}},"component":{}}],["your_instance_nam",{"_index":7234,"title":{},"name":{},"text":{"199":{}},"component":{}}],["yourroutingstrategi",{"_index":2249,"title":{},"name":{},"text":{"38":{}},"component":{}}],["yourself",{"_index":704,"title":{},"name":{},"text":{"4":{},"5":{},"31":{},"53":{},"59":{},"77":{},"88":{},"105":{},"144":{},"167":{},"178":{},"237":{},"260":{}},"component":{}}],["you’d",{"_index":2530,"title":{},"name":{},"text":{"46":{}},"component":{}}],["you’ll",{"_index":768,"title":{},"name":{},"text":{"5":{},"24":{},"166":{},"168":{},"172":{},"174":{},"200":{},"202":{},"203":{},"235":{}},"component":{}}],["you’r",{"_index":65,"title":{},"name":{},"text":{"2":{},"5":{},"30":{},"31":{},"46":{},"67":{},"84":{},"151":{},"201":{},"203":{}},"component":{}}],["you’v",{"_index":7265,"title":{},"name":{},"text":{"201":{},"203":{}},"component":{}}],["yvonneceeli",{"_index":3727,"title":{},"name":{},"text":{"66":{}},"component":{}}],["yyyi",{"_index":7016,"title":{},"name":{},"text":{"184":{}},"component":{}}],["z][a",{"_index":6358,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["z_",{"_index":6359,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["za",{"_index":6357,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["zero",{"_index":61,"title":{},"name":{},"text":{"2":{},"23":{},"33":{},"44":{},"55":{},"67":{},"87":{},"138":{},"151":{},"185":{},"199":{},"206":{},"219":{},"227":{},"236":{}},"component":{}}],["zip",{"_index":6110,"title":{},"name":{},"text":{"142":{},"170":{},"172":{},"187":{},"192":{},"201":{},"208":{}},"component":{}}],["zone",{"_index":6099,"title":{},"name":{},"text":{"142":{},"199":{}},"component":{}}],["zone=your_zon",{"_index":7235,"title":{},"name":{},"text":{"199":{}},"component":{}}],["zoom",{"_index":7738,"title":{},"name":{},"text":{"274":{}},"component":{}}],["zpage",{"_index":7134,"title":{},"name":{},"text":{"188":{}},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"Extensions may have different licenses than the core framework. While some extensions are maintained and released by AxonIQ, some may be provided by a third party. AxonIQ cannot guarantee compatibility for extensions with each individual Axon Framework release. JGroups Extension Reference JobRunr Pro Extension Reference Kafka Extension Reference Kotlin Extension Reference MongoDB Extension Reference Multitenancy Extension Reference Reactor Extension Reference Spring AMQP Reference Spring AOT Extension Guide Spring Cloud Extension Guide Tracing Extension Guide","title":"Axon Framework Extensions","component":"axon-framework-extensions","version":"","name":"index","url":"/axon-framework-extensions/","titles":[{"text":"Extensions","id":1}]},"2":{"id":2,"text":"Answer: Axon Server is a zero-configuration message router and event store. If you’re a Java developer, it works well with Axon Framework-based applications. However, if you’re using Python, Node.js, C# (or any other major programming language), it provides out-of-the-box message routing and event storage. Answer: Here’s a short list of features of the Axon Server: Out of the box, zero configuration Message Routing Event sourcing capabilities with an infinitely scalable Event Store Real-time observability and insights into the messages exchanged between your applications Role-based Access Control for both users and applications Easy to scale-out and configure within a clustered environment Answer: Unlike other messaging solutions like Apache Kafka, which only natively provides message routing, Axon Server works as both a message router and an Event Store. As a dedicated Event Store, Axon Server is designed to store events to enable your microservices applications to be event-sourced. This ensures that events are stored durably and indefinitely and provides superior scalability and throughput without complex database tuning. Answer: Yes, Axon Server is built to handle large-scale event storage needs with its infinitely scalable event store, which can manage large volumes of events without performance degradation. Answer: Axon Server includes robust security features such as authentication, authorization, and the ability to integrate with external security providers like LDAP and OAuth for enhanced security measures. Answer: Back in 2023, we decided to phase out the Standard edition and replaced it with a single Axon Server JAR. This enabled our customers to easily upgrade to \"Enterprise Features\" without installing a different artifact. Now, starting in 2024, we have launched new features and capabilities for the Axon Server. In order to make Axon Server to seamlessly grow according to the needs of our customers, we now have for simple plans: Developer plan (formerly called the “Axon Server Standard Edition”) Starter plan (adds the capability for Clustering) Pro plan (adds the capability for Multi-context and additional authentication features ) Enterprise plan We love our active developer community. So developers can feel comfortable that our Axon Server Developer plan is and will always remain free. Answer: Although the Open Source version of Axon Server is still available, it has been deprecated and is no longer maintained. We encourage our Open Source users to get started with the Developer plan in order to get the latest updates and to have compatibility with future versions of Axon Framework.","title":"FAQ for Axon Server","component":"as-faq","version":"master","name":"as-faq","url":"/as-faq/as-faq/","titles":[{"text":"Q: So, what exactly is Axon Server?","hash":"_q_so_what_exactly_is_axon_server","id":1},{"text":"Q: What are some of the main features of Axon Server?","hash":"_q_what_are_some_of_the_main_features_of_axon_server","id":2},{"text":"Q: How does Axon Server work as an Event Store?","hash":"_q_how_does_axon_server_work_as_an_event_store","id":3},{"text":"Q: Since RDBMs have problems with scalability, let’s discuss scale. Can Axon Server handle large-scale event storage needs?","hash":"_q_since_rdbms_have_problems_with_scalability_lets_discuss_scale_can_axon_server_handle_large_scale_event_storage_needs","id":4},{"text":"Q: What security features does Axon Server offer?","hash":"_q_what_security_features_does_axon_server_offer","id":5},{"text":"Q: What happened to the Standard and Enterprise editions of Axon Server?","hash":"_q_what_happened_to_the_standard_and_enterprise_editions_of_axon_server","id":6},{"text":"Q: What happened to the Open Source version of Axon Server?","hash":"_q_what_happened_to_the_open_source_version_of_axon_server","id":7}]},"3":{"id":3,"text":"This section is split into 4 sub-sections. The Axon Server Docker Image Construction of the Axon Server Docker Image Deployment using Docker Compose Deployment using Kubernetes Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust. AxonIQ provides ready to use Axon Server images. There are two types of images available: one with Axon Server running as the user “root” and one with Axon Server running as user “axonserver”. Both images are based on Eclipse Temurin, which means they include a (limited) shell that allows you to connect \"into\" the running image and perform some commands. The “root” image of version 2023.1 is available as “axoniq/axonserver:2023.1” and is based on “eclipse-temurin:11-focal”. This image is particularly useful for running in Docker Desktop, as it will not have any trouble creating files and directories as user “root”. The axonserver image of version 2023.1 is available as “axoniq/axonserver:2023.1-nonroot” and is based on the same Eclipse Temurin image. This image is more secure and useful in Kubernetes and OpenShift clusters. You should take care to declare the user- and group-id, both of which are 1001 and are named “axonserver”. Doing this will ensure that any mounted volumes will be writable by the user running Axon Server. The images export the following volumes: This is where you can add configuration files, such as an additional axonserver.properties and the license file. However, you can also opt to use, for instance, Kubernetes, or Docker-compose secrets. Note that Axon Server EE assumes it can write to the directory configured with “axoniq.axonserver.enterprise.licenseDirectory”, so you don’t have to put the license on all nodes. This is where the ControlDB, the PID file, and a copy of the application logs are written to. In this volume the Event Store is created, with a single directory per context. In this volume the Replication Logs are created, with a single directory per Replication Group. In this volume you can place Extension JAR-files, such as the LDAP and OAuth2 extensions. In this volume Axon Server will place all uploaded plugins. Using the axoniq/axonserver:latest image Up to release 2023.2.0 the default Axon Server image (axoniq/axonserver:latest) was using Axon Server Standard Edition version 4.6.11. There is a difference in the directory structure between version 4.6.11 and the current version. One change is that the working directory has changed from / to /axonserver. All files and directories created by Axon Server are stored in this directory (or subdirectories). The following locations have new default values: Property Axon Server SE 4.6.11 Axon Server 2023.2 axoniq.axonserver.event.storage /eventdata /axonserver/events axoniq.axonserver.snapshot.storage /eventdata /axonserver/events axoniq.axonserver.controldb-path /data /axonserver/data axoniq.axonserver.plugin-package-directory /data/plugins/bundles /axonserver/plugins/bundles axoniq.axonserver.plugin-cache-directory /data/plugins/cache /axonserver/plugins/cache logging.file /data/axonserver.log /axonserver/data/axonserver.log As these locations have changed you need to update the volume mappings that you use in the container. The mapping for /eventdata must be changed to /axonserver/events, and the mapping for /data must be changed to /axonserver/data. A starter Dockerfile is included below which can be tailored as per your requirements. The starter file helps create the image in multiple stages, The image will be based on a compact image from Google’s distroless base images at the gcr.io repository, in this case gcr.io/distroless/java:11. The first stage creates the directories that will become our volumes. This step cannot be performed in the Distroless image, because that image does not provide a shell. The second stage begins by copying the home directory with its volume mount points, carefully keeping ownership set to the new user. The last steps copy the executable jar named axonserver.jar and a common set of properties. It marks the volume mounting points and exposed ports and finally specifies the command to start Axon Server EE. FROM busybox as source RUN mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts FROM gcr.io/distroless/java:11 COPY --from=source /axonserver /axonserver COPY axonserver.jar axonserver.properties /axonserver/ WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] If you want to build a \"nonroot\" version, you need to adjust this as follows: FROM busybox as source RUN addgroup -S -g 1001 axonserver \\ && adduser -S -u 1001 -G axonserver -h /axonserver -D axonserver \\ && mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts \\ && chown -R axonserver:axonserver /axonserver FROM gcr.io/distroless/java:11 COPY --from=source /etc/passwd /etc/group /etc/ COPY --from=source --chown=axonserver /axonserver /axonserver COPY --chown=axonserver axonserver.jar axonserver.properties /axonserver/ USER axonserver WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] As you can see this will start by creating the user “axonserver” belonging to a group with the same name. When copying the directory, we now have to ensure that ownership transfers correctly and specify the user to run as, but otherwise it looks pretty similar. For the common properties (axonserver.properties), the minimum set can be added to ensure that the volumes get mounted and logs generated. Again these can be tailored as per the deployment requirements. axoniq.axonserver.event.storage=./events axoniq.axonserver.snapshot.storage=./events axoniq.axonserver.replication.log-storage-folder=./log axoniq.axonserver.enterprise.licenseDirectory=./config #axoniq.axonserver.accesscontrol.systemtokenfile=./config/axonserver.token axoniq.axonserver.controldb-path=./data axoniq.axonserver.pid-file-location=./data logging.file=./data/axonserver.log logging.file.max-history=10 logging.file.max-size=10MB Place the Dockerfile, the Axon Server jar file (axonserver.jar), the Axon Server client jar file (axonserver-cli.jar) and the axonserver.properties in the current directory. Assuming we are building version 2023.1.1, the image can be constructed using the following command: $ docker build --tag my-repository/axonserver:2023.1.1. This completes the construction of the Docker image. The image can pushed to your local repository or you could keep it local if you only want to run it on your development machine. The next step is to run it either using Docker Compose or Kubernetes. For instance, if you want to run the docker image for a standalone instance of Axon Server and have it initialized automatically, start with the axoniq.axonserver.standalone property set through the environment. $ docker run -dit -e axoniq.axonserver.standalone=true -p 8024:8024 -p 8124:8124 my-repository/axonserver:2023.1.1 Axon Server is meant to be run in a distributed manner, as a cluster where there will be multiple instances of Axon Server nodes running all interconnected to each other. The installation process assumes that Docker Compose will be used to run a 3-node Axon Server cluster, that is running 3 services of the same container image we built above. Let us designate these services as \"axonserver-1\", \"axonserver-2\" and \"axonserver-3\". We will also give a tag to the image that we constructed above as my-repository/axonserver:2023.1. Each container instance will use separate volumes for data, events, and log. An environment variable is added to tell Axon Server about the location of the license file. We will use \"secrets\" to inject the license file, tokens as well as the cluster/context definitions using the autocluster mechanism. The complete docker-compose file is depicted below. version: '3.3' services: axonserver-1: image: my-repository/axonserver:2023.1 hostname: axonserver-1 volumes: - axonserver-data1:/axonserver/data - axonserver-events1:/axonserver/events - axonserver-log1:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8024:8024' - '8124:8124' - '8224:8224' networks: - axon-demo axonserver-2: image: my-repository/axonserver:2023.1 hostname: axonserver-2 volumes: - axonserver-data2:/axonserver/data - axonserver-events2:/axonserver/events - axonserver-log2:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8025:8024' - '8125:8124' - '8225:8224' networks: - axon-demo axonserver-3: image: my-repository/axonserver:2023.1 hostname: axonserver-3 volumes: - axonserver-data3:/axonserver/data - axonserver-events3:/axonserver/events - axonserver-log3:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8026:8024' - '8126:8124' - '8226:8224' networks: - axon-demo volumes: axonserver-data1: driver: local driver_opts: type: none device: ${PWD}/data1 o: bind axonserver-events1: driver: local driver_opts: type: none device: ${PWD}/events1 o: bind axonserver-log1: driver: local driver_opts: type: none device: ${PWD}/log1 o: bind axonserver-data2: driver: local driver_opts: type: none device: ${PWD}/data2 o: bind axonserver-events2: driver: local driver_opts: type: none device: ${PWD}/events2 o: bind axonserver-log2: driver: local driver_opts: type: none device: ${PWD}/log2 o: bind axonserver-data3: driver: local driver_opts: type: none device: ${PWD}/data3 o: bind axonserver-events3: driver: local driver_opts: type: none device: ${PWD}/events3 o: bind axonserver-log3: driver: local driver_opts: type: none device: ${PWD}/log3 o: bind networks: axon-demo: secrets: axonserver-properties: file: ./axonserver.properties axoniq-license: file: ./axoniq.license axonserver-token: file: ./axonserver.token The axonserver-token secret is used to allow the CLI to talk with nodes. The access control section details the generation of these tokens. A similar approach can be used to configure more secrets for the certificates, and so enable SSL. The axonserver.properties properties file referred to in the secrets’ definition section is shown below. axoniq.axonserver.autocluster.first=axonserver-1 axoniq.axonserver.autocluster.contexts=_admin,default # We highly recommend protecting your installations at all time, hence why access control is enabled here. # For quick testing, you can disable this, but be sure to switch it big with high priority. axoniq.axonserver.accesscontrol.enabled=true axoniq.axonserver.accesscontrol.internal-token=${generated_token} axoniq.axonserver.accesscontrol.systemtokenfile=/axonserver/config/axonserver.tok Starting Axon Server using the docker-compose command is depicted below. $ docker-compose up For example purposes only The examples below show only one of the ways you can deploy Axon Server to Kubernetes. As discussed in this Blog article, there are many aspects for which you would need to carefully plan ahead. A complete set of examples can be found in the Running Axon Server GitHub repository. We especially recommend using the \"Singleton StatefulSet\" approach. Although the complexity of deploying any application to Kubernetes can be overwhelming, we strongly recommend you to study this subject carefully. The examples we provide are not necessarily the best approach for your particular situation, so be careful about copying them without any further modifications. Note that these examples generate self-signed certificates that have a one-year validity. An important thing to consider is the use of a \"nonroot\" image. This is due to the fact that volumes are mounted as owned by the mount location’s owner in Docker, while Kubernetes uses a special security context, defaulting to root. Since a \"nonroot\" image runs Axon Server under its own user, it has no rights on the mounted volume other than read. The context can be specified, but only through the user or group’s ID, and not using their name as we did in the image, because that name does not exist in the k8s management context. So we have to adjust the first stage to specify a specific numeric value (here we have given 1001) , and then use that value in the security context of the Stateful set which we shall see below. We would need to supply a licence/token file (for client applications) and cluster/context definitions via an axonserver.properties file. Unlike Docker Compose, Kubernetes mounts Secrets and ConfigMaps as directories rather than files, so we need to split license and configuration to two separate locations. For the license secret we can use a new location /axonserver/license/axoniq.license and adjust the environment variable to match. For the system token we’ll use /axonserver/security/token.txt, and for the properties file we’ll use a ConfigMap that we mount on top of the /axonserver/config directory. These can be created using kubectl directly from their respective file as depicted below. It is recommended to create a dedicated namespace before creating the secrets and the config maps. $ kubectl create secret generic axonserver-license --from-file=./axoniq.license -n ${axonserver-ns} secret/axonserver-license created $ kubectl create secret generic axonserver-token --from-file=./axoniq.token -n ${axonserver-ns} secret/axonserver-token created $ kubectl create configmap axonserver-properties --from-file=./axonserver.properties -n ${axonserver-ns} configmap/axonserver-properties created $ In the descriptor we now have to declare the secret, add a volume for it, and mount the secret on the volume. Then a list of volumes has to be added to link the actual license and properties. The complete spec for the Axon Server Stateful set is given below. This includes the security context, the volume mounts, the readiness and liveness probes and finally the volumes. apiVersion: apps/v1 kind: StatefulSet metadata: name: axonserver labels: app: axonserver spec: serviceName: axonserver replicas: 1 selector: matchLabels: app: axonserver template: metadata: labels: app: axonserver spec: securityContext: runAsUser: 1001 fsGroup: 1001 containers: - name: axonserver image: axoniq/axonserver:latest-dev-nonroot imagePullPolicy: IfNotPresent ports: - name: grpc containerPort: 8124 protocol: TCP - name: gui containerPort: 8024 protocol: TCP env: - name: AXONIQ_LICENSE value: /axonserver/license/axoniq.license volumeMounts: - name: data mountPath: /axonserver/data - name: events mountPath: /axonserver/events - name: log mountPath: /axonserver/log - name: config mountPath: /axonserver/config readOnly: true - name: system-token mountPath: /axonserver/security readOnly: true - name: license mountPath: /axonserver/license readOnly: true readinessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 1 failureThreshold: 30 livenessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 volumes: - name: config configMap: name: axonserver-properties - name: system-token secret: secretName: axonserver-token - name: license secret: secretName: axonserver-license volumeClaimTemplates: - metadata: name: events spec: accessModes: [ ReadWriteOnce ] resources: requests: storage: 5Gi - metadata: name: log spec: accessModes: [ ReadWriteOnce ] resources: requests: storage: 1Gi - metadata: name: data spec: accessModes: [ ReadWriteOnce ] resources: requests: storage: 1Gi The StatefulSet can be applied using the following command (assuming that the StatefulSet spec is stored in the file axonserver-sts.yml). $ kubectl apply -f axonserver-sts.yml -n ${axonserver-ns} statefulset.apps/axonserver created The next step would be to create the two services required for Axon Server, that is axonserver-gui on 8024 (HTTP) and axonserver on 8124 (gRPC). --- apiVersion: v1 kind: Service metadata: name: axonserver-gui labels: app: axonserver spec: ports: - name: gui port: 8024 targetPort: 8024 selector: app: axonserver type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: axonserver labels: app: axonserver spec: ports: - name: grpc port: 8124 targetPort: 8124 clusterIP: None selector: app: axonserver --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: axonserver annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent spec: rules: - host: axonserver http: paths: - backend: serviceName: axonserver-gui servicePort: 8024 --- The services use an Ingress to allow incoming traffic and can be deployed with the following command (assuming that the Service specs are stored in the file axonserver-ing.yml). $ kubectl apply -f axonserver-ing.yml -n ${axonserver-ns} service/axonserver-gui created service/axonserver created ingress.networking.k8s.io/axonserver created The final step is to scale out the cluster. The simplest approach, and most often correct one, is to use a scaling factor other than 1, letting Kubernetes take care of deploying several instances. This means we will get several nodes that Kubernetes can dynamically manage and migrate as needed, while at the same time fixing the name and storage. We will get a number suffixed to the name starting at 0, so a scaling factor of 3 gives us axonserver-0 through axonserver-2. $ kubectl scale sts axonserver -n ${axonserver-ns} --replicas=3 statefulset.apps/axonserver scaled This completes a basic setup to help install Axon Server on Kubernetes. The users can choose to tailor the entire setup based on their requirements and usage of Kubernetes.","title":"Installing Axon Server for Docker and Kubernetes","component":"axon-server-installation","version":"master","name":"installing_as_docker-k8s","url":"/axon-server-installation/installing_as_docker-k8s/","titles":[{"text":"Docker image","hash":"docker-image","id":1},{"text":"Exported volumes","hash":"_exported_volumes","id":2},{"text":"/axonserver/config","hash":"_axonserverconfig","id":3},{"text":"/axonserver/data","hash":"_axonserverdata","id":4},{"text":"/axonserver/events","hash":"_axonserverevents","id":5},{"text":"/axonserver/log","hash":"_axonserverlog","id":6},{"text":"/axonserver/exts","hash":"_axonserverexts","id":7},{"text":"/axonserver/plugins","hash":"_axonserverplugins","id":8},{"text":"Building you own image","hash":"build-image","id":9},{"text":"Docker compose","hash":"docker-compose","id":10},{"text":"Kubernetes","hash":"kubernetes","id":11},{"text":"Creating the Secrets and ConfigMap","hash":"_creating_the_secrets_and_configmap","id":12},{"text":"Deploying Axon Server","hash":"_deploying_axon_server","id":13}]},"4":{"id":4,"text":"Axon Server 2024.0.0 uses an updated version of the H2 database to store the Control DB. This is required to solve some issues in the H2 version used in previous Axon Server versions. When you download Axon Server 2024.0, the package contains a new jar file controldb-migration.jar. For Axon Server to upgrade the Control DB, you need to place this jar file in the working directory of Axon Server (usually the same directory as the axonserver.jar file). When you start Axon Server, it invokes the controldb-migration.jar to migrate the Control DB. After the migration, a new DB file is in the same directory as the old Control DB. This new DB is called axonserver-configdb, the filename is axonserver-configdb.mv.db. The docker image axoniq/axonserver already contains the controldb-migration.jar. If you have configured the property spring.datasource.url in axonserver.properties yourself, you must update the database name before starting Axon Server. Change the name from axonserver-controldb to axonserver-configdb. For example: spring.datasource.url=jdbc:h2:./data/axonserver-controldb;DEFRAG_ALWAYS=true Should now look like this: spring.datasource.url=jdbc:h2:./data/axonserver-configdb;DEFRAG_ALWAYS=true The preferred property to define the location of the configuration database is changed to axoniq.axonserver.configdb-path. The property axoniq.axonserver.controldb-path is deprecated, but still works for this version. If you use the OAuth or LDAP extension for Axon Server, replace the jar files in the exts directory with those included in the new extension. The 2024.0.0 release is still compatible with previous releases, so you may do a rolling upgrade. The upgrade should be reasonably straightforward: stop the node replace axon server jar do the steps from above for the Control DB migration and extensions start the node repeat the procedure for every node in the cluster","title":"Upgrading to Axon Server 2024.0.0","component":"axon-server-upgrade","version":"master","name":"upgrading_as_2024","url":"/axon-server-upgrade/upgrading_as_2024/","titles":[{"text":"Datasource override","hash":"_datasource_override","id":1},{"text":"Configuring the database location","hash":"_configuring_the_database_location","id":2},{"text":"Migration of extensions","hash":"_migration_of_extensions","id":3},{"text":"Upgrade instructions","hash":"_upgrade_instructions","id":4}]},"5":{"id":5,"text":"Answer: Yes! AxonIQ Console is free (no credit card required), and you are limited to a maximum of 100 handlers for your environment, however, we also have “Premium” and “Enterprise” plans to easily allow you to support more handlers. See the AxonIQ Console pricing page for more information. Answer: We give developers various options to get started with AxonIQ Console. If you already have a Google or GitHub account, you can single-sign on instantly and start using AxonIQ Console. You can also create a new account with us by clicking the \"Sign in with Password\" option. Sign in to AxonIQ Console now to try it out for yourself. Answer: In order to connect your apps to AxonIQ Console, click on the Applications tab. If you’re using AxonIQ Console for the first time, then no applications will be displayed. However, you will be presented with installation instructions that will allow you to configure your Plain Java projects or Spring Boot applications so that they can be discovered by AxonIQ Console. You can also find instructions on how to install a Demo Application that has everything already configured and will allow you to see activity instantly in AxonIQ Console. After your first application has been configured properly, the Applications tab will display all discovered applications. Feel free to also try out the AxonIQ Console client project on GitHub. Answer: In order to install an instance of Axon Server, simply click on the Axon Server Cluster tab. Here, you will be presented with various options for installing Axon Server, depending on your operating system or environment. Answer: One of the most requested features within AxonIQ Console is the ability to see the flow of messages between applications. After clicking the Message Flow tab, you’ll see a layout graph of your environment’s publishers and consumers (dispatchers and handlers). Each “dot” in the graph represents an application, and the arrow shows the source and destination of the message. The color of the arrow is significant and represents the following: Blue arrow: Command Messages Green arrow: Query Messages Red arrow: Event Messages Yellow arrow: Deadline Messages The arrow’s thickness represents the amount of messages sent to the Handler. Answer: Yes, no problem! Please note that subscriptions are paid ahead monthly. Therefore, if you choose to stop, you still have access to AxonIQ Console until the end of the billing cycle. Answer: Tools such as the ELK Stack and Splunk are great for monitoring the status of your network infrastructure. However, AxonIQ Console was explicitly designed for developers to analyze and manage your Axon Framework applications more intricately. AxonIQ Console also enables developers to view the real-time activity of a cluster of Axon Server nodes within a single interface. Therefore, AxonIQ Console can provide insights into the overall health and status of your applications and services in ways that the ELK Stack or Splunk were not designed for. Answer: The Axon Framework enables developers to create microservice-based applications using the publish and subscribe pattern. We support three Message types so you can build evolutionary applications. For all three types of messages, you can create a Handler within an application to handle a specific message (or a group of messages, if you prefer). So, how does the Handler Usage count work? Each method annotated with a handler annotation counts as a handler. If you have multiple instances of an application, that will be summed. For example, if you have an application with 20 handlers, and run 4 instances, that will count as 80 handlers. When determining the number of handlers you want in your Workspace, it’s important to also account for the extra handlers that will be needed during deployments. You can view an overview of detailed handler usage on the Subscription page. Answer: Your subscription determines how many handlers we accept data from. We check periodically to see if you stay within this amount and block handlers until the amount is within your subscription again. Before we block handlers, there is a grace period to allow for the purchase of extra handlers before we stop showing metrics. grace period of a week. After the grace period, we will only allow the original amount in your subscription. You will be notified via logs in your application, e-mail, and AxonIQ Console Web Interface. Answer: To manage any of your Access Tokens, navigate to Settings → Environment → Access Tokens Answer: Like with your Access Tokens, Workspace management can also be performed within the Setting tab. Navigate to Settings → Workspace → General. Answer: If you have a Premium or Enterprise plan, and you are an Admin or Workspace owner, navigate to Settings → Workspace → Team in order to add a new user. Answer: AxonIQ Console was designed to allow developers to log in anywhere and manage their Axon Framework applications and Axon Server instances. Therefore, as a cloud-based product, your applications will periodically (or upon request) send statistical information to the servers of AxonIQ, such as: Generic event processor information (name, latency, status, position) Generic handler statistics (name, latency, throughput, error rates) Dead Letter Queue Information (name, error info, event payload), which is disabled by default Answer: No. By default, neither your message payloads nor IDs are sent to AxonIQ servers for processing within AxonIQ Console. If you decide to enable the Dead Letter Queue functionality, then your DLQ IDs and event payload are retrieved and presented to you in the user interface. This allows you to determine if the dead letter should be deleted or retried. Answer: AxonIQ and AxonIQ Console fully comply with the GDPR and California Consumer Privacy Act (CCPA). Please check our legal documentation for the measures we implement to protect your data.","title":"FAQ for AxonIQ Console","component":"axoniq-console-faq","version":"master","name":"console_faq","url":"/axoniq-console-faq/console_faq/","titles":[{"text":"Q: What’s the cost of AxonIQ Console, and is there a free option?","hash":"_q_whats_the_cost_of_axoniq_console_and_is_there_a_free_option","id":1},{"text":"Q: How can I create an account to get started?","hash":"_q_how_can_i_create_an_account_to_get_started","id":2},{"text":"Q: How do I connect my Applications to AxonIQ Console?","hash":"_q_how_do_i_connect_my_applications_to_axoniq_console","id":3},{"text":"Q: How do I set up Axon Server Nodes within AxonIQ Console?","hash":"_q_how_do_i_set_up_axon_server_nodes_within_axoniq_console","id":4},{"text":"Q: How can I see the flow of messages for my applications within AxonIQ Console?","hash":"_q_how_can_i_see_the_flow_of_messages_for_my_applications_within_axoniq_console","id":5},{"text":"Q: I am paying with my credit card monthly. Can I stop my monthly subscription at any time?","hash":"_q_i_am_paying_with_my_credit_card_monthly_can_i_stop_my_monthly_subscription_at_any_time","id":6},{"text":"Q: We are already using monitoring tooling such as ELK or Splunk. What is the added value of using another tool, AxonIQ Console?","hash":"_q_we_are_already_using_monitoring_tooling_such_as_elk_or_splunk_what_is_the_added_value_of_using_another_tool_axoniq_console","id":7},{"text":"Q: What is a Handler, and what does “Handler Usage” mean?","hash":"_q_what_is_a_handler_and_what_does_handler_usage_mean","id":8},{"text":"Q: What happens if I exceed my Handler Usage Quota?","hash":"_q_what_happens_if_i_exceed_my_handler_usage_quota","id":9},{"text":"Q: Where can I manage my Access Tokens?","hash":"_q_where_can_i_manage_my_access_tokens","id":10},{"text":"Q: How can I manage my Workspaces?","hash":"_q_how_can_i_manage_my_workspaces","id":11},{"text":"Q: I have a Premium plan, so how can I add a New User?","hash":"_q_i_have_a_premium_plan_so_how_can_i_add_a_new_user","id":12},{"text":"Q: What data types are sent to AxonIQ Console for processing?","hash":"_q_what_data_types_are_sent_to_axoniq_console_for_processing","id":13},{"text":"Q: Are my Message Payloads being sent for processing in AxonIQ Console?","hash":"_q_are_my_message_payloads_being_sent_for_processing_in_axoniq_console","id":14},{"text":"Q: How does AxonIQ Console protect my data?","hash":"_q_how_does_axoniq_console_protect_my_data","id":15}]},"6":{"id":6,"text":"Event-Driven Architectures (EDA) are software systems where services communicate by producing and responding to events. So, what’s an \"event\", anyway? An event represents something important within a software system that has happened. In Event-Driven Architectures, services react to these events asynchronously. This design enables systems to be more scalable, flexible, and maintainable by decoupling services and allowing them to operate independently yet cohesively. Event-Driven Architectures revolve around the concept of events as the primary means of communication between services. In this context, an event is a record of something that has happened within the system, such as, for example, a user creating a new account on a website, an order being placed, or a payment being processed. Unlike traditional architectures where components and services might directly call each other, EDA allows services to publish events and allows other services to subscribe to events. At the heart of EDA are event producers and event consumers. Event producers are the services that perform operations resulting in state changes and generate those events. For example, when a user updates their profile information, a \"UserService\" can produce the \"UserUpdated\" event reflecting this change. On the other hand, event consumers are the services that listen for specific events and react accordingly. Therefore, an \"EmailService\" might consume the \"UserUpdated\" event to send a confirmation email to the user. The communication between producers and consumers is facilitated by an event bus, which acts as a central hub for event propagation. The event bus ensures that events are reliably delivered from producers to the appropriate consumers without the services needing to be aware of each other. This decoupling allows services to be developed, deployed, and scaled independently. Tools like Axon Server can serve as the event bus, providing efficient routing and delivery of events across the system. An event typically consists of three elements: the event type, the payload, and optional metadata. The event type describes what occurred, such as \"OrderPlaced\" or \"PaymentProcessed,\" providing a clear indication of the action or state change that happened. The payload contains the data associated with the event, offering context that consumers need to perform their tasks. Metadata may include additional information like timestamps, source identifiers, or transaction IDs, aiding in tracking and auditing processes. One of the significant advantages of EDA is the creation of loosely coupled services. Since services communicate through events rather than direct calls, they do not need to know about each other’s existence or implementation details. This separation reduces dependencies, making the system more robust to changes. Developers can modify or replace a service without impacting others, facilitating easier maintenance and faster development cycles. Asynchronous communication is another key benefit. Services in an EDA system do not wait for immediate responses when they emit events. Instead, they continue their operations, and consumers process events at their own pace. This non-blocking communication enhances system performance and responsiveness, especially under high-load conditions, as services can handle multiple events concurrently without bottlenecks. EDA also enhances scalability. Individual services can be scaled horizontally—adding more instances to handle increased load—without affecting the rest of the system. This targeted scaling is more efficient and cost-effective than scaling entire monolithic applications. As demand fluctuates, resources can be allocated where they are most needed. Resilience is built into the architecture. If a service fails, the rest of the system can continue functioning. Since services are independent, a failure in one does not cascade to others. This isolation minimizes downtime and allows for smoother recovery processes. Services can be restarted or replaced without bringing down the entire system.","title":"What are Event-Driven Architectures?","component":"event-driven-architectures","version":"","name":"index","url":"/event-driven-architectures/","titles":[{"text":"TL;DR","hash":"_tldr","id":1},{"text":"More details on Event-Driven Architectures","hash":"_more_details_on_event_driven_architectures","id":2}]},"7":{"id":7,"text":"Event-Driven Architectures Axon Synapse Quick Start AxonIQ Console Getting Started AxonIQ Playbook Building An Axon Framework Application From Scratch Dead-Letter Queues FAQ for Axon Server FAQ for AxonIQ Console","title":"Basics","component":"home","version":"master","name":"basics","url":"/home/basics/","titles":[{"text":"Concepts","id":1},{"text":"Tutorials","id":2},{"text":"Frequently asked questions","id":3}]},"8":{"id":8,"text":"AxonIQ Docs is a collection of written resources designed to help developers learn and master the AxonIQ products. The Docs also help developers understand the software design and development concepts the AxonIQ products can help with. AxonIQ Playbook is a catalogue of patterns to support the AxonIQ community in modeling, implementing and operating event-sourced systems. Receive updates from the author Marc Klefter about new content in the AxonIQ Playbook by signing up. To discuss event sourcing and event modeling with Marc, book a call in his calendar. Basics offer examples on how to use AxonIQ products to complete routine tasks when designing and developing new solutions. The Basics page contains all such materials. Some of the most popular ones are: Building A Bike Rental Application AxonIQ Console Getting Started Guide Guides are recipes and directions for achieving a specific goal. They are intended for readers with a solid understanding of AxonIQ products. The guides cover Axon Framework and Axon Server. The practical technical descriptions of the machinery behind the AxonIQ products, their intended usage, available functionality, or configuration options. The Reference page contains all such materials. Some of the most popular ones are: Axon Framework Reference Guide Axon Server Reference Guide AxonIQ Console Reference Guide","title":"AxonIQ Docs","component":"home","version":"master","name":"index","url":"/home/","titles":[{"text":"AxonIQ Playbook","hash":"_axoniq_playbook","id":1},{"text":"Basics","hash":"_basics","id":2},{"text":"Guides","hash":"_guides","id":3},{"text":"Reference","hash":"_reference","id":4}]},"9":{"id":9,"text":"Axon Framework Axon Server Axon Synapse AxonIQ Console Axon Framework Extensions","title":"Reference","component":"home","version":"master","name":"reference","url":"/home/reference/","titles":[{"text":"Core products","id":1},{"text":"Extensions","id":2}]},"10":{"id":10,"text":"This collection of guides help you with specific tasks when using Axon Framework. Changing Identifier generation Customizing Message Handlers Deadlines guide Meta Annotations Monitoring your AxonFramework Application with AxonIQ Console","title":"Axon Framework Guides","component":"home","version":"master","name":"axon-framework","url":"/home/guides/axon-framework/","titles":[{"text":"Guide directory","id":1}]},"11":{"id":11,"text":"This collection of guides help you with specific tasks when using Axon Server. Axon Server Google Marketplace Installation Guide Axon Server Installation Guides Axon Server Query Language Guide Axon Server Upgrade Guides","title":"Axon Server Guides","component":"home","version":"master","name":"axon-server","url":"/home/guides/axon-server/","titles":[{"text":"Guide directory","id":1}]},"12":{"id":12,"text":"Guides are intended for readers with a solid understanding of the concepts AxonIQ products use, when trying to find solutions to perform a task. We have grouped these guides depending on the product or specific type of task they help to solve. We are working on adding more guides in the future. Changing Identifier generation Customizing Message Handlers Deadlines guide Meta Annotations Monitoring your AxonFramework Application with AxonIQ Console Axon Server Google Marketplace Installation Guide Axon Server Installation Guides Axon Server Query Language Guide Axon Server Upgrade Guides","title":"Guides","component":"home","version":"master","name":"index","url":"/home/guides/","titles":[{"text":"Axon Framework","id":1},{"text":"Axon Server","id":2}]},"13":{"id":13,"text":"AxonIQ Docs is a collection of written resources designed to help developers learn and master the AxonIQ products. The Docs also help developers understand the software design and development concepts the AxonIQ products can help with. AxonIQ Playbook is a catalogue of patterns to support the AxonIQ community in modeling, implementing and operating event-sourced systems. Receive updates from the author Marc Klefter about new content in the AxonIQ Playbook by signing up. To discuss event sourcing and event modeling with Marc, book a call in his calendar. Basics offer examples on how to use AxonIQ products to complete routine tasks when designing and developing new solutions. The Basics page contains all such materials. Some of the most popular ones are: Building A Bike Rental Application AxonIQ Console Getting Started Guide Guides are recipes and directions for achieving a specific goal. They are intended for readers with a solid understanding of AxonIQ products. The guides cover Axon Framework and Axon Server. The practical technical descriptions of the machinery behind the AxonIQ products, their intended usage, available functionality, or configuration options. The Reference page contains all such materials. Some of the most popular ones are: Axon Framework Reference Guide Axon Server Reference Guide AxonIQ Console Reference Guide","title":"AxonIQ Docs","component":"reference-guide","version":"master","name":"index","url":"/reference-guide/","titles":[{"text":"AxonIQ Playbook","hash":"_axoniq_playbook","id":1},{"text":"Basics","hash":"_basics","id":2},{"text":"Guides","hash":"_guides","id":3},{"text":"Reference","hash":"_reference","id":4}]},"14":{"id":14,"text":"It’s possible to change the default enqueue behavior. You can do so by implementing the EnqueuePolicy interface. For example like this: public class CustomEnqueuePolicy implements EnqueuePolicy> { @Override public EnqueueDecision> decide(DeadLetter> letter, Throwable cause) { if (cause instanceof NullPointerException) { return Decisions.doNotEnqueue(); (1) } if (letter.message().getPayload() instanceof NotificationEvent && letter.enqueuedAt().isAfter(Instant.now().plus(Duration.ofMinutes(5L)))) { return Decisions.evict(); (2) } return Decisions.enqueue(cause); (3) } } 1 No need to put this in a dead letter queue. As this always creates the same NullPointerException, don’t enqueue it. 2 If it’s a notification event, which is already in the queue for 5 minutes, evict the event so it’s not retried again. 3 Default to enqueue the event message again. Below is another example that uses the diagnostics and evicts after trying 5 times: public class CustomEnqueuePolicy implements EnqueuePolicy> { @Override public EnqueueDecision> decide(DeadLetter> letter, Throwable cause) { final int retries = (int) letter.diagnostics().getOrDefault(\"retries\", -1); (1) if (retries l.diagnostics().and(\"retries\", retries + 1)); (2) } return Decisions.evict(); (3) } } 1 Get the retries, default to -1. So on entering the queue, the value is 0. 2 Requeue, increasing the retries. 3 Once it’s retried 5 times, the framework evicts the event message. You can set the policy for a specific group with something like: public class AxonConfig { // omitting other configuration methods... public void configureEnqueuePolicy(EventProcessingConfigurer configurer) { // Replace \"my-processing-group\" for the processing group you want to configure the policy on. configurer.registerDeadLetterPolicy(\"my-processing-group\", config -> new CustomEnqueuePolicy()); } }","title":"Advanced Use Cases","component":"dead-letter-queue-guide","version":"development","name":"advanced","url":"/dead-letter-queue-guide/development/advanced/","titles":[]},"15":{"id":15,"text":"To enable a DLQ you need to configure the SequencedDeadLetterQueue component. Like most components related to event processing, there are implementations available for JPA, JDBC, and Mongo. To best leverage transactions, it’s best to choose the same implementation as the TokenStore and likely also for your projection. Please note that for best results, this also means having them located in the same database, or the same collection. There are two ways of configuring the SequencedDeadLetterQueue. The first approach is to register a DLQ provider in the event processor configuration. This approach allows you to specify processing groups if you want to configure the DLQ only for some of them. As DLQs add complexity and introduce some overhead, you should prefer this method when you don’t need a separate DLQ for each processing group. /** * Register the given {@code deadLetterProvider} as a default to build a {@link SequencedDeadLetterQueue} for * {@link EventProcessor}s created in this configuration. * * The {@code deadLetterProvider} might return null if the given processing group name should not have a sequenced * dead letter queue. An explicitly sequenced dead letter queue set using * {@link #registerDeadLetterQueue(String, Function)} will always have precedence over the one provided by this method. * * @param deadLetterQueueProvider a builder {@link Function} that provides a {@link SequencedDeadLetterQueue} for a * processing group. It's possible to return null depending on the processing group. * @return the current {@link EventProcessingConfigurer} instance, for fluent interfacing */ default EventProcessingConfigurer registerDeadLetterQueueProvider( Function>>> deadLetterQueueProvider) { return this; } The DeadLetterQueueProviderConfigurerModule has an example of how you can use this. @Bean @ConditionalOnMissingBean public DeadLetterQueueProviderConfigurerModule deadLetterQueueProviderConfigurerModule( EventProcessorProperties eventProcessorProperties, EntityManagerProvider entityManagerProvider, TransactionManager transactionManager, Serializer genericSerializer, @Qualifier(\"eventSerializer\") Serializer eventSerializer ) { return new DeadLetterQueueProviderConfigurerModule( eventProcessorProperties, processingGroup -> config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(processingGroup) .entityManagerProvider(entityManagerProvider) .transactionManager(transactionManager) .genericSerializer(genericSerializer) .eventSerializer(eventSerializer) .build() ); } You might notice the EventProcessorProperties parameter. That’s because with Spring autoconfiguration it’s easy to enable dead letter event processing for a specific processing group. You can do so by setting a property similar to axon.eventhandling.processors.first.dlq.enabled=true. In this case, the processing group is firsts. Similarly, you can set caching and cache size. Caching prevents unnecessary calls to the database, at the cost of keeping some of the sequence identifiers in memory. The other way is to add a SequencedDeadLetterQueue to a specific processing group in the EventProcessingConfigurer using the registerDeadLetterQueue method. For example for setting the JpaSequencedDeadLetterQueue on the my-processing-group in a non-Spring context. public class AxonConfig { // omitting other configuration methods... public void configureDeadLetterQueue(EventProcessingConfigurer processingConfigurer) { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. processingConfigurer.registerDeadLetterQueue( \"my-processing-group\", config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .entityManagerProvider(config.getComponent(EntityManagerProvider.class)) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } } Although this enables the processing to continue in case of errors, it doesn’t retry the failed events automatically. The next section explains some of the options to enable retries.","title":"Implementing Dead Letter Queues (DLQ)","component":"dead-letter-queue-guide","version":"development","name":"implementing","url":"/dead-letter-queue-guide/development/implementing/","titles":[{"text":"Register a dead letter queue with the event processor","hash":"_register_a_dead_letter_queue_with_the_event_processor","id":1},{"text":"Add a dead letter queue to a specific processing group","hash":"_add_a_dead_letter_queue_to_a_specific_processing_group","id":2}]},"16":{"id":16,"text":"Once you are running a large application with thousands of events in a production environment, there’s a possibility for errors to occur. For example, an error in your system could occur due to the fact that an external API (such as a payment processing service) is temporarily unavailable. As a result, this may require changing your event messaging code when an error manifests due to a combination of not-tested events. Now, the default configuration for event processors is simply to log any errors that occur. In a production environment, developers have the option to modify the default behavior to throw the error instead. Please note, however, that this can cause an event processor to stop processing events altogether, due to the fact that it will keep trying to process the same event until it stops causing an exception. To prevent this behavior, it’s possible to configure the use of a sequenced Dead Letter Queue (DLQ). With a DLQ, instead of retrying to process the event over and over unsuccessfully, the framework simply places the failed event in a queue. In order to maintain the correct order of such events, the framework also places all further events having the same sequence identifier (by default, the sequence identifier is the aggregate id) directly into the queue. Such an approach ensures that all events for the same aggregate must wait on the event that is causing an exception. As a result, the event processor doesn’t consume resources continuously trying to process unprocessable events. This tutorial guides you through the process of enabling the sequenced Dead Letter Queue for event processing. It also guides you through the process of re-processing the queued events after you fix the processing error.","title":"Dead Letter Queues in Axon Framework","component":"dead-letter-queue-guide","version":"development","name":"index","url":"/dead-letter-queue-guide/development/","titles":[{"text":"Introduction","hash":"_introduction","id":1}]},"17":{"id":17,"text":"The dead letter queue is a stop-gap. It’s important to strive to have the queue empty as soon as possible. Ideally by retrying the events, and removing them from the queue. You can retrieve a SequencedDeadLetterProcessor from the EventProcessingConfiguration based on a processing group name. Additionally, it’s also possible to use AxonIQ Console and process a queue manually. To schedule processing dead letter sequences you can do something like: @Component public class ProcessDeadLetterComponent { private final EventProcessingConfiguration config; ProcessDeadLetterComponent(EventProcessingConfiguration config) { this.config = config; } @Scheduled(fixedDelay = 30_000, initialDelay = 30_000) (1) public void process() { for(String processingGroup : config.eventProcessors().keySet()) { (2) config.sequencedDeadLetterProcessor(processingGroup).ifPresent( SequencedDeadLetterProcessor::processAny (3) ); } } } 1 Spring-specific way to wait 30 seconds, then invoke the method every 30 seconds. You want a large interval to not stress the system too much. Especially as you don’t know what’s going wrong, it might be the application is already having a hard time. 2 A way to get all the processing groups. You might also use different intervals, depending on the processing group. Or don’t have automatic processing for some groups. 3 The processAny() rotates the sequence to try based on when it was last tried. Once there are multiple queues present, it might take some time before they’re all processed with this approach. You could also get the whole queue from the configuration, and process each existing sequence. By default, the framework enqueues a letter again, unless a processor can process it successfully. How to change this, is part of the next session.","title":"Retrying Failed Dead Letter Sequences","component":"dead-letter-queue-guide","version":"development","name":"retrying","url":"/dead-letter-queue-guide/development/retrying/","titles":[]},"18":{"id":18,"text":"The current example, doesn’t use the ability to cancel deadlines. In the case of a gift card, it might be a business rule to publish an event that the gift card expired if it was already depleted. Let’s make a few changes to enable this. The first thing to need to do is to add a remainingValue to the aggregate, so it’s known when there is no value remaining. Then, adding to the command handler: @CommandHandler public void handle(RedeemCardCommand command, DeadlineManager deadlineManager) { //check validity apply(new CardRedeemedEvent(giftCardId, command.amount())); if (remainingValue == 0) { deadlineManager.cancelAllWithinScope(EXPIRED_GIFT_CARD); (1) } } 1 This call cancels all deadlines with the name EXPIRED_GIFT_CARD for this aggregate instance. It’s possible to use the return value from scheduling a deadline to cancel a specific deadline. In this case, there can be at most one deadline scheduled with this name, so this is easier. And the event sourcing handler: @EventSourcingHandler public void on(CardRedeemedEvent event) { remainingValue -= event.amount(); } A test to make sure the deadline cancellation was successful: @Test void testCardNotExpiringIfNothingLeft() { testFixture.givenNoPriorActivity() .andGivenCommands( new IssueExpiringCardCommand(CARD_ID, DAYS, AMOUNT), new RedeemCardCommand(CARD_ID, AMOUNT) ) .whenTimeElapses(Duration.ofDays(31L)) .expectSuccessfulHandlerExecution() .expectNoEvents(); } This should help get you started with deadlines. Don’t forget to switch the implementation to one of the deadline managers which offer persistence before moving to prod.","title":"Advanced Use Cases","component":"deadlines-guide","version":"development","name":"advanced","url":"/deadlines-guide/development/advanced/","titles":[]},"19":{"id":19,"text":"Axon Framework doesn’t create a DeadlineManager automatically for you, so you have to choose from a set of implementations. When setting up deadlines for sagas it’s best to choose a solution based on the saga storage solution. For deadlines in aggregates, it’s best to choose the same storage solution as the Event Store. In case you use Axon Server, it’s best to store deadlines in the same solution as your projections. If you are using a relational database, the DbSchedulerDeadlineManager is the best choice. For MongoDB the JobRunrDeadlineManager would be a good second. Both solutions require a database as a synchronization and persistence layer. For now, sticking to the SimpleDeadlineManager as it’s easier to use. Note that the SimpleDeadlineManager isn’t production-ready, as it doesn’t persist deadlines or communicate between application instances.","title":"Deciding on the Implementation","component":"deadlines-guide","version":"development","name":"deciding","url":"/deadlines-guide/development/deciding/","titles":[]},"20":{"id":20,"text":"The SimpleDeadlineManager is part of the messaging module of Axon Framework and uses Java’s ScheduledExecutorService, therefore, it requires no additional dependencies. You can configure the SimpleDeadlineManager either as an Axon Configuration component or as a Spring Bean. For this how-to, it’s configured as a Spring Bean. @Bean public DeadlineManager deadlineManager( org.axonframework.config.Configuration configuration ) { var provider = new ConfigurationScopeAwareProvider(configuration); return SimpleDeadlineManager .builder() .scopeAwareProvider(provider) .build(); } Depending on the deadline manager there might be multiple values set on the builder. All deadline managers at least need to set the scope-aware provider. @Aggregate public class ExpiringGiftCard { @AggregateIdentifier private String giftCardId; private boolean expired; // some other state left out for brevity private static final String EXPIRED_GIFT_CARD = \"EXPIRED_GIFT_CARD\"; @CommandHandler @CreationPolicy(AggregateCreationPolicy.CREATE_IF_MISSING) public void handle(IssueExpiringCardCommand command, DeadlineManager deadlineManager) { (1) //check validity apply(new ExpiringCardIssuedEvent(command.id(), command.daysValid(), command.amount())); Instant trigger = Instant.now().plus(command.daysValid(), ChronoUnit.DAYS).truncatedTo(ChronoUnit.DAYS); deadlineManager.schedule(trigger, EXPIRED_GIFT_CARD); (2) } @DeadlineHandler(deadlineName = EXPIRED_GIFT_CARD) (3) public void on() { if (!expired){ (4) apply(new ExpiringCardExpiredEvent(giftCardId)); } } @EventSourcingHandler public void on(ExpiringCardIssuedEvent event) { giftCardId = event.id(); expired = false; } @EventSourcingHandler (5) public void on(ExpiringCardExpiredEvent event) { expired = true; } // More handlers are needed to make it useful, left out for brevity. public ExpiringGiftCard() { // Required by Axon to construct an empty instance to initiate Event Sourcing. } } 1 Adding the deadline manager to the method makes it easily testable compared to other ways of accessing it from the aggregate. You can inject this way any component registered in the Axon Configuration, or when using Spring, any bean in the Spring Context. 2 Schedule the deadline, so it triggers at midnight. 3 It’s important to use the same in the annotation as when calling the schedule method. 4 An idempotency check, so even if there is some problem with the deadline manager, the application sends only one ExpiringCardExpiredEvent event. 5 On the ExpiringCardExpiredEvent, change the aggregate’s state.","title":"Implementing Deadlines","component":"deadlines-guide","version":"development","name":"implementing","url":"/deadlines-guide/development/implementing/","titles":[]},"21":{"id":21,"text":"Sometimes, you don’t want to trigger an aggregate or saga directly, but only after some time has passed. When this is the case, you can use a Deadline. Note that if the event you want to publish is a non-domain event, a scheduled event might be a better fit. To use deadlines, you need a DeadlineManager. This tutorial guides you through the basics of starting to work with deadlines. This includes configuring a deadline manager, scheduling, and handling of a deadline, and writing a test for it. Finally, changing it to a more advanced use case by expanding the functionality. As an example it uses an expiring gift card after a certain amount of time has passed.","title":"Deadlines","component":"deadlines-guide","version":"development","name":"index","url":"/deadlines-guide/development/","titles":[]},"22":{"id":22,"text":"Testing behaviour related to deadlines is easy by using either the SagaTestFixture or the AggregateTestFixture. This makes it possible to simulate passing of time, and checking the behaviour. class ExpiringGiftCardTest { private static final String CARD_ID = UUID.randomUUID().toString(); private static final int DAYS = 30; private static final int AMOUNT = 1377; private AggregateTestFixture testFixture; @BeforeEach public void setUp() { testFixture = getTestFixture(); } @Test void testCardExpiredAfterThirtyOneDays() { testFixture.givenNoPriorActivity() .andGivenCommands(new IssueExpiringCardCommand(CARD_ID, DAYS, AMOUNT)) .whenTimeElapses(Duration.ofDays(31L)) (1) .expectSuccessfulHandlerExecution() .expectEvents(new ExpiringCardExpiredEvent(CARD_ID)) .expectTriggeredDeadlinesWithName(\"EXPIRED_GIFT_CARD\"); } private AggregateTestFixture getTestFixture() { return new AggregateTestFixture<>(ExpiringGiftCard.class); } } 1 By elapsing time by 31 days, the deadline should trigger and publish an ExpiringCardExpiredEvent.","title":"Testing the Deadline","component":"deadlines-guide","version":"development","name":"testing","url":"/deadlines-guide/development/testing/","titles":[]},"23":{"id":23,"text":"The Axon Framework uses an IdentifierFactory to generate all identifiers, whether they are for events, commands or queries. The default IdentifierFactory uses randomly generated java.util.UUID based identifiers. Although they are safe to use, the process to generate them does not excel in performance. IdentifierFactory is an abstract factory that uses Java’s ServiceLoader (since Java 6) mechanism to find the implementation to use. This means you can create your own implementation of the factory and put the name of the implementation in a file called /META-INF/services/org.axonframework.common.IdentifierFactory. Java’s ServiceLoader mechanism will detect that file and attempt to create an instance of the class named inside. There are a few requirements for the IdentifierFactory. The implementation must: Have its fully qualified class name as the contents of the /META-INF/services/org.axonframework.common.IdentifierFactory file on the classpath, have an accessible zero-argument constructor, extend IdentifierFactory, be accessible by the context classloader of the application or by the classloader that loaded the IdentifierFactory class, and must Be thread-safe.","title":"Identifier Generation","component":"identifier-generation-guide","version":"development","name":"index","url":"/identifier-generation-guide/development/","titles":[]},"24":{"id":24,"text":"Handler Enhancers allow you to wrap handlers and add custom logic to the execution or eligibility of handlers for a specific message. Handler enhancers differ from message handler interceptors by the access they provide to the message handling component (for example, the aggregate member) at the resolution time. Hence, handler enhancers allow for more fine-grained control. You can use handler enhancers to intercept and perform checks on groups of @MessageHandler annotated methods, like a command, event, or query handler. To create a handler enhancer, you implement the HandlerEnhancerDefinition interface and override the wrapHandler() method. All this method does is give you access to the MessageHandlingMember, which is an object representing any handler specified in the system. You can then filter these handlers based on the type of Message they handle by using the MessageHandlingMember.canHandleMessageType(Class) method. Doing so, you can specifically enhance message handlers dealing with, for example, the CommandMessage. For your handler enhancer to run, you’ll need to create a META-INF/services/org.axonframework.messaging.annotation.HandlerEnhancerDefinition file containing the fully qualified class name of the handler enhancer you have created or register the enhancer explicitly in the Configurer. Here’s an example of a HandlerEnhancerDefinition that filters messages based on an expected MetaData key and value. (1) public class ExampleHandlerDefinition implements HandlerEnhancerDefinition { (2) @Override public MessageHandlingMember wrapHandler(MessageHandlingMember original) { return original.attribute(\"metaDataKey\") (3) .map(attr -> new ExampleMessageHandlingMember<>(original)) .map(member -> (MessageHandlingMember) member) .orElse(original); (6) } private static class ExampleMessageHandlingMember extends WrappedMessageHandlingMember { private final String metaDataKey; private final String expectedValue; private ExampleMessageHandlingMember(MessageHandlingMember delegate) { super(delegate); metaDataKey = (String) delegate.attribute(\"metaDataKey\") .orElseThrow(() -> new IllegalArgumentException( \"Missing expected attribute\" )); expectedValue = (String) delegate.attribute(\"expectedValue\") .orElseThrow(() -> new IllegalArgumentException( \"Missing expected value\" )); } @Override public boolean canHandle(@Nonnull Message message) { (4) return super.canHandle(message) && expectedValue.equals(message.getMetaData().get(metaDataKey)); } } } // ... (5) @HasHandlerAttributes public @interface MyAnnotation { String metaDataKey(); String expectedValue(); } 1 Implement the HandlerEnhancerDefinition interface 2 Override the wrapHandler method to perform your logic. 3 Filter the types of handlers you want to wrap based on a specific attribute, for example, the metaDataKey attribute from the MyAnnotation. 4 Handle the method inside of a MessageHandlingMember. In this case, indicating the handler is only suitable if the meta-data key matches a value. 5 For annotation-specific attributes to exist in the MessageHandlingMember’s attribute collection, meta-annotation the custom annotation with HasHandlerAttributes. 6 If you are not interested in wrapping the handler, return the original passed into the wrapHandler method. To configure your HandlerEnhancerDefintion, you can (1) register it directly with the Configurer or (2) make it a part of the Application Context when you are in a Spring environment. Axon Configuration API SpringBoot AutoConfiguration public class AxonConfig { // omitting other configuration methods... public void registerExampleHandlerDefinition(Configurer configurer) { configurer.registerHandlerEnhancerDefinition(config -> new ExampleHandlerDefinition()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ExampleHandlerDefinition exampleHandlerDefinition() { return new ExampleHandlerDefinition(); } }","title":"Handler Enhancers","component":"message-handler-customization-guide","version":"development","name":"handler-enhancers","url":"/message-handler-customization-guide/development/handler-enhancers/","titles":[]},"25":{"id":25,"text":"Customization of message handling can become a desired tweak in your application. Think of changing how messages are handled or what parameters will be injected into your message handling functions. Overriding annotations can be useful when implementing best practices that have been established within your team, providing defaults or restrictions of how annotations may be used. However, they can also be useful when special behavior needs to be added to message handlers based on the presence of an annotation.","title":"Customizing Message Handlers","component":"message-handler-customization-guide","version":"development","name":"index","url":"/message-handler-customization-guide/development/","titles":[]},"26":{"id":26,"text":"You can configure additional ParameterResolvers by extending the ParameterResolverFactory class and creating a file named /META-INF/services/org.axonframework.messaging.annotation.ParameterResolverFactory containing the fully qualified name of the implementing class. At this moment, OSGi support is limited due to the fact that the required headers are mentioned in the manifest file. The automatic detection of ParameterResolverFactory instances works in OSGi, but due to classloader limitations, it might be necessary to copy the contents of the /META-INF/services/org.axonframework.messaging.annotation.ParameterResolverFactory file to the OSGi bundle containing the classes to resolve parameters for (that is, the event handler).","title":"Parameter Resolvers","component":"message-handler-customization-guide","version":"development","name":"parameter-resolvers","url":"/message-handler-customization-guide/development/parameter-resolvers/","titles":[]},"27":{"id":27,"text":"Most annotations in Axon can be placed on other annotations as meta-annotations. When Axon scans for annotations, it will automatically scan meta-annotations as well. Annotations can override the properties defined on the meta-annotations, if desired. For example, if you have a practice in your development team that payloads are always represented as JSON and you want the command name to be explicitly configured, you could create your own annotation: @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE}) @CommandHandler(payloadType = JsonNode.class) public @interface JsonCommandHandler { String commandName; String routingKey() default \"\"; } By specifying the payloadType on the @CommandHandler meta-annotation, this becomes the value used for all Command Handlers annotated with JsonCommandHandler. These command handlers may (and should) still provide a parameter for the payload, but Axon will complain if it isn’t a subclass of JsonNode. The commandName attribute on the JsonCommandHandler annotation does not have a default value, and will therefore force developers to specify the name of the command. Note that to override values the attribute name must identical to the name on the @CommandHandler meta-annotation. Lastly, the routingKey property is defined exactly as in the @CommandHandler annotation’s specification to still allow developers to choose to provide a Routing Key when using the JsonCommandHandler. When writing custom logic to access properties of annotations that may be meta-annotated, be sure to use the AnnotationUtils#findAnnotationAttributes(AnnotatedElement, String) method, or the annotationAttributes on the MessageHandlingMember. Using Java’s annotation API will not take meta-annotations into consideration.","title":"Meta Annotations","component":"meta-annotations-guide","version":"development","name":"index","url":"/meta-annotations-guide/development/","titles":[]},"28":{"id":28,"text":"This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help build applications based on Domain-Driven Design, CQRS, and Event-Sourcing. AxonIQ Console is the platform to monitor and manage your Axon Framework applications. It provides insights into the performance and behavior of your application, and allows you to manage your application’s event processors. You can also get scalable Axon Server licenses with scalable pricing, and manage your Axon Server instances. For more information, see the AxonIQ Console Reference Guide or sign up directly. A summary of the various subsections is given below. Sub-Section Purpose Messaging Concepts Conceptual overview of \"Messages\" within the Axon Framework Commands Command Message Development using the Axon Framework Events Event Message Development using the Axon Framework Queries Query Message Development using the Axon Framework Sagas Long Running Transaction development using the Axon Framework Testing Testing capabilities provided by the Axon Framework Serialization Details on the serialization capabilities provided by the Axon Framework Tuning Tuning capabilities provided by the Axon Framework Monitoring and Metrics Monitoring and Metric capabilities provided by the Axon Framework Spring Boot Integration Axon Framework integration with Spring Boot Upgrading to 4.7 Step-by-step plan explaining how to upgrade to Axon Framework 4.7 from 4.6 Modules Modules provided by the Axon Framework","title":"Introduction","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/","titles":[{"text":"New: Easy monitoring and management","hash":"console","id":1},{"text":"Reference sections","hash":"_reference_sections","id":2}]},"29":{"id":29,"text":"As with any tool, library, or framework, there are well-known issues you might find with Axon Framework. Since Axon Framework integrates with many other tools, it is challenging to find the perfect solution for every scenario. This page provides the biggest \"gotchas,\" with optional workarounds. Where is issue XYZ? This page can by no means contain all possible issues. However, we are open for suggestions. This documentation, just as the framework, is open source. Hence, if you have found something problematic that you think should be added to the list, be sure to file an issue and (ideally!) a pull request. You can make an enhancement request by clicking here. When looking to provide a pull request, be sure to adjust this file. When storing the serialized formats of, for example, tokens, sagas, snapshots, or events, it is good to know Axon uses JPAs @Lob annotation for these columns. This choice combined with PostgreSQL and Hibernate, causes unexpected behavior for most. PostgreSQL has a feature called \"Large Object Storage\", which moves LOB, BLOB, and CLOB columns to a singular large object storage table. Instead of the LOB/BLOB/CLOB type, the column will be of type OID (object identifier). Hences, the rows will contain this OID instead of the data directly. Hibernate will default @Lob annotated fields to go through this Large Object Storage feature, by automatically mapping to the OID type. Hence, in such a setup, all your serialized tokens, sagas, snapshots, and events will automatically move to another table, with all added overhead coming with it. Using Axon Server will, obviously, resolve this for your events and snapshots, as you would no longer use an RDBMS in that case. However, even when using Axon Server, the predicament remains for tokens and sagas. For those cases, it would be wise to adjust the Hibernate mapping. The most straightforward way, is to enforce the use of the BYTEA column type; with some additional steps, of course. For a full explanation and walkthrough, please check the PostegreSQL, LOB annotated columns, and default Hibernate mapping tuning page. For the JPA entities that require a generated sequence, we decided to use the default @GeneratedValue annotation back in 2016. In the pre-Hibernate-6 age, this typically resulted in the construction of a single sequence generator that would be reused by several tables. This can be regarded as suboptimal, as frequently, the sequence generator would be reused between tables. Especially given the nature of the global_index column on the domain_event_entry table, which is used to keep the progress in streaming event processors, a reused generator, causes unexpected gaps in event processing. Although Axon Framework can deal with these gaps, they make the queries to the domain_event_entry table rather bulky. Just as with any event storage solution, using a dedicated event store implementation like Axon Server will solve the problem entirely. Instead of using Axon Server, it is also possible to define sequence generators manually for Axon’s entities. The Relational Database Tuning page contains a section on how to do this, called Auto-Increment and Sequences. As described earlier, the @GeneratedValue was introduced in 2016. With the recent move to Hibernate 6, which defaults the increment value to 50, the problem of gaps or unintended reuse between tables has only become bigger. Especially when combining this with Axon’s multitenancy extension, the new default behavior of Hibernate 6 might cause uniqueness issues in this way. Hence, given the history on the subject, and the Axon-team having explained this predicament more frequent than they can count, we intend to address the sequence generation behavior in Axon Framework 5.","title":"Known Issues and Workarounds","component":"axon-framework-reference","version":"development","name":"known-issues-and-workarounds","url":"/axon-framework-reference/development/known-issues-and-workarounds/","titles":[{"text":"PostgreSQL and large object storage","hash":"_postgresql_and_large_object_storage","id":1},{"text":"Sequence generation issues with JPA Entities","hash":"_sequence_generation_issues_with_jpa_entities","id":2}]},"30":{"id":30,"text":"Axon Framework consists of a number of modules that provide specific capabilities. Depending on the exact needs of your project, you will need to include one or more of these modules. There are currently two ways of obtaining the module binaries: either download the binaries from our website or preferably configure a repository for your build system (Maven, Gradle). To not be bothered with version compatibility issues between framework and the extensions, it is recommended to use the BOM. Axon modules are available on Maven Central. Axon 'Main Modules' are the modules that have been thoroughly tested and are robust enough to use in demanding production environments. The maven groupId of all these modules is org.axonframework. Visit Maven Central Repository to copy coordinates for the version you need. Quick start an Axon Application The Axon Spring Boot Starter module is the quickest start in to an Axon project as it will retrieve all the required modules/dependencies transitively. Alternatively, you can manually select individual modules for a customized configuration. Module Artifact Id Group Id Maven Central Axon messaging axon-messaging org.axonframework available Axon modelling axon-modelling org.axonframework available Axon Event Sourcing axon-eventsourcing org.axonframework available Axon Configuration axon-configuration org.axonframework available Axon test axon-test org.axonframework available Axon Server Connector axon-server-connector org.axonframework available Axon Spring axon-spring org.axonframework available Axon Spring Boot Starter axon-spring-boot-starter org.axonframework available Axon Disruptor axon-disruptor org.axonframework available Axon Metrics axon-metrics org.axonframework available Axon Micrometer axon-micrometer org.axonframework available Axon legacy axon-legacy org.axonframework available Axon Tracing OpenTelemetry axon-tracing-opentelemetry org.axonframework available This module contains all necessary components and building blocks to support command, event and query messaging. This module contains the necessary components to create domain models, like Aggregates and Sagas. This module contains all necessary infrastructure components to support Event Sourcing, Command and Query Models. This module contains test fixtures that you can use to test Axon based components, such as your Command Handlers, Aggregates and Sagas. You typically do not need this module at runtime and will only need to be added to the classpath for running tests. This module contains all the necessary components to configure an Axon application. This module provides infrastructure components that connect to Axon Server. This module allows Axon Framework components to be configured in the Spring Application context. It also provides a number of building block implementations specific to Spring Framework, such as an adapter for publishing and retrieving Axon Events on a Spring Messaging Channel. This module provides Spring Boot auto-configuration for your project. It is by far the easiest option to get started as it automatically configures all Axon components. It is explained in more details here. This module contains a specific CommandBus and Command Handling solution based on the Disruptor paradigm. This module provides basic implementations based on Coda Hale to collect the monitoring information. This module provides basic implementations based on Micrometer to collect the monitoring information. Micrometer is a dimensional-first metrics collection facade whose aim is to allow you to time, count, and gauge your code with a vendor neutral API. This module contains components that enable migration of older Axon projects to use the latest Axon version. This module contains the components needed to enable tracing with OpenTelemetry. Besides main modules, there are several extension modules which complement Axon Framework. They address distribution concerns of Axon Framework towards non-Axon Server solutions. The maven groupId of these extensions starts with org.axonframework.extensions.*. Visit Maven Central Repository to copy coordinates for the version you need. Module Artifact Id Group Id Maven Central GitHub Axon AMQP axon-amqp org.axonframework.extensions.amqp available available Axon AMQP Spring Boot Starter axon-amqp-spring-boot-starter org.axonframework.extensions.amqp available available Axon CDI axon-cdi org.axonframework.extensions.cdi available available Axon JGroups axon-jgroups org.axonframework.extensions.jgroups available available Axon JGroups Spring Boot Starter axon-jgroups-spring-boot-starter org.axonframework.extensions.jgroups available available Axon JobRunr Pro axon-jobrunrpro org.axonframework.extensions.jobrunrpro available available Axon JobRunr Pro Spring Boot Starter axon-jobrunrpro-spring-boot-starter org.axonframework.extensions.jobrunrpro available available Axon Kafka axon-kafka org.axonframework.extensions.kafka available available Axon Kafka Spring Boot Starter axon-kafka-spring-boot-starter org.axonframework.extensions.kafka available available Axon Kotlin axon-kotlin org.axonframework.extensions.kotlin available available Axon Kotlin Test axon-kotlin-test org.axonframework.extensions.kotlin available available Axon Mongo axon-mongo org.axonframework.extensions.mongo available available Axon Mongo Spring Boot Starter axon-mongo-spring-boot-starter org.axonframework.extensions.mongo available available Axon Multi Tenancy axon-multitenancy org.axonframework.extensions.multitenancy available available Axon Multi Tenancy Spring Boot Starter axon-multitenancy-spring-boot-starter org.axonframework.extensions.multitenancy available available Axon Reactor axon-reactor org.axonframework.extensions.reactor available available Axon Reactor Spring Boot Starter axon-reactor-spring-boot-starter org.axonframework.extensions.reactor available available Axon Spring ahead of time axon-spring-aot org.axonframework.extensions.spring-aot available available Axon Spring Cloud axon-springcloud org.axonframework.extensions.springcloud available available Axon Spring Cloud Spring Boot Starter axon-springcloud-spring-boot-starter org.axonframework.extensions.springcloud available available Axon Tracing axon-tracing org.axonframework.extensions.tracing available available Axon Tracing Spring Boot Starter axon-tracing-spring-boot-starter org.axonframework.extensions.tracing available available This module provides components that allow you leverage an AMQP-based message broker as an Event Message distribution mechanism. This allows for guaranteed-delivery, even when the Event Handler node is temporarily unavailable. This module provides Spring auto-configuration on top of the axon-amqp module. This module provides support for Contexts and Dependency Injection (CDI) for the Java EE platform. This module provides integration with JGroups for command distribution. JGroups should be regarded as a reliable messaging toolkit. This module provides Spring auto-configuration on top of the axon-jgroups module This module provides integration with JobRunr Pro. This module provides Spring auto-configuration on top of the axon-jobrunrpro module This module provides integration with Kafka for event distribution. As such it plays a similar role as the Axon AMQP extension and thus is not a replacement Event Storage mechanism. Kafka is a distributed message streaming platform. This module provides Spring auto-configuration on top of the axon-kafka module. This module provides a set of reified operations, among others, to allow a cleaner Kotlin coding experience when using Axon. This module provides a set of reified operations, among others, to allow a cleaner Kotlin coding experience when testing Axon applications. This module provides event and saga store implementations that store event streams and sagas in a MongoDB database. MongoDB is a document based NoSQL database. This module provides Spring auto-configuration on top of the axon-mongo module. This module provides distinct wrappers for Axon Framework’s infrastructure components to support multi tenancy within a single application. Use of this extension is most easily achieved with Axon Server, through using its multi-context feature, albeit not limited to this. This module provides Spring auto-configuration on top of the axon-multitenancy module. Note that this assumes an active Axon Server connection be present. This module provides integration with Project Reactor. This module provides Spring auto-configuration on top of the axon-reactor module. This module provides integration with Spring Ahead of Time. Spring AOT processing is part of creating a native image from a Spring (Boot) application. This module provides integration with Spring Cloud for command distribution. Spring Cloud provides an API for common distributed system patterns. This module provides Spring auto-configuration on top of the axon-springcloud module This module provides support for distributed tracing of Axon applications. The Open Tracing standard is used to provide the tracing capabilities. If you’re looking for Open Telemetry support, please check our documentation for that over here. This module provides Spring auto-configuration on top of the axon-tracing module In addition to the main framework modules and the extensions, Axon also has a Bill of Materials, or BOM. The BOM is provided to ensure the use of compatible framework and extension dependencies inside an Axon application. As such, it is the recommended approach towards defining the overall Axon version used inside of an application. Module Artifact Id Group Id Maven Central GitHub Axon Bill of Materials axon-bom org.axonframework available available For using the BOM, you would add the axon-bom dependency to your dependency management system: Maven Gradle org.axonframework axon-bom ${version.axon} pom import ... For usage with Gradle Version 4.x and below, apply the dependency-management-plugin like so: buildscript { repositories { jcenter() } dependencies { classpath \"io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE\" } } apply plugin: \"io.spring.dependency-management\" After this, import the Axon BOM: dependencyManagement { imports { mavenBom 'org.axonframework:axon-bom:' } } Beginning with Gradle version 5.0, you can also omit the dependency-management plugin and instead use the platform dependency DSL to import maven BOMs: implementation(platform(\"org.axonframework:axon-bom:\")) After that is in place, you can add any of the mentioned dependencies from framework and the extensions without specifying versions. Furthermore, you will be guaranteed that the provided versions in the BOM are compatible with one another.","title":"Modules","component":"axon-framework-reference","version":"development","name":"modules","url":"/axon-framework-reference/development/modules/","titles":[{"text":"Main modules","hash":"_main_modules","id":1},{"text":"Axon messaging","hash":"_axon_messaging","id":2},{"text":"Axon modelling","hash":"_axon_modelling","id":3},{"text":"Axon Event Sourcing","hash":"_axon_event_sourcing","id":4},{"text":"Axon test","hash":"_axon_test","id":5},{"text":"Axon Configuration","hash":"_axon_configuration","id":6},{"text":"Axon Server Connector","hash":"_axon_server_connector","id":7},{"text":"Axon Spring","hash":"_axon_spring","id":8},{"text":"Axon Spring Boot Starter","hash":"_axon_spring_boot_starter","id":9},{"text":"Axon Disruptor","hash":"_axon_disruptor","id":10},{"text":"Axon Metrics","hash":"_axon_metrics","id":11},{"text":"Axon Micrometer","hash":"_axon_micrometer","id":12},{"text":"Axon legacy","hash":"_axon_legacy","id":13},{"text":"Axon Tracing OpenTelemetry","hash":"_axon_tracing_opentelemetry","id":14},{"text":"Extension modules","hash":"_extension_modules","id":15},{"text":"Axon AMQP","hash":"_axon_amqp","id":16},{"text":"Axon AMQP Spring Boot Starter","hash":"_axon_amqp_spring_boot_starter","id":17},{"text":"Axon CDI","hash":"_axon_cdi","id":18},{"text":"Axon JGroups","hash":"_axon_jgroups","id":19},{"text":"Axon JGroups Spring Boot Starter","hash":"_axon_jgroups_spring_boot_starter","id":20},{"text":"Axon JobRunr Pro","hash":"_axon_jobrunr_pro","id":21},{"text":"Axon JobRunr Pro Spring Boot Starter","hash":"_axon_jobrunr_pro_spring_boot_starter","id":22},{"text":"Axon Kafka","hash":"_axon_kafka","id":23},{"text":"Axon Kafka Spring Boot Starter","hash":"_axon_kafka_spring_boot_starter","id":24},{"text":"Axon Kotlin","hash":"_axon_kotlin","id":25},{"text":"Axon Kotlin Test","hash":"_axon_kotlin_test","id":26},{"text":"Axon Mongo","hash":"_axon_mongo","id":27},{"text":"Axon Mongo Spring Boot Starter","hash":"_axon_mongo_spring_boot_starter","id":28},{"text":"Axon Multi Tenancy","hash":"_axon_multi_tenancy","id":29},{"text":"Axon Multi Tenancy Spring Boot Starter","hash":"_axon_multi_tenancy_spring_boot_starter","id":30},{"text":"Axon Reactor","hash":"_axon_reactor","id":31},{"text":"Axon Reactor Spring Boot Starter","hash":"_axon_reactor_spring_boot_starter","id":32},{"text":"Axon Spring ahead of time","hash":"_axon_spring_ahead_of_time","id":33},{"text":"Axon Spring Cloud","hash":"_axon_spring_cloud","id":34},{"text":"Axon Spring Cloud Spring Boot Starter","hash":"_axon_spring_cloud_spring_boot_starter","id":35},{"text":"Axon Tracing","hash":"_axon_tracing","id":36},{"text":"Axon Tracing Spring Boot Starter","hash":"_axon_tracing_spring_boot_starter","id":37},{"text":"Axon Bill of Materials","hash":"_axon_bill_of_materials","id":38}]},"31":{"id":31,"text":"The flow of messages between (micro)services and storage of events requires preparation of the messages through serialization. Axon uses the XStreamSerializer by default, which uses XStream to serialize into and deserialize from XML. XStream is reasonably fast, and the result of serialization is human-readable. This makes it quite useful for logging and debugging purposes. The XStreamSerializer allows further customization if that’s required. You can, for example, define aliases for specific packages, classes, or even fields. In addition to being an excellent way to shorten potentially long names, you can also use aliases when class definitions of the serialized objects change. For more information about aliases, visit the XStream website. Additionally, Axon provides the JacksonSerializer. This Serializer implementation uses Jackson to serialize objects into and deserialize from JSON. It produces a more compact serialized form, while requiring those classes to stick to Jackson’s conventions (or configuration). The compact format makes it ideal for events, commands, and queries, as it minimizes the storage space and package size. You may also implement your own serializer simply by creating a class that implements Serializer and setting it within Axon’s configuration for the desired infrastructure components. Serializers come in several flavors in Axon Framework and are used for various things. Currently, you can choose between the XStreamSerializer and JacksonSerializer to serialize messages (commands/queries/events), tokens, snapshots, deadlines and sagas in an Axon application. As there are several objects to be serialized, it is typically desired to chose which serializer handles which object. To that end, the Configuration API allows you to define default, message and event serializers, which lead to the following object-serialization break down: The Event Serializer is in charge of (de)serializing event message payload and metadata. Events are typically stored in an event store for a long period of time. This is the main driver for choosing the event serializer implementation. The Message Serializer is in charge of (de)serializing the command and query message payload and metadata (used in a distributed application setup). Messages are shared between nodes and typically need to be interoperable and/or compact. Take this into account when choosing the message serializer implementation. The default Serializer is in charge of (de)serializing the remainder, being the messages (except the payload and metadata), tokens, snapshots, deadlines and sagas. These objects are generally not shared between different applications, and most of these classes aren’t expected to have some of the getters and setters that are, for example, typically required by Jackson based serializers. For example, a QueryMessage consists of a payload and ResponseType, which will respectively be (de)serialized using the message and the default serializer, the query request and response payload will be (de)serialized using the`message`serializer. A flexible, general-purpose serializer like XStream is ideal for this purpose. By default, all three Serializer flavors are set to use the XStreamSerializer, which internally uses XStream to serialize objects to an XML format. XML is verbose, but XStream has the major benefit of being able to serialize virtually anything. XStream and JDK 17 Although XStream can \"serialize virtually anything,\" more recent versions of the JDK impede its flexibility. This predicament comes down to XStream’s reflective approach to finding out how to de-/serialize any object, which has become problematic with Java’s intent to secure its internals. Hence, if you’re using JDK 17, the chances are that objects (for example, your sagas) intended for serialization require additional configuration. On some occasions configuring XStream’s security settings is sufficient. Other times you will have to introduce custom Converters to de-/serialize specific types. If you prefer not to deal with specific XStream settings, it might be better to use the JacksonSerializer throughout your Axon application. XML’s verbosity is typically fine when storing tokens, sagas, or snapshots, but for messages (and specifically events) XML might cost too much due to its serialized size. Thus for optimization reasons you can configure different serializers for your messages. Another valid reason for customizing serializers is to achieve interoperability between different (Axon) applications, where the receiving end potentially enforces a specific serialized format. There is an implicit ordering between the configurable serializer. If no event Serializer is configured, the event de-/serialization will be performed by the message Serializer. In turn, if no message Serializer is configured, the default Serializer will take that role. See the following example on how to configure each serializer specifically, were we use the XStreamSerializer as the default and the JacksonSerializer for all our messages: public class SerializerConfiguration { public void serializerConfiguration(Configurer configurer) { // By default, we want the XStreamSerializer XStream xStream = new XStream(); // Set the secure types on the xStream instance XStreamSerializer defaultSerializer = XStreamSerializer.builder() .xStream(xStream) .build(); // But for all our messages we'd prefer the JacksonSerializer due to JSON's smaller format JacksonSerializer messageSerializer = JacksonSerializer.defaultSerializer(); configurer.configureSerializer(configuration -> defaultSerializer) .configureMessageSerializer(configuration -> messageSerializer) .configureEventSerializer(configuration -> messageSerializer); } } @Configuration public class SerializerConfiguration { // By default, we want the XStreamSerializer @Bean public Serializer defaultSerializer() { // Set the secure types on the xStream instance XStream xStream = new XStream(); return XStreamSerializer.builder() .xStream(xStream) .build(); } // But for all our messages we'd prefer the JacksonSerializer due to JSON's smaller format @Bean @Qualifier(\"messageSerializer\") public Serializer messageSerializer() { return JacksonSerializer.defaultSerializer(); } } # Possible values for these keys are `default`, `xstream`, `java`, and `jackson`. axon.serializer.general axon.serializer.events axon.serializer.messages # Possible values for these keys are `default`, `xstream`, `java`, and `jackson`. axon: serializer: general: events: messages: Several things might be considered when the serialization process proofs to not be up to par with the expectations. XStream is extremely configurable and extensible. If you just use a plain XStreamSerializer, there are some quick wins ready to pick up. XStream allows you to configure aliases for package names and event class names. Aliases are typically much shorter (especially if you have long package names), making the serialized form of an event smaller. And since we’re talking XML, each character removed from XML is twice the profit (one for the start tag, and one for the end tag). A more advanced topic in XStream is creating custom converters. The default reflection based converters are simple, but do not generate the most compact XML. Always look carefully at the generated XML and see if all the information there is really needed to reconstruct the original instance. Avoid the use of upcasters when possible. XStream allows aliases to be used for fields, when they have changed name. Imagine revision 0 of an event, that used a field called \"clientId\". The business prefers the term \"customer\", so revision 1 was created with a field called \"customerId\". This can be configured completely in XStream, using field aliases. You need to configure two aliases, in the following order: alias \"customerId\" to \"clientId\" and then alias \"customerId\" to \"customerId\". This will tell XStream that if it encounters a field called \"customerId\", it will call the corresponding XML element \"customerId\" (the second alias overrides the first). If XStream encounters an XML element called \"clientId\", it is a known alias and will be resolved to field name \"customerId\". Check out the XStream documentation for more information. For ultimate performance, you’re probably better off without reflection based mechanisms altogether. In that case, it is probably wisest to create a custom serialization mechanism. The DataInputStream and DataOutputStream allow you to easily write the contents of the events to an output stream. The ByteArrayOutputStream and ByteArrayInputStream allow writing to and reading from byte arrays. Especially in distributed systems, event messages need to be serialized on multiple occasions. Axon’s components are aware of this and have support for SerializationAware messages. If a SerializationAware message is detected, its methods are used to serialize an object, instead of simply passing the payload to a serializer. This allows for performance optimizations. When you serialize messages yourself, and want to benefit from the SerializationAware optimization, use the MessageSerializer class to serialize the payload and metadata of messages. All optimization logic is implemented in that class. See the JavaDoc of the MessageSerializer for more details. When using event sourcing, serialized events can stick around for a long time. Therefore, consider the format to which they are serialized, carefully. Consider configuring a separate serializer for events, carefully optimized for the way they are stored. The JSON format generated by Jackson is generally more suitable for the long term than XStream’s XML format. \"Being lenient\" from the Serializer’s perspective means the Serializer can ignore unknown properties. If it thus was handling a format to deserialize, it would not fail when it is incapable of finding a field / setter / constructor parameter for a given field in the serialized format. Enabling lenient serialization can be especially helpful to accommodate different message versions. This situation would occur naturally when using an event store, as the format of the events would change overtime. This might also happen between commands and queries if several distinct versions of an application are run concurrently. A scenario when you would hit this is when going for a rolling upgrade pattern to deploying a new service. To accommodate more closely with the desire to ignore unknown fields, both the XStreamSerializer and JacksonSerializer can be enabled as such. How to achieve this is shown in the following snippet: public class SerializerConfiguration { public Serializer buildSerializer() { return XStreamSerializer.builder() .lenientDeserialization() .build(); } } public class SerializerConfiguration { public Serializer buildSerializer() { return JacksonSerializer.builder() .lenientDeserialization() .build(); } } Sometimes the objects serialized by Axon will contain lists or collections of data. In other words, objects containing generics. For XStream, this poses no problem, as it will automatically add the type information to the serialized format. Jackson does not do this out of the box, however. The recommended approach by Jackson is to use the @JsonTypeInfo to define type information. Doing so will attach the object type to your, for example, serialized list/collection. This approach ensures that the other end can reconstruct the concrete type for you. Additionally, you can configure the ObjectMapper to add default typing information directly. However, note that this may not be a secure approach, as is described on Jackson’s Polymorphic Deserialization page. If you prefer to enable default typing regardless, the JacksonSerializer’s builder provides a method to allow this for you. With JacksonSerializer.Builder#defaultTyping, you will automatically enable the addition of types to the serialized format for lists and collections. Consider the following sample on how to enable default typing for the JacksonSerializer: public class SerializerConfiguration { // ... public Serializer buildSerializer() { return JacksonSerializer.builder() .defaultTyping() .build(); } } An upcaster works on a given content type (for example, dom4j Document). To provide extra flexibility between upcasters, content types between chained upcasters may vary. Axon will try to convert between the content types automatically by using a ContentTypeConverter. It will search for the shortest path from type x to type y, perform the conversion and pass the converted value into the requested upcaster. For performance reasons, conversion will only be performed if the canUpcast method on the receiving upcaster yields true. The ContentTypeConverter may depend on the type of serializer used. Attempting to convert a byte[] to a dom4j Document will not make any sense unless a Serializer was used that writes an event as XML. Axon Framework will only use the generic content type converters (such as the one converting a String to byte[] or a byte[] to InputStream) and the converters configured on the Serializer that will be used to deserialize the message. That means if you use a JSON based serializer, you would be able to convert to and from JSON-specific formats. ContentTypeConverters and Upcasting To achieve the best performance, ensure that all upcasters in the same chain (where one’s output is another chain’s input) work on the same content type. If Axon does not provide the content type conversion that you need, you can always write one yourself by implementing the ContentTypeConverter interface. The XStreamSerializer supports dom4j as well as XOM as XML document representations. The JacksonSerializer supports Jackson’s JsonNode and ObjectNode.","title":"Serialization","component":"axon-framework-reference","version":"development","name":"serialization","url":"/axon-framework-reference/development/serialization/","titles":[{"text":"Serializer Implementations","hash":"_serializer_implementations","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot - configuration class","hash":"_spring_boot_configuration_class","id":3},{"text":"Spring Boot - properties file","hash":"_spring_boot_properties_file","id":4},{"text":"Spring Boot - YAML file","hash":"_spring_boot_yaml_file","id":5},{"text":"Serializer tuning","hash":"_serializer_tuning","id":6},{"text":"XStreamSerializer","hash":"_xstreamserializer","id":7},{"text":"Preventing duplicate serialization","hash":"_preventing_duplicate_serialization","id":8},{"text":"Different serializer for events","hash":"different-serializer-for-events","id":9},{"text":"Lenient Deserialization","hash":"_lenient_deserialization","id":10},{"text":"XStreamSerializer","hash":"_xstreamserializer_2","id":11},{"text":"JacksonSerializer","hash":"_jacksonserializer","id":12},{"text":"Generic types","hash":"_generic_types","id":13},{"text":"ContentTypeConverters","hash":"_contenttypeconverters","id":14}]},"32":{"id":32,"text":"Axon Framework provides extensive support for Spring, but does not require you to use Spring in order to use Axon. All components can be configured programmatically and do not require Spring on the classpath. However, if you do use Spring, much of the configuration is made easier with the use of Spring’s annotation support. Axon provides Spring Boot starters on the top of that, so you can benefit from auto-configuration as well. Axon’s Spring Boot auto-configuration is by far the easiest option to get started configuring your Axon components. By simply declaring dependency to axon-spring-boot-starter, Axon will automatically configure the infrastructure components (command bus, event bus, query bus), as well as any component required to run and store aggregates and sagas. With Spring Data-JPA, a JPA Persistence Context is automatically configured. Axon’s Spring Boot Autoconfiguration module will make sure Axon’s JPA Entities are automatically registered with this default context. Since 4.6.0. we use the jakarta.persistence namespace by default, for backwards compatibility classes using the javax.persistence are available in the new legacyjpa namespace. However, when you explicitly include certain packages, for example using an @EntityScan annotation, this autoconfiguration will not happen anymore. If you then wish to use JPA based components from Axon, you will need to make sure the right Entities are registered. To register Axon’s JPA Entities, include the relevant packages, as described below: org.axonframework.eventhandling.tokenstore contains the entities necessary for the TokenStore used by Event Processors. org.axonframework.modelling.saga.repository.jpa contains the entities necessary to persist Sagas org.axonframework.eventsourcing.eventstore.jpa contains the entities necessary for the JPA Event Storage engine, when using a relational database as the Event Store. With a lot of things happening in the background, it sometimes becomes difficult to understand how an annotation or just including a dependency enables so many features. axon-spring-boot-starter follows general Spring boot convention in structuring the starter. It depends on axon-spring-boot-autoconfigure which holds concrete implementation of Axon auto-configuration. When Axon Spring Boot application starts up, it looks for a file named spring.factories in the classpath. This file is located in the META-INF directory of axon-spring-boot-autoconfigure module: org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\ org.axonframework.springboot.autoconfig.MetricsAutoConfiguration,\\ org.axonframework.springboot.autoconfig.MicrometerMetricsAutoConfiguration,\\ org.axonframework.springboot.autoconfig.EventProcessingAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonAutoConfiguration,\\ org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxAutoConfiguration,\\ org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxEventStoreAutoConfiguration,\\ org.axonframework.springboot.autoconfig.JpaAutoConfiguration,\\ org.axonframework.springboot.autoconfig.JpaEventStoreAutoConfiguration,\\ org.axonframework.springboot.autoconfig.JdbcAutoConfiguration,\\ org.axonframework.springboot.autoconfig.TransactionAutoConfiguration,\\ org.axonframework.springboot.autoconfig.NoOpTransactionAutoConfiguration,\\ org.axonframework.springboot.autoconfig.InfraConfiguration,\\ org.axonframework.springboot.autoconfig.ObjectMapperAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonServerAutoConfiguration,\\ org.axonframework.springboot.autoconfig.XStreamAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonServerActuatorAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonServerBusAutoConfiguration, \\ org.axonframework.springboot.autoconfig.AxonTracingAutoConfiguration, \\ org.axonframework.springboot.autoconfig.OpenTelemetryAutoConfiguration This file maps different configuration classes which an Axon Spring Boot application will try to apply. So, as per this snippet, Spring Boot will try to apply all the configuration classes for AxonServerAutoConfiguration, AxonAutoConfiguration, … axon-spring-boot-starter follows general Spring boot convention in structuring the starter. It depends on axon-spring-boot-autoconfigure which holds concrete implementation of Axon auto-configuration. When Axon Spring Boot application starts up, it looks for a file named org.springframework.boot.autoconfigure.AutoConfiguration.imports in the classpath. This file is located in the META-INF/spring directory of axon-spring-boot-autoconfigure module: org.axonframework.springboot.autoconfig.AxonAutoConfiguration org.axonframework.springboot.autoconfig.AxonServerActuatorAutoConfiguration org.axonframework.springboot.autoconfig.AxonServerAutoConfiguration org.axonframework.springboot.autoconfig.AxonServerBusAutoConfiguration org.axonframework.springboot.autoconfig.AxonTracingAutoConfiguration org.axonframework.springboot.autoconfig.EventProcessingAutoConfiguration org.axonframework.springboot.autoconfig.InfraConfiguration org.axonframework.springboot.autoconfig.JdbcAutoConfiguration org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxAutoConfiguration org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxEventStoreAutoConfiguration org.axonframework.springboot.autoconfig.JpaAutoConfiguration org.axonframework.springboot.autoconfig.JpaEventStoreAutoConfiguration org.axonframework.springboot.autoconfig.MetricsAutoConfiguration org.axonframework.springboot.autoconfig.MicrometerMetricsAutoConfiguration org.axonframework.springboot.autoconfig.NoOpTransactionAutoConfiguration org.axonframework.springboot.autoconfig.ObjectMapperAutoConfiguration org.axonframework.springboot.autoconfig.OpenTelemetryAutoConfiguration org.axonframework.springboot.autoconfig.TransactionAutoConfiguration org.axonframework.springboot.autoconfig.XStreamAutoConfiguration This file maps different configuration classes which an Axon Spring Boot application will try to apply. So, as per this snippet, Spring Boot will try to apply all the configuration classes for AxonServerAutoConfiguration, AxonAutoConfiguration, … Whether these configuration classes will be applied or not, it will depend on conditions defined on these classes: AxonServerAutoConfiguration configures Axon Server as implementation for the Command Bus, Query Bus and Event Store. It will be applied before AxonAutoConfiguration, and it will be applied only if the org.axonframework.axonserver.connector.AxonServerConfiguration class is available in the classpath. Axon Server auto configuration can be disabled by setting the axon.axonserver.enabled property to false in the .properties/.yml file. AxonAutoConfiguration configures a 'non-axon-server' implementation of Command Bus, Query Bus, Event Store/Event Bus and other Axon components. These components will be initialized only if they are not in the Spring Application context already, eg. @ConditionalOnMissingBean(EventBus.class). As AxonAutoConfiguration will be applied after AxonServerAutoConfiguration these Axon components will be in the Spring Application Context already, and therefore Axon Server’s implementation of Command Bus, Query Bus and Event Store/Event Bus will win. Axon Spring Boot auto-configuration is not intrusive. It will define only Spring components that you haven’t already explicitly defined in the application context. This allows you to completely override the auto-configured beans by defining your own in one of the @Configuration classes. Specific Axon (Spring) component configurations will be explained in detail in the following sections of this guide. When using Spring to automatically wire everything, sometimes there is a need to know when all the (Command, Event and Query) handlers have been registered to their respective buses. To support this an AxonStartedEvent Spring event is published when the Configuration module has fully started.","title":"Spring Boot Integration","component":"axon-framework-reference","version":"development","name":"spring-boot-integration","url":"/axon-framework-reference/development/spring-boot-integration/","titles":[{"text":"Auto-configuration","hash":"_auto_configuration","id":1},{"text":"JPA and persistence contexts","hash":"_jpa_and_persistence_contexts","id":2},{"text":"Demystifying Axon Spring Boot Starter","hash":"_demystifying_axon_spring_boot_starter","id":3},{"text":"Auto configuration with Spring Boot 2","hash":"_auto_configuration_with_spring_boot_2","id":4},{"text":"Auto configuration with Spring Boot","hash":"_auto_configuration_with_spring_boot","id":5},{"text":"Spring event on startup finished","hash":"_spring_event_on_startup_finished","id":6}]},"33":{"id":33,"text":"Unfortunately, but necessarily, Axon Framework 4.7.0 introduces a few breaking changes. If you migrate from 4.6.x (or earlier) versions, you may need to make some adjustments to your code. If you start a greenfield Axon Framework project, there is nothing to worry about. You may safely skip the following information. The breaking changes are related to the migration from javax to jakarta packages both in Axon Framework and other frameworks often used together with Axon. Depending on what you were using with 4.6.x version, there are three possible migration paths: From javax to javax: This is what you may want if you don’t want Spring 6 and Spring Boot 3 support and expect things to stay the same. From javax to jakarta: This is what you will want if you also upgrade to Spring 6, Spring Boot 3, or another framework that depends on jakarta packages. From jakarta to jakarta: This is what you will want if you have already moved to the optional [module-name]-jakarta modules in Axon Framework 4.6.x. Next to the full scenario descriptions, you are also able to use OpenRewrite migration recipes provided by the Framework. Please go to the Migration automation section for more details. From jakarta to javax While technically possible, the jakarta to javax migration is not something you should do. If you have already made an effort to switch to the new packages, it makes no sense to go back. Zero Axon configuration If you don’t have any manual configuration and use the framework’s axon-spring-boot-starter, than the upgrade to 4.7 is seamless. Adjust packages in import statements and FQCNs according to the new locations mentioned below: Axon 4.6.x Axon 4.7.x org.axonframework.common.jpa.EntityManagerProvider org.axonframework.common.legacyjpa.EntityManagerProvider org.axonframework.common.jpa.PagingJpaQueryIterable org.axonframework.common.legacyjpa.PagingJpaQueryIterable org.axonframework.common.jpa.SimpleEntityManagerProvider org.axonframework.common.legacyjpa.SimpleEntityManagerProvider org.axonframework.eventhandling.deadletter.jpa.DeadLetterJpaConverter org.axonframework.eventhandling.deadletter.legacyjpa.DeadLetterJpaConverter org.axonframework.eventhandling.deadletter.jpa.EventMessageDeadLetterJpaConverter org.axonframework.eventhandling.deadletter.legacyjpa.EventMessageDeadLetterJpaConverter org.axonframework.eventhandling.deadletter.jpa.JpaDeadLetter org.axonframework.eventhandling.deadletter.legacyjpa.JpaDeadLetter org.axonframework.eventhandling.deadletter.jpa.JpaSequencedDeadLetterQueue org.axonframework.eventhandling.deadletter.legacyjpa.JpaSequencedDeadLetterQueue org.axonframework.eventhandling.tokenstore.jpa.JpaTokenStore org.axonframework.eventhandling.tokenstore.legacyjpa.JpaTokenStore org.axonframework.eventsourcing.eventstore.jpa.JpaEventStorageEngine org.axonframework.eventsourcing.eventstore.legacyjpa.JpaEventStorageEngine org.axonframework.eventsourcing.eventstore.jpa.SQLErrorCodesResolver org.axonframework.eventsourcing.eventstore.legacyjpa.SQLErrorCodesResolver org.axonframework.messaging.interceptors.BeanValidationInterceptor org.axonframework.messaging.interceptors.legacyvalidation.BeanValidationInterceptor org.axonframework.messaging.interceptors.JSR303ViolationException org.axonframework.messaging.interceptors.legacyvalidation.JSR303ViolationException org.axonframework.modelling.command.GenericJpaRepository org.axonframework.modelling.command.legacyjpa.GenericJpaRepository org.axonframework.modelling.saga.repository.jpa.JpaSagaStore org.axonframework.modelling.saga.repository.legacyjpa.JpaSagaStore org.axonframework.springboot.autoconfig.JpaAutoConfiguration org.axonframework.springboot.autoconfig.legacyjpa.JpaJavaxAutoConfiguration org.axonframework.springboot.autoconfig.JpaEventStoreAutoConfiguration org.axonframework.springboot.autoconfig.legacyjpa.JpaJavaxEventStoreAutoConfiguration org.axonframework.springboot.util.jpa.ContainerManagedEntityManagerProvider org.axonframework.springboot.util.legacyjpa.ContainerManagedEntityManagerProvider If you have customized the TokenEntry or AbstractTokenEntry, rebase your changes on the current TokenEntry. This is required since the AbstractTokenEntry has been deprecated in favor of the TokenEntry. If you have customized the SagaEntry or AbstractSagaEntry, rebase your changes on the current SagaEntry. This is required since the AbstractSagaEntry has been deprecated in favor of the SagaEntry. Remove most mentions of javax in your codebase and replace them with respective jakarta ones. Note that not every reference of javax is deprecated as part of the Javax-to-Jakarta switch, such as some javax.annotation and javax.cache mentions. You can find an exhaustive list of unaffected packages here. If you are using any other frameworks together with Axon Framework (such as Spring, Hibernate, etc.) make sure to upgrade those to the respective versions supporting jakarta namespace. If you migrate to Hibernate 6 and did not customize the sequence generator of the Framework’s domain_event_entry and association_value_entry, you need to deal with Hibernates adjusted default sequence generator. In this case, your environment uses a so-called hibernate_sequence that is used for all your tables. However, Hibernate 6 will construct dedicated sequences per table using a sequence generator. Although we strongly recommend that you use a dedicated sequence generator per table, the easiest way forward to switch back this new default of Hibernate: persistence.xml configuration Spring Boot - properties file spring.jpa.properties.hibernate.id.db_structure_naming_strategy=legacy #omitting other properties for simplicity... In your dependency configuration (Maven, Gradle, etc.) replace the jakarta-specific Axon Framework modules with the default ones: Axon 4.6.x Axon 4.7.x axon-configuration-jakarta axon-configuration axon-eventsourcing-jakarta axon-eventsourcing axon-messaging-jakarta axon-messaging axon-modelling-jakarta axon-modelling The steps above explain in detail what you need to do to upgrade to Axon Framework 4.7 or higher. If you want to automate some of these steps, there are two OpenRewrite migration recipes you can use: Upgrade to Axon Framework 4.7+ Jakarta - A recipe to upgrade from an Axon Framework Javax-specific project to Jakarta. Upgrade to Axon Framework 4.7+ Javax - A recipe to upgrade an Axon Framework Javax-specific project and remain on Javax. For example, if you want to upgrade to 4.7 and stick with Javax, you can run the following command: mvn -U org.openrewrite.maven:rewrite-maven-plugin:4.40.0:run \\ -Drewrite.recipeArtifactCoordinates=org.axonframework:axon-migration:LATEST \\ -DactiveRecipes=org.axonframework.migration.UpgradeAxonFramework_4_7_Javax If you prefer Gradle over Maven, refer to the OpenRewrite documentation to resolve this. Combining recipes The mentioned recipes above only allow you to upgrade Axon Framework-specific code. However, you can combine recipes into a single command to, for example, upgrade to Spring Boot 3 and Axon Framework 4.7 in one go: mvn -U org.openrewrite.maven:rewrite-maven-plugin:4.40.0:run \\ -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:4.33.0,org.axonframework:axon-migration:LATEST \\ -DactiveRecipes=org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0,org.axonframework.migration.UpgradeAxonFramework_4_7_Jakarta","title":"Upgrading to Axon Framework 4.7","component":"axon-framework-reference","version":"development","name":"upgrading-to-4-7","url":"/axon-framework-reference/development/upgrading-to-4-7/","titles":[{"text":"Steps to upgrade from javax to javax","hash":"_steps_to_upgrade_from_javax_to_javax","id":1},{"text":"Step 1","hash":"_step_1","id":2},{"text":"Step 2","hash":"_step_2","id":3},{"text":"Step 3","hash":"_step_3","id":4},{"text":"Steps to upgrade from javax to jakarta","hash":"_steps_to_upgrade_from_javax_to_jakarta","id":5},{"text":"Step 1","hash":"_step_1_2","id":6},{"text":"Step 2","hash":"_step_2_2","id":7},{"text":"Step 3","hash":"_step_3_2","id":8},{"text":"Steps to upgrade from jakarta to jakarta","hash":"_steps_to_upgrade_from_jakarta_to_jakarta","id":9},{"text":"Migration automation","hash":"_migration_automation","id":10}]},"34":{"id":34,"text":"The Command Handlers pages provide the background on how to handle command messages in your application. The dispatching process is the starting point of such a command message. Axon provides two interfaces you can use to send the commands to your command handlers, being the CommandBus and the CommandGateway. This page will show how and when to use the command gateway and bus. How to configure and specifics on the command gateway and bus implementations are discussed in the infrastructure section. The CommandBus is the mechanism that dispatches commands to their respective command handlers. As such, it is the infrastructure component that is aware of which component can handle which command. Each command is always sent to exactly one command handler. If no command handler is available for the dispatched command, a NoHandlerForCommandException exception is thrown. The CommandBus provides two methods to dispatch commands to their respective handler, being the dispatch(CommandMessage) and dispatch(CommandMessage, CommandCallback) methods: private CommandBus commandBus; (1) public void dispatchCommands() { String cardId = UUID.randomUUID().toString(); (2) (3) (4) commandBus.dispatch(GenericCommandMessage.asCommandMessage(new IssueCardCommand(cardId, 100, \"shopId\"))); (5) (6) commandBus.dispatch( GenericCommandMessage.asCommandMessage(new IssueCardCommand(cardId, 100, \"shopId\")), (CommandCallback) (cmdMsg, cmdResultMsg) -> { (7) if (cmdResultMsg.isExceptional()) { Throwable throwable = cmdResultMsg.exceptionResult(); } else { String commandResult = cmdResultMsg.getPayload(); } } ); } // omitted class, constructor and result usage The CommandDispatcher described above exemplifies a couple of important aspects and capabilities of the dispatching commands: 1 The CommandBus interface providing the functionality to dispatch command messages. 2 The aggregate identifier is, per best practice, initialized as the String of a random unique identifier. Typed identifier objects are also possible, as long as the object implements a sensible toString() function. 3 The GenericCommandMessage#asCommandMessage(Object) method is used to create a CommandMessage. To be able to dispatch a command on the CommandBus, you are required to wrap your own command object (for example, the 'command message payload') in a CommandMessage. The CommandMessage also allows the addition of MetaData to the Command Message. 4 The CommandBus#dispatch(CommandMessage) function will dispatch the provided CommandMessage on the bus, for delivery to a command handler. If an application isn’t directly interested in the outcome of a command, this method can be used. 5 If the outcome of command handling is relevant for your application, the optional second parameter can be provided, the CommandCallback. The CommandCallback allows the dispatching component to be notified when command handling is completed. 6 The Command Callback has one function, onResult(CommandMessage, CommandResultMessage), which is called when command handling has finished. The first parameter is the dispatched command, whilst the second is execution result of the dispatched command. Lastly, the CommandCallback is a 'functional interface' due to onResult being its only method. As such, commandBus.dispatch(commandMessage, (cmdMsg, commandResultMessage) -> { /* …​ */ }) would also be possible. 7 The CommandResultMessage provides the API to verify whether command execution was exceptional or successful. If CommandResultMessage#isExceptional returns true, you can assume that the CommandResultMessage#exceptionResult will return a Throwable instance containing the actual exception. Otherwise, the CommandResultMessage#getPayload method may provide you with an actual result or null, as further specified here. Command Callback consideration In the case that dispatch(CommandMessage, CommandCallback) is used, the calling component may not assume that the callback is invoked in the same thread that dispatched the command. If the calling thread depends on the result before continuing, you can use the FutureCallback. The FutureCallback is a combination of a Future (as defined in the java.concurrent package) and Axon’s CommandCallback. Alternatively, consider using a CommandGateway. The 'Command Gateway' is a convenience approach towards dispatching commands. It does so by abstracting certain aspects for you when dispatching a command on the CommandBus. It this uses the CommandBus underneath to perform the actual dispatching of the message. While you are not required to use a gateway to dispatch commands, it is generally the easiest option to do so. The CommandGateway interface can be separated in two sets of methods, namely send and sendAndWait: private CommandGateway commandGateway; (1) public void sendCommand() { String cardId = UUID.randomUUID().toString(); (2) (3) CompletableFuture futureResult = commandGateway.send(new IssueCardCommand(cardId, 100, \"shopId\")); } // omitted class, constructor and result usage The send API as shown above introduces a couple of concepts, marked with numbered comments: 1 The CommandGateway interface providing the functionality to dispatch command messages. It does so by internally leveraging the CommandBus interface dispatch messages. 2 The aggregate identifier is, per best practice, initialized as the String of a random unique identifier. Typed identifier objects are also possible, as long as the object implements a sensible toString() function. 3 The send(Object) function requires a single parameter, the command object. This is an asynchronous approach to dispatching commands. As such the response of the send method is a CompletableFuture. This allows for chaining of follow-up operations after the command result has been returned. Callback when using send(Object) The CommandGateway#send(Object) method uses the FutureCallback under the hood to unblock the command dispatching thread from the command handling thread. A synchronous approach to sending messages can also be achieved, by using the sendAndWait methods: private CommandGateway commandGateway; public void sendCommandAndWaitOnResult() { IssueCardCommand commandPayload = new IssueCardCommand(UUID.randomUUID().toString(), 100, \"shopId\"); (1) String result = commandGateway.sendAndWait(commandPayload); (2) result = commandGateway.sendAndWait(commandPayload, 1000, TimeUnit.MILLISECONDS); } // omitted class, constructor and result usage 1 The CommandGateway#sendAndWait(Object) function takes in a single parameter, your command object. It will wait indefinitely until the command dispatching and handling process has been resolved. The result returned by this method can either be successful or exceptional, as will be explained here. 2 If waiting indefinitely is not desirable, a 'timeout' paired with the 'time unit' can be provided alongside the command object. Doing so will ensure that the command dispatching thread will not wait longer than specified. If command dispatching/handling was interrupted or the timeout was reached whilst using this approach, the command result will be null. In all other scenarios, the result follows the referenced approach. Dispatching commands will, generally speaking, have two possible outcomes: Command handled successfully, and command handled exceptionally The outcome to some extent depends on the dispatching process, but more so on the implementation of the command handler. Thus, if the @CommandHandler annotated function throws an exception due to some business logic, it will be that exception which will be the result of dispatching the command. The successful resolution of command handling intentionally should not provide any return objects. Thus, if the CommandBus/CommandGateway provides a response (either directly or through the CommandResultMessage), then you should assume the result of successful command handling to return null. While it is possible to return results from command handlers, this should be used sparsely. The intent of the Command should never be to retrieve a value, as that would be an indication that the message should be designed as a Query Message. Exceptions to this would be the identifier of the Aggregate Root, or identifiers of entities the Aggregate Root has instantiated. The framework has one such exception build in, on the @CommandHandler annotated constructor of an Aggregate. In case the 'command handling constructor' has executed successfully, instead of the Aggregate itself, the value of the @AggregateIdentifier annotated field will be returned. site:https://youtu.be/lxonQnu1txQ[Axon Coding Tutorial #5: - Connecting the UI]","title":"Command Dispatchers","component":"axon-framework-reference","version":"development","name":"command-dispatchers","url":"/axon-framework-reference/development/axon-framework-commands/command-dispatchers/","titles":[{"text":"The CommandBus","hash":"command-bus","id":1},{"text":"The CommandGateway","hash":"command-gateway","id":2},{"text":"Command dispatching results","hash":"_command_dispatching_results","id":3}]},"35":{"id":35,"text":"Although Command Handlers can be placed in regular components, it is recommended to define the Command Handlers directly on the Aggregate that contains the state to process this command. To define a Command Handler in an Aggregate, simply annotate the method which should handle the command with @CommandHandler. The @CommandHandler annotated method will become a Command Handler for Command Messages where the command name matches fully qualified class name of the first parameter of that method. Thus, a method signature of void handle(RedeemCardCommand cmd) annotated with @CommandHandler, will be the Command Handler of the RedeemCardCommand Command Messages. Command Messages can also be dispatched with different command names. To be able to handle those correctly, the String commandName value can be specified in the @CommandHandler annotation. In order for Axon to know which instance of an Aggregate type should handle the Command Message, the property carrying the Aggregate Identifier in the command object must be annotated with @TargetAggregateIdentifier. The annotation may be placed on either the field or an accessor method (for example, a getter) in the Command object. Routing in a distributed environment Regardless of the type of command, as soon as you start distributing your application (through Axon Server, for example), it is recommended to specify a routing key on the command. This is the job of the @TargetAggregateIdentifier, but in absence of a field worthy of the annotation, the @RoutingKey annotation should be added to ensure the command can be routed. If neither annotation works for your use case, a different RoutingStrategy can be configured, as is explained in the Routing Strategy section. Taking the GiftCard Aggregate as an example, we can identify two Command Handlers on the Aggregate: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.AggregateIdentifier; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier private String id; private int remainingValue; @CommandHandler public GiftCard(IssueCardCommand cmd) { apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } @CommandHandler public void handle(RedeemCardCommand cmd) { if (cmd.getAmount() remainingValue) { throw new IllegalStateException(\"amount > remaining value\"); } apply(new CardRedeemedEvent(id, cmd.getTransactionId(), cmd.getAmount())); } // omitted event sourcing handlers } The Command objects, IssueCardCommand and RedeemCardCommand, which GiftCard handles have the following format: import org.axonframework.modelling.command.TargetAggregateIdentifier; public class IssueCardCommand { @TargetAggregateIdentifier private final String cardId; private final Integer amount; public IssueCardCommand(String cardId, Integer amount) { this.cardId = cardId; this.amount = amount; } // omitted getters, equals/hashCode, toString functions } public class RedeemCardCommand { @TargetAggregateIdentifier private final String cardId; private final String transactionId; private final Integer amount; public RedeemCardCommand(String cardId, String transactionId, Integer amount) { this.cardId = cardId; this.transactionId = transactionId; this.amount = amount; } // omitted getters, equals/hashCode, toString functions } The cardId present in both commands is the reference to a GiftCard instance and thus is annotated with the @TargetAggregateIdentifier annotation. Commands that create an Aggregate instance do not need to identify the target aggregate identifier, as there is no Aggregate in existence yet. It is nonetheless recommended for consistency to annotate the Aggregate Identifier on them as well. If you prefer to use another mechanism for routing commands, the behavior can be overridden by supplying a custom CommandTargetResolver. This class should return the Aggregate Identifier and expected version (if any) based on a given command. Aggregate Creation Command Handlers When the @CommandHandler annotation is placed on an aggregate’s constructor, the respective command will create a new instance of that aggregate and add it to the repository. Those commands do not require targeting a specific aggregate instance. Therefore, those commands need neither the @TargetAggregateIdentifier nor the @TargetAggregateVersion annotation. Furthermore, a custom CommandTargetResolver will not be invoked for these commands. Within an Aggregate there is a specific location to perform business logic validation and Aggregate state changes. The Command Handlers should decide whether the Aggregate is in the correct state. If yes, an Event is published. If not, the Command might be ignored or an exception could be thrown, depending on the needs of the domain. State changes should not occur in any Command Handling function. The Event Sourcing Handlers should be the only methods where the Aggregate’s state is updated. Failing to do so means the Aggregate would miss state changes when it is being sourced from its events. The Aggregate Test Fixture will guard against unintentional state changes in Command Handling functions. It is thus advised to provide thorough test cases for any Aggregate implementation. Only handle the necessary events The only state an Aggregate requires is the state it needs to make a decision. Handling an Event published by the Aggregate is thus only required if the state change is necessary for future validation of other commands. In some cases, especially when the Aggregate structure grows beyond just a couple of Entities, it is cleaner to react on events being published in other Entities of the same Aggregate (multi-entity Aggregates are explained in more detail here). However, since the Event Handling methods are also invoked when reconstructing Aggregate state, special precautions must be taken. It is possible to apply() new events inside an Event Sourcing Handler method. This makes it possible for an Entity 'B' to apply an event in reaction to Entity 'A' doing something. Axon will ignore the apply()`invocation when replaying historic events upon sourcing the given Aggregate. Do note that in the scenario where Event Messages are published from an Event Sourcing Handler, the Event of the inner `apply() invocation is only published to the entities after all entities have received the first event. If more events need to be published, based on the state of an entity after applying an inner event, use apply(…​).andThenApply(…​). Reacting to external events An Aggregate cannot handle events from other sources then itself. This is intentional as the Event Sourcing Handlers are used to recreate the state of the Aggregate. For this, it only needs its own events as those represent its state changes. To make an Aggregate react to events from other Aggregate instances, Sagas or Event Handling Components should be leveraged Up until now, we have depicted the GiftCard aggregate with roughly two types of command handlers: @CommandHandler annotated constructors @CommandHandler annotated methods Option 1 will always expect to be the instantiation of the GiftCard aggregate, whilst option 2 expects to be targeted towards an existing aggregate instance. Although this may be the default, there is the option to define a creation policy on a command handler. This can be achieved by adding the @CreationPolicy annotation to a command handler annotated method, like so: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.CreationPolicy; import org.axonframework.modelling.command.AggregateCreationPolicy; public class GiftCard { public GiftCard() { // Required no-op constructor } @CommandHandler @CreationPolicy(AggregateCreationPolicy.ALWAYS) public void handle(IssueCardCommand cmd) { // An `IssueCardCommand`-handler which will create a `GiftCard` aggregate } @CommandHandler @CreationPolicy(AggregateCreationPolicy.CREATE_IF_MISSING) public void handle(CreateOrRechargeCardCommand cmd) { // A 'CreateOrRechargeCardCommand'-handler which creates a `GiftCard` aggregate if it did not exist // Otherwise, it will update an existing `GiftCard` aggregate. } // omitted aggregate state, command handling logic and event sourcing handlers } As is shown above, the @CreationPolicy annotation requires stating the AggregateCreationPolicy. This enumeration has the following options available: ALWAYS: Will expect to instantiate the aggregate. This effectively works like a command handler annotated constructor. Without defining a return type, the aggregate identifier used during the creation will be returned. Through this approach, it is possible to return other results next to the aggregate identifier. CREATE_IF_MISSING: Can either create an aggregate or act on an existing instance. This policy should be regarded as an upsert approach of an aggregate. NEVER: Will be handled on an existing aggregate instance. This effectively works like any regular command handler annotated method. Command handling functions are most often directly placed on the Aggregate (as described in more detail here). There are situations, however, where it is not possible nor desired to route a command directly to an Aggregate instance. Message handling functions, like Command Handlers, can, however, be placed on any object. It is thus possible to instantiate a 'Command Handling Object'. A Command Handling Object is a simple (regular) object, which has @CommandHandler annotated methods. Unlike with Aggregates, there is only a single instance of a Command Handling Object, which handles all commands of the types it declares in its methods: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.Repository; public class GiftCardCommandHandler { private final Repository giftCardRepository; (1) @CommandHandler public void handle(RedeemCardCommand cmd) { giftCardRepository.load(cmd.getCardId()) (2) .execute(giftCard -> giftCard.handle(cmd)); (3) } // omitted constructor } In the above snippet we have decided that the RedeemCardCommand should no longer be directly handled on the GiftCard. Instead, we load the GiftCard manually and execute the desired method on it: 1 The Repository for the GiftCard Aggregate, used for retrieval and storage of an Aggregate. If @CommandHandler methods are placed directly on the Aggregate, Axon will automatically know to call the Repository to load a given instance. It is thus not mandatory to directly access the Repository, but a design choice. 2 To load the intended GiftCard Aggregate instance, the Repository#load(String) method is used. The provided parameter should be the Aggregate identifier. 3 After that Aggregate has been loaded, the Aggregate#execute(Consumer) function should be invoked to perform an operation on the Aggregate. Using the execute function ensure that the Aggregate life cycle is correctly started.","title":"Command Handlers","component":"axon-framework-reference","version":"development","name":"command-handlers","url":"/axon-framework-reference/development/axon-framework-commands/command-handlers/","titles":[{"text":"Aggregate command handlers","hash":"_aggregate_command_handlers","id":1},{"text":"Business logic and state changes","hash":"_business_logic_and_state_changes","id":2},{"text":"Applying events from event-sourcing handlers","hash":"_applying_events_from_event_sourcing_handlers","id":3},{"text":"Aggregate command handler creation policy","hash":"_aggregate_command_handler_creation_policy","id":4},{"text":"External command handlers","hash":"external_command_handlers","id":5}]},"36":{"id":36,"text":"This page describes how you can configure your Aggregate model. Core concepts within the Command Model are the Aggregates that are implemented. To instantiate a default Aggregate configuration, you do the following: Configuration API Spring Boot Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate(GiftCard.class); The @Aggregate annotation (in the org.axonframework.spring.stereotype package) triggers auto configuration to set up the necessary components to use the annotated type as an aggregate. Note that only the aggregate root needs to be annotated. Axon will automatically register all the @CommandHandler annotated methods with the command bus and set up a repository if none is present. // ... import org.axonframework.spring.stereotype.Aggregate; // ... @Aggregate public class GiftCard { @AggregateIdentifier private String id; @CommandHandler public GiftCard(IssueCardCommand cmd) { apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } } Often the command handler functions are placed directly on the aggregate. When this approach is taken, simply registering the Aggregate as described above is sufficient for all its command handler methods to be registered too. External Command Handlers however do require direct registration as being a command handler, which is shown in the following sample: Configuration API Spring Boot Given the existence of the following Command Handler: public class GiftCardCommandHandler { private final Repository giftCardRepository; @CommandHandler public void handle(RedeemCardCommand cmd) { giftCardRepository.load(cmd.getCardId()) .execute(giftCard -> giftCard.handle(cmd)); } // omitted constructor } The following is needed to register a GiftCardCommandHandler as being a Command Handler: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerCommandHandler(conf -> new GiftCardCommandHandler()); Or, a more general approach to registering all types of message handlers in a component can be used: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerMessageHandler(conf -> new GiftCardCommandHandler()); When using Spring Boot, simply specifying the Command Handler as a bean is sufficient: @Component public class GiftCardCommandHandler { private final Repository giftCardRepository; @CommandHandler public void handle(RedeemCardCommand cmd) { giftCardRepository.load(cmd.getCardId()) .execute(giftCard -> giftCard.handle(cmd)); } // omitted constructor } Duplicate Command Handlers As specified in the Messaging Concepts section, a command always has exactly one destination. That means there should only be a single Command Handler method for any given command. By default, when a duplicate Command Handler method is registered, the last registration will be kept and a warning is logged. This behavior can be adjusted by specifying a different DuplicateCommandHandlerResolver, as is described in the Runtime Tuning section. The repository is the mechanism that provides access to aggregates. The repository acts as a gateway to the actual storage mechanism used to persist the data. In CQRS, repositories only need to be able to find aggregates based on their unique identifier. Any other types of queries should be performed against the query database. In Axon Framework, all repositories must implement the Repository interface. This interface prescribes three methods: load(identifier, version), load(identifier) and newInstance(factoryMethod). The load methods allows you to load aggregates from the repository. The optional version parameter is used to detect concurrent modifications (see Conflict resolution). newInstance is used to register newly created aggregates in the repository. Depending on your underlying persistence storage and auditing needs, there are a number of base implementations that provide basic functionality needed by most repositories. Axon Framework makes a distinction between repositories that save the current state of the aggregate (see Standard repositories), and those that store the events of an aggregate (see Event Sourcing repositories). Note that the Repository interface does not prescribe a delete(identifier) method. Deleting aggregates is done by invoking the AggregateLifecycle.markDeleted() method from within an aggregate. Deleting an aggregate is a state migration like any other, with the only difference that it is irreversible in many cases. You should create your own meaningful method on your aggregate which sets the aggregate’s state to \"deleted\". This also allows you to register any events that you would like to have published. Configuration API Spring Boot Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate( AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureRepository(c -> EventSourcingRepository.builder(GiftCard.class) .eventStore(c.eventStore()) .build()) ); To fully customize the repository used, you can define one in the application context. For Axon Framework to use this repository for the intended aggregate, define the bean name of the repository in the repository attribute on @Aggregate Annotation. Alternatively, specify the bean name of the repository to be the aggregate’s name, (first character lowercase), suffixed with Repository. So on a class of type GiftCard, the default repository name is giftCardRepository. If no bean with that name is found, Axon will define an EventSourcingRepository (which fails if no EventStore is available). @Bean public Repository repositoryForGiftCard(EventStore eventStore) { return EventSourcingRepository.builder(GiftCard.class).eventStore(eventStore).build(); } @Aggregate(repository = \"repositoryForGiftCard\") public class GiftCard { /*...*/ } Note that this requires full configuration of the Repository, including any SnapshotTriggerDefinition or AggregateFactory that may otherwise have been configured automatically. Standard repositories store the actual state of an aggregate. Upon each change, the new state will overwrite the old. This makes it possible for the query components of the application to use the same information the command component also uses. This could, depending on the type of application you are creating, be the simplest solution. If that is the case, Axon provides some building blocks that help you implement such a repository. Axon provides one out-of-the-box implementation for a standard Repository: the GenericJpaRepository. It expects the Aggregate to be a valid JPA Entity. It is configured with an EntityManagerProvider which provides the EntityManager to manage the actual persistence, and a class specifying the actual type of aggregate stored in the repository. You also pass in the EventBus to which events are to be published when the aggregate invokes the static AggregateLifecycle.apply() method. You can also easily implement your own repository. In that case, it is best to extend from the abstract LockingRepository. As aggregate wrapper type, it is recommended to use the AnnotatedAggregate. See the sources of GenericJpaRepository for an example. Aggregate roots that are able to reconstruct their state based on events may also be configured to be loaded by an event sourcing repository. Those repositories do not store the aggregate itself, but the series of events generated by the aggregate. Based on these events, the state of an aggregate can be restored at any time. The EventSourcingRepository implementation provides the basic functionality needed by any event sourcing repository in the Axon Framework. It depends on an EventStore (see Event store implementations), which abstracts the actual storage mechanism for the events. The AggregateFactory specifies how an aggregate instance is created based on a given event stream. This makes the AggregateFactory a configurable component for the EventSourcingRepository only. Furthermore, it is only invoked for existing aggregate event streams, as an event stream is required. Hence, the command constructing the aggregate will not trigger an AggregateFactory invocation. Axon Framework comes with two AggregateFactory implementations that you may use. If they do not suffice, it is really easy to create your own implementation. The GenericAggregateFactory is a special AggregateFactory implementation that can be used for any type of event sourced aggregate root. The GenericAggregateFactory creates an instance of the aggregate type the repository manages. The aggregate class must be non-abstract and declare a default no-arg constructor that does no initialization at all. The GenericAggregateFactory is suitable for most scenarios where aggregates do not need special injection of non-serializable resources. Depending on your architectural choices, it might be useful to inject dependencies into your aggregates using Spring. You could, for example, inject query repositories into your aggregate to ensure the existence (or nonexistence) of certain values. To inject dependencies into your aggregates, you need to configure a prototype bean of your aggregate root in the Spring context that also defines the SpringPrototypeAggregateFactory. Instead of creating regular instances of using a constructor, it uses the Spring Application Context to instantiate your aggregates. This will also inject any dependencies in your aggregate. Note that although you can inject dependencies as global fields of an aggregate, you can also inject them as parameters. When it comes to parameters added to message handling methods, Axon uses the so-called Parameter Resolver support to inject your beans. As such, the SpringPrototypeAggregateFactory does not play any role to inject dependencies to message handling methods. In some cases, the GenericAggregateFactory just doesn’t deliver what you need. For example, you could have an abstract aggregate type with multiple implementations for different scenarios (for example, PublicUserAccount and BackOfficeAccount both extending an Account). Instead of creating different repositories for each of the aggregates, you could use a single repository, and configure an AggregateFactory that is aware of the different implementations. The bulk of the work the aggregate factory does is creating uninitialized aggregate instances. It must do so using a given aggregate identifier and the first event from the stream. Usually, this event is a creation event which contains hints about the expected type of aggregate. You can use this information to choose an implementation and invoke its constructor. Make sure no events are applied by that constructor; the aggregate must be uninitialized. Initializing aggregates based on the events can be a time-consuming effort, compared to the direct aggregate loading of the simple repository implementations. The CachingEventSourcingRepository provides a cache from which aggregates can be loaded if available.","title":"Configuration","component":"axon-framework-reference","version":"development","name":"configuration","url":"/axon-framework-reference/development/axon-framework-commands/configuration/","titles":[{"text":"Aggregate configuration","hash":"_aggregate_configuration","id":1},{"text":"Registering a command handler","hash":"registering-a-command-handler","id":2},{"text":"Command model repositories","hash":"_command_model_repositories","id":3},{"text":"Standard repositories","hash":"standard-repositories","id":4},{"text":"Event Sourcing repositories","hash":"event-sourcing-repositories","id":5},{"text":"Aggregate factories","hash":"_aggregate_factories","id":6},{"text":"GenericAggregateFactory","hash":"_genericaggregatefactory","id":7},{"text":"SpringPrototypeAggregateFactory","hash":"_springprototypeaggregatefactory","id":8},{"text":"Implementing your own AggregateFactory","hash":"_implementing_your_own_aggregatefactory","id":9}]},"37":{"id":37,"text":"The first type of Message that an Axon application is associated with is the Command Message, or simply Commands. These are messages with the intent to change the state of the application in one way or another. This section of the reference guide covers in detail the capabilities that Axon Framework provides for Command messages. A summary of the various sections is given below. Sub-Section Purpose Modeling Axon Framework provided components to address Aggregate Modeling concerns Command Dispatchers/ Command Handlers Functional Development concerns for Command Messages using the Axon Framework Infrastructure Non-Functional Development concerns for Command Messages using the Axon Framework Configuration Configuration concerns for Command Messages using the Axon Framework This guide is complemented by a video tutorial which gives a practical demonstration of the concepts explained in this section. The tutorial is available at -> Axon Coding Tutorial - Command Messages","title":"Commands","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/axon-framework-commands/","titles":[]},"38":{"id":38,"text":"Command dispatching, as exemplified in the Dispatching Commands page, has a number of advantages. Firstly, it constructs an object that clearly describes the intent of the client. By logging the command, you store both the intent and the related data for future reference. Command handling also makes it easy to expose your command processing components to remote clients, via web services for example. Testing also becomes a lot easier. You could define test scripts by just defining the starting situation (given), command to execute (when) and expected results (then) by listing a number of events and commands (see Testing for more on this). The last major advantage is that it is really easy to switch between synchronous and asynchronous, as well as local versus distributed command processing. This does not mean command dispatching using explicit command objects is the only way to do it. The goal of Axon is not to prescribe a specific way of working, but to support you doing it your way, while providing best practices as the default behavior. It is still possible to use a service layer that you can invoke to execute commands. The method will just need to start a unit of work (see Unit of Work) and perform a commit or rollback on it when the method is finished. The next sections provide an overview of the tasks related to setting up a command dispatching infrastructure with the Axon Framework. The API-friendlier CommandGateway is mentioned, as well as the CommandBus in both a local and distributed environment. The CommandGateway is a convenient interface towards the command dispatching mechanism. While you are not required to use a gateway to dispatch commands, it is generally the easiest option to do so. There are two ways to use a Command Gateway. The first is to use the CommandGateway interface and the DefaultCommandGateway implementation provided by Axon. The command gateway provides a number of methods that allow you to send a command and wait for a result either synchronously, with a timeout or asynchronously. The other option is perhaps the most flexible of all. You can turn almost any interface into a command gateway using the CommandGatewayFactory. This allows you to define your application’s interface using strong typing and declaring your own (checked) business exceptions. Axon will automatically generate an implementation for that interface at runtime. Both your custom Command Gateway and the one provided by Axon need to at least be configured with a Command Bus. In addition, the Command Gateway can be configured with a RetryScheduler, `CommandDispatchInterceptor`s, and `CommandCallback`s. The RetryScheduler is capable of scheduling retries when command execution has failed. When a command fails due to an exception that is explicitly non-transient, no retries are done at all. Note that the retry scheduler is only invoked when a command fails due to a RuntimeException. Checked exceptions are regarded as a \"business exception\" and will never trigger a retry. Currently, two implementations exist: The IntervalRetryScheduler will retry a given command at set intervals until it succeeds, or a maximum number of retries has taken place. The ExponentialBackOffIntervalRetryScheduler retries failed commands with an exponential back-off interval until it succeeds, or a maximum number of retries has taken place. `CommandDispatchInterceptor`s allow modification of `CommandMessage`s prior to dispatching them to the Command Bus. In contrast to `CommandDispatchInterceptor`s configured on the Command Bus, these interceptors are only invoked when messages are sent through this Gateway. For example, these interceptors could be used to attach metadata to a command or perform validation. A CommandCallback can be provided to the Command Gateway upon a regular send, specifying what to do with the command handling result. It works with the CommandMessage and CommandResultMessage classes, thus allowing for some generic behavior for all Commands sent through this gateway regardless of their type. Axon allows a custom interface to be used as a CommandGateway. The behavior of each method declared in the interface is based on the parameter types, return type and declared exception. Using this gateway is not only convenient, it makes testing a lot easier by allowing you to mock your interface where needed. This is how parameters affect the behavior of the command gateway: The first parameter is expected to be the actual command object to dispatch. Parameters annotated with @MetaDataValue will have their value assigned to the metadata field with the identifier passed as annotation parameter. Parameters of type MetaData will be merged with the MetaData on the CommandMessage. Metadata defined by latter parameters will overwrite the metadata of earlier parameters, if their key is equal. Parameters of type CommandCallback will have their onResult(CommandMessage, CommandResultMessage) invoked after the command has been handled. Although the CommandCallback provides a means to deal with the result of command handling, this is no impact on whether you can define a return type on the custom command gateway. In case both a callback and return type are defined, the invocations of the callback will always match with the return value (or exception). Lastly, know that you may pass in several CommandCallback instances, which all will be invoked in order. The last two parameters indicate a timeout and may be of types long (or int) and TimeUnit. The method will block at most as long as these parameters indicate. How the method reacts to a timeout depends on the exceptions declared on the method (see below). Note that if other properties of the method prevent blocking altogether, a timeout will never occur. The declared return value of a method will also affect its behavior: A void return type will cause the method to return immediately, unless there are other indications on the method that one would want to wait, such as a timeout or declared exceptions. Return types of Future, CompletionStage and CompletableFuture will cause the method to return immediately (granted you have configured a CommandBus using its own threads!). You can access the result of the command handler using the CompletableFuture instance returned from the method. Exceptions and timeouts declared on the method are ignored. Any other return type will cause the method to block until a result is available. The result is cast to the return type (causing a ClassCastException if the types do not match). Exceptions have the following effect: Any declared checked exception will be thrown if the command handler (or an interceptor) threw one of that type. If a checked exception is thrown that has not been declared, it is wrapped in a CommandExecutionException, which is a RuntimeException. When a timeout occurs, the default behavior is to return null from the method. This can be changed by declaring a TimeoutException. If this exception is declared, a TimeoutException is thrown instead. When a thread is interrupted while waiting for a result, the default behavior is to return null. In that case, the interrupted flag is set back on the thread. By declaring an InterruptedException on the method, this behavior is changed to throw that exception instead. The interrupt flag is removed when the exception is thrown, consistent with the java specification. Other runtime exceptions may be declared on the method, but will not have any effect other than clarification to the API user. Finally, there is the possibility to use annotations: As specified in the parameter section, the @MetaDataValue annotation on a parameter will have the value of that parameter added as metadata value. The key of the metadata entry is provided as parameter to the annotation. Methods annotated with @Timeout will block at most the indicated amount of time. This annotation is ignored if the method declares timeout parameters. Classes annotated with @Timeout will cause all methods declared in that class to block at most the indicated amount of time, unless they are annotated with their own @Timeout annotation or specify timeout parameters. public interface MyGateway { // fire and forget void sendCommand(MyPayloadType command); // method that attaches metadata and will wait for a result for 10 seconds @Timeout(value = 10, unit = TimeUnit.SECONDS) ReturnValue sendCommandAndWaitForAResult(MyPayloadType command, @MetaDataValue(\"userId\") String userId); // alternative that throws exceptions on timeout @Timeout(value = 20, unit = TimeUnit.SECONDS) ReturnValue sendCommandAndWaitForAResult(MyPayloadType command) throws TimeoutException, InterruptedException; // this method will also wait, caller decides how long void sendCommandAndWait(MyPayloadType command, long timeout, TimeUnit unit) throws TimeoutException, InterruptedException; } // To configure a gateway: public class AxonConfig { // omitting other configuration methods... public MyGateway customCommandGateway(CommandBus commandBus) { CommandGatewayFactory factory = CommandGatewayFactory.builder() .commandBus(commandBus) .build(); return factory.createGateway(MyGateway.class); } } The local command bus is the mechanism that dispatches commands to their respective command handlers within an Axon application. Suggestions on how to use the CommandBus can be found here. Several flavors of the command bus, with differing characteristics, exist within the framework. The SimpleCommandBus is, as the name suggests, the simplest implementation. It does straightforward processing of commands in the thread that dispatches them. After a command is processed, the modified aggregates are saved and generated events are published in that same thread. In most scenarios, such as web applications, this implementation will suit your needs. Like most CommandBus implementations, the SimpleCommandBus allows interceptors to be configured. `CommandDispatchInterceptor`s are invoked when a command is dispatched on the command bus. The `CommandHandlerInterceptor`s are invoked before the actual command handler method is, allowing you to do modify or block the command. See Command Interceptors for more information. Since all command processing is done in the same thread, this implementation is limited to the JVMs boundaries. The performance of this implementation is good, but not extraordinary. To cross JVM boundaries, or to get the most out of your CPU cycles, check out the other CommandBus implementations. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureSimpleCommandBus(Configurer configurer) { configurer.configureCommandBus(config -> { CommandBus commandBus = SimpleCommandBus .builder() .transactionManager(config.getComponent(TransactionManager.class)) .spanFactory(config.spanFactory()) .messageMonitor(config.messageMonitor(SimpleCommandBus.class, \"commandBus\")) // ... .build(); commandBus.registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ); return commandBus; }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public CommandBus simpleCommandBus(TransactionManager transactionManager, GlobalMetricRegistry metricRegistry, SpanFactory spanFactory) { return SimpleCommandBus.builder() .transactionManager(transactionManager) .messageMonitor(metricRegistry.registerCommandBus(\"commandBus\")) .spanFactory(spanFactory) // ... .build(); } @Bean public ConfigurerModule commandBusCorrelationConfigurerModule() { return configurer -> configurer.onInitialize( config -> config.commandBus().registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ) ); } } As the name suggests, the AsynchronousCommandBus implementation executes commands asynchronously from the thread that dispatches them. It uses an Executor to perform the actual handling logic on a different Thread. By default, the AsynchronousCommandBus uses an unbounded cached thread pool. This means a thread is created when a command is dispatched. Threads that have finished processing a command are reused for new commands. Threads are stopped if they have not processed a command for 60 seconds. Alternatively, an Executor instance may be provided to configure a different threading strategy. Note that the AsynchronousCommandBus should be shut down when stopping the application, to make sure any waiting threads are properly shut down. To shut down, call the shutdown() method. This will also shut down any provided Executor instance, if it implements the ExecutorService interface. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureAsynchronousCommandBus(Configurer configurer) { configurer.configureCommandBus(config -> { CommandBus commandBus = AsynchronousCommandBus .builder() .transactionManager(config.getComponent(TransactionManager.class)) .spanFactory(config.spanFactory()) .messageMonitor(config.messageMonitor( AsynchronousCommandBus.class, \"commandBus\" )) // ... .build(); commandBus.registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ); return commandBus; }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public CommandBus asynchronousCommandBus(TransactionManager transactionManager, GlobalMetricRegistry metricRegistry, SpanFactory spanFactory) { return AsynchronousCommandBus .builder() .transactionManager(transactionManager) .messageMonitor(metricRegistry.registerCommandBus(\"commandBus\")) .spanFactory(spanFactory) // ... .build(); } @Bean public ConfigurerModule commandBusCorrelationConfigurerModule() { return configurer -> configurer.onInitialize( config -> config.commandBus().registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ) ); } } The SimpleCommandBus has reasonable performance characteristics. The fact that the SimpleCommandBus needs locking to prevent multiple threads from concurrently accessing the same aggregate causes processing overhead and lock contention. The DisruptorCommandBus takes a different approach to multi-threaded processing. Instead of having multiple threads each doing the same process, there are multiple threads, each taking care of a piece of the process. The DisruptorCommandBus uses the Disruptor, a small framework for concurrent programming, to achieve much better performance, by just taking a different approach to multi-threading. Instead of doing the processing in the calling thread, the tasks are handed off to two groups of threads, that each take care of a part of the processing. The first group of threads will execute the command handler, changing an aggregate’s state. The second group will store and publish the events to the event store. While the DisruptorCommandBus easily outperforms the SimpleCommandBus by a factor of 4(!), there are a few limitations: The DisruptorCommandBus only supports event sourced aggregates. This Command Bus also acts as a Repository for the aggregates processed by the Disruptor. To get a reference to the Repository, use createRepository(AggregateFactory). A command can only result in a state change in a single aggregate instance. When using a cache, it allows only a single aggregate for a given identifier. This means it is not possible to have two aggregates of different types with the same identifier. Commands should generally not cause a failure that requires a rollback of the unit of work. When a rollback occurs, the DisruptorCommandBus cannot guarantee that commands are processed in the order they were dispatched. Furthermore, it requires a retry of a number of other commands, causing unnecessary computations. When creating a new aggregate instance, commands updating that created instance may not all happen in the exact order as provided. Once the aggregate is created, all commands will be executed exactly in the order they were dispatched. To ensure the order, use a callback on the creating command to wait for the aggregate being created. It shouldn’t take more than a few milliseconds. To construct a DisruptorCommandBus instance, you need an EventStore. This component is explained in the Event Bus and Event Store section. Optionally, you can provide a DisruptorConfiguration instance, which allows you to tweak the configuration to optimize performance for your specific environment: Buffer size - the number of slots on the ring buffer to register incoming commands. Higher values may increase throughput, but also cause higher latency. Must always be a power of 2. Defaults to 4096. ProducerType - indicates whether the entries are produced by a single thread, or multiple. Defaults to multiple. WaitStrategy - the strategy to use when the processor threads (the three threads taking care of the actual processing) need to wait for each other. The best wait strategy depends on the number of cores available in the machine, and the number of other processes running. If low latency is crucial, and the DisruptorCommandBus may claim cores for itself, you can use the BusySpinWaitStrategy. To make the command bus claim less of the CPU and allow other threads to do processing, use the YieldingWaitStrategy. Finally, you can use the SleepingWaitStrategy and BlockingWaitStrategy to allow other processes a fair share of CPU. The latter is suitable if the Command Bus is not expected to be processing full-time. Defaults to the BlockingWaitStrategy. Executor - sets the Executor that provides the Threads for the DisruptorCommandBus. This executor must be able to provide at least four threads. Three of the threads are claimed by the processing components of the DisruptorCommandBus. Extra threads are used to invoke callbacks and to schedule retries in case an Aggregate’s state is detected to be corrupt. Defaults to a CachedThreadPool that provides threads from a thread group called \"DisruptorCommandBus\". TransactionManager - defines the transaction manager that should ensure that the storage and publication of events are executed within a transaction. InvokerInterceptors - defines the `CommandHandlerInterceptor`s that are to be used in the invocation process. This is the process that calls the actual Command Handler method. PublisherInterceptors - defines the `CommandHandlerInterceptor`s that are to be used in the publication process. This is the process that stores and publishes the generated events. RollbackConfiguration - defines on which Exceptions a Unit of Work should be rolled back. Defaults to a configuration that rolls back on unchecked exceptions. RescheduleCommandsOnCorruptState - indicates whether Commands that have been executed against an Aggregate that has been corrupted (for example, because a Unit of Work was rolled back) should be rescheduled. If false the callback’s onFailure() method will be invoked. If true (the default), the command will be rescheduled instead. CoolingDownPeriod - sets the number of seconds to wait to make sure all commands are processed. During the cooling down period, no new commands are accepted, but existing commands are processed, and rescheduled when necessary. The cooling down period ensures that threads are available for rescheduling the commands and calling callbacks. Defaults to 1000 (1 second). Cache - sets the cache that stores aggregate instances that have been reconstructed from the Event Store. The cache is used to store aggregate instances that are not in active use by the disruptor. InvokerThreadCount - the number of threads to assign to the invocation of command handlers. A good starting point is half the number of cores in the machine. PublisherThreadCount - the number of threads to use to publish events. A good starting point is half the number of cores, and could be increased if a lot of time is spent on I/O. SerializerThreadCount - the number of threads to use to pre-serialize events. This defaults to 1, but is ignored if no serializer is configured. Serializer - the serializer to perform pre-serialization with. When a serializer is configured, the DisruptorCommandBus will wrap all generated events in a SerializationAware message. The serialized form of the payload and metadata is attached before they are published to the Event Store. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureDisruptorCommandBus(Configurer configurer) { configurer.configureCommandBus(config -> { CommandBus commandBus = DisruptorCommandBus .builder() .transactionManager(config.getComponent(TransactionManager.class)) .messageMonitor(config.messageMonitor( DisruptorCommandBus.class, \"commandBus\" )) .bufferSize(4096) // ... .build(); commandBus.registerHandlerInterceptor(new CorrelationDataInterceptor<>(config.correlationDataProviders())); return commandBus; }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public CommandBus disruptorCommandBus(TransactionManager transactionManager, GlobalMetricRegistry metricRegistry) { return DisruptorCommandBus .builder() .transactionManager(transactionManager) .messageMonitor(metricRegistry.registerCommandBus(\"commandBus\")) .bufferSize(4096) // ... .build(); } @Bean public ConfigurerModule commandBusCorrelationConfigurerModule() { return configurer -> configurer.onInitialize(config -> config .commandBus().registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ) ); } } Oftentimes you would want multiple instances of command buses in different JVMs to act as one. Commands dispatched on one JVM’s command bus should be seamlessly transported to a command handler in another JVM while sending back any results. That is where the concept of 'distributing the command bus' comes in. There are a couple of concepts that are configurable, regardless of the type of distributed command bus that is being used: Unlike the local CommandBus implementations, the distributed command buses do not invoke any handlers at all. All they do is form a \"bridge\" between command bus implementations on different JVMs, delegating any received commands to the so-called local segment. By default, this local segment is the SimpleCommandBus. You can configure the local segment to be any of the other local command buses too, like the AsynchronousCommandBus and DisruptorCommandBus. The details of how to configure the local segment are shown in the implementation sections. The load factor defines the amount of load an Axon application would carry compared to other instances. For example, if you have a two machine set up, each with a load factor of 100, they will both carry an equal amount of load. Increasing the load factor to 200 on both would still mean that both machines receive the same amount of load. This points out that the load factor will only change the load amongst systems if the values are not equal. Doing so would make sense in a heterogeneous application landscape, where the faster machines should deal with a bigger portion of command handling than the slower machines. The default load factor set for the distributed CommandBus implementations is 100. The configuration changes slightly per distributed implementation and as such will be covered in those sections. Commands should be routed consistently to the same application, especially those targeted towards a specific Aggregate. This ensures a single instance is in charge of the targeted aggregate, resolving the concurrent access issue and allowing for optimization like caching to work as designed. The component dealing with the consistent routing in an Axon application is the RoutingStrategy. The RoutingStrategy receives a CommandMessage and based on the message returns the routing key to use. Two commands with the same routing key will always be routed to the same segment, as long as there is no topology change in the distributed set-up. At the moment, there are five implementations of the RoutingStrategy. Three of these are intended to be fallback solutions, in case the routing key cannot be resolved: The AnnotationRoutingStrategy - the default routing strategy expects the TargetAggregateIdentifier or RoutingKey annotation to be present on a field inside the command class. The annotated field or getter is searched, and the contents will be returned as the routing key for that command. The MetaDataRoutingStrategy - uses a property defined during creation of this strategy to fetch the routing key from the CommandMessage’s `MetaData. The ERROR UnresolvedRoutingKeyPolicy - the default fallback that will cause an exception to be thrown when the routing key cannot be resolved from the given CommandMessage. The RANDOM_KEY UnresolvedRoutingKeyPolicy - will return a random value when a routing key cannot be resolved from the CommandMessage. This means that those commands will be routed to a random segment of the command bus. The STATIC_KEY UnresolvedRoutingKeyPolicy - will return a static key (named \"unresolved\") for unresolved routing keys. This policy routes all commands to the same segment, as long as the configuration of segments does not change. The AnnotationRoutingStrategy and MetaDataRoutingStrategy are considered the full implementations to configure. The ERROR, RANDOM_KEY and STATIC_KEY are fallback routing strategies that should be configured on the annotation or meta-data implementations. To get a grasp how these are constructed, consider the following sample: AnnotationRoutingStrategy MetaDataRoutingStrategy // A custom annotation can be used to drive the AnnotationRoutingStrategy @interface CustomRoutingAnnotation { } public class AxonConfig { // omitting other configuration methods... public RoutingStrategy routingStrategy() { return AnnotationRoutingStrategy .builder() .annotationType(CustomRoutingAnnotation.class) .fallbackRoutingStrategy(UnresolvedRoutingKeyPolicy.STATIC_KEY) .build(); } } public class AxonConfig { // omitting other configuration methods... public RoutingStrategy routingStrategy() { return MetaDataRoutingStrategy .builder() .metaDataKey(\"my-routing-key\") .fallbackRoutingStrategy(UnresolvedRoutingKeyPolicy.RANDOM_KEY) .build(); } } Of course, a custom implementation of the RoutingStrategy can also be provided when necessary. When we need to deviate from the default AnnotationRoutingStrategy, we should configure it like so: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureRoutingStrategy(Configurer configurer, YourRoutingStrategy yourRoutingStrategy) { configurer.registerComponent(RoutingStrategy.class, config -> yourRoutingStrategy); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public RoutingStrategy routingStrategy() { return /* construct your routing strategy */; } } The AxonServerCommandBus is the default distributed CommandBus implementation that is set by the framework. It connects to AxonServer, with which it can send and receive commands. As it is the default, configuring it is relatively straightforward: Configuration API Spring Boot Declare dependencies: org.axonframework axon-bom ${version.axon} pom import org.axonframework axon-server-connector org.axonframework axon-configuration Configure your application: public class AxonConfig { public void configure() { // The AxonServerCommandBus is configured as Command Bus by default when constructing a DefaultConfigurer. Configurer configurer = DefaultConfigurer.defaultConfiguration(); // ... } } By simply including the axon-spring-boot-starter dependency, Axon will automatically configure the AxonServerCommandBus: org.axonframework axon-spring-boot-starter ${axon.version} Disabling Axon Server There are two options to disable Axon Framework’s default of using the AxonServerCommandBus: By setting axon.server.enabled to false when Spring Boot is used. By excluding the axon-server-connector dependency. When doing any of these, Axon will fall back to the SimpleCommandBus that dispatches commands in the local instance, unless configured otherwise. The load factor for the AxonServerCommandBus is defined through the CommandLoadFactorProvider. This interface allows us to distinguish between commands to, for example, use a different load factor per command message. This might be useful if some commands are routed more often towards one instance in favour of the other. The following should be done to configure a custom local segment and/or load factor: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public CommandBus axonServerCommandBus( CommandBus localSegment, CommandLoadFactorProvider loadFactorProvider ) { return AxonServerCommandBus .builder() .localSegment(localSegment) .targetContextResolver(targetContextResolver) // All required configuration components are specified in the JavaDoc of the Builder .build(); } } @Configuration public class AxonConfig { // The Qualifier annotation specifying \"localSegment\" will make this CommandBus the local segment @Bean @Qualifier(\"localSegment\") public CommandBus localSegment() { return /* construct your local segment */; } @Bean public CommandLoadFactorProvider loadFactorProvider() { return /* construct your load factor provider */; } } The alternative to the AxonServerCommandBus is the DistributedCommandBus. Each instance of the DistributedCommandBus on each JVM is referred to as a \"Segment\". The DistributedCommandBus relies on two components: The CommandBusConnector - implements the communication protocol between the JVM’s to send the command over the wire and to receive the response. The CommandRouter - chooses the destination for each incoming command. It defines which segment of the DistributedCommandBus should be given a command, based on a routing key calculated by the routing strategy. You can choose different flavors of these components that are available as extension modules. Currently, Axon provides two extensions to that end, which are: The SpringCloud extension The JGroups extension Configuring a distributed command bus can (mostly) be done without any modifications in configuration files. The most straightforward approach to this is to include the Spring Boot starter dependency of either the Spring Cloud or JGroups extension. With that in place, a single property needs to be added to the application context, to enable the DistributedCommandBus: axon.distributed.enabled=true It is recommended to visit the respective extension pages on how to configure JGroups or Spring Cloud for the DistributedCommandBus.","title":"Infrastructure","component":"axon-framework-reference","version":"development","name":"infrastructure","url":"/axon-framework-reference/development/axon-framework-commands/infrastructure/","titles":[{"text":"The CommandGateway","hash":"the-command-gateway","id":1},{"text":"Configuring the CommandGateway","hash":"_configuring_the_commandgateway","id":2},{"text":"RetryScheduler","hash":"_retryscheduler","id":3},{"text":"CommandDispatchInterceptor","hash":"_commanddispatchinterceptor","id":4},{"text":"CommandCallback","hash":"_commandcallback","id":5},{"text":"Creating a custom command gateway - CommandGatewayFactory","hash":"_creating_a_custom_command_gateway_commandgatewayfactory","id":6},{"text":"The command bus - local","hash":"the-command-bus-local","id":7},{"text":"SimpleCommandBus","hash":"SimpleCommandBus","id":8},{"text":"AsynchronousCommandBus","hash":"AsynchronousCommandBus","id":9},{"text":"DisruptorCommandBus","hash":"DisruptorCommandBus","id":10},{"text":"The command bus - distributed","hash":"the-command-bus-distributed","id":11},{"text":"Local segment","hash":"_local_segment","id":12},{"text":"Load factor","hash":"_load_factor","id":13},{"text":"Routing strategy","hash":"routing-strategy","id":14},{"text":"AxonServerCommandBus","hash":"AxonServerCommandBus","id":15},{"text":"Local segment and load factor configuration","hash":"_local_segment_and_load_factor_configuration","id":16},{"text":"DistributedCommandBus","hash":"DistributedCommandBus","id":17}]},"39":{"id":39,"text":"Deadlines can be scheduled from sagas and aggregates. The DeadlineManager component is responsible for scheduling deadlines and invoking @DeadlineHandler`when the deadline is met. The `DeadlineManager can be injected as a resource. It has four flavors: SimpleDeadlineManager, JobRunrDeadlineManager, QuartzDeadlineManager and DbSchedulerDeadlineManager. A deadline can be scheduled by providing a Duration after which it will be triggered (or an Instant at which it will be triggered) and a deadline name. Scheduled Events or Scheduled Deadlines Unlike Event Scheduling, when a deadline is triggered there will be no storing of the published message. Scheduling/Triggering a deadline does not involve an EventBus (or EventStore), hence the message is not stored. class DeadlineSchedulingComponent { void scheduleMyDeadline() { String deadlineId = deadlineManager.schedule(Duration.ofMillis(500), \"myDeadline\"); // For example store the `deadlineId` } } As a result we receive a deadlineId which can be used to cancel the deadline. In most cases, storing this deadlineId as a field within your Aggregate/Saga is the most convenient. Cancelling a deadline could come in handy when a certain event means that the previously scheduled deadline has become obsolete (for example, there is a deadline for paying the invoice, but the client paid the amount which means that the deadline is obsolete and can be canceled). class DeadlineCancelingComponent { void cancelMyDeadline(String deadlineId) { deadlineManager.cancelSchedule(\"myDeadline\", deadlineId); } } Note that there are more options to cancel a deadline next to the previously mentioned: cancelAll(String deadlineName) - Cancels every scheduled deadline matching the given deadlineName. Note that this thus also cancels deadlines from other aggregate and/or saga instances matching the name. cancelAllWithinScope(String deadlineName) - Cancels a scheduled deadline matching the given deadlineName, within the Scope the method is invoked in. For example, if this operation is performed from within \"aggregate instance X\", the ScopeDescriptor from \"aggregate instance X\" will be used to cancel. cancelAllWithinScope(String deadlineName, ScopeDescriptor scope) - Cancels a scheduled deadline matching the given deadlineName and ScopeDescriptor. This allows canceling a deadline by name from differing scopes then the one it’s executed in. Caveats for the JobRunr implementation. Since the non-Pro version of JobRunr has no way to search for deadlines, besides by id, all of the cancelAll methods are not implemented for the JobRunrDeadlineManager. The JobRunr Pro extension does support those but requires the Pro version of JobRunr. Caveats for the DbScheduler implementation. Db-scheduler has no way to filter out tasks. This means that the cancelAll implementation will need to serialize all the task data, looping over it. If you have many active deadlines, this might take noticeable time and resources. If you need contextual data about the deadline when the deadline is being handled, you can attach a deadline payload when scheduling a deadline: class DeadlineSchedulingWithPayloadComponent { void scheduleMyDeadlineWithPayload() { String deadlineId = deadlineManager.schedule( Duration.ofMillis(500), \"myDeadline\", new MyDeadlinePayload(/* some user specific parameters */) ); // For example store the `deadlineId` } } We have now seen how to schedule a deadline. When the scheduled time is met, the corresponding @DeadlineHandler is invoked. A @DeadlineHandler is a message handler like any other in Axon - it is possible to inject parameters for which `ParameterResolver`s exist. The Scope of a Deadline When scheduling a deadline, the context from where it was scheduled is taken into account. This means a scheduled deadline will only be triggered in its originating context. Thus, any @DeadlineHandler annotated function you wish to be called on a met deadline, must be in the same Aggregate/Saga from which it was scheduled. Axon calls this context a Scope. If necessary, implementing and providing your own Scope will allow you to schedule deadlines in your custom, 'scoped' components. A Saga can end its lifecycle when @EndSaga is added on a deadline handler. A @DeadlineHandler is matched based on the deadline name and the deadline payload. @DeadlineHandler(deadlineName = \"myDeadline\") public void on(MyDeadlinePayload deadlinePayload) { // handle the deadline } If the deadline’s name is not defined in the @DeadlineHandler, matching will proceed based on the deadline payload alone. @DeadlineHandler public void on(MyDeadlinePayload deadlinePayload) { // handle the deadline } If we scheduled a deadline without a specific payload, the @DeadlineHandler does not have to specify the payload. @DeadlineHandler(deadlineName = \"payloadlessDeadline\") public void on() { // handle the deadline } In cases where applications need to access the clock, they can take advantage of the clock used in the EventMessage, by accessing GenericEventMessage.clock. This clock is set to Clock.systemUTC at runtime, and manipulated to simulate time during testing. public void handle(PublishTime cmd) { apply(new TimePublishedEvent(GenericEventMessage.clock.instant())); } Note that the current timestamp is automatically added to the EventMessage. If handlers only need to rely on the timestamp the event was published, they can access that timestamp directly, as described in Handling Events. Spring Boot users will need to define a DeadlineManager bean using one of the available implementations. Spring Boot users who want to use the JobRunr deadline manager can add either jobrunr-spring-boot-2-starter or jobrunr-spring-boot-3-starter as a dependency. Depending on which version of Spring Boot is used. Doing so will make a JobScheduler bean available, which the auto-configuration can use to create a JobRunrDeadlineManager. Alternatively. the bean can be configured like this: @Bean public DeadlineManager deadlineManager( @Qualifier(\"eventSerializer\") final Serializer serializer, final JobScheduler jobScheduler, final ScopeAwareProvider scopeAwareProvider, final TransactionManager transactionManager, final Spanfactory spanfactory ) { return JobRunrDeadlineManager.builder() .jobScheduler(jobScheduler) .scopeAwareProvider(scopeAwareProvider) .serializer(serializer) .transactionManager(transactionManager) .spanFactory(spanfactory) .build(); } Spring Boot users who want to use the db-scheduler deadline manager can add db-scheduler-spring-boot-starter as a dependency. This will make a Scheduler bean available, which the auto-configuration can use to create a DbSchedulerDeadlineManager. Alternatively, the bean can be configured like this: @Bean public DeadlineManager deadlineManager( Scheduler scheduler, Configuration configuration, @Qualifier(\"eventSerializer\") Serializer serializer, TransactionManager transactionManager, SpanFactory spanFactory) { ScopeAwareProvider scopeAwareProvider = new ConfigurationScopeAwareProvider(configuration); return DbSchedulerDeadlineManager.builder() .scheduler(scheduler) .scopeAwareProvider(scopeAwareProvider) .serializer(serializer) .transactionManager(transactionManager) .spanFactory(DefaultDeadlineManagerSpanFactory.builder() .spanFactory(spanFactory) .build()) .startScheduler(false) .build(); }","title":"Deadline Managers","component":"axon-framework-reference","version":"development","name":"deadline-managers","url":"/axon-framework-reference/development/deadlines/deadline-managers/","titles":[{"text":"Scheduling a deadline","hash":"_scheduling_a_deadline","id":1},{"text":"Handling a deadline","hash":"_handling_a_deadline","id":2},{"text":"Using time in your application","hash":"_using_time_in_your_application","id":3},{"text":"Configuration","hash":"_configuration","id":4}]},"40":{"id":40,"text":"This section will proceed with a suggested course of action when utilizing the EventScheduler for dealing with deadlines. To help understand this better lets take the scenario of a saga: It is easy to make a saga take action when something happens. After all, there is an event to notify the saga. That said, what if you want your saga to do something when nothing happens? That’s what deadlines are used for. For invoices, that is typically several weeks, whereas the confirmation of a credit card payment should occur within a few seconds. In Axon, you can use an EventScheduler to schedule an event for publication. In the example of an invoice, you would expect the invoice to be paid within thirty days. A saga would, after sending the CreateInvoiceCommand, schedule an InvoicePaymentDeadlineExpiredEvent to be published in 30 days. The EventScheduler returns a ScheduleToken after scheduling an event. This token can be used to cancel the schedule, for example when a payment of an Invoice has been received. Axon provides four EventScheduler implementations: Pure Java JobRunr db-scheduler Axon Server Quartz It is important to note that the JubRunrEventScheduler, QuartzEventScheduler, AxonServerEventScheduler and DbSchedulerEventSerializer all should use the event Serializer to serialize and deserialize the scheduled event. If the Serializer used by the scheduler does not align with the Seralizer used by the event store, exceptional scenarios should be expected. The Quartz implementation’s Serializer can be set by defining a different EventJobDataBinder, whereas the JobRunr, Axon Server and db-scheduler implementations allows defining the used Serializer directly through the builder. One or more components will be listening for scheduled Events. These components might rely on a transaction bound to the thread that invokes them. Scheduled events are published by threads managed by the EventScheduler. To manage transactions on these threads, you can configure a TransactionManager or a UnitOfWorkFactory that creates a transaction bound unit of work. The pure-Java implementation of the EventScheduler uses a ScheduledExecutorService to schedule event publication. Although the timing of this scheduler is highly reliable, it is a pure in-memory implementation. Once the JVM is shut down, all schedules are lost. This makes this implementation unsuitable for long-term schedules. The SimpleEventScheduler needs to be configured with an EventBus and a SchedulingExecutorService (see the static methods on the java.util.concurrent.Executors class for helper methods). The JobRunrEventScheduler is a more reliable and enterprise-worthy implementation based on JobRunr. It offers several ways to persist the scheduled jobs, and has good integration with Spring Boot. Using JobRunr as underlying scheduling mechanism, it provides more powerful features, such as clustering, misfire management as well as an optional dashboard. This means event publication is guaranteed. It might be a little late, but it will be published. JobRunr supports both SQL and some NoSQL databases. It needs to be configured with a JobRunr JobScheduler, an EventBus and a Serializer. The DbSchedulerEventScheduler is similar in convenience compared to the JobRunr- and the Axon Server EventScheduler implementations, based on the db-scheduler project. It offers several ways to persist the scheduled jobs, and has good integration with Spring Boot. It’s pretty simple, as it only needs one table. For most sql databases the sql to set the table is available Compared to JobRunr, it lets you set a poll interval for new tasks more freely. Another advantage compared to JobRunr is that adding a task will become part of the current transaction when a TransactionManager is set. The biggest things missing compared to JobRunr are a dashboard, and support for multiple NoSQL databases. The DbSchedulerEventScheduler needs to be configured with a db-scheduler Scheduler, an EventBus, and a Serializer. The data for an event can be serialized in either a binary format or in a human-readable format. Switching between these formats is done via the useBinaryPojo property on the scheduler’s builder. Depending on this property, the correct task should be added in the constructor of the Scheduler. The AxonServerEventScheduler uses Axon Server to schedule events for publication. As such, it is a hard requirement to use Axon Server as your Event Store solution to utilize this event scheduler. Just as the QuartzEventScheduler, the AxonServerEventScheduler is a reliable and enterprise-worthy implementation of the EventScheduler interface. Creating a AxonServerEventScheduler can be done through its builder, whose sole requirement is the AxonServerConnectionManager. The QuartzEventScheduler is an alternative enterprise-worthy implementation based on Quartz, but the project has not seen much recent activity. Using Quartz as underlying scheduling mechanism, it provides features, such as persistence, clustering and misfire management. It needs to be configured with a Quartz Scheduler and an EventBus. Optionally, you may set the name of the group that Quartz jobs are scheduled in, which defaults to \"AxonFramework-Events\". Spring users can use the QuartzEventSchedulerFactoryBean or SimpleEventSchedulerFactoryBean for easier configuration. It allows you to set the PlatformTransactionManager directly. Spring Boot users which rely on Axon Server do not have to define anything. The auto-configuration will automatically create a AxonServerEventScheduler for them. Spring Boot users who want to use the JobRunr event scheduler can add jobrunr-spring-boot-starter as a dependency. In addition, an EventScheduler bean configuration needs to be added. This should look like: @Bean public EventScheduler eventScheduler( @Qualifier(\"eventSerializer\") final Serializer serializer, final JobScheduler jobScheduler, final EventBus eventBus, final TransactionManager transactionManager, final Spanfactory spanfactory ) { return JobRunrEventScheduler.builder() .jobScheduler(jobScheduler) .serializer(serializer) .eventBus(eventBus) .transactionManager(transactionManager) .spanFactory(spanfactory) .build(); } For both JobRunr and db-scheduler, auto-configuration is included via the axon-spring-boot-starter. This means that if you don’t have an EventScheduler configured in the application, but you do have a JobScheduler bean (in the case of JobRunr) or a Scheduler bean (in the case of db-scheduler), an EventScheduler will be auto-configured for you. In these cases, it is recommended to set the axon.axonserver.enabled property to false to prevent the creation of the AxonServerEventScheduler.","title":"Event Schedulers","component":"axon-framework-reference","version":"development","name":"event-schedulers","url":"/axon-framework-reference/development/deadlines/event-schedulers/","titles":[{"text":"Scheduled events as deadlines","hash":"_scheduled_events_as_deadlines","id":1},{"text":"Simple event scheduler","hash":"_simple_event_scheduler","id":2},{"text":"JobRunr event scheduler","hash":"_jobrunr_event_scheduler","id":3},{"text":"Db-scheduler event scheduler","hash":"_db_scheduler_event_scheduler","id":4},{"text":"Axon Server event scheduler","hash":"_axon_server_event_scheduler","id":5},{"text":"Quartz event scheduler","hash":"_quartz_event_scheduler","id":6},{"text":"Spring configuration","hash":"_spring_configuration","id":7}]},"41":{"id":41,"text":"The 'Deadline' concept in Axon Framework is a mechanism which enables certain actions to be executed after a certain amount of time. The context of this execution is an *aggregate or a saga* in which the deadline was scheduled. If the deadline becomes obsolete there is the possibility to cancel it as well. This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help with scheduling and dealing of deadlines. A summary of the various subsections is given below. Sub-Section Purpose Deadline Managers Deadline Handling using Deadline Managers Event Schedulers Deadline Handling using Event Schedulers","title":"Deadlines","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/deadlines/","titles":[]},"42":{"id":42,"text":"Event publication can originate from a couple of locations within your Axon Framework application. In general, these can be grouped in two major areas: Dispatching events from an Aggregate, and Dispatching events from regular components This page will describe how to get an event message on the event bus from both locations. For more specifics regarding event publication and storage implementations in Axon Framework, read this section. The Aggregate or its Entities are typically the starting point of all event messages. The Event Message simply is the notification that a decision has been made; a successful resolution of handling a command message. To publish an event from an Aggregate, it is required to do this from the lifecycle of the Aggregate instance. This is mandatory as we want the Aggregate identifier to be tied to the Event message. It is also of the essence that the events originate in order. This is achieved by adding a sequence number to every event from an Aggregate. The AggregateLifecycle provides a simple means to achieve the above: import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @CommandHandler public GiftCard(IssueCardCommand cmd) { apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } // omitted state, command and event sourcing handlers } The AggregateLifecycle#apply(Object) will go through a number of steps: The current scope of the Aggregate is retrieved. The last known sequence number of the Aggregate is used to set the sequence number of the event to publish. The provided Event payload, the Object, will be wrapped in an EventMessage. The EventMessage will also receive the sequenceNumber from the previous step, as well as the Aggregate its identifier. The Event Message will be published from here on. The event will first be sent to all the Event Handlers in the Aggregate which are interested. This is necessary for Event Sourcing, to update the Aggregate’s state accordingly. After the Aggregate itself has handled the event, it will be published on the EventBus. Adding Meta Data to an Event The AggregateLifecycle also provides an apply(Object, MetaData) function. This can be used to attach command-handler specific MetaData. The AggregateLifecycle#apply method returns an implementation of the ApplyMore interface. This interface provides the following methods: .andThenApply(Supplier) - Applies a next event resulting from the given Supplier in order. .andThen(Runnable) - To execute some logic after the event has been applied .andThenApplyIf(Supplier, Supplier) - To apply a next event in the correct order, depending on a certain condition .andThenIf(Supplier, Runnable runnable) - To execute some logic after the event has been applied, depending on a certain condition In the vast majority of cases, the Aggregates will publish events by applying them. However, occasionally, it is necessary to publish an event (possibly from within another component), directly to the Event Gateway: private EventGateway eventGateway; public void dispatchEvent() { eventGateway.publish(new CardIssuedEvent(\"cardId\", 100, \"shopId\")); } // omitted class and constructor","title":"Event Dispatchers","component":"axon-framework-reference","version":"development","name":"event-dispatchers","url":"/axon-framework-reference/development/events/event-dispatchers/","titles":[{"text":"Dispatching events from an Aggregate","hash":"_dispatching_events_from_an_aggregate","id":1},{"text":"Dispatching events from a Non-Aggregate","hash":"_dispatching_events_from_a_non_aggregate","id":2}]},"43":{"id":43,"text":"An Event Handler is a method that is capable of handling an EventMessage. As such, the method will react to the occurrences within an application. In Axon, an object may declare several event handlers by annotating them with @EventHandler. This object is most often referred to as an Event Handling Component, or simply an Event Handler. When drafting an @EventHandler annotated method, the declared parameters of the method define which events it will receive. Arguably the most important parameter of an event handler is the first parameter which refers to the payload of an EventMessage. If the event handler does not need access to the payload of the message, you can specify the expected payload type on the @EventHandler annotation. Do not configure the payload type on the annotation if you want the payload to be passed as a parameter. For a complete list of all parameters, we refer to this section. In all circumstances, at most one event handler method is invoked per listener instance. Axon will search for the most specific method to invoke, using the following rules: On the actual instance level of the class hierarchy (as returned by this.getClass()), all annotated methods are evaluated. If the framework finds one or more methods for which it can resolve all parameters to a value, the method with the most specific type is chosen and invoked. If the framework finds no methods on this level of the class hierarchy, the supertype is evaluated the same way. When it reaches the top level of the hierarchy and no suitable event handler is found, the event is ignored. Consider the following Event Handling Component sample to explain the event handler invocation rules further: // assume EventB extends EventA // and EventC extends EventB // and a single instance of SubListener is registered public class TopListener { @EventHandler public void handle(EventA event) { } @EventHandler public void handle(EventC event) { } } public class SubListener extends TopListener { @EventHandler public void handle(EventB event) { } } In the example above, Axon will invoke the handler methods of SubListener for all instances of EventB and EventC (as it extends EventB). In other words, the handler methods of TopListener will not receive any invocations for EventC at all. Since EventA is not assignable to EventB (it is its superclass), the TopListener's handler method will process them. Event handling Components are defined using an EventProcessingConfigurer, which can be accessed from the global Axon Configurer. EventProcessingConfigurer is used to configure an EventProcessingConfiguration. Typically, an application will have a single EventProcessingConfiguration defined, but larger, more modular applications may define one per module. To register objects with @EventHandler methods, consider the following samples: Configuration API Spring Boot The Configurer exposes several options towards registering an Event Handling Component: public class AxonConfig { // omitting other configuration methods... public void configureEventHandler(Configurer configurer) { configurer.registerEventHandler( config -> new MyEventHandlingComponent() ); // or, when the handling component contains several message handler types: configurer.registerMessageHandler( config -> new MyEventHandlingComponent() ); // or, directly on the EventProcessingConfigurer: configurer.eventProcessing() .registerEventHandler(config -> new MyEventHandlingComponent() ); } } In a Spring Boot environment, simply adding the Event Handling Components to the Application Context is sufficient: @Component public class MyEventHandlingComponent { @EventHandler public void on(SomeEvent event) { // ... } }","title":"Event Handlers","component":"axon-framework-reference","version":"development","name":"event-handlers","url":"/axon-framework-reference/development/events/event-handlers/","titles":[{"text":"Registering event handlers","hash":"registering-event-handlers","id":1}]},"44":{"id":44,"text":"In the lifecycle of an Axon application, their events will typically change their format. As events are stored indefinitely, the application should be able to cope with several versions of an event. This chapter will discuss what to keep in mind when creating your events, for backwards (and forwards) compatibility. It will also explain the upcasting process. Due to the ever-changing nature of software applications, it is likely that event definitions will also change over time. Since the Event Store is considered a read and append-only data source, your application must be able to read all events, regardless of when they were added. This is where upcasting comes in. Originally a concept of object-oriented programming, where \"a subclass gets cast to its superclass automatically when needed\", the concept of upcasting can also be applied to event sourcing. To upcast an event means to transform it from its original structure to its new structure. Unlike OOP upcasting, event upcasting cannot be done in full automation because the structure of the new event is unknown to the old event. Manually written upcasters have to be provided to specify how to upcast the old structure to the new structure. Upcasters are classes that take one input event of revision x and output zero or more new events of revision x + 1. Moreover, upcasters are processed in a chain, meaning that the output of one upcaster is sent to the input of the next. This allows you to update events in an incremental manner, writing an upcaster for each new event revision, making them small, isolated, and easy to understand. Benefits if Upcasters Perhaps the greatest benefit of upcasting is that it allows you to do non-destructive refactoring. In other words, the complete event history remains intact. In this section we’ll explain how to write an upcaster, describe the different (abstract) implementations of the Upcaster that come with Axon, and explain how the serialized representations of events affects how upcasters are written. To allow an upcaster to see what version of serialized object they are receiving, the Event Store stores a revision number as well as the fully qualified name of the Event. This revision number is generated by a RevisionResolver, configured in the serializer. Axon provides several implementations of the RevisionResolver: The AnnotationRevisionResolver checks for an @Revision annotation on the Event payload. The SerialVersionUIDRevisionResolver uses the serialVersionUID as defined by Java Serialization API. The FixedValueRevisionResolver always returns a predefined value. This is particularly useful when injecting the current application version. It would allow you to see which version of the application generated a specific event. Maven users can use the MavenArtifactRevisionResolver to automatically use the project version. It is initialized using the groupId and artifactId of the project to obtain the version for. Since this only works in JAR files created by Maven, the version cannot always be resolved by an IDE. If a version cannot be resolved, null is returned. Axon’s upcasters do not work with the EventMessage directly, but with an IntermediateEventRepresentation. The IntermediateEventRepresentation provides functionality to retrieve all necessary fields to construct an EventMessage (and thus a upcasted EventMessage too), together with the actual upcast functions. These upcast functions by default only allow the adjustment of the event’s payload, payload type and additions to the event’s metadata. The actual representation of the events in the upcast function may vary based on the event serializer used or the desired form to work with, so the upcast function of the IntermediateEventRepresentation allows the selection of the expected representation type. The other fields, for example the message/aggregate identifier, aggregate type, timestamp etc. are not adjustable by the IntermediateEventRepresentation. Adjusting those fields is not the intended work for an upcaster. As such, those options are not provided by the provided IntermediateEventRepresentation implementations. The basic Upcaster interface for events in the Axon Framework works on a Stream of IntermediateEventRepresentations and returns a Stream of IntermediateEventRepresentations. The upcasting process thus does not directly return the end result of the introduced upcast functions, but chains every upcasting function from one revision to another together by stacking IntermediateEventRepresentations. Once this process has taken place and the end result is pulled from them, that is when the actual upcasting function is performed on the serialized event. Different serialization formats Sometimes the event store can contain events in different serialized formats, since differing Serializer implementations where used. During upcasting it is important to note what the format is of the IntermediateEventRepresentation, as it influences the upcaster solution provided. To validate if the intermediate representation supports a given type, you can invoke IntermediateEventRepresentation#canConvertDataTo(Class). As described earlier, the Upcaster interface does not upcast a single event; it requires a Stream and returns one. However, an upcaster is usually written to adjust a single event out of this stream. More elaborate upcasting setups are also imaginable. For example from one event to multiple, or an upcaster which pulls state from an earlier event and pushes it in a later one. This section describes the currently provided (abstract) implementations of event upcasters which a user can extend to add their own desired upcast functionality. SingleEventUpcaster - a one-to-one implementation of an event upcaster. Extending from this implementation requires one to implement a canUpcast and doUpcast function, which respectively check whether the event at hand is to be upcasted, and if so how it should be upcasted. This is most likely the implementation to extend from, as most event adjustments are based on self contained data and are one to one. EventMultiUpcaster - a one-to-many implementation of an event upcaster. It is mostly identical to a SingleEventUpcaster, with the exception that the doUpcast function returns a Stream instead of a single IntermediateEventRepresentation. As such, this upcaster allows you to convert a single event to several events. This might be useful if you for example have figured out you want more fine grained events from a fat event. ContextAwareSingleEventUpcaster - a one-to-one implementation of an upcaster, which can store context of events during the process. Next to the canUpcast and doUpcast, the context aware upcaster requires one to implement a buildContext function, which is used to instantiate a context which is carried between events going through the upcaster. The canUpcast and doUpcast functions receive the context as a second parameter, next to the IntermediateEventRepresentation. The context can then be used within the upcasting process to pull fields from earlier events and populate other events. It thus allows you to move a field from one event to a completely different event. ContextAwareEventMultiUpcaster - a one-to-many implementation of an upcaster, which can store context of events during the process. This abstract implementation is a combination of the EventMultiUpcaster and ContextAwareSingleEventUpcaster, and thus services the goal of keeping context of IntermediateEventRepresentations and upcasting one such representation to several. This implementation is useful if you not only want to copy a field from one event to another, but have the requirement to generate several new events in the process. EventTypeUpcaster - a full upcaster implementation dedicated to changing the event type. The EventTypeUpcaster is an implementation of the SingleEventUpcaster with predefined canUpcast and doUpcast functions to be able to change an event from one event type to another. This can be used to for example change the class or package name of an event with ease. To create an EventTypeUpcaster, it is recommended to use the EventTypeUpcaster#from(String expectedPayloadType, expectedRevision) and EventTypeUpcaster.Builder#to(upcastedPayloadType, upcastedRevision) methods. What’s part of the context in a Context-Aware Upcasters? A context-aware upcaster allows you to collect state from previous events. As upcasters work on a stream of events, all that can ever belong to the context is the state of that stream. However, this \"stream of events\" is not identical at all times. For example, when an aggregate is event-sourced, the event stream consists of aggregate instance-specific events. Furthermore, the stream of events starts from the tracking token’s position for a Streaming Event Processor. Hence, the context contains different states depending on what’s included in the event stream. The following Java snippets will serve as a basic example of a one-to-one upcaster (the SingleEventUpcaster). Old version of the event: @Revision(\"1.0\") public class ComplaintEvent { private String id; private String companyName; // Constructor, getter, setter... } New version of the event: @Revision(\"2.0\") public class ComplaintEvent { private String id; private String companyName; private String description; // New field // Constructor, getter, setter... } Upcaster from 1.0 revision to 2.0 revision: Event with XStream Event with Jackson public class ComplaintEvent1_to_2Upcaster extends SingleEventUpcaster { private static final SimpleSerializedType TARGET_TYPE = new SimpleSerializedType(ComplaintEvent.class.getTypeName(), \"1.0\"); @Override protected boolean canUpcast(IntermediateEventRepresentation intermediateRepresentation) { return intermediateRepresentation.getType().equals(TARGET_TYPE); } @Override protected IntermediateEventRepresentation doUpcast( IntermediateEventRepresentation intermediateRepresentation ) { return intermediateRepresentation.upcastPayload( new SimpleSerializedType(TARGET_TYPE.getName(), \"2.0\"), org.dom4j.Document.class, document -> { document.getRootElement() .addElement(\"description\") .setText(\"no complaint description\"); // Default value return document; } ); } } public class ComplaintEvent1_to_2Upcaster extends SingleEventUpcaster { // upcaster implementation... private static final SimpleSerializedType TARGET_TYPE = new SimpleSerializedType(ComplaintEvent.class.getTypeName(), \"1.0\"); @Override protected boolean canUpcast(IntermediateEventRepresentation intermediateRepresentation) { return intermediateRepresentation.getType().equals(TARGET_TYPE); } @Override protected IntermediateEventRepresentation doUpcast( IntermediateEventRepresentation intermediateRepresentation ) { return intermediateRepresentation.upcastPayload( new SimpleSerializedType(TARGET_TYPE.getName(), \"2.0\"), com.fasterxml.jackson.databind.JsonNode.class, event -> { ((ObjectNode) event).put(\"description\", \"no complaint description\"); return event; } ); } } After choosing an upcaster type and constructing your first instance, it is time to configure it in your application. Important in the configuration is knowing that upcasters need to be invoked in order. Events tend to move through several format iterations, each with its own upcasting requirements. Since an upcaster only adjusts an event from one version to another, it is paramount to maintain the ordering of the upcasters. The component in charge of that ordering is the EventUpcasterChain. The upcaster chain is what the EventStore uses to attach all the upcast functions to the event stream. When configuring your upcasters, most scenarios will not require you to touch the EventUpcasterChain directly. Instead, consider the following snippets when it comes to registering upcasters: Configuration API Spring Boot with @Order annotation Spring Boot with EventUpcasterChain bean @Configuration public class AxonConfig { // omitting other configuration methods... public void configureUpcasters(Configurer configurer) { // The method invocation order imposes the upcaster ordering configurer.registerEventUpcaster(config -> new ComplaintEvent0_to_1Upcaster()) .registerEventUpcaster(config -> new ComplaintEvent1_to_2Upcaster()); } } Axon honors Spring’s Order annotation on upcasters. The numbers used in the annotation will dictate the ordering. The lower the number, the earlier it is registered to the upcaster chain: @Component @Order(0) public class ComplaintEvent0_to_1Upcaster extends SingleEventUpcaster { // upcaster implementation... } @Component @Order(1) public class ComplaintEvent1_to_2Upcaster extends SingleEventUpcaster { // upcaster implementation... } The annotation can be placed both on the class itself, or on bean creation methods: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean @Order(0) public SingleEventUpcaster complaintEventUpcasterOne() { return new ComplaintEvent0_to_1Upcaster(); } @Bean @Order(1) public SingleEventUpcaster complaintEventUpcasterTwo() { return new ComplaintEvent0_to_1Upcaster(); } } Adding an EventUpcasterChain bean to the Application Context will tell Axon to configure it for your event source: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public EventUpcasterChain eventUpcasterChain() { return new EventUpcasterChain( new ComplaintEvent0_to_1Upcaster(), new ComplaintEvent0_to_1Upcaster() ); } }","title":"Event Versioning","component":"axon-framework-reference","version":"development","name":"event-versioning","url":"/axon-framework-reference/development/events/event-versioning/","titles":[{"text":"Event Upcasting","hash":"event-upcasting","id":1},{"text":"Provided abstract Upcaster implementations","hash":"_provided_abstract_upcaster_implementations","id":2},{"text":"Writing an Upcaster","hash":"_writing_an_upcaster","id":3},{"text":"Configuring an Upcaster","hash":"_configuring_an_upcaster","id":4}]},"45":{"id":45,"text":"The second type of Message that an Axon application is associated with is the Event Message, or simply Events. These are messages that communicate that something has happened in the business domain or application. Other parts of the application, or event other applications, can react to these events. This section of the reference guide covers in detail the capabilities that Axon Framework provides for Event messages. A summary of the various sections is given below. Sub-Section Purpose Event Dispatchers / Event Handlers Functional development for Event Messages using the Axon Framework Event Processors / Event Bus & Event Store Non-Functional development for Event Messages using the Axon Framework Event Versioning Details on Event versioning capabilities provided by the Axon Framework","title":"Events","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/events/","titles":[]},"46":{"id":46,"text":"The EventBus is the mechanism that dispatches events to the subscribed event handlers. Axon provides three implementations of the Event Bus: AxonServerEventStore, EmbeddedEventStore and SimpleEventBus. All three implementations support subscribing and tracking processors (see Event Processors). However, the AxonServerEventStore and EmbeddedEventStore persist events (see Event Store), which allows you to replay them at a later stage. The SimpleEventBus has a volatile storage and 'forgets' events as soon as they have been published to subscribed components. An AxonServerEventStore event bus/store is configured by default. Event sourcing repositories need an event store to store and load events from aggregates. An event store offers the functionality of an event bus. Additionally, it persists published events and is able to retrieve previous events based on a given aggregate identifier. Axon provides an event store out of the box, the AxonServerEventStore. It connects to the AxonIQ AxonServer Server to store and retrieve Events. Configuration API Spring Boot Declare dependencies: org.axonframework axon-server-connector ${axon.version} org.axonframework axon-configuration ${axon.version} Configure your application: // Returns a Configurer instance with default components configured. // `AxonServerEventStore` is configured as Event Store by default. Configurer configurer = DefaultConfigurer.defaultConfiguration(); By simply declaring a dependency on axon-spring-boot-starter, Axon will automatically configure the event bus/event store: org.axonframework axon-spring-boot-starter ${axon.version} Excluding the Axon Server Connector If you exclude the axon-server-connector dependency from axon-spring-boot-starter the EmbeddedEventStore will be auto-configured for you, if a concrete implementation of EventStorageEngine is available. If JPA or JDBC is detected on the classpath, a JpaEventStorageEngine or JdbcEventStorageEngine will respectively be auto-configured as the EventStorageEngine. In absence of either, the auto configuration falls back to the SimpleEventBus. Alternatively, Axon provides a non-axon-server option, the EmbeddedEventStore. It delegates the actual storage and retrieval of events to an EventStorageEngine. There are multiple EventStorageEngine implementations available: The JpaEventStorageEngine stores events in a JPA-compatible data source. The JPA event store stores events in entries. These entries contain the serialized form of an event, as well as some fields where metadata is stored for fast lookup of these entries. To use the JpaEventStorageEngine, you must have the JPA (jakarta.persistence) annotations on your classpath. The old, javax JPA (javax.persistence) annotations are also still supported. This will use an instance of the JpaEventStorageEngine using the legacyjpa namespace. By default, the event store needs you to configure your persistence context (for example, as defined in the META-INF/persistence.xml file) to contain the classes DomainEventEntry and SnapshotEventEntry (both of these classes are located in the org.axonframework.eventsourcing.eventstore.jpa package). Below is an example configuration of a persistence context configuration: (1) org.axonframework.eventsourcing.eventstore.jpa.DomainEventEntry (2) org.axonframework.eventsourcing.eventstore.jpa.SnapshotEventEntry 1 In this example, there is a specific persistence unit for the event store. You may, however, choose to add the third line to any other persistence unit configuration. 2 This line registers the DomainEventEntry (the class used by the JpaEventStorageEngine) with the persistence context. Unique Key Constraint Consideration Axon uses locking to prevent two threads from accessing the same aggregate. However, if you have multiple JVMs using the same database, this won’t help you. In that case, you’d have to rely on the database to detect conflicts. Concurrent access to the event store will result in a Key Constraint Violation, as the table only allows a single event for a given aggregate and sequence number. Therefore, inserting a second event for an existing aggregate with an existing sequence number will result in an error. The JpaEventStorageEngine can detect this error and translate it to a ConcurrencyException. However, each database system reports this violation differently. If you register your DataSource with the JpaEventStorageEngine, it will try to detect the type of database and figure out which error codes represent a Key Constraint Violation. Alternatively, you may provide a PersistenceExceptionResolver instance, which can tell if a given exception represents a key constraint violation. If no DataSource or PersistenceExceptionTranslator is provided, exceptions from the database driver are thrown as-is. By default, the JpaEventStorageEngine requires an EntityManagerProvider implementation that returns the EntityManager instance for the EventStorageEngine to use. This also allows application managed persistence contexts to be used. It is the EntityManagerProvider’s responsibility to provide a correct instance of the `EntityManager. There are a few implementations of the EntityManagerProvider available, each for different needs. The SimpleEntityManagerProvider simply returns the EntityManager instance which is given to it at construction time. This makes the implementation a simple option for container managed contexts. Alternatively, there is the ContainerManagedEntityManagerProvider, which returns the default persistence context, and is used by default by the JPA event store. Move from javax.persistence to jakarta.persistence Since version 4.6.0, we moved to using the jakarta namespace by default. This means some classes like the JpaTokenStore are duplicated to accommodate for the javax to jakarta namespace change. If you have a persistence unit called \"myPersistenceUnit\" which you wish to use in the JpaEventStorageEngine, the EntityManagerProvider implementation could look like this: public class MyEntityManagerProvider implements EntityManagerProvider { private EntityManager entityManager; @Override public EntityManager getEntityManager() { return entityManager; } @PersistenceContext(unitName = \"myPersistenceUnit\") public void setEntityManager(EntityManager entityManager) { this.entityManager = entityManager; } By default, the JPA event store stores entries in DomainEventEntry and SnapshotEventEntry entities. While this will suffice in many cases, you might encounter a situation where the metadata provided by these entities is not enough. It is also possible that you might want to store events for different aggregate types in different tables. If that is the case, you can extend the JpaEventStorageEngine. It contains a number of protected methods that you can override to tweak its behavior. Note that persistence providers, such as Hibernate, use a first-level cache in their EntityManager implementation. Typically, this means that all entities used or returned in queries are attached to the EntityManager. They are only cleared when the surrounding transaction is committed or an explicit \"clear\" is performed inside the transaction. This is especially the case when the queries are executed in the context of a transaction. To work around this issue, make sure to exclusively query for non-entity objects. You can use JPA’s SELECT new SomeClass(parameters) FROM …​ style queries to work around this issue. Alternatively, call EntityManager.flush() and EntityManager.clear() after fetching a batch of events. Failure to do so might result in `OutOfMemoryException`s when loading large streams of events. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public Configurer jpaEventStorageConfigurer( EntityManagerProvider entityManagerProvider, TransactionManager transactionManager ) { return DefaultConfigurer.jpaConfiguration(entityManagerProvider, transactionManager); } } @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore( EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry ) { return EmbeddedEventStore.builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The JpaEventStorageEngine stores events in a JPA-compatible data source. @Bean public EventStorageEngine eventStorageEngine( Serializer serializer, PersistenceExceptionResolver persistenceExceptionResolver, @Qualifier(\"eventSerializer\") Serializer eventSerializer, EntityManagerProvider entityManagerProvider, TransactionManager transactionManager ) { return JpaEventStorageEngine .builder() .snapshotSerializer(serializer) .persistenceExceptionResolver(persistenceExceptionResolver) .eventSerializer(eventSerializer) .entityManagerProvider(entityManagerProvider) .transactionManager(transactionManager) // ... .build(); } } The JDBC event storage engine uses a JDBC Connection to store events in a JDBC compatible data storage. Typically, these are relational databases. Theoretically, anything that has a JDBC driver could be used to back the JdbcEventStorageEngine. Similar to its JPA counterpart, the JDBCEventStorageEngine stores events in entries. By default, each event is stored in a single entry, which corresponds with a row in a table. The storage engine uses one table for events and another for snapshots. The JdbcEventStorageEngine uses a ConnectionProvider to obtain connections. Typically, the engine can obtain these connections directly from a DataSource. However, Axon will bind these connections to a UnitOfWork to use a single connection within a unit of work. This approach ensures that the framework uses a single transaction to store all events, even when multiple units of work are nested in the same thread. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureJdbcEventStorage( Configurer configurer, ConnectionProvider connectionProvider, EventTableFactory eventTableFactory ) { configurer.configureEmbeddedEventStore(config -> { JdbcEventStorageEngine storageEngine = JdbcEventStorageEngine .builder() .snapshotSerializer(config.serializer()) .connectionProvider(connectionProvider) .transactionManager(config.getComponent(TransactionManager.class)) .eventSerializer(config.eventSerializer()) // ... .build(); // If the schema has not been constructed yet, the createSchema method can be used: storageEngine.createSchema(eventTableFactory); return storageEngine; }); } } By having JDBC on the classpath, Axon’s JdbcAutoConfiguration will automatically generate the JdbcEventStorageEngine for you. All that might be left is the creation of the schema. Axon can help you here with the createSchema operation: @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore( EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry ) { return EmbeddedEventStore .builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The JdbcEventStorageEngine stores events in a JDBC-compatible data source. @Bean public EventStorageEngine storageEngine( Serializer serializer, ConnectionProvider connectionProvider, @Qualifier(\"eventSerializer\") Serializer eventSerializer, TransactionManager transactionManager, EventTableFactory tableFactory ) { JdbcEventStorageEngine storageEngine = JdbcEventStorageEngine .builder() .snapshotSerializer(serializer) .connectionProvider(connectionProvider) .eventSerializer(eventSerializer) .transactionManager(transactionManager) // ... .build(); // If the schema has not been constructed yet, the createSchema method can be used: storageEngine.createSchema(tableFactory); return storageEngine; } } Data sources providers with Spring We recommend that Spring users use the SpringDataSourceConnectionProvider to attach a connection from a DataSource to an existing transaction. SQL Statement Customizability Databases have slight deviations from what’s the optimal SQL statement to perform in differing scenarios. Since optimizing for all possibilities out there is beyond the framework’s scope, you can adjust the default statements used by the storage engine. Check the JdbcEventStorageEngineStatements utility class for the default statements used by the JdbcEventStorageEngine. Furthermore, the org.axonframework.eventsourcing.eventstore.jdbc.statements package contains the set of adjustable statements. Each of these statement-builders can be customized through the JdbcEventStorageEngine.Builder. MongoDB is a document based NoSQL store. Its scalability characteristics make it suitable for use as an event store. Axon provides the MongoEventStorageEngine, which uses MongoDB as a backing database. It is contained in the Axon Mongo module (Maven artifactId axon-mongo). Events are stored in two separate collections: one for the event streams and one for snapshots. By default, the MongoEventStorageEngine stores each event in a separate document. It is, however, possible to change the StorageStrategy used. The alternative provided by Axon is the DocumentPerCommitStorageStrategy, which creates a single document for all events that have been stored in a single commit (that is, in the same DomainEventStream). The advantage of storing an entire commit in a single document is that commit is stored atomically. Furthermore, it requires only a single roundtrip for any number of events. The disadvantage is that it becomes harder to query events directly in the database. For example, when refactoring the domain model it is harder to \"transfer\" events from one aggregate to another if they are included in a \"commit document\". The MongoEventStorageEngine does not require a lot of configuration. All it needs is a reference to the collections to store the events in, and you’re set to go. For production environments, you may want to double check the indexes on your collections. If you want transactions to be handled correctly, it’s important to set a TransactionManager. Please note that there are several other optional configuration properties, like the serializers and an (optional) upcaster chain. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureMongoEventStorage(Configurer configurer, MongoTemplate mongoTemplate) { configurer.configureEmbeddedEventStore(config -> MongoEventStorageEngine .builder() .mongoTemplate(mongoTemplate) // ... .build() ); } } @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore(EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry) { return EmbeddedEventStore .builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The MongoEventStorageEngine stores each event in a separate MongoDB document. @Bean public EventStorageEngine storageEngine(MongoClient client) { return MongoEventStorageEngine .builder() .mongoTemplate(DefaultMongoTemplate.builder() .mongoDatabase(client) .build()) // ... .build(); } } Axon provides a number of Event Storage Engines that may be useful in certain circumstances. The InMemoryEventStorageEngine keeps stored events in memory. While it probably outperforms any other event store out there, it is not really meant for long-term production use. However, it is useful in short-lived tools or tests that require an event store. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureInMemoryEventStorage(Configurer configurer) { configurer.configureEmbeddedEventStore(config -> new InMemoryEventStorageEngine()); } } @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore(EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry) { return EmbeddedEventStore.builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The InMemoryEventStorageEngine stores each event in memory. @Bean public EventStorageEngine storageEngine() { return new InMemoryEventStorageEngine(); } } The SequenceEventStorageEngine is a wrapper around two other event storage engines. When reading, it returns the events from both event storage engines. Appended events are only appended to the second event storage engine. This is useful in cases where two different implementations of event storage are used for performance reasons, for example. The first would be a larger, but slower event store, while the second is optimized for quick reading and writing. The FilteringEventStorageEngine allows events to be filtered based on a predicate. Only events that match the given predicate will be stored. Note that event processors that use the event store as a source of events may not receive these events because they are not being stored. Event stores need a way to serialize the event to prepare it for storage. By default, Axon uses the XStreamSerializer, which uses XStream to serialize events into XML. XStream is reasonably fast and is more flexible than Java Serialization. Furthermore, the result of XStream serialization is human-readable. This makes it quite useful for logging and debugging purposes. The XStreamSerializer can be configured. You can define aliases it should use for certain packages, classes or even fields. Besides being a nice way to shorten potentially long names, aliases can also be used when class definitions of events change. For more information about aliases, visit the XStream website. Alternatively, Axon also provides the JacksonSerializer, which uses Jackson to serialize events into JSON. While it produces a more compact serialized form, it does require that classes stick to the conventions (or configuration) required by Jackson. You may also implement your own serializer, simply by creating a class that implements Serializer, and configuring the event store to use that implementation instead of the default. Configuration API Spring Boot // Returns a Configurer instance with default components configured. // We explicitly set `JacksonSerializer` as desired event serializer. Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureEventSerializer(c -> JacksonSerializer.builder().build()); You can specify a serializer in your application.properties: # somewhere in your `application.properties` axon.serializer.events=jackson # possible values: java, xstream, jackson Alternatively, you can explicitly define your Serializer in the Spring context: // somewhere in your `@Configuration` class @Qualifier(\"eventSerializer\") @Bean public Serializer eventSerializer() { return JacksonSerializer.builder().build(); } It is possible to use a different serializer for the storage of events, than all other objects that Axon needs to serialize (such as commands, snapshots, sagas, etc). While the XStreamSerializer’s capability to serialize virtually anything makes it a decent default, its output is not always a form that makes it nice to share with other applications. The `JacksonSerializer creates much nicer output, but requires a certain structure in the objects to serialize. This structure is typically present in events, making it a suitable event serializer. If no explicit eventSerializer is configured, events are serialized using the main serializer that has been configured (which defaults to the XStreamSerializer). To distribute events between applications, it is important to know whether the applications belong to the same bounded context. If you don’t recognize this concept, we recommend reading the Bounded Context section first. Applications within the same context \"speak the same language.\" In other words, they communicate using the same set of messages and thus events. As such, we can share the EventStore’s data source between these applications. We may thus achieve distribution by utilizing the source itself. You can use both the EmbeddedEventStore and Axon Server for this. The former would require the applications to point to the same data source, whereas the latter would require the applications to partake in the same context. However, sharing the entire event API is not recommended whenever the applications do not belong to the same context. Instead, we should protect the boundary of the contexts, except for some clearly defined cross-boundary messages. Since accessing the same source isn’t an option, we require a different solution to share events. To distribute events between bounded contexts, you can use Axon Server’s Multi-Context solution, for example. The multi-context support requires application registration to specific contexts. Then, you can open a stream to another context through the AxonServerEventStore#createStreamableMessageSourceForContext(String) operation. With this source in hand, you can configure a Streaming Processor to start reading from it. Alternatively, you can use a message broker to distribute events between contexts. Axon provides a good bunch of these as extension modules, for example Spring AMQP or Kafka. Although this allows further event distribution, we still recommend consciously sharing the correct events. Ideally, we add a form of context mapping, like an anti-corruption layer, between the contexts. In other words, we recommend using a separate component that maps the events from the local context to a shared language right before distribution. For example, this mapper would publish the messages on the AMQP queue or Kafka topic. When it comes to Axon Server, we could, for example, use a distinct shared/global context to contain the shared language.","title":"Event Bus & Event Store","component":"axon-framework-reference","version":"development","name":"infrastructure","url":"/axon-framework-reference/development/events/infrastructure/","titles":[{"text":"Event bus","hash":"_event_bus","id":1},{"text":"Event store","hash":"event-store","id":2},{"text":"Axon Server as an event store","hash":"_axon_server_as_an_event_store","id":3},{"text":"Embedded event store","hash":"embedded-event-store","id":4},{"text":"JpaEventStorageEngine","hash":"JpaEventStorageEngine","id":5},{"text":"JdbcEventStorageEngine","hash":"JdbcEventStorageEngine","id":6},{"text":"MongoEventStorageEngine","hash":"MongoEventStorageEngine","id":7},{"text":"Event store utilities","hash":"_event_store_utilities","id":8},{"text":"In-Memory event storage","hash":"_in_memory_event_storage","id":9},{"text":"Combining multiple event stores into one","hash":"_combining_multiple_event_stores_into_one","id":10},{"text":"Filtering stored events","hash":"_filtering_stored_events","id":11},{"text":"Influencing the serialization process","hash":"_influencing_the_serialization_process","id":12},{"text":"Serializing events vs 'the others'","hash":"_serializing_events_vs_the_others","id":13},{"text":"Distributing events","hash":"_distributing_events","id":14}]},"47":{"id":47,"text":"In Axon, all communication between components is done with explicit messages, represented by the Message interface. A Message consists of a Payload, which is an application-specific object that represents the actual functional message, and Meta Data, which is a key-value pair describing the context of the message. Each of Message’s sub-interfaces represent a specific type of message, and defines additional information that describes that Message. Unlike Meta Data, this additional information defines information required for correct processing of that type of message. Messages are immutable. That means that, to add a Meta Data element, you effectively create a new Message instance, with an additional (or other) Meta Data element. To still be able to consider two Java-instances of a message as representing the same conceptual Message, each message has an identifier. Changing the Meta Data of a message will not change this identifier. Meta Data of messages typically describe the context in which a Message was generated. For example, Meta Data might contain information about the message that caused this Message to be generated (for example, Command handlers generate Events based on an incoming Command). In Axon, Meta Data is represented as a Map of String to Object. While you are free to add any type of object as the Meta Data value, we strongly recommend sticking to primitives and Strings (or at most simple objects). Meta Data does not come with the same flexibility as the payload when it comes to structural changes. Unlike a regular Map, MetaData in Axon is immutable. Mutating methods will create and return a new instance, instead of modifying an existing one. MetaData metaData = MetaData.with(\"myKey\", 42) (1) .and(\"otherKey\", \"some value\"); (2) 1 Creates a MetaData instance with the indicated key-value pair 2 Adds a key-value pair, returning a new instance of MetaData with the additional entry. Meta Data in a message works similarly: EventMessage eventMessage = GenericEventMessage .asEventMessage(\"myPayload\") (1) .withMetaData(singletonMap(\"myKey\", 42)) (2) .andMetaData(singletonMap(\"otherKey\", \"some value\")); (3) 1 Create an EventMessage with \"myPayload\" as the payload 2 withMetaData replaces any Meta Data in the message with the given Map. In this case java.util.Collections.singletonMap() is used to define a single entry. 3 andMetaData adds the entries from the given Map to the Message’s metadata. Existing entries with equal keys are overwritten. MetaData Implementation remark MetaData also implements Map, meaning that instead of passing a singletonMap (or any other type of Map), you can also use MetaData.with(key, value). As MetaData is immutable, all mutating operations of Map will throw an UnsupportedOperationException. Certain types of messages provide extra information (on top of what the Message provides). For example, an EventMessage (an interface extending Message) also provides a timestamp, representing the time at which the event was generated. The QueryMessage carries, besides Payload and Meta Data, a description of the type of response that the requesting component expects.","title":"Anatomy of a Message","component":"axon-framework-reference","version":"development","name":"anatomy-message","url":"/axon-framework-reference/development/messaging-concepts/anatomy-message/","titles":[{"text":"Meta data","hash":"meta-data","id":1},{"text":"Message-specific data","hash":"_message_specific_data","id":2}]},"48":{"id":48,"text":"Exception handling is a well-known concept when developing software. Dealing with exceptions in a distributed application landscape is a little more challenging than we are typically used to. Especially when it comes to failures when handling a command or a query, messages that are intended to have a return value, we should be conscious about how we throw exceptions. The HandlerExecutionException marks an exception which originates from a message handling member. Since an Event message is unidirectional, handling an event does not include any return values. As such, the HandlerExecutionException should only be returned as an exceptional result from handling a command. Axon provides a more concrete implementation of this exception for failed command and query handling, respectively the CommandExecutionException and QueryExecutionException. The usefulness of a dedicated handler execution exception becomes clearer in a distributed application environment where, for example, there is a dedicated application for dealing with commands and another application tasked with the query side. Due to the application division, you loose any certainty that both applications can access the same classes, which thus holds for any exception classes. To support and encourage this decoupling, Axon will generify any exception which is a result of Command or Query Handling. To maintain support for conditional logic dependent on the type of exception thrown in a distributed scenario, it is possible to provide details in a HandlerExecutionException. It is thus recommended to throw a CommandExecutionException / `QueryExecutionException`with the required details, when command/query handling fails. This behaviour could be supported generically by implementing interceptors which perform exception wrapping for you. Axon Framework allows the use of methods annotated with @ExceptionHandler to provide more fine-grained control on how to react to exceptions. More specifically, this is a type of message handler interceptor dedicated to reacting to exceptional results. Note that such an @ExceptionHandler will only handle exceptions thrown from message handling functions in the same class. For more specifics on how to use this annotation, check out this section.","title":"Exception Handling","component":"axon-framework-reference","version":"development","name":"exception-handling","url":"/axon-framework-reference/development/messaging-concepts/exception-handling/","titles":[{"text":"Handler execution exception","hash":"_handler_execution_exception","id":1},{"text":"@ExceptionHandler annotated methods","hash":"_exceptionhandler_annotated_methods","id":2}]},"49":{"id":49,"text":"One of the core concepts in Axon is messaging. All communication between components is done using message objects. This gives these components the location transparency needed to be able to scale and distribute these components when necessary. Although all these messages implement the Message interface, there is a clear distinction between the different types of messages and how they are treated. All messages contain a payload, metadata and unique identifier. The payload of the message is the functional description of what the message means. The combination of the class name of this object and the data it carries, describe the application’s meaning of the message. The metadata allows you to describe the context in which a message is being sent. You can, for example, store tracing information, to allow the origin or cause of messages to be tracked. You can also store information to describe the security context under which a command is being executed. All messages are immutable Note that all messages are immutable. Storing data in a message actually means creating a new message based on the previous one, with extra information added to it. This guarantees that messages are safe to use in a multi-threaded and distributed environment. Commands describe an intent to change the application’s state. They are implemented as (preferably read-only) POJOs that are wrapped using one of the CommandMessage implementations. Commands always have exactly one destination. While the sender does not care which component handles the command or where that component resides, it may be interesting knowing the outcome of it. That is why command messages sent over the command bus allow for a result to be returned. Events are objects that describe something that has occurred in the application. A typical source of events is the aggregate. When something important has occurred within the aggregate, it will raise an event. In Axon Framework, events can be any object. You are highly encouraged to make sure all events are serializable. When Events are dispatched, Axon wraps them in an EventMessage. The actual type of Message used depends on the origin of the event. When an event is raised by an aggregate, it is wrapped in a DomainEventMessage (which extends EventMessage). All other events are wrapped in an EventMessage . Aside from common Message attributes like the unique Identifier an EventMessage also contains a timestamp. The DomainEventMessage additionally contains the type and identifier of the aggregate that raised the event. It also contains the sequence number of the event in the aggregate’s event stream, which allows the order of events to be reproduced. Include aggregate identifiers in tyour events Even though the DomainEventMessage contains a reference to the Aggregate Identifier, you should always include the identifier in the actual Event itself as well. The identifier in the DomainEventMessage is used by the EventStore to store events and may not always provide a reliable value for other purposes. The original event object is stored as the payload of an EventMessage. Next to the payload, you can store information in the metadata of an event message. The intent of the metadata is to store additional information about an event that is not primarily intended as business information. Auditing information is a typical example. It allows you to see under which circumstances an Event was raised. Such as the user account that triggered the processing, or the name of the machine that processed the event. Do not base business decisions on metadata In general, you should not base business decisions on information in the metadata of event messages. If that is the case, you might have information attached that should really be part of the event itself instead. Metadata is typically used for reporting, auditing and tracing. Although not enforced, it is good practice to make domain events immutable, preferably by making all fields final and by initializing the event within the constructor. Consider using a Builder pattern if event construction is too cumbersome. Capture intent in your events Although domain events technically indicate a state change, you should try to capture the intention of the state in the event, too. A good practice is to use an abstract implementation of a domain event to capture the fact that certain state has changed, and use a concrete sub-implementation of that abstract class that indicates the intention of the change. For example, you could have an abstract AddressChangedEvent, and two implementations ContactMovedEvent and AddressCorrectedEvent that capture the intent of the state change. Some listeners don’t care about the intent (for example, database updating event listeners). These will listen to the abstract type. Other listeners do care about the intent and these will listen to the concrete subtypes (for example, to send an address change confirmation email to the customer). When dispatching an Event on the Event Bus, you will need to wrap it in an Event Message. The GenericEventMessage is an implementation that allows you to wrap your Event in a Message. You can use the constructor, or the static asEventMessage() method. The latter checks whether the given parameter doesn’t already implement the Message interface. If so, it is either returned directly (if it implements EventMessage,) or it returns a new GenericEventMessage using the given Message’s payload and Metadata. If an Event is applied (published) by an Aggregate Axon will automatically wrap the Event in a DomainEventMessage containing the Aggregate’s Identifier, Type and Sequence Number. Queries describe a request for information or state. A query can have multiple handlers. When dispatching queries, the client indicates whether he wants a result from one or from all available query handlers. When building Axon Framework applications, you will typically see a flow of messages. Commands are sent to the Command Bus, which dispatches them to the appropriate Command Handler. The command handler will apply events that will be published and handled by Event Handlers. These handlers can update the read model, which can be queried using Query Messages. Using AxonIQ Console, you can monitor the flow of messages in your application as you can see in the image below. Besides seeing the flow, every message handler is individually monitored, providing deep insight into the performance and behavior of your application. For more information, see the AxonIQ Console Reference Guide or sign up directly.","title":"Messaging Concepts","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/messaging-concepts/","titles":[{"text":"Commands","hash":"_commands","id":1},{"text":"Events","hash":"_events","id":2},{"text":"Queries","hash":"_queries","id":3},{"text":"Message flow","hash":"_message_flow","id":4}]},"50":{"id":50,"text":"In messaging systems it is common to group messages together or correlate them. In Axon Framework a Command message might result in one or several Event messages and a Query message might result in one or several QueryResponse messages. Usually, correlation is implemented using a specific message property, a so-called correlation identifier. Messages in Axon Framework use the MetaData property to transport meta-information about the message. The MetaData object is of type Map and is passed around with the message. To fill the MetaData of a new message produced within a Unit of Work, a so called CorrelationDataProvider can be used. It is the Unit of Work that is in charge of populating the MetaData of a new message based on this CorrelationDataProvider. Axon Framework currently provides a couple of implementations of this functional interface: By default, the MessageOriginProvider is registered as the correlation data provider to use. It is responsible for two values to be passed around from one Message to another, namely the correlationId and traceId. The correlationId of a message always references the identifier of the message it originates from (that is, the parent message). The traceId on the other hand references to the message identifier which started the chain of messages (that is, the root message). When neither of these fields is present in the parent message when a new message is created, the message identifier will be used for both. To place this in an example, if you would handle a Command message which in turn publishes an Event message, the Event message’s MetaData will be populated based on: The Command message’s identifier for the correlationId. The Command message’s presence of the traceId in the MetaData or otherwise the message’s identifier for the traceId. The SimpleCorrelationDataProvider is configured to unconditionally copy values of specified keys from one message to metadata of the other. To do so, the constructor of the SimpleCorrelationDataProvider must be called with a list of keys which should be copied. Here is an example how to configure it to copy the myId and myId2 values. public class Configuration { public CorrelationDataProvider customCorrelationDataProvider() { return new SimpleCorrelationDataProvider(\"myId\", \"myId2\"); } } A MultiCorrelationDataProvider is capable to combine the effect of multiple correlation data providers. To do so, the constructor of the MultiCorrelationDataProvider must be called with a list of providers, as shown in the following sample: public class Configuration { public CorrelationDataProvider customCorrelationDataProviders() { return new MultiCorrelationDataProvider>( Arrays.asList( new SimpleCorrelationDataProvider(\"someKey\"), new MessageOriginProvider() ) ); } } If the predefined providers don’t fulfill your requirements, you can always implement your own CorrelationDataProvider. The class must implement the CorrelationDataProvider interface, as is depicted in the following example: public class AuthCorrelationDataProvider implements CorrelationDataProvider { private final Function usernameProvider; public AuthCorrelationDataProvider(Function userProvider) { this.usernameProvider = userProvider; } @Override public Map correlationDataFor(Message message) { Map correlationData = new HashMap<>(); if (message instanceof CommandMessage) { if (message.getMetaData().containsKey(\"authorization\")) { String token = (String) message.getMetaData().get(\"authorization\"); correlationData.put(\"username\", usernameProvider.apply(token)); } } return correlationData; } } When the default MessageOriginProvider isn’t sufficient for your use case, the (custom) correlation data providers need to be registered inside you application. If you are using the Axon Configuration API, make sure to call Configuration#configureCorrelationDataProviders method to register the correlated data providers. If you are relying on Spring Boot Autoconfiguration, just provide a factory method exposing the Spring Bean, or multiple if you need more than one provider. The following snippets show some possible approaches of registration: Configuration API Spring Boot public class Configuration { public void configuring() { Configurer configurer = DefaultConfigurer .defaultConfiguration() .configureCorrelationDataProviders(config -> Arrays.asList( new SimpleCorrelationDataProvider(\"someKey\"), new MessageOriginProvider() )); } } @Configuration public class CorrelationDataProviderConfiguration { // Configuring a single CorrelationDataProvider will automatically override the default MessageOriginProvider @Bean public CorrelationDataProvider someKeyCorrelationProvider() { return new SimpleCorrelationDataProvider(\"someKey\"); } @Bean public CorrelationDataProvider messageOriginProvider() { return new MessageOriginProvider(); } }","title":"Message Correlation","component":"axon-framework-reference","version":"development","name":"message-correlation","url":"/axon-framework-reference/development/messaging-concepts/message-correlation/","titles":[{"text":"Correlation data provider","hash":"_correlation_data_provider","id":1},{"text":"MessageOriginProvider","hash":"MessageOriginProvider","id":2},{"text":"SimpleCorrelationDataProvider","hash":"SimpleCorrelationDataProvider","id":3},{"text":"MultiCorrelationDataProvider","hash":"MultiCorrelationDataProvider","id":4},{"text":"Implementing custom correlation data provider","hash":"_implementing_custom_correlation_data_provider","id":5},{"text":"Configuration","hash":"_configuration","id":6}]},"51":{"id":51,"text":"There are two different types of interceptors: dispatch interceptors and handler interceptors. Dispatch interceptors are invoked before a message is dispatched to a message handler. At that point, it may not even be known that a handler exists for that message. Handler interceptors are invoked just before the message handler is invoked. One of the advantages of using a command bus is the ability to undertake action based on all incoming commands. Examples are logging or authentication, which you might want to do regardless of the type of command. This is done using Interceptors. Message dispatch interceptors are invoked when a command is dispatched on a command bus. They can alter the command message by adding metadata. They can also block the command by throwing an exception. These interceptors are always invoked on the thread that dispatches the command. Let’s create a MessageDispatchInterceptor which logs each command message being dispatched on a CommandBus. public class MyCommandDispatchInterceptor implements MessageDispatchInterceptor> { private static final Logger LOGGER = LoggerFactory.getLogger(MyCommandDispatchInterceptor.class); @Override public BiFunction, CommandMessage> handle(List> messages) { return (index, command) -> { LOGGER.info(\"Dispatching a command {}.\", command); return command; }; } } We can register this dispatch interceptor with a CommandBus by doing the following: public class CommandBusConfiguration { public CommandBus configureCommandBus() { CommandBus commandBus = SimpleCommandBus.builder().build(); commandBus.registerDispatchInterceptor(new MyCommandDispatchInterceptor()); return commandBus; } } There is no point in processing a command if it does not contain all required information in the correct format. In fact, a command that lacks information should be blocked as early as possible, preferably even before a transaction has been started. Therefore, an interceptor should check all incoming commands for the availability of such information. This is called structural validation. Axon Framework has support for the JSR 303 Bean Validation specification. This allows you to annotate the fields on commands with annotations like @NotEmpty and @Pattern. You need to include a JSR 303 implementation (such as Hibernate-Validator) on your classpath. Then, configure a BeanValidationInterceptor on your command bus, and it will automatically find and configure your validator implementation. While it uses sensible defaults, you can fine-tune it to your specific needs. Interceptor Ordering You want to spend as few resources on an invalid command as possible. Therefore, this interceptor is generally placed at the front of the interceptor chain. In some cases, a LoggingInterceptor or AuditingInterceptor might need to be placed first, with the validating interceptor immediately following it. The BeanValidationInterceptor also implements MessageHandlerInterceptor, allowing you to configure it as a handler interceptor as well. Message handler interceptors can take action both before and after command processing. Interceptors can even block command processing altogether, for example for security reasons. Interceptors must implement the MessageHandlerInterceptor interface. This interface declares one method, handle, that takes two parameters: the current UnitOfWork and an InterceptorChain. The InterceptorChain is used to continue the dispatching process. The UnitOfWork gives you (1) the message being handled and (2) provides the possibility to tie in logic prior, during or after (command) message handling (see Unit Of Work for more information about the phases). Unlike dispatch interceptors, handler interceptors are invoked in the context of the command handler. That means they can attach correlation data based on the message being handled to the unit of work, for example. This correlation data will then be attached to messages being created in the context of that unit of work. Handler interceptors are also typically used to manage transactions around the handling of a command. To do so, register a TransactionManagingInterceptor, which in turn is configured with a TransactionManager to start and commit (or roll back) the actual transaction. Let’s create a Message Handler Interceptor which will only allow the handling of commands that contain axonUser as a value for the userId field in the MetaData. If the userId is not present in the metadata, an exception will be thrown which will prevent the command from being handled. Additionally, if the value of userId does not match axonUser, we will also not proceed up the chain. public class MyCommandHandlerInterceptor implements MessageHandlerInterceptor> { @Override public Object handle(UnitOfWork> unitOfWork, InterceptorChain interceptorChain) throws Exception { CommandMessage command = unitOfWork.getMessage(); String userId = Optional.ofNullable(command.getMetaData().get(\"userId\")) .map(uId -> (String) uId) .orElseThrow(IllegalCommandException::new); if (\"axonUser\".equals(userId)) { return interceptorChain.proceed(); } return null; } } We can register the handler interceptor with a CommandBus like so: public class CommandBusConfiguration { public CommandBus configureCommandBus() { CommandBus commandBus = SimpleCommandBus.builder().build(); commandBus.registerHandlerInterceptor(new MyCommandHandlerInterceptor()); return commandBus; } } The framework has the ability to add a Handler Interceptor as a @CommandHandlerInterceptor annotated method on the Aggregate/Entity. The difference between a method on an Aggregate and a \"regular\" Command Handler Interceptor, is that with the annotation approach you can make decisions based on the current state of the given Aggregate. Some properties of an annotated Command Handler Interceptor are: The annotation can be put on entities within the Aggregate. It is possible to intercept a command on Aggregate Root level, whilst the command handler is in a child entity. Command execution can be prevented by firing an exception from an annotated command handler interceptor. It is possible to define an InterceptorChain as a parameter of the command handler interceptor method and use it to control command execution. By using the commandNamePattern attribute of the @CommandHandlerInterceptor annotation we can intercept all commands matching the provided regular expression. Events can be applied from an annotated command handler interceptor. In the example below we can see a @CommandHandlerInterceptor annotated method which prevents command execution if a command’s state field does not match the Aggregate’s state field: public class GiftCard { //.. private String state; //.. @CommandHandlerInterceptor public void intercept(RedeemCardCommand command, InterceptorChain interceptorChain) { if (this.state.equals(command.getState())) { interceptorChain.proceed(); } } } Note that the @CommandHandlerInterceptor is essentially a more specific implementation of the @MessageHandlerInterceptor described here. Similar to command messages, event messages can also be intercepted prior to publishing and handling to perform additional actions on all events. This is simplfied to the same two types of interceptors for messages: the dispatch interceptor and the handler interceptor. Any message dispatch interceptors registered to an event bus will be invoked when an event is published. They have the ability to alter the event message by adding metadata. They can also provide you with overall logging capabilities for when an event is published. These interceptors are always invoked on the thread that published the event. Let’s create an event message dispatch interceptor which logs each event message being published on an EventBus. public class EventLoggingDispatchInterceptor implements MessageDispatchInterceptor> { private static final Logger logger = LoggerFactory.getLogger(EventLoggingDispatchInterceptor.class); @Override public BiFunction, EventMessage> handle( List> messages) { return (index, event) -> { logger.info(\"Publishing event: [{}].\", event); return event; }; } } We can then register this dispatch interceptor with an EventBus by doing the following: public class EventBusConfiguration { public EventBus configureEventBus(EventStorageEngine eventStorageEngine) { // note that an EventStore is a more specific implementation of an EventBus EventBus eventBus = EmbeddedEventStore.builder() .storageEngine(eventStorageEngine) .build(); eventBus.registerDispatchInterceptor(new EventLoggingDispatchInterceptor()); return eventBus; } } Message handler interceptors can take action both before and after event processing. Interceptors can even block event processing altogether, for example for security reasons. Interceptors must implement the MessageHandlerInterceptor interface. This interface declares one method, handle(), that takes two parameters: the current UnitOfWork and an InterceptorChain. The InterceptorChain is used to continue the dispatching process. The UnitOfWork gives you (1) the message being handled and (2) provides the possibility to tie in logic prior, during or after (event) message handling (see Unit Of Work for more information about the phases). Unlike dispatch interceptors, handler interceptors are invoked in the context of the event handler. That means they can attach correlation data based on the message being handled to the unit of work, for example. This correlation data will then be attached to event messages being created in the context of that unit of work. Let’s create a message handler interceptor which will only allow the handling of events that contain axonUser as the value for the userId field in the MetaData. If the userId is not present in the metadata, an exception will be thrown which will prevent the Event from being handled. And if the value of userId does not match axonUser, we will also not proceed up the chain. Authenticating the event message like shown in this example is a regular use case of the MessageHandlerInterceptor. public class MyEventHandlerInterceptor implements MessageHandlerInterceptor> { @Override public Object handle(UnitOfWork> unitOfWork, InterceptorChain interceptorChain) throws Exception { EventMessage event = unitOfWork.getMessage(); String userId = Optional.ofNullable(event.getMetaData().get(\"userId\")) .map(uId -> (String) uId) .orElseThrow(IllegalEventException::new); if (\"axonUser\".equals(userId)) { return interceptorChain.proceed(); } return null; } } We can register the handler interceptor with an EventProcessor like so: public class EventProcessorConfiguration { public void configureEventProcessing(Configurer configurer) { configurer.eventProcessing() .registerTrackingEventProcessor(\"my-tracking-processor\") .registerHandlerInterceptor(\"my-tracking-processor\", configuration -> new MyEventHandlerInterceptor()); } } Interceptor Registration Different from the CommandBus and QueryBus, which both can have handler interceptors and dispatch interceptors, the EventBus can only register dispatch interceptors. This is because the sole purpose of the EventBus is event publishing/dispatching, thus they are where event dispatch interceptors are registered. An EventProcessor is in charge of handling event messages, thus event handler interceptors are registered on them directly. One of the advantages of using a query bus is the ability to undertake action based on all incoming queries. Examples are logging or authentication, which you might want to do regardless of the type of query. This is done using interceptors. Message dispatch interceptors are invoked when a query is dispatched on a query bus or when a subscription update to a query message is dispatched on a query update emitter. They have the ability to alter the message by adding metadata. They can also block the handler execution by throwing an exception. These interceptors are always invoked on the thread that dispatches the message. There is no point in processing a query if it does not contain all required information in the correct format. In fact, a query that lacks information should be blocked as early as possible. Therefore, an interceptor should check all incoming queries for the availability of such information. This is called structural validation. Axon Framework has support for JSR 303 Bean Validation based validation. This allows you to annotate the fields on queries with annotations like @NotEmpty and @Pattern. You need to include a JSR 303 implementation (such as Hibernate-Validator) on your classpath. Then, configure a BeanValidationInterceptor on your query bus, and it will automatically find and configure your validator implementation. While it uses sensible defaults, you can fine-tune it to your specific needs. Interceptor Ordering Tip You want to spend as few resources on invalid queries as possible. Therefore, this interceptor is generally placed at the front of the interceptor chain. In some cases, a logging or auditing interceptor might need to be placed first, with the validating interceptor immediately following it. The BeanValidationInterceptor also implements MessageHandlerInterceptor, allowing you to configure it as a handler interceptor as well. Message handler interceptors can take action both before and after query processing. Interceptors can even block query processing altogether, for example, for security reasons. Interceptors must implement the MessageHandlerInterceptor interface. This interface declares one method, handle, that takes two parameters: the current UnitOfWork and an InterceptorChain. The InterceptorChain is used to continue the dispatching process. The UnitOfWork gives you (1) the message being handled and (2) provides the possibility to tie in logic prior, during or after (query) message handling (see Unit Of Work for more information about the phases). Unlike dispatch interceptors, handler interceptors are invoked in the context of the query handler. That means they can attach correlation data based on the message being handled to the unit of work, for example. This correlation data will then be attached to messages being created in the context of that unit of work. Alongside defining overall MessageHandlerInterceptor instances on the component handling a message (for example, a command, query or event), it is also possible to define a handler interceptor for a specific component containing the handlers. This can be achieved by adding a method handling the message, combined with the @MessageHandlerInterceptor annotation. Adding such a method allows you more fine-grained control over which message handling components should react and how these should react. Several handles are given to you when it comes to adding the @MessageHandlerInterceptor, like: MessageHandlerInterceptor instances work with the InterceptorChain to decide when to proceed with other interceptors in the chain. The InterceptorChain is an optional parameter which can be added to the intercepting method to provide you with the same control. In absence of this parameter, the framework will call InterceptorChain#proceed once the method is exited. You can define the type of Message the interceptor should deal with. By default, it reacts to any Message implementation. If an EventMessage specific interceptor is desired, the messageType parameter on the annotation should be set to EventMessage.class. For even more fine-grained control of which messages should react to the interceptor, the payloadType contained in the Message to handle can be specified. The following snippets shows some possible approaches of using the @MessageHandlerInterceptor annotation: Simple @MessageHandlerInterceptor method public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor public void intercept(Message message) { // Add your intercepting logic here based on the } } @MessageHandlerInterceptor method defining the Message type public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor(messageType = EventMessage.class) public void intercept(EventMessage eventMessage) { // Add your intercepting logic here based on the } } @MessageHandlerInterceptor method defining the Message and payload type public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor( messageType = EventMessage.class, payloadType = CardRedeemedEvent.class ) public void intercept(CardRedeemedEvent event) { // Add your intercepting logic here based on the } } @MessageHandlerInterceptor method defining an InterceptorChain parameter public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor(messageType = QueryMessage.class) public void intercept(QueryMessage queryMessage, InterceptorChain interceptorChain) throws Exception { // Add your intercepting logic before interceptorChain.proceed(); // or after the InterceptorChain#proceed invocation } } Next to the message, payload and InterceptorChain, a @MessageHandlerInterceptor annotated method can resolve other parameters as well. Which parameters the framework can resolve on such a function, is based on the type of Message being handled by the interceptor. For more specifics on which parameters are resolvable for the Message being handled, take a look at this page. The @MessageHandlerInterceptor also allows for a more specific version of an intercepting function. Namely, an @ExceptionHandler annotated method. The framework invokes @ExceptionHandler annotated methods only for exceptional results of message handling. Using exception handlers like this, for example, allows you to throw more domain-specific exceptions as a result of a thrown database/service exception. Or, you can catch an aggregate-specific exception and translate it to a generic error code. To Axon, an exception handler is just like any other message handling method. You can thus wire all default parameters to an exception handler, similar to command, event, and query handlers. Hence, you can add the exception, payload, MetaData, and other options to the @ExceptionHandler annotated function. You can introduce @ExceptionHandler annotated methods in any message handling component, including sagas. Furthermore, you can choose to react to all exceptions or define specific exception/message combinations to which the handler should respond. Check the following samples for some snippets on how to use this: Aggregate exception handlers class GiftCard { // State, command handlers and event sourcing handlers omitted for brevity @ExceptionHandler public void handleAll(Exception exception) { // Handles all exceptions thrown within this component generically } @ExceptionHandler public void handleIssueCardExceptions(IssueCardCommand command) { // Handles all exceptions thrown from the IssueCardCommand handler within this component } @ExceptionHandler(payloadType = IssueCardCommand.class) public void handleIssueCardExceptions() { // Handles all exceptions thrown from the IssueCardCommand handler within this component } @ExceptionHandler public void handleIllegalStateExceptions(IllegalStateException exception) { // Handles all IllegalStateExceptions thrown within this component } @ExceptionHandler(resultType = IllegalStateException.class) public void handleIllegalStateExceptions(Exception exception) { // Handles all IllegalStateExceptions thrown within this component } @ExceptionHandler public void handleIllegalStateExceptionsFromIssueCard(IssueCardCommand command, IllegalStateException exception) { // Handles all IllegalStateExceptions thrown from the IssueCardCommand handler within this component } @ExceptionHandler(resultType = IllegalStateException.class, payloadType = IssueCardCommand.class) public void handleIllegalStateExceptionsFromIssueCard() { // Handles all IllegalStateExceptions thrown from the IssueCardCommand handler within this component } } Exception Handling for Aggregate Constructors The @ExceptionHandler annotated methods require an existing component instance to work. Because of this, exception handlers do not work for (command handling) constructors of an aggregate. If you thus expect exceptions on an aggregate’s command handler that you need to handle differently, it is recommended to use Axon’s creation policy. Projector exception handlers class CardSummaryProjection { // Repositories/Services, event handlers and query handlers omitted for brevity @ExceptionHandler public void handleAll(Exception exception) { // Handles all exceptions thrown within this component generically } @ExceptionHandler public void handleFindCardQueryExceptions(FindCardQuery query) { // Handles all exceptions thrown from the FindCardQuery handler within this component } @ExceptionHandler(payloadType = FindCardQuery.class) public void handleFindCardQueryExceptions() { // Handles all exceptions thrown from the FindCardQuery handler within this component } @ExceptionHandler public void handleIllegalArgumentExceptions(IllegalArgumentException exception) { // Handles all IllegalArgumentExceptions thrown within this component } @ExceptionHandler(resultType = IllegalArgumentException.class) public void handleIllegalArgumentExceptions(Exception exception) { // Handles all IllegalArgumentExceptions thrown within this component } @ExceptionHandler public void handleIllegalArgumentExceptionsFromCardIssued(CardIssuedEvent event, IllegalArgumentException exception) { // Handles all IllegalArgumentExceptions thrown from the CardIssuedEvent handler within this component } @ExceptionHandler(resultType = IllegalArgumentException.class, payloadType = CardIssuedEvent.class) public void handleIllegalArgumentExceptionsFromCardIssued() { // Handles all IllegalArgumentExceptions thrown from the CardIssuedEvent handler within this component } }","title":"Message Intercepting","component":"axon-framework-reference","version":"development","name":"message-intercepting","url":"/axon-framework-reference/development/messaging-concepts/message-intercepting/","titles":[{"text":"Command interceptors","hash":"command-interceptors","id":1},{"text":"Command dispatch interceptors","hash":"_command_dispatch_interceptors","id":2},{"text":"Structural validation","hash":"_structural_validation","id":3},{"text":"Command handler interceptors","hash":"command-handler-interceptors","id":4},{"text":"@CommandHandlerInterceptor annotation","hash":"command-handler-interceptor-annotation","id":5},{"text":"Event interceptors","hash":"_event_interceptors","id":6},{"text":"Event dispatch interceptors","hash":"_event_dispatch_interceptors","id":7},{"text":"Event handler interceptors","hash":"event-handler-interceptors","id":8},{"text":"Query interceptors","hash":"_query_interceptors","id":9},{"text":"Query dispatch interceptors","hash":"_query_dispatch_interceptors","id":10},{"text":"Structural validation","hash":"_structural_validation_2","id":11},{"text":"Query handler interceptors","hash":"_query_handler_interceptors","id":12},{"text":"Annotated MessageHandlerInterceptor","hash":"annotated-MessageHandlerInterceptor","id":13},{"text":"@ExceptionHandler","hash":"ExceptionHandler","id":14}]},"52":{"id":52,"text":"This chapter provides an exhaustive list of all the possible parameters for annotated message handling functions. The framework resolves the parameters for any message handling function through an internal mechanism, called the ParameterResolver. The ParameterResolver, built by a ParameterResolverFactory, is in charge of inserting the parameters for the command, event and query handlers. The set of ParameterResolvers can be extended if custom (or not yet) supported parameters should be injected in to your annotated handlers. You can configure additional ParameterResolvers by implementing the ParameterResolverFactory interface and configuring the new implementation. For more specifics on configuring custom `ParameterResolver`s we suggest reading this section. By default, @CommandHandler annotated methods allow the following parameter types. Parameter designation Purpose The first parameter The first parameter is always the payload of the command message. It may also be of type: Message or CommandMessage, if the @CommandHandler annotation explicitly defined the name of the command the handler can process. By default, a command name is the fully qualified class name of the command its payload. type: MetaData Will contain the entire metadata of a CommandMessage. annotated with @MetaDataValue Will resolve the metadata value with the key as indicated on the annotation. If required is false (default), null is passed when the metadata value is not present. If required is true, the resolver will not match and prevent the method from being invoked when the metadata value is not present. type: Message, or type: CommandMessage Will get the complete message, with both the payload and the metadata. Resolving the entire Message is helpful if a method needs several metadata fields or other properties of the message. type: UnitOfWork Will get the current unit of work injected. The UnitOfWork allows command handlers to register actions to be performed at specific stages of the unit of work or gain access to the resources registered with it. type: String annotated with @MessageIdentifier Will resolve the identifier of the handled CommandMessage. type: ConflictResolver Will resolve the configured ConflictResolver instance. See the Conflict Resolution section for specifics on this topic. type: InterceptorChain Will resolve the chain of MessageHandlerInterceptor`s for a `CommandMessage. You should use this feature in conjunction with a @CommandHandlerInterceptor annotated method. For more specifics on this it is recommended to read this section. subtype of ScopeDescriptor The scope descriptor is helpful when scheduling a deadline through the DeadlineManager. Note that the ScopeDescriptor only makes sense from within the scope of an Aggregate or Saga. Spring Bean If the application runs in a Spring environment, any Spring Bean can be resolved. The parameter can be the annotation with @Qualifier if a specific version of the bean should be wired. By default, @EventHandler annotated methods allow the following parameter types. Parameter designation Purpose The first parameter The first parameter is the payload of the event message. If the event handler does not need access to the payload of the message, you can specify the expected payload type on the @EventHandler annotation. Do not configure the payload type on the annotation if you want the payload passed as a parameter. type: EventMessage Will resolve the EventMessage in its entirety as well. If the first parameter is of type message, it effectively matches an event of any type, even if generic parameters suggest otherwise. Due to type erasure, Axon cannot detect what parameter the implementation expects. It is best to declare a parameter of the payload type as first parameter in such a case, followed by a parameter of type message. type: MetaData Will contain the entire metadata of a EventMessage. annotated with @MetaDataValue Will resolve the metadata value with the key as indicated on the annotation. If required is false (default), null is passed when the metadata value is not present. If required is true, the resolver will not match and prevent the method from being invoked when the metadata value is not present. type: UnitOfWork Will get the current unit of work injected. The UnitOfWork allows event handlers to register actions to be performed at specific stages of the unit of work or gain access to the resources registered with it. type: String annotated with @MessageIdentifier Will resolve the identifier of the handled CommandMessage. type: java.time.Instant annotated with @Timestamp, or type: java.time.temporal.Temporal annotated with @Timestamp Will resolve to the timestamp of the EventMessage. The resolved timestamp is the time at which the event was generated. type: java.lang.Long annotated with @SequenceNumber, or type: long annotated with @SequenceNumber Will resolve to the sequenceNumber of a DomainEventMessage. This parameter provides the order in which the event was generated (within the aggregate scope it originated from). It is important to note that DomainEventMessage can only originate from an Aggregate. Hence, events that have been published directly on the EventBus/EventGateway are not implementations of the DomainEventMessage. As such, they will not resolve a sequence number. type: TrackingToken Will have the current token related to the processed event injected. Note that this will only work for StreamingEventProcessor instances, as otherwise, there is no token attached to the events. type: java.lang.String annotated with @SourceId Will resolve to the aggregateIdentifier of a DomainEventMessage. This parameter provides the identifier of the aggregate from which the event originates. It is important to note that DomainEventMessage can only originate from an Aggregate. Hence, events that have been published directly on the EventBus/EventGateway are not implementations of the DomainEventMessage. As such, they will not resolve a source id. type: DeadLetter> Will have the current dead letter related to the processed event injected. Note that the inserted field is nullable since there is no guarantee the event of the handler is a dead letter, yes or no. type: ReplayStatus Will resolve to the ReplayStatus indicating whether the event is delivered as a 'REGULAR' event or a 'REPLAY' event. Spring Bean If the application runs in a Spring environment, any Spring Bean can be resolved. The parameter can be the annotation with @Qualifier if a specific version of the bean should be wired. By default, @QueryHandler annotated methods allow the following parameter types. Parameter designation Purpose The first parameter The first parameter is always the payload of the query message. It may also be of type: Message or QueryMessage, if the @QueryHandler annotation explicitly defined the name of the query the handler can process. By default, a query name is the fully qualified class name of the query its payload. type: MetaData Will contain the entire metadata of a QueryMessage. annotated with @MetaDataValue Will resolve the metadata value with the key as indicated on the annotation. If required is false (default), null is passed when the metadata value is not present. If required is true, the resolver will not match and prevent the method from being invoked when the metadata value is not present. type: Message, or type: QueryMessage Will get the complete message, with both the payload and the metadata. Resolving the entire Message is helpful if a method needs several metadata fields or other properties of the message. type: UnitOfWork Will get the current unit of work injected. The UnitOfWork allows query handlers to register actions to be performed at specific stages of the unit of work or gain access to the resources registered with it. type: String annotated with @MessageIdentifier Will resolve the identifier of the handled QueryMessage. Spring Bean If the application runs in a Spring environment, any Spring Bean can be resolved. The parameter can be the annotation with @Qualifier if a specific version of the bean should be wired.","title":"Supported Parameters for Annotated Handlers","component":"axon-framework-reference","version":"development","name":"supported-parameters-annotated-handlers","url":"/axon-framework-reference/development/messaging-concepts/supported-parameters-annotated-handlers/","titles":[{"text":"Supported parameters for command handlers","hash":"supported-parameters-for-command-handlers","id":1},{"text":"Supported parameters for event handlers","hash":"supported-parameters-for-event-handlers","id":2},{"text":"Supported parameters for query handlers","hash":"supported-parameters-for-query-handlers","id":3}]},"53":{"id":53,"text":"The UnitOfWork is an important concept in the Axon Framework. Although, in most cases you are unlikely to interact with it directly. The processing of a message is seen as a single unit. The purpose of the unit of work is to coordinate actions performed during the processing of a message (command, event or query). Components can register actions to be performed during each of the stages of a UnitOfWork, such as onPrepareCommit or onCleanup. You are unlikely to need direct access to the UnitOfWork. It is mainly used by the building blocks that the Axon Framework provides. If you do need access to it, for whatever reason, there are a few ways to obtain it. A handler receives the unit of work through a parameter in the handle method. If you use annotation support, you may add a parameter of type UnitOfWork to your annotated method. In other locations, you can retrieve the unit of work bound to the current thread by calling CurrentUnitOfWork.get(). Note that this method will throw an exception if there is no UnitOfWork bound to the current thread. Use CurrentUnitOfWork.isStarted() to find out if one is available. One reason to require access to the current unit of work is to attach resources that need to be reused several times during the course of message processing, or if created resources need to be cleaned up when the unit of work completes. In such case, the unitOfWork.getOrComputeResource() and the lifecycle callback methods, such as onRollback(), afterCommit() and onCleanup() allow you to register resources and declare actions to be taken during the processing of this unit of work. Transaction guarantees with the Unit Of Work The Unit of Work is merely a buffer of changes, not a replacement for transactions. Although all staged changes are only committed when the Unit of Work is committed, its commit is not atomic. That means that when a commit fails, some changes might have been persisted, while others have not been. Best practices dictate that a command should never contain more than one action. If you stick to that practice, a unit of work will contain a single action, making it safe to use as-is. If you have more actions in your unit of work, then you could consider attaching a transaction to the unit of work’s commit. Use unitOfWork.onCommit(..) to register actions that need to be taken when the unit of work is being committed. Your handlers may throw an Exception as a result of processing a message. By default, unchecked exceptions will cause the UnitOfWork to roll back all changes. As a result, scheduled side effects are cancelled. Axon Framework provides a few rollback strategies out-of-the-box: RollbackConfigurationType.NEVER - will always commit the UnitOfWork RollbackConfigurationType.ANY_THROWABLE- will always roll back when an exception occurs RollbackConfigurationType.UNCHECKED_EXCEPTIONS- will roll back on errors and runtime exceptions RollbackConfigurationType.RUNTIME_EXCEPTION- will roll back on runtime exceptions (but not on errors) When using framework components to process messages, the lifecycle of the unit of work will be automatically managed for you. If you choose not to use these components, but implement processing yourself, you will need to programmatically start and commit (or roll back) a unit of work instead. In most cases, the DefaultUnitOfWork will provide you with the functionality you need. It expects processing to happen within a single thread. To execute a task in the context of a unit of work, simply call UnitOfWork.execute(Runnable) or UnitOfWork.executeWithResult(Callable) on a new DefaultUnitOfWork. The unit of work will be started and committed when the task completes, or rolled back if the task fails. You can also choose to manually start, commit or rollback the unit of work if you need more control. Typical usage is as follows: UnitOfWork uow = DefaultUnitOfWork.startAndGet(message); // then, either use the autocommit approach: uow.executeWithResult(() -> ... logic here); // or manually commit or rollback: try { // business logic comes here uow.commit(); } catch (Exception e) { uow.rollback(e); // maybe rethrow... } The Unit Of Work is focused around a Message The Unit of Work revolves around messages. It is always started with a message to be processed. As a result of a Unit-of-Work’s execution (executeWithResult(…​)) a ResultMessage will be returned and the actual execution result will be the payload of that ResultMessage. If problems arose during message processing, we get an exceptional ResultMessage - isExceptional() will return true and exceptionResult() will get us the actual Throwable indicating what went wrong. A UnitOfWork knows several phases. Each time it progresses to another phase, the listeners are notified. Active phase - this is where the Unit of Work is started. The unit of work is generally registered with the current thread in this phase (through CurrentUnitOfWork.set(UnitOfWork)). Subsequently, the message is typically handled by a message handler in this phase. Commit phase - after processing of the message is done but before the Unit of Work is committed, the onPrepareCommit listeners are invoked. If a Unit of Work is bound to a transaction, the onCommit listeners are invoked to commit any supporting transactions. When the commit succeeds, the afterCommit listeners are invoked. If a commit or any step before fails, the onRollback listeners are invoked. The message handler result is contained in the ExecutionResult of the unit of work, if available. Cleanup phase - the phase where any of the resources held by this unit of work (such as locks) are to be released. If multiple units of work are nested, the cleanup phase is postponed until the outer unit of work is ready to clean up. The message handling process can be considered an atomic procedure; it should either be processed entirely, or not at all. Axon Framework uses the unit of work to track actions performed by message handlers. After the handler has completed, Axon will try to commit the actions registered with the unit of work. It is possible to bind a transaction to a unit of work. Many components, such as the CommandBus and QueryBus implementations and all asynchronously processing EventProcessor s, allow you to configure a TransactionManager. This transaction manager will then be used to create the transactions to bind to the unit of work that is used to manage the process of a message. When application components need resources at different stages of message processing, such as a database connection or an EntityManager, these resources can be attached to the UnitOfWork. The unitOfWork.getResources() method allows you to access the resources attached to the current unit of work. Several helper methods are available on the unit of work directly, to make working with resources easier. When nested units of work need to be able to access a resource, it is recommended to register it on the root unit of work, which can be accessed using unitOfWork.root(). If a unit of work is the root, it will simply return itself.","title":"Unit of Work","component":"axon-framework-reference","version":"development","name":"unit-of-work","url":"/axon-framework-reference/development/messaging-concepts/unit-of-work/","titles":[]},"54":{"id":54,"text":"Axon Framework provides health indicators for applications running Spring Boot with the actuator module. These can be used to monitor the health of your application. The Spring Boot Actuator Health Indicator shares whether the contexts to which an Axon Framework application is connected with are active. It does so by requesting the available connections from the AxonServerConnectionManager. When all connections are active, the UP status is shared. When all connections are inactive, the DOWN status is projected. When one of the connections is inactive, the custom WARN status is shown. This approach is in line with what Axon Server’s local health indicator shows. Next to the status, details are provided about the separate connection’s activity. These can be found under {context-name}.connection.active.","title":"Health Indicators","component":"axon-framework-reference","version":"development","name":"health","url":"/axon-framework-reference/development/monitoring/health/","titles":[{"text":"Spring Boot actuator health indicator for Axon Server","hash":"_spring_boot_actuator_health_indicator_for_axon_server","id":1}]},"55":{"id":55,"text":"The ability to monitor and measure what is going on is really important. This section contains all information regarding metrics, tracing and monitoring of your Axon Framework application. AxonIQ Console is the platform to monitor and manage your Axon Framework applications in great detail. It provides insights into each handler, event processor and aggregate with almost zero configuration. You can set alerts on these metrics and get notified when something goes wrong, so you can act before it becomes a problem For more information, see the AxonIQ Console Reference Guide or sign up directly. A summary of the various subsections is given below. Subsection Purpose Tracing Tracing support for Axon Framework Metrics How to configure and use metrics provided by Axon Framework Health Indicators Spring Boot actuator health indicators provided by Axon Framework Event Tracker Status Tracking the status of your event processors Message Tracking Tracking the origin of messages throughout your application","title":"Monitoring","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/monitoring/","titles":[{"text":"New: Easy monitoring and management","hash":"_new_easy_monitoring_and_management","id":1},{"text":"Reference sections","hash":"_reference_sections","id":2}]},"56":{"id":56,"text":"Tracking messages in your system can be useful to analyze what the cause of a message was. There are several ways to track messages in your system. You can correlate messages to each other with a Correlation Data Provider or log the messages being handled and dispatched. The framework provides the CorrelationDataProvider, as described here. This interface and its implementations provide you the means to populate the meta-data of a message based on the message that is currently being handled. For instance, you could use this to store the command that triggered the event in the metadata of the event itself, allowing you to track the cause of it. Axon Framework provides a MessageOriginProvider provider out of the box, which adds a trace-id and correlation-id to all messages. The trace-id is the same over all messages that are triggered because of the same origin, while correlation-id contains the message identifier of the previous message. We can see the effect of this in the following table. Message identifier Type trace-id correlation-id 1 Command - - 2 Event 8231323 1 3 Command 8231323 2 4 Event 8231323 3 Check out the message correlation page to find out more about the MessageOriginProvider. You can also track the flow of messages through your application using logging. You can leverage Handler- and DispatchInterceptors to achieve this. The LoggingInterceptor is provided out-of-the-box solution to log any type of message to SLF4J, but also provides a simple overridable template to set up your own desired logging format.","title":"Message Tracking","component":"axon-framework-reference","version":"development","name":"message-tracking","url":"/axon-framework-reference/development/monitoring/message-tracking/","titles":[{"text":"Correlation data","hash":"_correlation_data","id":1},{"text":"Interceptor logging","hash":"_interceptor_logging","id":2}]},"57":{"id":57,"text":"Interesting metrics in a message centric system come in several forms and flavors, like count, capacity and latency for example. Axon Framework allows you to retrieve such measurements through the use of the axon-metrics or axon-micrometer module. With these modules you can register a number of MessageMonitor implementations to your messaging components, like the CommandBus, EventBus, QueryBus and EventProcessors. axon-metrics module uses Dropwizard Metrics for registering the measurements correctly. That means that MessageMonitors are registered against the Dropwizard MetricRegistry. axon-micrometer module uses Micrometer which is a dimensional-first metrics collection facade whose aim is to allow you to time, count, and gauge your code with a vendor neutral API. That means that MessageMonitors are registered against the Micrometer MeterRegistry. The following monitor implementations are currently provided: CapacityMonitor - Measures message capacity by keeping track of the total time spent on message handling compared to total time it is active. This returns a number between 0 and n number of threads. Thus, if there are 4 threads working, the maximum capacity is 4 if every thread is active 100% of the time. EventProcessorLatencyMonitor - Measures the difference between an event’s timestamp and the current time, showing how far behind an event processor is. Note that triggering a reset will impact this metric! MessageCountingMonitor - Counts the number of ingested, successful, failed, ignored and processed messages. MessageTimerMonitor - Keeps a timer for all successful, failed and ignored messages, as well as an overall timer for all three combined. PayloadTypeMessageMonitorWrapper - A special MessageMonitor implementation which allows setting a monitor per message type instead of per message publishing/handling component. You are free to configure any combination of MessageMonitors through constructors on your messaging components, simply by using the Configuration API. The GlobalMetricRegistry contained in the axon-metrics and axon-micrometer modules provides a set of sensible defaults per type of messaging component. The following example shows you how to configure default metrics for your message handling components: public class MetricsConfiguration { public Configurer buildConfigurer() { return DefaultConfigurer.defaultConfiguration(); } // The MetricRegistry is a class from the Dropwizard Metrics framework public void configureDefaultMetrics(Configurer configurer, MetricRegistry metricRegistry) { GlobalMetricRegistry globalMetricRegistry = new GlobalMetricRegistry(metricRegistry); // We register the default monitors to our messaging components by doing the following globalMetricRegistry.registerWithConfigurer(configurer); } } # The default value is `true`. Thus you will have Metrics configured if `axon-metrics` and `io.dropwizard.metrics` are on your classpath. axon.metrics.auto-configuration.enabled=true public class MetricsConfiguration { public Configurer buildConfigurer() { return DefaultConfigurer.defaultConfiguration(); } // The MeterRegistry is a class from the Micrometer library public void configureDefaultMetrics(Configurer configurer, MeterRegistry meterRegistry) { GlobalMetricRegistry globalMetricRegistry = new GlobalMetricRegistry(meterRegistry); globalMetricRegistry.registerWithConfigurer(configurer); } } public class MetricsConfiguration { public Configurer buildConfigurer() { return DefaultConfigurer.defaultConfiguration(); } // The MeterRegistry is a class from the Micrometer library public void configureDefaultMetrics(Configurer configurer, MeterRegistry meterRegistry) { GlobalMetricRegistry globalMetricRegistry = new GlobalMetricRegistry(meterRegistry); globalMetricRegistry.registerWithConfigurerWithDefaultTags(configurer); } } # The default value is `true`. # Thus you will have Metrics configured if `axon-micrometer` and # appropriate metric implementation (for example: `micrometer-registry-prometheus`) are on your classpath. axon.metrics.auto-configuration.enabled=true # Spring Boot metrics enabled management.endpoint.metrics.enabled=true # Spring Boot (Prometheus) endpoint (`/actuator/prometheus`) enabled and exposed management.metrics.export.prometheus.enabled=true management.endpoint.prometheus.enabled=true # The default value is `true`. # Thus you will have Metrics configured if `axon-micrometer` and # appropriate metric implementation (for example: `micrometer-registry-prometheus`) are on your classpath. axon.metrics.auto-configuration.enabled=true # The default value is `false`. # By enabling this property you will have message (event, command, query) # payload type set as a micrometer tag/dimension by default. # Additionally, the processor name will be a tag/dimension instead of it being part of the metric name. axon.metrics.micrometer.dimensional=true # Spring Boot metrics enabled management.endpoint.metrics.enabled=true # Spring Boot (Prometheus) endpoint (`/actuator/prometheus`) enabled and exposed management.metrics.export.prometheus.enabled=true management.endpoint.prometheus.enabled=true The scenario might occur that more fine-grained control over which MessageMonitor instance are defined is necessary. The following snippet provides as sample if you want to have more specific metrics on any of the message handling components: // Java (Spring Boot Configuration) - Micrometer example @Configuration public class MetricsConfig { @Bean public ConfigurerModule metricConfigurer(MeterRegistry meterRegistry) { return configurer -> { instrumentEventStore(meterRegistry, configurer); instrumentEventProcessors(meterRegistry, configurer); instrumentCommandBus(meterRegistry, configurer); instrumentQueryBus(meterRegistry, configurer); }; } private void instrumentEventStore(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) .and(message.getMetaData().entrySet().stream() .map(s -> Tag.of(s.getKey(), s.getValue().toString())) .collect(Collectors.toList())) ); // Naming the Timer monitor/meter with the name of the component (eventStore) // Registering the Timer with custom tags: payloadType. MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); return new MultiMessageMonitor<>(messageCounter, messageTimer); }; configurer.configureMessageMonitor(EventStore.class, messageMonitorFactory); } private void instrumentEventProcessors(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { // Naming the Counter monitor/meter with the fixed name `eventProcessor`. // Registering the Counter with custom tags: payloadType and processorName. MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( \"eventProcessor\", meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), TagsUtil.PROCESSOR_NAME_TAG, componentName ) ); // Naming the Timer monitor/meter with the fixed name `eventProcessor`. // Registering the Timer with custom tags: payloadType and processorName. MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( \"eventProcessor\", meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), TagsUtil.PROCESSOR_NAME_TAG, componentName ) ); // Naming the Capacity/Gauge monitor/meter with the fixed name `eventProcessor`. // Registering the Capacity/Gauge with custom tags: payloadType and processorName. CapacityMonitor capacityMonitor1Minute = CapacityMonitor.buildMonitor( \"eventProcessor\", meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), TagsUtil.PROCESSOR_NAME_TAG, componentName ) ); return new MultiMessageMonitor<>(messageCounter, messageTimer, capacityMonitor1Minute); }; configurer.configureMessageMonitor(TrackingEventProcessor.class, messageMonitorFactory); } private void instrumentCommandBus(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), \"messageId\", message.getIdentifier() ) ); MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); CapacityMonitor capacityMonitor1Minute = CapacityMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); return new MultiMessageMonitor<>(messageCounter, messageTimer, capacityMonitor1Minute); }; configurer.configureMessageMonitor(CommandBus.class, messageMonitorFactory); } private void instrumentQueryBus(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), \"messageId\", message.getIdentifier() ) ); MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); CapacityMonitor capacityMonitor1Minute = CapacityMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); return new MultiMessageMonitor<>(messageCounter, messageTimer, capacityMonitor1Minute); }; configurer.configureMessageMonitor(QueryBus.class, messageMonitorFactory); } }","title":"Metrics","component":"axon-framework-reference","version":"development","name":"metrics","url":"/axon-framework-reference/development/monitoring/metrics/","titles":[{"text":"Dropwizard","hash":"_dropwizard","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Micrometer","hash":"_micrometer","id":4},{"text":"Axon Configuration API - without tags","hash":"_axon_configuration_api_without_tags","id":5},{"text":"Axon Configuration API - with tags","hash":"_axon_configuration_api_with_tags","id":6},{"text":"Spring Boot auto configuration - without tags","hash":"_spring_boot_auto_configuration_without_tags","id":7},{"text":"Spring Boot auto configuration - with tags","hash":"_spring_boot_auto_configuration_with_tags","id":8}]},"58":{"id":58,"text":"Event processors should be kept an eye on when determining the health and status of your application. You can achieve this by checking the Event Tracker Status, or monitoring the event processors through metrics. Since Tracking Tokens \"track\" the progress of a given Streaming Event Processor, they provide a sensible monitoring hook in any Axon application. Such a hook proves its usefulness when we want to rebuild our view model and we want to check when the processor has caught up with all the events. To that end the StreamingEventProcessor exposes the processingStatus() method. It returns a map where the key is the segment identifier and the value is an \"Event Tracker Status\". The Event Tracker Status exposes a couple of metrics: The Segment it reflects the status of. A boolean through isCaughtUp() specifying whether it is caught up with the Event Stream. A boolean through isReplaying() specifying whether the given Segment is replaying. A boolean through isMerging() specifying whether the given Segment is merging. The TrackingToken of the given Segment. A boolean through isErrorState() specifying whether the Segment is in an error state. An optional Throwable if the Event Tracker reached an error state. An optional Long through getCurrentPosition defining the current position of the TrackingToken. An optional Long through getResetPosition defining the position at reset of the TrackingToken. This field will be null in case the isReplaying() returns false. It is possible to derive an estimated duration of replaying by comparing the current position with this field. An optional Long through mergeCompletedPosition() defining the position on the TrackingToken when merging will be completed. This field will be null in case the isMerging() returns false. It is possible to derive an estimated duration of merging by comparing the current position with this field. Only segments that are currently being actively processed or reached an error state during previous processing will be contained in the processingStatus(). For a complete overview, you should retrieve the status from each instance of your application. Besides querying the event processors for their status directly, the metric modules provides a way to monitor event processors as well. The modules contain a MessageMonitor that exposes metrics about the processed messages of each processor, including capacity, latency, processing time and counters. The exposed metrics can be scraped by the tool of your choice (for example, Prometheus) and alerting can be put in place for several useful metrics. Examples of useful monitoring: The latency becomes too high, indicating a long time between the moment an event was published and handled by the processor. The capacity reaches high value (for example, 0.8 when using 1 thread, indicating it is busy 80% of the time). This indicates a performance problem, or that the segment should be split to parallelize processing. The counter metrics can be used to calculate an average number of events processed per minute. If this drops or increases outside the normal operating parameters of your application, this warrants investigation.","title":"Event Processor Monitoring","component":"axon-framework-reference","version":"development","name":"processors","url":"/axon-framework-reference/development/monitoring/processors/","titles":[{"text":"Event tracker status","hash":"event-tracker-status","id":1},{"text":"Metrics","hash":"_metrics","id":2}]},"59":{"id":59,"text":"Distributed Tracing enables you to track the path of a message through your system to see how the system behaves and performs. Axon Framework provides additional tracing functionality to track what takes time in your microservice, such as how long it took to load the aggregate, how long the actual command invocation took, or how long it took to publish events. OpenTracing deprecation warning The OpenTracing extension works in a different way than described on this page. Its functionality is limited and will not be updated to include the additional functionality described on this page. The OpenTracing standard itself is deprecated, please consider moving to OpenTelemetry instead. To provide additional insights in traces, many Axon Framework components use a SpanFactory. This factory is responsible for the creation of multiple instances of a Span with a specific purpose. You can use a SpanFactory provided the framework that matches your tracing standard. Or, if your tracing standard of choice is not supported, you can create one yourself by implementing the SpanFactory and Span interfaces. The following standards are currently supported: Tracing standard Supported Description OpenTelemetry Yes OpenTelemetry is the successor of OpenTracing, with auto-instrumentation being its most prominent feature. OpenTracing Limited OpenTracing is supported by an extension with limited functionality. Usage of OpenTelemetry is recommended instead. SLF4j Yes If you have no monitoring system in place but want to trace through logging, the framework provides a LoggingSpanFactory. You configure a SpanFactory in the following ways: public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.configureSpanFactory(configuration -> new MyCustomSpanFactory()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanFactory spanFactory() { // Any bean implementing the SpanFactory will be picked up automatically and override the defaults return new MyCustomSpanFactory(); } } Note that this is not necessary for all providers, since some may provide Spring Boot auto-configuration out of the box. To configure the provider of your choice, please refer to the specific subsection on this page. A trace is a collection of one or more spans that together form a complete journey through your software. Creating a span that is not part of a trace will automatically create one with that span being the root span of the trace. Tools such as ElasticSearch APM can render tracing information, as visible in the following image: What we observe here is that a command is dispatched, distributed by Axon Server and handled. As a result of the command an AccountRegisteredEvent is published and a deadline is scheduled as well. In this image, the AutomaticAccountCommandDispatcher.dispatch span is the root trace, with each span being part of a call hierarchy within that trace. Sometimes you want the functionality of multiple SpanFactory implementations, while Axon’s configuration only allows one. For this purpose, the framework contains the MultiSpanFactory that you can configure with multiple factories to which it delegates its calls. For example, you can configure both the LoggingSpanFactory and the OpenTelemetrySpanFactory in the following fashion: public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.configureSpanFactory(configuration -> new MultiSpanFactory( Arrays.asList( LoggingSpanFactory.INSTANCE, OpenTelemetrySpanFactory.builder().build() ) )); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanFactory spanFactory() { return new MultiSpanFactory( Arrays.asList( LoggingSpanFactory.INSTANCE, OpenTelemetrySpanFactory .builder() .build() ) ); } } By configuring the MultiSpanFactory a single, delegating span is created whenever the framework requests it. This span contains the multiple span, one of each configured factory. The deleting span makes sure all spans are called, acting as a single one. The following functionality in Axon Framework is traced in addition to the tracing capabilities already provided by the standard of your choice: Dispatching and handling of commands Publishing of events Handling of events by event processors Dispatching and handling of queries Creation and handling of Sagas Scheduling and invocation of deadlines Creation of snapshots Tracing of each message handler invocation (Spring Boot only) Tracing all of this functionality provides you with the best possible insight into the performance of your application. The configured SpanFactory is responsible for creating spans when the framework requests it. The framework specifies the type of span, the name, and a message that triggered the span (if any, it’s not required). The framework can request the span types defined in the following table: Span Type Description Root trace Create a new trace entirely, having no parent. Dispatch span A span which is dispatching a message. Handler span A span which is handling a message. Will set the span that dispatched the message as the parent. Internal span A span which specified something internal. It’s not an entry or exit point. A trace generally consists of multiple spans with different types, depending on the functionality. Starting a span will make it a child span of the currently active one. If there’s currently no span active, the new span will become the root span of a new trace. During invocations which are normally synchronous, Axon Framework will create normal spans which become a child of the currently active one. For example, publishing an event from a command is synchronous, and therefore the publishing span becomes a child of the command handling span. When it comes to asynchronous invocations, the framework forces a new root trace to be created. For example, a streaming event processor that processes an event will not be a child of the command handling span. Instead, it will become its own root trace. This is a measure to prevent traces from becoming too time-spread, making them unreadable. Some standards, like OpenTelemetry, support linking. By linking one span to another, they become correlated despite being part of a different trace. Tooling that supports this creates links for the user to click, allowing for easy navigation between related traces. This is incredibly useful to see causation within your system. Most tracing implementations can add additional attributes to spans. This is useful when debugging your application or finding a specific span you are looking for. The framework provides the SpanAttributesProvider, which can be registered to the SpanFactory either via its builder (if supported) or by calling the SpanFactory.registerSpanAttributeProvider(provider) method. The following SpanAttributesProvider implementations are included in Axon Framework: Class label description AggregateIdentifierSpanAttributesProvider axon_aggregate_identifier The aggregate identifier of the message, only present in case of a DomainEventMessage MessageIdSpanAttributesProvider axon_message_id The identifier of the message MessageNameSpanAttributesProvider axon_message_name The name of the message for Commands and Queries MessageTypeSpanAttributesProvider axon_message_type The class of the message, such as DomainEventMessage or GenericQueryMessage PayloadTypeSpanAttributesProvider axon_payload_type The class of the payload in the message MetadataSpanAttributesProvider axon_metadata_{key} All metadata of the message is also added to the span with its corresponding key In addition to the ones provided by the framework, you can also create a custom SpanAttributesProvider. and add it to the SpanFactory. Use this if you want to add custom information on spans as a label. public class CustomSpanAttributesProvider implements SpanAttributesProvider { @Nonnull @Override public Map provideForMessage(@Nonnull Message message) { // Provide your labels based on the message here return Collections.emptyMap(); } } You can register this custom SpanAttributesProvider in one of the following ways. public class AxonConfig { // omitting other configuration methods... public void configure(Configuration configuration) { configuration.spanFactory().registerSpanAttributeProvider(new CustomSpanAttributesProvider()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanAttributesProvider customSpanAttributesProvider() { // Auto-configuration picks beans of type SpanAttributesProvider up automatically. return new CustomSpanAttributesProvider(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Autowired public void configureSpanFactory(SpanFactory spanFactory) { spanFactory.registerSpanAttributeProvider(new CustomSpanAttributesProvider()); } } Axon Framework provides OpenTelemetry support out of the box. The OpenTelemetry standard improves upon the OpenTracing and OpenCensus standards by providing more auto-instrumentation without the need for the user to configure many things. OpenTelemetry works by adding a Java agent to the execution of the application. Based on the configuration, the agent will collect logs, metrics and tracing automatically before sending it to a collector that can provide insights. ElasticSearch APM, Jaeger and many other tools are available for collecting and visualting the information. The configuration of these tools is beyond the scope of this guide. You can find more information in the \"Getting Started\" section of the OpenTelemetry documentation. OpenTelemetry \"supports a lot of libraries, frameworks and application servers out of the box.\" For example, when a Spring REST endpoint is called it will automatically start a trace. With the axon-tracing-opentelemetry module, this trace will be propagated to all subsequent Axon Framework messages. For example, if the REST call produces a command which is sent over Axon Server, handling the command will be included in the same trace as the original REST call. To get OpenTelemetry support enabled you will need to add the following dependency to your application’s dependencies: org.axonframework axon-tracing-opentelemetry ${axon-framework.version} implementation group: 'org.axonframework', name: 'axon-tracing-opentelemetry', version: axonFrameworkVersion Depending on your application, more configuration might be needed. When using the Spring Boot auto-configuration of Axon Framework, most things will be autoconfigured regardless of the implementation. You might want to configure certain settings that are available. The following table contains all configurable settings, their defaults, and what they change: setting Default Description axon.tracing.showEventSourcingHandlers false Whether to show event sourcing handlers as a trace. This can be noisy and is disabled by default. axon.tracing.attributeProviders.aggregateIdentifier true Whether to add the aggregate identifier as a label when handling a message axon.tracing.attributeProviders.messageId true Whether to add the message identifier as a label when handling a message axon.tracing.attributeProviders.messageName true Whether to add the message name as a label when handling a message axon.tracing.attributeProviders.messageType true Whether to add the message type as a label when handling a message axon.tracing.attributeProviders.payloadType true Whether to add the payload type as a label when handling a message axon.tracing.attributeProviders.metadata true Whether to add the metadata properties as labels when handling a message The OpenTelemetry support can also be configured using the Configurer of Axon Framework to configure the OpenTelemetrySpanFactory. public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.defaultConfiguration() .configureSpanFactory(c -> OpenTelemetrySpanFactory.builder().build()); } } Note that when not using Spring boot, tracing each message handler invocation is not supported due to a limitation. The OpenTracing standard is deprecated. If necessary, you can still use the OpenTracing extension of Axon Framework. Note that the functionality of this extension is rather limited compared to the OpenTelemetry integration. Because of this, it’s recommended to switch to OpenTelemetry if possible. Sometimes you don’t have an APM system available, for instance, during local development. It might still be useful to see the traces that would be started and finished to obtain insights. For this purpose, the framework provides a LoggingSpanFactory. You can configure the LoggingSpanFactory in the following ways: public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.configureSpanFactory(c -> LoggingSpanFactory.INSTANCE); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanFactory spanFactory() { return LoggingSpanFactory.INSTANCE; } } Axon Framework provides a large range of components that are traced by the configured SpanFactory. The spans created by each component are available for reference in this section, with additional information about how they should be interpreted. It’s important to note that the availability of these spans is highly dependent on the application configuration. For instance, some components are only used when using Axon Server, or you might have created your own CommandBus implementation which does not call the SpanFactory API. The CommandBus is instrumented to create spans for both dispatching and handling commands. The tracing differs based on whether you are using Axon Server. The following tabs show the possible traces. When using the AxonServerCommandBus, there will be two handling and dispatch traces since it uses a second CommandBus to invoke the command locally after receiving it from Axon Server. In addition, you can see the gRPC-call to Axon Server and the time it took to handle the call. Trace name Description AxonServerCommandBus.dispatch(${commandName}) The bus is dispatching the command to Axon Server. AxonServerCommandBus.handle(${commandName}) The bus has received a command and is handling it. ${CommandBusClass}.dispatch(${commandName}) The localSegment invocation, dispatching the command locally. ${CommandBusClass}.handle(${commandName}) The localSegment is handling the command. ${RepositoryClass}.load ${identifier} The aggregate is being loaded by the repository. During this time Axon Framework will obtain a lock, fetch snapshots and events from the event store to hydrate the aggregate. LockingRepository.obtainLock The repository is obtaining a lock for the aggregate. This taking some time indicates that the command was queued due to another command being handled for the same aggregate. Trace name Description ${CommandBusClass}.dispatch(${commandName}) The bus is dispatching the command locally. ${CommandBusClass}.handle(${commandName}) The bus is invoking the handler locally. ${RepositoryClass}.load ${identifier} The aggregate is being loaded by the repository. During this time Axon Framework will obtain a lock, fetch snapshots and events from the event store to hydrate the aggregate. LockingRepository.obtainLock The repository is obtaining a lock for the aggregate. This taking some time indicates that the command was queued due to another command being handled for the same aggregate. During handling of commands, other functionality might be invoked such as scheduling deadlines or publishing events. Please refer to the specific sections of this functionality for more information. When publishing events, spans are created to indicate the event being published. Each event that is being published has its own specific publishing span. Any streaming event processor or saga handling the event in the future will be linked to the publishing spans, allowing easy click-through. Trace name Description ${EventBusClass}.publish(${EventClass}) For each event, a short span is created to indicate that an event was published. ${EventBusClass}.commit Indicates events being committed to the event store. Event processor invocations are traced as well. Since Streaming Event Processors are asynchronous, a new root trace is created for each event. Subscribing event processors, on the other hand, will become part of the current trace because they are invoked synchronously. Trace name Description ${ProcessorType}[${processorName}](${EventClass}) Root trace of handling the event, includes all interceptor invocations. ${ProcessorType}[${processorName}].process(${EventClass}) Inner span of handling the event, after all interceptors have been invoked. Trace name Description ${ProcessorType}[${processorName}].process(${EventClass}) The event is being handled by the subscribing event processor. Any action related to deadlines is traced in order to gain insight into what happened during specific calls. Mutations on deadlines generally happen from another root trace, such as a command or saga. The handling span of a deadline will be linked to the scheduling span for easy navigation. Trace name Description ${DeadlineManagerClass}.schedule(${deadlineName}) A deadline was scheduled. ${DeadlineManagerClass}.cancelSchedule(${deadlineName}, ${scheduleId}) A deadline was cancelled based on name and scheduleId. ${DeadlineManagerClass}.cancelAll(${deadlineName}) All deadlines with a specific name were cancelled. ${DeadlineManagerClass}.cancelAllWithinScope(${deadlineName}) All deadlines within a specific scope with a specific name were cancelled. DeadlineJob.execute(${deadlineName},${DeadlinePayloadClass}) Root trace of a deadline firing, containing the name and payload class. Snapshotting is done in a separate root trace, due to the fact that it’s an asynchronous action and has no user impact. However, it can still be useful to measure the performance of snapshotting and see when it is triggered. The root trace of the Snapshotter invocation will be linked to the command handling span after which the snapshot was scheduled to be created. Trace name Description ${SnapshotterClass}.createSnapshot($aggregateClass) A snapshot creation task is being submitted. Depending on performance, the executor might take a while to pick it up. ${SnapshotterClass}.createSnapshot($aggregateClass, $aggregateIdentifier) The Snapshotter is now creating the snapshot. The root trace does not contain the aggregate identifier so the APM tool groups any Snapshotter calls of the same aggregate type together. Sagas are a special type of event processor that can invoke multiple saga’s for a single event. Because of this the AbstractSagaManager has been instructed with additional tracing information. These spans are descendants of an event processor span that invokes the manager. Trace name Description SagaManager[${SagaTypeName}].invokeSaga ${sagaIdentifier} A matching saga has been found and is being invoked. SagaManager[${SagaTypeName}].startNewSaga The manager is constructing a new saga. Queries support tracing in all of their forms. In order to be clear about how they work, this section is split based upon the query’s type. For all types, the created spans will differ based on whether Axon Server is used or not. The spans that are only available with Axon Server are marked as such. Direct queries fetch a single result (either a single item or a single list) and receive no updates. Traces will differ based on whether Axon Server is used or not. The following tabs show the possible traces. Trace name Description AxonServerQueryBus.query(${queryName}) The requesting service is dispatching the query. QueryProcessingTask(${queryName}) The handling service is handling the query request in a task. SimpleQueryBus.query(${queryName}) The handling service is handling the query. AxonServerQueryBus.ResponseProcessingTask(${queryName}) The requesting service is processing the response. Trace name Description SimpleQueryBus.query(${queryName}) The QueryBus is handling the query locally. Streaming queries look similar to the traces of a Direct query. They do not contain a ResponseProcessingTask span since their results are directly published to the invoker of the query. Traces will differ based on whether Axon Server is used or not. The following tabs show the possible traces. Trace name Description AxonServerQueryBus.streamingQuery(${queryName}) The requesting service is dispatching the query. QueryProcessingTask(${queryName}) The handling service is handling the query request in a task. SimpleQueryBus.streamingQuery(${queryName}) The handling service is handling the streaming query. Trace name Description SimpleQueryBus.streamingQuery(${queryName}) The QueryBus is handling the query locally. Scatter-Gather queries are like a direct query but can fetch results from multiple services at the same time. Part of the trace can thus be duplicated multiple times, since multiple services are invoked. Traces will differ based on whether Axon Server is used or not. The following tabs show the possible traces. Trace name Description AxonServerQueryBus.scatterGather(${queryName}) The requesting service is dispatching the query. QueryProcessingTask(${queryName}) The handling service is handling the query request in a task. SimpleQueryBus.scatterGather(${queryName}) Each handling service is handling the query. Each handler within the same service has its own index. Trace name Description SimpleQueryBus.scatterGather(${queryName}) The QueryBus is handling the query locally. Each handler within the same service has its own index. Subscription queries are traces in a different way than others. Subscription queries have an initial result, which is traces like a direct query. However, new results can later be published at any time after while the caller is still subscribed to it. In order to prevent malformed traces, since most APM tools have a maximum span time before flushing them, publication of new results is not part of the original trace. However, invocations of the SimpleQueryUpdateEmitter will be linked to the span of the queries that are listening to it, so the original call can easily be found. The QueryUpdateEmitter traces will look like the following table: Trace name Description SimpleQueryUpdateEmitter.emit(${PayloadClass}) A new update is emitted. SimpleQueryUpdateEmitter.emit ${queryName} (${PayloadClass}) A new update is emitted for a specific consumer. In addition to this, the spans of the direct queries section apply as well. The TracingHandlerEnhancerDefinition automatically creates a span for each message handler invocation within your application. This is true for commands, events, queries and even custom message handlers. Spans will be created with the following format: ContainingClassName.methodName(ArgumentClass1, Argumentclass2, etc). Examples of this are: RoomAvailabilityHandler.on(RoomAddedEvent) Account(RegisterAccountCommand,DeadlineManager) The TracingHandlerEnhancerDefinition functionality is autoconfigured for Spring Boot, with event sourcing handlers turned off by default. This is because loading an aggregate might invoke many of these handlers, hitting the maximum number of spans for your APM tool. Please refer to the Spring Boot configuration section if you want to enable this.","title":"Distributed Tracing","component":"axon-framework-reference","version":"development","name":"tracing","url":"/axon-framework-reference/development/monitoring/tracing/","titles":[{"text":"Span factories","hash":"_span_factories","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Terminology","hash":"_terminology","id":4},{"text":"Combining factories","hash":"_combining_factories","id":5},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":6},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_2","id":7},{"text":"Features","hash":"_features","id":8},{"text":"Span types","hash":"_span_types","id":9},{"text":"Span nesting","hash":"_span_nesting","id":10},{"text":"Span attribute providers","hash":"_span_attribute_providers","id":11},{"text":"Axon Configuration API","hash":"_axon_configuration_api_3","id":12},{"text":"Spring Boot auto configuration - bean creation","hash":"_spring_boot_auto_configuration_bean_creation","id":13},{"text":"Spring Boot auto configuration - bean injection","hash":"_spring_boot_auto_configuration_bean_injection","id":14},{"text":"OpenTelemetry","hash":"_opentelemetry","id":15},{"text":"Configuration","hash":"_configuration","id":16},{"text":"Maven","hash":"_maven","id":17},{"text":"Gradle","hash":"_gradle","id":18},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_3","id":19},{"text":"Manual configuration","hash":"_manual_configuration","id":20},{"text":"OpenTracing","hash":"_opentracing","id":21},{"text":"Logging","hash":"_logging","id":22},{"text":"Axon Configuration API","hash":"_axon_configuration_api_4","id":23},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_4","id":24},{"text":"Traced components","hash":"_traced_components","id":25},{"text":"Commands","hash":"_commands","id":26},{"text":"Axon Server","hash":"_axon_server","id":27},{"text":"Without Axon Server","hash":"_without_axon_server","id":28},{"text":"Events","hash":"_events","id":29},{"text":"Event processors","hash":"_event_processors","id":30},{"text":"Streaming event processors","hash":"_streaming_event_processors","id":31},{"text":"Subscribing event processors","hash":"_subscribing_event_processors","id":32},{"text":"Deadlines","hash":"_deadlines","id":33},{"text":"Snapshotting","hash":"_snapshotting","id":34},{"text":"Sagas","hash":"_sagas","id":35},{"text":"Queries","hash":"_queries","id":36},{"text":"Direct queries","hash":"_direct_queries","id":37},{"text":"Axon Server","hash":"_axon_server_2","id":38},{"text":"Without Axon Server","hash":"_without_axon_server_2","id":39},{"text":"Streaming queries","hash":"_streaming_queries","id":40},{"text":"Axon Server","hash":"_axon_server_3","id":41},{"text":"Without Axon Server","hash":"_without_axon_server_3","id":42},{"text":"Scatter-gather queries","hash":"_scatter_gather_queries","id":43},{"text":"Axon Server","hash":"_axon_server_4","id":44},{"text":"Without Axon Server","hash":"_without_axon_server_4","id":45},{"text":"Subscription queries","hash":"_subscription_queries","id":46},{"text":"Message handler invocations","hash":"_message_handler_invocations","id":47}]},"60":{"id":60,"text":"This page describes the process when it comes to configuring a Query Handlers. Note, that a Query Handler is a (singleton) object containing @QueryHandler annotated functions. When you register a Query Handler, that means you are registering a class containing annotated query handlers. Upon receiving such a class during configuration, Axon will scan its contents for all @QueryHandler annotated methods. In the registration process the following information defines a given query handling function: The first parameter of the method is the query payload. The method’s response type is the query’s response type. The value of the queryName field in the annotation as the query’s name (this is optional and in its absence will default to the query payload). Note that it is possible to register multiple query handlers for the same query payload, response type and name. Furthermore, when dispatching a query the client can indicate whether it wants the result from a single handler or the result from all handlers corresponding to the query payload, name and response type combination. The following snippets point out how a Query Handler can be registered: Configuration API Spring Boot Given the existence of the following query handler: public class CardSummaryProjection { @QueryHandler public CardSummary handle(FetchCardSummaryQuery query) { CardSummary cardSummary; // Retrieve CardSummary instance, for example from a repository. return cardSummary; } } The following is needed to register a CardSummaryProjection as being a Query Handler: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerQueryHandler(conf -> new CardSummaryProjection()); Or, a more general approach to registering all types of message handlers in a component can be used: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerMessageHandler(conf -> new CardSummaryProjection()); When using Spring Boot, simply specifying the query handler as a bean is sufficient: @Component public class CardSummaryProjection { @QueryHandler public CardSummary handle(FetchCardSummaryQuery query) { CardSummary cardSummary; // Retrieve CardSummary instance, for example from a repository. return cardSummary; } } Identical Query Handling methods in a single Query Handler A query handler class can currently contain several identical query handling methods. The outcome of which method will actually be called is however unspecified. Note that this should be regarded as a extremely uncommon scenario, as typically identical query handling methods would be spread over several query handlers.","title":"Configuration","component":"axon-framework-reference","version":"development","name":"configuration","url":"/axon-framework-reference/development/queries/configuration/","titles":[{"text":"Registering a query handler","hash":"_registering_a_query_handler","id":1}]},"61":{"id":61,"text":"When it comes to dispatching queries, as explained in the Dispatching Queries section, there are a couple of implementations when it comes to actually sending the query message in question. The next sections provide an overview of the possible implementations, as well as pointing out how to set up query dispatching infrastructure with Axon. The query gateway is a convenient interface towards the query dispatching mechanism. While you are not required to use a gateway to dispatch queries, it is generally the easiest option to do so. Axon provides a QueryGateway interface and the DefaultQueryGateway implementation. The query gateway provides a number of methods that allow you to send a query and wait for a single or multiple results either synchronously, with a timeout or asynchronously. The query gateway needs to be configured with access to the query bus and a (possibly empty) list of `QueryDispatchInterceptor`s. The query bus is the mechanism that dispatches queries to query handlers. Queries are registered using the combination of the query request name and query response type. It is possible to register multiple handlers for the same request-response combination, which can be used to implement the scatter-gather pattern. When dispatching queries, the client must indicate whether it wants a response from a single handler or from all handlers. Axon provides a query bus out of the box, the AxonServerQueryBus. It connects to the AxonServer to send and receive Queries in a distributed way. Configuration API Spring Boot Declare dependencies: org.axonframework axon-server-connector ${axon.version} org.axonframework axon-configuration ${axon.version} Configure your application: // Returns a Configurer instance with default components configured. // `AxonServerQueryBus` is configured as Query Bus by default. Configurer configurer = DefaultConfigurer.defaultConfiguration(); By simply declaring dependency to axon-spring-boot-starter, Axon will automatically configure the AxonServerQueryBus: org.axonframework axon-spring-boot-starter ${axon.version} Excluding the Axon Server Connector If you exclude the axon-server-connector dependency you will fall back to the non-AxonServer query bus option, the SimpleQueryBus (see below). The SimpleQueryBus does straightforward processing of queries in the thread that dispatches them. To configure a SimpleQueryBus (instead of an AxonServerQueryBus): Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureQueryBus(Configurer configurer) { configurer.configureQueryBus( config -> SimpleQueryBus.builder() .transactionManager(config.getComponent(TransactionManager.class)) .messageMonitor(config.messageMonitor(SimpleQueryBus.class, \"queryBus\")) .build() ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public QueryBus queryBus(GlobalMetricRegistry metricRegistry, SpanFactory spanFactory, TransactionManager transactionManager, QueryUpdateEmitter updateEmitter) { return SimpleQueryBus.builder() .messageMonitor(metricRegistry.registerQueryBus(\"queryBus\")) .transactionManager(transactionManager) .spanFactory(spanFactory) .queryUpdateEmitter(updateEmitter) // .. .build(); } }","title":"Implementations","component":"axon-framework-reference","version":"development","name":"implementations","url":"/axon-framework-reference/development/queries/implementations/","titles":[{"text":"Query gateway","hash":"_query_gateway","id":1},{"text":"Query bus","hash":"_query_bus","id":2},{"text":"AxonServerQueryBus","hash":"AxonServerQueryBus","id":3},{"text":"SimpleQueryBus","hash":"SimpleQueryBus","id":4}]},"62":{"id":62,"text":"The third type of Message that an Axon application is associated with is the Query Message, or simply Queries. These are messages that request information in a certain format. Any application can declare it’s able to handle a query message, and provide a response to it. There are multiple types of queries that cane be distinguished. Point-to-point queries: They are routed to a single handler, which is expected to return a single result. This is the most common type of query. Scatter-gather queries: These queries are dispatched to all handlers that are capable of handling the query. The results of all handlers are then aggregated and returned to the client. Subscription queries: These request an initial result and then continue to receive updates as long as the subscription is active. Streaming queries: These queries are used to request a stream of results, which are returned as they become available. You can find more about each type of query in the Query Dispatchers section. A summary of the various sections is given below. Subsection Purpose Query Dispatchers / Query Handlers Functional Development concerns for Query Messages using the Axon Framework Implementations Non-Functional Development concerns for Query Messages using the Axon Framework Configuration Configuration concerns for Query Messages using the Axon Framework This guide is complemented by a video tutorial which gives a practical demonstration of the concepts explained in this section. The tutorial is available at -> Axon Coding Tutorial - Query Messages","title":"Queries","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/queries/","titles":[{"text":"Types of queries","hash":"_types_of_queries","id":1},{"text":"Subsections","hash":"_subsections","id":2}]},"63":{"id":63,"text":"How to handle a query message has been covered in more detail in the Query Handling section. Queries have to be dispatched, just like any type of message, before they can be handled. To that end Axon provides two interfaces: The Query Bus, and The Query Gateway This page will show how and when to use the query gateway and bus. How to configure and specifics on the the query gateway and bus implementations are discussed here The QueryBus is the mechanism that dispatches queries to query handlers. Queries are registered using the combination of the query request name and query response type. It is possible to register multiple handlers for the same request-response combination, which can be used to implement the scatter-gather pattern. When dispatching queries, the client must indicate whether it wants a response from a single handler or from all handlers. The QueryGateway is a convenient interface towards the query dispatching mechanism. While you are not required to use a gateway to dispatch queries, it is generally the easiest option to do so. It abstracts certain aspects for you, like the necessity to wrap a Query payload in a Query Message. Regardless whether you choose to use the QueryBus or the QueryGateway, both provide several types of queries. Axon Framework makes a distinction between four types, being: Point-to-point queries, Scatter-gather queries, Subscription queries, Streaming queries. The direct query represents a query request to a single query handler. If no handler is found for a given query, a NoHandlerForQueryException is thrown. In case multiple handlers are registered, it is up to the implementation of the Query Bus to decide which handler is actually invoked. In the listing below we have a simple query handler: @QueryHandler (1) public List query(String criteria) { // return the query result based on given criteria } 1 By default the name of the query is fully qualified class name of query payload (java.lang.String in our case). However, this behavior can be overridden by stating the queryName attribute of the @QueryHandler annotation. If we want to query our view model, the List, we would do something like this: (1) GenericQueryMessage> query = new GenericQueryMessage<>(\"criteria\", ResponseTypes.multipleInstancesOf(String.class)); // send a query message and print query response queryBus.query(query).thenAccept(System.out::println); 1 It is also possible to state the query name when we are building the query message, by default this is the fully qualified class name of the query payload. 1 The response of sending a query is a Java CompletableFuture, which depending on the type of the query bus may be resolved immediately. However, if a @QueryHandler annotated function’s return type is CompletableFuture, the result will be returned asynchronously regardless of the type of the query bus. When you want responses from all of the query handlers matching your query message, the scatter-gather query is the type to use. As a response to that query a stream of results is returned. This stream contains a result from each handler that successfully handled the query, in unspecified order. In case there are no handlers for the query, or all handlers threw an exception while handling the request, the stream is empty. In the listing below we have two query handlers: @QueryHandler(queryName = \"query\") public List query1(String criteria) { // return the query result based on given criteria } @QueryHandler(queryName = \"query\") public List query2(String criteria) { // return the query result based on given criteria } These query handlers could possibly be in different components and we would like to get results from both of them. So, we will use a scatter-gather query, like so: // create a query message GenericQueryMessage> query = new GenericQueryMessage<>(\"criteria\", \"query\", ResponseTypes.multipleInstancesOf(String.class)); // send a query message and print query response queryBus.scatterGather(query, 10, TimeUnit.SECONDS) .map(Message::getPayload) .flatMap(Collection::stream) .forEach(System.out::println); The subscription query allows a client to get the initial state of the model it wants to query, and to stay up-to-date as the queried view model changes. In short it is an invocation of the Direct Query with the possibility to be updated when the initial state changes. To update a subscription with changes to the model, we will use the QueryUpdateEmitter component provided by Axon. Let’s take a look at a snippet from the CardSummaryProjection: @QueryHandler public List handle(FetchCardSummariesQuery query) { log.trace(\"handling {}\", query); TypedQuery jpaQuery = entityManager.createNamedQuery(\"CardSummary.fetch\", CardSummary.class); jpaQuery.setParameter(\"idStartsWith\", query.getFilter().getIdStartsWith()); jpaQuery.setFirstResult(query.getOffset()); jpaQuery.setMaxResults(query.getLimit()); return log.exit(jpaQuery.getResultList()); } This query handler will provide us with the list of GiftCard states. Once our GiftCard gets redeemed we would like to update any component which is interested in the updated state of that GiftCard. We’ll achieve this by emitting an update using the QueryUpdateEmitter component within the event handler function of the RedeemedEvt event: @EventHandler public void on(RedeemedEvt event) { (1) CardSummary summary = entityManager.find(CardSummary.class, event.getId()); summary.setRemainingValue(summary.getRemainingValue() - event.getAmount()); (2) queryUpdateEmitter.emit( FetchCardSummariesQuery.class, (3) query -> event.getId().startsWith(query.getFilter().getIdStartsWith()), (4) summary (5) ); } 1 First, we update our view model by updating the existing card. 2 If there is a subscription query interested in updates about this specific GiftCard we emit an update. 3 The first parameter of the emission is the type of the query (FetchCardSummariesQuery in our case) which corresponds to the query type in a previously defined query handler. 4 The second parameter is a predicate that will select the subscription query to be updated. In our case, we will only update subscription queries interested in the GiftCard which has been updated. 5 The third parameter is the actual update, which in our case is the card summary. There are several overloads of the emit method present, feel free to take a look at Javadoc for more specifics on that. Once we have the query handling and the emitting side implemented, we can issue a subscription query to get the initial state of the GiftCard and be updated once this GiftCard is redeemed: (1) commandGateway.sendAndWait(new IssueCmd(\"gc1\", amount)); (2) FetchCardSummariesQuery fetchCardSummariesQuery = new FetchCardSummariesQuery(offset, limit, filter); (3) SubscriptionQueryResult, CardSummary> fetchQueryResult = queryGateway.subscriptionQuery( fetchCardSummariesQuery, ResponseTypes.multipleInstancesOf(CardSummary.class), ResponseTypes.instanceOf(CardSummary.class)); fetchQueryResult (4) .handle(cs -> cs.forEach(System.out::println), System.out::println) (5) .doFinally(it -> fetchQueryResult.close()); (6) commandGateway.sendAndWait(new RedeemCmd(\"gc1\", amount)); 1 Issuing a GiftCard with gc1 id and initial value of amount. 2 Creating a subscription query message to get the list of GiftCards (this initial state is multiple instances of CardSummary) and to be updated once the state of GiftCard with id gc1 is changed (in our case an update means the card is redeemed). The type of the update is a single instance of CardSummary. Do note that the type of the update must match the type of the emission side. 3 Once the message is created, we are sending it via the QueryGateway. We receive a query result which contains two components: one is initialResult and the other is updates. In order to achieve 'reactiveness' we use Project Reactor's Mono for initialResult and Flux for updates. 4 The SubscriptionQueryResult#handle(Consumer, Consumer) method gives us the possibility to subscribe to the initialResult and the updates in one go. If we want more granular control over the results, we can use the initialResult() and updates() methods on the query result. 5 As the queryUpdateEmitter will continue to emit updates even when there are no subscribers, we need to notify the emitting side once we are no longer interested in receiving updates. Failing to do so can result in hanging infinitive streams and eventually a memory leak. Once we are done with using the subscription query, we need to close the used resource. 6 When we issue a RedeemCmd, our event handler in the projection will eventually be triggered, which will result in the emission of an update. Since we subscribed to updates with the println() method, the update will be printed out once it is received. Mandatory dependency The reactor-core dependency is mandatory for usage of subscription queries. However, it is a compile time dependency, and it is not required for other Axon features. The streaming query allows a client to, for example, stream large database result sets. The streaming query relies on the reactive stream model, specifically the Publisher type. The streaming query is flexible enough to handle any query return type. That means that any return type that is not a Publisher will automatically be converted to Publisher. The Publisher will emit one or multiple items based on query handler. The QueryGateway provides the streamingQuery method to utilize the streaming query. It’s simple to use and requires just two parameters: the query payload and the expected response type class. Note that the streamingQuery method is lazy, meaning the query is sent once the Publisher is subscribed to. Let’s see how to use the streamingQuery method: @QueryHandler public List handle(FetchCardSummariesQuery query) { ... return cardRepository.findAll(); (1) } ... public Publisher consumer() { return queryGateway.streamingQuery(query, CardSummary.class); (2) } 1 We are querying the cardRepository for all the cards. The repository can potentially return a result set containing thousands of items. 2 We are using the queryGateway to issue the streaming query. If we used a point-to-point query with multipleInstanceOf(CardSummary.class) response type, we would get an extensive list transferred as a single result message over the network. This result can potentially cause a buffer overflow or maximum message size violation. Instead of the multiple-instance-of approach, we use the streamingQuery(query, CardSummary.class). This method will convert our response to a stream and chunk the result into smaller messages containing the CardSummary instances. Natively, if we want fine-grained control of the producing stream, we can use for example Project Reactor’s Flux as the return type: @QueryHandler public Flux handle(FetchCardSummariesQuery query) { ... return reactiveCardRepository.findAll(); } When using a Flux as the return type, we can control backpressure, stream cancellation and implement more complex features like pagination. Transaction Leaking Concerns Once a consumer of the streaming query receives the Publisher to subscribe to, the transaction will be considered completed successfully. That means that any subsequent messages on the stream will not be part of the transaction, including errors. As the transaction is already over an error will not be propagated to the parent transaction to invoke any rollback method. This has the implication that the streaming query should not be used within a Unit Of Work (within message handlers or any other transactional methods) to chain other transactional actions (like sending a command or query). Back-pressure (flow control) is an essential feature in reactive systems that allows consumers to control the data flow, ensuring they are not overwhelmed by the producer. The streaming query implements a pull-based back-pressure strategy, which means that the producer will emit data when the consumer is ready to receive it. If you are using Axon Server, for more information see the flow control documentation. The streaming query can be implemented as an infinitive stream. Hence, it’s important to cancel it once the client is not interested in receiving any more data. The following sample shows how this could be achieved: public Publisher consumer() { return Flux.from(queryGateway.streamingQuery(query, CardSummary.class)) .take(100) .takeUntil(message -> somePredicate.test(message)); } The example above shows how the take operator limits the number of items to be emitted. A producer that produces an error by calling onError(Throwable) will terminate the handler execution. The consumer will, in turn, have its onError(Throwable) subscription handler called. Note that exceptions do not flow upstream (from consumer to producer). If an error happens on the consumer side, the consumer error will trigger a cancel signal propagated to the producer. This signal will effectively cancel the stream without the producer knowing the reason. Hence, it’s recommended to set a timeout on the query handler’s side in case of a finite stream. Essentially to protect against malfunctioning consumers or producers. @QueryHandler public Flux handle(FetchCardSummariesQuery query) { ... return reactiveCardRepository.findAll().timeout(Duration.ofSeconds(5)); } The example above shows how the timeout operator is used to cancel a request if no responses have been observed during a five-second timespan. Mandatory dependency The reactor-core dependency is mandatory for usage of streaming queries. However, it is a compile time dependency and it is not required for other Axon features. Axon Coding Tutorial #5: - Connecting the UI","title":"Query Dispatchers","component":"axon-framework-reference","version":"development","name":"query-dispatchers","url":"/axon-framework-reference/development/queries/query-dispatchers/","titles":[{"text":"The query bus and query gateway","hash":"_the_query_bus_and_query_gateway","id":1},{"text":"Point-to-point queries","hash":"point-to-point-queries","id":2},{"text":"Scatter-gather queries","hash":"scatter-gather-queries","id":3},{"text":"Subscription queries","hash":"subscription-queries","id":4},{"text":"Streaming queries","hash":"streaming-queries","id":5},{"text":"Streaming back-pressure","hash":"_streaming_back_pressure","id":6},{"text":"Cancellation","hash":"_cancellation","id":7},{"text":"Error handling","hash":"_error_handling","id":8}]},"64":{"id":64,"text":"The handling of a query comes down to an annotated handler returning the query’s response. The goal of this chapter is to describe what such an @QueryHandler annotated method looks like, as well as describing the call order and response type options. For configuration of query handlers and the QueryBus, it is recommended to read the Configuration section. In Axon, an object may declare a number of query handler methods, by annotating them with the @QueryHandler annotation. The object in question is what you would refer to as the Query Handler, or Query Handling Component. For a query handler method, the first declared parameter defines which query message object it will receive. Taking the 'Gift Card' domain which contains a CardSummary Query Model, we can assume there is a query message to fetch a single CardSummary instance. Let us define the format of the query message as follows: public class FetchCardSummaryQuery { private final String cardSummaryId; public FetchCardSummaryQuery(String cardSummaryId) { this.cardSummaryId = cardSummaryId; } // omitted getters, equals/hashCode, toString functions } As shown, we have a regular POJO that will fetch a CardSummary based on the cardSummaryId field. This FetchCardSummaryQuery will be dispatched to a handler that defines the given message as its first declared parameter. The handler will likely be contained in an object which is in charge of or has access to the CardSummary model in question: import org.axonframework.queryhandling.QueryHandler; public class CardSummaryProjection { private Map cardSummaryStorage; @QueryHandler // 1. public CardSummary handle(FetchCardSummaryQuery query) { // 2. return cardSummaryStorage.get(query.getCardSummaryId()); } // omitted CardSummary event handlers which update the model } From the above sample, we want to highlight two specifics when it comes to writing a query handler: The @QueryHandler annotation which marks a function as a query handler method. The method in question is defined by the return type CardSummary, which is called the query response type, and the FetchCardSummaryQuery which is the query payload. Storing a query model For the purpose of the example we have chosen to use a regular Map as the storage approach. In a real life system, this would be replaced by a form of database or repository layer, for example. In all circumstances, at most one query handler method is invoked per query handling instance. Axon will search for the most specific method to invoke, using following rules: On the actual instance level of the class hierarchy (as returned by this.getClass()), all annotated methods are evaluated If one or more methods are found of which all parameters can be resolved to a value, the method with the most specific type is chosen and invoked If no methods are found on this level of the class hierarchy, the super type is evaluated the same way When the top level of the hierarchy is reached, and no suitable query handler is found, this query handling instance is ignored. Note that similar to command handling, and unlike event handling, query handling does not take the class hierarchy of the query message into account. // assume QueryB extends QueryA // and QueryC extends QueryB // and a single instance of SubHandler is registered public class QueryHandler { @QueryHandler public MyResult handle(QueryA query) { // Return result } @QueryHandler public MyResult handle(QueryB query) { // Return result } @QueryHandler public MyResult handle(QueryC query) { // Return result } } public class SubQueryHandler extends QueryHandler { @QueryHandler public MyResult handleEx(QueryB query) { // Return result } } In the example above, the handler method of SubQueryHandler will be invoked for queries for QueryB and result MyResult the handler methods of QueryHandler are invoked for queries for QueryA and QueryC and result MyResult. Axon allows a multitude of return types for a query handler method, as defined earlier on this page. You should think of single objects and collections of objects, taking into account wildcards or generics too. Below we share a list of all the options which are supported and tested in the framework. For clarity, we make a deviation between single instance and multiple instances of a response type. This follows the requirement to specify the ResponseType when dispatching a query, which expects the user to state if either a single result or multiple results are desired. Axon will use this ResponseType object to match a query with a query handler method, alongside the query payload and query name. To query for a single object, the ReponseTypes#instanceOf(Class) method should be used to create the required ResponseType object. This \"instance-of-Class`\" `ResponseType object in turn supports the following query handler return values: An exact match of Class A subtype of Class A generic bound to Class A Future of Class A primitive of Class An Optional of Class Primitive Return Types Among the usual Objects, it is also possible for queries to return primitive data types: public class QueryHandler { @QueryHandler public float handle(QueryA query) { } } Note that the querying party will retrieve a boxed result instead of the primitive type. To query for a multiple objects, the ReponseTypes#multipleInstancesOf(Class) method should be used to create the required ResponseType object. This \"multiple-instances-of-Class`\" `ResponseType object in turn supports the following query handler return values: An array containing: Class A subtype of Class A generic bound to Class An Iterable or a custom implementation of Iterable containing: Class A subtype Class A generic bound to Class A wildcard bound to Class A Stream of Class A Future of an Iterable of Class The following list contains method return values which are not supported when queried for: An array of primitive types A Map of a given key and value type","title":"Query Handlers","component":"axon-framework-reference","version":"development","name":"query-handlers","url":"/axon-framework-reference/development/queries/query-handlers/","titles":[{"text":"Writing a query handler","hash":"writing-query-handler","id":1},{"text":"Query handler call order","hash":"_query_handler_call_order","id":2},{"text":"Query handler return values","hash":"_query_handler_return_values","id":3},{"text":"Supported single instance return values","hash":"_supported_single_instance_return_values","id":4},{"text":"Supported multiple instances return values","hash":"_supported_multiple_instances_return_values","id":5},{"text":"Unsupported return values","hash":"_unsupported_return_values","id":6}]},"65":{"id":65,"text":"The release notes section for the Axon framework for all major/minor releases. Release Type Version Major 4.10 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0 Minor 4.10 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0","title":"Release Notes","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/release-notes/","titles":[]},"66":{"id":66,"text":"All the enhancements and features which have been introduced to our major releases of the Axon Framework are noted here. Persistent streams #3030 Inject multiple test resources #2948 Persistent stream configuration #3043 Rebalance Segments in PooledStreamingEventProcessor #3028 [#3007] Set a SmartLifecycle phase lower than the ones written in the spring WebServer lifecycle ones. #3009 Spring: Place the Axon shutdown hook AFTER the WebServer ones #3007 Update index.adoc, remove link to how-to’s #2978 Automate migration to Axon 4.9+ #2944 refactor: Parameterized logging with constant log values #2910 Enhancement/test container reuse #2883 Removed old from AF reference guide docs module #3046 Updated links to Extensions and appendices #3041 Changed broken xref to broken links - to allow the build process to f… #3032 We’d like to thank all the contributors who worked on this release! @smcvb @MGathier @timtebeek @dgomezg @pckuyer @Sajjad-HTLO @bystam @manishatGit @tharoldD In issue #2778 we adapted the default TrackingToken of each StreamingEventProcessor to become a ReplayToken instead of a null. These changes result in the certainty that tasks that should not be performed on a replay of old events, like virtually any Saga event handlers, are ignored upon introduction of the Event Handling Component. However, if you expect all events to be handled as \"new\" events when introducing a new Event Handling Component, this may come as an unexpected change in behavior. More specifically, if you use the @DisallowReplay annotation or ReplayStatus#REPLAY enumeration on your newly introduced Event Handling Component, you will notice that the annotated method or block of code is no longer invoked. As such, the default ReplayToken should be regarded as a behavioral breaking change if you expect all methods of a new Event Handling Component to be invoked, regardless of any Replay API usage. Add suppressible log message when console client is not on the classpath. #2868 Instruct compiler to include parameter names metadata #2835 Log notification about AxonIQ console, if console-framework-client is not there #2819 Add additional Axon Server connector configuration to the AxonServerConfiguration #2815 Introduce the AxonServerEventStoreFactory #2807 Claim segments operation for Streaming Event Processors #2803 Add property to easily disable using Axon Server as event store. #2801 Add support for Spring Docker Compose #2790 Add CBOR format and Spring Boot properties for support #2777 Allow easy configuration of CBOR #2776 Support Java modules #2427 Add JDK21 to GitHub Actions #2866 [#2843] Make it possible to have multiple instances of the DbScheduler components. #2853 AxonDbSchedulerAutoConfiguration can not be used multiple times in hierarchical Spring context due to static fields #2843 Add intermediate span factories for Event Processors #2834 Add intermediate span factories for Sagas and Repositories #2830 Add intermediate span factories for DeadlineManager #2829 Intermediate Span Factory pattern for buses #2826 Intermediate Span Factory pattern for snapshotters #2824 Dead-Letter Sequence Identifier Caching #2818 Detect empty snapshots due to Serializer misconfiguration #2817 Improve Event Scheduler context configuration #2810 Implement StreamingEventProcessor.claimSegment #2805 Improve Spanfactory configurability #2780 Default to ReplayToken upon creation of new event processor #2778 Prevent processors from resetting when no handlers support replay #2769 Improve JavaDoc of the CommandTargetResolver #2742 Execute the axon-spring-boot-3-integrationtests actually with spring 3 #2862 Resolve classloading issue with ConnectionDetails #2833 Fix some typos #2783 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @lachja @abuijze @CodeDrivenMitch @schananas [#2689] Support Snapshotting for Polymorphic Aggregates #2753 Allow property based configuration of load balancing strategies #2750 Add test-summary step #2745 [#1828] Add Anchore Container Scan step #2744 [#2350] JDBC Dead-Letter Queue #2743 Enable tracing in DistributedCommandBus with SpanFactory #2729 Make the token store claim timeout easily configurable. #2722 Allow easy (property) configuration for the claimTimeout of the default TokenStore #2708 Introduce Polymorphic Aggregate Snapshotting auto-configuration #2689 [#2639] Handler Interceptor support for Dead Letter Processing #2661 [#2640] Support @ExceptionHandler and @MessageHandlerInterceptor annotated methods in Sagas #2656 Support @ExceptionHandler annotated methods in Sagas #2640 Handler Interceptor support for Dead Letter Processing #2639 Add an auto-merge step for Dependabot Pull Request #2608 2581 Allow to override EventSchema without modifying default JdbcEve… #2582 Allow to override EventSchema without modifying default JdbcEventStorageEngine in Spring context #2581 Allow Development mode on test containers #2461 Autoconfigure automatic load balancing #2453 Enable tracing in DistributedCommandBus with SpanFactory #2403 JDBC Dead-Letter Queue #2350 Validate test-summary GitHub Action #2228 Investigate usage of the Anchore Container Scan in GitHub Actions #1828 Introduce AxonServerContainer as test-container #2763 [#2755] Align assertion messages #2757 Put test assertion errors on multiple lines #2755 Add db-scheduler implementation of the Event Scheduler and Deadline Manager #2727 Add db-scheduler implementation of the Event Scheduler and Deadline Manager #2724 Add JCacheAdapter test scenarios #2721 Make Configuration accessible #2700 refactor: Spring Boot 2.x best practices #2663 Improve error message in case a streaming query gives an error. #2662 Error handling of Streaming queries is less than ideal #2660 Add a warning to the creation of the in memory token store. #2650 Add a registerDeadLetterQueueProvider method in the EventProcessingConfigurer. #2633 [#2628] Extended support for Spring application context hierarchy #2629 ObjectMapper cannot be resolved from Spring Parent Context #2628 Move AbstractDeadlineManagerTestSuite to spring module so it’s deployed. #2622 Clean the test logs #2606 Create a SequencedDeadLetterQueueFactory #2598 2581 Do not duplicate bean definition of TokenStore #2587 [#2074] Allow to customize saga schema table and columns #2575 Auto-merge successful Dependabot Pull requests #2569 Move to use job builder to have more control how the jobs are stored. Add auto configuration. #2564 Enable cancelAll and cancelAllwithinScope in the JobRunrDeadlineManager. #2507 Add JCacheAdapter test scenarios #2421 Change jdbc column names to snake case as default. #2074 Add cache using EhCache 3 #2709 Add cache using Ehcache 3 #2420 Remove payloadType tag from EventProcessorLatencyMetric #2683 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @OLibutzki @azzazzel @Morlack @timtebeek @Blackdread @schananas This release introduces compatibility with Spring Boot 3. The support for Spring Boot 3 also entails the removal of the Jakarta-specific modules since Jakarta is now the default. Furthermore, it required us to duplicate the Javax Persistence and Javax Validation classes into dedicated legacy packages. In doing so, we provided support for both Javax and Jakarta, as well as Spring Boot 2 and Spring Boot 3. However, this required us to introduce breaking changes in 4.7 compared to 4.6. To help you upgrade towards Axon Framework 4.7, we provide a dedicated Upgrading to Axon Framework 4.7 page describing the scenarios you may be in and the steps to take for upgrading. Next to the Javax-to-Jakarta adjustments and the Spring Boot 3 support, we’ve added an Event Scheduler and Deadline Manager based on JobRunr. For an exhaustive list of the features, enhancements, and bug fixes introduced, see below: [#1509] Add whenConstructing and whenInvoking to the AggregateTestFixture #2551 [#2476] Support EventMessage handler interceptor registration on the SagaTestFixture #2548 [#2351] The DeadLetter Parameter Resolver #2547 Add Configurer#registerHandlerEnhancerDefinition #2545 [#1123] Support Repository bean wiring through generics #2527 Implement the JobRunr implementation of the event scheduler. #2509 JobRunr DeadlineManager #2499 Added parameter resolver for aggregate type retrieval from domain event messages #2498 Implement Event Handler Interceptors registration on SagaTestFixtures #2476 Message Handler (parameter) support for Dead Letters #2351 Alternative deadline manager: JobRunr (Quartz alternative) #2192 Allow the AggregateTestFixture to expect methods to be called instead of commands passed. #1509 Allow replay on a Saga #1458 Provide alternatives for QuartzEventScheduler and QuartzDeadlineManager #1106 Configurable Locking Scheme in SagaStore #947 Fixed SpringAggregateLookup initialization issue for Spring AOT #2578 [#2561] Move Sonar to JDK17 #2574 Automatically approve Dependabot[bot] PRs #2566 Add Segment and Token to UnitOfWork of PooledStreamingEventProcessor #2562 Move Sonar to JDK17 build #2561 [#2129] Fine tune Repository registration in the AggregateTestFixture #2552 [#1630] Allow disabling of sequence number generation in the GenericJpaRepository #2550 Several fixes to successfully run a JDK17 build #2544 Adjust Dependabot behavior #2536 Enable heartbeats to Axon Server by default #2530 [#2383] Add ConditionalOnMissingBean to SpringAxonConfiguration and SpringConfigurer #2526 Small test and code improvement for JobRunr deadline manager #2510 Introduce the NestingSpanFactory #2487 Improve mismatch messages for Hamcrest Matchers #2400 #2418 Allow OpenTelemetrySpanFactory to only create child spans #2404 Add ConditionalOnBean to InfraConfiguration Beans #2383 AggregateTestFixture creates EventSourcingRepository and does not invalidate it #2129 JDK16 - axon-messaging own unit test fail on #1826 GenericJpaRepository to enable/disable the sequence number generation #1630 Fix typos in Javadoc #2475 Aggregate Repository Spring wiring causes NullPointerException #1123 Asserting checked exception while creating an Aggregate #782 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack @maverick1601 @TomDeBacker @lachja @abuijze @fernanfs Axon Framework 4.6.0 has undergone a great deal of changes. Some noteworthy additions are the Dead-Letter Queue, integrated Tracing with Open Telemetry and Jakarta support. For an exhaustive list of the features, enhancements, and bug fixes with introduced, see below. For a list that also contains the dependency upgrades we refer to this page. Added Slack release announcement #2348 [#2307] Carry the context during reset to the ReplayToken #2312 Propagate ResetContext in ReplayToken #2307 [#2198] Add support for Jakarta #2301 Native Tracing for Axon Framework with OpenTelemetry as default #2294 [#2021] Dead Letter Queue for Event Processing Groups #2258 JPA dead letter queue implementation #2239 Construct means to switch between classes using javax and jakarta #2198 Create add-dependabot-pr-to-project.yml #2183 Create add-issues-to-project.yml #2182 Multiteant support #2156 Spring event for indication that Axon has started #2146 Application events when handlers are registered #2144 [#1125] Introduce SagaLifecycle.associationValues() #2141 [#1964] Include AxonServerHealthIndicator #2130 AggregateTestFixture improvement - Validate Exception Details #2125 AggregateTestFixture improvement - Validate Exception Details #2110 Feature/1466 Additional deadline validation methods #2071 Multi-tenant support #2045 Dead-Letter Queue for Event Processors #2021 Added AxonServerEEContainer and AxonServerSEContainer as an easier way for people to write tests #2020 Streaming query #2001 [#1967] Fetch available segements only from the TokenStore #1997 [#1645] Introduce ObjectNode-to/from-JsonNode ContentTypeConverter for the JacksonSerializer #1995 [#1490] Simplify LockFactory configuration for Aggregates #1992 [#1986 Introduce EventProcessingConfigurer#defaultTransactionManager method #1989 Register default Transaction Manager through Event Processing Configurer #1986 Add method returning the available segments of a TokenStore #1967 Add an actuator health indicator to check the connection between the application and Axon Server #1964 Added the MetaDataSequencingPolicy #1930 Provide a SequencingPolicy based on a MetaData field #1929 Added an option to create a fixture for a state stored aggregate #1772 JsonNode-to-ObjectNode ContentTypeConverter #1645 Simplify LockFactory configuration per aggregate #1490 Additional Deadline Validation methods. #1466 Allow TrackingEventProcessor start to be deferred #1184 Accessing Saga Association Values #1125 Signal when all Handlers have been registered in Spring environment #880 Improve deadline span name. #2360 Make Given-phase Error Handling configurable for Saga Test Fixtures #2356 Improve SpanFactory autoconfiguration mechanism. #2354 Introduce LoggingSpanFactory and MultiSpanFactory #2353 Check if a certain handler contains certain methods before registering it. #2346 Catch exceptions from correlation data providers. #2345 Throw exception on ambiguous dependencies #2344 Integration Test for Command and Query Priority Calculations #2342 Include message identifier in error message if de-serialization fails #2330 Add CorrelationDataProvider error handling on rollback #2328 Strip test prefix once required in JUnit 3 from test method names #2321 Apache Maven Wrapper 3.8.6 #2320 Allow ReplayToken creation to be customizable when resetting a projection #2308 Ensure all dispatchable messages are serialiable by Jackson and XStream. #2295 Testclasses for javax jakarta extension #2280 Remove redundant method definition #2270 Integration Test for Command and Query Priority Calculations #2266 Update the PrioritizedRunnable to a PriorityTask #2265 Automatically add Release Notes on milestone closure to Discuss post #2264 Create a protected method to fetch tracking events on JpaEventStorageEngine #2262 Create a protected method to fetch tracking events on JpaEventStorageEngine. #2259 Allow subtype definition on the Repository builders for Polymorphic Aggregates #2250 Add test for ConsistentHash.equals #2244 Use getHost instead of getContainerIpAddress #2222 Default snapshotfilter with revision null #2213 Default snapshot filter with revision null #2212 Creation policy factory for Aggregates #2209 Removed deprecated code by updating the default serializer initialization #2206 Flux response type rank matching #2197 Introduce conditional variants for ApplyMore #2174 Conditional variant for the ApplyMore methods #2173 Take into account the result of the equals method before attempting… #2171 Improve javadoc of the ReplayStatus enum to reflect changes to the StreamingEventProcessors #2170 MultipleInstancesResponseType should match (lower) on single item #2148 Add duplicate resolution on query handler registration, defaulting to… #2140 Add method on DefaultCommandGateway to be able to customize callbacks #2139 Default Revision SnapshotFilter in absence of annotation #2136 Fine tune the MessageHandlerLookup for Spring Native support #2106 Redesign of Spring Boot Auto Configuration support #2105 Feature/1629 saga test fixture #2101 [#2093] Validate if target Command Handling Member can resolve target #2095 Allow several Aggregate Member collections of the same type #2093 Changed logging about \"processor falling behind\" #2073 Make asDomainEventMessage available to subclasses #2066 Make JpaEventStorageEngine#asDomainEventMessage(EventMessage) protected #2065 Separate Integration Tests and Aggregate coverage reports #2063 [#1646] Update \"No Handler For\" exceptional cases #2062 [#1711] Simplify attachment of Lifecycle Operations #2061 Change how Sonar is invoked for GHA’s #2033 Introduce LifecycleAware interface for managing component lifecycle #2028 Remove MonoWrapper usage. #2008 Replaced method.getParametersTypes().length by method.getParameterCount()) #1987 Methods for testing deadlines when time passed are consistent in TestExecutor & SagaTestFixture (fixes #1974) #1975 Make methods for testing Deadlines consistent for TestExecutor and SagaTestFixture #1974 Added jdk17-ea on our build workflow for early feedback #1915 Add configurable options for checking failure transiency #1910 Prevent stack trace generation for HandlerExecutionException #1905 Allow creation of HandlerExecutionExceptions without stacktrace #1901 [#1898] Empty associationProperty leads to IndexOutOfBoundsException #1899 Empty associationProperty leads to IndexOutOfBoundsException #1898 Provide means of configuring a CommandCallback #1889 Splitted builds into pr and not pr, added ghactions to Dependabot and other minors #1830 Fine tune triggered Deadline validation for Test Fixtures #1797 Simplified DeadlineManager configuration #1796 Expand RetryScheduler to support more granular decision when to retry #1723 Simplify attachment of Lifecycle Operations #1711 Improved termination heuristic when response is < batchsize/2 and the… #1691 Exception in startHandlers is \"swallowed\" by exception in shutdownHandlers #1669 Fine tune \"No Handler For…\" Exception #1646 SagaTestFixture should support expectSuccessfulHandlerExecution() #1629 Large number of rolled back transactions on JPA/JDBC TokenStore #1475 Reduce Reflection usage #1427 Add annotation NonNull/Nullable for better usage in Kotlin (also java) #1280 Spurious warnings when a tracking token gap appears then is filled #1193 Query handlers of the same name and response type within one class #719 MultipleInstancesResponseType should recognize handler with single result #602 Rename SpanFactory.registerTagProvider to registerSpanAttributeProvider #2347 [#2341] Adjust type checking in SimpleQueryUpdateEmitter to accompany type erasure #2343 UpdateEmitter drops MultipleInstancesResponseType updates due to type checking. #2341 Parameter resolver ordering is wrong for test fixtures #2340 Take all types into account when resolving the deadline handler #2336 When moving to a polymorphic Aggregate the stored Deadlines are not handled. #2333 [#2331] Fix deserialization bug GrpcBackedSubscriptionQueryMessage and filter non-handler-matching updates #2332 GrpcBackedSubscriptionQueryMessage overwrites update type with initial response type #2331 [#2317] Using deadlines with DefaultConfigurer leads to NPE #2319 Using deadlines with DefaultConfigurer leads to NPE #2317 Fix streaming queries not respecting PriorityTask mechanism #2309 [#2268] Adjust ConditionalOnClass to validate existence of the AxonServerConnectionManager in absence of the axon-server-connector package. #2269 Bug when using Spring actuator starter and excluding axon server #2268 Support Cache and LockFactory configuration on @Aggregate stereotype #2254 Extracted lambdas to inner static classes #2240 Dependency on reactor is needed to be able to start an Axon app using current 4.6.0-SNAPSHOT #2238 Fix snapshots not being deployed to nexus #2237 fix javadoc: default port is 8124, not 8123 #2223 fix typo in local variable name #2218 Publisher Response Type #2215 EventProcessingModule should lazily initialize processors #2180 Fix StreamingEventProcessor#maxCapacity for the TrackingEventProcessor #2124 Restore missing commit 6e531a6cf173243adf9519905f42cbec0a334238 #2116 Wire eventSerializer into QuartzEventSchedulerFactoryBean #2115 Wire the event Serializer into QuartzEventSchedulerFactoryBean #2088 Fix typo in pom.xml #2022 Fix typos #2016 Exponential Retry for Tracking event processor not happening for transient exceptions when using Postgres JdbcTokenStore #1920 We’d like to thank all the contributors who worked on this release! @mnegacz @WackyS @YvonneCeelie @altuntasfatih @saratry @barbeque-squared @srmppn @krosenvold @gklijs @erikhofer @Dilsh0d @smcvb @sandjelkovic @MGathier @dgomezg @Arnaud-J @sascha-eisenmann @Morlack @andye2004 @nils-christian @lfgcampos @heutelbeck @mikelhamer @m1l4n54v1c @Vermorkentech @lacinoire @jangalinski @azzazzel @eddumelendez @timtebeek @sgrimm-sg @dmurat @abuijze @hatzlj @schananas This release has seen numerous addition towards Axon Framework. The most interesting adjustments can be seen down below. Note that the BOM (as marked in #1200) is not part of the release notes, as this will use its own separate release cycle. For those interested, the BOM repository can be found here. For an exhaustive list of all adjustments made for release 4.5 you can check out this page. A new type of EventProcessor has been introduced in pull request #1712, called the PooledStreamingEventProcessor. This EventProcessor allows the same set of operations as the TrackingEventProcessor, but uses a different threading approach for handling events and processing operations. In all, this solution provides a more straightforward processor implementation and configuration, allowing for enhanced event processing in general. For specifics on how to configure it, check out this section. Sagas support the use of Deadline Handlers, but an @DeadlineHandler annotated method couldn’t automatically close a Saga with the @EndSaga annotation. This enhancement has been described in #1469 and resolved in pull request #1656. As such, as of Axon 4.5, an @DeadlineHandler annotated can also be annotated with @EndSaga, to automatically close the Saga whenever the given deadline is handled. Whenever an application uses snapshots, the point arises that old snapshot versions need to be invalidated when loading an Aggregate. To that end the SnapshotFilter can be configured. As a simplified solution, the @Revision annotation can now be placed on the Aggregate class to automatically configure a revision based SnapshotFilter. Due to this, old snapshots will be filtered out automatically when an Aggregate is reconstructed from the EventStore. For those interested, the implementation of this feature can be found here. At the basis of Axon’s message handling functionality, is the MessageHandlingMember. For the time being, the sole implementation of this is the AnnotatedMessageHandlingMember, which expect the use of annotations like the @CommandHandler and @EventHandler, for example. As a step towards constructing an annotation-less approach, #1621 was introduced into the framework. The first steps taken in this pull request are the deprecation of annotation-specific methods from the MessageHandlingMember interface. Added to this is a new approach towards defining attributes of a message handling member through HandlerAttributes. The InMemoryEventStorageEngine is a good fit for testing purposes. However, it included a discrepancy towards the event storing solution compared to other event storage solutions. This issue was addressed in #1056 and resolved in pull request #1660. In issue #1733 a confusion around the EventUtils#asDomainEventMessage was described. This reiterated the fact that this method is purely intended for internal use inside Axon Framework, which was not clear to the users. As such, it has now been deprecated, containing a clear statement why this method is not to be used. Axon Framework can now be used in conjunction with Spring Boot Developer Tools. You can simply achieve this by adding the required dev-tools dependency to your project. As a partial solution to #1106, Axon Server can now be used to schedule events. Building an AxonServerEventScheduler as the EventScheduler implementation as defined through the builder is sufficient to start with scheduling events through Axon Server. An EventTrackerStatusChangeListener can now be configured for a TrackingEventProcessor, as was requested in #1338. It can be configured through the TrackingEventProcessorConfiguration, allowing users to react upon status changes of each thread processing event messages. Component specific message handler interceptors can now be defined through a dedicated annotation: the @MessageHandlerInterceptor annotation. This annotation allows you to introduce a specific bit of logic to be invoked prior to entering the message handling function or after invocation. It for example allows the additional introduction of a @ExceptionHandler annotation, allowing you to specifically deal with the exceptions thrown from your message handlers. The original pull request can be found under #1394. For more specifics on using this annotation, check out the @MessageHandlerInterceptor section. Configuring a Snapshotter and SnapshotFilter have been simplified in this release. Pull request #1447 shares the load of allowing for distinct Snapshotter configuration. Issue #1391 describes the intent to the configuration of snapshot filtering to be performed on Aggregate level. The former can be configured through the Configurer, whereas the latter is by usage of the AggregateConfigurer. The AggregateTestFixture was incorrectly noting an old method in one of its exceptions. This has been marked and resolved in #1428. The CommandValidator and EventValidator had a minor discrepancy; namely, the CommandValidator cleared out contained commands upon starting whereas the EventValidator didn’t. Pull request #1438 resolved the problem at hand. For a full list of all the feature request and enhancements done for release 4.4, you can check out this page. Aggregate Polymorphism has been introduced, allowing for an aggregate hierarchy to come naturally from a domain model. To set this up, the AggregateConfigurer#withSubtypes(Class…​ aggregates) method can be used. In a Spring environment, an aggregate class hierarchy will be detected automatically. For more details on this feature, read up on it here. An Axon application will now shutdown more gracefully than it did in the previous releases. This is achieved by marking specific methods in Axon’s infrastructure components as a @StartHandler or @ShutdownHandler. A 'phase' is required in those, specifying when the method should be executed. If you want to add your own lifecycle handlers, you can either register a component with the aforementioned annotations or register the methods directly through Configurer#onInitialize, Configuration#onStart and Configuration#onShutdown. We have introduced the @CreationPolicy annotation which you can add to @CommandHandler annotated methods in your aggregate. Through this, it is possible to define if such a command handler should 'never', 'always' or 'create' an aggregate 'if-missing'. For further explanation read the Aggregate Command Handler Creation Policy section. Both the XStreamSerializer and JacksonSerializer provide a means to toggle on \"lenient serialization\" through their builders. Various test fixture improvements have been made, such as options to register a HandlerEnhancerDefinition, a ParameterResolverFactory and a ListenerInvocationErrorHandler. Additional validations have been added too, revolving around asserting scheduled events and deadline message. The Test Fixture page has been updated to define these new operations accordingly. The TrackingEventProcessor#processingStatus method as of 4.3 exposes more status information. The current token position, token-at-reset, is-merging and merge-completed position have been added to the set. Read the Event Tracker Status section for more specifics on this. A ConcurrencyException was thrown when an aggregate was created at two distinct JVM’s at the same time. As ConcurrencyException`s are typically retryable, the creation command would be issued again if a `RetryScheduler was in place. Retrying this operation is however useless and hence has been replaced for an AggregateStreamCreationException in pull request #1333. The test fixtures for state-stored aggregates did unintentionally not allow resource injection. This problem has been resolved in pull request #1315. The MultiStreamableMessageSource did not deal well with one or several exceptional streams. Hence exception handling has been improved on this matter in #1325. For a complete list of all the changes made in 4.3 you can check out this page. Axon Framework applications can now use tags to support a level of 'location awareness' between Axon clients and Axon Server instances. This feature is further described here. Axon Server already supported several contexts, but Axon Framework application could not specify to which context message should be dispatched. The Axon Server Connector has been expanded with a TargetContextResolver to allow just this. A new implementation of the StreamablbeMessageSource has been implemented: the MultiStreamableMessageSource. This implementation allows pairing several \"streamable\" message sources into a single source. This can in turn be used to for example read events from several distinct contexts for a single Tracking Event Processor. Handler Execution Exception now allow application specific information to be sent back over the wire in case of a distributed set up. The TrackingToken interface now provides an estimate of it’s relative position in the event stream through the position() method. Optional return types can now be used for Query Handling methods. An Aggregate’s Snapshotter was not auto configured when Spring Boot is being used, as was filed under #932. The CommandResultMessage was returned as null when using the DisruptorCommandBus. This was solved in pull request #1169. The ScopeDescriptor used by the DeadlineManager had serialization issue when a user would migrate from an Axon 3.x application to Axon 4.x. The axon-legacy package has been expanded to contain legacy `ScopeDescriptor`s to resolve this problem. For a full list of all features, enhancements and bugs, check out the issue tracker. The TrackingEventProcessor now has an API to split and merge TrackingTokens during runtime of an application. Axon Server has additions to the UI to split and merge a given Tracking Event Processor’s tokens. Next to Dropwizard metrics the framework now also supports Micrometer metrics. The MessageMonitor interface is used to allow integration with Micrometer. Lastly, we are incredibly thankful that this has been introduced as a community contribution. Primitive types are now supported as @QueryHandler return types. We have introduced the EventGateway in a similar fashion as the CommandGateway and QueryGateway. As with the command and query version, the EventGateway provides a simpler API when it comes to dispatching Events on the EventBus. Command and Query message priority was not set correctly for the Axon Server Connector. This issue has been addressed under bug #1004. The CapacityMonitor was not registered correctly for Event Processor, which user \"Sabartius\" resolved under issue #961. Some exception were not reported correctly and/or clearly when utilizing the Axon Server Connector (issue marked under number #945). We refer to this page for a full list of all the changes. The package structure of Axon Framework has changed drastically with the aim to provide users the option to pick and choose. For example, if only the messaging components of framework are required, one can directly depend on the axon-messaging package. In part with the package restructure, all components which leverage another framework to provide something extra have been given their own repository. These repositories are called the Axon Framework Extensions. The configuration of Event Processor has been replaced and greatly fine tuned with the addition of the EventProcessingConfigurer. Some new defaults have been introduced in release 4.0, like a bias towards expecting a connection with Axon Server. Another important chance is the switch from defaulting to Tracking Processors instead of Subscribing Processors. The notion of a CommandResultMessage has been introduced as a dedicated message towards the result of command handling. To simplify configuration and more easily overcome deprecation, the Builder pattern has been implemented for all infrastructure components. The bugs marked for release 4.0 were issues introduced to new features or enhancements. As such they should not have impacted users in any way. Regardless, the full list can be found here. For more details, check the list of issues here.","title":"Major Releases","component":"axon-framework-reference","version":"development","name":"major-releases","url":"/axon-framework-reference/development/release-notes/major-releases/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1},{"text":"Features","hash":"_features","id":2},{"text":"Enhancements","hash":"_enhancements","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5},{"text":"Release 4.9","hash":"_release_4_9","id":6},{"text":"Behavioral breaking change","hash":"_behavioral_breaking_change","id":7},{"text":"Features","hash":"_features_2","id":8},{"text":"Enhancements","hash":"_enhancements_2","id":9},{"text":"Bug fixes","hash":"_bug_fixes_2","id":10},{"text":"Contributors","hash":"_contributors_2","id":11},{"text":"Release 4.8","hash":"_release_4_8","id":12},{"text":"Features","hash":"_features_3","id":13},{"text":"Enhancements","hash":"_enhancements_3","id":14},{"text":"Bug fixes","hash":"_bug_fixes_3","id":15},{"text":"Contributors","hash":"_contributors_3","id":16},{"text":"Release 4.7","hash":"_release_4_7","id":17},{"text":"Features","hash":"_features_4","id":18},{"text":"Enhancements","hash":"_enhancements_4","id":19},{"text":"Bug fixes","hash":"_bug_fixes_4","id":20},{"text":"Contributors","hash":"_contributors_4","id":21},{"text":"Release 4.6","hash":"_release_4_6","id":22},{"text":"Features","hash":"_features_5","id":23},{"text":"Enhancements","hash":"_enhancements_5","id":24},{"text":"Bug fixes","hash":"_bug_fixes_5","id":25},{"text":"Contributors","hash":"_contributors_5","id":26},{"text":"Release 4.5","hash":"_release_4_5","id":27},{"text":"Enhancements","hash":"_enhancements_6","id":28},{"text":"Bug fixes","hash":"_bug_fixes_6","id":29},{"text":"Release 4.4","hash":"_release_4_4","id":30},{"text":"Enhancements","hash":"_enhancements_7","id":31},{"text":"Bug fixes","hash":"_bug_fixes_7","id":32},{"text":"Release 4.3","hash":"_release_4_3","id":33},{"text":"Enhancements","hash":"_enhancements_8","id":34},{"text":"Bug fixes","hash":"_bug_fixes_8","id":35},{"text":"Release 4.2","hash":"_release_4_2","id":36},{"text":"Enhancements","hash":"_enhancements_9","id":37},{"text":"Bug fixes","hash":"_bug_fixes_9","id":38},{"text":"Release 4.1","hash":"_release_4_1","id":39},{"text":"Enhancements","hash":"_enhancements_10","id":40},{"text":"Bug fixes","hash":"_bug_fixes_10","id":41},{"text":"Release 4.0","hash":"_release_4_0","id":42},{"text":"Enhancements","hash":"_enhancements_11","id":43},{"text":"Bug fixes","hash":"_bug_fixes_11","id":44}]},"67":{"id":67,"text":"Any patch release made for an Axon project is tailored towards resolving bugs. This page aims to provide a dedicated overview of patch releases per project. Known Issues and Workarounds page #3193 Add retry on error behavior to persistent streams #3196 [#3171] Ensure AggregateAnnotationCommandHandler default CreationPolicyAggregateFactory can kick in #3183 Polymorphic aggregate cannot be instantiated using @CreationPolicy #3171 We’d like to thank all the contributors who worked on this release! @smcvb @MGathier [#3149] Allow queries with a local handler to shortcut to the local segment #3161 Allow queries with a local handler to shortcut to the local segment #3149 fix: log statement issue with Logback classic #3164 Wrap SinksManyWrapper#performWithBusyWaitSpin in ReentrantLock to improve performance of Subscription Query Updates #3163 Deadletter Logging with Logback Classic #3160 [#3157] Skip Axon Server Docker tests on ARM64 for older Axon Server versions #3158 Legacy Axon Server 4.x tests fail on Mac/ARM #3157 Fixed messageSerialization test in GenericMessageTest #3156 Gracefully await queries in progress in the AxonServerQueryBus #3176 [#3171] Set CreationPolicyAggregateFactory for every type in the AggregateModel #3173 Polymorphic aggregate cannot be instantiated using @CreationPolicy #3171 We’d like to thank all the contributors who worked on this release! @smcvb @stoerti @wtrzas2 @mbechto @rsobies [#3123] Introduce SubscriptionQueryResult#handle default implementation that expects a Consumer #3124 Exceptions in QueryHandler methods are swallowed for subscription queries #3123 Reduce the number of property lookups for matching entities #3119 Adjust the AbstractMethodPropertyAccessStrategy to filter better on none-matching methods #3117 Introduce PersistentStreamScheduledExecutorBuilder #3078 Account for contexts call on un-initialized containers #3054 Fix rescheduling of failed Persistent Streams #3130 Allow DLQ to handle deserialization errors #3126 We’d like to thank all the contributors who worked on this release! @smcvb @MGathier @meks77 @abuijze @CodeDrivenMitch @tharoldD Skip jacoco if sonar-enabled is false. #2976 Add additional check for NoToken so we never try to open a stream with it. #2986 Use TransactionManager in the EventProcessorControlService to invoke TokenStore#retrieveStorageIdentifier #2985 Resolve issue with eager gap cleanup #2977 Fix SagaTestFixture use DomainEventMessage #2974 Weird state causing tracking processors to never advance #2958 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @TimoFrye @abuijze Added explicit AutoConfigureBefore and AutoConfigureAfter in JpaAutoConfiguration #2964 Resolved MySQL startup problems in integration tests #2963 Fix Exception on using OpenTelemetry and ScatterGather queries #2960 [#2955] Fix ability to replay when at least one Event Handling Component supports a reset #2957 @DisallowReplay on a single Event Handling Components blocks replay of the entire StreamingEventProcessor #2955 fix: reverse eventBlockListingEnabled value for EventBuffer#disableIg… #2947 We’d like to thank all the contributors who worked on this release! @vitko @abuijze @CptCheesebeard @CodeDrivenMitch Added support for TrackingToken parameter in SagaTestFixture #2917 [#2900] Removed requirement for property to disable AxonServer EventStore and enable another one #2909 Align the TrackingToken assert for JPA, JDBC, and AxonServer #2903 Resolved apparent memory leak in GapAwareTrackingToken #2936 Axon Spring Boot Starter fails to connect to Axon Server on Spring Boot version 3.1.6+ #2914 Integration test should use current Axon version #2908 Behavioral change in 4.9 JpaEventStoreAutoConfiguration #2900 Make the viable name match with the override, the current name can be… #2888 Upgrade Axon Server Connector Java to 2023.2.0 #2913 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @abuijze [#2855] Support Hierarchical Spring Contexts within SpringConfigurer.ComponentLocator #2870 Enhance segment logging for PooledStreamingEventProcessor #2869 ComponentLocator does not resolve beans from Spring Parent Context #2855 [#2844] Improve shutdown behavior for DbSchedulerDeadlineManager #2852 Shutdown-Mechanism of DbSchedulerDeadlineManager #2844 Disable JPA and JDBC EventStorageEngine creation when Axon Server is enabled #2871 [#2845] Ensure ConfigurerModule order is respected in Spring Autoconfiguration #2846 InfraConfiguration.springAxonConfigurer ignores ConfigurerModule.order() #2845 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @abuijze Removed spring-devtools.properties #2820 Add default constructor for the AxonServerContainer #2809 axon-tracing-opentelemetry with Spring Devtools crashes on start #2828 Ensure insert order is maintained for SequencedDeadLetterQueue#deadLetterSequence(String) invocations #2827 Fix inconsistencies around the AxonServerConfiguration #2814 Enable Annotated Message Interceptor support for Command Handling Components #2804 Fix property-based Load Balancing Strategy configuration bug #2802 We’d like to thank all the contributors who worked on this release! @smcvb @abuijze Log when HandlerExecutionException#details are missing and on AbstractRepository failures #2796 Allow Coordinator to extend Token claims as an optimization #2785 Introduce Maven profile to update versions for non-parent POM related module #2638 Enable provisioning a Message with custom MetaData for QueryGateway#streamingQuery #2795 Ensure Aggregate Member Command Handlers are retrievable in complex Aggregate Hierarchy #2794 Aggregate fixture hierarchy behaviour #2792 We’d like to thank all the contributors who worked on this release! @smcvb [#2752] Truncate Cause message to fit default column width #2759 DLQ - PSQLException: ERROR: value too long for type character varying(255) #2752 Synchronize during Event Processor initialization #2756 Duplicate initialization of TrackingEventProcessor worker threads #2751 Fix Initialization of PSEP when using Saga #2736 When registering the same Saga multiple times, only the last one is kept. #2726 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack Fix autoconfiguration not picking up SpanFactory for AxonServerQueryBus 4.7 #2695 We’d like to thank all the contributors who worked on this release! @Morlack Polymorphic Aggregate auto-configuration test enhancements #2690 AbstractRepository logs warning when aggregate is loaded to process deadline message #2669 Don’t log warn when the aggregate is handling a deadline message. #2644 Use cause from decision #2688 Also include custom aggregate names to resolve deadline handlers #2686 Deadline Handlers are not executed when created and handled within Aggregates with custom type name #2678 Spring AOT fix #2675 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @abuijze @hatzlj Include dependency upgrades with migration #2631 Replace SpringPrototypeAggregateFactory BeanDefinition introspection for direct method invocation #2637 Deprecated fallback warning with Spring 6.0.5 #2630 Fix OpenTelemetry warning #2635 We’d like to thank all the contributors who worked on this release! @smcvb @timtebeek @Morlack Add Migration module with OpenRewrite recipes for AxonFramework 4.7 #2597 Automatic migration recipes to 4.7+ #2596 [#2611] Clarify active UnitOfWork expectation in the Repository #2625 ClassCastException on @ExceptionHandler annotated Aggregate when loading Aggregate manually in an @EventHandler annotated method #2611 Add missing copyright notices and remove duplicate notices #2626 [#2620] Test correlation data population for DeadlineManager implementations #2624 SimpleDeadlineManager does not use CorrelationDataProviders #2620 Fix OpenTelemetry support - 4.7 Edition #2617 refactor: Add ASLv2 license header #2613 [#2604] Ensure given(Object…​) can be followed up by andGivenCurrentTime #2607 AggregateTestFixture.andGivenCurrentTime() should not clear fixture given state #2604 [#2555] Switch to ConcurrentHashMap in Saga related classes #2592 Make the AssociationResolver and SagaMethodMessageHandlerDefinition thread safe. #2591 Make SnapshotFilter a hard requirement #2586 SagaFixtureTests in parallel concurrent mode #2555 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack @stefanmirkovic @timtebeek Fix not calling shutdown on EmbeddedEventStore in combination with javax #2585 Axon Spring AutoConfiguration binds wrong EventStore (Jakarta/Javax) #2584 We’d like to thank all the contributors who worked on this release! @gklijs Move the check for whether the event processor is caught up before do… #2714 Make registerHandlerInterceptor lazy #2716 Adjust the JavaDoc of the EventProcessorLatencyMonitor #2704 Wait till processing is done until setting the caughtUp flag for the PooledStreamingEventProcessor. #2698 Fix autoconfiguration not picking up SpanFactory for AxonServerQueryBus 4.6 #2696 Pooled Streaming Event Processor incorrectly sets the caughtUp flag #2694 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack Fix OpenTelemetry warning #2635 We’d like to thank all the contributors who worked on this release! @Morlack Fix OpenTelemetry support on queries #2621 We’d like to thank all the contributors who worked on this release! @Morlack Fix OpenTelemetry support #2612 We’d like to thank all the contributors who worked on this release! @Morlack Ensure retrieved Saga Identifiers collection is thread-safe #2595 We’d like to thank all the contributors who worked on this release! @smcvb Proposed changes to caching saga fix #2532 Allow usage of specific serializers for the JpaDLQ #2486 Ensure default TrackingEventProcessorConfiguration is taken into account for Sagas #2533 Saga Caching Enhancements #2531 Cancel of direct query #2528 [#2514] Fix naming of registered Repository and AggregateFactory beans #2525 Fix caching mechanism for Sagas #2517 Wrong Spring repository bean name when using aggregate polymorphism #2514 SpringAxonAutoConfigurer warns about multiple beans defined for polymorphic aggregates. #2512 Roll back slf4j to major version 1 #2497 DeadLetterQueue uses wrong Serializer to (de)serialize Tokens #2485 Adhere to expected Exception Handler invocation order #2483 [#2481] Check MessageHandlerRegistrar registration to be non-null #2482 NullPointerException on Shutdown without Start #2481 We’d like to thank all the contributors who worked on this release! @smcvb @Morlack @saratry [#2444] Exact class type matcher #2446 Add matcher for exact class type #2444 Update the README.md to guide users better #2470 [#2456] Replace use of unregister for deregister #2466 Prefer 'deregister' to 'unregister' #2456 [#2473] Ensure lifecycle handlers for components declared as Spring beans are invoked #2474 Axon Server event scheduler is never started #2473 Fixes recovering quartz jobs in case of sudden shutdown #2472 [#2464] Set subtypes on SpringPrototypeAggregateFactory #2469 [#2449] Adhere to Spring’s @Order annotation for Message Handling Component registration #2468 Replace IdentifierMissingException in AnnotationCommandTargetResolver for IllegalArgumentException #2465 Commands routed to the parent of polymorphic aggregates cause IncompatibleAggregateException #2464 Fixes the saga list injection bug, issue 2462. #2463 Injecting Lists in Saga no longer works #2462 [#2445] Revert default EventUpcasterChain construction in DefaultConfigurer #2459 CachingSagaStore corrupts Cache entries when using computeIfPresent #2458 [#2454] Reintroduce changes from PR #1905 #2455 Pull request 1905 is missing from master #2454 QuartzDeadlineManager does not recover from failures #2451 Spring @Order seems to be ignored for different event handler components belonging to the same event processor #2449 Fix Cache#computeIfPresent return value in CachingSagaStore #2448 Axon Spring Boot application fails to start when multiple EventUpcasterChain spring beans are defined #2445 Added Spring Resource Injector to Application Context #2441 Add test scope to mysql-connector-java dependency #2436 [#2431] Use XStreamSerializer#defaultSerializer to mitigate XStream exclusion issues #2434 Fix regression for GenericJpaRepository autoconfig #2433 JpaSagaStore cannot be used without XStream #2431 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Blackdread @abuijze Added ConditionalOnMissingBean to AutoConfiguration #2414 Add ConditionalOnMissingBean to AxonServerActuatorAutoConfigurationis #2411 Only return unique sequence identifiers in deadLetters call of JPA DLQ #2428 autowiring command model Repository results in NoSuchBeanDefinitionException in 4.6.0 #2426 Deadlines bug #2424 [#1211] Add Cache#computeIfPresent and use in CachingSagaStore for Association Values #2423 Renamed size column name in JdbcTokenStore #2413 [#2393] Move retrieval of Command Handler to the end of the InterceptorChain #2412 JdbcTokenStore uses query that contains reserved word in oracle #2409 [#2389] Make constructors accessible in NoArgumentConstructorCreationPolicyAggregateFactory #2407 Rename index column to sequenceIndex #2401 [#2396] Deadletter logging changes #2398 Dead Letter Queue implementations can leak personal data to log #2396 CommandHandlerInterceptor annotated method in aggregate root doesn’t work when command handling entity not created #2393 [#2382] Disable batch optimization for token-based event reading #2390 Aggregates no longer allow private/protected no-arg constructors #2389 Events are not processed when optimize-event-consumption is disabled #2382 [#2367] Fix Repository beans not being registered to the Spring application context #2370 [#2364] Fix framework failing to start due to a ClassNotFoundException #2369 Fix GA for Slack release announcement #2368 Aggregate org.axonframework.modelling.command.Repository bean not available in Spring context #2367 Event storage engines cannot be used without XStream #2364 Concurrency conflicts in CachingSagaStore #1211 [#2290] TrackingEventProcessor does not wait for his worker threads to shut down #2292 TrackingEventProcessor does not wait for his worker threads to shut down #2290 Improve the concurrent behaviour of the tracking event processor. #2311 Fix a problem where when a shutdown takes places while the worklaunch… #2305 Remove update handler registration on UpdateHandlerRegistration#complete #2300 Canceled subscription query remains active if updates Flux is not subscribed, causing error on emit #2299 Fix duplicate command handler detection. #2298 TrackingEventProcessor cannot be reset immediately after shutdown in rare cases #2293 [#2289] Incorrect warning message in case of shutdown timeout #2291 Incorrect warning message in case of shutdown timeout #2289 Duplicate command handler resolver is triggered in polymorphic aggregates #2243 TrackingEventProcessors shutdown is not working correctly in 4.5.13 #2287 Snapshots are not read with snapshot filter and same serializer for events and snapshots #2286 Snapshots are not considered during loading of an Aggregate using Axon-Server-Connector #2285 Make the shutdown timeout configurable #1981 Pooled Streaming Event Processor configuration enhancement #2276 Introduce mechanism to interrupt TrackingEventProcessor worker threads #2041 Allow lifecycle phase timeout configuration #2037 Retry to initialize the token store correctly on exception for PSEP. #2277 Process events with identical TrackingToken together in the PooledStreamingEventProcessor #2275 PooledStreamingEventProcessor does not Retry if initialization fails #2274 Ensure commands and queries are processed in FIFO order #2263 Commands with same priority are not handled in the correct order #2257 Release announcement on discuss #2256 [#2242] Correctly support null-identifier and no-event scenarios from Command Handling constructors, Always, and Create-If-Missing creation policies #2248 Check attribute filter deep equals #2246 Fix Duplicate command handler resolver is triggered in polymorphic ag… #2245 Duplicate command handler resolver is triggered in polymorphic aggregates #2243 AggregateTestFixture throws AggregateNotFoundException when a command handler with a creation policy applies no events #2242 Axon’s test fixtures perform a \"deep equals\" operation, using reflection as they go. JDK17, rightfully so, does not allow that for all classes. To solve scenarios where users utilize objects from, for example, java.lang, we have introduced a distinct DeepEqualsMatcher in pull request #2210. This matcher implementation considers the situation that an InaccessibleObjectException might be thrown from Axon’s test fixtures, correctly dealing with the scenario by assuming the assertion failed. Contributor fabio-couto noticed a predicament within the PooledStreamingEventProcessor (PSEP for short) when they were facing connectivity issues with their RDBMS. In the face of these issues, the PSEP coordinator is incapable of fetching events, resulting in canceled work packages. As part of canceling, the PSEP actively tries to release token claims, which is yet another database operation. This loop of several connectivity issues causes the PSEP to enter a state it could not recover from. Pull request #2225, provided by fabio-couto, solves this predicament. A fix was introduced to the EventTypeUpcaster to solve issues further down the upcasting chain. Contributor dakr0013 noted that upcaster invoked after an EventTypeUpcaster failed because the expected intermediate event type was adjusted to Object. dakr0013 provided a pull request, which we made some adjustments in PR #2177 to accommodate additional scenarios. You can check out the release notes when you’re looking for an exhaustive list of all the changes. This release brings three adjustments worth mentioning to the framework, namely: Contributor oysteing opened issue #2154, describing that the ReplayStatus enumeration never entered the REPLAY status for a PooledStreamingEventProcessor. We resolved this finding in pull request #2168 by ensuring the TrackingToken carries the replay status as intended. The AggregateTestFixture incorrectly assumed a test succeeded in the absence of an exception when you would use the expectExceptionMessage validation step. We resolved this predicament in pull request #2127. Lastly, we further upgraded the XStream dependency for a CVE in this pull request. This time, for CVE-2021-43859. For an exhaustive list of the changes in 4.5.9, we refer to the release notes. This release brings two adjustments worth mentioning to the framework. Namely: We spotted a bug within the PooledStreamingEventProcessor (PSEP). More specifically, whenever a subset of the tokens for the PSEP existed, calculating the lower bound of a token would cause failures. We addressed this predicament in pull request #2082. We introduce an enhancement in the API of the CommandGateway. You can now directly insert MetaData whenever using the CommandGateway#send or CommandGateway#sendAndWait operations. You can verify the changes #here. This release contains a single fix. Namely, pull request #2067. This pull request solves a bug that had the PooledStreamingEventProcessor not handle new events resulting from an EventMultiUpcaster. The kudos for spotting the bug go to Magnus Heino, which started a discussion on our forum after he noticed the issue. Although Axon Framework doesn’t use the log4j-core dependency directly, we updated it to the most recent version for ease of mind. You can follow these increments in issues #2038, #2040 and #2052. Contributor jasperfect spotted a predicament with duplicate aggregate creation combined with using caches. Axon didn’t invalidate the cache as it should have, causing unexpected behavior. You can find the issue description here. Additionally, you can find the pull request solving the problem here. Contributor shubhojitr stated in issue #2051 that the axonserver-connector-java project pulled in a non-secure version of grpc-netty. As this isn’t an issue on Axon Framework itself, we solved the problem under the connector project. As a follow-up, we incremented the framework’s version for the axonserver-connector-java project to 4.5.4, which contains the most recent version of the grpc-bom. For an exhaustive list of all the changes, check out the 4.5.6 release notes. The auto-configuration we introduced for XStream used a suboptimal approach. We assumed searching for the @ComponentScan would suffice but didn’t consider that Spring enabled SpEL operations in the annotation’s properties. This approach thus caused some applications to break on start-up. As such, this approach is replaced entirely by using the outcome of the AutoConfigurationPackages#get(BeanFactory) method. For those interested in the details of the solution, check out this pull request. Kudos to contributor maverick1601 for drafting issue #1963 explaining the predicament. We introduced an optimization towards updating the TrackingToken. In (distributed) environments where the configuration states several segments per Streaming Processor, there are always threads receiving events that they’re not in charge of due to the configured SequencingPolicy. The old implementation eagerly updated the token in such scenarios, but this didn’t benefit the end-user immediately. Pull request #1999 introduce a wait period for 'event-less-batches', for both the TrackingEventProcessor and PooledStreamingEventProcessor. This adjustment minimizes the number of token updates performed by both processor implementations. The introduction of Spring Boot version 2.6.0 brought an issue to light within Axon’s Spring usage. The AbstractAnnotationHandlerBeanPostProcessor took FactoryBean instances into account when searching for message handling methods. This approach, however, is not recommended by Spring, which they enforced in their latest release. The result was circular dependency exceptions on start-up whenever somebody used Spring Boot 2.6.0. The fix was simple, though, as we should simply ignore FactoryBean instances. After spotting the issue, we resolved it in this pull request. For an exhaustive list of all the changes, check out the 4.5.5 release notes. Firstly, we updated the XStream version to 1.4.18. This upgrade was a requirement since several CVE’s were noted for XStream version 1.4.17. As a consequence of XStream’s solution imposed through the CVE’s, everybody is required to specify the security context of an XStream instance. This change also has an impact on Axon Framework since the XStreamSerializer is the default serializer. So as of this release, any usages of the default XStreamSerializer will come with warnings, stating it is highly recommended to use an XStream instance for which the security context is set through types or wildcards. When your application uses Spring Boot, Axon will default to selecting the secured types based on your @ComponentScan annotated beans (for example, like the @SpringBootApplication annotation). For those interested in the details of the solution, check out this pull request. User 'nils-christian' noted in issue #1892 that Axon executed Upcaster beans in a Spring environment in the incorrect order. This ordering issue was due to a misconception in deducing the @Order annotation on upcaster beans. We resolved the problem in pull request #1895. We noticed a TokenStore operation that Axon did not invoke within a transaction. In most scenarios, this worked out, but when using Micronaut, for example, this (correctly) caused an exception. After spotting the issue, we resolved it in this pull request. For an exhaustive list of all the changes, check out the 4.5.4 release notes. One new feature has been introduced in 4.5.3: the PropertySequencingPolicy by contributor nils-christian. This sequencing policy can be configured to look for a common property in the events. The version of the axonserver-connector-java has been updated to 4.5.2. This update resolves a troublesome issue around permit updates for subscription queries, which exhausted the number of queries an application could have running. For those curious about the solution, pull request 85 addresses this issue. The WorkerLauncher runnable, used by the TrackingEventProcessor to start its threads, was not considered when you shut down a tracking processor. As a consequence, it could start new segment operations while shutdown already completed \"successfully.\" Pull request 1866 resolves this problem, ensuring a tracking processor shuts down as intended. Issue 1853 describes an issue where the creation policy always. Exceptions thrown from within a command handler annotated with @CreationPolicy(ALWAYS) weren’t correctly propagated. Pull request 1854 solves this issue. For an exhaustive list of all the changes, check out the 4.5.3 release notes. Added a missing isReplaying flag on the StreamingEventProcessor. Pull request #1821 reintroduces this functionality in this release. Some enhancements in regards to logging Exceptions and stacktraces when initialization fails. This commit reintroduces this functionality in this release. Improved Axon Framework (AxonServerEventStore) which will now rethrown Exceptions that has a valid Status.Code. Pull request #1842 reintroduces this functionality in this release. General improvements on the PooledStreamingEventProcessor made across several Pull Requests. For a detailed perspective on the release notes, please check this page. Some internals have changed concerning command handling exceptions. Within a single JVM, Axon Framework knows whether the exception is transient or not. This piece of information allows the RetryScheduler to retry a non-transient exception since those are retryable. With the move towards distributed environments, the information whether an exception is transient was lost when we moved to the dedicated CommandHandlingException containing a details object. Pull request #1742 reintroduces this functionality in this release. The new RevisionSnapshotFilter introduced in release 4.5 sneaked in a bug by not validating the aggregate type upon filtering. Pull request #1771 describes and solves the problem by introducing the aggregate type to the RevisionSnapshotFilter. By enabling the CreationPolicy for the DisruptorCommandBus, a timing issue was introduced with handling events. Contributor \"junkdog\" marked the problem in issue #1778, after which pull request #1792 solved it. Contributor \"michaelbub\" noted in issue #1786 that resetting a StreamingEventProcessor to a point in the future reacted differently when no token was stored yet. This followed from the implementation of the ReplayToken, which wrongfully assumed that if the given 'token at reset' was null, the start position should be null too. However, the start position might be the future, and hence it should be used in favor of null. This issue is addressed under this pull request. For a detailed perspective on the release notes, please check this page. Release 4.4.9 of Axon Framework has incremented all used dependencies towards their latest bug release. This has done to resolve potentially security issues, as was reported with XStream 1.4.14 (that was resolved in 1.4.16). For those looking for the set of adjustments please take a look at tag 4.4.9 A bug was noted whenever a query handler returned a Future/CompletableFuture in combination with a subscription query, with Axon Server as the infrastructure. In this format, Axon would incorrectly use the scatter-gather query for the initial result of the subscription query. Whenever the returned result was completed, this didn’t cause any issues. However, for a Future/CompletableFuture a TimeoutException would be thrown. The issue was luckily easily mitigated by changing the \"number of expected results\" from within the QueryRequest to default to 1 instead of zero. As an effect, the point-to-point would be invoked instead of scatter-gather. For reference, the issue can be found here. Whenever an interface is used as the type of an @AggregateMember annotated field, Axon would throw a NullPointerException. This is far from friendly, and has been changed towards an AxonConfigurationException in pull request #1742. Note that the named issues comprise the complete changelist for Axon Framework 4.4.8. The Axon Server Connector Java version 4.4.7 has been included in this release as well. As such, it’s fixes (found here) are thus also part of this release. Contributor \"krosenvold\" noticed that the SQL to retrieve a stream of events was performed twice in quick concession. The provided solution (in pull request #1689) would resolve this, but the problem was spotted to originate elsewhere. Commit 16b7152 saw an end to this occurrence by making a minor tweak in the EmbeddedEventStore. As rightfully noticed by user \"pepperbob\", there was a type discrepancy when reading events through a tracking token. An event would always become a DomainEventMessage when read through the EventStorageEngine, whereas it might originally have been a regular EventMessage. The problem has been fixed in commit c61a95b. Furthermore, the entire description of the issue can be found here. Through the use of the AxonServerQueryBus, a cancelled subscription query was wrongfully completed normally where it should complete exceptionally. This problem is marked and resolved under pull request #1695. For a detailed perspective on the release notes, please check this page. Contributor \"Rafaesp\" noted that a registered CommandHandlerInterceptor in the AggregateTestFixture could be invoked more often than desired. This only occurred if the fixture’s givenCommands(…​) method was invoked, but nonetheless this behaviour was incorrect. The issue is marked under #1665 and resolved in pull request #1666. In 4.4.4, a fix was introduced which ensured a ChildEntity (read, the Aggregate Members) was no longer duplicated in an aggregate hierarchy. This fix had the troublesome side effect that aggregate member command handlers weren’t registered on every level of the aggregate hierarchy anymore. The resolution to this problem can be found in pull request #1674. Using the subscription query in a distributed environment had a possible troublesome side effect. If a consumer of updates was closed for whatever reason, it could also close the producing side. This is obviously undesired, as no single consumer should influence if the producer should still dispatch updates to other consumers. The problem was marked under issue #1680 and resolved in this commit. Right before we aimed to release 4.4.6, contributor \"haraldk\" provided a thorough issue description when using the SequenceEventStorageEngine. He noted that if snapshots were used for an aggregate, there was a window of opportunity that the 'active' EventStorageEngine in the sequencing engine did not return any events. This followed from the sequence number logic, which wrongfully defaulted to position \"0\", even though the starting sequence number is per definition higher if a snapshot has been found. The clarifying issue can be found here, with its resolution present in pull request #1683. For a complete overview of all the changes you can check the release notes here. When creating a TrackingToken at a certain position through StreamableMessageSource#createTokenAt(Instant), a tail token was wrongfully returned if the provided timestamp exceeded the timestamp of the last event. Instead, the token closests to the provided timestamp should be returned, was equals the head token. This discrepancy between documentation and implementation was marked by mbreevoort and resolved in pull request #1607. A certain path within the AxonServerEventStore allowed for event retrieval without correctly deserializing the MetaData of the events. If someone tried to access the MetaData, a CannotConvertBetweenTypesException was being thrown. This problem, among others, was remedied in pull request #1612, by ensuring the correct Serializer taking gRPC message types into account is consistently used. For a complete set of the release notes, please check here. There was a bug which made it so that an @ResetHandler annotated method without any parameters was included for validation if a component could handle a specific type of event. This exact validation is used to filter out events from the event stream to optimize the entire stream. The optimization was thus mitigated by the simple fact of introducing a default @ResetHandler. The problem was marked by @kad-hesseg (for which thanks) and resolved in pull request #1597. A new SnapshotTriggerDefinition called AggregateLoadTimeSnapShotTriggerDefinition has been introduced, which uses the load time of an aggregate to trigger a snapshot creation. When using an aggregate class hierarchy, @AggregateMember annotated fields present on the root would be duplicated for every class in the hierarchy which included message handling functions. This problem was traced back to the AnnotatedAggregateMetaModelFactory.AnnotatedAggregateModel which looped over an inconsistent set of classes to find these members. The issue was marked by @kad-malota and resolved in pull request #1595. For a complete set of the release notes, please check here. An optimization in the snapshotting process was introduced in pull request #1510. This PR ensures no unnecessary snapshots are staged in the AbstractSnapshotter by validating none have been scheduled yet. This fix will resolve potential high I.O. when snapshots are being recreated for aggregates which have a high number of events. The assignment rules used by the EventProcessingConfigurer weren’t always taken into account as desired. This inconsistency compared to regular assignment through the @ProcessingGroup annotation has been resolved in this pull request. Heartbeat messages between Axon Server and an Axon Framework application were already configurable, but only from the server’s side. Properties have been introduced to also enables this from the clients end, as specified further in this pull request. Enabling heartbeat messages will ensure the connection is preemptively closed if no response has been received in the configured time frame. To check out all fixes introduced in 4.4.3, you can check them out on this page. A persistent loop of 500 ms was spotted during event consumption from Axon Server. Credits go to Damir Murat who has spotted the issue. With his help the issue was found quickly and eventually resolved in pull request #1484. A serialization issue was found when working with the ConfigToken and de-/serialize it through the JacksonSerializer. This problem was uncovered in issue #1482 and resolved in pull request #1485. The introduction of the AxonServer Connector for Java to simplify the framework’s integration with Axon Server introduced some configuration issues. For example, the AxonServerConfiguration#isForceReadFromLeader wasn’t used when opening an event stream (resolved in PR #1488). Furthermore, properties like the max-message-size, gRPC keep alive settings and processorNotificationRate weren’t used when forming a connection with Axon Server. This issue was covered by pull request #1487. This page shares a complete list of all resolved issues for this release. A single fix was performed as soon as possible to release 4.4, in conjunction with the new Axon Server Connector used by this release. There was an off by one scenario when an Event Processor started reading events from the beginning of time. This meant that the first event in the event store was systematically skipped. The bug was resolved in this commit. The TrackingEventProcessor#mergeSegment(int) method was invoked with the high segment number of the pair to merge, an error would occur in the process as it expected to receive the lower number on all scenarios. This was resolved in pull request #1450. A small connectivity adjustment which was performed in the AxonServerConnectionManager for bug release 4.3.4 has been reverted. Although it worked successfully for some scenarios, it did not correctly cover all possibilities. The commit can be found here for reference. The full scenario will be covered through the adjusted connector which is underway for beta release in 4.4. For a complete list of all resolved bugs we refer to the issue tracker. Whilst adjusting the JdbcEventStorageEngine in #1187 to allow more flexibility to configure the used statements, we accidentally dropped support for adjusting how the store wrote timestamps. This issue was rectified by user ovstetun in pull request #1454. Snapshots were incorrectly created in the same phase as the publication of events. This has been moved to the after commit phase of the UnitOfWork in issue #1457. When using the SequenceEventStorageEngine to merge an active and historic event stream there was a discrepancy when the active stream didn’t contain any events and the historic stream did. This has been resolved in pull request #1459. For a complete list of all resolved bugs we refer to the issue tracker. This bug release contained a single fix, under pull request #1425. A situation was reported where a Tracking Event Processor did not catch up with the last event, until a new event was available after that event. Effectively causing it to read up to N-1. This only accounted for usages of the MultiStreamableMessageSource, thus when two (or more) event streams were combined into a single source for a TrackingEventProcessor. To remain complete, here is the issue tracker page contained the closed issues for release 4.3.3. When using the QueryGateway, it was not possible to provide a QueryMessage as the query field since the queryName would be derived from the class name of the provided query. Hence, QueryMessage would be the queryName, instead of the actual queryName. This issue has been resolved in #1410. There was a window of opportunity where the Snapshotter would publish the last event in its stream twice. This could cause faulty snapshots in some scenarios. This issue was marked under #1408 and resolved in pull request #1416. The bi-directional stream created by the Axon Server Connector wasn’t always closed correctly; specifically in error cases. This problem has been resolved in pull request 1397. For a complete list of all resolved bugs we refer to the issue tracker. Through the new Create-or-Update feature a bug was introduced which didn’t allow non-String aggregate identifiers. This problem was quickly resolved in #1363, allowing the usage of \"complex\" aggregate identifiers once more. The graceful shutdown process introduced in 4.3 had a couple of minor problems. One of which was the shutdown order within the AxonServerCommandBus and AxonServerQueryBus, which basically made it so that the approach prior to 4.3 was maintained. We also noticed that the AxonServerConnectionManager never shutdown nicely. All of these, plus some other minor fixes, have been performed in #1372. The AggregateCreationPolicy#ALWAYS did not behave as expected, resulting in faulty behaviour when used. Pull request #1371 saw an end to this problem, ensuring the desired usage of all newly introduced creation policies. For a complete list of all resolved bugs we refer to the issue tracker. In a distributed setup, the DisruptorCommandBus was not always correctly identified as being the local segment. Due to this, aggregate repositories weren’t created by the DisruptorCommandBus as is required in such a configuration. This was marked in #874 and resolved through #1287. As described in #1274, a query handler with return type Future was not being returned at all but threw an exception. Pull request #1323 solved that in 4.2.2. An issue was solved where the JdbcAutoConfiguration unintentionally depended on a JPA specific class. For a complete list of all resolved bugs we refer to the issue tracker. A one-to-many Upcaster instance tied to Axon Server would only use the first event result and ignore the rest. This issue has been resolved in pull request #1264. The axon-legacy module’s GapAwareTrackingToken did not implement the TrackingToken interface. This was marked in issue #1230 and resolved in #1231. The builders of the ExponentialBackOffIntervalRetryScheduler and IntervalRetryScheduler previously did not implement the validate() method correctly. Through this a NullPointerException could occur on start-up, as marked in #1293. For a complete list of all resolved bugs we refer to the issue tracker. A dependency on XStream was enforced undesirably through the Builder pattern introduced in 4.0. This has been resolved by using a Supplier of a Serializer in the Builders instead, as described under this issue. Due to a hierarchy issue in the Spring Boot auto configuration, the JdbcTokenStore was not always used as expected. The ordering has been fixed under issue #1077. The ordering of message handling functions was incorrect according to the documentation. Classes take precedence over interface, and the depth of interface hierarchy is calculated based on the inheritance level (as described here). For a complete list of all resolved bugs we refer to the issue tracker. Query Dispatch Interceptors were not called correctly when a subscription query was performed when Axon Server was used as the QueryBus. This issue was marked here and resolved in pull request #1042. When Axon Server was (auto) configured without being able to connect to an actual instance, processing instructions were incorrectly dispatched regardless. Pull request #1040 resolves this by making sure an active connection is present. The Spring Boot auto configuration did not allow the exclusion of the axon-server-connector dependency due to a direct dependency on classes. This has been resolved by expecting fully qualified class names as Strings instead (resolved under this pull request). The JpaEventStorageEngine was not wrapping the appendEvents operation in a transaction. Problem has been resolved under issue #1035. For a complete list of all resolved bugs we refer to the issue tracker. Deserialization failures were accidentally swallowed by the command and query gateway (marked under #967). Resolved an issue where custom exception in a Command Handling constructor caused NullPointerExceptions. For a complete list of all resolved bugs we refer to the issue tracker. The SimpleQueryBus reported exceptions on the initial result incorrectly upon performing a subscription query. Issue has been described and resolved under #913. Resolved issue where the the \"download Axon Server\" message was shown upon a reconnect of an application to a Axon Server node. Large global index gaps between events caused issues when querying the event stream (described here). Fixed inconsistency in the GlobalSequenceTrackingToken#covers(TrackingToken) method. For a complete list of all resolved bugs we refer to the issue tracker. A timeout was thrown instead of a exception by Axon Server when a duplicate aggregate id was created, which is resolved in #903. Command or Query handling exceptions were not properly serialized through Axon Server (resolved in #904). For a complete list of all resolved bugs we refer to the issue tracker. Resolved QueryUpdateEmitter configuration for the Axon Server connector set up (see issue here). For migration purposes legacy TrackingTokens should have been added, which is resolved here. Event Processing was stopped after a reconnection with Axon Server. Resolve the problem in issue #883. For a complete list of all resolved bugs we refer to the issue tracker.","title":"Minor Releases","component":"axon-framework-reference","version":"development","name":"minor-releases","url":"/axon-framework-reference/development/release-notes/minor-releases/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1},{"text":"Release 4.10.3","hash":"_release_4_10_3","id":2},{"text":"Enhancements","hash":"_enhancements","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5},{"text":"Release 4.10.2","hash":"_release_4_10_2","id":6},{"text":"Features","hash":"_features","id":7},{"text":"Enhancements","hash":"_enhancements_2","id":8},{"text":"Bug fixes","hash":"_bug_fixes_2","id":9},{"text":"Contributors","hash":"_contributors_2","id":10},{"text":"Release 4.10.1","hash":"_release_4_10_1","id":11},{"text":"Enhancements","hash":"_enhancements_3","id":12},{"text":"Bug fixes","hash":"_bug_fixes_3","id":13},{"text":"Contributors","hash":"_contributors_3","id":14},{"text":"Release 4.9","hash":"_release_4_9","id":15},{"text":"Release 4.9.3","hash":"_release_4_9_3","id":16},{"text":"Enhancements","hash":"_enhancements_4","id":17},{"text":"Bug fixes","hash":"_bug_fixes_4","id":18},{"text":"Contributors","hash":"_contributors_4","id":19},{"text":"Release 4.9.2","hash":"_release_4_9_2","id":20},{"text":"Bug fixes","hash":"_bug_fixes_5","id":21},{"text":"Contributors","hash":"_contributors_5","id":22},{"text":"Release 4.9.1","hash":"_release_4_9_1","id":23},{"text":"Enhancements","hash":"_enhancements_5","id":24},{"text":"Bug fixes","hash":"_bug_fixes_6","id":25},{"text":"Dependency upgrade","hash":"_dependency_upgrade","id":26},{"text":"Contributors","hash":"_contributors_6","id":27},{"text":"Release 4.8","hash":"_release_4_8","id":28},{"text":"Release 4.8.3","hash":"_release_4_8_3","id":29},{"text":"Enhancements","hash":"_enhancements_6","id":30},{"text":"Bug fixes","hash":"_bug_fixes_7","id":31},{"text":"Contributors","hash":"_contributors_7","id":32},{"text":"Release 4.8.2","hash":"_release_4_8_2","id":33},{"text":"Enhancements","hash":"_enhancements_7","id":34},{"text":"Bug fixes","hash":"_bug_fixes_8","id":35},{"text":"Contributors","hash":"_contributors_8","id":36},{"text":"Release 4.8.1","hash":"_release_4_8_1","id":37},{"text":"Enhancements","hash":"_enhancements_8","id":38},{"text":"Bug fixes","hash":"_bug_fixes_9","id":39},{"text":"Contributors","hash":"_contributors_9","id":40},{"text":"Release 4.7","hash":"_release_4_7","id":41},{"text":"Release 4.7.6","hash":"_release_4_7_6","id":42},{"text":"Enhancements","hash":"_enhancements_9","id":43},{"text":"Bug fixes","hash":"_bug_fixes_10","id":44},{"text":"Contributors","hash":"_contributors_10","id":45},{"text":"Release 4.7.5","hash":"_release_4_7_5","id":46},{"text":"Bug fixes","hash":"_bug_fixes_11","id":47},{"text":"Contributors","hash":"_contributors_11","id":48},{"text":"Release 4.7.4","hash":"_release_4_7_4","id":49},{"text":"Enhancements","hash":"_enhancements_10","id":50},{"text":"Bug fixes","hash":"_bug_fixes_12","id":51},{"text":"Contributors","hash":"_contributors_12","id":52},{"text":"Release 4.7.3","hash":"_release_4_7_3","id":53},{"text":"Enhancements","hash":"_enhancements_11","id":54},{"text":"Bug fixes","hash":"_bug_fixes_13","id":55},{"text":"Contributors","hash":"_contributors_13","id":56},{"text":"Release 4.7.2","hash":"_release_4_7_2","id":57},{"text":"Features","hash":"_features_2","id":58},{"text":"Enhancements","hash":"_enhancements_12","id":59},{"text":"Bug fixes","hash":"_bug_fixes_14","id":60},{"text":"Contributors","hash":"_contributors_14","id":61},{"text":"Release 4.7.1","hash":"_release_4_7_1","id":62},{"text":"Bug fixes","hash":"_bug_fixes_15","id":63},{"text":"Contributors","hash":"_contributors_15","id":64},{"text":"Release 4.6","hash":"_release_4_6","id":65},{"text":"Release 4.6.8","hash":"_release_4_6_8","id":66},{"text":"Enhancements","hash":"_enhancements_13","id":67},{"text":"Bug fixes","hash":"_bug_fixes_16","id":68},{"text":"Contributors","hash":"_contributors_16","id":69},{"text":"Release 4.6.7","hash":"_release_4_6_7","id":70},{"text":"Bug fixes","hash":"_bug_fixes_17","id":71},{"text":"Contributors","hash":"_contributors_17","id":72},{"text":"Release 4.6.6","hash":"_release_4_6_6","id":73},{"text":"Bug fixes","hash":"_bug_fixes_18","id":74},{"text":"Contributors","hash":"_contributors_18","id":75},{"text":"Release 4.6.5","hash":"_release_4_6_5","id":76},{"text":"Bug fixes","hash":"_bug_fixes_19","id":77},{"text":"Contributors","hash":"_contributors_19","id":78},{"text":"Release 4.6.4","hash":"_release_4_6_4","id":79},{"text":"Bug fixes","hash":"_bug_fixes_20","id":80},{"text":"Contributors","hash":"_contributors_20","id":81},{"text":"Release 4.6.3","hash":"_release_4_6_3","id":82},{"text":"Enhancements","hash":"_enhancements_14","id":83},{"text":"Bug fixes","hash":"_bug_fixes_21","id":84},{"text":"Contributors","hash":"_contributors_21","id":85},{"text":"Release 4.6.2","hash":"_release_4_6_2","id":86},{"text":"Features","hash":"_features_3","id":87},{"text":"Enhancements","hash":"_enhancements_15","id":88},{"text":"Bug fixes","hash":"_bug_fixes_22","id":89},{"text":"Contributors","hash":"_contributors_22","id":90},{"text":"Release 4.6.1","hash":"_release_4_6_1","id":91},{"text":"Enhancements","hash":"_enhancements_16","id":92},{"text":"Bug fixes","hash":"_bug_fixes_23","id":93},{"text":"Release 4.5","hash":"_release_4_5","id":94},{"text":"Release 4.5.15","hash":"_release_4_5_15","id":95},{"text":"Enhancements","hash":"_enhancements_17","id":96},{"text":"Bug fixes","hash":"_bug_fixes_24","id":97},{"text":"Release 4.5.14","hash":"_release_4_5_14","id":98},{"text":"Bug fixes","hash":"_bug_fixes_25","id":99},{"text":"Release 4.5.13","hash":"_release_4_5_13","id":100},{"text":"Features","hash":"_features_4","id":101},{"text":"Enhancements","hash":"_enhancements_18","id":102},{"text":"Bug fixes","hash":"_bug_fixes_26","id":103},{"text":"Release 4.5.12","hash":"_release_4_5_12","id":104},{"text":"Bug fixes","hash":"_bug_fixes_27","id":105},{"text":"Release 4.5.11","hash":"_release_4_5_11","id":106},{"text":"Enhancements","hash":"_enhancements_19","id":107},{"text":"Bug fixes","hash":"_bug_fixes_28","id":108},{"text":"Release 4.5.10","hash":"_release_4_5_10","id":109},{"text":"Release 4.5.9","hash":"_release_4_5_9","id":110},{"text":"Release 4.5.8","hash":"_release_4_5_8","id":111},{"text":"Release 4.5.7","hash":"_release_4_5_7","id":112},{"text":"Release 4.5.6","hash":"_release_4_5_6","id":113},{"text":"Release 4.5.5","hash":"_release_4_5_5","id":114},{"text":"Release 4.5.4","hash":"_release_4_5_4","id":115},{"text":"Release 4.5.3","hash":"_release_4_5_3","id":116},{"text":"Release 4.5.2","hash":"_release_4_5_2","id":117},{"text":"Release 4.5.1","hash":"_release_4_5_1","id":118},{"text":"Release 4.4","hash":"_release_4_4","id":119},{"text":"Release 4.4.9","hash":"_release_4_4_9","id":120},{"text":"Release 4.4.8","hash":"_release_4_4_8","id":121},{"text":"Release 4.4.7","hash":"_release_4_4_7","id":122},{"text":"Release 4.4.6","hash":"_release_4_4_6","id":123},{"text":"Release 4.4.5","hash":"_release_4_4_5","id":124},{"text":"Release 4.4.4","hash":"_release_4_4_4","id":125},{"text":"Release 4.4.3","hash":"_release_4_4_3","id":126},{"text":"Release 4.4.2","hash":"_release_4_4_2","id":127},{"text":"Release 4.4.1","hash":"_release_4_4_1","id":128},{"text":"Release 4.3","hash":"_release_4_3","id":129},{"text":"Release 4.3.5","hash":"_release_4_3_5","id":130},{"text":"Release 4.3.4","hash":"_release_4_3_4","id":131},{"text":"Release 4.3.3","hash":"_release_4_3_3","id":132},{"text":"Release 4.3.2","hash":"_release_4_3_2","id":133},{"text":"Release 4.3.1","hash":"_release_4_3_1","id":134},{"text":"Release 4.2","hash":"_release_4_2","id":135},{"text":"Release 4.2.2","hash":"_release_4_2_2","id":136},{"text":"Release 4.2.1","hash":"_release_4_2_1","id":137},{"text":"Release 4.1","hash":"_release_4_1","id":138},{"text":"Release 4.1.2","hash":"_release_4_1_2","id":139},{"text":"Release 4.1.1","hash":"_release_4_1_1","id":140},{"text":"Release 4.0","hash":"_release_4_0","id":141},{"text":"Release 4.0.4","hash":"_release_4_0_4","id":142},{"text":"Release 4.0.3","hash":"_release_4_0_3","id":143},{"text":"Release 4.0.2","hash":"_release_4_0_2","id":144},{"text":"Release 4.0.1","hash":"_release_4_0_1","id":145}]},"68":{"id":68,"text":"When a saga manages a transaction across multiple domain concepts, such as Order, Shipment, Invoice, etc, that saga needs to be associated with instances of those concepts. An association requires two parameters: the key, which identifies the type of association (Order, Shipment, etc) and a value, which represents the identifier of that concept. Associating a saga with a concept is done in several ways. First, when a Saga is newly created when invoking a @StartSaga annotated event handler, it is automatically associated with the property identified in the @SagaEventHandler method. Any other association can be created using the SagaLifecycle.associateWith(String key, String/Number value) method. Use the SagaLifecycle.removeAssociationWith(String key, String/Number value) method to remove a specific association. If you would like to know the associations of the Saga at a certain point you can get all associated values using SagaLifecycle.associationValues(). Note The API to associate domain concepts within a Saga intentionally only allows a String or a Number as the identifying value, since a String representation of the identifier is required for the association value entry which is stored. Using simple identifier values in the API with a straightforward String representation is by design, as a String column entry in the database makes the comparison between database engines simpler. It is intentional that there is no associateWith(String, Object) for example, as the result of an Object#toString() call might provide unwieldy identifiers. Imagine a saga that has been created for a transaction around an Order. The saga is automatically associated with the Order, as the method is annotated with @StartSaga. The saga is responsible for creating an Invoice for that Order, and tell Shipping to create a Shipment for it. Once both the Shipment has arrived and the Invoice has been paid, the transaction is completed and the saga is closed. Here is the code for such a Saga if you use the Spring Boot AutoConfiguration: @Saga public class OrderManagementSaga { private boolean paid = false; private boolean delivered = false; @Inject private transient CommandGateway commandGateway; @StartSaga @SagaEventHandler(associationProperty = \"orderId\") public void handle(OrderCreatedEvent event) { // client generated identifiers ShippingId shipmentId = createShipmentId(); InvoiceId invoiceId = createInvoiceId(); // associate the Saga with these values, before sending the commands SagaLifecycle.associateWith(\"shipmentId\", shipmentId); SagaLifecycle.associateWith(\"invoiceId\", invoiceId); // send the commands commandGateway.send(new PrepareShippingCommand(...)); commandGateway.send(new CreateInvoiceCommand(...)); } @SagaEventHandler(associationProperty = \"shipmentId\") public void handle(ShippingArrivedEvent event) { delivered = true; if (paid) { SagaLifecycle.end(); } } @SagaEventHandler(associationProperty = \"invoiceId\") public void handle(InvoicePaidEvent event) { paid = true; if (delivered) { SagaLifecycle.end(); } } // ... } And here is the same code for when you use the Axon Configuration API: public class OrderManagementSaga { private boolean paid = false; private boolean delivered = false; @Inject private transient CommandGateway commandGateway; @StartSaga @SagaEventHandler(associationProperty = \"orderId\") public void handle(OrderCreatedEvent event) { // client generated identifiers ShippingId shipmentId = createShipmentId(); InvoiceId invoiceId = createInvoiceId(); // associate the Saga with these values, before sending the commands SagaLifecycle.associateWith(\"shipmentId\", shipmentId); SagaLifecycle.associateWith(\"invoiceId\", invoiceId); // send the commands commandGateway.send(new PrepareShippingCommand(...)); commandGateway.send(new CreateInvoiceCommand(...)); } @SagaEventHandler(associationProperty = \"shipmentId\") public void handle(ShippingArrivedEvent event) { delivered = true; if (paid) { SagaLifecycle.end(); } } @SagaEventHandler(associationProperty = \"invoiceId\") public void handle(InvoicePaidEvent event) { paid = true; if (delivered) { SagaLifecycle.end(); } } // ... } By allowing clients to generate an identifier, a saga can be easily associated with a concept, without the need for a request-response type command. We associate the event with these concepts before publishing the command. This way, we are guaranteed to also catch events generated as part of this command. This will end the saga once the invoice is paid and the shipment has arrived.","title":"Associations","component":"axon-framework-reference","version":"development","name":"associations","url":"/axon-framework-reference/development/sagas/associations/","titles":[]},"69":{"id":69,"text":"A Saga is a special type of event listener: one that manages a business transaction. Some transactions could be running for days or even weeks, while others are completed within a few milliseconds. In Axon, each instance of a Saga is responsible for managing a single business transaction. That means a Saga maintains state necessary to manage that transaction, continuing it or taking compensating actions to roll back any actions already taken. Typically, and contrary to regular event listeners, a saga has a starting point and an end, both triggered by events. While the starting point of a saga is usually clear, there could be many ways for a saga to end. In Axon, sagas are classes that define one or more @SagaEventHandler methods. Unlike regular event handlers, multiple instances of a saga may exist at any time. Sagas are managed by a single event processor (Tracking or Subscribing), which is dedicated to dealing with events for that specific saga type. A single Saga instance is responsible for managing a single transaction. That means you need to be able to indicate the start and end of a saga’s life cycle. In a saga, event handlers are annotated with @SagaEventHandler. If a specific event signifies the start of a transaction, add another annotation to that same method: @StartSaga. This annotation will create a new saga and invoke its event handler method when a matching event is published. By default, a new saga is only started if no suitable existing saga (of the same type) can be found. You can also force the creation of a new saga instance by setting the forceNew property on the @StartSaga annotation to true. Ending a saga can be done in two ways. If a certain event always indicates the end of a saga its life cycle, annotate that event handler on the saga with @EndSaga. The saga its life cycle will be ended after the invocation of the handler. Alternatively, you can call SagaLifecycle.end() from inside the saga to end the life cycle. This allows you to conditionally end the saga. Event handling in a saga is quite comparable to that of a regular event listener. The same rules for method and parameter resolution are valid here. There is one major difference, though. While there is a single instance of an event listener that deals with all incoming events, multiple instances of a saga may exist, each interested in different events. For example, a saga that manages a transaction around an Order with Id \"1\" will not be interested in events regarding Order \"2\", and vice versa. Instead of publishing all events to all saga instances (which would be a complete waste of resources), Axon will only publish events containing properties that the saga has been associated with. This is done using AssociationValue`s. An `AssociationValue consists of a key and a value. The key represents the type of identifier used, for example \"orderId\" or \"order\". The value represents the corresponding value, \"1\" or \"2\" in the previous example. The order in which @SagaEventHandler annotated methods are evaluated is identical to that of @EventHandler methods (see Annotated event handler). A method matches if the parameters of the handler method match the incoming event, and if the saga has an association with the property defined on the handler method. The @SagaEventHandler annotation has two attributes, of which associationProperty is the most important one. This is the name of the property on the incoming event that should be used to find associated sagas. The key of the association value is the name of the property. The value is the value returned by property its getter method. For example, consider an incoming Event with a method String getOrderId(), which returns \"123\". If a method accepting this event is annotated with @SagaEventHandler(associationProperty=\"orderId\"), this Event is routed to all Sagas that have been associated with an AssociationValue with key \"orderId\" and value \"123\". This may either be exactly one, more than one, or even none at all. Sometimes, the name of the property you want to associate with is not the name of the association you want to use. For example, you have a Saga that matches \"Sell orders\" against \"Buy orders\", you could have a transaction object that contains the \"buyOrderId\" and a \"sellOrderId\". If you want the saga to associate the \"sellOrderId\" value as \"orderId\", you can define a different keyName in the @SagaEventHandler annotation. It would then become @SagaEventHandler(associationProperty=\"sellOrderId\", keyName=\"orderId\") Sagas generally do more than just maintaining state based on events. They interact with external components. To do so, they need access to the resources necessary to address to components. Usually, these resources aren’t really part of the saga and its state and these resources should not be persisted as such. However, once a saga is reconstructed, these resources must be injected before an event is routed to that instance. For that purpose, there is the ResourceInjector. It is used by the SagaRepository to inject resources into a saga. Axon provides a SpringResourceInjector, which injects annotated fields and methods with resources from the Application Context. Axon also provides a SimpleResourceInjector, which injects resources that have been registered with it into @Inject annotated methods and fields. Tip Since resources should not be persisted with the saga, make sure to add the transient keyword to those fields. This will prevent the serialization mechanism to attempt to write the contents of these fields to the repository. The repository will automatically re-inject the required resources after a saga has been deserialized. The SimpleResourceInjector allows for a pre-specified collection of resources to be injected. It scans the (setter) methods and fields of a Saga to find ones that are annotated with @Inject. When using the Configuration API, Axon will default to the ConfigurationResourceInjector. It will inject any resource available in the configuration. Components like the EventBus, EventStore, CommandBus and CommandGateway are available by default. You can also register your own components using configurer.registerComponent(). The SpringResourceInjector uses Spring’s dependency injection mechanism to inject resources into a Saga. This means you can use setter injection or direct field injection if you require. The method or field to be injected needs to be annotated in order for Spring to recognize it as a dependency, for example with @Autowired. Events need to be redirected to the appropriate saga instances. To do so, some infrastructure classes are required. The most important components are the SagaManager and the SagaRepository. Like any component that handles events, the processing is done by an Event Processor. However, Sagas are not singleton instances handling events. They have individual life cycles that need to be managed. Axon supports life cycle management through the AnnotatedSagaManager, which is provided to an Event Processor to perform the actual invocation of handlers. It is initialized using the type of the Saga to manage, as well as a SagaRepository where Sagas of that type can be stored and retrieved. A single AnnotatedSagaManager can only manage a single Saga type. The SagaRepository is responsible for storing and retrieving sagas, for use by the SagaManager. It is capable of retrieving specific saga instances by their identifier as well as by their association values. There are some special requirements, however. Since concurrency handling in sagas is a delicate procedure, the repository must ensure that for each conceptual saga instance (with an equal identifier) only a single instance exists in the JVM. Axon provides the AnnotatedSagaRepository implementation, which allows the lookup of saga instances while guaranteeing that only a single instance of the saga may be accessed at the same time. It uses a SagaStore to perform the actual persistence of saga instances. The choice for the implementation to use depends mainly on the storage engine used by the application. Axon provides the JdbcSagaStore, InMemorySagaStore, JpaSagaStore and MongoSagaStore. In some cases, applications benefit from caching saga instances. In that case, there is a CachingSagaStore which wraps another implementation to add caching behavior. Note that the CachingSagaStore is a write-through cache, which means save operations are always immediately forwarded to the backing Store, to ensure data safety. The JpaSagaStore uses JPA to store the state and association values of sagas. Sagas themselves do not need any JPA annotations; Axon will serialize the sagas using a Serializer (similar to event serialization, you can choose between an XStreamSerializer or JacksonSerializer, which can be set by configuring the default Serializer in your application. For more details, see Serializers. The JpaSagaStore is configured with an EntityManagerProvider, which provides access to an EntityManager instance to use. This abstraction allows for the use of both application managed and container managed EntityManager`s. Optionally, you can define the serializer to serialize the Saga instances with. Axon defaults to the `XStreamSerializer. The JdbcSagaStore uses plain JDBC to store stage instances and their association values. Similar to the JpaSagaStore, saga instances do not need to be aware of how they are stored. They are serialized using a serializer. The JdbcSagaStore is initialized with either a DataSource or a ConnectionProvider. While not required, when initializing with a ConnectionProvider, it is recommended to wrap the implementation in a UnitOfWorkAwareConnectionProviderWrapper. It will check the current Unit of Work for an already open database connection, to ensure that all activity within a unit of work is done on a single connection. Unlike JPA, the JdbcSagaRepository uses plain SQL statements to store and retrieve information. This may mean that some operations depend on the database specific SQL dialect. It may also be the case that certain database vendors provide non-standard features that you would like to use. To allow for this, you can provide your own SagaSqlSchema. The SagaSqlSchema is an interface that defines all the operations the repository needs to perform on the underlying database. It allows you to customize the SQL statement executed for each operation. The default is the GenericSagaSqlSchema. Other implementations available are PostgresSagaSqlSchema, Oracle11SagaSqlSchema and HsqlSagaSchema. The MongoSagaStore stores the saga instances and their associations in a MongoDB database. The MongoSagaStore stores all sagas in a single collection in a MongoDB database. For each saga instance, a single document is created. The MongoSagaStore also ensures that at any time, only a single Saga instance exists for any unique Saga in a single JVM. This ensures that no state changes are lost due to concurrency issues. The MongoSagaStore is initialized using a MongoTemplate and optionally a Serializer. The MongoTemplate provides a reference to the collection to store the sagas in. Axon provides the DefaultMongoTemplate, which takes a MongoClient instance as well as the database name and name of the collection to store the sagas in. The database name and collection name may be omitted. In that case, they default to \"axonframework\" and \"sagas\", respectively. If a database backed saga storage is used, saving and loading saga instances may be a relatively expensive operation. In situations where the same saga instance is invoked multiple times within a short time span, a cache can be especially beneficial to the application’s performance. Axon provides the CachingSagaStore implementation. It is a SagaStore that wraps another one, which does the actual storage. When loading sagas or association values, the CachingSagaStore will first consult its caches, before delegating to the wrapped repository. When storing information, all calls are always delegated to ensure that the backing storage always has a consistent view on the saga’s state. To configure caching, simply wrap any SagaStore in a CachingSagaStore. The constructor of the CachingSagaStore takes three parameters: 1. The SagaStore to wrap 2. The cache to use for association values 3. The cache to use for saga instances The latter two arguments may refer to the same cache, or to different ones. This depends on the eviction requirements of your specific application. Although a Saga requires a manager, repository / store and wiring to the right message busses, configuring a Saga is straightforward. When using the Configuration API, Axon will use sensible defaults for most components. As a specific type of Event Handling Component, configuration of a Saga is closely related to the configuration of Event Processors. Due to this, configuring a processor will impact the behaviour of a Saga, albeit on a non-functional level. The configuration of error handling or processor assignment rules, for example, are thus equally valid for Sagas as long as the right processor name is used during configuration. Default Saga Processor name As a Saga is a type of event handler, it is part of an Event Processor. Without defining any assignment rules, a Saga’s processor name equals the Saga name appended with \"Processor\", With a Saga called MySaga, that would mean the processor is called MySagaProcessor. Internally, Axon uses a SagaConfigurer to construct the Saga, Saga Manager, Saga Repository and Saga Store. A default configuration for a Saga called MySaga would look as follows: As a specific type of event handler, registering a Saga is done through the EventProcessingConfigurer: public class AxonConfig { // omitting other configuration methods... void configureMySaga(EventProcessingConfigurer eventProcessingConfigurer) { eventProcessingConfigurer.registerSaga(MySaga.class); } } In a Spring environment, the Saga implementation should be annotated with @Saga to MongoSagaStoreto-configure it: import org.axonframework.spring.stereotype.Saga; @Saga class MySaga { // saga implementation left out... } Although the defaults lead us to a working Saga environment, it is recommended to define the SagaStore to use. The SagaStore represents the mechanism that 'physically' stores the Saga instances, for which it uses the AnnotatedSagaRepository (the default) to store and retrieve Saga instances. If no SagaStore is configured Axon defaults an InMemorySagaStore, thus not persisting the Saga on shutdown. To configure a SagaStore for MySaga consider the following snippet: To define a custom SagaStore, the SagaConfigurer should be used through the EventProcessingConfigurer#registerSaga(Class, Consumer>) method: public class AxonConfig { // omitting other configuration methods... void configureMySaga(EventProcessingConfigurer eventProcessingConfigurer, EntityManagerProvider entityManagerProvider) { eventProcessingConfigurer.registerSaga( MySaga.class, sagaConfigurer -> sagaConfigurer.configureSagaStore( c -> JpaSagaStore.builder() .entityManagerProvider(entityManagerProvider) .build() ) ); } } Alternatively, a default store can be defined through EventProcessingConfigurer#registerSagaStore(Function) method. When Spring Boot is used and JPA or JDBC is on the classpath, then Axon auto-configures a JpaSagaStore or JdbcSagaStore respectively. To provide a custom SagaStore, providing a bean to the application context and defining the bean name on the @Saga annotation suffices: import org.axonframework.spring.stereotype.Saga; @Saga(sagaStore = \"mySagaStore\") public class MySaga { // saga implementation left out... } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SagaStore mySagaStore(DataSource dataSource) { return JdbcSagaStore.builder() .dataSource(dataSource) .build(); } }","title":"Implementation","component":"axon-framework-reference","version":"development","name":"implementation","url":"/axon-framework-reference/development/sagas/implementation/","titles":[{"text":"Life cycle","hash":"_life_cycle","id":1},{"text":"Event handling","hash":"_event_handling","id":2},{"text":"Injecting resources","hash":"_injecting_resources","id":3},{"text":"Saga infrastructure","hash":"_saga_infrastructure","id":4},{"text":"Saga manager","hash":"saga-manager","id":5},{"text":"Saga repository and saga store","hash":"saga-repository-and-saga-store","id":6},{"text":"JpaSagaStore","hash":"JpaSagaStore","id":7},{"text":"JdbcSagaStore","hash":"JdbcSagaStore","id":8},{"text":"MongoSagaStore","hash":"MongoSagaStore","id":9},{"text":"Caching","hash":"_caching","id":10},{"text":"Configuring a Saga","hash":"configuring-a-saga","id":11},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":12},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":13},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":14},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_2","id":15}]},"70":{"id":70,"text":"The Axon Framework provides first-class support for long running business transactions or Sagas. This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help facilitate Saga development‌. A summary of the various sub-sections is given below. Sub-Section Purpose ​Implementation​ Implementing Sagas using the Axon Framework ​Associations​ Managing Saga associations using the Axon Framework ​Infrastructure​ Non-Functional Development concerns for Sagas using the Axon Framework","title":"Sagas","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/sagas/","titles":[]},"71":{"id":71,"text":"Events need to be redirected to the appropriate saga instances. To do so, some infrastructure classes are required. The most important components are the SagaManager and the SagaRepository. Like any component that handles events, the processing is done by an event processor. However, sagas are not singleton instances handling events. They have individual life cycles which need to be managed. Axon supports life cycle management through the AnnotatedSagaManager, which is provided to an event processor to perform the actual invocation of handlers. It is initialized using the type of the saga to manage, as well as a SagaRepository where sagas of that type can be stored and retrieved. A single AnnotatedSagaManager can only manage a single saga type. When using the Configuration API, Axon will use sensible defaults for most components. However, it is highly recommended to define a SagaStore implementation to use. The SagaStore is the mechanism that 'physically' stores the saga instances somewhere. The AnnotatedSagaRepository (the default) uses the SagaStore to store and retrieve Saga instances as they are required. Configurer configurer = DefaultConfigurer.defaultConfiguration(); configurer.eventProcessing(eventProcessingConfigurer -> eventProcessingConfigurer .registerSaga(MySaga.class, // Axon defaults to an in-memory SagaStore, // defining another is recommended sagaConfigurer -> sagaConfigurer.configureSagaStore(c -> new JpaSagaStore(...)))); // alternatively, it is possible to register a single SagaStore for all Saga types: configurer.registerComponent(SagaStore.class, c -> new JpaSagaStore(...)); @Saga(sagaStore = \"mySagaStore\") public class MySaga {...} ... // somewhere in configuration @Bean public SagaStore mySagaStore() { return new MongoSagaStore(...); // default is JpaSagaStore } The SagaRepository is responsible for storing and retrieving sagas, for use by the SagaManager. It is capable of retrieving specific saga instances by their identifier as well as by their association values. There are some special requirements, however. Since concurrency handling in sagas is a delicate procedure, the repository must ensure that for each conceptual saga instance (with an equal identifier) only a single instance exists in the JVM. Axon provides the AnnotatedSagaRepository implementation, which allows the lookup of saga instances while guaranteeing that only a single instance of the saga may be accessed at the same time. It uses a SagaStore to perform the actual persistence of saga instances. The choice for the implementation to use depends mainly on the storage engine used by the application. Axon provides the JdbcSagaStore, InMemorySagaStore, JpaSagaStore and MongoSagaStore. In some cases, applications benefit from caching saga instances. In that case, there is a CachingSagaStore which wraps another implementation to add caching behavior. Note that the CachingSagaStore is a write-through cache, which means save operations are always immediately forwarded to the backing Store, to ensure data safety. The JpaSagaStore uses JPA to store the state and association values of sagas. Sagas themselves do not need any JPA annotations; Axon will serialize the sagas using a Serializer (similar to event serialization, you can choose between an XStreamSerializer or JacksonSerializer, which can be set by configuring the default Serializer in your application. For more details, see Serializers. The JpaSagaStore is configured with an EntityManagerProvider, which provides access to an EntityManager instance to use. This abstraction allows for the use of both application managed and container managed EntityManager`s. Optionally, you can define the serializer to serialize the Saga instances with. Axon defaults to the `XStreamSerializer. The JdbcSagaStore uses plain JDBC to store stage instances and their association values. Similar to the JpaSagaStore, saga instances do not need to be aware of how they are stored. The store serializes the saga instances using a serializer. You should configure the JdbcSagaStore with either a DataSource or a ConnectionProvider. While not required, when initializing with a ConnectionProvider, it is recommended to wrap the implementation in a UnitOfWorkAwareConnectionProviderWrapper. It will check the current Unit of Work for an already open database connection to ensure that all activity within a unit of work is done on a single connection. Unlike JPA, the JdbcSagaRepository uses plain SQL statements to store and retrieve information. This approach may mean that some operations depend on the database-specific SQL dialect. It may also be that certain database vendors provide non-standard features that you would like to use. To allow for this, you can provide your own SagaSqlSchema. The SagaSqlSchema is an interface that defines all the operations the repository needs to perform on the underlying database. It allows you to customize the SQL statement executed for each operation. The default is the GenericSagaSqlSchema. Other implementations available are PostgresSagaSqlSchema, Oracle11SagaSqlSchema and HsqlSagaSchema. Schema Construction Note that Axon does not create the database schema for you out of the box. Neither when using Spring Boot, for example. To construct the schema, JdbcSagaStore#createSchema should be invoked. By default, this will use the GenericSagaSqlSchema. You can change the schema by configuring a different version through the JdbcSagaStore.Builder. The MongoSagaStore stores the saga instances and their associations in a MongoDB database. The MongoSagaStore stores all sagas in a single collection in a MongoDB database. For each saga instance, a single document is created. The MongoSagaStore also ensures that at any time, only a single Saga instance exists for any unique Saga in a single JVM. This ensures that no state changes are lost due to concurrency issues. The MongoSagaStore is initialized using a MongoTemplate and optionally a Serializer. The MongoTemplate provides a reference to the collection to store the sagas in. Axon provides the DefaultMongoTemplate, which takes a MongoClient instance as well as the database name and name of the collection to store the sagas in. The database name and collection name may be omitted. In that case, they default to \"axonframework\" and \"sagas\", respectively. If a database backed saga storage is used, saving and loading saga instances may be a relatively expensive operation. In situations where the same saga instance is invoked multiple times within a short time span, a cache can be especially beneficial to the application’s performance. Axon provides the CachingSagaStore implementation. It is a SagaStore that wraps another one, which does the actual storage. When loading sagas or association values, the CachingSagaStore will first consult its caches, before delegating to the wrapped repository. When storing information, all calls are always delegated to ensure that the backing storage always has a consistent view on the saga’s state. To configure caching, simply wrap any SagaStore in a CachingSagaStore. The constructor of the CachingSagaStore takes three parameters: 1. The SagaStore to wrap 2. The cache to use for association values 3. The cache to use for saga instances The latter two arguments may refer to the same cache, or to different ones. This depends on the eviction requirements of your specific application.","title":"Infrastructure","component":"axon-framework-reference","version":"development","name":"infrastructure","url":"/axon-framework-reference/development/sagas/infrastructure/","titles":[{"text":"Saga manager","hash":"_saga_manager","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Saga repository and saga store","hash":"_saga_repository_and_saga_store","id":4},{"text":"JpaSagaStore","hash":"JpaSagaStore","id":5},{"text":"JdbcSagaStore","hash":"JdbcSagaStore","id":6},{"text":"MongoSagaStore","hash":"MongoSagaStore","id":7},{"text":"Caching","hash":"_caching","id":8}]},"72":{"id":72,"text":"One of the benefits of CQRS, and especially that of event sourcing, is that it is possible to express tests purely in terms of events and commands. Both being functional components, events and commands have clear meaning to the domain expert or business owner. Not only does this mean that tests expressed in terms of events and commands have a clear functional meaning, it also means that they hardly depend on any implementation choices. The features described in this chapter require the axon-test module, which can be obtained by configuring a maven dependency (use axon-test and test) or from the full package download. The fixtures described in this chapter work with any testing framework, such as JUnit and TestNG. The command handling component is typically the component in any CQRS based architecture that contains the most complexity. Being more complex than the others, this also means that there are extra test related requirements for this component. Although being more complex, the API of a command handling component is fairly easy. It has a command coming in, and events going out. In some cases, there might be a query as part of command execution. Other than that, commands and events are the only part of the API. This means that it is possible to completely define a test scenario in terms of events and commands. Typically, in the shape of: Given certain events in the past, When executing this command, Expect these events to be published and/or stored Axon Framework provides a test fixture that allows you to do exactly that. The AggregateTestFixture allows you to configure a certain infrastructure, composed of the necessary command handler and repository, and express your scenario in terms of \"given-when-then\" events and commands. Focus of a Test Fixture Since the unit of testing here is the aggregate, AggregateTestFixture is meant to test one aggregate only. So, all commands in the when (or given) clause are meant to target the aggregate under test fixture. Also, all given and expected events are meant to be triggered from the aggregate under test fixture. The following example shows the usage of the \"given-when-then\" test fixture with JUnit 4 on the GiftCard aggregate (as defined earlier): import org.axonframework.test.aggregate.AggregateTestFixture; import org.axonframework.test.aggregate.FixtureConfiguration; public class GiftCardTest { private FixtureConfiguration fixture; @Before public void setUp() { fixture = new AggregateTestFixture<>(GiftCard.class); } @Test public void testRedeemCardCommand() { fixture.given(new CardIssuedEvent(\"cardId\", 100)) .when(new RedeemCardCommand(\"cardId\", \"transactionId\", 20)) .expectSuccessfulHandlerExecution() .expectEvents(new CardRedeemedEvent(\"cardId\", \"transactionId\", 20)); /* These four lines define the actual scenario and its expected result. The first line defines the events that happened in the past. These events define the state of the aggregate under test. In practical terms, these are the events that the event store returns when an aggregate is loaded. The second line defines the command that we wish to execute against our system. Finally, we have two more methods that define expected behavior. In the example, we use the recommended void return type. The last method defines that we expect a single event as result of the command execution. */ } } Aggregate Lifecycle Extension Alternatively, JUnit 5 users can use StubAggregateLifecycleExtension in order to directly attach to the aggregate lifecycle. This might be useful if you prefer not to use the AggregateTestFixture public class AggregateTest { @RegisterExtension static StubAggregateLifecycleExtension testSubject = new StubAggregateLifecycleExtension(); @Test void test() { apply(new Event(...)); assertEquals(1, testSubject.getAppliedEvents().size()); } } The \"given-when-then\" test fixture defines three stages: configuration, execution and validation. Each of these stages is represented by a different interface: FixtureConfiguration, TestExecutor and ResultValidator, respectively. Fluent Interface To make optimal use of the migration between these stages, it is best to use the fluent interface provided by these methods, as shown in the example above. During the configuration phase (that is, before the first \"given\" is provided), you provide the building blocks required to execute the test. Specialized versions of the event bus, command bus and event store are provided as part of the fixture by default. There are accessor methods in place to obtain references to them. Any command handlers not registered directly on the aggregate need to be explicitly configured using the registerAnnotatedCommandHandler method. Besides an Annotated Command Handler, you can register a wide variety of components and settings that define how the infrastructure around the Aggregate’s test should be set up, consisting out of the following: registerRepository: Registers a custom Aggregate Repository. registerRepositoryProvider: Registers a RepositoryProvider used to spawn new Aggregates. registerAggregateFactory: Registers a custom AggregateFactory. registerAnnotatedCommandHandler: Registers a Annotated Command Handler object that interacts with the aggregate. Use this method to register components containing @CommandHandler annotated methods that invoke the Repository to execute operation on an aggregate. You may end up in such a scenario when you prefer that command handlers and/or command messages are not contained inside the domain model (that is, the aggregate). registerCommandHandler: Registers a MessageHandler of CommandMessage. registerInjectableResource: Registers a resource which can be injected in to message handling members. registerParameterResolverFactory: Registers a ParameterResolverFactory to the test fixture. This method is used to complement the default ParameterResolvers with custom ParameterResolver. registerCommandDispatchInterceptor: Registers a command MessageDispatchInterceptor. registerCommandHandlerInterceptor: Registers a command MessageHandlerInterceptor. registerDeadlineDispatchInterceptor: Registers a DeadlineMessage MessageDispatchInterceptor. registerDeadlineHandlerInterceptor: Registers a DeadlineMessage MessageHandlerInterceptor. registerFieldFilter: Registers a Field filter used when comparing objects in the \"then\" phase. registerIgnoredField: Registers a field that should be ignored for a given class when state equality is performed. registerHandlerDefinition: Registers a custom HandlerDefinition to the test fixture. registerHandlerEnhancerDefinition: Registers a custom HandlerEnhancerDefinition to the test fixture. This method is used to complement the default HandlerEnhancerDefinition with a custom HandlerEnhancerDefinition. registerCommandTargetResolver: Registers a CommandTargetResolver to the test fixture. Once you have configured the fixture, you can start the given phase. Axon’s test fixtures provide several given methods aligning with the modeling options of an aggregate. Below is a list of all the operations of the given phase: givenNoPriorActivity: Start the given phase without any prior activity. Use this method to reflect the initialization of an aggregate. given(Object…​): Use the given method to provide several events to initiate the state of an event-sourced aggregate. May be followed up by invocations of andGiven to separate events of the given phase for readability. The fixture wraps any events given in DomainEventMessages. When the given event implements Message, the fixture will include the payload and metadata of that message in the DomainEventMessage. Otherwise, the fixture uses the given event as the message’s payload. givenCommands(Object ..): Use the givenCommands method to provide several commands to initiate the state of an event-sourced aggregate. When using givenCommands, the fixture uses the events generated by those commands to event source the aggregate. May be followed up by invocations of andGivenCommands to separate commands of the given phase for readability. The fixture wraps any commands given in CommandMessages. When the given commands implement Message, the fixture includes the payload and metadata of that message in the CommandMessage. Otherwise, the fixture uses the given command as the message’s payload. givenCurrentTime(Instant): Use givenCurrenTime to simulate the current time the test fixture initiates testing. The fixture uses the given Instant as the timestamp for generated events in the when-phase. Additionally, the fixtures will use the given current time to validate when to trigger deadlines within the aggregate. givenState(Supplier): Use the givenState method to provide the aggregate instance in its entirety when testing a State-Stored Aggregate. Note that it is not recommended to use this operation when you are testing an event-sourced aggregate. The execution phase, or \"when phase,\" allows you several entry points towards the validation phase. Note that the test fixture only monitors activities that occur during the test execution phase. The fixture does not consider any events or side effects generated during the given phase in the validation phase. Illegal State Change Detection During the execution of the test, Axon attempts to detect any illegal state changes in the aggregate under test. It does so by comparing the aggregate’s state after command execution to the aggregate’s state when event sourced from all given and stored events. If that state is not identical, a state change occurred outside an aggregate’s event handler method. Static and transient fields are ignored in the comparison, as they typically contain references to resources. You can switch detection in the configuration of the fixture with the setReportIllegalStateChange() method. We can separate the execution phase options into roughly three variants: Execute a command, time progresses, and invoking a method on the aggregate. Below is a list of all the operations you can use in the execution phase: when(Object): Using the when method, you can provide a command for the fixture to execute against the aggregate under test. Similar to the given events, if the provided command is of type CommandMessage, the fixture dispatches it as is. The fixture monitors the behavior of the invoked handler (either on the aggregate or as an external handler) and compares it to the expectations you register in the validation phase. when(Object, Map): This when method provides a simpler notation to provide both the command and the metadata. When the given command implements Message, the fixture will combine the command’s metadata with the additional metadata provided separately. whenTimeElapses(Duration): Use whenTimeElapses to simulate time moving on based on the given Duration. You should use this method to validate the behavior around deadlines. whenTimeAdvancesTo(Instant): Use whenTimeAdvancesTo to simulate time moving towards the given Instant. You should use this method to validate the behavior around deadlines. whenConstructing(Callable): This test execution phase operation allows you to invoke the constructor of the aggregate under test. Use this method whenever you (1) do not have @CommandHandler annotations inside the command model and (2) have not registered an external command handler with the fixture. Note that whenConstructing should only ever follow up the givenNoPriorActity operation of the given phase. whenInvoking(String, Consumer): This test execution phase operation allows you to invoke methods of the aggregate under test. The fixture expects you to provide an aggregate identifier matching the given phase’s aggregate identifier. Otherwise, the fixture throws an AssertionError. Use this method whenever you (1) do not have @CommandHandler annotations inside the command model and (2) have not registered an external command handler with the fixture. The last phase is the validation phase, which allows you to check on the activities of the aggregate. This is generally done purely in terms of return values and events. The test fixture allows you to validate return values of your command handlers. You can explicitly define the expected return value, or simply require that the method successfully returned. You may also express any exceptions you expect the CommandHandler to throw. The following methods are available for validating Command Results: fixture.expectSuccessfulHandlerExecution(): Validates that the handler returned a regular response, which was not marked as an exceptional response. The exact response is not evaluated. fixture.expectResultMessagePayload(Object): Validates that the handler returned a successful response, with a payload equal to the given payload. fixture.expectResultMessagePayloadMatching(Matcher): Validates that the handler returned a successful response, with a payload matching the given Matcher fixture.expectResultMessage(CommandResultMessage): Validates that the CommandResultMessage received has equal payload and meta data to that of given message. fixture.expectResultMessageMatching(Matcher): Validates that the CommandResultMessage matches the given Matcher. fixture.expectException(Matcher): Validates that the command handling result is an exceptional result, and that the exception matches the given Matcher. fixture.expectException(Class): Validates that the command handling result is an exceptional result with the given type of exception. fixture.expectExceptionMessage(String): Validates that the command handling result is an exceptional result and the exception message is equal to the given message. fixture.expectExceptionMessage(Matcher): Validates that the command handling result is an exceptional result and the exception message matches the given Matcher. * fixture.expectExceptionDetails(Object): Validates that the command handling result is an exceptional result and the exception details equal the given exception details. fixture.expectExceptionDetails(Class): Validates that the command handling result is an exceptional result with the given type of exception details. fixture.expectExceptionDetails(Matcher): Validates that the command handling result is an exceptional result and the exception details match the given Matcher. The other component is validation of published events. There are two ways of matching expected events. The first is to pass in event instances that need to be literally compared with the actual events. All properties of the expected events are compared (using equals()) with their counterparts in the actual Events. If one of the properties is not equal, the test fails and an extensive error report is generated. The other way of expressing expectancies is using \"Matchers\" (provided by the Hamcrest library). Matcher is an interface prescribing two methods: matches(Object) and describeTo(Description). The first returns a boolean to indicate whether the matcher matches or not. The second allows you to express your expectation. For example, a \"GreaterThanTwoMatcher\" could append \"any event with value greater than two\" to the description. Descriptions allow expressive error messages to be created about why a test case fails. Creating matchers for a list of events can be tedious and error-prone work. To simplify things, Axon provides a set of matchers that allow you to provide a set of event specific matchers and tell Axon how they should match against the list. These matchers are statically available through the abstract Matchers utility class. Below is an overview of the available event list matchers and their purpose: List with all of: Matchers.listWithAllOf(event matchers…​) This matcher will succeed if all of the provided event matchers match against at least one event in the list of actual events. It does not matter whether multiple matchers match against the same event, nor if an event in the list does not match against any of the matchers. List with any of: Matchers.listWithAnyOf(event matchers…​) This matcher will succeed if one or more of the provided event matchers matches against one or more of the events in the actual list of events. Some matchers may not even match at all, while another matches against multiple others. Sequence of Events: Matchers.sequenceOf(event matchers…​) Use this matcher to verify that the actual events are matched in the same order as the provided event matchers. It will succeed if each matcher matches against an event that comes after the event that the previous matcher matched against. This means that \"gaps\" with unmatched events may appear. If, after evaluating the events, more matchers are available, they are all matched against “null”. It is up to the event matchers to decide whether they accept that or not. Exact sequence of Events: Matchers.exactSequenceOf(event matchers…​) Variation of the \"Sequence of Events\" matcher where gaps of unmatched events are not allowed. This means each matcher must match against the event directly following the event the previous matcher matched against. For convenience, a few commonly required event matchers are provided. They match against a single event instance: Equal event: Matchers.equalTo(instance…​) Verifies that the given object is semantically equal to the given event. This matcher will compare all values in the fields of both actual and expected objects using a null-safe equals method. This means that events can be compared, even if they do not implement the equals method. The objects stored in fields of the given parameter are compared using equals, requiring them to implement one correctly. No more events: Matchers.andNoMore() or Matchers.nothing() Only matches against a null value. This matcher can be added as last matcher to the exact sequence of events matchers to ensure that no unmatched events remain. Predicate Matching: Matchers.matches(Predicate) or Matchers.predicate(Predicate) Creates a Matcher that matches with values defined by the specified Predicate. Can be used in case the Predicate API provides a better means to validating the outcome. Since the matchers are passed a list of event messages, you sometimes only want to verify the payload of the message. There are matchers to help you out: Payload matching: Matchers.messageWithPayload(payload matcher) Verifies that the payload of a message matches the given payload matcher. Payloads matching: Matchers.payloadsMatching(list matcher) Verifies that the payloads of the messages matches the given matcher. The given matcher must match against a list containing each of the messages payload. The payloads matching matcher is typically used as the outer matcher to prevent repetition of payload matchers. Below is a small code sample displaying the usage of these matchers. In this example, we expect two events to be published. The first event must be a \"ThirdEvent\", and the second \"aFourthEventWithSomeSpecialThings\". There may be no third event, as that will fail against the \"andNoMore\" matcher. import org.axonframework.test.aggregate.FixtureConfiguration; import static org.axonframework.test.matchers.Matchers.andNoMore; import static org.axonframework.test.matchers.Matchers.equalTo; import static org.axonframework.test.matchers.Matchers.exactSequenceOf; import static org.axonframework.test.matchers.Matchers.messageWithPayload; import static org.axonframework.test.matchers.Matchers.payloadsMatching; class MyCommandModelTest { private FixtureConfiguration fixture; public void testWithMatchers() { fixture.given(new FirstEvent(), new SecondEvent()) .when(new DoSomethingCommand(\"aggregateId\")) .expectEventsMatching(exactSequenceOf( // we can match against the payload only: messageWithPayload(equalTo(new ThirdEvent())), // this will match against a Message aFourthEventWithSomeSpecialThings(), // this will ensure that there are no more events andNoMore() )); // or if we prefer to match on payloads only: .expectEventsMatching(payloadsMatching( exactSequenceOf( // we only have payloads, so we can equalTo directly equalTo(new ThirdEvent()), // now, this matcher matches against the payload too aFourthEventWithSomeSpecialThings(), // this still requires that there is no more events andNoMore() ) )); } } In certain circumstances, it may be desirable to validate the state in which an Aggregate was left after a test. This is especially the case in given-when-then scenario’s where the given represents an initial state as well, as is regular when using a State-Stored Aggregate. The fixture provides a method that allows verification of the state of the aggregate, as it is left after the Execution Phase (for example, the when state), to be validated. fixture.givenState(() -> new GiftCard()) .when(new RedeemCardCommand()) .expectState(state -> { // perform assertions }); The expectState method takes a consumer of the Aggregate type. Use regular assertions provided by your test framework to assert the state of the given Aggregate. Any (Runtime) Exception or Error will fail the test case accordingly. Event-Sourced Aggregate State Validation State validation for testing Event Sourced Aggregates is considered bad practice. Ideally, the state of an Aggregate is completely opaque to the testing code, as only the behavior should be validated. Generally, the desire to validate state is an indication that a certain test scenario is missing from the test suite. The validation phase also provides the option to verify scheduled and met xref:../deadlines/deadline-managers.adoc for a given Aggregate instance. You can expect scheduled deadlines both through a Duration or an Instant, using explicit equals, a Matcher or just a deadline type to verify the deadline message. The following methods are available for validating Deadlines: expectScheduledDeadline(Duration, Object): Explicitly expect a given deadline to be scheduled after the specified Duration. expectScheduledDeadlineMatching(Duration, Matcher): Expect a deadline matching the Matcher to be scheduled after the specified Duration. expectScheduledDeadlineOfType(Duration, Class): Expect a deadline matching the given type to be scheduled after the specified Duration. expectScheduledDeadlineWithName(Duration, String): Expect a deadline matching the given deadline name to be scheduled after the specified Duration. expectScheduledDeadline(Instant, Object): Explicitly expect a given deadline to be scheduled at the specified Instant. expectScheduledDeadlineMatching(Instant, Matcher): Expect a deadline matching the Matcher to be scheduled at the specified Instant. expectScheduledDeadlineOfType(Instant, Class): Expect a deadline matching the given type to be scheduled at the specified Instant. expectScheduledDeadlineWithName(Instant, String): Expect a deadline matching the given deadline name to be scheduled at the specified Instant. expectNoScheduledDeadlines(): Expect that no deadlines are scheduled at all. expectNoScheduledDeadlineMatching(Matcher): Expect no deadline matching the Matcher to be scheduled. expectNoScheduledDeadlineMatching(Duration, Matcher): Expect no deadline matching the Matcher to be scheduled after the specified Duration. expectNoScheduledDeadline(Duration, Object) Explicitly expect no given deadline to be scheduled after the specified Duration.` expectNoScheduledDeadlineOfType(Duration, Class) Expect no deadline matching the given type to be scheduled after the specified Duration.` expectNoScheduledDeadlineWithName(Duration, String) Expect no deadline matching the given deadline name to be scheduled after the specified Duration.` expectNoScheduledDeadlineMatching(Instant, Matcher): Expect no deadline matching the Matcher to be scheduled at the specified Instant. expectNoScheduledDeadline(Instant, Object) Explicitly expect no given deadline to be scheduled at the specified Instant.` expectNoScheduledDeadlineOfType(Instant, Class) Expect no deadline matching the given type to be scheduled at the specified Instant.` expectNoScheduledDeadlineWithName(Instant, String) Expect no deadline matching the given deadline name to be scheduled at the specified Instant.` expectDeadlinesMet(Object…​): Explicitly expect a deadline or several deadlines to have been met. expectDeadlinesMetMatching(Matcher>): Expect a matching deadline or several matching deadlines to have been met.","title":"Commands / Events","component":"axon-framework-reference","version":"development","name":"commands-events","url":"/axon-framework-reference/development/testing/commands-events/","titles":[{"text":"Command model testing","hash":"_command_model_testing","id":1},{"text":"Test setup","hash":"test-setup","id":2},{"text":"Given phase","hash":"given-phase","id":3},{"text":"Test execution phase","hash":"test-execution-phase","id":4},{"text":"Validation phase","hash":"validation-phase","id":5},{"text":"Validating command result","hash":"_validating_command_result","id":6},{"text":"Validating published events","hash":"_validating_published_events","id":7},{"text":"Validating aggregate state","hash":"_validating_aggregate_state","id":8},{"text":"Validating deadlines","hash":"validating-deadlines","id":9}]},"73":{"id":73,"text":"The Axon Framework provides a complete test module to help unit test your Axon application. This includes capabilities test your Commands/Events and Sagas. This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help facilitate testing.‌ A summary of the various sub-sections is given below. Sub-Section Purpose ​Commands / Events​ Capabilities provided by the Axon Framework to test Commands/Events ​Sagas​ Capabilities provided by the Axon Framework to test Sagas","title":"Testing","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/testing/","titles":[]},"74":{"id":74,"text":"Similar to command handling components, sagas have a clearly defined interface: they only respond to events. On the other hand, sagas often have a notion of time and may interact with other components as part of their event handling process. Axon Framework’s test support module contains fixtures that help you write tests for sagas. Each test fixture contains three phases, similar to those of the command handling component fixture described in the previous section. Given certain events (from certain aggregates), when an event arrives or time elapses, expect certain behavior or state. Both the \"given\" and the \"when\" phases accept events as part of their interaction. During the \"given\" phase, all side effects, such as generated commands are ignored, when possible. During the \"when\" phase, on the other hand, events and commands generated from the saga are recorded and can be verified. The following code sample shows an example of how the fixtures can be used to test a saga that sends a notification if an invoice is not paid within 30 days: FixtureConfiguration fixture = new SagaTestFixture<>(InvoicingSaga.class); fixture.givenAggregate(invoiceId).published(new InvoiceCreatedEvent()) .whenTimeElapses(Duration.ofDays(31)) .expectDispatchedCommandsMatching(Matchers.listWithAllOf(aMarkAsOverdueCommand())); // or, to match against the payload of a Command Message only .expectDispatchedCommandsMatching(Matchers.payloadsMatching(Matchers.listWithAllOf(aMarkAsOverdueCommand()))); Sagas can dispatch commands using a callback to be notified of command processing results. Since there is no actual command handling done in tests, the behavior is defined using a CallbackBehavior object. This object is registered using setCallbackBehavior() on the fixture and defines if and how the callback must be invoked when a command is dispatched. Instead of using a CommandBus directly, you can also use command gateways. See below on how to specify their behavior. Often, sagas will interact with resources. These resources aren’t part of the saga its state, but are injected after a saga is loaded or created. The test fixtures allow you to register resources that need to be injected in the saga. To register a resource, simply invoke the fixture.registerResource(Object) method with the resource as parameter. The fixture will detect appropriate setter methods or fields (annotated with @Inject) on the saga and invoke it with an available resource. Tip It can be useful to inject mock objects (for example, Mockito or Easymock) into your Saga. It allows you to verify that the saga interacts correctly with your external resources. Command gateways provide sagas with an easier way to dispatch Commands. Using a custom command gateway also makes it easier to create a mock or stub to define its behavior in tests. When providing a mock or stub, however, the actual command might not be dispatched, making it impossible to verify the sent commands in the test fixture. Therefore, the fixture provides two methods that allow you to register Command Gateways and optionally a mock defining its behavior: registerCommandGateway(Class) and registerCommandGateway(Class, Object). Both methods return an instance of the given class that represents the gateway to use. This instance is also registered as a resource, to make it eligible for resource injection. When the registerCommandGateway(Class) is used to register a gateway, it dispatches Commands to the CommandBus managed by the fixture. The behavior of the gateway is mostly defined by the CallbackBehavior defined on the fixture. If no explicit CallbackBehavior is provided, callbacks are not invoked, making it impossible to provide any return value for the gateway. When the registerCommandGateway(Class, Object) is used to register a gateway, the second parameter is used to define the behavior of the gateway. The test fixture tries to eliminate elapsing system time where possible. This means that it will appear that no time elapses while the test executes, unless you explicitly state so using whenTimeElapses(). All events will have the timestamp of the moment the test fixture was created. Having the time stopped during the test makes it easier to predict at what time events are scheduled for publication. If your test case verifies that an event is scheduled for publication in 30 seconds, it will remain 30 seconds, regardless of the time taken between actual scheduling and test execution. Note The fixture uses a StubScheduler for time based activity, such as scheduling events and advancing time. Fixtures will set the timestamp of any events sent to the Saga instance to the time of this scheduler. This means time is 'stopped' as soon as the fixture starts, and may be advanced deterministically using the whenTimeAdvanceTo and whenTimeElapses methods. You can also use the StubEventScheduler independently of the test fixtures if you need to test scheduling of events. This EventScheduler implementation allows you to verify which events are scheduled for which time and gives you options to manipulate the progress of time. You can either advance time with a specific Duration, move the clock to a specific date and time or advance time to the next scheduled event. All these operations will return the events scheduled within the progressed interval.","title":"Sagas","component":"axon-framework-reference","version":"development","name":"sagas-1","url":"/axon-framework-reference/development/testing/sagas-1/","titles":[]},"75":{"id":75,"text":"This page provides specifics around tuning the command processing within an Axon application. As described in the Messaging Concepts page, a command is always routed to a single destination. This means that during the registration of a command handler within a given JVM, a second registration of an identical command handler method should be dealt with in a desirable manner. How an Axon application reacts to such a duplicate registration is defined by the DuplicateCommandHandlerResolver. This resolver is a functional interface ingesting a command name and a registered candidate command handler method; a single command handler method is the return value. By default, the LoggingDuplicateCommandHandlerResolver is used, which will log a warning and returns the candidate handler. To configure the used DuplicateCommandHandlerResolver it is suggested to use the DuplicateCommandHandlerResolution, as this class gives a handle to all provided implementations. To configure the duplicate resolver to, for example, throw a DuplicateCommandHandlerSubscriptionException as a warning, the following approach can be taken: Somewhere in a configuration class: DefaultConfigurer.defaultConfiguration().registerComponent( DuplicateCommandHandlerResolution.class, config -> DuplicateCommandHandlerResolution.rejectDuplicates() ); Somewhere in a configuration class: @Bean public DuplicateCommandHandlerResolver duplicateCommandHandlerResolver() { return DuplicateCommandHandlerResolution.rejectDuplicates(); }","title":"Command Processing","component":"axon-framework-reference","version":"development","name":"command-processing","url":"/axon-framework-reference/development/tuning/command-processing/","titles":[{"text":"Duplicate command handler registration","hash":"_duplicate_command_handler_registration","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3}]},"76":{"id":76,"text":"Typically, application components contain one or more Event Processors which are responsible for processing incoming events. Tracking Event Processors have configuration aspects that can be changed at runtime to accommodate for changes in the system topology. Tracking Event Processors that handle events in multiple threads use segments to separate the events in the stream across these threads in a reliable way. However, especially when these threads are spread across multiple instances of a component, and the number of instances changes, it may be useful to scale the number of segments accordingly. To this end, Axon Framework provides a split and merge API. This API can be utilized directly via a client configuration or through Axon Server, where the latter takes required coordination into account. The Tracking Event Processors in Axon Framework provide methods to increase or decrease the number of segments for that particular instance. When using this API, one must provide the ID of the segment to increase/decrease. Additionally, the instance on which the method is invoked, must be actively processing that segment. First, the instance of the Tracking Event Processor must be obtained. This can be done using Axon’s Configuration API like so: // The `Configuration` was returned through the `Configurer` or is available as a bean in the Spring Application Context public TrackingEventProcessor retrieveTrackingProcessor(org.axonframework.config.Configuration axonConfig, String processorName) { return axonConfig.eventProcessingConfiguration() .eventProcessor(processorName) // This call returns an Optional .filter(eventProcessor -> eventProcessor instanceof TrackingEventProcessor) .map(eventProcessor -> (TrackingEventProcessor) eventProcessor) .orElseThrow(() -> new IllegalStateException( \"No Tracking Event Processor found with name \" + processorName )); } Using the above snippet, a split or merge can be called as follows: int segmentId; TrackingEventProcessor trackingProcessor = retrieveTrackingProcessor(axonConfig, processorName); // Split... CompletableFuture futureResult = trackingProcessor.splitSegment(segmentId); // Merge... CompletableFuture futureResult = trackingProcessor.mergeSegment(segmentId); Multi instance set up If you have several instances of a given Axon application, that regularly means you have duplicated your Tracking Event Processors. Such a set up is a regular scenario to require segment tuning. Note that, especially, in such a setup you would need to delegate said split or merge to the correct instance. The \"correct instance\", in this case, is the instance owning the segment you want to split and merge. In a heterogeneously distributed application landscape your event handling components might receive events they do not have actual event handling members for. That this occurs is completely fine; the chances of a single application handling the entirety of all existing events is really small. This fact however does open up the possibility for optimization by blacklisting events. To this end Axon has to option to automatically blacklist events it cannot handle. The Tracking Event Processor takes the lead in actual blacklisting, which it does by signaling the utilized event stream when none of its handlers can handle the event in question. The event stream provided by the Axon Server connection in turn implements the functionality to notify an Axon Server node that certain events cannot be handled by it. By default, blacklisting is turned for an Axon client connected to Axon Server. To disable blacklisting, the disableEventBlacklisting property can be adjusted as follows: AxonServerConfiguration axonServerConfig = new AxonServerConfiguration(); axonServerConfig.setDisableEventBlacklisting(true); Configurer configurer = DefaultConfigurer.defaultConfiguration() .registerComponent(AxonServerConfiguration.class, c -> axonServerConfig); axon.axonserver.disableEventBlacklisting=true Retrying Blacklisted Events The topology of Event Handlers might change in the lifecycle of a given application. This thus means that once blacklisted events might at a later stage do have Event Handler members present. To cover this scenario, Axon Server will periodically send over blacklisted events to refresh the blacklisted set.","title":"Event Processing","component":"axon-framework-reference","version":"development","name":"event-processing","url":"/axon-framework-reference/development/tuning/event-processing/","titles":[{"text":"Increasing and decreasing segment counts","hash":"_increasing_and_decreasing_segment_counts","id":1},{"text":"Segment tuning through Axon Framework","hash":"_segment_tuning_through_axon_framework","id":2},{"text":"Blacklisting events","hash":"_blacklisting_events","id":3},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":4},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":5}]},"77":{"id":77,"text":"When aggregates live for a long time, and their state constantly changes, they will generate a large amount of events. Having to load all these events in to rebuild an aggregate’s state may have a big performance impact. The snapshot event is a domain event with a special purpose: it summarises an arbitrary amount of events into a single one. By regularly creating and storing a snapshot event, the event store does not have to return long lists of events. Just the latest snapshot events and all events that occurred after the snapshot was made. For example, items in stock tend to change quite often. Each time an item is sold, an event reduces the stock by one. Every time a shipment of new items comes in, the stock is incremented by some larger number. If you sell a hundred items each day, you will produce at least 100 events per day. After a few days, your system will spend too much time reading in all these events just to find out whether it should raise an \"ItemOutOfStockEvent\". A single snapshot event could replace a lot of these events, just by storing the current number of items in stock. To measure it to know! AxonIQ Console can measure the number of events that were loaded during command handling, so you know if you need to create snapshots or not. It’s also able to track many more interesting metrics, such as the load time of the aggregate, and the time it took to store the events. Snapshot creation can be triggered by a number of factors, for example: the number of events created since the last snapshot, the time to initialize an aggregate exceeds a certain threshold, time-based, etc. Currently, Axon provides a mechanism that allows you to trigger snapshots based on an event count threshold. The definition of when snapshots should be created, is provided by the SnapshotTriggerDefinition interface. The EventCountSnapshotTriggerDefinition provides the mechanism to trigger snapshot creation when the number of events needed to load an aggregate exceeds a certain threshold. If the number of events needed to load an aggregate exceeds a certain configurable threshold, the trigger tells a Snapshotter to create a snapshot for the aggregate. The snapshot trigger is configured on an event sourcing repository and has a number of properties that allow you to tweak triggering: Snapshotter sets the actual snapshotter instance, responsible for creating and storing the actual snapshot event; Trigger sets the threshold at which to trigger snapshot creation; A Snapshotter is responsible for the actual creation of a snapshot. Typically, snapshotting is a process that should disturb the operational processes as little as possible. Therefore, it is recommended to run the snapshotter in a different thread. The Snapshotter interface declares a single method: scheduleSnapshot(), which takes the aggregate’s type and identifier as parameters. Axon provides the AggregateSnapshotter, which creates and stores AggregateSnapshot instances. This is a special type of snapshot, since it contains the actual aggregate instance within it. The repositories provided by Axon are aware of this type of snapshot, and will extract the aggregate from it, instead of instantiating a new one. All events loaded after the snapshot events are streamed to the extracted aggregate instance. Serializing a Snapshot Event Do make sure the Serializer instance you use (which defaults to the XStreamSerializer) is capable of serializing your aggregate. The XStreamSerializer requires you to use either a Hotspot JVM, or your aggregate must either have an accessible default constructor or implement the Serializable interface. The AbstractSnapshotter provides a basic set of properties that allow you to tweak the way snapshots are created: EventStore sets the event store, which is used to load past events and store the snapshots. This event store must implement the SnapshotEventStore interface. Executor sets the executor, such as a ThreadPoolExecutor that will provide the thread to process actual snapshot creation. By default, snapshots are created in the thread that calls the scheduleSnapshot() method, which is generally not recommended for production. The AggregateSnapshotter provides one more property: AggregateFactories is the property that allows you to set the factories that will create instances of your aggregates. Configuring multiple aggregate factories allows you to use a single Snapshotter to create snapshots for a variety of aggregate types. The EventSourcingRepository implementations and the AggregateConfiguration provide access to the AggregateFactory being used for a given Aggregate. Both provide the factory through the EventSourcingRepository#getAggregateFactory and AggregateConfiguration#aggregateFactory methods respectively. The result from either can be used to configure the same aggregate factories in the Snapshotter as the ones used by the Aggregate. Snapshotter Configuration If you use an executor that executes snapshot creation in another thread, make sure you configure the correct transaction management for your underlying event store, if necessary. For both non-Spring and Spring users a default Snapshotter is provided. The former uses the Configuration API to provide a default AggregateSnapshotter, retrieving the aggregate factories from the registered Aggregates / AggregateConfiguration`s. Spring uses a `SpringAggregateSnapshotter, which will automatically looks up the right AggregateFactory instances from the application context when a snapshot needs to be created. The @Revision annotation has a dedicated, automatically configured SnapshotFilter implementation. This implementation is used to filter out non-matching snapshots from the Repository’s loading process. So when the `@Revision annotation is used on an aggregate the snapshots will be filtered out automatically. When the`@Revision` on an aggregate is missing a RevisionSnapshotFilter is configured for revision null. AggregateConfigurer giftCardConfigurer = AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureSnapshotTrigger(config -> new EventCountSnapshotTriggerDefinition( config.snapshotter(), 500 )); Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate(giftCardConfigurer); It is possible to define a custom SnapshotTriggerDefinition for an aggregate as a Spring bean. In order to tie the SnapshotTriggerDefinition bean to an aggregate, use the snapshotTriggerDefinition attribute on @Aggregate annotation. Listing below shows how to define a custom EventCountSnapshotTriggerDefinition which will take a snapshot every 500 events. Note that a Snapshotter instance, if not explicitly defined as a bean already, will be automatically configured for you. This means you can simply pass the Snapshotter as a parameter to your SnapshotTriggerDefinition. @Bean public SnapshotTriggerDefinition giftCardSnapshotTrigger(Snapshotter snapshotter) { return new EventCountSnapshotTriggerDefinition(snapshotter, 500); } ... @Aggregate(snapshotTriggerDefinition = \"giftCardSnapshotTrigger\") public class GiftCard {...} When a snapshot is stored in the event store, it will automatically use that snapshot to summarize all prior events and return it in their place. All event store implementations allow for concurrent creation of snapshots. This means they allow snapshots to be stored while another process is adding events for the same aggregate. This allows the snapshotting process to run as a separate process altogether. Snapshots as a replacement of your events? Normally, you can archive all events once they are part of a snapshot event. Snapshotted events will never be read in again by the event store in regular operational scenarios. However, if you want to be able to reconstruct an aggregate state prior to the moment the snapshot was created, you must keep the events up to that date. Axon provides a special type of snapshot event: the AggregateSnapshot, which stores an entire aggregate as a snapshot. The motivation is simple: your aggregate should only contain the state relevant to take business decisions. This is exactly the information you want captured in a snapshot. All event sourcing repositories provided by Axon recognize the AggregateSnapshot, and will extract the aggregate from it. Beware that using this snapshot event requires that the event serialization mechanism needs to be able to serialize the aggregate. When enabling snapshotting, several snapshots would be stored per Aggregate instance in the event store. At a certain stage, some of these snapshot events are no longer being used by the application as newer versions took their place. Especially if these snapshot events portray an old format of the aggregate by using the AggregateSnapshot event would it be smart to no longer load these. You could take the stance of dropping all the snapshots which are stored (for a given aggregate type), but this means snapshots will be recreated with a 100% certainty. It is also possible to filter out snapshot events when reading your Aggregate from the event store. To that end, a SnapshotFilter can be defined per Aggregate type or for the entire EventStore. The SnapshotFilter is a functional interface, providing two main operations: allow(DomainEventData /* allow or disallow this snapshotData */; AggregateConfigurer giftCardConfigurer = AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureSnapshotFilter(config -> giftCardSnapshotFilter); Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate(giftCardConfigurer); It is possible to define a custom SnapshotFilter for an aggregate as a Spring bean. In order to tie the SnapshotFilter bean to an aggregate, use the snapshotFilter attribute on @Aggregate annotation. @Bean public SnapshotFilter giftCardSnapshotFilter() { return snapshotData -> /* allow or disallow this snapshotData */; } ... @Aggregate(snapshotFilter = \"giftCardSnapshotFilter\") public class GiftCard {...} The above snippet would be feasible to follow if fine-grained control is required when filtering snapshots from the store. For example, when your snapshots are not based on the Aggregate class (which is the default). When this is not required, you can base yourself on the default SnapshotFilter - the RevisionSnapshotFilter. To configure this SnapshotFilter, all you have to do is use the @Revision annotation on your Aggregate class. In doing so, the RevisionSnapshotFilter is set, filtering non-matching snapshots from the Repository’s loading process, based on the value maintained within the `@Revision annotation. Through this, with every new production deployment of your application that adjusts the Aggregate state, you would only have to adjust the revision value in the annotation. Check out the following example for how to set this up: // \"1\" is an example revision value. // You're free to choose whatever value that fits your application's versioning scheme. @Revision(\"1\") public class GiftCard { // Omitted aggregate internals for simplicity. } A snapshot event is an event like any other. That means a snapshot event is handled just like any other domain event. When using annotations to demarcate event handlers (@EventHandler), you can annotate a method that initializes full aggregate state based on a snapshot event. The code sample below shows how snapshot events are treated like any other domain event within the aggregate. public class MyAggregate extends AbstractAnnotatedAggregateRoot { // ... @EventHandler protected void handleSomeStateChangeEvent(MyDomainEvent event) { // ... } @EventHandler protected void applySnapshot(MySnapshotEvent event) { // the snapshot event should contain all relevant state this.someState = event.someState; this.otherState = event.otherState; } } There is one type of snapshot event that is treated differently: the AggregateSnapshot. This type of snapshot event contains the actual aggregate. The aggregate factory recognizes this type of event and extracts the aggregate from the snapshot. Then, all other events are re-applied to the extracted snapshot. That means aggregates never need to be able to deal with AggregateSnapshot instances themselves. A well-designed command handling module should pose no problems when implementing caching. Especially when using event sourcing, loading an aggregate from an Event Store can be an expensive operation. With a properly configured cache in place, loading an aggregate can be converted into a pure in-memory process. To that end, Axon allows the configuration of a Cache object. The framework currently provides several implementations to choose from: WeakReferenceCache - An in-memory cache solution. In most scenarios, this is a good start. EhCacheAdapter - An AbstractCacheAdapter, wrapping EhCache into a usable solution for Axon. This can be used with major version 2, and is therefore deprecated. EhCache3Adapter - An AbstractCacheAdapter, wrapping EhCache into a usable solution for Axon. This can be used only with major version 3. Which has a different group name than version 2. JCacheAdapter - An AbstractCacheAdapter, wrapping JCache into a usable solution for Axon. AbstractCacheAdapter - Abstract implementation towards supporting Axon’s Cache API. Helpful in writing an adapter for a cache implementation that Axon does not support out of the box. Before configuring a Cache, please consider the following guidelines. They will help you get the most out of your caching solution: Make sure the unit of work never needs to perform a rollback for functional reasons. A rollback means that an aggregate has reached an invalid state. Axon will automatically invalidate the cache entries involved. The following request will force the aggregate to be reconstructed from its events. If you use exceptions as a potential (functional) return value, you can configure a RollbackConfiguration on your command bus. By default, the configuration will roll back the unit of work on unchecked exceptions for command handlers and on all exceptions for event handlers. All commands for a single aggregate must arrive on the machine with the aggregate in its cache. This requirement means that commands should be consistently routed to the same machine for as long as that machine is \"healthy.\" Routing commands consistently prevents the cache from going stale. A hit on a stale cache will cause a command to be executed and fail when events are stored in the event store. By default, Axon’s distributed command bus components will use consistent hashing to route commands. Configure a sensible time to live / time to idle. By default, caches tend to have a relatively short time to live, a matter of minutes. For a command handling component with consistent routing, a longer time-to-idle and time-to-live is usually better. This setting prevents the need to re-initialize an aggregate based on its events because its cache entry expired. The time-to-live of your cache should match the expected lifetime of your aggregate. Cache data in-memory. For proper optimization, caches should keep data in-memory (and preferably on-heap) for best performance. This approach prevents the need to (re)serialize aggregates when storing to disk and even off-heap. To configure a cache for your Aggregates, consider the following snippet: public class AxonConfig { // omitting other configuration methods... public void configureAggregateWithCache(Configurer configurer) { AggregateConfigurer giftCardConfigurer = AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureCache(config -> new WeakReferenceCache()); configurer.configureAggregate(giftCardConfigurer); } } The Aggregate annotation allows specification of the cache bean: @Aggregate(cache = \"giftCardCache\") public class GiftCard { // state, command handlers and event sourcing handlers... } This approach does require the bean name to be present in the Application Context of course: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public Cache giftCardCache() { return new WeakReferenceCache(); } }","title":"Event Snapshots","component":"axon-framework-reference","version":"development","name":"event-snapshots","url":"/axon-framework-reference/development/tuning/event-snapshots/","titles":[{"text":"Snapshotting","hash":"_snapshotting","id":1},{"text":"Creating a snapshot","hash":"_creating_a_snapshot","id":2},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":3},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":4},{"text":"Storing snapshot events","hash":"_storing_snapshot_events","id":5},{"text":"Filtering snapshot events","hash":"_filtering_snapshot_events","id":6},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":7},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_2","id":8},{"text":"Initializing an aggregate based on a snapshot event","hash":"_initializing_an_aggregate_based_on_a_snapshot_event","id":9},{"text":"Caching","hash":"_caching","id":10},{"text":"Axon Configuration API","hash":"_axon_configuration_api_3","id":11},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_3","id":12}]},"78":{"id":78,"text":"Axon framework provides capabilities to tune the performance of your Axon applications. This includes capabilities to take event snapshots, segment tuning, command processing, and general RDBMS tuning suggestions. This section of the documentation intends to detail the capabilities that Axon Framework provides to help tune your Axon applications. A summary of the various subsections is given below: Sub-Section Purpose Event Snapshots Axon Framework provided capabilities to create event snapshots for optimizing Aggregate loading Event Processing Axon Framework provided capabilities for tuning batching and parallel processing of events Command Processing Axon Framework provided capabilities for Command message processing Relational Database Tuning Tuning suggestions when using Axon Framework together with a Relation Database","title":"Tuning","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/tuning/","titles":[]},"79":{"id":79,"text":"When using Axon Framework with a relational database, there are several considerations to take into account when tuning the database for optimal performance: Using the correct indices for the different types of queries used. Configuring the right auto-increment configuration when using JPA. If you have generated the tables automatically using your JPA implementation (for example, Hibernate), you probably do not have all the right indexes set on your tables. Different usages of the event store require different indexes to be set for optimal performance. This list suggests the indexes that should be added for the different types of queries used by the default EventStorageEngine implementation: Normal operational use (storing and loading events) Table DomainEventEntry, columns aggregateIdentifier and sequenceNumber (unique index) Table DomainEventEntry, eventIdentifier (unique index) Snapshotting Table SnapshotEventEntry, aggregateIdentifier column. Table SnapshotEventEntry, eventIdentifier (unique index) Sagas Table AssociationValueEntry, columns sagaType, associationKey and associationValue, Table AssociationValueEntry, columns sagaId and sagaType, The default column lengths generated by, for example, Hibernate may work, but won’t be optimal. A UUID, for example, will always have the same length. Instead of a variable length column of 255 characters, you could use a fixed length column of 36 characters for the aggregate identifier. The timestamp column in the DomainEventEntry table only stores ISO 8601 timestamps. If all times are stored in the UTC timezone, they need a column length of 24 characters. If you use another timezone, this may be up to 28. Using variable length columns is generally not necessary, since time stamps always have the same length. It is highly recommended to store all timestamps in UTC format. In countries with daylight saving time, storing timestamps in local time may result in sorting errors for events generated around and during the timezone switch. This does not occur when UTC is used. Some servers are configured to always use UTC. Alternatively, you should configure the event store to convert timestamps to UTC before storing them. The type column in the DomainEventEntry stores the type identifiers of aggregates. Generally, these are the 'simple name' of the aggregate. Even the infamous AbstractDependencyInjectionSpringContextTests in Spring only counts 45 characters. Here, again, a shorter (but variable) length field should suffice. When using a relational database as an event store, Axon Framework relies on an auto-increment value to allow streaming event processors to read all events roughly in the order they were inserted. We say \"roughly\", because \"insert-order\" and \"commit-order\" are different things. While auto-increment values are (generally) generated at insert-time, these values only become visible at commit-time. This means another process may observe these sequence numbers arriving in a different order. While Axon Framework has mechanisms to ensure that eventually all events are handled, even when they become visible in a different order, there are limitations and performance aspects to consider. When a streaming event processor reads events, it uses the \"global sequence\" to track its progress. When events become available in a different order than they were inserted, Axon Framework will encounter a \"gap.\" Axon Framework will remember these \"gaps\" to verify that data has become available since the last read. These gaps may be the result of events becoming visible in a different order, but also because a transaction was rolled back. It is highly recommended to ensure that no gaps exist because of over eagerly increasing the sequence number. The mechanism for checking gaps is convenient, but comes with a performance impact. When using a JpaEventStorageEngine, Axon Framework relies on the JPA implementation to create the table structure. While this will work, it is unlikely to provide the configuration that has the best performance for the database engine in use. That is because Axon Framework uses default settings for the @GeneratedValue annotation. When using the @GeneratedValue annotation as-is in Hibernate 6, the default increment value jumped to 50. This change, in combination with, for example, the multitenancy extension, may lead to uniqueness issues. Hence, it is strongly recommended to define a custom sequence generator, as described below. To override these settings, create a file called /META-INF/orm.xml on the classpath, which looks as follows: It is important to specify metadata-complete=\"false\". This indicates this file should be used to override existing annotations, instead of replacing them. For the best results, ensure that the DomainEventEntry table uses its own sequence. This can be ensured by specifying a different sequence generator for that entity only. Specific to PostgreSQL is its TOAST and Large Object Storage functionality. TOAST stands for \"the oversized attribute storage technique,\" ensuring columns that are (by default) larger than 8KB are: Compressed if possible. If this is insufficient, the wide columns is broken into chunks and moved to another table. Any field that is moved out of line to this other \"TOAST-table\" will transparently be replaced by out-of-line identifiers. Furthermore, TOASTing is only supported for PostgreSQL data types like BYTEA or TEXT. Large Object Storage takes a slightly different route, as instead, it uses a fixed OID column type. This \"object identifier\" will allow the main table to point to the actual data in a \"large object storage table.\" The Large Object Storage route will be traversed whenever a column type is a LOB, BLOB, or CLOB. Although the Large Object Storage is a useful feature from PostgreSQL to help with large objects, it has some impact too, being: There is some added overhead when reading data, as the original and the large object table should be read. Removing an object that has an OID column does not automatically remove it from the large object table. Manually querying the table will result in an OID column instead of the actual data being shown. Let us look how this behavior from PostgreSQL combines with Axon Framework when combined with JPA and Hibernate. Axon Framework uses the @Lob in several columns and tables for its JPA-based support, being: The payload and meta_data columns in the domain_event_entry table. The payload and meta_data columns in the snapshot_event_entry table. The token column in the token_entry table. The serialized_saga column in the saga_entry table. The diagnostics, payload, metadata, and token column in the dead_letter_entry table. Furthermore, Hibernate will by default use the aforementioned OID type whenever an @Lob annotation is found. Thus, the dedicate large object storage solution will be used if you are using PostgreSQL to store events, snapshots, tokens, sagas, and dead letters. As events and snapshots are frequently read, the overhead predicament discussed earlier will be hit. Arguably more problematic is issue two, especially for the token_entry table. The \"claim\" on a token is frequently updated to allow correct collaboration in a distributed Axon setup (please read our Tracking Tokens section for more details). As the large object table is not automatically cleared, it will eventually overflow through all the updates. Hence, it would be best to avoid the Large Object Storage behavior and instead opt for the transparent TOAST feature. We can achieve this by adjusting Hibernate’s settings, to map the @Lob annotated fields to the BYTEA type. Since Axon Framework stores a byte array in each of the @Lob annotated columns, changing it to the BYTEA type makes sense. Luckily, changing these settings can be done with three easy steps: Adjust the Hibernate dialect. Override the Hibernate mapping. [Optional] Migrate existing columns from OID to BYTEA. To adjust the dialect to not go for OID, we can enforce the type to BYTEA by providing a custom dialect. Down below is a PostgreSQLDialect implementation that would get the trick done: public class ByteaEnforcedPostgresSQLDialect extends PostgreSQLDialect { public ByteaEnforcedPostgresSQLDialect(){ super(DatabaseVersion.make(9, 5)); } @Override protected String columnType(int sqlTypeCode) { return sqlTypeCode == SqlTypes.BLOB ? \"bytea\" : super.columnType(sqlTypeCode); } @Override protected String castType(int sqlTypeCode) { return sqlTypeCode == SqlTypes.BLOB ? \"bytea\" : super.castType(sqlTypeCode); } @Override public void contributeTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { super.contributeTypes(typeContributions, serviceRegistry); JdbcTypeRegistry jdbcTypeRegistry = typeContributions.getTypeConfiguration() .getJdbcTypeRegistry(); jdbcTypeRegistry.addDescriptor(Types.BLOB, BinaryJdbcType.INSTANCE); } } With the dialect in your application, your next step is to configure it to be used. This can for example be done by setting the jpa.database-platform property when using Spring: jpa.database-platform=fully.qualified.classname.ByteaEnforcedPostgresSQLDialect We use the Hibernate metadata override mechanism to tell which columns need to be of the BYTEA type instead of OID. To that end, add a file named orm.xml (ORM stands for object-relational mapping) under src/main/java/resources/META-INF directory containing the overrides. Below is an example of overriding the serializedSaga and token columns from the SagaEntry and TokenEntry respectively: If you already have Axon-specific tables using the OID type, you need to migrate them to BYTEA. The following SQL script can get the job done for the token_entry table: ALTER TABLE token_entry ADD COLUMN token_bytea BYTEA; UPDATE token_entry SET token_bytea = lo_get(token); ALTER TABLE token_entry DROP COLUMN token; ALTER TABLE token_entry RENAME COLUMN token_bytea to token; After making all the changes and running the SQL script, the data-affected columns should now all be readable.","title":"Relational Database Tuning","component":"axon-framework-reference","version":"development","name":"rdbms-tuning","url":"/axon-framework-reference/development/tuning/rdbms-tuning/","titles":[{"text":"Important indices","hash":"_important_indices","id":1},{"text":"Auto-increment and sequences","hash":"_auto_increment_and_sequences","id":2},{"text":"PostgreSQL, @LOB-annotated columns, and default Hibernate mapping","hash":"_postgresql_lob_annotated_columns_and_default_hibernate_mapping","id":3},{"text":"Hibernate dialect changes","hash":"_hibernate_dialect_changes","id":4},{"text":"Hibernate mapping override","hash":"_hibernate_mapping_override","id":5},{"text":"OID to BYTEA column migration","hash":"_oid_to_bytea_column_migration","id":6}]},"80":{"id":80,"text":"Regularly, instantiating a new Aggregate is done by issuing a creation command which is handled by a @CommandHandler annotated Aggregate constructor. Such commands could for example be published by a simple REST endpoint or an Event Handling Component as a reaction to a certain event. Sometimes the Domain however describes certain Entities to be created from another Entity. In this scenario it would thus be more faithful to the domain to instantiate an Aggregate from its parent Aggregate. Aggregate-from-Aggregate Use Case The most suitable scenario to create a \"child\" Aggregate from a \"parent\" Aggregate, is when the decision to create the child lies within the context of a parent Aggregate. This can for example manifest itself if the parent Aggregate contains the necessary state which can drive this child-creation decision. Let us assume we have a ParentAggregate, that upon handling a certain command will decide to create an ChildAggregate. To achieve this, ParentAggregate would look something like this: import org.axonframework.commandhandling.CommandHandler; import static org.axonframework.modelling.command.AggregateLifecycle.createNew; public class ParentAggregate { @CommandHandler public void handle(SomeParentCommand command) { createNew( ChildAggregate.class, () -> new ChildAggregate(/* provide required constructor parameters if applicable */) ); } // omitted no-op constructor, event sourcing handlers and other command handlers } The AggregateLifecycle#createNew(Class, Callable) is key to instantiation another Aggregate like our ChildAggregate as a reaction to handling a command. The first parameter to the createNew method is the Class of the Aggregate to be created. The second parameter is the factory method, which expects the outcome to be an object identical to the given type. The ChildAggregate implementation would in this scenario resemble the following format: import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class ChildAggregate { public ChildAggregate(String aggregateId) { apply(new ChildAggregateCreatedEvent(aggregateId)); } // omitted no-op constructor, command and event sourcing handlers } Note that a ChildAggregateCreatedEvent is explicitly applied to notify the ChildAggregate was created, as this knowledge would otherwise be enclosed in the SomeParentCommand command handler of the ParentAggregate. Creating Aggregates from Event Sourcing Handlers Creation of a new Aggregate should be done in a command handler rather than in an event sourcing handler. The rationale behind this is that you do not want to create new child Aggregates when a parent Aggregate is sourced from its events, as this would undesirably create new child Aggregate instances If the createNew method is however accidentally called within an event sourcing handler, an UnsupportedOperationException will be thrown as stop gap solution.","title":"Aggregate Creation from another Aggregate","component":"axon-framework-reference","version":"development","name":"aggregate-creation-from-another-aggregate","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/","titles":[{"text":"How to create an aggregate from another aggregate","hash":"_how_to_create_an_aggregate_from_another_aggregate","id":1}]},"81":{"id":81,"text":"In certain cases it is beneficial to have a polymorphic hierarchy in aggregate structure. Subtypes in polymorphic aggregate hierarchy inherit @CommandHandler`s, `@EventSourcingHandler`s and `@CommandHandlerInterceptor`s from the super aggregates. Based on `@AggregateIdentifier the correct aggregate type is loaded and command is executed on it. Let’s take a look at the following example: public abstract class Card {} public class GiftCard extends Card {} public class ClosedLoopGiftCard extends GiftCard {} public class OpenLoopGiftCard extends GiftCard {} public class RechargeableGiftCard extends ClosedLoopGiftCard {} We can define this structure as Polymorphic Aggregate of type GiftCard and subtypes of ClosedLoopGiftCard, OpenLoopGiftCard, and RechargeableGiftCard. If there are handlers present on Card class, those will be present on all aggregates as well. While modeling a polymorphic aggregate hierarchy it is important to keep these constraints in mind: It is not allowed to have a constructor annotated with @CommandHandler on abstract aggregate. The rationale for this is that an abstract aggregate can never be created. Having creational command handlers of the same command name on different aggregates in the same hierarchy is forbidden too, since Axon cannot derive which one to invoke. In a polymorphic aggregate hierarchy it is not allowed to have multiple @AggregateIdentifier and @AggregateVersion annotated fields. A polymorphic aggregate hierarchy can be registered via the AggregateConfigurer by invoking AggregateConfigurer#withSubtypes(Set>). Do note that children of the parent aggregate that you do not register as a subtype will be automatically registered by the framework as a subtype. So, in the following example, the ClosedLoopGiftCard is transitively registered as a subtype of GiftCard. However, if there is a LimitedRechargeableGiftCard extends RechargeableGiftCard defined, the framework will not pick it up automatically since it is not a direct child of the parent aggregate. public class AxonConfig { // omitting other configuration methods... public AggregateConfigurer giftCardConfigurer() { Set> subtypes = new HashSet<>(); subtypes.add(OpenLoopGiftCard.class); subtypes.add(RechargeableGiftCard.class); return AggregateConfigurer.defaultConfiguration(GiftCard.class) .withSubtypes(subtypes); } // ... } class GiftCard { // omitted implementation for brevity } class OpenLoopGiftCard extends GiftCard { // omitted implementation for brevity } class RechargeableGiftCard extends GiftCard { // omitted implementation for brevity } Polymorphic Aggregates in Spring If you are using Spring, Axon will automatically detect polymorphic aggregates based on the @Aggregate annotations and class hierarchy. The @Aggregate annotation needs to be put on the shared parent class that contains the aggregate identifier, as well as every subclass that is a potential instance type of that shared parent class.","title":"Aggregate Polymorphism","component":"axon-framework-reference","version":"development","name":"aggregate-polymorphism","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-polymorphism/","titles":[{"text":"Registering aggregate subtypes","hash":"_registering_aggregate_subtypes","id":1}]},"82":{"id":82,"text":"Aggregates are an important concept in Domain-Driven Design. They are clusters of related entities and value objects acting as a single unit. They help maintain consistency and encapsulate domain logic within specific boundaries, ensuring changes to one part don’t mess up others. Aggregates are commonly used to model the core business entities in a system based on Domain-Driven Design and CQRS. This chapter will cover the basics on how to implement one in Axon Framework. An Aggregate is a regular Java object, which contains state and methods to alter that state. When creating the Aggregate object, you are effectively creating the 'Aggregate Root', typically carrying the name of the entire Aggregate. For the purpose of this description the 'Gift Card' domain will be used, which brings us the GiftCard as the Aggregate (Root). By default, Axon will configure your Aggregate as an 'Event Sourced' Aggregate. You can read more about Event-Sourcing here. Henceforth, our basic GiftCard Aggregate structure will focus on the Event Sourcing approach: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.eventsourcing.EventSourcingHandler; import org.axonframework.modelling.command.AggregateIdentifier; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier (1) private String id; @CommandHandler (2) public GiftCard(IssueCardCommand cmd) { (3) apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } @EventSourcingHandler (4) public void on(CardIssuedEvent evt) { id = evt.getCardId(); } (5) protected GiftCard() { } // omitted command handlers and event sourcing handlers } There are a couple of noteworthy concepts from the given code snippets, marked with numbered Java comments referring to the following bullets: 1 The @AggregateIdentifier is the external reference point to into the GiftCard Aggregate. This field is a hard requirement, as without it Axon will not know to which Aggregate a given Command is targeted. Note that this annotation can be placed on a field and a method. 2 A @CommandHandler annotated constructor, or differently put the 'command handling constructor'. This annotation tells the framework that the given constructor is capable of handling the IssueCardCommand. The @CommandHandler annotated functions are the place where you would put your decision-making/business logic. 3 The static AggregateLifecycle#apply(Object…​) is what is used when an Event Message should be published. Upon calling this function the provided `Object`s will be published as `EventMessage`s within the scope of the Aggregate they are applied in. 4 Using the @EventSourcingHandler is what tells the framework that the annotated function should be called when the Aggregate is 'sourced from its events'. As all the Event Sourcing Handlers combined will form the Aggregate, this is where all the state changes happen. Note that the Aggregate Identifier must be set in the @EventSourcingHandler of the first Event published by the aggregate. This is usually the creation event. Lastly, @EventSourcingHandler annotated functions are resolved using specific rules. These rules are the same for the @EventHandler annotated methods, and are thoroughly explained in Annotated Event Handler. 5 A no-arg constructor, which is required by Axon. Axon Framework uses this constructor to create an empty aggregate instance before initializing it using past Events. Failure to provide this constructor will result in an exception when loading the Aggregate. Modifiers for Message Handling functions Event Handler methods may be private, as long as the security settings of the JVM allow the Axon Framework to change the accessibility of the method. This allows you to clearly separate the public API of your Aggregate, which exposes the methods that generate events, from the internal logic, which processes the events. Most IDE’s have an option to ignore \"unused private method\" warnings for methods with a specific annotation. Alternatively, you can add an @SuppressWarnings(\"UnusedDeclaration\") annotation to the method to make sure you do not accidentally delete an event handler method. There are a couple of operations which are desirable to be performed whilst in the life cycle of an Aggregate. To that end, the AggregateLifecycle class in Axon provides a couple of static functions: apply(Object) and apply(Object, MetaData): The AggregateLifecycle#apply will publish an Event message on an EventBus such that it is known to have originated from the Aggregate executing the operation. There is the possibility to provide just the Event Object or both the Event and some specific MetaData. createNew(Class, Callable): Instantiate a new Aggregate as a result of handling a Command. Read this for more details on this. isLive(): Check to verify whether the Aggregate is in a 'live' state. An Aggregate is regarded to be 'live' if it has finished replaying historic events to recreate it’s state. If the Aggregate is thus in the process of being event sourced, an AggregateLifecycle.isLive() call would return false. Using this isLive() method, you can perform activity that should only be done when handling newly generated events. markDeleted(): Will mark the Aggregate instance calling the function as being 'deleted'. Useful if the domain specifies a given Aggregate can be removed/deleted/closed, after which it should no longer be allowed to handle any Commands. This function should be called from an @EventSourcingHandler annotated function to ensure that being marked deleted is part of that Aggregate’s state.","title":"Aggregates","component":"axon-framework-reference","version":"development","name":"aggregate","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate/","titles":[{"text":"Basic aggregate structure","hash":"_basic_aggregate_structure","id":1},{"text":"Aggregate lifecycle operations","hash":"_aggregate_lifecycle_operations","id":2}]},"83":{"id":83,"text":"One of the major advantages of being explicit about the meaning of changes, is that you can detect conflicting changes with more precision. Typically, these conflicting changes occur when two users are acting on the same data (nearly) simultaneously. Imagine two users, both looking at a specific version of the data. They both decide to make a change to that data. They will both send a command like \"on version X of this aggregate, do that\", where X is the expected version of the aggregate. One of them will have the changes actually applied to the expected version. The other user won’t. Instead of simply rejecting all incoming commands when aggregates have been modified by another process, you could check whether the user’s intent conflicts with any unseen changes. To detect conflict, pass a parameter of type ConflictResolver to the @CommandHandler method of your aggregate. This interface provides detectConflicts methods that allow you to define the types of events that are considered a conflict when executing that specific type of command. Expected Aggregate Version The ConflictResolver will only contain any potentially conflicting events if the Aggregate was loaded with an expected version. Use @TargetAggregateVersion on a field of a command to indicate the expected version of the Aggregate. If events matching the predicate are found, an exception is thrown (the optional second parameter of detectConflicts allows you to define the exception to throw). If none are found, processing continues as normal. If no invocations to detectConflicts are made, and there are potentially conflicting events, the @CommandHandler will fail. This may be the case when an expected version is provided, but no ConflictResolver is available in the parameters of the @CommandHandler method.","title":"Conflict Resolution","component":"axon-framework-reference","version":"development","name":"conflict-resolution","url":"/axon-framework-reference/development/axon-framework-commands/modeling/conflict-resolution/","titles":[]},"84":{"id":84,"text":"Complex business logic often requires more than what an Aggregate with only an Aggregate Root can provide. In that case, it is important that the complexity is spread over a number of 'Entities' within the aggregate. In this chapter we will discuss the specifics around creating entities in your aggregates and how they can handle message. State among Entities A common misinterpretation of the rule that aggregates should not expose state, is that none of the entities should contain any property accessor methods. This is not the case. In fact, an aggregate will probably benefit a lot if the entities within the aggregate expose state to the other entities in that same aggregate. However, is is recommended not to expose the state outside the aggregate. Within the 'Gift Card' domain, the GiftCard aggregate root was defined in this section. Let’s leverage this domain to introduce entities: import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.EntityId; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember (1) private List transactions = new ArrayList<>(); private int remainingValue; // omitted constructors, command and event sourcing handlers } public class GiftCardTransaction { @EntityId (2) private String transactionId; private int transactionValue; private boolean reimbursed = false; public GiftCardTransaction(String transactionId, int transactionValue) { this.transactionId = transactionId; this.transactionValue = transactionValue; } public String getTransactionId() { return transactionId; } // omitted command handlers, event sourcing handlers and equals/hashCode } Entities are, just like the aggregate root, simple objects, as is shown with the new GiftCardTransaction entity. The snippet above shows two important concepts of multi-entity aggregates: 1 The field that declares the child entity/entities must be annotated with @AggregateMember. This annotation tells Axon that the annotated field contains a class that should be inspected for message handlers. This example shows the annotation on an implementation of Iterable, but it can also be placed on a single Object or a Map. In the latter case, the values of the Map are expected to contain the entities, while the key contains a value that is used as their reference. Note that this annotation can be placed on a field and a method. 2 The @EntityId annotation specifying the identifying field of an Entity. Required to be able to route a command (or event) message to the correct entity instance. The property on the payload that will be used to find the entity that the message should be routed to, defaults to the name of the @EntityId annotated field. For example, when annotating the field transactionId, the command must define a property with that same name, which means either a transactionId or a getTransactionId() method must be present. If the name of the field and the routing property differ, you may provide a value explicitly using @EntityId(routingKey = \"customRoutingProperty\"). This annotation is mandatory on the Entity implementation if it will be part of a Collection or Map of child entities. Note that this annotation can be placed on a field and a method. Defining the Entity type The field declaration for both the Collection or Map should contain proper generics to allow Axon to identify the type of Entity contained in the collection or map. If it is not possible to add the generics in the declaration (for example, because you’re using a custom implementation which already defines generic types), you must specify the entity type by specifying the type field in the @AggregateMember annotation: @AggregateMember(type = GiftCardTransaction.class) @CommandHandler annotations are not limited to the aggregate root. Placing all command handlers in the root will sometimes lead to a large number of methods on the aggregate root, while many of them simply forward the invocation to one of the underlying entities. If that is the case, you may place the @CommandHandler annotation on one of the underlying entities' methods. For Axon to find these annotated methods, the field declaring the entity in the aggregate root must be marked with @AggregateMember: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.EntityId; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember private List transactions = new ArrayList<>(); private int remainingValue; // omitted constructors, command and event sourcing handlers } public class GiftCardTransaction { @EntityId private String transactionId; private int transactionValue; private boolean reimbursed = false; public GiftCardTransaction(String transactionId, int transactionValue) { this.transactionId = transactionId; this.transactionValue = transactionValue; } @CommandHandler public void handle(ReimburseCardCommand cmd) { if (reimbursed) { throw new IllegalStateException(\"Transaction already reimbursed\"); } apply(new CardReimbursedEvent(cmd.getCardId(), transactionId, transactionValue)); } // omitted getter, event sourcing handler and equals/hashCode } Note that only the declared type of the annotated field is inspected for command handlers. If a field value is null at the time an incoming command arrives for that entity, an exception is thrown. If there is a Collection or Map of child entities and none entity can be found which matches the routing key of the command, Axon throws an IllegalStateException as apparently the aggregate is not capable of processing the command at that point in time. Command Handler considerations Each command must have exactly one handler in the aggregate. This means that you cannot annotate multiple entities (either root nor not) with @CommandHandler which handle the same command type. In case you need to conditionally route a command to an entity, the parent of these entities should handle the command, and forward it based on the conditions that apply. The runtime type of the field does not have to be exactly the declared type. However, only the declared type of the @AggregateMember annotated field is inspected for @CommandHandler methods. When using event sourcing as the mechanism to store the aggregates, not only the aggregate root needs to use events to trigger state transitions, but so does each of the entities within that aggregate. Axon provides support for event sourcing complex aggregate structures like these out of the box. When an entity (including the aggregate root) applies an event, it is handled by the aggregate root first, and then bubbles down through every @AggregateMember annotated field to all its containing child entities: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.EntityId; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember private List transactions = new ArrayList<>(); @CommandHandler public void handle(RedeemCardCommand cmd) { // Some decision making logic apply(new CardRedeemedEvent(id, cmd.getTransactionId(), cmd.getAmount())); } @EventSourcingHandler public void on(CardRedeemedEvent evt) { // 1. transactions.add(new GiftCardTransaction(evt.getTransactionId(), evt.getAmount())); } // omitted constructors, command and event sourcing handlers } public class GiftCardTransaction { @EntityId private String transactionId; private int transactionValue; private boolean reimbursed = false; public GiftCardTransaction(String transactionId, int transactionValue) { this.transactionId = transactionId; this.transactionValue = transactionValue; } @CommandHandler public void handle(ReimburseCardCommand cmd) { if (reimbursed) { throw new IllegalStateException(\"Transaction already reimbursed\"); } apply(new CardReimbursedEvent(cmd.getCardId(), transactionId, transactionValue)); } @EventSourcingHandler public void on(CardReimbursedEvent event) { // 2. if (transactionId.equals(event.getTransactionId())) { reimbursed = true; } } // omitted getter and equals/hashCode } Two specifics are worth mentioning from the above snippet, pointed out with numbered Java comments: The creation of the Entity takes place in an event sourcing handler of its parent. It is thus not possible to have a 'command handling constructor' on the entity class as with the aggregate root. The event sourcing handler in the entity performs a validation check whether the received event actually belongs to the entity. This is necessary as events applied by one entity instance will also be handled by any other entity instance of the same type. The situation described in bullet point two is customizable, by changing the eventForwardingMode on the @AggregateMember annotation: import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.ForwardMatchingInstances; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember(eventForwardingMode = ForwardMatchingInstances.class) private List transactions = new ArrayList<>(); // omitted constructors, command and event sourcing handlers } By setting the eventForwardingMode to ForwardMatchingInstances an Event Message will only be forwarded if it contains a field/getter which matches the name of the @EntityId annotated field on the entity. This routing behaviour can be further specified with the routingKey field on the @EntityId annotation, mirroring that of routing commands in entities. Other forwarding modes which can be used are ForwardAll (the default) and ForwardNone, which respectively forward all events to all entities or no events at all.","title":"Multi-Entity Aggregates","component":"axon-framework-reference","version":"development","name":"multi-entity-aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/multi-entity-aggregates/","titles":[{"text":"Command handling in entities","hash":"_command_handling_in_entities","id":1},{"text":"Event Sourcing handlers in entities","hash":"_event_sourcing_handlers_in_entities","id":2}]},"85":{"id":85,"text":"In the Aggregate main page we have seen how to create an Aggregate backed by Event Sourcing. In other words, the storage method for an Event Sourced Aggregate is by replaying the events which constitute the changes on the Aggregate. An Aggregate can, however, be stored as-is too. When doing so, the Repository used to save and load the Aggregate, is the GenericJpaRepository. The structure of a state-stored Aggregate is a little different from an Event Sourced Aggregate: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.eventhandling.EventHandler; import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import jakarta.persistence.CascadeType; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.OneToMany; @Entity (1) public class GiftCard { @Id (2) @AggregateIdentifier private String id; (3) @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = \"giftCardId\") @AggregateMember private List transactions = new ArrayList<>(); private int remainingValue; @CommandHandler (4) public GiftCard(IssueCardCommand cmd) { if (cmd.getAmount() remainingValue) { throw new IllegalStateException(\"amount > remaining value\"); } if (transactions.stream().map(GiftCardTransaction::getTransactionId).anyMatch(cmd.getTransactionId()::equals)) { throw new IllegalStateException(\"TransactionId must be unique\"); } (7) remainingValue -= cmd.getAmount(); transactions.add(new GiftCardTransaction(id, cmd.getTransactionId(), cmd.getAmount())); apply(new CardRedeemedEvent(id, cmd.getTransactionId(), cmd.getAmount())); } @EventHandler (8) protected void on(CardReimbursedEvent event) { this.remainingValue += event.getAmount(); } protected GiftCard() { } (9) } The above code shows a state-stored Aggregate from a 'Gift Card Service'. The numbered comments in the snippet point out Axon specifics which are explained here: 1 As the Aggregate is stored in a JPA repository, it is required to annotated the class with @Entity. 2 An Aggregate Root must declare a field that contains the Aggregate Identifier. This identifier must be initialized at the latest when the first event is published. This identifier field must be annotated by the @AggregateIdentifier annotation. When using JPA to store the Aggregate, Axon knows to use the @Id annotation provided by JPA. Since the Aggregate is an entity, the @Id annotation is a hard requirement. 3 This Aggregate has several 'Aggregate Members'. Since the Aggregate is stored as is, the correct mapping of the entities should be taken into account. 4 A @CommandHandler annotated constructor, or differently put the 'command handling constructor'. This annotation tells the framework that the given constructor is capable of handling the IssueCardCommand. 5 The static AggregateLifecycle#apply(Object…​) may be used to publish an Event Message. Upon calling this function the provided `Object`s will be published as `EventMessage`s within the scope of the Aggregate they are applied in. 6 The Command Handling method will first decide whether the incoming Command is valid to handle at this point. 7 After the business logic has been validated, the state of the Aggregate may be adjusted 8 Entities within an Aggregate can listen to the events the Aggregate publishes, by defining an @EventHandler annotated method. These methods will be invoked when an Event Message is published prior to being handled by any external handlers. 9 A no-arg constructor, which is required by JPA. Failure to provide this constructor will result in an exception when loading the Aggregate. Adjusting state in Command Handlers Differently from Event Sourced Aggregates, State-Stored Aggregates can pair the decission making logic and state changes in a Command Handler. There are no consequences for State-Stored Aggregates in following this paradigm as there are no Event Sourcing Handlers which drive it’s state.","title":"State Stored Aggregates","component":"axon-framework-reference","version":"development","name":"state-stored-aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/state-stored-aggregates/","titles":[]},"86":{"id":86,"text":"When configuring error handling for your event processors, you might want to consider a Dead-Letter Queue to park events that you were unable to handle. Instead of either logging the error and continuing, or infinitely retrying the current event, a Dead-Letter Queue will park the event in the queue so you can decide to try and handle it again later. In addition, it will prevent handling of later events in the same sequence until the failed event is successfully processed. Insight and Management AxonIQ Console provides insight into the Dead-Letter Queue and tools for its management. It’s straightforward to see the dead letters in the queue and decide to retry them or remove them from the queue. You can find more information on the Dead-Letter Queue page of AxonIQ Console. Note that you cannot share a dead-letter queue between different processing groups. Hence, each processing group you want to enable this behavior for should receive a unique dead-letter queue instance. Dead-Letter Queues do not support Sagas Currently, there is no support for using a dead-letter queue for sagas. We’ve taken this decision as we cannot support a sequenced dead lettering approach as we do for regular event handling. Furthermore, we cannot do this, as a saga’s associations can vary widely between events. Due to this, the sequence of events may change, breaking this level of support. Hence, there’s no way of knowing whether a next event in the stream does or does not belong to a saga. Axon Framework’s event processors maintain the ordering of events within the same sequence, even when you configure parallel processing. A perfect example when this is a requirement is the need to handle events of the same aggregate in their publishing order. Simply dead lettering one failed event would cause later events in the sequence to be applied to inconsistent state. So it’s important that a dead-letter queue for events enqueues an event and any following events in the sequence. To that end, the supported dead-letter queue is a so-called SequencedDeadLetterQueue. Integral to its design is to allow for queueing failed events and events that belong to a faulty sequence. It does so by maintaining a sequence identifier for each event, determined by the sequencing policy. We currently provide the following dead-letter queue implementations: InMemorySequencedDeadLetterQueue - In-memory variant of the dead-letter queue. Useful for testing purposes, but as it does not persist dead letters, it is unsuited for production environments. JpaSequencedDeadLetterQueue - JPA variant of the dead-letter queue. It constructs a dead_letter_entry table where it persists failed-events in. The JPA dead-letter queue is a suitable option for production environments by persisting the dead letters. JdbcSequencedDeadLetterQueue - JDBC variant of the dead-letter queue. It constructs a dead_letter_entry table where it persists failed-events in. The JDBC dead-letter queue is a suitable option for production environments by persisting the dead letters. MongoSequencedDeadLetterQueue - Mongo variant of the dead-letter queue, available via the Mongo Extension. It constructs a deadletters collection where it persists failed-events in. The MongoDB dead-letter queue is a suitable option for production environments by persisting the dead letters. Before configuring a SequencedDeadLetterQueue it is vital to validate whether your event handling functions are idempotent. As a processing group consists of several Event Handling Components (as explained in the intro of this chapter), some handlers may succeed in event handling while others will not. As a configured dead-letter queue does not stall event handling, a failure in one Event Handling Component does not cause a rollback for other event handlers. Furthermore, as the dead-letter support is on the processing group level, dead-letter processing will invoke all event handlers for that event within the processing group. Thus, if your event handlers are not idempotent, processing letters may result in undesired side effects. Hence, we strongly recommend making your event handlers idempotent when using the dead-letter queue. The principle of exactly once delivery is no longer guaranteed; at-least-once delivery is the reality to cope with. A JpaSequencedDeadLetterQueue configuration example: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureDeadLetterQueue(EventProcessingConfigurer processingConfigurer) { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. processingConfigurer.registerDeadLetterQueue( \"my-processing-group\", config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .entityManagerProvider(config.getComponent(EntityManagerProvider.class)) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule deadLetterQueueConfigurerModule() { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. return configurer -> configurer.eventProcessing().registerDeadLetterQueue( \"my-processing-group\", config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .entityManagerProvider(config.getComponent(EntityManagerProvider.class)) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } } You can set the maximum number of saved sequences (defaults to 1024) and the maximum number of dead letters in a sequence (also defaults to 1024). If either of these thresholds is exceeded, the queue will throw a DeadLetterQueueOverflowException. This exception means the processing group will stop processing new events altogether. Thus, the processing group moves back to the behavior described at the start of the Error Handling section. To make it easier to use a dead-letter queue on multiple processing groups, it’s possible to set a dead-letter queue provider. The provider is a function that takes a processing group, and returns either null, meaning it will not be configured using a dead-letter queue, or a function that takes the Configuration and returns a new dead-letter queue. Here is a JpaSequencedDeadLetterQueue configuration example that uses a collection to determine if a dead-letter queue should be created for a given processing group: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureDeadLetterQueue(EventProcessingConfigurer processingConfigurer) { processingConfigurer.registerDeadLetterQueueProvider( processingGroup -> { //dlqEnabledGroups is a collection with the groups that should have a dlq if (dlqEnabledGroups.contains(processingGrouping)) { return config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(processingGroup) .entityManagerProvider(config.getComponent( EntityManagerProvider.class )) .transactionManager(config.getComponent( TransactionManager.class )) .serializer(config.serializer()) .build(); } else { return null; } } ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule deadLetterQueueConfigurerModule () { return configurer -> configurer.eventProcessing().registerDeadLetterQueueProvider( processingGroup -> { //dlqEnabledGroups is a collection with the groups that should have a dlq if (dlqEnabledGroups.contains(processingGrouping)) { return config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(processingGroup) .entityManagerProvider(config.getComponent( EntityManagerProvider.class )) .transactionManager(config.getComponent( TransactionManager.class )) .serializer(config.serializer()) .build(); } else { return null; } } ); } } If you are using Spring Boot, a default dead-letter queue provider will be set if using JPA, JDBC, or Mongo. The default dead-letter queue provider will use the axon.eventhandling.processors.my-processor.dlq.enabled property to determine whether to return null or a dead-letter queue factory method. For example, by setting the axon.eventhandling.processors.my-processing-group.dlq.enabled to true you would enable the dead-letter queue for the my-processing-group processing group. Once you resolve the problem that led to dead lettering events, we can start processing the dead letters. We recommend using the SequencedDeadLetterProcessor interface for this, as it processes an entire dead-letter sequence instead of single dead-letter entries. It will thus ensure the event order is maintained during the retry. The SequencedDeadLetterProcessor provides two operations to process dead letters: boolean processAny() - Process the oldest dead-letter sequence. Returns true if it processes a sequence successfully. boolean process(Predicate>) - Process the oldest dead-letter sequence matching the predicate. Note that the predicate only filters based on a sequence’s first entry. Returns true if it processes a sequence successfully. If the processing of a dead letter fails, the event will be offered to the dead-letter queue again. How the dead-lettering process reacts to this depends on the enqueue policy. You can retrieve a SequencedDeadLetterProcessor from the EventProcessingConfiguration based on a processing group name if you have configured a dead-letter queue for this processing group. Below are a couple of examples of how to process dead-letter sequences: Process the oldest dead-letter sequence matching ErrorEvent Process the oldest dead-letter sequence in the queue Process all dead-letter sequences in the queue public class DeadletterProcessor { private EventProcessingConfiguration config; public void retryErrorEventSequence(String processingGroup) { config.sequencedDeadLetterProcessor(processingGroup) .ifPresent(letterProcessor -> letterProcessor.process( deadLetter -> deadLetter.message().getPayload() instanceof ErrorEvent )); } } public class DeadletterProcessor { private EventProcessingConfiguration config; public void retryAnySequence(String processingGroup) { config.sequencedDeadLetterProcessor(processingGroup) .ifPresent(SequencedDeadLetterProcessor::processAny); } } public class DeadletterProcessor { private EventProcessingConfiguration config; public void retryAllSequences(String processingGroup) { Optional>> optionalLetterProcessor = config.sequencedDeadLetterProcessor(processingGroup); if (!optionalLetterProcessor.isPresent()) { return; } SequencedDeadLetterProcessor> letterProcessor = optionalLetterProcessor.get(); // Retrieve all the dead lettered event sequences: Iterable>>> deadLetterSequences = config.deadLetterQueue(processingGroup) .map(SequencedDeadLetterQueue::deadLetters) .orElseThrow(() -> new IllegalArgumentException(\"No such Processing Group\")); // Iterate over all sequences: for (Iterable>> sequence : deadLetterSequences) { Iterator>> sequenceIterator = sequence.iterator(); String firstLetterId = sequenceIterator.next() .message() .getIdentifier(); // SequencedDeadLetterProcessor#process automatically retries an entire sequence. // Hence, we only need to filter on the first entry of the sequence: letterProcessor.process(deadLetter -> deadLetter.message().getIdentifier().equals(firstLetterId)); } } } For some event handlers, it is beneficial to know if the event it is processing is dead-lettered. To that end, you can include a parameter of type DeadLetter> to your event handling methods. The generic refers to the type of event handled by the event handler. The injected DeadLetter parameter exposes several attributes, like the cause() and diagnostics(), for example. Do note that the DeadLetter parameter is nullable. When the injected DeadLetter is null, you deal with a non-dead-lettered event. If it is not null, the event handling occurs as a follow-up of invoking the process(Predicate>) or processAny() methods on the SequencedDeadLetterProcessor. For added clarity, here’s an event handler sample containing a DeadLetter parameter: @ProcessingGroup(\"my-processing-group\") class MyProcessingGroup { // omitted services and other event handlers for simplicity... @EventHandler public void on(SomeEvent event, DeadLetter> deadLetter) { if (deadLetter != null) { // dead-letter processing... } else { // regular event handling... } } } A dead letter contains the following attributes: attribute type description message EventMessage The EventMessage for which handling failed. The message contains your event, among other Message properties. cause Optional The cause for the message to be dead lettered. Empty if the letter is enqueued because it is part of a sequence. enqueuedAt Instant The moment in time when the event was enqueued in a dead-letter queue. lastTouched Instant The moment in time when this letter was last touched. Will equal the enqueuedAt value if this letter is enqueued for the first time. diagnostics MetaData The diagnostic MetaData concerning this letter. Filled through the enqueue policy. By default, when you configure a dead-letter queue and event handling fails, the event is dead-lettered. However, you might not want all event failures to result in dead-lettered entries. Similarly, when letter processing fails, you might want to reconsider whether you want to enqueue the letter again. To that end, you can configure a so-called EnqueuePolicy. The enqueue policy ingests a DeadLetter and a cause (Throwable) and returns an EnqueueDecision. The EnqueueDecision, in turn, describes if the framework should or should not enqueue the dead letter. It’s also possible to change the exception, for example to be sure that it will fit in the database, as the cause will be stored. You can customize the dead-letter policy to exclude some events when handling fails. As a consequence, these events will be skipped. Note that Axon Framework invokes the policy on initial event handling and on dead-letter processing. Reevaluating the policy after processing failed may be essential to ensure a dead letter isn’t stuck in the queue forever. To deal with this scenario, you can attach additional diagnostic information to the dead letter through the policy. For example to add a number of retries to the dead letter to base your decision on. See the sample EnqueuePolicy below for this: public class CustomEnqueuePolicy implements EnqueuePolicy> { @Override public EnqueueDecision> decide(DeadLetter> letter, Throwable cause) { if (cause instanceof NullPointerException) { // It's pointless: return Decisions.doNotEnqueue(); } final int retries = (int) letter.diagnostics().getOrDefault(\"retries\", -1); if (letter.message().getPayload() instanceof ErrorEvent) { // Important and new entry: return Decisions.enqueue(cause); } if (retries l.diagnostics().and(\"retries\", retries + 1)); } // Exhausted all retries: return Decisions.evict(); } } The Decisions utility class provides the most reasonable decisions, but you are free to construct your own EnqueueDecision when necessary. See the following example for configuring our custom policy: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureEnqueuePolicy(EventProcessingConfigurer configurer) { // Replace \"my-processing-group\" for the processing group you want to configure the policy on. configurer.registerDeadLetterPolicy(\"my-processing-group\", config -> new MyEnqueuePolicy()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule enqueuePolicyConfigurerModule() { // Replace \"my-processing-group\" for the processing group you want to configure the policy on. return configurer -> configurer.eventProcessing() .registerDeadLetterPolicy(\"my-processing-group\", config -> new MyEnqueuePolicy()); } }","title":"Dead-Letter Queue","component":"axon-framework-reference","version":"development","name":"dead-letter-queue","url":"/axon-framework-reference/development/events/event-processors/dead-letter-queue/","titles":[{"text":"Event ordering","hash":"_event_ordering","id":1},{"text":"Implementations","hash":"_implementations","id":2},{"text":"Idempotency","hash":"_idempotency","id":3},{"text":"Configuration","hash":"_configuration","id":4},{"text":"Configuration through a provider","hash":"_configuration_through_a_provider","id":5},{"text":"Processing sequences","hash":"_processing_sequences","id":6},{"text":"Attributes","hash":"_attributes","id":7},{"text":"Enqueue policy","hash":"_enqueue_policy","id":8}]},"87":{"id":87,"text":"Event handlers define the business logic to be performed when an event is received. Event Processors are the components that take care of the technical aspects of that processing. They start a unit of work and possibly a transaction. However, they also ensure that correlation data can be correctly attached to all messages created during event processing, among other non-functional requirements. The image below depicts a representation of the organization of Event Processors and Event Handlers: Axon has a layered approach towards organizing event handlers. First, an event handler is positioned in a Processing Group. Each event handler, or \"Event Handling Component,\" will only ever belong to a single Processing Group. The Processing Group provides a level of configurable non-functional requirements, like error handling and the sequencing policy. The Event Processor, in turn, is in charge of the Processing Group. An Event Processor will control 1 to N Processing Groups, although there will be a one-to-one mapping in most cases. Similar to the Event Handling Component, a Processing Group will belong to a single Event Processor. This last layer allows the definition of the type of Event Processor used and concepts like the threading model and a more fine-grained degree of error handling. Event Processors come in roughly two forms: Subscribing and Streaming. Subscribing Event Processors subscribe to a source of events and are invoked by the thread managed by the publishing mechanism. Streaming Event Processors, on the other hand, pull their messages from a source using a thread that it manages itself. For more specifics on either type, consult their respective sections here and here. The rest of this page dedicates itself to describing the Event Processor’s common concepts and configuration options. Note that throughout, the EventProcessingConfigurer is used. The EventProcessingConfigurer is part of Axon’s Configuration API, dedicated to configuring Event Processors. All processors have a name, which identifies a processor instance across JVM instances. Two processors with the same name are considered as two instances of the same processor. All event handlers are attached to a processor whose name by default is the package name of the event handler’s class. Furthermore, the default processor implementation used by Axon is the Tracking Event Processor. The (default) event processor used can be adjusted, as is shown in the subscribing and streaming sections. Event handlers, or Event Handling Components, come in roughly two flavors: \"regular\" (singleton, stateless) event handlers and sagas. This section describes the process to register an event handler, whereas this page describes the saga registration process. Now let us consider that the following event handlers have been registered: org.axonframework.example.eventhandling.MyHandler org.axonframework.example.eventhandling.MyOtherHandler org.axonframework.example.eventhandling.module.ModuleHandler Without any intervention, this will trigger the creation of two processors, namely: org.axonframework.example.eventhandling with two handlers called MyHandler and MyOtherHandler org.axonframework.example.eventhandling.module with the single handler ModuleHandler Using the package name serves as a suitable default, but using dedicated names for an Event Processor and/or the Processing Group is recommended. The most straightforward approach to reaching a transparent naming scheme of your event handlers is by using the ProcessingGroup annotation. This annotation resembles the Processing Group level discussed in the introduction. The ProcessingGroup annotation requires the insertion of a name and can only be set on the class. Let us adjust the previous sample by using this annotation instead of the package names for grouping handlers: @ProcessingGroup(\"my-handlers\") class MyHandler { // left out event handling functions... } @ProcessingGroup(\"my-handlers\") class MyOtherHandler{ // ... } @ProcessingGroup(\"module-handlers\") class ModuleHandler { // ... } Using the ProcessingGroup annotation as depicted, we again construct two processors: my-handlers with two handlers called MyHandler and MyOtherHandler module-handlers with the single handler ModuleHandler If more control is required to group Event Handling Components, we recommend consulting the assignment rules section. The Configuration API allows you to configure other strategies for assigning event handling classes to processors or assigning specific handler instances to particular processors. We can separate these assignment rules into roughly two groups: Event Handler to Processing Group and Processing Group to Event Processor. Below is an exhaustive list of all the assignment rules the EventProcessingConfigurer exposes: Event Handler to Processing Group byDefaultAssignTo(String): defines the default Processing Group name to assign an event handler to. It will only be taken into account if there are no more specifics rules and if the ProcessingGroup annotation is not present. byDefaultAssignHandlerInstancesTo(Function): defines a lambda invoked to assign an event handling instance to a desired Processing Group by returning that group’s name. It will only be taken into account if there are no more specifics rules and if the ProcessingGroup annotation is not present. byDefaultAssignHandlerTypesTo(Function, String>): defines a lambda invoked to assign an event handler type to a desired Processing Group by returning that group’s name. It will only be taken into account if there are no more specifics rules and if the ProcessingGroup annotation is not present. assignHandlerInstancesMatching(String, Predicate): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handling instance. The operation uses a natural priority of zero. If an instance matches several criteria, the outcome is undefined. assignHandlerTypesMatching(String, Predicate>): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handler type. The operation uses a natural priority of zero. If an instance matches several criteria, the outcome is undefined. assignHandlerInstancesMatching(String, int, Predicate): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handling instance. Uses the given priority to decide on rule-ordering. The higher the priority value, the more important the rule is. If an instance matches several criteria, the outcome is undefined. assignHandlerTypesMatching(String, int, Predicate>): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handler type. Uses the given priority to decide on rule-ordering. The higher the priority, the more important the rule is. If an instance matches several criteria, the outcome is undefined. Processing Group to Event Processor assignProcessingGroup(String, String): defines a given Processing Group name that belongs to the given Event Processor’s name. assignProcessingGroup(Function): defines a lambda invoked to assign a Processing Group name to the desired Event Processor by returning that processor’s name. To order event handlers within an Event Processor, the order in which event handlers are registered (as described in the Registering Event Handlers section) is guiding. Thus, the ordering in which an Event Processor will call event handlers for event handling is the same as their insertion ordering in the Configuration API. If we use Spring as the mechanism for wiring everything, we can explicitly specify the event handler component ordering by adding the @Order annotation. This annotation is placed on the event handler class name, containing an integer value to specify the ordering. Note that it is not possible to order event handlers belonging to different Event Processors. Each Event Processor acts as an isolated component without any intervention from other Event Processors. Ordering Event Handlers within a Processor Although we can place an order among event handlers within an Event Processor, separation of event handlers is recommended. Placing an overall ordering on event handlers means those components are inclined to interact with one another, introducing a form of coupling. Due to this, the event handling process will become complex to manage (for example, for new team members). Furthermore, embracing an ordering approach might lead to place all event handlers in a global ordering, decreasing processing speeds in general. In all, you are free to use an ordering, but we recommend using it sparingly. Errors are inevitable in any application. Depending on where they happen, you may want to respond differently. By default, exceptions raised by event handlers are caught in the Processing Group layer, logged, and processing continues with the following events. When an exception is thrown when a processor is trying to commit a transaction, update a token, or in any other part of the process, the exception will be propagated. In the case of a Streaming Event Processor, this means the processor will go into error mode, releasing any tokens and retrying at an incremental interval (starting at 1 second, up to max 60 seconds). A Subscribing Event Processor will report a publication error to the component that provided the event. To change this behavior, both the Processing Group and Event Processor level allow customization on how to deal with exceptions: The component dealing with exceptions thrown from an event handling method is called the ListenerInvocationErrorHandler. By default, these exceptions are logged (with the LoggingErrorHandler implementation), and processing continues with the next handler or message. The default ListenerInvocationErrorHandler used by each processing group can be customized. Furthermore, we can configure the error handling behavior per processing group: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureProcessingGroupErrorHandling(EventProcessingConfigurer processingConfigurer) { // To configure a default ... processingConfigurer .registerDefaultListenerInvocationErrorHandler(conf -> { /* create listener error handler */ }) // ... or for a specific processing group: .registerListenerInvocationErrorHandler(\"my-processing-group\", conf -> { /* create listener error handler */ }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processingGroupErrorHandlingConfigurerModule() { return configurer -> configurer.eventProcessing(processingConfigurer -> processingConfigurer.registerDefaultListenerInvocationErrorHandler( conf -> { /* create listener error handler */ } ) // ... or for a specific processing group: .registerListenerInvocationErrorHandler( \"my-processing-group\", conf -> { /* create listener error handler */ } ) ); } } It is easy to implement custom error handling behavior. The error handling method to implement provides the exception, the event that was handled, and a reference to the handler that was handling the message: public interface ListenerInvocationErrorHandler { void onError(Exception exception, EventMessage event, EventMessageHandler eventHandler) throws Exception; } You can choose to retry, ignore or rethrow the exception. The exception will bubble up to the Event Processor level when rethrown. Exceptions occurring outside an event handler’s scope, or have bubbled up from there, are handled by the ErrorHandler. The default error handler is the PropagatingErrorHandler, which will rethrow any exceptions it catches. How the Event Processor deals with a rethrown exception differ per implementation. The behaviour for the Subscribing- and the Streaming Event Processor can respectively be found here and here. We can configure a default ErrorHandler for all Event Processors or an ErrorHandler for specific processors: Configuration API Spring Boot public class AxonConfig { public void configure(EventProcessingConfigurer configurer) { configurer // To configure a default ... .registerDefaultErrorHandler(conf -> { /* create error handler */ }) // ... or for a specific processor: .registerErrorHandler(\"my-processor\", conf -> { /* create error handler */ }); } } @Configuration public class AxonConfig { @Bean public ConfigurerModule processorErrorHandlingConfigurerModule() { return configurer -> configurer.eventProcessing(processing -> processing // Register a global error handler .registerDefaultErrorHandler(conf -> { /* create error handler */ }) // ... or for a specific processor: .registerErrorHandler(\"my-processor\", conf -> { /* create error handler */ }) ); } } For providing a custom solution, the `ErrorHandler’s single method needs to be implemented: public interface ErrorHandler { void handleError(ErrorContext errorContext) throws Exception; } Based on the provided ErrorContext object, you can decide to ignore the error, schedule retries, perform dead-letter-queue delivery, or rethrow the exception. Although configuring a Listener Invocation Error Handler and Error Handler helps you to deal with exceptions when processing events, you still end up in an event handling stop. When you only log the error and allow processing to proceed, you will most likely end up with missing data until you fix the predicament and replay past events. If you instead propagate the exception so the event processor keeps retrying, the event processor will stall entirely when the cause is consistent. Although this behavior is sufficient on many occasions, sometimes it is beneficial if we can unblock event handling by parking the problematic event. This is where the Dead-letter Queue comes in. It is a mechanism to park events until they can be processed successfully. You can find more information in the Dead-Letter Queue section. Alongside handler assignment and error handling, Event Processors allow configuration for other components too. For Subscribing and Streaming Event Processor specific options, their respective sections should be checked. The remainder of this page will cover the generic configuration options for each Event Processor. The EventProcessingConfigurer provides access to a lot of configurable components for Event Processors. Sometimes it is easier or preferable to provide an entire function to construct an Event Processor, however. To that end, we can configure a custom EventProcessorBuilder: @FunctionalInterface interface EventProcessorBuilder { // Note: the `EventHandlerInvoker` is the component which holds the event handling functions. EventProcessor build(String name, Configuration configuration, EventHandlerInvoker eventHandlerInvoker); } The EventProcessorBuilder functional interface provides the event processor’s name, the Configuration and the EventHandlerInvoker, and requires returning an EventProcessor instance. Note that any Axon component that an Event Processor requires (for example, an EventStore) is retrievable from the Configuration. The EventProcessingConfigurer provides two methods to configure an EventProcessorBuilder: registerEventProcessorFactory(EventProcessorBuilder): allows you to define a default factory method that creates event processors for which no explicit factories are defined registerEventProcessor(String, EventProcessorBuilder): defines the factory method to use to create a processor with given name Since the Event Processor is the invoker of event handling methods, it is a spot to configure Message Handler Interceptors too. Since Event Processors are dedicated to event handling, the MessageHandlerInterceptor is required to deal with an EventMessage. Differently put, an EventHandlerInterceptor can be registered to Event Processors. The EventProcessingConfigurer provides two methods to configure MessageHandlerInterceptor instances: registerDefaultHandlerInterceptor(BiFunction>>): registers a default MessageHandlerInterceptor that will be configured on every Event Processor instance registerHandlerInterceptor(String, Function>>): registers a MessageHandlerInterceptor that will be configured for the Event Processor matching the given String Any Event Processor instance provides the means to contain a Message Monitor. Message Monitors (discussed in more detail here) allow for monitoring the flow of messages throughout an Axon application. For Event Processors, the message monitor deals explicitly with the events flowing through the Event Processor towards the event handling functions. The EventProcessingConfigurer provides two approaches towards configuring a MessageMonitor: registerMessageMonitor(String, Function>>): registers the given MessageMonitor to the Event Processor matching the given String registerMessageMonitorFactory(String, MessageMonitorFactory): registers the given MessageMonitorFactory to construct a MessageMonitor for the Event Processor matching the given String The MessageMonitorFactory provides a more fine-grained approach, used throughout the Configuration API, to construct a MessageMonitor: @FunctionalInterface public interface MessageMonitorFactory { MessageMonitor> create(Configuration configuration, Class componentType, String componentName); } We can use the Configuration to retrieve the required dependencies to construct the MessageMonitor. The type and name reflect which infrastructure component the factory constructs a monitor for. Whenever you use the MessageMonitorFactory to construct a MessageMonitor for an Event Processor, the factory expects the componentType to be an EventProcessor implementation. The componentName, on the other hand, would resemble the name of the Event Processor. As components that deal with event handling, the Event Processor is a logical place to provide transaction configuration options. Note that in the majority of the scenarios, the defaults will suffice. This section simply serves to show these options to allow adjustment if the application requires it. The first of these is the TransactionManager. Axon uses the TransactionManager to attach a transaction to every Unit of Work. Within a Spring environment, the TransactionManager defaults to a SpringTransactionManager, which uses Spring’s PlatformTransactionManager under the hood. In non Spring environments, it would be wise to build a TransactionManager implement if transaction management is required, of course. Such an implementation only requires the definition of the TransactionManager#startTransaction() method. To adjust the transaction manager for an Event Processor, the registerTransactionManager(String, Function) on the EventProcessingConfigurer should be used. Secondly, you can adjust the desired RollbackConfiguration per Event Processor. It is the RollbackConfiguration that decide when a Unit of Work should rollback the transaction. The default RollbackConfiguration is to rollback on any type of Throwable; the Unit of Work page describes the other options you can choose. To adjust the default behaviour, the registerRollbackConfiguration(String, Function) function should be invoked on the EventProcessingConfigurer.","title":"Event Processors","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/events/event-processors/","titles":[{"text":"Assigning handlers to processors","hash":"_assigning_handlers_to_processors","id":1},{"text":"Event handler assignment rules","hash":"_event_handler_assignment_rules","id":2},{"text":"Ordering event handlers within a processor","hash":"_ordering_event_handlers_within_a_processor","id":3},{"text":"Error handling","hash":"error-handling","id":4},{"text":"Processing group: Listener invocation error handler","hash":"listener-invocation-error-handler","id":5},{"text":"Event processor: Error handler","hash":"event-processor-error-handler","id":6},{"text":"Dead-letter queue","hash":"dead-letter-queue","id":7},{"text":"General processor configuration","hash":"general_processor_configuration","id":8},{"text":"Event processor builders","hash":"_event_processor_builders","id":9},{"text":"Event handler interceptors","hash":"_event_handler_interceptors","id":10},{"text":"Message monitors","hash":"_message_monitors","id":11},{"text":"Transaction management","hash":"_transaction_management","id":12}]},"88":{"id":88,"text":"The StreamingEventProcessor, or Streaming Processor for short, is a type of Event Processor. As any Event Processor, it serves as the technical aspect to handle events by invoking the event handlers written in an Axon application. The Streaming Processor defines itself by receiving the events from a StreamableMessageSource. The StreamableMessageSource is an infrastructure component through which we can open a stream of events. The source can also specify positions on the event stream, so-called Tracking Tokens, used as start positions when opening an event stream. An example of a StreamableMessageSource is the EventStore, like for example Axon Server or an RDBMS. Furthermore, Streaming Processors use separate threads to process the events retrieved from the StreamableMessageSource. Using separate threads decouples the StreamingEventProcessor from other operations (for example, event publication or command handling), allowing for cleaner separation within any application. Using separate threads allows for parallelization of the event load, either within a single JVM or between several. When starting a Streaming Processor, it will open an event stream through the configured StreamableMessageSource. The first time a stream has started, it, by default, will begin at the tail (the oldest/the first token) of the stream. It keeps track of the event processing progress while traversing the stream. It does so by storing the Tracking Tokens, or tokens for short, accompanying the events. This solution works towards tracking the progress since the tokens specify the event’s position on the stream. Head or tail? The oldest (the first) token is located at the tail of the stream, and the latest (newest) token is positioned at the head of the stream. Maintaining the progress through tokens makes a Streaming Processor able to deal with stopping and starting the processor, more resilient against unintended shutdowns, and the token provides a means to replay events by adjusting the position of tokens. All combined, the Streaming Processor allows for decoupling, parallelization, resiliency, and replay-ability. It is these features that make the Streaming Processor the logical choice for the majority of applications. Due to this, the \"Tracking Event Processor,\" a type of Streaming Processor, is the default Event Processor. Default Event Processor Which EventProcessor type becomes the default processor depends on the event message source available in your application. In the majority of use cases, an Event Store is present. As the Event Store is a type of StreamableMessageSource, the default will switch to the Tracking Event Processor. If the application only has an Event Bus configured, the framework will lack a StreamableMessageSource. It will fall back to the Subscribing Event Processor as the default in these scenarios. This implementation will use the configured EventBus as its SubscribableMessageSource. There are two implementations of Streaming Processor available in Axon Framework: the Tracking Event Processor (TEP for short), and the Pooled Streaming Event Processor (PSEP for short). Both implementations support the same set of operations. Operations like replaying events through a reset, parallelism and tracking the progress with tokens. They diverge on their threading approach and work separation, as discussed in more detail in this section. The Streaming Processors have several additional components that you can configure, next to the base options. For other streaming processor features that are configurable, we refer to their respective sections for more details. This chapter will cover how to configure a Tracking or Pooled Streaming Processor respectively. Firstly, to specify that new event processors should default to a TrackingEventProcessor, you can invoke the usingTrackingEventProcessors method: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureProcessorDefault(EventProcessingConfigurer processingConfigurer) { processingConfigurer.usingTrackingEventProcessors(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processorDefaultConfigurerModule() { return configurer -> configurer .eventProcessing(EventProcessingConfigurer::usingTrackingEventProcessors); } } For a specific Event Processor to be a Tracking instance, registerTrackingEventProcessor is used: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureTrackingProcessors(EventProcessingConfigurer processingConfigurer) { // This configuration object allows for fine-grained control over the Tracking Processor TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); // To configure a processor to be tracking ... processingConfigurer .registerTrackingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ } ) // ... to provide additional configuration ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ }, conf -> tepConfig ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule trackingProcessorConfigurerModule() { // This configuration object allows for fine-grained control over the Tracking Processor TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); return configurer -> configurer.eventProcessing(processingConfigurer -> processingConfigurer // To configure a processor to be tracking ... .registerTrackingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ } ) // ... to provide additional configuration ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ }, conf -> tepConfig ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. axon.eventhandling.processors.my-processor.mode=tracking axon.eventhandling.processors.my-processor.source=eventStore If the name of an event processor contains periods ., use the map notation: axon.eventhandling.processors[my.processor].mode=tracking axon.eventhandling.processors[my.processor].source=eventStore For more fine-grained control when Configuring a tracking processor, the TrackingEventProcessorConfiguration can be used. When invoking the registerTrackingEventProcessor method, you can provide a tracking processor configuration object, or you can register the configuration instance explicitly: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void registerTrackingProcessorConfig(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); // To register a default tracking config ... processingConfigurer.registerTrackingEventProcessorConfiguration(config -> tepConfig) // ... to register a config for a specific processor. .registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule trackingProcessorConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); return configurer -> configurer.eventProcessing( // To register a default tracking config ... processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration(config -> tepConfig) // ... to register a config for a specific processor. .registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } Firstly, to specify that every new processor should default to a PooledStreamingEventProcessor, you can invoke the usingPooledStreamingEventProcessors method: Axon Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureProcessorDefault(EventProcessingConfigurer processingConfigurer) { processingConfigurer.usingPooledStreamingEventProcessors(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processorDefaultConfigurerModule() { return configurer -> configurer.eventProcessing(EventProcessingConfigurer::usingPooledStreamingEventProcessors); } } For a specific Event Processor to be a Pooled Streaming instance, registerPooledStreamingProcessor is used: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configurePooledStreamingProcessors(EventProcessingConfigurer processingConfigurer) { // This configuration object allows for fine-grained control over the Pooled Streaming Processor EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; // To configure a processor to be pooled streaming ... processingConfigurer.registerPooledStreamingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {}/* create/return StreamableMessageSource */ ) // ... to provide additional configuration ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {} /* create/return StreamableMessageSource */, psepConfig ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule pooledStreamingProcessorConfigurerModule() { // This configuration object allows for fine-grained control over the Pooled Streaming Processor EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; return configurer -> configurer.eventProcessing( // To configure a processor to be pooled streaming ... processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {} /* create/return StreamableMessageSource */ ) // ... to provide additional configuration ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {} /* create/return StreamableMessageSource */, psepConfig ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. axon.eventhandling.processors.my-processor.mode=pooled axon.eventhandling.processors.my-processor.source=eventStore If the name of an event processor contains periods ., use the map notation: axon.eventhandling.processors[my.processor].mode=pooled axon.eventhandling.processors[my.processor].source=eventStore For more fine-grained control when Configuring a pooled streaming processor, the PooledStreamingProcessorConfiguration can be used. When invoking the registerPooledStreamingEventProcessor method, you can provide a pooled streaming processor configuration object, or you can register the configuration instance explicitly: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void registerPooledStreamingProcessorConfig(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; // To register a default pooled streaming config ... processingConfigurer.registerPooledStreamingEventProcessorConfiguration(psepConfig) // ... to register a config for a specific processor. .registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule pooledStreamingProcessorConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; return configurer -> configurer.eventProcessing( // To register a default pooled streaming config ... processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration(psepConfig) // ... to register a config for a specific processor. .registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } The error mode differs between the Tracking- and Pooled Streaming Event Processor. Whenever the error handler rethrows an exception, a TrackingEventProcessor will retry processing the event using an incremental back-off period. It will start at 1 second and double after each attempt until it reaches the maximum wait time of 60 seconds per attempt. This back-off time ensures that in a distributed environment, when another node is able to process events, it will have the opportunity to claim the token required to process the event. The PooledStreamingEventProcessor simply aborts the failed part of the process. The Pooled Streaming Processor can deal with this since the threading mode is different from the Tracking Processor. As such, the chance is high the failed process will be picked up quickly by another thread within the same JVM. This chance increases further whenever the PSEP instance is distributed over several application instances. A vital attribute of the Streaming Event Processor is its capability to keep and maintain the processing progress. It does so through the TrackingToken, the \"token\" for short. Such a token accompanies each message a streaming processor receives through its event stream. It’s this token that: specifies the position of the event on the overall stream, and is used by the Streaming Processor to open the event stream at the desired position on start-up. Using tokens gives the Streaming Event Processor several benefits, like: Being able to reopen the stream at any later point, picking up where it left off with the last event. Dealing with unintended shutdowns without losing track of the last events they’ve handled. Collaboration over the event handling load from two perspectives. First, the tokens make sure only a single thread is actively processing specific events. Secondly, it allows parallelization of the load over several threads or nodes of a Streaming Processor. Replaying events by adjusting the token position of that processor. To be able to reopen the stream at a later point, we should keep the progress somewhere. The progress is kept by updating and saving the TrackingToken after handling batches of events. Keeping the progress requires CRUD operation, for which the Streaming Processor uses the TokenStore. For a Streaming Processor to process any events, it needs \"a claim\" on a TrackingToken. The processor will update this claim every time it has finished handling a batch of events. This so-called \"claim extension\" is, just as updating and saving of tokens, delegated to the Token Store. Hence, the Streaming Processors achieves collaboration among instances/threads through token claims. In the absence of a claim, a processor will actively try to retrieve one. If a token claim is not extended for a configurable amount of time, other processor threads can \"steal\" the claim. Token stealing can, for example, happen if event processing is slow or encountered some exceptions. Easy TrackingToken access When processing an event, it may be beneficial to retrieve the token belonging to that event. First, this can be achieved by adding a parameter of type TrackingToken to the event handler. This support is mentioned in the Supported Parameters for Event Handlers section. Additionally, you can retrieve the token from the resources collection of the Unit of Work. Both the Tracking and Pooled Streaming Event Processor add the current TrackingToken under the key \"Processor[{processor-name}]/Token\". The Streaming Processor uses a StreamableMessageSource to retrieve a stream of events that will open on start-up. It requires a TrackingToken to open this stream, which it will fetch from the TokenStore. However, if a Streaming Processor starts for the first time, there is no TrackingToken present to open the stream with yet. Whenever this situation occurs, a Streaming Processor will construct an \"initial token.\" By default, the initial token will start at the tail of the event stream. Thus, the processor will begin at the start and handle every event present in the message source. This start position is configurable, as is described here. Sagas and their initial token A Streaming Processor dedicated to a Saga will default the initial token to the head of the stream. The default initial token position ensures that the Saga does not react to events from the past, as in most cases, this would introduce unwanted side effects. Conceptually, there are a couple of scenarios when a processor builds an initial token on application startup. The obvious one is already shared, namely when a processor starts for the first time. There are, however, also other situations when a token is built that might be unexpected, like: The TokenStore has (accidentally) been cleared between application runs, thus losing the stored tokens. The application running the processor starts in a new environment (for example, test or acceptance) for the first time. An InMemoryTokenStore was used, and hence the processor could never persist the token to begin with. The application is (accidentally) pointing to another storage solution than expected. Whenever a Streaming Processor’s event handlers show unexpected behavior in the form of missed or reprocessed events, a new initial token might have been triggered. In those cases, we recommend to validate if any of the above situations occurred. There are a couple of things we can configure when it comes to tokens. We can separate these options in \"initial token\" and \"token claim\" configuration, as described in the following sections: The initial token for a StreamingEventProcessor is configurable for every processor instance. When configuring the initial token builder function, the received input parameter is the StreamableMessageSource. The message source, in turn, gives three possibilities to build a token, namely: createHeadToken(): Creates a token from the head of the event stream. createTailToken(): Creates a token from the tail of the event stream. Creating tail tokens is the default value for most Streaming Processors. createTokenAt(Instant) / createTokenSince(Duration): Creates a token that tracks all events after a given time. If there is an event precisely at that given moment in time, it will also be taken into account. Of course, you can completely disregard the StreamableMessageSource input parameter and create a token by yourself. Consider the following snippets if you want to configure a different initial token: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureInitialTrackingToken(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andInitialTrackingToken(StreamableMessageSource::createHeadToken); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule initialTrackingTokenConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andInitialTrackingToken(StreamableMessageSource::createTailToken); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } public class AxonConfig { // omitting other configuration methods... public void configureInitialTrackingToken(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialToken(messageSource -> messageSource.createTokenSince( messageSource -> messageSource.createTokenAt(Instant.parse(\"20020-12-01T10:15:30.00Z\")) )); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule initialTrackingTokenConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialToken( messageSource -> messageSource.createTokenSince(Duration.ofDays(31)) ); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } As described here, a streaming processor should claim a token before it is allowed to perform any processing work. There are several scenarios where a processor may keep the claim for too long. This can occur when, for example, the event handling process is slow or encountered an exception. In those scenarios, another processor can steal a token claim to proceed with processing. There are a couple of configurable values that influence this process: tokenClaimInterval: Defines how long to wait between attempts to claim a segment. A processor uses this value to steal token claims from other processor threads. This value defaults to 5000 milliseconds. eventAvailabilityTimeout: Defines the time to \"wait for events\" before extending the claim. Only the Tracking Event Processor uses this. The value defaults to 1000 milliseconds. claimExtensionThreshold: Threshold to extend the claim in the absence of events. Only the Pooled Streaming Event Processor uses this. The value defaults 5000 milliseconds. Consider the following snippets if you want to configure any of these values: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureTokenClaimValues(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andTokenClaimInterval(1000, TimeUnit.MILLISECONDS) .andEventAvailabilityTimeout(2000, TimeUnit.MILLISECONDS); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule tokenClaimValuesConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andTokenClaimInterval(1000, TimeUnit.MILLISECONDS) .andEventAvailabilityTimeout(2000, TimeUnit.MILLISECONDS); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } public class AxonConfig { // omitting other configuration methods... public void configureTokenClaimValues(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.tokenClaimInterval(2000) .claimExtensionThreshold(3000); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule tokenClaimValuesConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.tokenClaimInterval(2000) .claimExtensionThreshold(3000); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } As described at the start, streaming processor threads can \"steal\" tokens from one another. A token is \"stolen\" when a thread loses a token claim. Situations like this internally result in an UnableToClaimTokenException, caught by both streaming event processor implementations and translated into warn- or info-level log statements. Where the framework uses token claims to ensure that a single thread is processing a sequence of events, it supports token stealing to guarantee event processing is not blocked forever. In short, the framework uses token stealing to unblock your streaming processor threads when processing takes too long. Examples may include literal slow processing, blocking exceptional scenarios, and deadlocks. However, token stealing may occur as a surprise for some applications, making it an unwanted side effect. As such, it is good to be aware of why tokens get stolen (as described above), but also when this happens and what the consequences are. In practical terms, a token is stolen whenever the claim timeout is exceeded. This timeout is met whenever the token’s timestamp (for example, the timestamp column of your token_entry table) exceeds the claimTimeout of the TokenStore. By default, the claimTimeout value equals 10 seconds. To adjust it, you must configure a TokenStore instance through its builder, as shown in the Token Store section. If you use Spring Boot, you can alternatively set the axon.eventhandling.tokenstore.claim-timeout for example to 30s to increase it to 30 seconds. The token’s timestamp is equally crucial in deciding when the timeout is met. The streaming processor thread holding the claim is in charge of updating the token timestamp. This timestamp is updated whenever the thread finishes a batch of events or whenever the processor extends the claim. When to extend a claim differs between the Tracking and Pooled Streaming processor. You should check out the token claim section if you want to know how to configure these values. To further clarify, a streaming processor’s thread needs to be able to update the token claim and, by extension, the timestamp to ensure it won’t get stolen. Hence, a staling processor thread will, one way or another, eventually lose the claim. Examples of when a thread may get its token stolen are: - Overall slow event handling - Too large event batch size - Blocking operations inside event handlers - Blocking exceptions inside event handlers The consequence of token stealing is that an event may be handled twice (or more). When a thread steals a token, the original thread was already processing events from the token’s position. To protect against doubling event handling, Axon Framework will combine committing the event handling task with updating the token. As the token claim is required to update the token, the original thread will fail the update. Following this, a rollback occurs on the Unit of Work, resolving most issues arising from token stealing. The ability to rollback event handling tasks sheds light on the consequences of token stealing. Most event processors project events into a projection stored within a database. Furthermore, if you store the projection in the same database as the token, the rollback will ensure the change is not persisted. Thus, the consequence of token stealing is limited to wasting processor cycles. This scenario is why we recommend storing tokens and projections in the same database. If a rollback is out of the question for an event handling task, we strongly recommend making the task idempotent. You may have this scenario when, for example, the projection and tokens do not reside in the same database. or when the event handler dispatches an operation (for example, through the CommandGateway). In making the invoked operation idempotent, you ensure that whenever the thread stealing a token handles an event twice (or more), the outcome will be identical. Without idempotency, the consequences of token stealing can be many fold: - Your projection (stored in a different database than your tokens!) may incorrectly project the state. - An event handler putting messages on a queue will put a message on the queue again. - A Saga Event Handler invoking a third-party service will invoke that service again. - An event handler sending an email will send that email again. In short, any operation introducing a side effect that isn’t handled in an idempotent fashion will occur again when a token is stolen. Concluding, we can separate the consequence of token stealing into roughly three scenarios: 1. We can rollback the operation. In this case, the only consequence is wasted processor cycles. 2. The operation is idempotent. In this case, the only consequence is wasted processor cycles. 3. When the task cannot be rolled back nor performed in an idempotent fashion, compensating actions may be the way out. The TokenStore provides the CRUD operations for the StreamingEventProcessor to interact with TrackingTokens. The streaming processor will use the store to construct, fetch and claim tokens. When no token store is explicitly defined, an InMemoryTokenStore is used. The InMemoryTokenStore is not recommended in most production scenarios since it cannot maintain the progress through application shutdowns. Unintentionally using the InMemoryTokenStore counts towards one of the unexpected scenarios where the framework creates an initial token on each application start-up. The framework provides a couple of TokenStore implementations: InMemoryTokenStore - A TokenStore implementation that keeps the tokens in memory. This implementation does not suffice as a production-ready store in most applications. JpaTokenStore - A TokenStore implementation using JPA to store the tokens with. Expects that a table is constructed based on the org.axonframework.eventhandling.tokenstore.jpa.TokenEntry. It is easily auto-configurable with, for example, Spring Boot. JdbcTokenStore - A TokenStore implementation using JDBC to store the tokens with. Expects that the schema is constructed through the JdbcTokenStore#createSchema(TokenTableFactory) method. Several TokenTableFactory can be chosen here, like the GenericTokenTableFactory, PostgresTokenTableFactory or Oracle11TokenTableFactory implementation. MongoTokenStore- A TokenStore implementation using Mongo to store the tokens with. Keep your tokens close Where possible, we recommend using a token store that stores tokens in the same database as to where the event handlers update the view models. This way, changes to the view model can be stored atomically with the changed tokens. Furthermore, it guarantees exactly once processing semantics. Note that you can configure the token store to use for a streaming processor in the EventProcessingConfigurer: Configuration API Spring Boot To configure a TokenStore for all processors: public class AxonConfig { // omitting other configuration methods... public void registerTokenStore(EventProcessingConfigurer processingConfigurer) { TokenStore tokenStore = JpaTokenStore.builder() // … .build(); processingConfigurer.registerTokenStore(config -> tokenStore); } } Alternatively, to configure a TokenStore for a specific processor, use: public class AxonConfig { // omitting other configuration methods... public void registerTokenStore(EventProcessingConfigurer processingConfigurer, String processorName) { TokenStore tokenStore = JdbcTokenStore.builder() // … .build(); processingConfigurer.registerTokenStore(processorName, config -> tokenStore); } } The default TokenStore implementation is defined base dependencies available in Spring Boot, in the following order: If any TokenStore bean is defined, that bean is used. Otherwise, if an EntityManager is available, the JpaTokenStore is defined. Otherwise, if a DataSource is defined, the JdbcTokenStore is created. Lastly, the InMemoryToken store is used. To override the TokenStore, either define a bean in a Spring @Configuration class: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public TokenStore myTokenStore() { return JpaTokenStore.builder() // … .build(); } } Alternatively, inject the EventProcessingConfigurer, which allows more fine-grained customization: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule tokenStoreConfigurerModule() { TokenStore tokenStore = JdbcTokenStore.builder() // … .build(); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTokenStore(conf -> tokenStore) // or, to define one for a specific processor: .registerTokenStore(\"my-processor\", conf -> tokenStore) ); } } Implementations of TokenStore might share state in the underlying storage. To ensure correct operation, a token store has a unique identifier that uniquely identifies the storage location of the tokens in that store. This identifier can be queried with the retrieveStorageIdentifier method of your event processor. StreamingEventProcessor eventProcessor = /*…*/; String tokenStoreId = eventProcessor.getTokenStoreIdentifier(); Streaming processors can use multiple threads to process an event stream. Using multiple threads allows the StreamingEventProcessor to more efficiently process batches of events. As described here, a streaming processor’s thread requires a claim on a tracking token to process events. Thus, to be able to parallelize the load, we require several tokens per processor. To that end, each token instance represents a segment of the event stream, wherein each segment is identified through a number. The stream segmentation approach ensures events aren’t handled twice (or more), as that would otherwise introduce unintentional duplication. Due to this, the Streaming Processor’s API references segment claims instead of token claims throughout. You can define the number of segments used by adjusting the initialSegmentCount property. Only when a streaming processor starts for the first time can it initialize the number of segments to use. This requirement follows from the fact each token represents a single segment. Tokens, in turn, can only be initialized if they are not present yet, as is explained in more detail here. Whenever the number of segments should be adjusted during runtime, you can use the split and merge functionality. To adjust the number of initial segments, consider the following sample: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot Spring Boot properties The default number of segments of a TrackingEventProcessor is one. public class AxonConfig { // omitting other configuration methods... public void configureSegmentCount(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(2) .andInitialSegmentsCount(2); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } The default number of segments for the TrackingEventProcessor is one. @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule segmentCountConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(2) .andInitialSegmentsCount(2); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } The default number of segments for the PooledStreamingEventProcessor is sixteen. public class AxonConfig { // omitting other configuration methods... public void configureSegmentCount(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialSegmentCount(32); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } The default number of segments for the PooledStreamingEventProcessor is sixteen. @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule segmentCountConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialSegmentCount(32); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } The default number of segments for a TrackingEventProcessor and PooledStreamingEventProcessor is one and sixteen, respectively. axon.eventhandling.processors.my-processor.mode=pooled # Sets the initial number of segments axon.eventhandling.processors.my-processor.initialSegmentCount=32 Parallel Processing and Subscribing Event Processors Note that Subscribing Event Processors don’t manage their own threads. Therefore, it is not possible to configure how they should receive their events. Effectively, they will always work on a sequential-per-aggregate basis, as that is generally the level of concurrency in the command handling component. The Event Handling Components a processor is in charge of may have specific expectations on the event order. The ordering is guaranteed when only a single thread is processing events. Maintaining the ordering requires additional work when the stream is segmented for parallel processing, however. When this is the case, the processor must ensure it sends the events to these handlers in that specific order. Axon uses the SequencingPolicy for this. The SequencingPolicy is a function that returns a value for any given message. If the return value of the SequencingPolicy function is equal for two distinct event messages, it means that those messages must be processed sequentially. By default, Axon components will use the SequentialPerAggregatePolicy, making it so that events published by the same aggregate instance will be handled sequentially. Check out this section to understand how to influence the sequencing policy. Each node running a streaming processor will attempt to start its configured amount of threads to start processing events. The number of segments that a single thread can claim differ between the Tracking- and Pooled Streaming Event Processor. A tracking processor can only claim a single segment per thread, whereas the pooled streaming processor can claim any amount of segments per thread. These approaches provide different pros and cons for each implementation, which this section explains further. Even though events are processed asynchronously from their publisher, it is often desirable to process certain events in their publishing order. In Axon, the SequencingPolicy controls this order. The SequencingPolicy defines whether events must be handled sequentially, in parallel, or a combination of both. Policies return a sequence identifier of a given event. If the policy returns the same identifier for two events, they must be handled sequentially by the Event Handling Component. Thus, if the SequencingPolicy returns a different value for two events, they may be processed concurrently. Note that if the policy returns a null sequence identifier, the event may be processed in parallel with any other events. Parallel Processing and Sagas A saga instance is never invoked concurrently by multiple threads. Therefore, the SequencingPolicy is irrelevant for a saga. Axon will ensure each saga instance receives the events it needs to process in the order they have been published on the event bus. Conceptually, the SequencingPolicy decides whether an event belongs to a given segment. Furthermore, Axon guarantees that Events that are part of the same segment are processed sequentially. The framework provides several policies you can use out of the box: SequentialPerAggregatePolicy: The default policy. It will force domain events that were raised from the same aggregate to be handled sequentially. Thus, events from different aggregates may be handled concurrently. This policy is typically suitable for Event Handling Components that update details from aggregates in databases. FullConcurrencyPolicy: This policy will tell Axon that this Event Processor may handle all events concurrently. This means that there is no relationship between the events that require them to be processed in a particular order. SequentialPolicy: This policy tells Axon that it can process all events sequentially. Handling of an event will start when the handling of a previous event has finished. PropertySequencingPolicy: When configuring this policy, the user is required to provide a property name or property extractor function. This implementation provides a flexible solution to set up a custom sequencing policy based on a standard value present in your events. Note that this policy only reacts to properties present in the event class. MetaDataSequencingPolicy: When configuring this policy, the user is required to provide a metaDataKey to be used. This implementation provides a flexible solution to set up a custom sequencing policy based on a standard value present in your events' metadata. Consider the following snippets when configuring a (custom) SequencingPolicy: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureSequencingPolicy(EventProcessingConfigurer processingConfigurer) { PropertySequencingPolicy mySequencingPolicy = PropertySequencingPolicy.builder(SomeEvent.class, String.class) .propertyName(\"myProperty\") .build(); processingConfigurer.registerDefaultSequencingPolicy(config -> mySequencingPolicy) // or, to define one for a specific processor: .registerSequencingPolicy(\"my-processor\", config -> mySequencingPolicy); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule sequencingPolicyConfigurerModule(SequencingPolicy> mySequencingPolicy) { return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerDefaultSequencingPolicy(config -> mySequencingPolicy) // or, to define one for a specific processor: .registerSequencingPolicy(\"my-processor\", config -> mySequencingPolicy) ); } @Bean public SequencingPolicy> mySequencingPolicy() { return new SequentialPolicy(); } } When we want to configure the SequencingPolicy in a properties file, we should provide a bean name: axon.eventhandling.processors.my-processor.mode=tracking axon.eventhandling.processors.my-processor.sequencing-policy=mySequencingPolicy This approach does require the bean name to be present in the Application Context of course: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SequencingPolicy> mySequencingPolicy() { return new FullConcurrencyPolicy(); } } If the available policies do not suffice, you can define your own. To that end, we should implement the SequencingPolicy interface. This interface defines a single method, getSequenceIdentifierFor(T), that returns the sequence identifier for a given event: public interface SequencingPolicy { Object getSequenceIdentifierFor(T event); } A Streaming Processor cannot process events in parallel without multiple threads configured. We can process events in parallel by running several nodes of an application. Or by configuring a StreamingEventProcessor to use several threads. The following section describes the threading differences between the Tracking- and Pooled Streaming Event Processor. These sections are followed up with samples on configuring multiple threads for the TEP and PSEP, respectively. Thread and Segment Count Adjusting the number of threads will not automatically parallelize a Streaming Processor. A segment claim is required to let a thread process any events. Hence, increasing the thread count should be paired with adjusting the segment count. The TrackingEventProcessor uses a ThreadFactory to start the process of claiming segments. It will use a single thread per segment it is able to claim until the processor exhausts the configured amount of threads. Each thread will open a stream with the StreamableMessageSource and start processing events at their own speed. Other segment operations, like split and merge, are processed by the thread owning the segment operated on. Since the tracking processor can only claim a single segment per thread, segments may go unprocessed if there are more segments than threads. Hence, we recommend setting the number of threads (on every node) higher than or equal to the total number of segments. To increase event handling throughput, we recommend changing the number of threads. How to do this is shown in the following sample: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureThreadCount(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(4) .andInitialSegmentsCount(4); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule threadCountConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(4) .andInitialSegmentsCount(4); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } axon.eventhandling.processors.my-processor.mode=tracking axon.eventhandling.processors.my-processor.thread-count=4 axon.eventhandling.processors.my-processor.initial-segment-count=4 The PooledStreamingEventProcessor uses two threads pools instead of the single fixed set of threads used by the TrackingEventProcessor. The first thread pool is in charge of opening a stream with the event source, claiming as many segments as possible, and delegating all the work. The work it coordinates is foremost the events to handle. Next to event coordination, it deals with segment operations like split and merge. The component coordinating all the work is called the Coordinator. This coordinator defaults to using a ScheduledExecutorService with a single thread, which suffices in most scenarios. The second thread pool deals with all the segments the Coordinator of the pooled streaming processor could claim. The Coordinator starts a WorkPackage for each segment and provides them the events to handle. The work package will, in turn, invoke the Event Handling Components to process the events. These packages run within the second thread pool, the so-called \"worker executor\" pool. The worker-pool also defaults to ScheduledExecutorService with a single thread. When you want to increase event handling throughput, we recommend changing the number of threads for the worker thread pool. How to do this is shown in the following sample: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureThreadCount(EventProcessingConfigurer processingConfigurer) { // the \"name\" is the name of the processor, which can be used to define the thread factory name Function coordinatorExecutorBuilder = name -> Executors.newScheduledThreadPool(1, new AxonThreadFactory(\"Coordinator - \" + name)); Function workerExecutorBuilder = name -> Executors.newScheduledThreadPool(16, new AxonThreadFactory(\"Worker - \" + name)); EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.coordinatorExecutor(coordinatorExecutorBuilder) .workerExecutor(workerExecutorBuilder) .initialSegmentCount(32); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule threadCountConfigurerModule() { // the \"name\" is the name of the processor, which can be used to define the thread factory name Function coordinatorExecutorBuilder = name -> Executors.newScheduledThreadPool(1, new AxonThreadFactory(\"Coordinator - \" + name)); Function workerExecutorBuilder = name -> Executors.newScheduledThreadPool(16, new AxonThreadFactory(\"Worker - \" + name)); EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.coordinatorExecutor(coordinatorExecutorBuilder) .workerExecutor(workerExecutorBuilder) .initialSegmentCount(32); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } axon.eventhandling.processors.my-processor.mode=pooled # Only the thread count of the Worker can be influenced through a properties file! axon.eventhandling.processors.my-processor.thread-count=16 axon.eventhandling.processors.my-processor.initial-segment-count=32 Based on the threading approaches of the tracking processor and pooled streaming processor, there are a couple of differences to note: Open Event Streams - The tracking processor will open a stream per segment it claims. The pooled streaming processor will always open a single event stream and delegate the events to the segment workers. Due to this, the tracking processor will use more I/O resources than the pooled streaming processor. However, the TEP’s segments can move at their own speed as they open a dedicated event stream. The PSEP’s segments will at least process as fast as the slowest segment in the set. Segment Claims per Thread - The tracking processor can only claim a single segment per thread. The pooled streaming processor can claim any amount of segments, regardless of the number of threads configured. The maxClaimedSegments is configurable if required (the defaults is Short.MAX). The fact the TEP can only claim a single segment per thread highlights a problem of that implementation. Events will go unprocessed if there are more segments than threads when using the tracking processor since events belong to a single segment. Furthermore, it makes dynamic scaling tougher since you cannot adjust the number of threads at runtime. Here we see significant benefits for using the PSEP instead of the TEP since it completely drops the \"one segment per thread\" policy. As such, partial processing is never a problem, the PooledStreamingEventProcessor would encounter. Thread Pool Configuration - The tracking processor does not allow sharing a thread pool between different instances. For the pooled streaming processor, a ScheduledExecutorService is configurable, which allows sharing the executor between different processor instances. Thus, the PSEP provides a higher level of flexibility towards optimizing the total amount of threads used within an application. The freedom in thread pool configuration is helpful when, for example, the number of different Event Processors in a single application increases. Which Streaming Processor should I use? In most scenarios, the PooledStreamingEventProcessor is the recommended processor implementation. We conclude this based on the segment-to-thread-count ratio, its ability to share thread pools, and the lower amount of opened event streams. The TrackingEventProcessor will still be ideal if you anticipate the processing speed between segments to differ significantly. Also, if the application does not have too many processor instances, the need to share thread pools is loosened. For streaming processors, it doesn’t matter whether the threads handling the events are all running on the same node or on different nodes hosting the same (logical) processor. When two (or more) instances of a streaming processor with the same name are active on different machines, they are considered two instances of the same logical processor. Hence, it is not just a processor’s own threads that compete for segments but also the processors on different application instances. Thus, in a multi-node setup, each processor instance will try to claim segments, preventing events assigned to that segment from being processed on other nodes. In this process, the processor updates the token by adding a node identifier when it claims a segment to enforce the claim. The node identifier is configurable on the TokenStore. By default, it will use the JVM’s name (usually a combination of the hostname and process ID) as the nodeId. In a multi-node scenario, a fair distribution of the segments is often desired. Otherwise, the event processing load could be distributed unequally over the active instances. There are roughly three approaches to balancing the number of segments claimed per node: Through the Axon Server Dashboard’s load balancing feature. For Axon Server and Spring Boot users, you can use the axon.axonserver.eventhandling.processors.[processor-name].load-balancing-strategy application property. Directly on a StreamingEventProcessor, with the releaseSegment(int segmentId) or releaseSegment(int segmentId, long releaseDuration, TimeUnit unit) method. When Axon Server is in place, we recommend using either option one or two. Where option one requires access to the dashboard before load balancing is activated, option two works from within your framework application’s properties file. For those looking to configure load balancing through option 2, please consider the following application.properties file example: # Enables automatic balancing for event processor \"my-processor.\" # Setting automatic balancing to true causes Axon Server to periodically check whether the segments are balanced. # Note that automatic balancing is an Enterprise feature of Axon Server. axon.axonserver.eventhandling.processors.my-processor.automatic-balancing=true # Set the load balancing strategy to, for example, \"threadNumber.\" # Note that this task is executed only once, on the start up of the Axon Framework application. axon.axonserver.eventhandling.processors.my-processor.load-balancing-strategy=threadNumber Whenever Axon Server is not used, we can achieve load balancing by having a streaming processor release its segments. Releasing segments is done by calling the releaseSegment method. When invoking releaseSegment, the StreamingEventProcessor will \"let go of\" the segment for some time. class StreamingProcessorService { // The EventProcessingConfiguration allows access to all the configured EventProcessors private EventProcessingConfiguration processingConfiguration; // ... void releaseSegmentFor(String processorName, int segmentId) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> streamingProcessor.releaseSegment(segmentId)); } } The Streaming Event Processor provides scalability by supporting parallel processing. Through this, it is possible to tune the processor’s performance by adjusting the number of threads. However, only changing the number of threads is insufficient since the parallelization is dictated through the number of segments. When there is a high event load, ideally, we increase the number of segments. In turn, we can reduce the number of segments again if the load on the streaming processor decreases. To change the number of segments at runtime, the split and merge operations should be used. Splitting and merging allow you to control the number of segments dynamically. There are roughly three approaches to do this. Through AxonIQ Console's processor detail page, where you can scale the segments manually, or configure your segments to scale automatically with the number of your application’s replicas. It’s the easiest to set up and use. The Axon Server Dashboard contains split and merge buttons to adjust the number of segments. While it’s straightforward to use as well, it does not support automatic scaling based on the number of replicas. If none of the other two options are available, you can adjust the number of segments through the Axon Framework API. The StreamingEventProcessor exposes the splitSegment(int segmentId) and mergeSegment(int segmentId) methods. To obtain the StreamingEventProcessor, you can use the EventProcessingConfiguration to retrieve the processor by name. For those taking this approach, consider the following snippet as a form of guidance: class StreamingProcessorService { // The EventProcessingConfiguration allows access to all the configured EventProcessors private EventProcessingConfiguration processingConfiguration; // ... void splitSegmentFor(String processorName, int segmentId) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // Use the result to check whether the operation succeeded CompletableFuture result = streamingProcessor.splitSegment(segmentId); }); } void mergeSegmentFor(String processorName, int segmentId) { processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // Use the result to check whether the operation succeeded CompletableFuture result = streamingProcessor.mergeSegment(segmentId); }); } } Note that if you are moving towards a solution using the StreamingProcessorController, there are a couple of points to consider. When invoking the split/merge operation on a StreamingEventProcessor, that processor should be in charge of the segment you want to split or merge. Thus, either the streaming processor already has a claim on the segments or can claim the segments. Without the claims, the processor will simply fail the split or merge operation. It is advised to check which segments a streaming processor has a claim on. For that, status of the processor is used. The status information shows which segments a processor instance owns. This guides which processor to invoke the split or merge on. When doing a merge, the streaming processor should be in charge of both the provided segmentId and the segment the framework will merge it with. We can calculate the segment identifier the provided segmentId will be merged with through the`Segment#mergeableSegmentId method. Segment Selection Considerations When splitting or merging through AxonIQ Console and Axon Server, it chooses the most appropriate segment to split or merge for you. When using the Axon Framework API directly, the developer should deduce the segment to split or segments to merge by themselves: Split: for fair balancing, a split is ideally performed on the largest segment Merge: for fair balancing, a merge is ideally performed on the smallest segment A benefit of streaming events is that we can reopen the stream at any point in time. Whenever some event handling components misbehaved, and the view models they update or actions they triggered should happen again, starting anew can be useful. Handling events again by adjusting the position on the stream is what’s called \"a replay,\" a feature supported by the StreamingEventProcessor. You can trigger a reset using AxonIQ Console, or programmatically through the Axon Framework API. Triggering a reset through the AxonIQ Console is straightforward. It will make sure all processors are stopped, the tokens reset, and the replay is started, without any need for manual intervention. Go to the detail page of the processor you would like to reset. On the left side, under the configuration details, is a \"Reset Processor\" button. Clicking this button will open a dialog in which you can choose the desired position in the event store to replay from. You can choose of resetting to the tail, head, or a custom date. After resetting the processor, the replay will start immediately. You can track its progress under the \"Segments\" tab. During a replay, each segment has its own pace. During this time, it’s normal to see the latency of the processor at a high value, because it’s processing events from a long time ago. This will slowly decrease until it’s back at the head position. You can also trigger a reset using the Axon Framework API. This API revolves around the resetTokens() method and provides a couple of options: resetTokens(): Simple reset, adjusting the TrackingToken to the configured initial tracking token resetTokens(R resetContext): Resets the TrackingToken to the configured initial tracking token, providing the resetContext to the ResetHandlers resetTokens(Function>, TrackingToken> initialTrackingTokenSupplier): Resets the TrackingToken to the results of the initialTrackingTokenSupplier resetTokens(Function>, TrackingToken> initialTrackingTokenSupplier, R resetContext): Resets the TrackingToken to the results of the initialTrackingTokenSupplier, providing the resetContext to the ResetHandlers resetTokens(TrackingToken startPosition): Resets the TrackingToken to the provided startPosition resetTokens(TrackingToken startPosition, R resetContext): Resets the TrackingToken to the provided startPosition, providing the resetContext to the ResetHandlers As the method name suggests, the reset adjusts the tracking token to a new position. When starting a reset, the streaming processor is required to claim all its segments. All claims are required since the processor needs to update all tokens to their new position to start the replay. To achieve this, the streaming event processor must be inactive when starting a reset. Hence, it is required to be shut down first before invoking the resetTokens operation. Once the reset was successful, the processor can be started up again. Consider the following sample on how to trigger a reset within an application: Reset without reset context Reset with reset context class StreamingProcessorController { private EventProcessingConfiguration processingConfiguration; // ... void resetTokensFor(String processorName) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // shutdown this streaming processor streamingProcessor.shutDown(); // reset the tokens to prepare the processor streamingProcessor.resetTokens(); // start the processor to initiate the replay streamingProcessor.start(); }); } } class StreamingProcessorController { private EventProcessingConfiguration processingConfiguration; // ... void resetTokensFor(String processorName, Object resetContext) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // shutdown this streaming processor streamingProcessor.shutDown(); // reset the tokens to prepare the processor streamingProcessor.resetTokens(resetContext); // start the processor to initiate the replay streamingProcessor.start(); }); } } Resets in multi-node environments If you are in a multi-node scenario, that means all nodes should shut down the StreamingEventProcessor. Otherwise, another node will pick up the segments released by the inactive processor instance. Being able to shut down or start up all streaming processor instances is most easily achieved through the Axon Server Dashboard or AxonIQ Console. They both provide a \"start\" and \"stop\" button, which will start/stop the processor on every node. With AxonIQ Console you can also reset the processor. When Axon Server is not used, you should construct a custom endpoint in your application. The StreamingProcessorService sample shared above would be ideal for adding a start and stop method. A replay does not always have to start \"from the beginning of time.\" Partially replaying the event stream suffices for a lot of applications. To perform a so-called \"partial replay,\" you should provide the token at a specific point in time. The StreamableMessageSource’s `createTokenAt(Instant) and createTokenSince(Duration) can be used for this. If creating tokens based on time is not sufficient, but creating tokens based on the exact position is something that is more convenient, you could create a TrackingToken providing the position and give it to resetTokens(TrackingToken startPosition) or resetTokens(TrackingToken startPosition, R resetContext) methods. The concrete implementation of TrackingToken to provide depends on the Token Store being used. Be mindful that when initiating a partial replay, the event handlers may handle an event in the middle of model construction. Hence, event handlers need to be \"aware\" that some events might not have been handled at all. Making the event handlers lenient (for example, deal with missing data) or performing ad-hoc manual replays would help in that area. Initiating a replay through the StreamingEventProcessor opens up an API to tap into the process of replaying. It is, for example, possible to define a @ResetHandler, which provides a hook to prepare an Event Handling Component before the replay begins. A processor will invoke ResetHandler annotated methods as a result of StreamingEventProcessor#resetTokens. During a reset through the StreamingEventProcessor#resetTokens API, you can supply a resetContext parameter. This context is supplied to @ResetHandler annotated methods and saved in the ReplayToken. This context can, for the duration of the replay, be accessed using the ReplayToken.replayContext methods or can be injected into event handlers using the @ReplayContext annotation. The following sample Event Handling Component shows the available replay API: @AllowReplay (1) @ProcessingGroup(\"card-summary\") public class CardSummaryProjection { //... @EventHandler @DisallowReplay (2) public void on(CardIssuedEvent event) { // This event handler performs a \"side effect\", // like sending an e-mail or a sms. // Neither, is something we want to reoccur when a // replay happens, hence we disallow this method // to be replayed } @EventHandler public void on(CardRedeemedEvent event, ReplayStatus replayStatus) { (3) // We can wire a ReplayStatus here so we can see whether this // event is delivered to our handler as a 'REGULAR' event or // a 'REPLAY' event // Perform event handling } @ResetHandler (4) public void onReset(ResetContext resetContext) { // Do pre-reset logic, like clearing out the projection table for a // clean slate. The given resetContext is [optional], allowing the // user to specify in what context a reset was executed. } @EventHandler public void on(CardCancelledEvent event, @ReplayContext CardReplayContext context) { (5) // During replays, this method will get the CardReplayContext injected that was providing during the reset call. // If there is no replay, no context was supplied or the context type does not match, the parameter is null. } //... } The CardSummaryProjection shows a couple of interesting things to take note of when it comes to \"being aware\" of a replay in progress: 1 An @AllowReplay can be used, situated either on an entire class or an @EventHandler annotated method. It defines whether the processor should invoke the given class or method when a replay is in transit. 2 In addition to allowing a replay, @DisallowReplay can also be used. Similar to @AllowReplay, you can place it on class level and methods. It serves to define whether a processor should not invoke the class or method when a replay is in transit. 3 To have more fine-grained control on what (not) to do during a replay, we can use the ReplayStatus parameter. The ReplayStatus is an additional parameter that we can add to @EventHandler annotated methods. It allows conditional operations in the event handlers based on whether a replay is taking place. 4 If it is necessary to perform certain pre-replay logic, such as clearing out a projection table, we can use the @ResetHandler annotation. It allows adding a \"reset context\" to provide more information on why the reset is taking place. To include a resetContext the resetTokens(R resetContext) method (or other methods containing the resetContext parameter) should be invoked. The type of the resetContext is up to the user. 5 If it is necessary to use information that was available at time of calling resetTokens(R resetContext) in your event handlers during a replay, you can use the @ReplayContext annotation to get access to this information. This information is stored in the ReplayToken and will be available until the end of the replay. The type of the resetContext is up to the user and is the same context as is used for the @ResetHandler (see 4). The type of the resetContext has to match the parameter’s, or it will be null. You can configure a Streaming Event Processor to use multiple sources to process events from. When required to process events from several sources, we can configure a specific type of StreamableMessageSource: the MultiStreamableMessageSource. The MultiStreamableMessageSource is useful when a streaming processor should act on the events from: several event stores, multiple-contexts, or from different storage types (for example, an Event Store and a Kafka Stream) Having multiple sources means that there might be a choice of multiple events that the processor could consume at any given instant. Therefore, you can specify a Comparator to choose between them. The default implementation chooses the event with the oldest timestamp (that is, the event waiting for the longest). Using multiple sources also means that the streaming processor’s polling interval needs to be divided between sources. Some sources might use a strategy to optimize event discovery, thus minimizing overhead in establishing costly connections to the data sources. To that end, you can choose which source the processor does most of the polling on using the longPollingSource() method in the builder. This operation ensures one source consumes most of the polling interval while also checking intermittently for events on the other sources. The MultiStreamableMessageSource defaults the longPollingSource to the last configured source. Consider the following sample when constructing a MultiStreamableMessageSource: public class AxonConfig { // omitting other configuration methods... public MultiStreamableMessageSource buildMultiStreamableMessageSource( StreamableMessageSource> eventSourceA, StreamableMessageSource> eventSourceB, Comparator>> priorityA ) { return MultiStreamableMessageSource.builder() .addMessageSource(\"eventSourceA\", eventSourceA) .addMessageSource(\"eventSourceB\", eventSourceB) .longPollingSource(\"eventSourceA\") // Overrides eventSourceB as the longPollingStream .trackedEventComparator(priorityA) // Where 'priorityA' is a comparator prioritizing events from eventSourceA .build(); } } Assuming a buildMultiStreamableMessageSource(…​) method is present, we can use the outcome to register a processor with the configuring EventProcessingConfigurer: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureTrackingProcessor(EventProcessingConfigurer processingConfigurer) { processingConfigurer.registerTrackingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule trackingProcessorConfigurerModule() { return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ) ); } } public class AxonConfig { // omitting other configuration methods... public void configurePooledStreamingProcessor(EventProcessingConfigurer processingConfigurer) { processingConfigurer.registerPooledStreamingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule pooledStreamingProcessorConfigurerModule() { return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ) ); } } When we want to configure the StreamableMessageSource in a properties file, we should provide a bean name: axon.eventhandling.processors.my-processor.mode=pooled axon.eventhandling.processors.my-processor.source=multiStreamableMessageSource This approach does require the bean name to be present in the Application Context of course: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public MultiStreamableMessageSource multiStreamableMessageSource( StreamableMessageSource> eventSourceA, StreamableMessageSource> eventSourceB, Comparator>> priorityA ) { return MultiStreamableMessageSource.builder() .addMessageSource(\"eventSourceA\", eventSourceA) .addMessageSource(\"eventSourceB\", eventSourceB) .longPollingSource(\"eventSourceA\") .trackedEventComparator(priorityA) .build(); } }","title":"Streaming Event Processor","component":"axon-framework-reference","version":"development","name":"streaming","url":"/axon-framework-reference/development/events/event-processors/streaming/","titles":[{"text":"Configuring","hash":"configuring","id":1},{"text":"Configuring a tracking processor","hash":"_configuring_a_tracking_processor","id":2},{"text":"Configuring a pooled streaming processor","hash":"_configuring_a_pooled_streaming_processor","id":3},{"text":"Error mode","hash":"error-mode","id":4},{"text":"Tracking tokens","hash":"tracking-tokens","id":5},{"text":"Initial tracking token","hash":"_initial_tracking_token","id":6},{"text":"Configuration","hash":"_configuration","id":7},{"text":"Initial token","hash":"_initial_token","id":8},{"text":"Token claims","hash":"_token_claims","id":9},{"text":"Token stealing","hash":"token-stealing","id":10},{"text":"When is a token stolen?","hash":"_when_is_a_token_stolen","id":11},{"text":"What are the consequences of token stealing?","hash":"_what_are_the_consequences_of_token_stealing","id":12},{"text":"Token store","hash":"token-store","id":13},{"text":"Retrieving the token store identifier","hash":"_retrieving_the_token_store_identifier","id":14},{"text":"Parallel processing","hash":"parallel-processing","id":15},{"text":"Sequential processing","hash":"sequential-processing","id":16},{"text":"Thread configuration","hash":"_thread_configuration","id":17},{"text":"Tracking processor threading","hash":"_tracking_processor_threading","id":18},{"text":"Pooled streaming processor threading","hash":"_pooled_streaming_processor_threading","id":19},{"text":"Differences between tracking and pooled streaming","hash":"_differences_between_tracking_and_pooled_streaming","id":20},{"text":"Multi-node processing","hash":"_multi_node_processing","id":21},{"text":"Splitting and merging segments","hash":"splitting-and-merging-segments","id":22},{"text":"1. AxonIQ Console","hash":"_1_axoniq_console","id":23},{"text":"2. Axon Server","hash":"_2_axon_server","id":24},{"text":"3. Manual programming","hash":"_3_manual_programming","id":25},{"text":"Replaying events","hash":"replaying-events","id":26},{"text":"Triggering a reset with Console","hash":"reset-console","id":27},{"text":"Triggering a reset programmatically","hash":"reset-programmatically","id":28},{"text":"Partial replays","hash":"_partial_replays","id":29},{"text":"Replay API","hash":"_replay_api","id":30},{"text":"Multiple event sources","hash":"_multiple_event_sources","id":31}]},"89":{"id":89,"text":"The SubscribingEventProcessor, or Subscribing Processor for short, is a type of Event Processor. As any Event Processor, it serves as the technical aspect to handle events by invoking the event handlers written in an Axon application. The Subscribing Processor defines itself by receiving the events from a SubscribableMessageSource. The SubscribableMessageSource is an infrastructure component to register a Subscribing Processor too. After registration to the SubscribableMessageSource, the message source gives the events to the SubscribingEventProcessor in the order they are received. Examples of a SubscribableMessageSource are the EventBus or the AMQP Extension. Both the EventBus and the AMQP Extension are simple message bus solutions for events. The simple bus solution makes the SubscribableMessageSource and thus the Subscribing Processor an approach to only receive current events. Operations like replaying are, therefore, not an option for any Subscribing Processor as long as the SubscribableMessageSource follows this paradigm. Furthermore, the message source will use the same thread that receives the events to invoke the registered Subscribing Processors. When the EventBus is, for example, used as the message source, this means that the event publishing thread is the same one handling the event in the Subscribing Processor. Although this approach deserves a spot within the framework, most scenarios require further decoupling of components by separating the threads as well. When, for example, an application requires event processing parallelization to get a higher performance, this can be a blocker. This predicament is why the SubscribingEventProcessor is not the default in Axon Framework. Instead, the \"Tracking Event Processor\" (a Streaming Processor implementation) takes up that role. It provides greater flexibility for developers for configuring the event processor in greater detail. Subscribing Processor Use Cases Although the SubscribingEventProcessor does not support easy parallelization or replays, there are still scenarios when it is beneficial. When a model, for example, should be updated within the same thread that published the event, the Subscribing Processor becomes a reasonable solution. In combination with Axon’s AMQP or Kafka extension, some of these concerns are alleviated too, making it a viable option. Other than configuring that an app uses a Subscribing Event Processor, everything is covered here. Firstly, to specify that a new Event Processors should default to a SubscribingEventProcessor, you can use the usingSubscribingEventProcessors method: public class AxonConfig { // omitting other configuration methods... public void configureProcessorDefault(EventProcessingConfigurer processingConfigurer) { processingConfigurer.usingSubscribingEventProcessors(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processorDefaultConfigurerModule() { return configurer -> configurer.eventProcessing(EventProcessingConfigurer::usingSubscribingEventProcessors); } } For a specific Event Processor to be a Subscribing instance, registerSubscribingEventProcessor is used: public class AxonConfig { // omitting other configuration methods... public void configureSubscribingProcessors(EventProcessingConfigurer processingConfigurer) { // To configure a processor to be subscribing ... processingConfigurer.registerSubscribingEventProcessor(\"my-processor\") // ... to define a specific SubscribableMessageSource ... .registerSubscribingEventProcessor(\"my-processor\", conf -> /* create/return SubscribableMessageSource */); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule subscribingProcessorsConfigurerModule() { return configurer -> configurer.eventProcessing( // To configure a processor to be subscribing ... processingConfigurer -> processingConfigurer.registerSubscribingEventProcessor(\"my-processor\") // ... to define a specific SubscribableMessageSource ... .registerSubscribingEventProcessor( \"my-processor\", conf -> /* create/return SubscribableMessageSource */ ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. axon.eventhandling.processors.my-processor.mode=subscribing axon.eventhandling.processors.my-processor.source=eventBus If the name of an event processor contains periods ., use the map notation: axon.eventhandling.processors[my.processor].mode=subscribing axon.eventhandling.processors[my.processor].source=eventBus Whenever the error handler rethrows an exception, the SubscribingEventProcessor will have it bubble up to the publishing component of the event. Providing the exception to the event publisher allows the publishing component to deal with it accordingly. Persistent streams require Axon Server version 2024.1 or higher. A Subscribing Processor can use a Persistent Stream as its message source. By using a persistent stream we allow a Subscribing Processor to process events in parallel and to replay events. When a processor uses a persistent stream, it receives events from Axon Server. After processing (a batch of) events, it sends an acknowledgment back to Axon Server. The persistent stream can be split in segments to allow for parallel processing within a single client or across multiple instances of the client. The number of segments can be changed dynamically. Axon Server distributes the segments across the subscribers to ensure that all segments are connected. Events are assigned to a specific segment based on the sequencing policy for the persistent stream. Persistent streams support all the standard sequencing policies that also can be used for streaming processors. Clients can provide a filter in the persistent stream definition. This reduces the number of events that the client receives from Axon Server. The expression used to filter events are the same as expressions used in the ad-hoc query option in Axon Server. Persistent streams do not require a token store in the client. The state of the stream is maintained in Axon Server. For a specific Event Processor to be a Subscribing instance using a persistent stream, registerSubscribingEventProcessor is used. The message source for the event processor must be a PersistentStreamMessageSource. The PersistentStreamMessageSource requires a PersistentStreamProperties to set the initial properties to create the persistent stream. The properties contain: streamName: The name of the persistent stream. segments: The initial number of segments. sequencingPolicyName: The sequencing policy name. sequencingPolicyParameters: List of parameters for the sequencing policy. initialPosition: First token to read. filter: Filter for events on Axon Server side, use null to receive all events. The sequencingPolicyParameters must be set if the sequencing policy is PropertySequencingPolicy or MetaDataSequencingPolicy. For the MetaDataSequencingPolicy, the sequencingPolicyParameters must contain the name of one or more of the event’s metadata fields. Events with the same value for these fields are passed in the same segment. The PropertySequencingPolicy requires 4 values in the sequencingPolicyParameters list. The serialization type for the events. Supported values are JSON or XML. The payload type to apply the policy on. An expression to extract the property value from the event payload. If the serialization type is JSON this must be a JsonPath expression. For XML this must be an Xpath expression. A fallback policy, the name of a sequencing policy to use if the payload type does not match the type specified in the second parameter. This may be PropertySequencingPolicy to specify an expression for another payload type. In this case add the serialization type, payload type, expression and fallback policy parameters for the alternative payload type. public class AxonConfig { // omitting other configuration methods... public void configureSubscribingProcessors(EventProcessingConfigurer processingConfigurer) { // To configure a processor to be subscribing ... processingConfigurer.registerSubscribingEventProcessor(\"my-processor\", conf -> /* create/return PersistentStreamMessageSource */); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule subscribingProcessorsConfigurerModule() { return configurer -> configurer.eventProcessing( // To configure a processor to be subscribing ... processingConfigurer -> processingConfigurer.registerSubscribingEventProcessor( \"my-processor\", conf -> /* create/return PersistentStreamMessageSource */ ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. The source property for the processor must point to a Spring Bean which is a PersistentStreamMessageSource or a PersistentStreamMessageSourceDefinition. This bean can also be defined in the properties file. axon.eventhandling.processors.my-processor.mode=subscribing axon.eventhandling.processors.my-processor.source=my-persistent-stream axon.axonserver.persistent-streams.my-persistent-stream.name=My Persistent Stream axon.axonserver.persistent-streams.my-persistent-stream.batch-size=100 axon.axonserver.persistent-streams.my-persistent-stream.initial-segment-count=4","title":"Subscribing Event Processor","component":"axon-framework-reference","version":"development","name":"subscribing","url":"/axon-framework-reference/development/events/event-processors/subscribing/","titles":[{"text":"Configuring","hash":"configuring","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":4},{"text":"Spring Boot auto configuration - Java","hash":"_spring_boot_auto_configuration_java","id":5},{"text":"Spring Boot auto configuration - Properties file","hash":"_spring_boot_auto_configuration_properties_file","id":6},{"text":"Error mode","hash":"error-mode","id":7},{"text":"Persistent streams","hash":"_persistent_streams","id":8},{"text":"Configuration","hash":"_configuration","id":9},{"text":"Axon Configuration API","hash":"_axon_configuration_api_3","id":10},{"text":"Spring Boot auto configuration - Java","hash":"_spring_boot_auto_configuration_java_2","id":11},{"text":"Spring Boot auto configuration - Properties file","hash":"_spring_boot_auto_configuration_properties_file_2","id":12}]},"90":{"id":90,"text":"The SpringAMQPPublisher forwards events to an AMQP exchange. It is initialized with a SubscribableMessageSource, which is generally the EventBus or EventStore. Theoretically, this could be any source of events that the publisher can subscribe to. To forward events generated in the application to an AMQP Channel, a single line of application.properties configuration is sufficient: axon.amqp.exchange=ExchangeName This will automatically send all published events to the AMQP Exchange with the given name. By default, no AMQP transactions are used when sending. This can be overridden using the axon.amqp.transaction-mode property, and setting it to transactional or publisher-ack. Note that exchanges are not automatically created. You must still declare the Queues, Exchanges and Bindings you wish to use. Check the Spring documentation for more information.","title":"Forwarding Events to an AMQP Exchange","component":"amqp-extension-reference","version":"4.10","name":"forwarding","url":"/amqp-extension-reference/4.10/forwarding/","titles":[]},"91":{"id":91,"text":"Spring AMQP is an alternative approach to distributing events, besides Axon Server which is the default. Axon provides out-of-the-box support to transfer events to and from an AMQP message broker, such as RabbitMQ. To use the Spring AMQP components from Axon, make sure the axon-amqp module is available on the classpath. Once added to the classpath of your application, you can use the Spring AMQP extension to: Forward events to an AMQP exchange Read events from an AMQP queue","title":"Spring AMPQ","component":"amqp-extension-reference","version":"4.10","name":"index","url":"/amqp-extension-reference/4.10/","titles":[]},"92":{"id":92,"text":"Spring has extensive support for reading messages from an AMQP Queue. However, this needs to be 'bridged' to Axon, so that these messages can be handled from Axon as if they are regular event messages. The SpringAMQPMessageSource allows event processors to read messages from a queue instead of the event store or event bus. It acts as an adapter between Spring AMQP and the SubscribableMessageSource needed by these processors. To receive events from a queue and process them inside an Axon application, you need to configure a SpringAMQPMessageSource: @Bean public SpringAMQPMessageSource myQueueMessageSource(AMQPMessageConverter messageConverter) { return new SpringAMQPMessageSource(messageConverter) { @RabbitListener(queues = \"myQueue\") @Override public void onMessage(Message message, Channel channel) throws Exception { super.onMessage(message, channel); } }; } and then configure a processor to use this bean as the source for its messages: axon.eventhandling.processors.name.source=myQueueMessageSource Note that tracking processors are not compatible with the SpringAMQPMessageSource.","title":"Reading Events from an AMQP Queue","component":"amqp-extension-reference","version":"4.10","name":"reading","url":"/amqp-extension-reference/4.10/reading/","titles":[]},"93":{"id":93,"text":"You can find the release notes for the AMQP Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the AMQP Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes AMQP Extension","component":"amqp-extension-reference","version":"4.10","name":"release-notes","url":"/amqp-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"94":{"id":94,"text":"JGroups is an alternative approach to distributing command bus (commands) besides Axon Server. The JGroupsConnector uses (as the name already gives away) JGroups as the underlying discovery and dispatching mechanism. Describing the features of JGroups is beyond the scope this reference guide Please refer to the JGroups User Guide for more information. To use the JGroups components from Axon, make sure the axon-jgroups module is available on the classpath through the preferred dependency management system. When combined with Spring Boot, the axon-jgroups-spring-boot-starter dependency can be included to enable auto-configuration. Since JGroups handles both discovery of nodes and the communication between them, the JGroupsConnector acts as both a CommandBusConnector and a CommandRouter. You can find the JGroups specific components for the DistributedCommandBus in the axon-distributed-commandbus-jgroups module. The JGroupsConnector has four mandatory configuration elements: channel - which defines the JGroups protocol stack. Generally, a JChannel is constructed with a reference to a JGroups configuration file. JGroups comes with a number of default configurations which can be used as a basis for your own configuration. Do keep in mind that IP Multicast generally doesn’t work in Cloud Services, like Amazon. TCP Gossip is generally a good start in such type of environment. clusterName - defines the name of the cluster that each segment should register to. Segments with the same cluster name will eventually detect each other and dispatch commands among each other. localSegment - the Command Bus implementation that dispatches Commands destined for the local JVM. These commands may have been dispatched by instances on other JVMs or from the local one. serializer - used to serialize command messages before they are sent over the wire. When using a cache, it should be cleared out when the ConsistentHash changes to avoid potential data corruption (for example, when commands do not specify a @TargetAggregateVersion and a new member quickly joins and leaves the JGroup, modifying the aggregate while it is still cached elsewhere.) Ultimately, the JGroupsConnector needs to actually connect in order to dispatch messages to other segments. To do so, call the connect() method. JChannel channel = new JChannel(\"path/to/channel/config.xml\"); CommandBus localSegment = SimpleCommandBus.builder().build(); Serializer serializer = XStreamSerializer.builder().build(); JGroupsConnector connector = JGroupsConnector.builder() .channel(channel) .clusterName(\"myCommandBus\") .localSegment(localSegment) .serializer(serializer) .build(); DistributedCommandBus commandBus = DistributedCommandBus.builder() .connector(connector) .commandRouter(connector) .build(); // on one node: commandBus.subscribe(CommandType.class.getName(), handler); connector.connect(); // on another node, with more CPU: commandBus.subscribe(CommandType.class.getName(), handler); commandBus.subscribe(AnotherCommandType.class.getName(), handler2); commandBus.updateLoadFactor(150); // defaults to 100 connector.connect(); // from now on, just deal with commandBus as if it is local... Note that it is not required that all segments have command handlers for the same type of commands. You may use different segments for different command types altogether. The distributed command bus will always choose a node to dispatch a command to that has support for that specific type of command.","title":"JGroups","component":"jgroups-extension-reference","version":"4.10","name":"index","url":"/jgroups-extension-reference/4.10/","titles":[]},"95":{"id":95,"text":"You can find the release notes for the Jobrunr Pro Extension for version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the JGroups Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes JGroups Extension","component":"jgroups-extension-reference","version":"4.10","name":"release-notes","url":"/jgroups-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"96":{"id":96,"text":"If you use Spring, you may want to consider using the JGroupsConnectorFactoryBean. It automatically connects the connector when the ApplicationContext is started, and does a proper disconnect when the ApplicationContext is shut down. Furthermore, it uses sensible defaults for a testing environment (but should not be considered production ready) and autowiring for the configuration. If Spring Boot is used, the configuration can be further simplified by including the axon-jgroups-spring-boot-starter dependency. The settings for the JGroups connector are all prefixed with axon.distributed.jgroups. # enables Axon to construct the DistributedCommandBus axon.distributed.enabled=true # defines the load factor used for this segment. Defaults to 100 axon.distributed.load-factor=100 # the address to bind this instance to. By default, it attempts to find the Global IP address axon.distributed.jgroups.bind-addr=GLOBAL # the port to bind the local instance to axon.distributed.jgroups.bind-port=7800 # the name of the JGroups Cluster to connect to axon.distributed.jgroups.cluster-name=Axon # the JGroups Configuration file to configure JGroups with axon.distributed.jgroups.configuration-file=default_tcp_gossip.xml # The IP and port of the Gossip Servers (comma separated) to connect to axon.distributed.jgroups.gossip.hosts=localhost[12001] # when true, will start an embedded Gossip Server on bound to the port of the first mentioned gossip host. axon.distributed.jgroups.gossip.auto-start=false","title":"Configuration in SpringBoot","component":"jgroups-extension-reference","version":"4.10","name":"springboot-config","url":"/jgroups-extension-reference/4.10/springboot-config/","titles":[]},"97":{"id":97,"text":"The purpose of this extension is to leverage some features only available in the Pro version of JobRunr. Only the Pro version allows to search existing jobs by status and label. This is required for the deadline manager to implement the cancelAll methods. The deadline managers section has more in depth information on deadline managers. Although jobs created with the non-pro DeadlineManager will be eligible to be canceled, this is only true when they were created with the 4.8 or later versions. Jobs created with the 4.7.x version are missing the correct labels and will not be found when trying to cancel them. For Spring usage, be sure to include the starters, both of JobRunr Pro and the extension. The deadline manager should be available by using parameter-based injection. It can be used in aggregates and sagas using something like: Aggregate Saga @CommandHandler public void handle(SomeCommand command, @Autowired DeadlineManager deadlineManager) { ... } @StartSaga public void handle(SomeEvent event, @Autowired DeadlineManager deadlineManager) { ... } Alternatively, you could also auto wire the deadline manager to the class like: @Autowired void setDeadlineManager(DeadlineManager deadlineManager) { this.deadlineManager = deadlineManager; } An JobRunrProDeadlineManager instance can be created using the builder like this: JobRunrProDeadlineManager.proBuilder() .jobScheduler(jobScheduler) .storageProvider(storageProvider) .scopeAwareProvider(scopeAwareProvider) .serializer(serializer) .transactionManager(transactionManager) .spanFactory(spanFactory) .build(); You probably want to use some form of dependency injection instead of creating a new deadline manager each time you need one.","title":"JobRunr Pro","component":"jobrunr-pro-extension-reference","version":"4.10","name":"index","url":"/jobrunr-pro-extension-reference/4.10/","titles":[{"text":"Spring usage","hash":"_spring_usage","id":1},{"text":"Non Spring usage","hash":"_non_spring_usage","id":2}]},"98":{"id":98,"text":"You can find the release notes for the Jobrunr Pro Extension from version 4.10.0 onwards below. For earlier release, please go to the legacy documentation. Upgrades the Jobrunr Pro Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Jobrunr Pro Extension","component":"jobrunr-pro-extension-reference","version":"4.10","name":"release-notes","url":"/jobrunr-pro-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10.0","hash":"_release_4_10_0","id":1}]},"99":{"id":99,"text":"Event messages in an Axon application can be consumed through either a Subscribing or a Tracking Event Processor. Both options are maintained when it comes to consuming events from a Kafka topic, which from a set-up perspective translates to a SubscribableMessageSource or a StreamableKafkaMessageSource respectively, Both will be described in more detail later on, as we first shed light on the general requirements for event consumption in Axon through Kafka. Both approaches use a similar mechanism to poll events with a Kafka Consumer, which breaks down to a combination of a ConsumerFactory and a Fetcher. The extension provides a DefaultConsumerFactory, whose sole requirement is a Map of configuration properties. The Map contains the settings to use for the Kafka Consumer client, such as the Kafka instance locations. Please check the Kafka documentation for the possible settings and their values. public class KafkaEventConsumptionConfiguration { // ... public ConsumerFactory consumerFactory(Map consumerConfiguration) { return new DefaultConsumerFactory<>(consumerConfiguration); } // ... } It is the Fetcher instance’s job to retrieve the actual messages from Kafka by directing a Consumer instance it receives from the message source. You can draft up your own implementation or use the provided AsyncFetcher to this end. The AsyncFetcher doesn’t need to be explicitly started, as it will react on the message source starting it. It does need to be shut down, to ensure any thread pool or active connections are properly closed. public class KafkaEventConsumptionConfiguration { // ... public Fetcher fetcher(long timeoutMillis, ExecutorService executorService) { return AsyncFetcher.builder() .pollTimeout(timeoutMillis) // Defaults to \"5000\" milliseconds .executorService(executorService) // Defaults to a cached thread pool executor .build(); } // ... } Using the SubscribableKafkaMessageSource means you are inclined to use a SubscribingEventProcessor to consume the events in your event handlers. When using this source, Kafka’s idea of pairing Consumer instances into \"Consumer Groups\" is used. This is strengthened by making the groupId upon source construction a hard requirement. To use a common groupId essentially means that the event-stream-workload can be shared on Kafka’s terms, whereas a SubscribingEventProcessor typically works on its own accord regardless of the number of instances. The workload sharing can be achieved by having several application instances with the same groupId or by adjusting the consumer count through the SubscribableKafkaMessageSource builder. The same benefit holds for resetting an event stream, which in Axon is reserved to the TrackingEventProcessor, but is now opened up through Kafka’s own API’s. Although the SubscribableKafkaMessageSource thus provides the niceties the tracking event processor normally provides, it does come with two catches: Axon’s approach of the SequencingPolicy to deduce which thread receives which events is entirely lost. It is thus dependent on which topic-partition pairs are given to a Consumer for the events your handlers receives. From a usage perspective this means event message ordering is no longer guaranteed by Axon. It is thus the user’s job to ensure events are published in the right topic-partition pair. The API Axon provides for resets is entirely lost, since this API can only be correctly triggered through the TrackingEventProcessor#resetTokens operation Due to the above it is recommended the user is knowledgeable about Kafka’s specifics on message consumption. When it comes to configuring a SubscribableKafkaMessageSource as a message source for a SubscribingEventProcessor, there is one additional requirement beside source creation and registration. The source should only start with polling for events as soon as all interested subscribing event processors have been subscribed to it. To ensure the SubscribableKafkaMessageSource#start() operation is called at the right point in the configuration lifecycle, the KafkaMessageSourceConfigurer should be utilized: public class KafkaEventConsumptionConfiguration { // ... public KafkaMessageSourceConfigurer kafkaMessageSourceConfigurer(Configurer configurer) { KafkaMessageSourceConfigurer kafkaMessageSourceConfigurer = new KafkaMessageSourceConfigurer(); configurer.registerModule(kafkaMessageSourceConfigurer); return kafkaMessageSourceConfigurer; } public SubscribableKafkaMessageSource subscribableKafkaMessageSource(List topics, String groupId, ConsumerFactory consumerFactory, Fetcher> fetcher, KafkaMessageConverter messageConverter, int consumerCount, KafkaMessageSourceConfigurer kafkaMessageSourceConfigurer) { SubscribableKafkaMessageSource subscribableKafkaMessageSource = SubscribableKafkaMessageSource.builder() .topics(topics) // Defaults to a collection of \"Axon.Events\" .groupId(groupId) // Hard requirement .consumerFactory(consumerFactory) // Hard requirement .fetcher(fetcher) // Hard requirement .messageConverter(messageConverter) // Defaults to a \"DefaultKafkaMessageConverter\" .consumerCount(consumerCount) // Defaults to a single Consumer .build(); // Registering the source is required to tie into the Configurers lifecycle to start the source at the right stage kafkaMessageSourceConfigurer.registerSubscribableSource(configuration -> subscribableKafkaMessageSource); return subscribableKafkaMessageSource; } public void configureSubscribableKafkaSource(EventProcessingConfigurer eventProcessingConfigurer, String processorName, SubscribableKafkaMessageSource subscribableKafkaMessageSource) { eventProcessingConfigurer.registerSubscribingEventProcessor( processorName, configuration -> subscribableKafkaMessageSource ); } // ... } The KafkaMessageSourceConfigurer is an Axon ModuleConfiguration which ties in to the start and end lifecycle of the application. It should receive the SubscribableKafkaMessageSource as a source which should start and stop. The KafkaMessageSourceConfigurer instance itself should be registered as a module to the main Configurer. If only a single subscribing event processor will be subscribed to the Kafka message source, SubscribableKafkaMessageSource.Builder#autoStart() can be toggled on. This will start the SubscribableKafkaMessageSource upon the first subscription. Using the StreamableKafkaMessageSource means you are inclined to use a TrackingEventProcessor to consume the events in your event handlers. Whereas the subscribable Kafka message source uses Kafka’s idea of sharing the workload through multiple Consumer instances in the same \"Consumer Group\", the streamable approach doesn’t use a consumer group, and assigns all available partitions. public class KafkaEventConsumptionConfiguration { // ... public StreamableKafkaMessageSource streamableKafkaMessageSource(List topics, ConsumerFactory consumerFactory, Fetcher fetcher, KafkaMessageConverter messageConverter, int bufferCapacity) { return StreamableKafkaMessageSource.builder() .topics(topics) // Defaults to a collection of \"Axon.Events\" .consumerFactory(consumerFactory) // Hard requirement .fetcher(fetcher) // Hard requirement .messageConverter(messageConverter) // Defaults to a \"DefaultKafkaMessageConverter\" .bufferFactory( () -> new SortedKafkaMessageBuffer<>(bufferCapacity)) // Defaults to a \"SortedKafkaMessageBuffer\" with a buffer capacity of \"1000\" .build(); } public void configureStreamableKafkaSource(EventProcessingConfigurer eventProcessingConfigurer, String processorName, StreamableKafkaMessageSource streamableKafkaMessageSource) { eventProcessingConfigurer.registerTrackingEventProcessor( processorName, configuration -> streamableKafkaMessageSource ); } // ... } Note that as with any tracking event processor, the progress on the event stream is stored in a TrackingToken. Using the StreamableKafkaMessageSource means a KafkaTrackingToken containing topic-partition to offset pairs is stored in the TokenStore. If no other TokenStore is provided, and auto-configuration is used, a KafkaTokenStore will be set instead of an InMemoryTokenStore. The KafkaTokenStore by default uses the __axon_token_store_updates topic. This should be a compacted topic, which should be created and configured automatically.","title":"Consuming Events from Kafka","component":"kafka-extension-reference","version":"4.10","name":"consuming","url":"/kafka-extension-reference/4.10/consuming/","titles":[{"text":"Consuming Events with a subscribable message source","hash":"subscribable-message-source","id":1},{"text":"Consuming Events with a streamable message source","hash":"streamable-messasge-source","id":2}]},"100":{"id":100,"text":"Apache Kafka is a popular system for publishing and consuming events. Its architecture is fundamentally different from most messaging systems and combines speed with reliability. Axon provides an extension dedicated to publishing and receiving event messages from Kafka. The Kafka Extension should be regarded as an alternative approach to distributing events, besides (the default) Axon Server. It’s also possible to use the extension to stream events from Kafka to Axon server, or the other way around. The implementation of the extension can be found here. The shared repository also contains a sample project using the extension. To use the Kafka Extension components from Axon, make sure the axon-kafka module is available on the classpath. Using the extension requires setting up and configuring Kafka following your project’s requirements. How this is achieved is outside of the scope of this reference guide and should be found in Kafka’s documentation. Note that Kafka is a perfectly fine event distribution mechanism, but it is not an event store. Along those lines this extension only provides the means to distributed Axon’s events through Kafka. Due to this the extension cannot be used to event source aggregates, as this requires an event store implementation. We recommend using a built-for-purpose event store like Axon Server, or alternatively an RDBMS based (the JPA or JDBC implementations for example).","title":"Kafka Extension","component":"kafka-extension-reference","version":"4.10","name":"index","url":"/kafka-extension-reference/4.10/","titles":[]},"101":{"id":101,"text":"In the previous sections the KafkaMessageConverter has been shown as a requirement for event production and consumption. The K is the format of the message’s key, where the V stand for the message’s value. The extension provides a DefaultKafkaMessageConverter which converts an axon EventMessage to a Kafka ProducerRecord, and an ConsumerRecord back into an EventMessage. This DefaultKafkaMessageConverter uses String as the key and byte[] as the value of the message to de-/serialize. Albeit the default, this implementation allows for some customization, such as how the EventMessage MetaData is mapped to Kafka headers. This is achieved by adjusting the \"header value mapper\" in the DefaultKafkaMessageConverter builder. The SequencingPolicy can be adjusted to change the behaviour of the record key being used. The default sequencing policy is the SequentialPerAggregatePolicy, which leads to the aggregate identifier of an event being the key of a ProducerRecord and ConsumerRecord. The format of an event message defines an API between the producer and the consumer of the message. This API may change over time, leading to incompatibility between the event class' structure on the receiving side and the event structure of a message containing the old format. Axon addresses the topic of Event Versioning by introducing Event Upcasters. The DefaultKafkaMessageConverter supports this by provisioning an EventUpcasterChain and run the upcasting process on the MetaData and Payload of individual messages converted from ConsumerRecord before those are passed to the Serializer and converted into Event instances. Note that the KafkaMessageConverter feeds the upcasters with messages one-by-one, limiting it to one-to-one or one-to-many upcasting only. Upcasters performing a many-to-one or many-to-many operation thus won’t be able to operate inside the extension (yet). Lastly, the Serializer used by the converter can be adjusted. See the Serializer section for more details on this. public class KafkaMessageConversationConfiguration { // ... public KafkaMessageConverter kafkaMessageConverter(Serializer serializer, SequencingPolicy> sequencingPolicy, BiFunction headerValueMapper, EventUpcasterChain upcasterChain) { return DefaultKafkaMessageConverter.builder() .serializer(serializer) // Hard requirement .sequencingPolicy(sequencingPolicy) // Defaults to a \"SequentialPerAggregatePolicy\" .upcasterChain(upcasterChain) // Defaults to empty upcaster chain .headerValueMapper(headerValueMapper) // Defaults to \"HeaderUtils#byteMapper()\" .build(); } // ... } Make sure to use an identical KafkaMessageConverter on both the producing and consuming end, as otherwise exception upon deserialization should be expected. A CloudEventKafkaMessageConverter is also available using the Cloud Events spec.","title":"Customizing Event Message Format","component":"kafka-extension-reference","version":"4.10","name":"message-format","url":"/kafka-extension-reference/4.10/message-format/","titles":[]},"102":{"id":102,"text":"When Event Messages are published to an Event Bus (or Event Store), they can be forwarded to a Kafka topic using the KafkaPublisher. To achieve this it will utilize a Kafka Producer, retrieved through Axon’s ProducerFactory. The KafkaPublisher in turn receives the events to publish from a KafkaEventPublisher. Since the KafkaEventPublisher is an event message handler in Axon terms, we can provide it to any Event Processor to receive the published events. The choice of event processor which brings differing characteristics for event publication to Kafka: Subscribing Event Processor - publication of messages to Kafka will occur in the same thread (and Unit of Work) which published the events to the event bus. This approach ensures failure to publish to Kafka enforces failure of the initial event publication on the event bus Tracking Event Processor - publication of messages to Kafka is run in a different thread (and Unit of Work) than the one which published the events to the event bus. This approach ensures the event has been published on the event bus regardless of whether publication to Kafka works When setting up event publication it is also important to take into account which ConfirmationMode is used. The ConfirmationMode influences the process of actually producing an event message on a Kafka topic, but also what kind of Producer the ProducerFactory will instantiate: TRANSACTIONAL - This will require the Producer to start, commit and (in case of failure) rollback the transaction of publishing an event message. Alongside this, it will create a pool of Producer instances in the ProducerFactory to avoid continuous creation of new ones, requiring the user to provide a \"transactional id prefix\" to uniquely identify every Producer in the pool. WAIT_FOR_ACK - Setting \"WAIT_FOR_ACK\" as the ConfirmationMode will require the Producer instance to wait for a default of 1 second (configurable on the KafkaPublisher) until the event message publication has been acknowledged. Alongside this, it will create a single, shareable Producer instance from within the ProducerFactory. NONE - This is the default mode, which only ensures a single, shareable Producer instance from within the ProducerFactory. It is a several step process to configure Event publication to Kafka, which starts with the ProducerFactory. Axon provides the DefaultProducerFactory implementation of the ProducerFactory, which should be instantiated through the provided DefaultProducerFactory.Builder. The builder has one hard requirement, which is the Producer configuration Map. The Map contains the settings to use for the Kafka Producer client, such as the Kafka instance locations. Please check the Kafka documentation for the possible settings and their values. public class KafkaEventPublicationConfiguration { // ... public ProducerFactory producerFactory(Duration closeTimeout, int producerCacheSize, Map producerConfiguration, ConfirmationMode confirmationMode, String transactionIdPrefix) { return DefaultProducerFactory.builder() .closeTimeout(closeTimeout) // Defaults to \"30\" seconds .producerCacheSize(producerCacheSize) // Defaults to \"10\"; only used for \"TRANSACTIONAL\" mode .configuration(producerConfiguration) // Hard requirement .confirmationMode(confirmationMode) // Defaults to a Confirmation Mode of \"NONE\" .transactionalIdPrefix(transactionIdPrefix) // Hard requirement when in \"TRANSACTIONAL\" mode .build(); } // ... } The second infrastructure component to introduce is the KafkaPublisher, which has a hard requirement on the ProducerFactory. Additionally, this would be the place to define the Kafka topics upon which Axon event messages will be published. You can set a function from event to Optional. You can use this to only publish certain events, or put different events to different topics. Its not uncommon for Kafka topics to only contain one type of message. Note that the KafkaPublisher needs to be shutDown properly, to ensure all Producer instances are properly closed. public class KafkaEventPublicationConfiguration { // ... public KafkaPublisher kafkaPublisher(String topic, ProducerFactory producerFactory, KafkaMessageConverter kafkaMessageConverter, int publisherAckTimeout) { return KafkaPublisher.builder() .topicResolver(m -> Optional.of(topic)) // Defaults to \"Axon.Events\" for all events .producerFactory(producerFactory) // Hard requirement .messageConverter(kafkaMessageConverter) // Defaults to a \"DefaultKafkaMessageConverter\" .publisherAckTimeout(publisherAckTimeout) // Defaults to \"1000\" milliseconds; only used for \"WAIT_FOR_ACK\" mode .build(); } // ... } Lastly, we need to provide Axon’s event messages to the KafkaPublisher. To that end a KafkaEventPublisher should be instantiated through the builder pattern. Remember to add the KafkaEventPublisher to an event processor implementation of your choice. It is recommended to use the KafkaEventPublisher#DEFAULT_PROCESSING_GROUP as the processing group name of the event processor to distinguish it from other event processors. public class KafkaEventPublicationConfiguration { // ... public KafkaEventPublisher kafkaEventPublisher(KafkaPublisher kafkaPublisher) { return KafkaEventPublisher.builder() .kafkaPublisher(kafkaPublisher) // Hard requirement .build(); } public void registerPublisherToEventProcessor(EventProcessingConfigurer eventProcessingConfigurer, KafkaEventPublisher kafkaEventPublisher) { String processingGroup = KafkaEventPublisher.DEFAULT_PROCESSING_GROUP; eventProcessingConfigurer.registerEventHandler(configuration -> kafkaEventPublisher) .assignHandlerTypesMatching( processingGroup, clazz -> clazz.isAssignableFrom(KafkaEventPublisher.class) ) .registerSubscribingEventProcessor(processingGroup); // Replace `registerSubscribingEventProcessor` for `registerTrackingEventProcessor` to use a tracking processor } // ... } Kafka ensures message ordering on a topic-partition level, not on an entire topic. To control events of a certain group to be placed in a dedicated partition, based on aggregate identifier for example, the message converter’s SequencingPolicy can be utilized. The topic-partition pair events have been published in also has impact on event consumption. This extension mitigates any ordering concerns with the streamable solution, by ensuring a Consumer always receives all events of a topic to be able to perform a complete ordering. This guarantee is however not given when using the subscribable event consumption approach. The subscribable stream leaves all the ordering specifics in the hands of Kafka, which means the events should be published on a consistent partition to ensure ordering.","title":"Publishing Events to Kafka","component":"kafka-extension-reference","version":"4.10","name":"publishing","url":"/kafka-extension-reference/4.10/publishing/","titles":[{"text":"Configuring event publication to Kafka","hash":"_configuring_event_publication_to_kafka","id":1},{"text":"Topic partition publication considerations","hash":"_topic_partition_publication_considerations","id":2}]},"103":{"id":103,"text":"You can find the release notes for the Kafka Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Kafka Extension to be compatible with Axon Framework 4.10.0 Updates various dependencies Adds the ability to ignore metadata keys See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Kafka Extension","component":"kafka-extension-reference","version":"4.10","name":"release-notes","url":"/kafka-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"104":{"id":104,"text":"This extension can be added as a Spring Boot starter dependency to your project using group id org.axonframework.extensions.kafka and artifact id axon-kafka-spring-boot-starter. When using the auto configuration, the following components will be created for you automatically: A using the configured eventSerializer (which defaults to XStreamSerializer), which is used by default to convert between Axon Event messages and Kafka records. Uses a String for the keys and a byte[] for the record’s values. When the property axon.kafka.message-converter-mode is set to cloud_event a CloudEventKafkaMessageConverter will be used instead. This will use String for the keys and CloudEvent. For each the matching Kafka (de)serializers will also be set as default. A DefaultProducerFactory using a String for the keys and a byte[] for the record’s values. This creates a ProducerFactory in confirmation mode \"NONE\", as is specified here. The axon.kafka.publisher.confirmation-mode should be adjusted to change this mode, where the \"TRANSACTIONAL\" mode requires axon.kafka.producer.transaction-id-prefix property to be provided. If the axon.kafka.producer.transaction-id-prefix is non-null and non-empty,it is assumed a \"TRANSACTIONAL\" confirmation mode is desired. Uses a Producer instance from the ProducerFactory to publish events to the configured Kafka topic. Used to provide events to the KafkaPublisher and to assign a processor name and processing group called __axon-kafka-event-publishing-group to it. Defaults to a SubscribingEventProcessor. If a TrackingEventProcessor is desired, the axon.kafka.producer.event-processor-mode should be set to tracking. A DefaultConsumerFactory using a String for the keys and a byte[] for the record’s values An AsyncFetcher. To adjust the Fetcher poll timeout, the axon.kafka.fetcher.poll-timeout can be set. A StreamableKafkaMessageSource which can be used for TrackingEventProcessor instances When using the Spring Boot auto-configuration be mindful to provide an application.properties file. The Kafka extension configuration specifics should be placed under prefix axon.kafka. On this level, the bootstrapServers (defaults to localhost:9092) and default-topic used by the producing and consuming side can be defined. The DefaultProducerFactory and DefaultConsumerFactory expects a Map of configuration properties, which correspond to Kafka Producer and Consumer specific properties respectively. As such, Axon itself passes along these properties without using them directly itself. The application.properties file provides a number of named properties under the axon.kafka.producer. and axon.kafka.consumer. prefixes. If the property you are looking for is not predefined in Axon KafkaProperties file, you are always able to introduce properties in a map style. # This is a sample properties file to configure the Kafka Extension axon: kafka: bootstrap-servers: localhost:9092 client-id: kafka-axon-example default-topic: local.event properties: security.protocol: PLAINTEXT publisher: confirmation-mode: transactional producer: transaction-id-prefix: kafka-sample retries: 0 event-processor-mode: subscribing # For additional unnamed properties, add them to the `properties` map like so properties: some-key: [some-value] fetcher: poll-timeout: 3000 consumer: enable-auto-commit: true auto-commit-interval: 3000 event-processor-mode: tracking # For additional unnamed properties, add them to the `properties` map like so properties: some-key: [some-value] Auto configuring a SubscribableKafkaMessageSource The auto configured StreamableKafkaMessageSource can be toggled off by setting the axon.kafka.consumer.event-processing-mode to subscribing. Note that this does not create a SubscribableKafkaMessageSource for you out of the box. To set up a subscribable message, we recommend to read this section.","title":"Configuration in SpringBoot","component":"kafka-extension-reference","version":"4.10","name":"springboot-configuration","url":"/kafka-extension-reference/4.10/springboot-configuration/","titles":[{"text":"Generic components","hash":"_generic_components","id":1},{"text":"DefaultKafkaMessageConverter","hash":"_defaultkafkamessageconverter","id":2},{"text":"Producer components","hash":"_producer_components","id":3},{"text":"DefaultProducerFactory","hash":"_defaultproducerfactory","id":4},{"text":"KafkaPublisher","hash":"_kafkapublisher","id":5},{"text":"KafkaEventPublisher","hash":"_kafkaeventpublisher","id":6},{"text":"Consumer components","hash":"_consumer_components","id":7},{"text":"DefaultConsumerFactory","hash":"_defaultconsumerfactory","id":8},{"text":"AsyncFetcher","hash":"_asyncfetcher","id":9},{"text":"StreamableKafkaMessageSource","hash":"_streamablekafkamessagesource","id":10},{"text":"Properties file configuration","hash":"_properties_file_configuration","id":11}]},"105":{"id":105,"text":"This section describes the additional functionality attached to Axon’s command dispatching and handling logic. An inlined method has been introduced on the CommandGateway which allows the introduction of a dedicated function to be invoked upon success or failure of handling the command. As such it provides a shorthand instead of using the CommandCallback directly yourself. Here is a sample of how this can be utilized within your own project: import org.axonframework.commandhandling.CommandMessage import org.axonframework.commandhandling.gateway.CommandGateway import org.axonframework.messaging.MetaData import org.slf4j.LoggerFactory class CommandDispatcher(private val commandGateway: CommandGateway) { private val logger = LoggerFactory.getLogger(CommandDispatcher::class.java) // Sample usage providing specific logging logic, next to for example the LoggingInterceptor fun issueCardCommand() { commandGateway.send( command = IssueCardCommand(), onSuccess = { message: CommandMessage, result: Any, _: MetaData -> logger.info(\"Successfully handled [{}], resulting in [{}]\", message, result) }, onError = { result: Any, exception: Throwable, _: MetaData -> logger.warn( \"Failed handling the IssueCardCommand, with output [{} and exception [{}]\", result, exception ) } ) } } class IssueCardCommand","title":"Commands","component":"kotlin-extension-reference","version":"4.10","name":"commands","url":"/kotlin-extension-reference/4.10/commands/","titles":[{"text":"CommandGateway","hash":"commandgateway","id":1}]},"106":{"id":106,"text":"This section describes the additional functionality attached to Axon’s event publication and handling logic. A simplified implementation of the Single Event Upcaster is given, which allows for a shorter implementation cycle. Making an upcaster to upcast the CardIssuedEvent from revision 0 to 1 can be written as follows: import com.fasterxml.jackson.databind.JsonNode import org.axonframework.serialization.upcasting.event.SingleEventUpcaster fun `CardIssuedEvent 0 to 1 Upcaster`(): SingleEventUpcaster = EventUpcaster.singleEventUpcaster( eventType = CardIssuedEvent::class, storageType = JsonNode::class, revisions = Revisions(\"0\", \"1\") ) { event -> // Perform your upcasting process of the CardIssuedEvent here event } class CardIssuedEvent Alternatively, since Revisions is essentially a Pair of String, it is also possible to use Kotlin’s to function: EventUpcaster.singleEventUpcaster( eventType = CardIssuedEvent::class, storageType = JsonNode::class, revisions = \"0\" to \"1\" ) { event -> // Perform your upcasting process of the CardIssuedEvent here event }","title":"Events","component":"kotlin-extension-reference","version":"4.10","name":"events","url":"/kotlin-extension-reference/4.10/events/","titles":[{"text":"Event upcasters","hash":"_event_upcasters","id":1}]},"107":{"id":107,"text":"Kotlin is a programming language which interoperates fully with Java and the JVM. As Axon is written in Java it can be used in conjunction with Kotlin too, offering a different feel when using the framework. Some of Axon’s API’s work perfectly well in Java, but have a rather awkward feel when transitioning over to Kotlin. The goal of the Kotlin Extension is to remove that awkwardness, by providing inline and reified methods of Axon’s API. Several solutions are currently given, which can roughly be segregated into the distinct types of messages used by Axon. This thus provides a Commands, Events and Queries section on this guide. Experimental Release Currently, the Kotlin Extension has been release experimentally (for example, release 0.1.0). This means that all implementations are subject to change until a full release (for example, a release 1.0.0) has been made.","title":"Kotlin","component":"kotlin-extension-reference","version":"4.10","name":"index","url":"/kotlin-extension-reference/4.10/","titles":[]},"108":{"id":108,"text":"This section describes the additional functionality attached to Axon’s query dispatching and handling logic. Several inlined methods have been introduced on the QueryGateway to use generics instead of explicit Class objects and ResponseType parameters. import org.axonframework.queryhandling.QueryGateway class QueryDispatcher(private val queryGateway: QueryGateway) { fun getTotalNumberOfCards(): Int { val query = CountCardSummariesQuery() // Query will return a CompletableFuture so it has to be handled return queryGateway.query(query) .join() } } data class CountCardSummariesQuery(val filter: String = \"\") In some cases, Kotlin’s type inference system can deduce types without explicit generic parameters. One example of this would be an explicit return parameter: import org.axonframework.queryhandling.QueryGateway import java.util.concurrent.CompletableFuture class QueryDispatcher(private val queryGateway: QueryGateway) { fun getTotalNumberOfCards(): CompletableFuture = queryGateway.query(CountCardSummariesQuery()) } data class CountCardSummariesQuery(val filter: String = \"\") There are multiple variants of the query method provided, for each type of ResponseType: query queryOptional queryMany An inline emit method has been added to QueryUpdateEmitter to simplify emit method’s call by using generics and moving the lambda predicate at the end of parameter list. This way the lambda function can be moved outside of the parentheses. import org.axonframework.queryhandling.QueryUpdateEmitter import org.axonframework.eventhandling.EventHandler class CardSummaryProjection (private val queryUpdateEmitter : QueryUpdateEmitter) { @EventHandler fun on(event : CardIssuedEvent) { // Update projection here // Then emit the CountChangedUpdate to subscribers of CountCardSummariesQuery // with the given filter queryUpdateEmitter .emit(CountChangedUpdate()) { query -> // Sample filter based on ID field event.id.startsWith(query.idFilter) } } } class CardIssuedEvent(val id : String) class CountChangedUpdate data class CountCardSummariesQuery(val idFilter: String = \"\")","title":"Queries","component":"kotlin-extension-reference","version":"4.10","name":"queries","url":"/kotlin-extension-reference/4.10/queries/","titles":[{"text":"QueryGateway","hash":"querygateway","id":1},{"text":"QueryUpdateEmitter","hash":"queryupdateemitter","id":2}]},"109":{"id":109,"text":"You can find the release notes for the Kotlin Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Kotlin Extension to be compatible with Axon Framework 4.10.0 Adds a serializer with kotlin.serialization support See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Kotlin Extension","component":"kotlin-extension-reference","version":"4.10","name":"release-notes","url":"/kotlin-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"110":{"id":110,"text":"See Dead-Letter Queue for the general information about the Dead-Letter Queue. @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule deadLetterQueueConfigurerModule( MongoTemplate mongoTemplate ) { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. return configurer -> configurer.eventProcessing().registerDeadLetterQueue( \"my-processing-group\", config -> MongoSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .mongoTemplate(mongoTemplate) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } }","title":"Configuration of the MongoDB Dead-Letter Queue with Spring","component":"mongodb-extension-reference","version":"4.10","name":"dlq-spring-config","url":"/mongodb-extension-reference/4.10/dlq-spring-config/","titles":[]},"111":{"id":111,"text":"The MongoEventStorageEngine has an @PostConstruct annotated method, called ensureIndexes which will generate the indexes required for correct operation. That means, when running in a container that automatically calls @PostConstruct handlers, the required unique index on \"Aggregate Identifier\" and \"Event Sequence Number\" is created when the event store is created. Note that there is always a balance between query optimization and update speed. Load testing is ultimately the best way to discover which indices provide the best performance. An index is automatically created on \"aggregateIdentifier\", \"type\" and \"sequenceNumber\" in the domain events (default name: \"domainevents\") collection. Additionally, a non-unique index on \"timestamp\" and \"sequenceNumber\" is configured on the domain events (default name: \"domainevents\") collection, for tracking event processors. A (unique) index on \"aggregateIdentifier\" and \"sequenceNumber\" is automatically created in the snapshot events (default name: \"snapshotevents\") collection. Put a (unique) index on the \"sagaIdentifier\" in the saga (default name: \"sagas\") collection. Put an index on the \"sagaType\", \"associations.key\" and \"associations.value\" properties in the saga (default name: \"sagas\") collection. Put a (unique) index on the combination of \"processingGroup\", \"sequenceIdentifier\" and \"index\" in the dead letter (default name: \"deadletters\") collection. Put an index on the \"processingGroup\", and \"sequenceIdentifier\" properties in the dead letter (default name: \"deadletters\") collection. Put an index on the \"processingGroup\" property in the dead letter (default name: \"deadletters\") collection. In pre Axon Framework 3 release we found MongoDb to be a good fit as an Event Store. However, with the introduction of Tracking Event Processors and how they track their events, we have encountered some inefficiencies regarding the Mongo Event Store implementation. We recommend using a built-for-purpose event store like Axon Server, or alternatively an RDBMS based (the JPA or JDBC implementations for example), and would only suggest to use Mongo for this use case if you have found its performance to be beneficial for your application.","title":"MongoDB Extension","component":"mongodb-extension-reference","version":"4.10","name":"index","url":"/mongodb-extension-reference/4.10/","titles":[{"text":"Normal operation use","hash":"_normal_operation_use","id":1},{"text":"Snapshotting","hash":"_snapshotting","id":2},{"text":"Sagas","hash":"_sagas","id":3},{"text":"Dead letter queue","hash":"_dead_letter_queue","id":4}]},"112":{"id":112,"text":"You can find the release notes for the Mongo Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Mongo Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Mongo Extension","component":"mongodb-extension-reference","version":"4.10","name":"release-notes","url":"/mongodb-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"113":{"id":113,"text":"@Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore(EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry) { return EmbeddedEventStore.builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The MongoEventStorageEngine stores each event in a separate MongoDB document. @Bean public EventStorageEngine storageEngine(MongoDatabaseFactory factory, TransactionManager transactionManager) { return MongoEventStorageEngine.builder() .mongoTemplate(SpringMongoTemplate.builder() .factory(factory) .build()) .transactionManager(transactionManager) // ... .build(); } }","title":"Configuration of the Event Store with Spring","component":"mongodb-extension-reference","version":"4.10","name":"spring-config","url":"/mongodb-extension-reference/4.10/spring-config/","titles":[]},"114":{"id":114,"text":"This extension can be added as a Spring Boot starter dependency to your project using group id org.axonframework.extensions.mongo and artifact id axon-mongo-spring-boot-starter. When using the autoconfiguration, by default the following components will be created for you automatically: A MongoTransactionManager to enable transactions with Mongo. A SpringMongoTransactionManager, this is the wrapped Spring mongo transaction manager, and will also be injected where applicable in other components created by the auto-config. A SpringMongoTemplate, this will use a MongoDatabaseFactory that should be available. To use transaction with Mongo the collections need to be accessed in a certain way, and this component makes sure of that. A MongoTokenStore, this will be used by the event processors to can keep track which events have been processed, and which segments are claimed. A MongoSagaStore, this will be used to store and retrieve saga’s. It’s also possible to autoconfigure the StorageStrategy and EventStorageEngine by setting the mongo.event-store.enabled to true. The creation of the token store and the saga store can be turned off by setting mongo.token-store.enabled or mongo.saga-store.enabled to false. It’s also possible to use a different database for the axon collections than the default the MongoDatabaseFactory uses by setting the axon.mongo.database-name property. The relevant configuration could look like this: spring: data: mongodb: uri: mongodb://localhost:27017/test mongo: database-name: axon token-store: enabled: true saga-store: enabled: false event-store: enabled: false While test is the default database name, for the Axon collections the axon database will be used instead. The saga store will not be initialised.","title":"Configuration in SpringBoot","component":"mongodb-extension-reference","version":"4.10","name":"springboot-config","url":"/mongodb-extension-reference/4.10/springboot-config/","titles":[]},"115":{"id":115,"text":"Minimal configuration is needed to get extension up and running. If you know list of contexts that you want your application to connect in advanced configure them coma separated in application.properties via following properties: axon.axonserver.contexts=tenant-context-1,tenant-context-2,tenant-context-3 If you don’t know tenants in advance and you plan to create them in runtime, you can define a predicate which will tell application to which contexts to connect to in runtime: @Bean public TenantConnectPredicate tenantFilterPredicate() { return context -> context.tenantId().startsWith(\"tenant-\"); } Note that in this case you need to remove axon.axonserver.contexts property. By default, to route message to specific tenant you need to tag initial message that enters your system with metadata . This is done with meta-data helper, and you need to add tenant name to metadata with key TenantConfiguration.TENANT_CORRELATION_KEY. message.andMetaData(Collections.singletonMap(TENANT_CORRELATION_KEY, \"tenant-context-1\") Metadata needs to be added only to initial message that enters your system. Any message that is produced by consequence of initial message will have this metadata copied automatically using to CorrelationProvider. If you wish to disable default meta-data based routing define following property: axon.multi-tenancy.use-metadata-helper=false And define custom tenant resolver bean. For example following imaginary bean can use message payload to route message to specific tenant: @Bean public TargetTenantResolver> customTargetTenantResolver() { return (message, tenants) -> (1) TenantDescriptor.tenantWithId( message.getPayload().getField(\"tenantName\") ); } 1 First lambda parameter message represents message to be routed, while second parameter tenants represents list of currently registered tenants, if you wish to use is to route only to one of connected tenants. If you wish to use distinct database to store projections and token store for each tenant, configure following bean: @Bean public Function tenantDataSourceResolver() { return tenant -> { DataSourceProperties properties = new DataSourceProperties(); properties.setUrl(\"jdbc:postgresql://localhost:5432/\"+tenant.tenantId()); properties.setDriverClassName(\"org.postgresql.Driver\"); properties.setUsername(\"postgres\"); properties.setPassword(\"postgres\"); return properties; }; } Note that this works by using JPA multi-tenancy support, that means only SQL Databases are supported out of the box. If you wish to implement multi-tenancy for a different type of databases (for example, NoSQL) make sure that your projection database supports multi-tenancy. While in transaction you may find out which tenant owns transaction by calling: TenantWrappedTransactionManager.getCurrentTenant(). For more hints how to enable multi-tenancy for NoSQL databases check on how JPA SQL version is implemented In this case Liquibase or Flyway will not be able to initialise schemas for dynamic data sources. Any datasource that you use needs to have pre-initialized schema. In order to correctly resolve right query update emitter inject update emitter in following style: @EventHandler public void on(Event event, QueryUpdateEmitter queryUpdateEmitter) { //queryUpdateEmitter will route updates to same tenant as event will be ... } Resetting projections works a bit different because you have instanced of each event processor group for each tenant. Reset specific tenant event processor group: TrackingEventProcessor trackingEventProcessor = configuration.eventProcessingConfiguration() .eventProcessor(\"com.demo.query-ep@tenant-context-1\", TrackingEventProcessor.class) .get(); Name of each event processor is: {even processor name}@{tenant name} Access all tenant event processors by retrieving MultiTenantEventProcessor only. MultiTenantEventProcessor acts as a proxy Event Processor that references all tenant event processors. The configuration of a dead-letter queue is similar to a non-multi-tenant environment. The tenant will be resolved through the Message’s MetaData and routed to the corresponding DLQ. If you wish to have different enqueuing policies per tenant, you can use the MetaData from the dead letter message to determine to which tenant the message belongs to act accordingly. Do note that processing dead letters from the queue is slightly different, as you need the specific tenant context to process dead-letter from. To select the tenant for which you want to process a dead letter, you need to cast the SequencedDeadLetterProcessor to a MultiTenantDeadLetterProcessor. From the MultiTenantDeadLetterProcessor, you need to use the forTenant method to select the tenant-specific SequencedDeadLetterProcessor. public class DlqManagement { private MultiTenantDeadLetterProcessor multiTenantDeadLetterProcessor; // Axon Framework's org.axonframework.config.Configuration public DlqManagement(Configuration configuration) { SequencedDeadLetterProcessor deadLetterProcessor = configuration.sequencedDeadLetterProcessor(); this.multiTenantDeadLetterProcessor = (MultiTenantDeadLetterProcessor) deadLetterProcessor; } public void processDeadLetterSequenceForTenant(String tenantId, Predicate>> sequenceFilter) { multiTenantDeadLetterProcessor.forTenant(tenantId) .process(sequenceFilter); } } Here is a full example of a REST endpoint to retry dead letters for a specific tenant: public class DlqManagementController { // Axon Framework's org.axonframework.config.Configuration private Configuration configuration; @PostMapping(path = \"/retry-dlq\") public void retryDLQ(@RequestParam String tenant, @RequestParam String processingGroup) { configuration.eventProcessingConfiguration() .sequencedDeadLetterProcessor(processingGroup) .map(p -> (MultiTenantDeadLetterProcessor) p) .map(mp -> mp.forTenant(TenantDescriptor.tenantWithId(tenant))) .ifPresent(SequencedDeadLetterProcessor::processAny); } } Only JPA Dead letter queue and In-Memory queues are supported. As of now, there is no plan to support deadline manager out of the box. None of deadline manager implementation support multi-tenancy. See Event scheduler section as alternative. You can use the MultiTenantEventScheduler to schedule events for specific tenants. To do so, you can inject the EventScheduler and use it to schedule events: public class EventHandlingComponentSchedulingEvents { private EventScheduler eventScheduler; @EventHandler public void eventHandler(Event event) { // Schedules the given event to be published in 10 days. ScheduledToken token = eventScheduler.schedule(Instant.now().plusDays(10), event); // The token returned by EventScheduler#schedule can be used to, for example, cancel the scheduled task. eventScheduler.cancelSchedule(token); } } If you use the EventScheduler from any message handling method, it will automatically pick up tenant from Message#metadata. Hence, there is no need to specify the tenant you want to schedule an event for. If you wish to use the EventScheduler outside of message handlers, you are inclined to wrap the execution into a so-called TenantWrappedTransactionManager. Within this TenantWrappedTransactionManager you can schedule the event: public class EventSchedulingComponent { private EventScheduler eventScheduler; public void schedule(Event event) { ScheduledToken token; // Schedules the given event to be published in 10 days. new TenantWrappedTransactionManager( TenantDescriptor.tenantWithId(tenantName)) .executeInTransaction( () -> token = eventScheduler.schedule(Instant.now().plusDays(10), event) ); // The token returned by EventScheduler#schedule can be used to, for example, cancel the scheduled task. new TenantWrappedTransactionManager( TenantDescriptor.tenantWithId(tenantName)) .executeInTransaction( () -> eventScheduler.cancelSchedule(token) ); } } You can override the default message source for each tenant by defining the following bean: @Bean public MultiTenantStreamableMessageSourceProvider multiTenantStreamableMessageSourceProvider(AxonServerEventStore customSource) { return (defaultTenantSource, processorName, tenantDescriptor, configuration) -> { if (tenantDescriptor.tenantId().startsWith(\"tenant-custom\")) { return customSource; } return defaultTenantSource; }; } This bean should return a StreamableMessageSource that will be used for specific tenants. This lambda will be called for each tenant and each event processor, so be sure to return a default tenant source if you don’t want to override it. In certain cases, you may want to disable multi-tenancy for specific Event Processor which does not have any tenants. For example, when you have an event processor that is consuming events from an external context. Per default, each event processor is scaled, and duplicated for each tenant. To disable this behavior for a specific processing, you can define following bean: @Bean public MultiTenantEventProcessorPredicate multiTenantEventProcessorPredicate() { return (processorName) -> !processorName.equals(\"external-context\"); } This bean should return true for each processor that you want to be multi-tenant, and false for each processor that you want to be single tenant. This extension provides several factory interfaces that are used to create tenant-specific segments for various Axon components, such as Command Bus, Query Bus, Event Store, and Event Scheduler. These factories allow you to configure and customize the behavior of these components for each tenant. The following tenant segment factories are available: This factory is responsible for creating a CommandBus instance for each tenant. By default, it creates an AxonServerCommandBus that uses a SimpleCommandBus as the local segment and connects to Axon Server. You can override this factory to provide a custom implementation of the CommandBus for specific tenants. This factory creates a QueryBus instance for each tenant. By default, it creates an AxonServerQueryBus that uses a SimpleQueryBus as lhe local segment and connects to Axon Server. You can override this factory to provide a custom implementation of the QueryBus for specific tenants. This factory is responsible for creating an EventStore instance for each tenant. By default, it creates an AxonServerEventStore that connects to Axon Server. You can override this factory to provide a custom implementation of the EventStore for specific tenants. This factory creates an EventScheduler instance for each tenant. By default, it creates an AxonServerEventScheduler that connects to Axon Server. You can override this factory to provide a custom implementation of the EventScheduler for specific tenants. This factory creates a TenantDescriptor for each event processor, which is used to identify the tenant associated with the event processor. By default, it uses the tenant identifier as the TenantDescriptor. You can override this factory to provide a custom implementation of the TenantDescriptor for specific event processors.","title":"Configuration","component":"multitenancy-extension-reference","version":"4.10","name":"configuration","url":"/multitenancy-extension-reference/4.10/configuration/","titles":[{"text":"Static tenants configuration","hash":"_static_tenants_configuration","id":1},{"text":"Dynamic tenants configuration","hash":"_dynamic_tenants_configuration","id":2},{"text":"Route message to specific tenant","hash":"_route_message_to_specific_tenant","id":3},{"text":"Custom resolver","hash":"_custom_resolver","id":4},{"text":"Multi-tenant projections","hash":"_multi_tenant_projections","id":5},{"text":"Query update emitter","hash":"_query_update_emitter","id":6},{"text":"Resetting projections","hash":"_resetting_projections","id":7},{"text":"Dead-letter queue","hash":"_dead_letter_queue","id":8},{"text":"Deadline manager","hash":"_deadline_manager","id":9},{"text":"Event scheduler","hash":"_event_scheduler","id":10},{"text":"Advanced configuration","hash":"_advanced_configuration","id":11},{"text":"Overriding default message source","hash":"_overriding_default_message_source","id":12},{"text":"Disable multi-tenancy for specific event processor","hash":"_disable_multi_tenancy_for_specific_event_processor","id":13},{"text":"Tenant Segment Factories","hash":"_tenant_segment_factories","id":14},{"text":"TenantCommandSegmentFactory","hash":"_tenantcommandsegmentfactory","id":15},{"text":"TenantQuerySegmentFactory","hash":"_tenantquerysegmentfactory","id":16},{"text":"TenantEventSegmentFactory","hash":"_tenanteventsegmentfactory","id":17},{"text":"TenantEventSchedulerSegmentFactory","hash":"_tenanteventschedulersegmentfactory","id":18},{"text":"TenantEventProcessorControlSegmentFactory","hash":"_tenanteventprocessorcontrolsegmentfactory","id":19}]},"116":{"id":116,"text":"By default, extension is automatically enabled. If you wish to disable extension without removing extension use following property. axon.multi-tenancy.enabled=false","title":"Disable Extension","component":"multitenancy-extension-reference","version":"4.10","name":"disable","url":"/multitenancy-extension-reference/4.10/disable/","titles":[]},"117":{"id":117,"text":"Axon Framework Multitenancy Extension provides your application ability to serve multiple tenants (event-stores) at once. Multi-tenancy is important in cloud computing and this extension will provide ability to connect to tenants dynamically, physical separate tenants data, scale tenants independently…​ Currently, following requirements needs to be meet for extension to work: Use Spring Framework together with Axon Framework 4.6+ Use Axon Server EE 4.6+ or Axon Cloud as event store This is not hard requirement but if you wish to enable multitenancy on projection side, only SQL databases are supported out-of-the box Only components that interact with Axon Server and or database via JPA are supported out of the box. If you wish to use other components, you need to implement multi-tenancy support for them.","title":"Introduction","component":"multitenancy-extension-reference","version":"4.10","name":"index","url":"/multitenancy-extension-reference/4.10/","titles":[{"text":"Requirements","hash":"_requirements","id":1},{"text":"Restrictions","hash":"_restrictions","id":2}]},"118":{"id":118,"text":"Currently, supported multi-tenants components are as follows: MultiTenantCommandBus MultiTenantEventProcessor MultiTenantEventStore MultiTenantQueryBus MultiTenantQueryUpdateEmitter MultiTenantEventProcessorControlService MultiTenantDataSourceManager MultiTenantEventScheduler Not supported components are: Deadline Manager","title":"Supported Multi-Tenant Components","component":"multitenancy-extension-reference","version":"4.10","name":"multi-tenant-components","url":"/multitenancy-extension-reference/4.10/multi-tenant-components/","titles":[]},"119":{"id":119,"text":"You can find the release notes for the MultiTenancy Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Implements support for Persistent Streams, the new feature introduced in Axon Framework 4.10.0 in combination with Axon Server. See the GitHub release notes for an exhaustive list of all changes. Pass through missing span factories #232 We’d like to thank all the contributors who worked on this release! @sandjelkovic Enhances the flexibility and security of the MultiTenantDataSourceManager See the GitHub release notes for an exhaustive list of all changes. Fixes the Spring Boot Aut-configuration ordering See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Multi-Tenancy Extension","component":"multitenancy-extension-reference","version":"4.10","name":"release-notes","url":"/multitenancy-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10.0","hash":"_release_4_10_0","id":1},{"text":"Patch releases","hash":"_patch_releases","id":2},{"text":"Release 4.10.3","hash":"_release_4_10_3","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5},{"text":"Release 4.10.2","hash":"_release_4_10_2","id":6},{"text":"Release 4.10.1","hash":"_release_4_10_1","id":7}]},"120":{"id":120,"text":"Overlooking Axon Frameworks architecture, you can notice that in general systems using the framework are \"Message Driven\", \"Responsive\", \"Resilient\" and \"Elastic\". According to Reactive Manifesto, the same holds for Reactive Systems in general. Although we can state that Axon Framework is a type of reactive system, we can’t say that it is fully reactive. Reactive programming is an approach to writing software that embraces asynchronous I/O. Asynchronous I/O is a small idea that portends big changes for software. The idea is simple: alleviate inefficient resource utilization by reclaiming resources that would otherwise be idle, as they waited for I/O activity. Asynchronous I/O inverts the normal design I/O processing: the clients are notified of new data instead of asking for it, which frees the client to do other work while waiting for these notifications. By their nature, a reactive API and Axon are a great fit, as most of framework’s operations are async and non-blocking. Providing a dedicated extension for this was thus a logical step to take. To that end, we chose to use Pivotal’s Project Reactor to build this extension. Reactor builds on top of the Reactive Streams specification and is the de-facto standard for Java enterprise and Spring applications. As such, we feel it to be a great fit to provide an extension in, making Axon more reactive. Not all Axon components offer a reactive API, yet. We will incrementally introduce more \"reactiveness\" to this extension, giving priority to components where users can benefit the most. To use the Axon Reactor Extension, make sure that axon-reactor module is available on the classpath.","title":"Reactor","component":"reactor-extension-reference","version":"4.10","name":"index","url":"/reactor-extension-reference/4.10/","titles":[]},"121":{"id":121,"text":"The \"Reactive Gateways\" offer a reactive API wrapper around the command, query and event bus. Most of the operations are similar to those from non-reactive gateways, simply replacing the CompletableFuture with either a Mono or Flux. In some cases, the API is expended to ease use of common reactive patterns. Reactor doesn’t allow null values in streams. Any null value returned from the handler will be mapped to Mono#empty(). Retrying operations All operations support Reactor’s retry mechanism: reactiveQueryGateway.query(query, ResponseType.class).retry(5); This call will retry sending the query a maximum of five times when it fails. This extension can be added as a Spring Boot starter dependency to your project using group id org.axonframework.extensions.reactor and artifact id axon-reactor-spring-boot-starter. The implementation of the extension can be found here. This section describes the methods on the ReactorCommandGateway. Sends the given command once the caller subscribes to the command result. Returns immediately. A common pattern is using the REST API to send a command. In this case it is recommend to for example use WebFlux, and return the command result Mono directly to the controller: Sending a command from a Spring WebFlux Controller. class SpringCommandController { private final ReactorCommandGateway reactiveCommandGateway; @PostMapping public Mono sendCommand(@RequestBody CommandBody command) { return reactiveCommandGateway.send(command); } } If the command handling function returns type void, Mono should be replaced with Mono Another common pattern is \"send and forget\": Function that sends a command and returns immediately without waiting for the result. class CommandDispatcher { private final ReactorCommandGateway reactiveCommandGateway; public void sendAndForget(MyCommand command) { reactiveCommandGateway.send(command) .subscribe(); } } This method uses the given Publisher of commands to dispatch incoming commands. This operation is available only in the Reactor extension. Use it to connect third-party streams that delivers commands. Connects an external input stream directly to the Reactor Command Gateway. class CommandPublisher { private final ReactorCommandGateway reactiveCommandGateway; @PostConstruct public void startReceivingCommands(Flux inputStream) { reactiveCommandGateway.sendAll(inputStream) .subscribe(); } } The sendAll operation will keep sending commands until the input stream is canceled. send and sendAll do not offer any backpressure, yet. The only backpressure mechanism in place is that commands will be sent sequentially; thus once the result of a previous command arrives. The number of commands is prefetched from an incoming stream and stored in a buffer for sending (see Flux#concatMap). This slows down sending, but does not guarantee that the Subscriber will not be overwhelmed with commands if they are sent too fast. Sends the given query, expecting a response in the form of responseType from a single source. Recommended way of using the Reactor query gateway within a Spring REST controller. class SpringQueryController { private final ReactorQueryGateway reactiveQueryGateway; // The query's Mono is returned to the Spring controller. Subscribe control is given to Spring Framework. @GetMapping public Mono findAll(FindAllQuery query, Class responseType) { return reactiveQueryGateway.query(query, responseType); } } Sends the given query, expecting a response in the form of responseType from several sources within a specified duration. Sends a given query that stops after receiving three results, or after 5 seconds. class SpringQueryController { private final ReactorQueryGateway reactiveQueryGateway; @GetMapping public Flux findMany(FindManyQuery query) { return reactiveQueryGateway.scatterGather(query, SomeResponseType.class, Duration.ofSeconds(5)).take(3); } } Firstly, the Reactor API for subscription queries in Axon is not new. However, we noticed several patterns which are often used, such as: Concatenating initial results with query updates in a single stream, or skipping the initial result all together. As such, the Reactor Extension provides several methods to ease usage of these common patterns. Sends the given query, returns the initial result and keeps streaming incremental updates until a subscriber unsubscribes from the Flux. Note that this method should be used when the response type of the initial result and incremental update match. Flux resultFlux = reactiveQueryGateway.subscriptionQuery(\"criteriaQuery\", ResultType.class); The above invocation through the ReactorQueryGateway is equivalent to: class SubscriptionQuerySender { private final ReactorQueryGateway reactiveQueryGateway; public Flux sendSubscriptionQuery(SomeQuery query, Class responseType) { return reactiveQueryGateway.subscriptionQuery(query, responseType, responseType) .flatMapMany(result -> result.initialResult() .concatWith(result.updates()) .doFinally(signal -> result.close())); } } Sends the given query, returns the initial result and keeps streaming incremental updates until a subscriber unsubscribes from the Flux. This operation should be used when the initial result contains multiple instances of the response type which needs to be flattened. Additionally, the response type of the initial response and incremental updates need to match. Flux resultFlux = reactiveQueryGateway.subscriptionQueryMany(\"criteriaQuery\", ResultType.class); The above invocation through the ReactorQueryGateway is equivalent to: class SubscriptionQuerySender { private final ReactorQueryGateway reactiveQueryGateway; public Flux sendSubscriptionQuery(SomeQuery query, Class responseType) { return reactiveQueryGateway.subscriptionQuery(query, ResponseTypes.multipleInstancesOf(responseType), ResponseTypes.instanceOf(responseType)) .flatMapMany(result -> result.initialResult() .flatMapMany(Flux::fromIterable) .concatWith(result.updates()) .doFinally(signal -> result.close())); } } Sends the given query and streams incremental updates until a subscriber unsubscribes from the Flux. This method could be used when subscriber is only interested in updates. Flux updatesOnly = reactiveQueryGateway.queryUpdates(\"criteriaQuery\", ResultType.class); The above invocation through the ReactorQueryGateway is equivalent to: class SubscriptionQuerySender { private final ReactorQueryGateway reactiveQueryGateway; public Flux sendSubscriptionQuery(SomeQuery query, Class responseType) { return reactiveQueryGateway.subscriptionQuery(query, ResponseTypes.instanceOf(Void.class), responseType) .flatMapMany(result -> result.updates() .doFinally(signal -> result.close())); } } In the above shown methods, the subscription query is closed automatically after a subscriber has unsubscribed from the Flux. When using the regular QueryGateway, the subscription query needs to be closed manually however. Reactive variation of the EventGateway. Provides support for reactive return types such as Flux. Publishes the given events once the caller subscribes to the resulting Flux. This method returns events that were published. Note that the returned events may be different from those the user has published, granted an interceptor has been registered which modifies events. Example of dispatcher modified events, returned to user as the result Flux. class EventPublisher { private final ReactorEventGateway reactiveEventGateway; // Register a dispatch interceptor to modify the event messages public EventPublisher() { reactiveEventGateway.registerDispatchInterceptor( eventMono -> eventMono.map(event -> GenericEventMessage.asEventMessage(\"intercepted\" + event.getPayload())) ); } public void publishEvent() { Flux result = reactiveEventGateway.publish(\"event\"); } } Axon provides a notion of interceptors. The Reactor gateways allow for similar interceptor logic, namely the ReactorMessageDispatchInterceptor and ReactorResultHandlerInterceptor. These interceptors allow us to centrally define rules and filters that will be applied to a message stream. Interceptors will be applied in order they have been registered to the given component. The ReactorMessageDispatchInterceptor should be used to centrally apply rules and validations for outgoing messages. Note that a ReactorMessageDispatchInterceptor is an implementation of the default MessageDispatchInterceptor interface used throughout the framework. The implementation of this interface is described as follows: @FunctionalInterface public interface ReactorMessageDispatchInterceptor> extends MessageDispatchInterceptor { Mono intercept(Mono message); @Override default BiFunction handle(List messages) { return (position, message) -> intercept(Mono.just(message)).block(); } } It thus defaults the MessageDispatchInterceptor#handle(List method to utilize the ReactorMessageDispatchInterceptor#intercept(Mono) method. As such, a ReactorMessageDispatchInterceptor could thus be configured on a plain Axon gateway too. Here are a couple of examples how a message dispatch interceptor could be used: Dispatch interceptor that adds key-value pairs to the message’s MetaData. class ReactorConfiguration { public void registerDispatchInterceptor(ReactorCommandGateway reactiveGateway) { reactiveGateway.registerDispatchInterceptor( msgMono -> msgMono.map(msg -> msg.andMetaData(Collections.singletonMap(\"key1\", \"value1\"))) ); } } Dispatch interceptor that discards the message, based on a security flag in the Reactor Context. class ReactorConfiguration { public void registerDispatchInterceptor(ReactorEventGateway reactiveGateway) { reactiveGateway.registerDispatchInterceptor( msgMono -> msgMono.filterWhen(v -> Mono.subscriberContext() .filter(ctx-> ctx.hasKey(\"security\")) .map(ctx->ctx.get(\"security\"))) ); } } The ReactorResultHandlerInterceptor should be used to centrally apply rules and validations for incoming messages, a.k.a. results. The implementation of this interface is described as follows: @FunctionalInterface public interface ReactorResultHandlerInterceptor, R extends ResultMessage> { Flux intercept(M message, Flux results); } The parameters are the message that has been sent, and a Flux of results from that message, which is going to be intercepted. The message parameter can be useful if you want to apply a given result rule only for specific messages. Here are a couple of examples how a message result interceptor could be used: This type of interceptor is available only in the Reactor Extension. Result interceptor which discards all results that have a payload matching blockedPayload class ReactorConfiguration { public void registerResultInterceptor(ReactorQueryGateway reactiveGateway) { reactiveGateway.registerResultHandlerInterceptor( (msg, results) -> results.filter(r -> !r.getPayload().equals(\"blockedPayload\")) ); } } Result interceptor which validates that the query result does not contain an empty String. class ReactorConfiguration { public void registerResultInterceptor(ReactorQueryGateway reactiveGateway) { reactiveQueryGateway.registerResultHandlerInterceptor( (query, results) -> results.flatMap(r -> { if (r.getPayload().equals(\"\")) { return Flux.>error(new RuntimeException(\"no empty strings allowed\")); } else { return Flux.just(r); } }) ); } } Result interceptor which discards all results where the queryName matches myBlockedQuery. class ReactorConfiguration { public void registerResultInterceptor(ReactorQueryGateway reactiveGateway) { reactiveQueryGateway.registerResultHandlerInterceptor( (q, results) -> results.filter(it -> !((boolean) q.getQueryName().equals(\"myBlockedQuery\"))) ); } } Result interceptor which limits the result waiting time to thirty seconds per message. class ReactorConfiguration { public void registerResultInterceptor(ReactorCommandGateway reactiveGateway) { reactiveGateway.registerResultHandlerInterceptor( (msg,results) -> results.timeout(Duration.ofSeconds(30)) ); } } Result interceptor which limits the number of results to five entries, and logs all results. class ReactorConfiguration { public void registerResultInterceptor(ReactorCommandGateway reactiveGateway) { reactiveGateway.registerResultHandlerInterceptor( (msg,results) -> results.log().take(5) ); } }","title":"Reactor Gateways","component":"reactor-extension-reference","version":"4.10","name":"reactor-gateways","url":"/reactor-extension-reference/4.10/reactor-gateways/","titles":[{"text":"Configuration in SpringBoot","hash":"_configuration_in_springboot","id":1},{"text":"Reactor command gateway","hash":"_reactor_command_gateway","id":2},{"text":"send","hash":"send","id":3},{"text":"sendAll","hash":"sendall","id":4},{"text":"Reactor query gateway","hash":"_reactor_query_gateway","id":5},{"text":"query","hash":"query","id":6},{"text":"scatterGather","hash":"scattergather","id":7},{"text":"Subscription queries","hash":"_subscription_queries","id":8},{"text":"subscriptionQuery","hash":"subscriptionquery","id":9},{"text":"subscriptionQueryMany","hash":"subscriptionquerymany","id":10},{"text":"queryUpdates","hash":"queryupdated","id":11},{"text":"Reactor event gateway","hash":"_reactor_event_gateway","id":12},{"text":"publish","hash":"publish","id":13},{"text":"Interceptors","hash":"_interceptors","id":14},{"text":"React dispatch interceptors","hash":"_react_dispatch_interceptors","id":15},{"text":"Reactor result handler interceptors","hash":"_reactor_result_handler_interceptors","id":16}]},"122":{"id":122,"text":"You can find the release notes for the Reactor Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Reactor Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Reactor Extension","component":"reactor-extension-reference","version":"4.10","name":"release-notes","url":"/reactor-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"123":{"id":123,"text":"Before you set up this extension, it’s important to read through the documentation from Spring itself. There are some known limitations that might require additional changes to the application. In addition, this extension needs to be added by adding the following dependency: org.axonframework.extensions.spring-aot axon-spring-aot 4.8.0 This should be enough to have additional hints with ahead of time compilation to successfully build and run your Axon application.","title":"Compiling to Native","component":"spring-aot-extension-reference","version":"4.10","name":"compile-to-native","url":"/spring-aot-extension-reference/4.10/compile-to-native/","titles":[]},"124":{"id":124,"text":"Spring AOT processing is part of the process to create a native binary from a Spring (Boot) application. This extension will help in adding a lot of hints which are needed for Axon Framework. Please note this extension can only be used with Spring Boot 3, as such it requires at least Java 17. Besides the extension, it might be necessary to make more changes to successfully compile and run an application as a native image. For example, when a message isn’t used in a handler. This is quite common when the application is split, and the application sending certain messages is not the same as the application handling the messages. In those cases these messages need to be added to the ImportRuntimeHints annotation. Otherwise, these messages can’t be deserialized, leading to errors at runtime. If something is not working or only works with additional hints, and it’s Axon-specific, please let us know either at GitHub or Discuss.","title":"Spring Ahead of Time","component":"spring-aot-extension-reference","version":"4.10","name":"index","url":"/spring-aot-extension-reference/4.10/","titles":[]},"125":{"id":125,"text":"It can be beneficial to move from JPA implementations to JDBC implementations. This likely decreases both the time it takes to compile the image and the time to start the image.","title":"Performance Tips","component":"spring-aot-extension-reference","version":"4.10","name":"performance","url":"/spring-aot-extension-reference/4.10/performance/","titles":[]},"126":{"id":126,"text":"You can find the release notes for the Spring AOT Extension of version 4.10 below. For earlier releases, please go to the legacy documentation. Upgrades the Spring AOT Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes. Added native-compilation hints for reflection #197 Aggregate member causes errors in running Spring Boot AOT application #193 Command handler interceptor causes errors in running Spring Boot AOT application #192 Spring AOT doesn’t work when using custom or spring beans as parameters in handler methods #183 We’d like to thank all the contributors who worked on this release! @abuijze","title":"Release Notes Spring AOT Extension","component":"spring-aot-extension-reference","version":"4.10","name":"release-notes","url":"/spring-aot-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1},{"text":"Patch releases","hash":"_patch_releases","id":2},{"text":"Release 4.10.1","hash":"_release_4_10_1","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5}]},"127":{"id":127,"text":"The SpringCloudCommandRouter uses Spring Cloud’s discovery mechanism to find the other nodes in the cluster. To that end it uses the DiscoveryClient and Registration from Spring Cloud. These are respectively used to gather remote command routing information and maintain local information. The most straightforward way to retrieve both is by annotating your application with @EnableDiscoveryClient. Gathering and storing the command routing information revolves around Spring Cloud’s ServiceInstances. A Registration is just the local ServiceInstance, whereas the DiscoveryClient provides the API to find remote ServiceInstances. Furthermore, it is the ServiceInstance which provides us with the required information (for example, the URI) to retrieve a node’s capabilities. Spring Cloud’s Heartbeat Requirement When using the SpringCloudCommandRouter, make sure your Spring application has heartbeat events enabled. The heartbeat events published by a Spring Cloud application are the trigger to check if the set of ServiceInstances from the DiscoveryClient has been changed. Additionally, it is used to validate whether the command routing capabilities for known nodes has been altered. Thus, if heartbeat events are disabled, your instance will no longer be updated with the current command routing capabilities. If so, this will cause issues during command routing. The logic to store the local capabilities and discovering the remote capabilities of a ServiceInstance is maintained in the CapabilityDiscoveryMode. It is thus the CapabilityDiscoveryMode which provides us the means to actually retrieve a ServiceInstance 's set of commands it can handle (if any). The sole full implementation provided of the CapabilityDiscoveryMode, is the RestCapabilityDiscoveryMode, using a RestTemplate and the ServiceInstance URI to invoke a configurable endpoint. This endpoint leads to the MemberCapabilitiesController which in turn exposes the MemberCapabilities on the RestCapabilityDiscoveryMode of that instance. There are decorators present for the CapabilityDiscoveryMode, providing two additional features: IgnoreListingDiscoveryMode - a CapabilityDiscoveryMode decorator which on failure of retrieving the MemberCapabilities will place the given ServiceInstance on a list to be ignored for future validation. It thus effectively removes discoverable ServiceInstances from the set. AcceptAllCommandsDiscoveryMode - a CapabilityDiscoveryMode decorator which regardless of what this instance can handle as commands, state it can handle anything. This decorator comes in handy if the nodes in the system are homogeneous (aka, everybody can handle the same set of commands). The Registration, DiscoveryClient and CapabilityDiscoveryMode are arguably the heart of the SpringCloudCommandRouter. There are, however, a couple of additional things you can configure for this router, which are the following: RoutingStrategy - The component in charge of deciding which of the nodes receives the commands consistently. By default, a AnnotationRoutingStrategy is used (see Distributing the Command Bus for more). A ServiceInstance filter - This Predicate is used to filter out ServiceInstance retrieved through the DiscoveryClient. For example, it allows the removal of instances which are known to not handle any command messages. This might be useful if you have several services within the Spring Cloud Discovery Service set up, which you do not ever want to take into account for command handling. ConsistentHashChangeListener - Adding a consistent hash change listener provides you with the opportunity to perform a specific task if new nodes have been added to the known command handlers set. Differing Command Capabilities per Node It is not required for all nodes to have the same set of command handlers. You may use different segments for different command types altogether. The Distributed Command Bus will always choose a node to dispatch a command to the one that has support for that specific type of command.","title":"Discovering Command Routes","component":"spring-cloud-extension-reference","version":"4.10","name":"command-routes","url":"/spring-cloud-extension-reference/4.10/command-routes/","titles":[]},"128":{"id":128,"text":"Chances are high that you will be using Spring Boot if you are also using Spring Cloud. As configuring goes, this would opt for usage of the axon-springcloud-spring-boot-starter dependency to automatically retrieve all required beans. In either case, your application should be marked to enable it as a discoverable service through Spring Cloud. This can, for example, be done by annotating the main class with @EnableDiscoveryClient. There are still quite a few customizable components. For some suggestions, take a look at the following examples: Custom Bean Configuration Spring Boot AutoConfiguration // Custom Spring Boot app, enabling a 'DiscoveryClient' and 'Registration' through `@EnableDiscoveryClient` @EnableDiscoveryClient @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } @Bean public CapabilityDiscoveryMode capabilityDiscoveryMode(RestTemplate restTemplate, Serializer serializer) { return RestCapabilityDiscoveryMode.builder() .restTemplate(restTemplate) .serializer(serializer) // Allows changing the endpoint used to find member capabilities .messageCapabilitiesEndpoint(/* custom message information endpoint */) .build(); } @Bean public CommandRouter springCloudCommandRouter(DiscoveryClient discoveryClient, Registration localServiceInstance, CapabilityDiscoveryMode capabilityDiscoveryMode) { return SpringCloudCommandRouter.builder() .discoveryClient(discoveryClient) .routingStrategy(new AnnotationRoutingStrategy()) .localServiceInstance(localServiceInstance) .capabilityDiscoveryMode(capabilityDiscoveryMode) .serviceInstanceFilter(/* custom ServiceInstance filter */) .consistentHashChangeListener(/* ConsistentHash change listener */) .build(); } // Only required if Axon Spring Boot Starter is not used @Bean @Qualifier(\"localSegment\") public CommandBus localSegment() { return SimpleCommandBus.builder().build(); } @Bean public CommandBusConnector springHttpCommandBusConnector(@Qualifier(\"localSegment\") CommandBus localSegment, RestOperations restOperations, Serializer serializer) { return SpringHttpCommandBusConnector.builder() .localCommandBus(localSegment) .restOperations(restOperations) .serializer(serializer) .executor(/* custom Executor */) .build(); } @Bean @Primary public DistributedCommandBus distributedCommandBus(CommandRouter commandRouter, CommandBusConnector commandBusConnector) { return DistributedCommandBus.builder() .commandRouter(commandRouter) .connector(commandBusConnector) .build(); } } # Required to enabled the DistributedCommandBus axon.distributed.enabled=true # Defines the load factor used for this segment. Defaults to 100 axon.distributed.load-factor=100 # Defines the CapabilityDiscoveryMode used. Defaults to REST axon.distributed.spring-cloud.mode=rest # Defines the endpoint used to retrieve member capabilities from. Defaults to \"/member-capabilities\" axon.distributed.spring-cloud.rest-mode-url=\"/my-custom-endpoint\" # Defines whether the CapabilityDiscoveryMode should be decorated to ignore faulty ServiceInstances axon.distributed.spring-cloud.enable-ignore-listing=true # Defines whether the CapabilityDiscoveryMode should be decorated to accept all types of commands axon.distributed.spring-cloud.enable-accept-all-commands=true","title":"Configuring This Extension","component":"spring-cloud-extension-reference","version":"4.10","name":"config","url":"/spring-cloud-extension-reference/4.10/config/","titles":[]},"129":{"id":129,"text":"Spring Cloud is an alternative approach to distributing the command bus (commands), besides Axon Server as the default. The Spring Cloud Extension uses the service registration and discovery mechanism described by Spring Cloud for distributing the command bus. You thus have the choice of which Spring Cloud implementation to use when discovering the routes to distribute your commands. An example of that would be Netflix' Eureka Discovery/Eureka Server combination or HashiCorp’s Consul. To use the Spring Cloud components from Axon, make sure the axon-springcloud module is available on the classpath. The easiest way is to include the Spring Cloud starter (axon-springcloud-spring-boot-starter) from this extension to your project. Giving a description of every Spring Cloud implementation would push this reference guide too far. For information on other Spring Cloud implementation options out there, please refer to their respective documentations. The Spring Cloud connector setup is a combination of the SpringCloudCommandRouter and a SpringHttpCommandBusConnector. The former is the CommandRouter and latter the CommandBusConnector, both used by the DistributedCommandBus to enable command distribution.","title":"Spring Cloud","component":"spring-cloud-extension-reference","version":"4.10","name":"index","url":"/spring-cloud-extension-reference/4.10/","titles":[]},"130":{"id":130,"text":"The CommandBusConnector is in charge of sending commands, based on a given route, from one node to another. This extension to that end provides the SpringHttpCommandBusConnector, which uses plain REST for sending commands. There are three hard requirements when creating this service and one optional configuration: Local CommandBus - This \"local segment\" is the command bus which dispatches commands into the local JVM. It is thus invoked when the SpringHttpCommandBusConnector receives a command from the outside, or if it receives a command which is meant for itself. RestOperations - The service used to POST a command message to another instance. In most situations the RestTemplate is used for this. Serializer - The serializer is used to serialize the command messages before they are sent over and deserialize when they are received. Executor (optional) - The Executor is used to handle incoming commands and to dispatch commands. Defaults to a DirectExecutor instance for backwards compatibility. Non-blocking command dispatching Note that the configurable Executor impacts how command dispatching acts when invoking CommandGateway#send methods returning a CompletableFuture. Although the CompletableFuture return type suggests a non-blocking result, if the bus under the hood reuses the dispatching thread we are still faced with a blocking operation. Hence, to make the SpringHttpCommandBusConnector fully non-blocking, it is recommended to adjust the Executor to use its own thread pool.","title":"Sending Commands between Nodes","component":"spring-cloud-extension-reference","version":"4.10","name":"internode-commands","url":"/spring-cloud-extension-reference/4.10/internode-commands/","titles":[]},"131":{"id":131,"text":"You can find the release notes for the Spring Cloud Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Spring Cloud Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Spring Cloud Extension","component":"spring-cloud-extension-reference","version":"4.10","name":"release-notes","url":"/spring-cloud-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"132":{"id":132,"text":"The extension can be disabled setting the property axon.extension.tracing.enabled to false (default=true). This will give you the possibility to turn it off when needed (for example, for a certain environment). Furthermore, there is a more fine-grained configuration option of the tracing span tags on commands, events and queries. You can customize span tags easily, mixing and matching between available tag MESSAGE_ID, AGGREGATE_ID, MESSAGE_TYPE, PAYLOAD_TYPE, MESSAGE_NAME and PAYLOAD. Take into account that some of the tags make sense on a certain span type, but not on another, and some of them have an hidden cost on network (such as payload). Use them wisely. axon.extension.tracing.span.commandTags=MESSAGE_ID, MESSAGE_TYPE, PAYLOAD_TYPE, MESSAGE_NAME axon.extension.tracing.span.eventTags=MESSAGE_ID, AGGREGATE_ID, MESSAGE_TYPE, PAYLOAD_TYPE axon.extension.tracing.span.queryTags=MESSAGE_ID, MESSAGE_TYPE, PAYLOAD_TYPE, MESSAGE_NAME Above an example of the default value. Available tags field are listed in MessageTag.java class.","title":"Configuring the Extension","component":"tracing-extension-reference","version":"4.10","name":"config","url":"/tracing-extension-reference/4.10/config/","titles":[]},"133":{"id":133,"text":"This extension provides functionality to trace command, event and query messages flowing through an Axon application by providing a specific implementation of the CommandGateway, QueryGateway, MessageDispatchInterceptor and MessageHandlerInterceptor. The Open Tracing standard is used to provide tracing capabilities, which thus allows usage of several Open Tracing implementations. With this instrumentation, we can chain synchronous and asynchronous commands and queries, all belonging to the same parent span. A request can be visualized and analysed across Axon clients, command handlers, query handlers and event handlers, when running together or decomposed and deployed as separate parts (distributed). org.axonframework.extensions.tracing axon-tracing-spring-boot-starter 4.4 io.opentracing.contrib opentracing-spring-jaeger-web-starter 3.2.2 The first dependency is Spring Boot starter for Axon Tracing extension, which is the quickest start in to an extension configuration. The second dependency is Jaeger implementation for OpenTracing. There are other supported tracers that can be used: LightStep, Instana, Apache SkyWalking, Datadog, Wavefront by VMware, Elastic APM and many more.","title":"Tracing","component":"tracing-extension-reference","version":"4.10","name":"index","url":"/tracing-extension-reference/4.10/","titles":[]},"134":{"id":134,"text":"You can find the release notes for the Tracing Extension of version 4.10 below. For earlier releases, please go to the legacy documentation. Upgrades the Tracing Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Tracing Extension","component":"tracing-extension-reference","version":"4.10","name":"release-notes","url":"/tracing-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"135":{"id":135,"text":"","title":"Axon Server Configuration","component":"axon-server-reference","version":"v2024.1","name":"configuration","url":"/axon-server-reference/v2024.1/configuration/","titles":[]},"136":{"id":136,"text":"","title":"Axon Server gRPC API","component":"axon-server-reference","version":"v2024.1","name":"grpc-api","url":"/axon-server-reference/v2024.1/grpc-api/","titles":[]},"137":{"id":137,"text":"Axon Server is the flagship product of AxonIQ, and companion product to the Open Source Axon Framework. Axon Server itself is available in two editions, Standard and Enterprise, with Axon Server Standard Edition (SE) available under the AxonIQ Open Source license, while Axon Server Enterprise Edition (EE) is licensed as a commercial product with a full range of support options. Axon Framework version compatibility All Axon Server versions are compatible with all Axon Framework 4.x.y releases. A summary of the various subsections is given below: Sub-Section Purpose Installation Installing Axon Server Administration Administering an Axon Server Clustering Clustering Axon Server nodes Security Securing an Axon Server deployment Performance Tuning an Axon Server deployment Migration Migration capabilities provided by Axon Server","title":"Introduction","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/","titles":[]},"138":{"id":138,"text":"Axon Server receives a major release three times a year. The versioning scheme aligns with the year it has been released in, followed by an incremental counter starting at zero. This results in 20XX.{0..2}.0 versions. Furthermore, the last release of the year is the LTS (long-term support) version of Axon Server. As such, the 20XX.2 version receives minor release to fix issues for an extended period of time. The non-LTS releases receive patches until the next major release is present. Note that an LTS is supported for a little over 2 years. This time window allows for skipping a given LTS version if this would be required. Down below is a table of all the release notes the major and minor release of Axon Server: Release Type Version Major 2024.1 2024.0 2023.2 2023.1 2023.0 Minor 2024.0 2023.2 2023.1 Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust.","title":"Release Notes","component":"axon-server-reference","version":"v2024.1","name":"release-notes","url":"/axon-server-reference/v2024.1/release-notes/","titles":[]},"139":{"id":139,"text":"","title":"Axon Server REST API","component":"axon-server-reference","version":"v2024.1","name":"rest-api","url":"/axon-server-reference/v2024.1/rest-api/","titles":[]},"140":{"id":140,"text":"Persistent streams provide the option to open an event stream from a client and let Axon Server track the progress. This was already available as a preview version in 2024.0, but is now available by default. Persistent streams are supported in Axon Framework 4.10 as an alternative to tracking or pooled streaming event processors. For more information see Subscribing event processor in the Axon Framework section. Prevent stale threads when an Axon Server node closes the connection to another node Clean up metrics from disconnected clients prevent WARN log messages when a query completed message was received from an unexpected client Allow context with ephemeral events without a license Fix for listing event processors when there are more than 512 event processors The default Java version for the Docker images has changed from Java 11 to Java 17. This means that the docker images with tag \"latest\", \"latest-nonroot\", \"2024.1.0\", and \"2024.1.0-nonroot\" use Java 17. Java 11 based images are still available with the \"-jdk-11\" extensions in the tag name. gRPC version updated to 1.65.1 Updated H2 database to store the Control DB, addressing some issues from previous H2 version (see the upgrade instructions in https://library.axoniq.io/axon-server-upgrade/upgrading_as_2024.html). Redesigned User Interface: The UI has been completely revamped with a modern look and feel for a better user experience. The changes include: Simplified Overview Page: Access node information easily with filtering and scaling options. Dedicated License Page: Track license expiry dates and view available features for non-enterprise users. Monitoring Page: View important health information, display logs, and download diagnostic packages. System Tasks: List and cancel running system tasks. Search Event Store Page: Improved usability with removable columns, formatted code styles, and auto-composable queries. Command and Queries Pages: Revamped for a better overview of messages in the system. Long-Running Commands Component: View and cancel commands running longer than 1 second. Scheduled Events Page: View and cancel scheduled events. Streams Page (Experimental): Accessible for persistent streams if dev mode is enabled. API Tokens (formerly Applications): Renamed for clarity, with improved token management. Support for Wide Screens and Dark/Light Themes: Enhanced viewing experience. Connection, Health, and Early Event Processor Issue Detection: Improved issue detection and resolution. Embedded Documentation Snippets: Access documentation directly within the UI. Preview of new persistent streams feature, event streams where Axon Server manages the publication of events to clients and keeps track of the progress. This feature is enabled when development mode is enabled or when axoniq.axonserver.preview.persistent-streams property is set to true. Axon Server now supports the hot (runtime) replacement of certificates and keys used for TLS, eliminating the need for server restarts. We have revamped the metrics exposed by Axon Server for better clarity and comprehensibility. Adhering to the 4 golden signals terminology, metrics are now systematically organized. Users can access both old and new style metrics in this version. However, there’s an option to disable the old style metrics. To aid in issue resolution, Axon Server now provides a more comprehensive diagnostics package. The package now contains more detailed information about raft status. It offers a snapshot of metrics and health information. There’s a listing of files in the replication group. Information about multi-tier storage is included. Logs are included as well. We’ve addressed various security concerns through dependency updates. Additionally, several bugs have been identified and rectified. The role ‘MONITOR’ is now granted permission to access the ‘internal/raft/status’ endpoint. We’ve transitioned to new versions for some of the external libraries used in Axon Server. The new Event Transformation feature allows users to perform specific event transformations like updates and deletes in the event store, utilizing the Event Transformation API.This functional change is intended to facilitate more flexible event management in rare instances where modifications are unavoidable. In the application view, users are now provided with an option to force the client to reconnect. This addition aims to offer a practical tool for addressing client connectivity issues. It is now possible to remove a node from the cluster through the user interface (UI). This functionality, previously accessible only via the command-line interface (CLI) and REST API, has been expanded to the UI for broader accessibility. In this release, we have temporarily disabled the 'Development Mode/Event Purge' feature. Users should now utilize the 'Delete/Create Context' operation as an alternative. This change will remain in place until a more efficient solution is implemented. In an effort to optimize performance, we have updated Axon Server’s approach to memory management for file resources. Prior to this release, Axon Server primarily depended on the Java garbage collector to reclaim memory used by memory-mapped files. With this update, memory management is now undertaken directly by Axon Server, enhancing efficiency in file resource usage. This release also contains fixes for the following issues: Replication group creation did not work in conjunction with the HTTPS (-s) option Race condition in unregister node leaves node partially in the cluster The Axon Server artifact has been updated to simplify the deployment process. Instead of separate artifacts for the Axon Server Standard Edition and Enterprise Edition, we are releasing a single artifact from now on. The Axon Server features will adjust automatically based on the presence of a provided license. Note that the Axon Server Standard Edition remains open-source, but separate releases will no longer be made. The axoniq/axonserver-enterprise docker image is no longer updated. To use the latest version, use the axoniq/axonserver image with tags ending with -dev. For instance, if you use axoniq/axonserver-enterprise:2023.0.1-dev, you can switch to axoniq/axonserver:2023.1.0-dev. If you are used to Axon Server Standard Edition, note that there is a difference in the server’s initialization. As the server can now run standalone or as a node in a cluster, you have to tell it how it should initialize itself. The dashboard provides an initial page to do this initialization. To automatically initialize the server as a standalone server, add the following properties: axoniq.axonserver.autocluster.first= axoniq.axonserver.autocluster.contexts=default Our new release strategy involves releasing three versions each year, with new releases being named based on the year, such as 2023.0, 2023.1, and 2023.2. The third release is dedicated to providing long-term support. Customers that wish to upgrade less frequently can choose to stay on these long-term support releases. We chose this approach to separate versioning from the Axon Framework and maintained flexibility and independence in versioning. This strategy provides predictable release dates, better alignment with customer needs, faster feature updates, and increased responsiveness to user feedback and market demands. Overall, this approach will enable us to deliver better products and services to our customers while ensuring maximum flexibility and independence in versioning. The 2023.0 release brings us these new features: - Tiered Storage - Ephemeral Contexts Tiered Storage is a highly anticipated feature of the Axon Server Enterprise’s 2023.0.0 release, allowing each node to store its data across different storage locations. With its ability to optimize performance and reduce storage costs, Tiered Storage is a powerful tool for businesses seeking to improve their storage management strategies. By distributing data across different levels of storage media based on access speed and cost, Tiered Storage enables organizations to minimize the cost of storing infrequently accessed data while ensuring fast access to frequently accessed data. The Tiered Storage feature is especially powerful in combination with the use of secondary nodes, a feature that has been around since Axon Server Enterprise version 4.4: Tiered Storage enables the configuration and maintenance of a variable number of storage tiers for each node, depending on its role, such as primary, secondary, or backup nodes. Secondary nodes enable you to reduce the number of copies of data that are stored by keeping only the most recent events stored on your primary nodes and keeping the full event store on the secondary nodes. The configuration of Tiered Storage on these secondary nodes can focus on lower storage costs and large volumes of data, while Primary nodes focus on speed of access. With its advanced capabilities, Tiered Storage is poised to become a critical asset for enterprises seeking to streamline their data storage and management processes. Ephemeral contexts are a new type of context that store events for a limited time before automatically removing them permanently. These contexts are particularly useful in scenarios such as time-limited audit systems or integration contexts, where events are broadcasted to multiple observers in real-time, after which they are no more of use. As events might become outdated and irrelevant over time, ephemeral contexts can help to manage storage space and maintain system efficiency by automatically deleting these events after a specified time period. By using ephemeral contexts, organizations can efficiently store only necessary data and reduce clutter in their systems.","title":"Major Releases","component":"axon-server-reference","version":"v2024.1","name":"rn-as-major-releases","url":"/axon-server-reference/v2024.1/rn-as-major-releases/","titles":[{"text":"Release 2024.1","hash":"_release_2024_1","id":1},{"text":"Persistent streams","hash":"_persistent_streams","id":2},{"text":"Bug fixes and improvements","hash":"_bug_fixes_and_improvements","id":3},{"text":"Docker image changes","hash":"_docker_image_changes","id":4},{"text":"Dependency updates","hash":"_dependency_updates","id":5},{"text":"Release 2024.0","hash":"_release_2024_0","id":6},{"text":"Database update","hash":"_database_update","id":7},{"text":"New features and improvements","hash":"_new_features_and_improvements","id":8},{"text":"Release 2023.2","hash":"_release_2023_2","id":9},{"text":"TLS certificate and key replacement at runtime","hash":"_tls_certificate_and_key_replacement_at_runtime","id":10},{"text":"Enhanced metrics exposure","hash":"_enhanced_metrics_exposure","id":11},{"text":"Upgraded diagnostics package","hash":"_upgraded_diagnostics_package","id":12},{"text":"Other improvements","hash":"_other_improvements","id":13},{"text":"Release 2023.1","hash":"_release_2023_1","id":14},{"text":"New features and enhancements","hash":"_new_features_and_enhancements","id":15},{"text":"Event transformation","hash":"_event_transformation","id":16},{"text":"Forced client reconnection","hash":"_forced_client_reconnection","id":17},{"text":"Node removal from cluster","hash":"_node_removal_from_cluster","id":18},{"text":"Temporary adjustment to development Mode","hash":"_temporary_adjustment_to_development_mode","id":19},{"text":"Enhanced memory management","hash":"_enhanced_memory_management","id":20},{"text":"Bug fixes","hash":"_bug_fixes","id":21},{"text":"Product updates","hash":"_product_updates","id":22},{"text":"Unified Axon Server artifact","hash":"_unified_axon_server_artifact","id":23},{"text":"Release 2023.0","hash":"_release_2023_0","id":24},{"text":"New release schedule","hash":"_new_release_schedule","id":25},{"text":"New features","hash":"_new_features","id":26},{"text":"Tiered storage","hash":"_tiered_storage","id":27},{"text":"Ephemeral contexts","hash":"_ephemeral_contexts","id":28}]},"141":{"id":141,"text":"This page provides a dedicated overview of patch releases for Axon Server. Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted with access control enabled UI fixes for non-admin users: username and roles visible on top of the page user’s contexts are now visible in the dropdown list for Search/Commands/Queries/Events pages user’s contexts are now visible in the Context page Bug fixes and improvements: Axon Server node should return information about the clients connected to that node only Backing up the RAFT log entries should take into account replication group rather than context Record handling duration for initial query of a subscription query Persistent streams improvements: Prevent closing the stream for slow clients Improved error handling Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted Event processor operations fail when the processing group contains a forward slash Potential replication issue when trying to apply events for already closed contexts during shutdown of Axon Server Increased maximum length for the username to 255 characters Update the event store size when a new index file is created Visual improvements in search table: headers not visible by default & action not visible by default Improved logging in the event store Stop replication applying process when the replication group is stopped Global Index pre-load for configured contexts Bug fixes and improvements: Revert optimization in replication from version 2023.2.4, as it could lead to a node entering fatal state Stop Axon Server from redirecting a client to a node that is in fatal state Reduce communication between the leader and follower and logging when a node is starting up Search page improvements Set correct permissions for persistent stream API calls Add validation of newly created index files Allow non-pristine clusters to connect to Console Fix the event store size in the context page Fixes and improvements: Fix for a problem starting up Axon Server with plugins configured Removed race condition causing a possible delay in receiving the first event on a newly registered event handler Improve the diagnostics package to contain full log information when \"logging.config\" property is set - Fixes and improvements: Add an option to reduce the number of global index segments Axon Server checks when the first event for a new aggregate is stored. This can be configured globally with the property \"axoniq.axonserver.event.global-index-segments-check\" or on a context level with the property \"event.global-index-segments-check\". The value is the number of global index segments to check, with a minimal value of 2. Fix for Control DB migration in case of plugin configuration properties with long values Updating a license through Axon Console now takes effect immediately Improved distribution of queries to different instances of the query handlers Fixes and improvements: Updating a license through Axon Console now takes effect immediately Reduced memory usage for internal communication Reduced the number of threads used with a large number of contexts UI improvements The dialogs for adding replication groups, API tokens, and users were not always cleared when opened show the number of events in each context improved notification when the current version is not the latest one add an option to set X-Frame-Options to SAMEORIGIN in the response messages New configuration parameters: axoniq.axonserver.accesscontrol.same-origin=false (true sets the X-Frame-Options header to SAMEORIGIN) axoniq.axonserver.event-store-background-thread-count=8 axoniq.axonserver.event-store-processors-thread-count=8 Fix the increasing number of threads on the running Axon Server nodes when one node in the cluster is down. Small fixes in the replication process: remove delay in starting to synchronize with a node that is far behind improve the performance for a follower catching up with the leader prevent situations where a follower attempts to apply replication log entries that were already included in a snapshot Fix for authentication issue when multiple applications have the same token UI, copy token to clipboard fails when not running on a trusted URL UI, improved validations for applications, replication groups and contexts operations Improved handling for missing connection to Axon Console Support for Google Marketplace licenses Axon Server now performs a clean shutdown when it was started with an incorrect node name or internal hostname/port Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted with access control enabled Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted Event processor operations fail when the processing group contains a forward slash Potential replication issue when trying to apply events for already closed contexts during shutdown of Axon Server Bug fixes and improvements: Revert optimization in replication from version 2023.2.4, as it could lead to a node entering fatal state Stop Axon Server from redirecting a client to a node that is in fatal state Reduce communication between the leader and follower and logging when a node is starting up Bug fixes: Improved distribution of queries to different instances of the query handlers Prevent stale threads when an Axon Server node closes the connection to another node Clean up metrics from disconnected clients prevent WARN log messages when a query completed message was received from an unexpected client Dependency updates: gRPC version updated to 1.65.1 Fixes and improvements: Add an option to reduce the number of global index segments Axon Server checks when the first event for a new aggregate is stored. This can be configured globally with the property \"axoniq.axonserver.event.global-index-segments-check\" or on a context level with the property \"event.global-index-segments-check\". The value is the number of global index segments to check, with a minimal value of 2. Reduced memory usage for internal communication Fix the increasing number of threads on the running Axon Server nodes when one node in the cluster is down. Small fixes in the replication process: remove delay in starting to synchronize with a node that is far behind improve the performance for a follower catching up with the leader prevent situations where a follower attempts to apply replication log entries that were already included in a snapshot Fix for authentication issue when multiple applications have the same token Bug fix: Increasing number of threads on the running Axon Server nodes when one node in the cluster is down. Bug fixes: Fix for an error handling subscription query responses during the upgrade from a version before 2023.2.0 to 2023.2.0 or 2023.2.1. Improved readiness probe to return 200 (OK) once the communication services are ready and the replication groups are completely initialized. The endpoint for the new readiness probe is /actuator/health/readiness. This release contains fixes for the following issues: TLS communication between Axon Server nodes cannot validate trusted certificates when there is no trust manager file configured Deleting a context does not delete all its metrics This release contains fixes for the following issues: - Metrics no longer collected when an application reconnects to Axon Server Initialize standalone To simplify initialization of Axon Server, it now supports a new property \"axoniq.axonserver.standalone=true\". When this property is set on a clean Axon Server instance it initializes the server with a \"default\" context. Development mode Fixed the option to reset the event store from the UI (in development mode). This option now also works in an Axon Server cluster. LDAP extension update The new version of the LDAP extension supports configuration of a trust manager file. The location of the file can be specified through the property \"axoniq.axonserver.enterprise.ldap.trust-manager-file\". This release contains fixes for the following issues: - Validation of tiered storage properties when not using the UI - Race condition while writing to the global index - Limitation on the number of requests per context fails if there are timed out requests","title":"Minor Releases","component":"axon-server-reference","version":"v2024.1","name":"rn-as-minor-releases","url":"/axon-server-reference/v2024.1/rn-as-minor-releases/","titles":[{"text":"Release 2024.1","hash":"_release_2024_0","id":1},{"text":"Release 2024.1.4","hash":"_release_2024_1_4","id":2},{"text":"Release 2024.1.3","hash":"_release_2024_1_3","id":3},{"text":"Release 2024.1.2","hash":"_release_2024_1_2","id":4},{"text":"Release 2024.1.1","hash":"_release_2024_1_1","id":5},{"text":"Release 2024.0.4","hash":"_release_2024_0_4","id":6},{"text":"Release 2024.0.3","hash":"_release_2024_0_3","id":7},{"text":"Release 2024.0.2","hash":"_release_2024_0_2","id":8},{"text":"Release 2024.0.1","hash":"_release_2024_0_1","id":9},{"text":"Release 2023.2","hash":"_release_2023_2_","id":10},{"text":"Release 2023.2.10","hash":"_release_2023_2_10","id":11},{"text":"Release 2023.2.9","hash":"_release_2023_2_9","id":12},{"text":"Release 2023.2.8","hash":"_release_2023_2_8","id":13},{"text":"Release 2023.2.7","hash":"_release_2023_2_7","id":14},{"text":"Release 2023.2.6","hash":"_release_2023_2_6","id":15},{"text":"Release 2023.2.5","hash":"_release_2023_2_5","id":16},{"text":"Release 2023.2.4","hash":"_release_2023_2_4","id":17},{"text":"Release 2023.2.3","hash":"_release_2023_2_3","id":18},{"text":"Release 2023.2.2","hash":"_release_2023_2_2","id":19},{"text":"Release 2023.2.1","hash":"_release_2023_2_1","id":20},{"text":"Bug fixes","hash":"_bug_fixes","id":21},{"text":"Release 2023.1","hash":"_release_2023_1_","id":22},{"text":"Release 2023.1.2","hash":"_release_2023_1_2","id":23},{"text":"Bug fixes","hash":"_bug_fixes_2","id":24},{"text":"Release 2023.1.1","hash":"_release_2023_1_1","id":25},{"text":"New features and enhancements:","hash":"_new_features_and_enhancements","id":26},{"text":"Bug fixes","hash":"_bug_fixes_3","id":27}]},"142":{"id":142,"text":"The core strategy employed by AxonServer to keep data available, is to replicate it over various cluster nodes. These nodes should be in availability zones that are isolated from each other in relevant disaster scenarios. With Axon Server 4.3, the introduction of specific backup_nodes makes it easier to set up and operate AxonServer without ever making explicit backups to off-line media. Nevertheless, there are also environments where such backups are a strict requirement and for that reason, AxonServer does support it. There are three types of items that need to be backed up Control Database Event Store Segments Log Entry Segments To support the creation of consistent backups, Axon Server provides a REST API. This API provides three controllers to perform backup operations Backup Info Rest Controller - End point for Axon SE/EE for event stream segment backup Backup Control DB Rest Controller - End point for Axon SE for control database backup Cluster Backup Info Rest Controller - End points for Axon EE for control database and log entry segment backup The API documentation is accessible at http:[server]:[port]/swagger-ui.html. The control database is a relational H2 database and contains important configuration information for your Axon Server SE/EE deployment. Although it’s stored in a single file, this file cannot be simply copied for backup as it may not be in a safe state. For Axon Server SE, a call to the POST endpoint http://[server]/createControlDbBackup forces the creation of a proper backup file. For Axon Server EE, a call to the POST endpoint `http://[server]/v1/backup/createControlDbBackup`forces the creation of a proper backup file. The [server] could be any node within the cluster which serves the _admin context. In both cases, it returns the full path to that file (.zip), which can then be used to move that file to another storage medium. The event store segments are either closed and immutable, or still open for new events. For the closed segments, it is feasible to only back up the ones that haven’t been backed-up yet, since the ones that have been are guaranteed not to change. For both Axon Server SE/EE, a call to the GET endpoint http://[server]/v1/backup/filenames with event type (either EVENT or SNAPSHOT), the context name and optionally the last segment that has already been backed up will return a list of file names belonging to segments that haven’t been backed up yet, but which are now safe to backup by simply copying them. For Axon SE, the [server] is the single Axon Server SE node while in the case of Axon EE, the [server] could be any node that is a PRIMARY member node for the context that needs to be backed up. In addition, you may choose to back up the current segment file that is being written to. These are files with names larger than the last entry returned to the filenames from the backup endpoint. It is important to overwrite this file with subsequent backups, because no guarantees can be given about the completeness of this file. This means the filename of this file should not be used to construct the \"lastSegmentBackedUp\" in subsequent requests to the backup endpoint. Note From Axon Server SE version 4.5.12 / Axon Server EE version 4.5.17 onwards there is a new endpoint available: /v1/backup/eventstore. This endpoint returns a JSON object with the files to back up, including the currently active event store segment. It also returns the number of last closed event store segment. This number can be used in subsequent backups to retrieve files updated since the last backup. Unlike the event stream segments, the log entry segments backup should not be done incrementally. All the files are replaced by the next backup. The log entry segments backup is supported by the GET endpoint http:[server]/v1/backup/log/filenames. It takes the replication group name and returns a list of file names that completely replace the previous backup for that replication group. The [server] could be any node that is a PRIMARY member node for the replication group that needs to be backed up. Even if the recent file has incomplete data, a node will be able to recover a consistent state from such a file and will initialize itself at the position immediately after the last complete write. The replication process (if present) will ensure subsequent entries are automatically synchronized. Because the control database contains a pointer to the last log entry that is known to be stored safely on the cluster (the commit index), the proper order of doing this is to first create the control database backup and then backing up the log entry segments and the event stream segments. This will ensure that the log entry segments may have entries beyond the commit index (which is ok) but there are not missing entries before the commit index (which would be bad). The log entries segments must be backed up within *30 minutes* after the backup of the controlDB, to prevent the log compaction procedure causes data inconsistencies.","title":"Backups","component":"axon-server-reference","version":"v2024.1","name":"backups","url":"/axon-server-reference/v2024.1/axon-server/administration/backups/","titles":[{"text":"Control database","hash":"control-database","id":1},{"text":"Event store segments","hash":"event-stream-segments","id":2},{"text":"Log entry segments (only for Axon Server clusters)","hash":"log-entry-segments","id":3}]},"143":{"id":143,"text":"This page depicts the various Error codes that Axon Server will return in the case of any problems while Processing Client Requests / Message Handling / Administrative Tasks / Cluster Errors. Error Code Error Description AXONIQ-1000 AUTHENTICATION TOKEN MISSING This indicates that the Axon Server has been configured with authentication enabled and a client application did not pass a token. AXONIQ-1001 AUTHENTICATION INVALID TOKEN This indicates that the Axon Server has been configured with authentication enabled and a client application has supplied an invalid token. AXONIQ-1002 UNSUPPORTED INSTRUCTION This error is returned when the Axon Server cannot recognize the instruction passed to it. AXONIQ-1003 INSTRUCTION EXECUTION ERROR This error is returned when the Axon Server throws an error during the execution of the instruction passed to it. AXONIQ-1004 INSTRUCTION RESULT TIMEOUT This indicates that the execution of the instruction did not finish within the timeout set. AXONIQ-1100 NODE IS REPLICA This error is returned when a request from a node to join a cluster is received by a node that is no longer leader. Normally the node would forward the request to the leader, but if there is a leader change during the processing of the join request this may happen. AXONIQ-1300 NO SUCH APPLICATION This error is returned when any client sends any instruction with a specific application name that has not been registered with Axon Server. AXONIQ-1301 NO SUCH NODE This error is returned when any client sends any instruction with a specific node name that has not been registered with Axon Server. AXONIQ-1302 CONTEXT NOT FOUND This error is returned when any client sends any instruction with a specific context that has not been registered with Axon Server. AXONIQ-1304 CONTEXT EXISTS This error is returned when there is an instruction to create a specific context within Axon Server and it already exists. AXONIQ-1305 REPLICATION GROUP EXISTS This error is returned when there is an instruction to create a specific replication group within Axon Server and it already exists. AXONIQ-1400 NO AXONSERVER FOR CONTEXT This error is returned when there is no Axon Server node available for the specified context. AXONIQ-1500 AXONSERVER NODE NOT CONNECTED This error is returned when there is an instruction to create a specific context within Axon Server, and it already exists. AXONIQ-1700 LICENSE ERROR This error is returned when the request cannot be executed due to license restrictions. AXONIQ-1900 TOO MANY REQUESTS This error is returned when clients send too many commands or queries to Axon Server and its internal queue is full. Error Code Error Description AXONIQ-2000 INVALID SEQUENCE This error is returned when there is a gap between the sequence number for a particular aggregate instance that the client application sends and the current sequence number for that instance in the Axon Server Event Store. AXONIQ-2001 PAYLOAD TOO LARGE This error is returned when the payload for the message to be executed is too large. AXONIQ-2002 TOO MANY EVENTS This error is returned when an ad-hoc query (for example from the Search Page) has buffered too many rows to send to the client, this error also is returned when a single transaction from a client contains more than 32767 events (due to a limitation in the event store format, we can only store MAX_SHORT events in a single transaction). AXONIQ-2100 NO LEADER AVAILABLE This error is returned when no leader is available to execute any instruction sent to the Axon Server cluster. AXONIQ-2101 NOT RUNNING IN CLUSTER This error is returned when Axon Server is not running in a cluster. AXONIQ-2107 REPLICATION GROUP UPDATE IN PROGRESS This error is returned when an instruction on a specific replication group is rejected as it is undergoing an update. AXONIQ-2108 REPLICATION GROUP NOT FOUND This error is returned when an instruction is requested for a non-existing replication group. AXONIQ-2200 INVALID TRANSACTION TOKEN This error is returned when during replication there is a mismatch between the transaction token in the new transaction and the transaction token that the event store node expects. This means that there is a likely inconsistency in the data between the nodes. AXONIQ-2301 CLUSTER NOT ALLOWED This error is returned when an instruction to create a cluster is rejected. AXONIQ-2302 CONTEXT CREATION NOT ALLOWED This error is returned when an instruction to create a context on an Axon Server cluster is rejected due to invalid permissions. AXONIQ-2303 NOT SUPPORTED IN DEVELOPMENT This error is returned when an instruction valid only in non-development mode is attempted when development mode is active. AXONIQ-2304 CANNOT DELETE INTERNAL CONTEXT This error is returned when an operation to delete any internal context is attempted on an Axon Server cluster. AXONIQ-2305 MAX CLUSTER SIZE REACHED This error is returned when the maximum size of the cluster is reached. AXONIQ-2306 ALREADY MEMBER OF CLUSTER This error is returned when an attempt is made to add an already existing node to a cluster. AXONIQ-2307 NOT A MEMBER This error is returned when a cluster related instruction was sent to a node that is not a member of the cluster. AXONIQ-2308 INVALID CONTEXT NAME This error is returned when an instruction is attemped on a non-existing context. AXONIQ-2310 CANNOT REMOVE LAST NODE This error is returned when a user tries to remove the last node from a replication group. In this case, the user should delete the replication group. AXONIQ-2311 INVALID PROPERTY VALUE This error is returned in multiple conditions for example when creating a context with properties and one of the properties does not have a valid value, also when updating a license and the license file is invalid or the environment variable. AXONIQ-2500 SAME NODE NAME This error is returned when a node tries to join the cluster with the same internal hostname and port as the leader. AXONIQ-2501 UNKNOWN HOST This error is returned when a hostname was passed that did not resolve to a valid IP address. AXONIQ-2502 CANNOT JOIN This error is returned when a node tries to join the cluster and there is an error. AXONIQ-2510 UNKNOWN ROLE This error is returned when an unknown role is assigned to a user or application. This can only happen when this is done through the REST interface directly or through the CLI. AXONIQ-2511 INVALID QUERY This error is returned when the user sends a query in the search window that is not valid. AXONIQ-2700 PLUGIN NOT FOUND This error is returned when the user sends a request for a plugin that cannot be found. AXONIQ-2701 INVALID PLUGIN CONFIGURATION This error is returned when the user tries to update the configuration of a plugin with invalid values. AXONIQ-2800 EVENT PROCESSOR NOT FOUND This error is returned when the user tries to update the configuration of a non-existing event processor. AXONIQ-2801 EVENT PROCESSOR MOVE UNKNOWN TARGET This error is returned when the user tries to move an event processor segment to a client that is no longer connected. AXONIQ-2802 EVENT PROCESSOR MOVE NO AVAILABLE THREADS This error is returned when the user tries to move an event processor segment to a client that does not have any available threads. Error Code Error Description AXONIQ-4000 NO HANDLER FOR COMMAND This error is returned when a command message instruction is sent to the Axon Server and there is no corresponding handler available for it. AXONIQ-4001 CONNECTION TO HANDLER LOST This error is returned when Axon Server loses connection to any of the Command Handlers. AXONIQ-4002 COMMAND TIMEOUT This error is returned when a command message instruction is sent to the Axon Server and there is an error while processing it. AXONIQ-4003 COMMAND DISPATCH ERROR This error is returned when a command message instruction is sent to the Axon Server and there is an error while dispatching it. AXONIQ-4005 COMMAND DUPLICATED This error is returned when a command with the same message identifier is sent multiple times. Error Code Error Description AXONIQ-5000 NO HANDLER FOR QUERY This error is returned when a query message instruction is sent to the Axon Server and there is no corresponding handler available for it. AXONIQ-5002 QUERY DISPATCH ERROR This error is returned when a query instruction is sent to the Axon Server and there is an error while dispatching it. AXONIQ-5006 QUERY TIMEOUT This error is returned when a query takes too long. AXONIQ-5007 QUERY DUPLICATED This error is returned when a query with the same message identifier is sent multiple times. Error Code Error Description AXONIQ-3004 EVENT REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects an event. AXONIQ-3005 SNAPSHOT REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a snapshot. AXONIQ-4004 COMMAND REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a command. AXONIQ-5004 QUERY REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a query. AXONIQ-5005 SUBSCRIPTION QUERY REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a subscription query request. AXONIQ-6100 EXCEPTION IN INTERCEPTOR This error is returned when an interceptor in a plugin throws an exception. AXONIQ-6101 POST COMMIT HOOK EXCEPTION This error is returned when an post commit hook in a plugin throws an exception. Error Code Error Description AXONIQ-7000 NODE NOT READY FOR BACKUP This error is returned when an Axon Server node is not available for any backup operation. Error Code Error Description AXONIQ-9000 DATAFILE READ ERROR This error is returned when Axon Server is unable to read from the Event/Snapshot Data Files. AXONIQ-9001 INDEX READ ERROR This error is returned when Axon Server is unable to read from the Index files. AXONIQ-9100 DATAFILE WRITE ERROR This error is returned when Axon Server is unable to write to the Event/Snapshot Data files. AXONIQ-9101 INDEX WRITE ERROR This error is returned when Axon Server is unable to write to the Index files. AXONIQ-9102 DIRECTORY CREATION FAILED This error is returned when Axon Server is unable to create a directory for storing events/snapshots or indexes. AXONIQ-9200 VALIDATION FAILED This error is returned during startup of Axon Server when it performs a validation of the most recent event store segments. This error code is returned when the validation fails. AXONIQ-9900 TRANSACTION ROLLED BACK This error is returned when any transaction is rolled back. AXONIQ-9500 INTERRUPTED This error is returned when Axon Server process is stopped while waiting for events to be written to the event store segment. AXONIQ-6000 NO EVENTSTORE This error is returned when the Axon Server Event Store is not available to perform any instructions. AXONIQ-6001 CLIENT DISCONNECTED This error is returned when an Axon Framework client application disconnects from the Axon Server. AXONIQ-6002 LIST AGGREGATE EVENTS TIMEOUT This error is returned when a request to return the events for a specific aggregate takes too long. Error Code Error Description AXONIQ-10001 SERVER TOO SLOW This error is returned when any instruction to update the Axon Server cluster fails as the server is too slow to respond. AXONIQ-10002 UNCOMMITTED CONFIGURATION This error is returned when an instruction to update configuration for the Axon Server cluster fails. AXONIQ-10007 UNCOMMITTED TERM Update the configuration of a replication group is received before there are any actions committed. The request is refused to prevent potential replication issues. AXONIQ-10003 REPLICATION TIMEOUT This error is returned when the replication process between the nodes of the Axon Server cluster times out. Error Code Error Description AXONIQ-0001 OTHER Any other errors. AXONIQ-2610 SCHEDULED EVENT NOT FOUND This error is returned when a scheduled event is not found. AXONIQ-11000 INSTRUCTION TIMEOUT This error is returned when an instruction sent to a client takes too long to complete. AXONIQ-11001 INSTRUCTION ACK ONLY This error is returned when an instruction is sent to a client which only acknowledges the request, but does not confirm the result of the instruction.","title":"Error Codes","component":"axon-server-reference","version":"v2024.1","name":"error-codes","url":"/axon-server-reference/v2024.1/axon-server/administration/error-codes/","titles":[{"text":"Client request processing errors","hash":"_client_request_processing_errors","id":1},{"text":"Input errors","hash":"_input_errors","id":2},{"text":"Command handling errors","hash":"_command_handling_errors","id":3},{"text":"Query handling errors","hash":"_query_handling_errors","id":4},{"text":"Plugin errors","hash":"_plugin_errors","id":5},{"text":"Backup errors","hash":"_backup_errors","id":6},{"text":"Internal errors","hash":"_internal_errors","id":7},{"text":"Cluster errors","hash":"_cluster_errors","id":8},{"text":"Other errors","hash":"_other_errors","id":9}]},"144":{"id":144,"text":"It might be desirable to reset the position an event processor works on. This causes a replay of the events for this event processor. Resetting the position is done by resetting the token of the event processor. We document the following ways to reset the token of an event processor: - Using Axon Framework - Using the REST API - Using the Axon Server Connector A minimal project showing these approaches can be found here. Independent of the method chosen, an event processor needs to be stopped before its token can be reset. This requires all instances of the event processor (on all nodes) to release their claims on segments. Now, when resetTokens() is called, the executing instance can temporarily claim all segments, reset the tokens and store the new values. After the token has been reset, the event processor can be started again. Note that older versions of axon framework (pre 4.6) directly acknowledge a received admin instruction, without waiting for its execution. This might require manually waiting for an Event Processor to be fully stopped before the token can be reset. A possible approach for this is shown in the last section of this page. Axon Framework exposes all required functionality for a reset in the StreamingEventProcessor class. In the following, we provide a sample for its usage. For more details, read the documentation on the framework classes here. Instances of StreamingEventProcessor can be obtained by querying the eventProcessingConfiguration method of your global configuration. import org.axonframework.config.Configuration; // … private final Configuration configuration; // … configuration.eventProcessingConfiguration() .eventProcessorByProcessingGroup(processorName, StreamingEventProcessor.class) // … Calling shutDown, resetTokens and start on the retrieved StreamingEventProcessor performs the required steps to reset its token. This can be achieved as shown in the following code snippet: configuration.eventProcessingConfiguration() .eventProcessorByProcessingGroup(processorName, StreamingEventProcessor.class) .ifPresent(streamingEventProcessor -> \\{ if (streamingEventProcessor.supportsReset()) \\{ streamingEventProcessor.shutDown(); streamingEventProcessor.resetTokens(); streamingEventProcessor.start(); } }); Note that this only concerns stopping the local instances. If there are instances running on other nodes, you either need to use Axon Server or build a solution for this yourself. For more details, refer to the section in the Axon Framework reference guide. Axon Server exposes a REST API to pause and start Event Processors. When used in conjunction with the resetTokens method from earlier, this can be used to make sure that all instances of an Event Processor are paused before a token is reset. The required parameters to do this are the following: - component: name of the component the Event Processor is part of - processor: name of the Event Processor itself - context: name of the context for which to reset the tokens - tokenStoreId: the identifier used to distinguish the desired token from other tokens stored in the same store. Now /v1/components/{component}/processors/{processor}/pause?context={context}&tokenStoreIdentifier={tokenStoreId} can be called, causing Axon Server to request all matched Event Processors to stop. Then a reset as shown in the example using the framework can be performed. This is not Axon Server specific and hence is the same for all shown methods. As a final step, the Event Processors can be started again with a patch request to the following URL: /v1/components/{component}/processors/{processor}/start?context={context}&tokenStoreIdentifier={tokenStoreId} . To reset Event Processors with the Axon Server Connector, the dependency has to be available on your classpath, for example by using the following maven dependency. io.axoniq axonserver-connector-java 4.6.1 All operations related to administration go through an AdminChannel, which can be obtained from an AxonServerConnectionFactory as follows. private AdminChannel adminChannel() \\{ AxonServerConnectionFactory connectionFactory = AxonServerConnectionFactory.forClient(componentName).build(); return connectionFactory.connect(contextName).adminChannel(); } In this example, componentName and contextName are values supplied by external configuration. In simple cases, these might be the same as in your Axon Framework configuration. Using the provided admin channel, you can pause, reset, and restart the event processors. In contrast to the approach based on the Axon Framework, you also need to provide a tokenStoreIdentifier, since there can be multiple applications connected to one Axon Server that share the same token store. An example on how to get this identifier can be found in the Axon Framework Documentation on Retrieving the Token Store Identifier. Now resetting the tokens can be done by simply calling the pauseEventProcessor, resetTokens and startEventProcessor methods in the correct order. adminChannel().pauseEventProcessor(eventProcessorName, tokenStoreIdentifier) .thenRun(eventProcessor::resetTokens) .thenRun(() -> adminChannel().startEventProcessor(eventProcessorName, tokenStoreIdentifier)) Note that Axon Server makes sure to stop and start all matched EventProcessors on all nodes with this call. Prior to version 4.6, Axon Framework did immediately acknowledge receiving a pause instruction. This means, that the Axon Server would receive these ACCEPTED Results before all Event Processors have terminated. Starting from Axon Framework version 4.6, Axon Server will only respond with SUCCESS once all connected Event Processors have successfully been paused. To make sure that older Axon Framework versions wait until all Event Processors have terminated, we need to implement a bit of custom logic. This works with both, the Axon Server Connector approach and the REST API approach. In the following, we will show an approach using the axon server connector admin channel. We use the following method to allow waiting for all instances of an event processor, identified by a tuple of eventProcessorName and tokenStoreIdentifier to reach a desired state, either running or not running. Since APIs are built around an asynchronous execution model, we work with Mono and Flux here. protected Mono awaitForStatus(String eventProcessorName, String tokenStoreIdentifier, boolean running) \\{ return Flux.from(new ResultStreamPublisher<>(adminChannel::eventProcessors)) .filter(eventProcessor -> eventProcessor.getIdentifier().getProcessorName() .equals(eventProcessorName)) .filter(eventProcessor -> eventProcessor.getIdentifier().getTokenStoreIdentifier() .equals(tokenStoreIdentifier)) .flatMap(eventProcessor -> Flux.fromIterable(eventProcessor.getClientInstanceList())) .map(clientInstance -> clientInstance.getIsRunning() == running) .reduce(Boolean::logicalAnd) .filter(result -> result.equals(true)) .switchIfEmpty(Mono.error(new RuntimeException(\"\"))) .retryWhen(Retry.fixedDelay(3, Duration.ofSeconds(2))) .thenReturn(Result.SUCCESS); } The basic idea is to filter all received event processor descriptions to only retain the relevant ones, get a list of all connected client nodes and ensure their state equals the desired state passed in as a parameter. If one of them is in the wrong state, the check is repeated at most 3 times with a fixed delay of 2 seconds. If there are still clients in the wrong state, an error is returned. Using an approach like this allows you to build custom functionality to handle unresponsive clients in a tailor-made solution.","title":"Event Processors","component":"axon-server-reference","version":"v2024.1","name":"event-processors","url":"/axon-server-reference/v2024.1/axon-server/administration/event-processors/","titles":[{"text":"How to reset the token of an event processor","hash":"_how_to_reset_the_token_of_an_event_processor","id":1},{"text":"General","hash":"_general","id":2},{"text":"Using Axon Framework","hash":"using-axon-framework","id":3},{"text":"Using the REST API","hash":"_using_the_rest_api","id":4},{"text":"Using the Axon Server Connector","hash":"_using_the_axon_server_connector","id":5},{"text":"Handling asynchronous behaviour in older Axon Framework versions (pre 4.6)","hash":"_handling_asynchronous_behaviour_in_older_axon_framework_versions_pre_4_6","id":6}]},"145":{"id":145,"text":"The new Event Transformation feature allows users to perform specific event transformations like updates and deletes in the event store, utilizing the Event Transformation API. This functional change is intended to facilitate more flexible event management in rare instances where modifications are unavoidable. Event transformation sounds like an oxymoron to you? Don’t worry, it is not our intention to change what is by its nature immutable: a fact happened in the past. But there are situations when we believe it is not forbidden to manipulate the way the events are stored. An event is immutable. An event lasts forever. This is true, and we strongly believe in these rules. But like any other rule, there are few exceptions that should not be underestimated. Let’s say that you start using your event store in production. After some time you realize you have a security issue since you forgot to encrypt the sensitive data inside your events. What should you do? The only solution is to change the way events are stored in the event store. This does not mean they change their semantic, but only their persisted representation. Another typical use-case is when you want to forget some old data, because it is stale. You just want to get rid of it, to free some space. So, to sum it up: we transform events either by changing their format (not the semantic) or by deleting them. The event transformation feature fits well all situations where you need to manipulate the persisted representation of the events, without touching their semantic. It could be used, for example, in the following cases: to get rid of a large number of up-casters, which could affect your performance to encrypt sensitive data inside your events The event transformation feature is not intended to manipulate events semantically. It should not be used, for example, in the following cases: to fix a bug to change history Whenever we need to change the representation of events in the Event Store, we desire this change to be as atomic as possible. We are going to change events by introducing the concept of the Transformation. Transformation is essentially a bucket of actions that are going to be performed against the Event Store. Currently, the supported actions are the deletion of events and the replacement of events. Once we gather all actions that we want to use to transform our Event Store, we are going to apply those actions to it. Since the number of those actions we want to perform against the Event Store can be large, we must ensure that our Event Store is not impacted by the Transformation itself. In other words, it must behave as the Transformation is not happening at all. Our little helper in this scenario is the fact that Event Store is immutable by its nature. We are going to create a new version of our event segments by reading current events and transforming them according to the bucket of actions we have collected for the specific Transformation. Axon Server will make sure to always read the latest version of event segments. The transformation process will increase disk space usage, since it creates multiple versions of the same events. For this reason, before you start transforming your events, make sure there is enough free disk space. If you decide to change the entire Event Store in one Transformation, this would require free space larger than twice the space occupied by the event store. Once the transformation is complete, the disk space can be freed up again through the compaction procedure, a way to clean older versions of event segments that should be invoked only when we are absolutely sure they are no longer needed. To limit the possible misusing of the Event Store Transformation, we are going to make sure that there is only one ACTIVE Transformation of the Event Store at the time. Having this in mind there are several states in which our Event Store can end up in. Let’s talk about them. In order to prevent more than one transformation happening at the same time we are going to have our Event Store transition between IDLE, TRANSFORMING, and COMPACTING states. IDLE state is the state representing a normal operation of the Event Store, meaning that there is no any Transformation happening at the time. While being in this state, Event Store is open for starting a new Transformation. If choosing so, we are going to end up in the following state called TRANSFORMING. Once our Event Store ends up in TRANSFORMING state, that means that no new Transformation can be accepted until we either apply this Transformation or we cancel it. Do note, that even during TRANSFORMING state, Event Store can append new events and can also read existing ones. By applying the Transformation to the Event Store, we are creating the new version of event segments. This can make a significant impact on our disk space availability. To overcome that, Event Store introduces a compact option which will get rid of all older versions of event segments. By compacting the Event Store we enter the COMPACTING state and once compaction is done, we move back to IDLE. Let’s depict what we have talked about in previous chapter in a form of a state diagram. As we already said, the Transformation is a bucket of actions. Those actions are event deletion and event replacement. The Transformation itself is started by invoking the START TRANSFORMATION operation which moves the Event Store to TRANSFORMING state and initializes the newly created Transformation in the ACTIVE state. After that, we are allowed to send DELETE and REPLACE event actions to the Axon Server. Axon Server will store them durably. Up until this point, the content of the Event Store remains unchanged. Once we are happy with the Transformation Actions, we can call the APPLY operation to apply the Transformation; in other words, to effectively change the Event Store. Depending on the number of actions, apply operation can take a while, but once it’s completed, we can say that the Transformation is APPLIED. After that, the Event Store moves to IDLE state. Instead of applying the Transformation, we can also decide to CANCEL it; after the active Transformation has been cancelled, the Event Store moves to IDLE state and this makes it available for accepting new Transformations. As you might have concluded already, the apply process can take a while. This means that the caller cannot wait for this process to complete. Hence, the caller is only going to START applying process, and it will be done in the background. By monitoring the state of the Transformation you can understand when the apply process has been completed. During the apply process, it might happen that while reading events you get a mixture of old and newly transformed events. This is absolutely fine, and you must take this fact into the consideration when building your system that invokes the Transformation. Let’s depict what we have talked about in previous chapter in a form of a state diagram. Once we apply or cancel the Transformation, the actions we have collected and stored are useless. To mitigate this issue there is a Cleaning Task that is going to from time to time check whether there are resources to be cleaned. Basically, it’ll check for all applied and cancelled transformations and clean their resources. When a Transformation runs in a cluster environment, several aspects must be taken into consideration. The Transformation creation is replicated across the nodes in the same replication group. The Transformation Actions are replicated too. In other word, each node will persist all Transformation Actions. Apply and Cancel Operations are replicated. Each node does the applying of the Transformation at its own pace. Once all storage nodes in the replication group have applied the Transformation, the Transformation is considered APPLIED. The majority of nodes in not enough. The reason for this maybe strong requirement is to prevent possible mixed scenarios. Axon Server will need to persist your Event Transformation Actions to a dedicated storage. By default, the location where all transformation data is stored is the transformation folder. You can customize this location using the following property: axoniq.axonserver.transformation.storage Please be aware that the transformation store could be huge, exactly like the event store. Select a storage location with a suitable size. Anytime you want to change events already written in the event store, you need to create a new Transformation. A newly created Transformation is in ACTIVE state. While being ACTIVE, the Transformation can accept all changes you want to perform. Once all changes have been registered, the Transformation can be APPLIED. Only when the Transformation is applied the changes are effective inside your Event Store. The simplest way to transform the events in your Java project, is to use the Axon Server Connector. Axon Server Connector supports Event Transformation feature starting from version 2023.1.0. You can use AxonServerConnectionFactory#forClient static method to build your AxonServerConnectionFactory that could be used to open a new AxonServerConnection. See the following example: AxonServerConnectionFactory.forClient(\"event-transformer\") .routingServers(new ServerAddress(\"localhost\", 8124)) .build(); The AxonServerConnectionFactory can be used to establish a connection with a specific context, using the method AxonServerConnectionFactory#connect(context). This method establishes a long living connection to Axon Server for the specified context. This connection remains open until the AxonServerConnection#disconnect method is invoked. You can check whether your client is connected by invoking the AxonServerConnection#isConnected method. Remember to always disconnect your client after you performed the desired operation. The simplest way to transform your events is to implement your own EventTransformer. The EventTransformer is simply a BiConsumer, where the first argument is the original event, and the second argument is the Appender that can be used to append the desired transformation action for the event. In other words, the Appender allows you to perform two different operations: - delete event - replace event To better understand how to use the EventTransformer, we will analyze the following example: EventSources.range) -> connection.eventChannel(), 0, 200) .filter(eventWithToken -> isUnencrypted(eventWithToken.getEvent() .transform(\"Encryption of sensitive data\", (eventWithToken, appender) -> appender.replaceEvent(eventWithToken.getToken(), encrypt(eventWithToken.getEvent()))) .execute) -> connection.eventTransformationChannel( .get(); In order to access to the events currently stored in your Event Store, you can use the static methods offered by EventSources interfaces. The range(eventChannelProvider, fistToken, lastToken) method, will allow you to access the event stream starting from the specified firstToken, until the specified lastToken. It is possible to filter the event stream, invoking the filter(predicate) method. When the stream is properly filtered (if needed), it is possible to transform the events, by invoking the transform method, with the description of the Transformation and the EventTransformer that implements the business logic of the transformation itself. Since the EventTransformer is a functional interface, it can also be expressed as a lambda. These APIs take a declarative approach, that means that nothing happens until the pipeline is not executed, invoking the execute(eventTranformationChannelSupplier) method. This method takes care of multiple operations: - open a new transformation with the specified description - run the event transformer - request the transformation to be applied The execute method returns a CompletableFuture: wait for the completion before checking the result. The request to apply the transformation is executed by a scheduled task. That means that you could wait some time before being able to see the events transformed in your Event Store. If you don’t need to read the events currently stored in your Event Store, you can transform your events by implementing your own Transformer. The Transformer#transform(appender) provides you the Appender needed to append the required transformation actions. For example, you can delete the event with token 100 and replace event with token 562L with the following snippet: Transformer transformer = appender -> { appender.deleteEvent(100L); appender.replaceEvent(562L, replacement); }; You can run the Transformation by invoking the EventTransformationChannel#transform method. connection.eventTransformationChannel() .transform(\"Transformation test\", transformer); As before, this method takes care of multiple operations: - open a new transformation with the specified description - run the transformer - request the transformation to be applied And don’t forget that also the transform method returns a CompletableFuture. As before, you must wait for its completion, and after that, you could wait some time before being able to see the events transformed in your Event Store. If you want to have a full control of all the state changes of your transformation, you can use the ActiveTransformation. In order to open a new transformation, use the EventTransformationChannel#newTransformation(description) method. To transform your Event Store, you need to implement a Transformer (just like in the prev example). The transformer will be executed by invoking the ActiveTransformation#transform(transformer) method. An active transformation can be either applied or cancelled. To apply the active transformation, you can use ActiveTransformation#startApplying() method. To cancel the active transformation, you can use ActiveTransformation#cancel() method. All methods in ActiveTransformation return `CompletableFuture`s. Remember to compose them when needed. This is the snippet of code that opens a new Transformation with the specified description, runs the transformer and finally requests the transformation to be applied. connection.eventTransformationChannel() .newTransformation(\"My transformation description\") .thenCompose(activeTransformation -> activeTransformation.transform(transformer)) .thenCompose(ActiveTransformation::startApplying); When engaging in event transformation, certain roles are necessary to ensure secured process. Here’s a detailed explanation of each role: TRANSFORM Users granted the TRANSFORM role can prepare a transformation and get information about transformations. However, they are not able to apply transformations. TRANSFORM_ADMIN To apply a transformation you need the transform_admin role. To create and apply transformations users will need both roles. In order to read all transformations that have been created for a context, you can use the EventTransformationChannel provided by your AxonServerConnection. The method EventTransformationChannel#transformations will provide a CompletableFuture of all the transformations created for a context and their current state. Remember, you can have one and only one ACTIVE transformation for each context. Whenever a transformation is applied, the events in the Event Store are changed. Axon Server, to perform the changes, does not delete the previous form of the events, it just creates a new version of the events saving them into a new segment version. This choice was made for security reasons, because we don’t want the Axon Server to delete anything unless explicitly requested. However, this choice has a negative impact on disk space. In fact, every time I create a new segment version, I’m doubling the space needed to save those events. For this reason, Axon Server provides a feature that allows you to compact the event store, deleting the previous versions once they are no longer needed. You can request the compaction by invoking the EventTransformationChannel#startCompacting method. Be carefull, this will permanently delete the previous versions of your events. Remember, you can have one and only one ACTIVE transformation for each context. If you try to create a new transformation when there is another one in ACTIVE state, you will receive this error. To solve the problem, you can either - cancel the already existing ACTIVE transformation - apply the already existing ACTIVE transformation - continue working on already existing ACTIVE transformation starting from where it stopped In the last case, you can retrieve the ActiveTransformation that is already created with the method EventTransformationChannel#activeTransformation. If you are not using Java, or if you are just curious to try, you can try to use the gRPC/HTTP operations directly. For HTTP endpoints, please refer to the Swagger UI for the documentation. The Event Transformation functionality is enabled by default, starting from AxonServer 2023.1.0. In order to deactivate the feature, it is sufficient to add the following property in Axon Server property file: axoniq.axonserver.event-transformation.enabled=false","title":"Event Transformation","component":"axon-server-reference","version":"v2024.1","name":"event-transformation","url":"/axon-server-reference/v2024.1/axon-server/administration/event-transformation/","titles":[{"text":"Objective and justification","hash":"_objective_and_justification","id":1},{"text":"What does it mean to transform events?","hash":"_what_does_it_mean_to_transform_events","id":2},{"text":"When you could transform your events?","hash":"_when_you_could_transform_your_events","id":3},{"text":"When you should not transform your events?","hash":"_when_you_should_not_transform_your_events","id":4},{"text":"What?","hash":"_what","id":5},{"text":"The event store states","hash":"_the_event_store_states","id":6},{"text":"IDLE","hash":"_idle","id":7},{"text":"TRANSFORMING","hash":"_transforming","id":8},{"text":"COMPACTING","hash":"_compacting","id":9},{"text":"State flow of the event store","hash":"_state_flow_of_the_event_store","id":10},{"text":"The transformation","hash":"_the_transformation","id":11},{"text":"APPLY considerations","hash":"_apply_considerations","id":12},{"text":"State flow of the transformation","hash":"_state_flow_of_the_transformation","id":13},{"text":"Cleaning transformation resources","hash":"_cleaning_transformation_resources","id":14},{"text":"Cluster considerations","hash":"_cluster_considerations","id":15},{"text":"How?","hash":"_how","id":16},{"text":"How to transform events","hash":"_how_to_transform_events","id":17},{"text":"Connecting to Axon Server","hash":"_connecting_to_axon_server","id":18},{"text":"Fluent API","hash":"_fluent_api","id":19},{"text":"Step-by-step way to transform your events","hash":"_step_by_step_way_to_transform_your_events","id":20},{"text":"Access control","hash":"_access_control","id":21},{"text":"How to check the transformations for a context","hash":"_how_to_check_the_transformations_for_a_context","id":22},{"text":"How to compact the event store","hash":"_how_to_compact_the_event_store","id":23},{"text":"Troubleshooting","hash":"_troubleshooting","id":24},{"text":"\"There is already ongoing transformation\"","hash":"_there_is_already_ongoing_transformation","id":25},{"text":"How to use the gRPC API directly","hash":"_how_to_use_the_grpc_api_directly","id":26},{"text":"How to deactivate the transformation feature in Axon Server","hash":"_how_to_deactivate_the_transformation_feature_in_axon_server","id":27}]},"146":{"id":146,"text":"The administration section of the reference guide addresses the operational and maintenance aspects of Axon Server deployments (Axon Server SE/EE). The following table gives a summary of the various sub-sections. Sub-Section Purpose Configuration Configuration aspects of an Axon Server deployment Monitoring Monitoring aspects of an Axon Server deployment Multi-Context Multi-Context support within Axon Server Tiered-Storage Tiered storage capabilities in Axon Server Tagging Location awareness capabilities within Axon Server Backups Backup aspects of an Axon Server deployment Recovery Recovery aspects of an Axon Server deployment Plugins Managing Axon Server plugins Logging Axon Server logging customization Event transformation Event transformation tool","title":"Administration","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/","titles":[]},"147":{"id":147,"text":"This feature is only available on the Enterprise Edition of AxonServer To recap the definition as we have seen in the clustering section, contexts allow for strong separation of data without requiring deploying and managing full instances. An Axon Server EE cluster can be setup to store events for multiple contexts. Each context has it own set of files (containing Event/Snapshot data) stored in a separate directory. Axon Server will replicate the context data to a number of nodes depending on the replication group the context is assigned to. When you are creating a context you can either add it to an already existing replication group, or create a new replication group for this context. More on replication groups can be found in the replication groups section. Each context has a separate physical directory on each of the member nodes. This directory is by default determined by the *axoniq.axonserver.events.storage* and *axoniq.axonserver.snapshot.storage* properties. Each context getting a subdirectory below the location specified by the property. Upon creation of a context you can specify a different location. A depiction of multiple registered contexts within an Axon Server EE cluster is shown below The clustering section details the creation of the admin and default contexts_ when a new Axon Server cluster is created. The admin_ context is used to process all configuration changes in Axon Server, so it contains the master configuration from which all contexts get their information. The _admin context does not have an event store and the configuration information is stored in a control database. The default context is the context used by clients when they have not specified any context information. In case you would like to create a cluster without creating a default context, it is recommended to use the Automatic-Initialization feature where you can control explicitly which contexts can be created or not. When you create a context, there are a number of default properties that you can override, specifically for the context. These are: property default value description event.storage [axoniq.axonserver.event.storage]/[context-name] Location where the event store’s event information will be stored event.segment-size 250 MB Size of the event store’s event segments event.index-format JUMP_SKIP_INDEX Index type used for the events in this context (JUMP_SKIP_INDEX or BLOOM_FILTER_INDEX event.max-bloom-filters-in-memory 100 Number of bloom filters for events to be kept in memory (only applicable if index is BLOOM_FILTER_INDEX) event.max-indexes-in-memory 50 Number of index files for events to be kept in memory event.retention-time 7 d Retention time for the events in the primary locations (if secondary location specified) snapshot.storage [axoniq.axonserver.snapshot.storage]/[context-name] Location where the event store’s event information will be stored snapshot.segment-size 250 MB Size of the event store’s snapshot segments snapshot.index-format JUMP_SKIP_INDEX Index type used for the snapshots in this context (JUMP_SKIP_INDEX or BLOOM_FILTER_INDEX snapshot.max-bloom-filters-in-memory 100 Number of bloom filters for snapshots to be kept in memory (only applicable if index is BLOOM_FILTER_INDEX) snapshot.max-indexes-in-memory 50 Number of index files for snapshots to be kept in memory snapshot.retention-time 7 d Retention time for the snapshots in the primary locations (if secondary location specified) As of version 4.4, Axon Server has a new format for the index of events and snapshots, called JUMP_SKIP_INDEX. This is the default format for all contexts that are created from this version onwards. This index format uses a global index to locate the last event for a specific aggregate, and maintains per segment per aggregate the location of the previous event. It improves the efficiency in looking up aggregates that are distributed over segments that are further apart. For instance if you have 2000 event segments and an aggregate has events in segment 1500, 1000, and 500, using this index, Axon Server will find the latest event using the global index, and then from the index for segment 1500 that the previous event is in segment 1000. This prevents checking (the indexes of) all the files in between. When using this index, Axon Server will no longer create bloom filter files. For existing contexts the index format will remain BLOOM_FILTER_INDEX. After a context has been set up in Axon Server EE, Axon Framework applications can connect to it by setting the axon.axonserver.context property when using Spring Boot, or setting the defaultContext on the builder of AxonServerConnectionManager that is passed to the event store. If you are not using Spring Boot, you likely also have to register the AxonConfiguration as a component on the Configurer. Using something like AxonServerConfiguration.builder().context(otherContext).build() to use a different context. Note that depending on message source configuration, other contexts may be used besides the default. All messages in that application will be sent and received only from the default context, unless specified otherwise. In order to send commands and queries to a different context, you can provide a TargetContextResolver to the Configurer as follows: Axon Configurer Spring Boot public class Configuration { public void configuring() { Configurer configurer = DefaultConfigurer .defaultConfiguration() .registerComponent(TargetContextResolver.class, configuration -> message -> message.getPayloadType() .getName() .startsWith(\"com.context.booking\") ? \"booking\" : \"payment\" ); } } @Configuration public class Configuration { @Bean public TargetContextResolver targetContextResolver() { return message -> message.getPayloadType().getName().startsWith(\"com.context.booking\") ? \"booking\" : \"payment\"; } } You can stream events from multiple contexts in the same processor. This is described in the Streaming Events Processors' Multiple event sources section. When an application handles multiple tenants, it might make sense to create separate store per tenant. Handling multiple tenants needs additional infrastructure, such as duplication of the event processor for each tenant, as well as datasource configuration. For this we have created the Multi-Tenancy extension to Axon Framework, that takes care of this infrastructure for you. Pre-4.4 Context Deletion Note that when you delete an existing context with the preserve data option and then recreate it, without specifying the index format, Axon Server will use the JUMP_SKIP_INDEX format. This means that it will create a new index for the existing data, if the old format was BLOOM_FILTER_INDEX. Depending on the size of the event store this can take a long time. The operational maintenance of contexts within an Axon Server EE cluster can be done via any one of the following provided utilities: CLI (axonserver-cli.jar) provided by Axon Server UI Console of Axon Server REST API provided by Axon Server Let us deep dive into these capabilities in more detail. Axon’s command-line utility (axonserver-cli.jar - part of the Axon Server distributable) offers the following options to operate and maintain contexts The register-context command helps in the registration and creation of a new context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar register-context -S http://[node]:[port] -c [context-name] -n [members] This will create a new replication group with the name of the context, with the specified member nodes, and creates a context in this replication group. Another example: $ java -jar ./axonserver-cli.jar register-context -S http://[node]:[port] -c [context-name] -g [replication-group] -prop event.storage=[location] -prop snapshot.storage=[location] This creates a new context in an already existing replication group. Event and snapshot files are stored in the specified location. Mandatory parameters *-c* refers to the context name. The context name must match the following regular expression \"[a-zA-Z][a-zA-Z_-0-9]*\", so it should start with a letter (uppercase or lowercase), followed by a combination of letters, digits, hyphens and underscores. Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-g* refers to the name of the replication group where the context will be added to *-n* refers to the comma separated list of node names that should be members of the new context. This parameter registers them as \"PRIMARY\" member nodes of that context *-a* refers to the comma separated list of node names that should be \"ACTIVE_BACKUP\" member nodes of that context *-m* refers to the comma separated list of node names that should be \"MESSAGING_ONLY\" member nodes of that context *-p* refers to the comma separated list of node names that should be \"PASSIVE_BACKUP\" member nodes of that context *-s* refers to the comma separated list of node names that should be \"SECONDARY\" member nodes of that context *-prop* refers to properties that can be set for the new context. The value should be in the form \\=\\ *-t* refers to the access token to authenticate at server *Deleting contexts* The delete-context command helps in the deletion of a context and its associated data from all member nodes of that context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar delete-context -S http://[node]:[port] -c [context-name] Mandatory parameters *-c* refers to the context that needs to be deleted Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *–preserve-event-store\"* option to keep the event store files when deleting the context (Axon Server deletes the event files by default) *Adding a node to a Context* The add-node-to-context command helps in the registration of a new member node creation of an existing context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar add-node-to-context -S http://[node]:[port] -c [context-name] -r [role of the node] -n [node name] Mandatory parameters *-c* refers to an existing context *-n* refers to the node name that should be a member of this context *-r* refers to the role of this node within the context Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *Deleting a node from a context* The delete-node-from-context command helps in the deletion member node from an existing context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar delete-node-from-context -S http://[node]:[port] -c [context-name] -n [node name] Mandatory parameters *-c* refers to an existing context *-n* refers to the node name that should no longer be a member of this context Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *–preserve-event-store* removes the node from the context but leaves the event store files on that node. *List all contexts* The contexts command lists down all the contexts registered within the cluster, including its name, the leader member node of the context and all the member nodes within the context $ java -jar ./axonserver-cli.jar contexts Optional parameters *-o json* will display the output in a JSON format Another option to maintain contexts is via the UI console of Axon Server EE. Navigate to the Contexts icon on the navigation menu of the console which will open up the context maintenance screen. The operations listed above are possible through the console. Axon Server EE provides a REST API to perform context maintenance operations. The API is accessible at http:[server]:[port]/swagger-ui.html and offers the context-rest-controller to help perform context maintenance operations","title":"Multi-Context","component":"axon-server-reference","version":"v2024.1","name":"multi-context","url":"/axon-server-reference/v2024.1/axon-server/administration/multi-context/","titles":[{"text":"Index formats","hash":"_index_formats","id":1},{"text":"Usage in Axon Framework","hash":"_usage_in_axon_framework","id":2},{"text":"Sending messages to other contexts","hash":"_sending_messages_to_other_contexts","id":3},{"text":"Reading events from multiple contexts","hash":"_reading_events_from_multiple_contexts","id":4},{"text":"Multi-tenancy","hash":"_multi_tenancy","id":5},{"text":"Context maintenance","hash":"_context_maintenance","id":6},{"text":"Command-line interface","hash":"command-line-interface","id":7},{"text":"Creating contexts","hash":"_creating_contexts","id":8},{"text":"User interface","hash":"user-interface","id":9},{"text":"REST API","hash":"rest-api","id":10}]},"148":{"id":148,"text":"This feature is only available with Axon Server version 4.5 onwards. Plugins allow you to add specific interceptors in Axon Server. This enables intercepting commands and queries before they are updated and after they are executed, and it enables intercepting events and snapshots before they are stored and when they are read. A plugin is an OSGi package, that you can upload to Axon Server. The package can implement a number of interceptors, Axon Server will discover these and start using them. The OSGi package runs in an OSGi container, using its own class loader and it only has access to specific Axon Server classes. A plugin package has a symbolic name and version. This information is part of the information in the manifest file of the package. If you upload a package with the same name and version, it will replace the already available package. You can have multiple versions of the same package available. Plugins are managed at a context level, you can configure and activate plugins per context. Per context, you can only have one version of a plugin active. In Axon Server Standard Edition there only is one context, you can still active or pause the plugin for the default context. Axon Server stores plugins on disk on each node. It is important that the location where the plugins are stored is persistent. By default, Axon Server stores the plugin in the directory plugins/bundles. Apart from this directory, there is also a cache directory used by the OSGi container internally (plugins/cache by default). The cache directory does not need to be persistent, Axon Server reinstalls the configured extensions on restart. For more information on plugin development, check the API module in GitHub https://github.com/AxonIQ/axon-server-plugin-api. You can administer plugins through the UI or using the command-line interface. This uploads a plugin to Axon Server and makes it available for further configuration. When you upload the plugin Axon Server will perform some basic validation, to verify that it is a valid OSGi bundle and it can be loaded in the OSGi container. If the uploaded plugin has the same name and version as an already existing plugin, it will immediately replace the existing plugin. To upload a plugin through the command-line interface, use: java -jar axonserver-cli.jar upload-plugin -f [file] Note that there are default settings for the maximum file size (1M) and maximum request size (10M) for the upload request. If you want to upload larger bundles, increase these limits in axonserver.properties (spring.servlet.multipart.max-file-size and spring.servlet.multipart.max-request-size). If your plugin contains registered services of the type io.axoniq.axonserver.plugin.ConfigurationListener, you can configure the plugin through Axon Server. In the UI you will see a form with the properties that are defined in the ConfigurationListeners, initially filled with the default values. Note that you set the values per context. A plugin can have multiple ConfigurationListeners, each one is identified by a name. This name is shown in the Axon Server UI. If you want to set the configuration values through the command-line interface, you have two options, either specify the values as parameters in the command or provide a YAML file containing the parameter values. Here’s an example of a configuration listener that defines two properties: package org.sample; import io.axoniq.axonserver.plugin.Configuration; import io.axoniq.axonserver.plugin.ConfigurationListener; import io.axoniq.axonserver.plugin.PluginPropertyDefinition; import java.util.Map; import static java.util.Arrays.asList; /** * @author Marc Gathier */ public class SampleConfigurationListener implements ConfigurationListener { private final Configuration configuration = new Configuration( asList( PluginPropertyDefinition.newBuilder(\"mypropid1\", \"My first property\").build(), PluginPropertyDefinition.newBuilder(\"mypropid2\", \"My second property\").build() ), \"myname\" ); @Override public Configuration configuration() { return configuration; } @Override public void updated(String s, Map map) { } } To set the properties through the command line using the parameters option use: java -jar axonserver-cli.jar upload-plugin -p -v -c -prop myname:mypropid1=myvalue -prop myname:mypropid2=myvalue2 To do the same using a YAML file create a file with the following content: myname: mypropid1: myvalue mypropid2: myvalue3 And use the following command-line command: java -jar axonserver-cli.jar configure-plugin -p -v -c -f You can activate a plugin through the UI or use the following command-line command: java -jar axonserver-cli.jar activate-plugin -p -v -c If you want to stop an plugin being used temporarily for a context, you can pause it through the UI or the command-line interface. This will keep all the configuration for the plugin, so when you later start it again it will use the same configuration as before. The command-line command for this is: java -jar axonserver-cli.jar pause-plugin -p -v -c This unregisters a plugin for a specific context. The plugin will still be active for other contexts. The command-line command for this is: java -jar axonserver-cli.jar unregister-plugin -p -v -c Deleting a plugin unregisters it from all the contexts and deletes the package from all the nodes. The command-line command for this is: java -jar axonserver-cli.jar delete-plugin -p -v","title":"Axon Server Plugins","component":"axon-server-reference","version":"v2024.1","name":"plugins","url":"/axon-server-reference/v2024.1/axon-server/administration/plugins/","titles":[{"text":"Plugin development","hash":"_plugin_development","id":1},{"text":"Plugin administration","hash":"_plugin_administration","id":2},{"text":"Upload plugin","hash":"_upload_plugin","id":3},{"text":"Configuring a plugin","hash":"_configuring_a_plugin","id":4},{"text":"Activating a plugin","hash":"_activating_a_plugin","id":5},{"text":"Pausing a plugin","hash":"_pausing_a_plugin","id":6},{"text":"Unregistering a plugin","hash":"_unregistering_a_plugin","id":7},{"text":"Deleting a plugin","hash":"_deleting_a_plugin","id":8}]},"149":{"id":149,"text":"This feature is available in Axon Server Enterprise version 4.3 onwards. In case of a major network change, when the host names of all Axon Server nodes have changed, or when you want to move an Axon Server cluster to a new environment, you will have to start Axon Server in recovery mode. This is needed as Axon Server maintains the information about the nodes in the cluster in its control database, and this needs to be updated on all nodes. Axon Server will start in recovery mode when it finds a file called recovery.json in its startup directory, or in a location defined by the property axoniq.axonserver.recoveryfile. The recovery file must contain a JSON array of the nodes in the cluster with their host names and port numbers, for example: [ { \"name\": \"axonserver-1\", \"hostName\": \"axonserver-1\", \"internalHostName\": \"axonserver-1.internal\", \"grpcInternalPort\": 8224, \"httpPort\": 8024, \"grpcPort\": 8124 }, { \"name\": \"axonserver-2\", \"hostName\": \"axonserver-2\", \"internalHostName\": \"axonserver-2.internal\", \"grpcInternalPort\": 8224, \"httpPort\": 8024, \"grpcPort\": 8124 }, { \"name\": \"axonserver-3\", \"hostName\": \"axonserver-3\", \"internalHostName\": \"axonserver-3.internal\", \"grpcInternalPort\": 8224, \"httpPort\": 8024, \"grpcPort\": 8124 } ] The hostName defines the hostname that clients will use to connect to the Axon Server node. The internalHostName contains the name one Axon Server uses to connect to the other. Any elements that have not changed (except for the name) may be omitted, so if you want to use the same port numbers you can omit the grpcInternalPort, httpPort, and grpcPort elements. In the sample above, the node names for the Axon Server nodes will remain the same as they were before. As Axon Server derives its node name from the host name, when not explicitly set in properties, this may cause an issue when host names are changed. To change the node names for Axon Server nodes, add an oldName element in the JSON file. [ { \"name\": \"new-axonserver-1\", \"oldName\": \"axonserver-1\", \"hostName\": \"new-axonserver-1\", \"internalHostName\":\" new-axonserver-1.internal\" }, { \"name\": \"new-axonserver-2\", \"oldName\": \"axonserver-2\", \"hostName\": \"new-axonserver-2\", \"internalHostName\": \"new-axonserver-2.internal\" }, { \"name\": \"new-axonserver-3\", \"oldName\": \"axonserver-3\", \"hostName\": \"new-axonserver-3\", \"internalHostName\": \"new-axonserver-3.internal\" } ]","title":"Recovery","component":"axon-server-reference","version":"v2024.1","name":"recovery","url":"/axon-server-reference/v2024.1/axon-server/administration/recovery/","titles":[]},"150":{"id":150,"text":"You can use tagging in Axon for 2 different scenarios: You want to control which command handler or query handler executes a command or query, or You want to control to which Axon Server node a particular client connects. This feature is only available with Axon Server version 4.4 onwards. Axon Server matches metadata elements provided in a command or a query to tags defined on the command and client handling applications. For instance, you could tag commands with a country code and set the country code in the tags of the handler application. In this case, Axon Server will try to find a command handler with the same country code and send the command to that handler. If there are multiple applications found with a command handler for the requested command and matching tags, Axon Server will pick one based on the provided routing key. The same will happen if there are no applications found with matching tags, so commands will not fail because there are no matching tags. You can, of course, have multiple tags on an application, Axon Server will select the one with most the matching tags. This feature is only available in Axon Server Enterprise and compatible with version 4.2 onwards of Axon. To optimize the connections between framework clients and Axon Server, it is possible to tag both clients and Axon Server with information which describes properties of those clients and nodes. Axon Server will then use these tags to make a connection to the client. A typical tag could describe where the respective client and server node are running (for instance a cloud provider’s region) encouraging that the nearest, and therefore fastest, connections are made. A match is made when the the label and the value of the tag matches. For example, a server tagged with computeRegion=europe will match with a client tag of computeRegion=europe. Similarly, if a server is tagged with computeRegion=europe and client is tagged with computeRegion=asia then this is not considered a match. If both client and server are tagged with multiple tags then the connection that is made will be based on the highest number of matches. If multiple nodes have a equal number of matching tags then the node with the lightest load is chosen. If no matching tags are available at all, it will connect to any available node. To enable tagging you must configure both the client and server. You can configure the tags that you would like for each node through properties using axoniq.axonserver.tags.computeRegion=europe. Additional tags can be specified by adding to the tags element (for instance axoniq.axonserver.tags.networkSpeed=fast). On the client side, there are two approaches through which you can specify tags. Either the properties file is expanded (similar to server configuration, also allowing additional tags to be added) in a Spring Boot environment, or a TagsConfiguration object is registered to the Configurer. Axon Configuration API Spring Boot AutoConfiguration Map tags = new HashMap(); // Insert tags DefaultConfigurer.defaultConfiguration() .configureTags(config -> new TagsConfiguration(tags)); axon.tags.computeRegion=europe","title":"Tagging","component":"axon-server-reference","version":"v2024.1","name":"tagging","url":"/axon-server-reference/v2024.1/axon-server/administration/tagging/","titles":[{"text":"Tag based routing","hash":"_tag_based_routing","id":1},{"text":"Connection distribution","hash":"_connection_distribution","id":2},{"text":"Tag matching","hash":"tag-matching","id":3},{"text":"Enabling tagging","hash":"enabling-tagging","id":4},{"text":"Axon Server","hash":"axon-server","id":5},{"text":"Client","hash":"client","id":6}]},"151":{"id":151,"text":"Tiered storage is a useful feature that allows you to store data across different levels of storage media based on access speed and cost. This helps optimize performance and reduce overall storage costs by placing frequently accessed data on faster storage media, such as SSDs, and less frequently accessed data on slower but more cost-effective storage media, such as HDDs. In a tiered storage system, data is usually classified according to its importance or frequency of use, and then automatically migrated between storage tiers based on these criteria. This approach helps users to optimize their storage resources, reduce costs, and improve performance by ensuring that data is stored on the most appropriate type of storage media. In Axon Server, there are two features that allow you to manage how data is stored: tiered storage and secondary nodes. They work differently but can complement each other. Let’s first explain these two different options and compare them to each other. Tier configuration is shared with all nodes. Each node maintains tiered storage independently storing on its own unique storage locations. Tiered Storage is a feature that enables each node to maintain a local representation of its own tiered storage over its event store replica. This feature allows you to configure multiple storage tiers based on each node’s role, such as primary, secondary, or backup nodes. Nodes of the same role share a tiered configuration execute segment-moving operations locally, and independently. For this reason, it is possible for segments to not be transferred at the same time on all nodes due to timing differences, but this is not a problem, and over time, the tiers will become synchronized. With Tiered Storage, you can configure as many tiers as you need, and you can set retention intervals for each tier to determine after which interval the data should be moved from one tier to another. There are several supported tier types available, including the default, custom storage, and black hole. Tiered configuration within Context page - Axon Server Enterprise Edition Lazy tiers As all available tier types are eagerly initialized they are not suitable for cold storage or archiving. In the future, we will aim to support lazy initialization of tiers, which will allow support for cold storage and archiving. The Default tier type is a convenient option that allows you to quickly set up your event store without having to specify a custom location on disk. If you do not have any specific requirements for the physical storage location of your event data or you are migrating from an older version of Axon Server where the event store location was set via environment variables, then using the Default tier type is a suitable initial tier to use. The Custom storage tier type enables you to set a custom location for a specific tier in Axon Server. You can choose storage via a dropdown menu. To add storage locations to the dropdown menu, you need to configure Axon Server with additional properties. This can be done either through a property file or environment variables, using the following syntax: axoniq.axonserver.event.storages.{storage name}={path to storage} axoniq.axonserver.snapshot.storages.{storage name}={path to storage} For example, to set the slow_disk storage location to /hhd2/eventstore, you can add the following line to your configuration: axoniq.axonserver.event.storages.slow_disk=/hhd2/eventstore axoniq.axonserver.snapshot.storages.slow_disk=/hhd2/eventstore You can add as many storage locations as needed, such as different hard drives or even mounted network drives, but it is important to configure the given storage on all nodes in the Axon Server cluster. Configuration is shared for all nodes of the same role. That’s why all nodes should provide paths where they want to store data for certain named locations (storages). After configuration is set, it’s replicated to all nodes, after that nodes maintain and run segment-moving operations on their own, independently. Storage locations are referenced by name (for instance slow_disk), and the provided path is resolved at runtime on each node. It’s important that path on each node points to a unique physical location! The Black Hole is tier type in Axon Server that consumes your events, and you will never see them again. Using the Black Hole tier will mark your context as ephemeral, which means that data is permanently removed after a specified retention interval. Once the data is removed, it cannot be recovered, so it’s essential to use this feature with caution and only if you’re certain that you no longer need the data. Context using a black hole tier will be marked as ephemeral and the flow of data will be visualized (only for primary nodes) To configure context as ephemeral, you first need to choose storage where you want to store events or snapshots initially. You can do so by choosing default tier type or selecting the storage location from the dropdown menu. After that, you need to add Black Hole tier type and set retention interval for this tier. Example on how to configure ephemeral context Ephemeral context is particularly useful in scenarios such as event streaming or integration contexts, where events are published to multiple observers in real-time, and after some time, the events are no longer of interest. Another use case is for contexts that produce many events, like notifications, which are no longer useful for the business after a certain period. However: The Black Hole tier should not be used if you have event-sourced aggregates. Ephemeral context is not suitable for fine-grain event removal as it removes segments per whole, that contain many different events of different types of aggregates, making it difficult to remove specific events. In the case you need to use event-sourced aggregates and want to delete events after a period of time and ensure that you always have a valid state, Axon Server provides an experimental feature called conditional removal, which allows you to remove segments conditionally. To use this feature, you first need to enable snapshots for your aggregates. Setting the conditional property (available by editing context properties in the UI) experimental.black-hole.conditional-remove = 1 instructs the black hole tier to remove an event segment only if each event in the segment was previously included in a snapshot. It also removes a snapshot segment only if there is a newer snapshot for each snapshot in the segment. However, note that this feature is experimental, and it comes with some caveats. For example, there are many events of different aggregates in one segment. If only one aggregate from this segment does not have a snapshot, it may prevent the segment from being deleted indefinitely. This feature is best used if you have a small number of aggregate instances, ideally one aggregate, which is a common case for integration purposes contexts. Another safer usage of condition removal and black hole tier, is to enable it only for snapshot storage. With that after some time older non-used snapshots will be removed, but latest snapshot will be always available for each aggregate. Configuring conditional remove in context properties Axon Server supports both time-based and size-based retention intervals for tiered storage. ] Retention interval options for tiered storage Time-based retention specifies how long a segment should be in one tier before being moved to another tier. After the segment is closed for writing and the retention time is due, the segment becomes eligible to move to the next tier. Size-based retention monitors the size of the whole tier. After the size threshold is breached, the oldest segments in the tier that are outside of the size boundary are moved to the next tier, maintaining the specified size of the tier. Specified size is calculated only using event segment file sizes and does not include index file sizes. So, make sure to leave enough space on the disk for indexes and for the currently open segment. Size-based retention is useful when you want to keep the newest events on fast storage limited by size, while moving everything else to a slower disk. Axon Server allows you to control the flow of data between tiers. You can limit the rate of segment moves to prevent large IO spikes. You can also pause the segment moving operation to prevent data from being moved between tiers. You can limit the max number of segments that can be moved per minute by setting the following properties: event.segment-move-rate=5 By default, the max number of segments that can be moved per minute is set to 5. This setting can be changed within the context properties in Axon Server UI. Limiting IO rate in context properties for a given context In some cases, you may want to pause the segment moving operation. This can be useful in emergency situations or during maintenance/backup operations. To pause the segment moving operation, set the segment move rate to zero: event.segment-move-rate=0 To resume the segment moving operation, simply set the segment move rate to a non-zero value. To track the flow of data from one tier to another, we provide a few useful metrics: file_segment_moved_initiated_total{axonserver=\"axonserver-enterprise-1\",context=\"mycontext\",fromTierLevel=\"0\",type=\"EVENT\",} 11.0 file_segment_moved_completed_total{axonserver=\"axonserver-enterprise-1\",context=\"mycontext\",fromTierLevel=\"0\",type=\"EVENT\",}10.0 file_segment_moved_duration_seconds_sum{axonserver=\"axonserver-enterprise-1\",context=\"mycontext\",fromTierLevel=\"1\",type=\"SNAPSHOT\",} 0.53 Example of metrics for tracking the flow of data in tiered storage file_segment_moved_initiated - counts how many segments, per context, per tier level, were initiated to be moved to next tier file_segment_moved_completed - counts how many segments, per context, per tier level, was successfully moved to next tier file_segment_moved_duration - measures how long did it take to move segments to next tier file.segment.per.tier - current number of segments per each tier Limitations to changing and adding to tier configuration While it is possible to change the conditions for moving data from one tier to the next, it is not possible to change the order of tiers. Currently, new tiers can only be added at the end and removal of existing tiers is not possible. In the future, it is expected that it will be possible to alter the configuration completely. Secondary Nodes are a feature in Axon Server that allows you to reduce the number of copies of data that is stored, by keeping only the most recent event store on your primary nodes and keeping the full event store on the secondary nodes. The primary nodes can have faster (more expensive) disks, while the secondary nodes can have slower but more cost-effective disks. This can help reduce storage costs without significantly impacting performance. When Axon Server processes a transaction to append events, the leader replicates this transaction to all of the nodes in the cluster. This includes the primary nodes, as well as the secondary and backup nodes. While the leader will be satisfied when the majority of the primary nodes have acknowledged the receipt of the transaction, it will also keep track of the progress of the other nodes. Each node holds an exact copy of the data initially. So with a cluster of three nodes, each element of data (typically events) will be stored a total of three times. The main reason for this is to ensure that the failure of a single node will not result in the data becoming unavailable or lost. This is particularly relevant for recent information, which is accessed frequently by various event processors, and when using event sourcing. However, the added value of these extra copies degrades over time, as these entries are accessed less frequently. Secondary nodes contain a full copy of all the data that the primary nodes also process. While replicating that data, they inform the primary nodes of their progress. Once the data has aged to the configured retention time, it becomes eligible for removal from the last tier in primary nodes, but only if all available secondary nodes have a safe copy of that data. When primary nodes need to access old data, they will retrieve it from the secondary nodes. By using secondary nodes, you can leverage concurrent access performance of faster disks while minimizing cost by moving events to slower disks once access requirements are reduced. Additionally, a secondary node could be used to keep access for incidental operational use of older events. This secondary node could use several storage tiers to be able to cope with the large amount of data to store. If needed, after a certain retention period, data can be removed altogether. The main difference between Secondary Nodes and Tiered Storage is the cardinality of data. Secondary Nodes allow for a reduction in the number of copies of each data element that is stored; whereas in Tiered Storage, the number of copies always equals to the number of nodes in the cluster. Another significant difference is that Secondary Nodes copy all the data, including the most recent events, even though they still exist on the primary node. Once the data has aged to the configured retention time, it becomes eligible for removal from the primary nodes, but only if all available secondary nodes have a safe copy of that data. In contrast, Tiered Storage involves an actual data copy operation at the moment data transitions from one tier to the next. The differences between Secondary Nodes and Tiered Storage allow for interesting data management techniques. High-performance systems require the ability to concurrently ingest data and read events for event sourcing. Additionally, events that are \"cooling down\" may still occasionally be needed for operational purposes, making the availability of this data essential. In such scenarios, one could use SSD and HDD on the primary nodes to leverage the concurrent access performance of SSD and minimize costs by moving events to a local HDD once access requirements are reduced. Additionally, a Secondary node could be used to keep access for incidental operational use of older events. This Secondary node could use several storage tiers to cope with large amounts of data to store. By combining Secondary Nodes and Tiered Storage, users can effectively manage their data and strike a balance between performance and cost. Example of a tiered setup that keeps most up-to-date events in primary nodes. After a given period of time data is removed from primary nodes and reduced to one replica in one secondary node which deletes data after a long period of time. To use secondary nodes, the replication group for the context must have nodes with SECONDARY role. You may consider to have at least two nodes with SECONDARY role to prevent a single point of failure. To configure a secondary node, you need to add it to the Axon Server cluster as a new node with the SECONDARY role. You can do this by installing Axon Server on a new machine, configuring it to use the same Axon Server instance as the primary node, and starting it up with the SECONDARY role. Once the secondary node is up and running, it will automatically start replicating data from the primary node. By default, the secondary node will store a full copy of all data that the primary nodes also process. While replicating that data, the secondary node informs the primary nodes of its progress. To control the retention time of events on the primary nodes, you can set the retention time properties in the context properties. event.retention-time=10d snapshot.retention-time=10d Entering number without unit defaults to milliseconds, but you can specify a value with a unit, for instance 1d or 5h. This allows you to specify how long events will be kept on the primary nodes before they are eligible for removal. If you have primary nodes with multiple tiers, data will be removed only from last tier. Once events are removed from the primary nodes, they will still be available on the secondary nodes. To access old data on the primary nodes, you can retrieve it from the secondary nodes. This ensures that your data remains available even after it has been removed from the primary nodes, as long as it is still available on the secondary nodes. Overall, secondary nodes provide a way to reduce the number of copies of each data element that is stored, while still maintaining the availability of that data.","title":"Tiered Storage","component":"axon-server-reference","version":"v2024.1","name":"tiered-storage","url":"/axon-server-reference/v2024.1/axon-server/administration/tiered-storage/","titles":[{"text":"Introduction","hash":"_introduction","id":1},{"text":"Axon Server tiered storage","hash":"_axon_server_tiered_storage","id":2},{"text":"Default","hash":"_default","id":3},{"text":"Custom storage","hash":"_custom_storage","id":4},{"text":"Black Hole Tier","hash":"_black_hole_tier","id":5},{"text":"Configuring ephemeral context","hash":"_configuring_ephemeral_context","id":6},{"text":"Use cases for ephemeral context","hash":"_use_cases_for_ephemeral_context","id":7},{"text":"Conditional Removal","hash":"_conditional_removal","id":8},{"text":"Retention Intervals","hash":"_retention_intervals","id":9},{"text":"Time-Based Retention","hash":"_time_based_retention","id":10},{"text":"Size-Based Retention","hash":"_size_based_retention","id":11},{"text":"Controlling the flow of data","hash":"_controlling_the_flow_of_data","id":12},{"text":"Setting IO Rate Limits","hash":"_setting_io_rate_limits","id":13},{"text":"Pausing moving operation","hash":"_pausing_moving_operation","id":14},{"text":"Metrics","hash":"_metrics","id":15},{"text":"Secondary Nodes","hash":"_secondary_nodes","id":16},{"text":"Tiered storage vs Secondary Nodes","hash":"_tiered_storage_vs_secondary_nodes","id":17},{"text":"How are Secondary Nodes Different?","hash":"_how_are_secondary_nodes_different","id":18},{"text":"How Can They Complement Each Other?","hash":"_how_can_they_complement_each_other","id":19},{"text":"Configuring and Using Secondary Nodes","hash":"_configuring_and_using_secondary_nodes","id":20}]},"152":{"id":152,"text":"","title":"Control Database","component":"axon-server-reference","version":"v2024.1","name":"control-database","url":"/axon-server-reference/v2024.1/axon-server/architecture/control-database/","titles":[]},"153":{"id":153,"text":"The architecture section describes numerous concepts and flows within Axon Server that make it tick. Although interesting information, note that none of the upcoming pages are regarded as must know for users of Axon Server. Hence, they are just there for those that want to dive a little deeper into the matter. The following table contains a single subsection for the time being. Sub-Section Purpose Control Database Section describing the importance of the Control Database","title":"Architecture","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/architecture/","titles":[]},"154":{"id":154,"text":"Axon Server can be deployed as a cluster to guarantee high availability. A cluster of Axon Server nodes will provide multiple connection points for (Axon Framework-based) client applications, and thus share the load of managing message delivery and event storage. Client applications will dynamically connect to a node in the cluster and automatically reconnect to another, should the node that they are currently connected to become unreachable. An Axon Server cluster has 3 main areas of administration, Cluster Nodes - \"Instances\" of Axon Server that need to be part of the cluster. Replication Groups - Responsible for event data replication and transaction management between the various nodes of a cluster. Contexts - Responsible for event storage within the various nodes of a cluster. A visual representation of the relationship between the 3 is shown below. The cluster setup process always begins by designating any one clean/uninitialized Axon Server node as the first member of the cluster. You can then run the \"init-cluster\" command on it which will create the following replication groups and contexts -> admin/default. From thereon, there are multiple ways to continue the setup depending upon your Event Store deployment topology. Any other Axon Server node can be added to the cluster using the \"register-node\" command without associating it with any Replication Group / Context. New Replication Groups/Contexts can be added and cluster member nodes can be associated with these. Member nodes can be removed from the cluster at any point of time. Axon provides two ways for automating cluster configuration. The first is the Automatic Initialization feature and the other is the Cluster Template feature. The manual process of member registration of the cluster can be bypassed by setting a couple of properties in the axonserver.properties file. axoniq.axonserver.autocluster.first=internal-hostname:internal-port axoniq.axonserver.autocluster.contexts=context1,context2 The axoniq.axonserver.autocluster.first property defines the first node in the cluster, by specifying its internal hostname (the hostname used by other Axon Server nodes to connect to this host), and the internal port. If the internal port is default (8224) it can be omitted. axoniq.axonserver.autocluster.contexts defines the contexts to create on the first node and the context to join for the other nodes. All of these contexts will be joined as primary nodes. When you don’t specify any contexts, the initial node will only create an admin context, the other nodes will join the cluster, but not be a member of any contexts. The autocluster properties will only take effect on a clean start of a node. If a node is already initialized, it will not create any contexts anymore, nor join the cluster again. This feature is only available in Axon Server Enterprise (since v4.4) The cluster template is defined as a YAML file, describing a cluster’s configuration. It is possible to predefine replication groups, contexts, metadata, applications (with tokens), and users (with their roles), so that the configuration can be shared across teams. The cluster template runs exactly once, on the first clean Axon Server start-up, if there is no previous cluster configuration defined. Therefore, the cluster template will not override any existing configuration. Its purpose is to be used during active development, to be able to share the configuration across development teams. To use the cluster template feature, all you need to do is define a valid cluster template YAML file. If this file is present on a fresh Axon Server startup, it will automatically be picked up and the cluster will be configured accordingly. Each cluster node needs to have the cluster template YAML file copy. Each node will read this file, find its own configuration and configure itself. Default path from which Axon Server reads configuration is ./cluster-template.yml You can override this path anytime by setting Axon Server property: axoniq.axonserver.clustertemplate.path:/mypath/cluster-template.yml Below you can find an example of a basic cluster setup: the _admin and default contexts are in separate replication nodes, replicated across all nodes that are marked as primary. axoniq: axonserver: cluster-template: first: internal-hostname:internal-port replicationGroups: - name: _admin roles: - node: axonserver-enterprise-1 role: PRIMARY - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY contexts: - name: _admin - name: default roles: - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY - node: axonserver-enterprise-1 role: PRIMARY contexts: - name: default applications: [] users: [] Cluster overview after default configuration is applied In order to avoid mistakes while writing a cluster configuration file, we have implemented an export button that will generate a cluster template file based on current setup. Location of export button at Settings page Recommended mechanism - Creating an advanced cluster setup Start a fresh Axon Server setup (use basic cluster template setup mentioned above). Configure a cluster via the UI, by creating users, applications, replication groups and contexts. Use the export button located at \"Settings -> Configuration\" panel to download the current cluster configuration. Replace the basic cluster template with the newly exported cluster template configuration. Use export button from any admin node to ensure that the configuration file contains all the relevant information.","title":"Cluster Basics","component":"axon-server-reference","version":"v2024.1","name":"cluster-basics","url":"/axon-server-reference/v2024.1/axon-server/clustering/cluster-basics/","titles":[{"text":"Introduction","hash":"_introduction","id":1},{"text":"Setup process","hash":"_setup_process","id":2},{"text":"Automatic initialization","hash":"automatic-initialization","id":3},{"text":"Cluster templates","hash":"cluster-templates","id":4},{"text":"Usage","hash":"_usage","id":5},{"text":"Configuration","hash":"_configuration","id":6},{"text":"Export","hash":"_export","id":7}]},"155":{"id":155,"text":"This section addresses the specifics of clustering Axon Server nodes. It covers how to cluster nodes, what roles each node may have, as well as specific data Axon Server generates in a clustered scenario, with the control database and the replication logs sections. The option to cluster Axon Server nodes is not supported in the Developer plan. The following table gives a summary of the various subsections. Sub-Section Purpose Cluster Basics Section describing the basics on how to cluster Axon Server nodes Node Roles Listing and description of the varying roles Axon Server nodes can have Replication Groups Section describing the intent of Replication Groups in an Axon Server cluster Replication Logs Section describing the Replication Logs purpose","title":"Clustering","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/clustering/","titles":[]},"156":{"id":156,"text":"This feature is only available in Axon Server Enterprise versions 4.3 and higher. When you have larger clusters and specific requirements, you may want to have nodes acting in a different way within a replication group. For this reason, in Axon Server Enterprise 4.3, we have introduced a number of new roles that can be assigned to a node. These are: Primary nodes -> This is the role for nodes prior to 4.3. Primary nodes handle client connections and messages, store events and may act as the leader for a replication group. Backup nodes -> These nodes maintain a copy of the event store, but will never become the leader of a replication group. There are two types of Backup nodes - Active Backup and Passive Backup. Messaging-only nodes -> They handle client connections and all types of messages (Commands/Queries/Events) but they do not have an event store. Secondary nodes -> Support for tiered storage. If a replication group contains secondary nodes the primary nodes will only retain recent data. Each replication group needs to have at least one Primary node. This node is capable of becoming a leader and coordinating transactions across the replication group between the different member nodes. Even if you are not using Axon Server as an event store, you still need a leader as transactions also include making changes to the replication group configuration and access control lists. It is also possible to change the role that a particular node plays within a context. You can use backup nodes for instance when you want to ensure that you have a copy of your event store in another data center. As the backup node will never become the leader for a replication group it reduces the risk of high latency, compared to having a normal (Primary) node in another data center. By default, clients can connect to backup nodes. This can be disabled by setting the axoniq.axonserver.force-connection-to-primary-or-messaging-node property to true. Backup nodes come in two flavors Active backup nodes maintain a real time copy of the Event Store by being active participants in transactions. To expand this, suppose a replication group within an Axon Server EE cluster has Active Backup nodes assigned to it (in addition to the Primary nodes). When an event is raised within a context the transaction to commit it in the Event Store is only confirmed if it receives a successful acknowledgement from at-least a certain number of those Active Backup nodes. It is possible to customize the number of active backup nodes involved in the transactions by changing the value of the property axoniq.axonserver.replication.min-active-backups . The default value of this parameter is *\"1\"* which means that if you have Active Backup nodes, at least one of them needs to be up at any time. The higher the value set for this property, the higher the number of Active backup member nodes that need to be available for a successful transaction, so this property affects the availability of the cluster and hence needs to be carefully managed. There are three possible ways to assign the ACTIVE_BACKUP role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as an ACTIVE_BACKUP role within a replication group. B) The add-node-to-replication-group command with the role option as ACTIVE_BACKUP $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r PASSIVE_BACKUP Mandatory parameters *-g* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as PASSIVE_BACKUP* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations Passive Backup nodes follow the primary nodes with on a best effort base. If they are disconnected for some time, it will not impact the overall availability of the replication group. Once the Passive backup nodes are connected again, they will update their event stores with the events that were added while they were gone. If you don’t require the backup node to be fully up-to-date at any moment, you can configure one passive backup node. There are three possible ways to assign the PASSIVE_BACKUP role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as a PASSIVE_BACKUP role within a replication group. B) The add-node-to-replication-group command with the role option as PASSIVE_BACKUP $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r PASSIVE_BACKUP Mandatory parameters *-g* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as PASSIVE_BACKUP* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations You can add nodes as messaging-only nodes to a replication group, if you don’t want to use Axon Server as an event store, or if you want to have a large number of Axon Server nodes for a single replication group, without storing the events on each node. As the name already suggests, messaging-only nodes only route messages, they do not store events themselves. They do not participate in transactions and will clearly never become the leader for a replication-group. There are three possible ways to assign the MESSAGING_ONLY role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as a MESSAGING_ONLY role within a replication group. B) The add-node-to-replication-group command with the role option as MESSAGING_ONLY $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r MESSAGING_ONLY Mandatory parameters *-c* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as MESSAGING_ONLY* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations Axon Server version 4.4 and higher You can add nodes as secondary nodes to a replication group, if you want to limit the amount of data stored on primary nodes. You could for example have fast (more expensive) storage on the primary nodes and less expensive storage on the secondary nodes. Most activity will take place on recent data, and only when you need to access older data you have to go to the secondary nodes. Once you have defined secondary nodes for a replication group, this will apply for all contexts that are defined in the replication group. You can configure the retention time per context, so for some contexts you may have a longer retention time than for others. As the old data still needs to be available at least one SECONDARY node needs to be up at all times. PRIMARY nodes will not delete information from their event stores until all SECONDARY nodes have this information. There are three possible ways to assign the SECONDARY role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as a MESSAGING_ONLY role within a replication group. B) The add-node-to-replication-group command with the role option as SECONDARY. $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r SECONDARY Mandatory parameters *-c* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as SECONDARY* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations. Sometimes you may want to change the role a node has for a specific replication group. This may happen when you have a pre-existing cluster replication grou configuration (pre 4.3) and now you want to be able to start using the new roles. The way to do this is to remove a node from a replication group and then add it again in the new role. When you remove the node from the replication group you have an option to preserve the event store. Preserving the event store is recommended when you want to change the role for a node from PRIMARY to BACKUP, or vice versa, as it would prevent a full replication of the event store when the node is added again with the new role. There are three possible ways to change the role of a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. You can choose to delete the specific node from the context (using the delete icon). In case you would like to preserve the event store, click on the check-box in the pop-up. B) The delete-node-from-replication-group command $ java -jar ./axonserver-cli.jar delete-node-from-replication-group -S http://[node]:[port] -g [replication-group-name] -n [node name] Mandatory parameters *-g* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *–preserve-event-store* removes the node from the replication group but leaves the event store files on that node. C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations","title":"Node Roles","component":"axon-server-reference","version":"v2024.1","name":"node-roles","url":"/axon-server-reference/v2024.1/axon-server/clustering/node-roles/","titles":[{"text":"Backup nodes","hash":"backup-nodes","id":1},{"text":"Active backup node","hash":"active-backup-node","id":2},{"text":"Passive backup node","hash":"passive-backup-node","id":3},{"text":"Messaging-only nodes","hash":"messaging-only-nodes","id":4},{"text":"Secondary nodes","hash":"secondary-nodes","id":5},{"text":"Changing node roles","hash":"changing-node-roles","id":6}]},"157":{"id":157,"text":"Within a single cluster you can define *replication groups*. A replication group is responsible for transaction coordination as well as event data replication among the various nodes within the cluster. A visual representation of Replication Groups is depicted below. Each node has a specific role in a replication group. The nodes in a replication group will elect a leader which will be responsible for managing transactions in the replication group. Within a replication group you can define a number of contexts (see the in the multi-context section). When you define a replication group, you assign nodes that will serve that replication group. A node can have different roles in a context: A “PRIMARY” node is a fully functional (and voting) member of that replication group. A majority of primary nodes is needed for a replication group to be available to client applications. A “MESSAGING_ONLY” member will not provide event storage, and (as it is not involved with the transactions) is a non-voting member of the replication group. An “ACTIVE_BACKUP” node is a voting member which provides an event store for each context in the replication group, but it does not provide the messaging services, so clients will not connect to it. Note that you must have at least one active backup node that needs to be up if you want a guarantee that you have up-to-date backups. A “PASSIVE_BACKUP” will provide event stores, but not participate in transactions or even elections, nor provide messaging services. It being up or down will never influence the availability of the replication group, and the leader will send any events accumulated during maintenance, as soon as it comes back online. Lastly, a \"SECONDARY\" node will provide event stores, but not participate in transactions or even elections, nor provide messaging services. The leader will send any events accumulated during maintenance, as soon as it comes back online. When there are secondary nodes in a replication group, the primary nodes will only keep the most recent data in their event store. There are multiple options available of assigning roles to nodes within a replication group. The Command Line interface section details this out in the clusters and replication groups sub-sections. All nodes serving a particular context maintain a complete copy, with a “replication leader” in control of the distributed transaction. The leader is determined by elections, following the RAFT protocol. An important consequence has to do with those elections: nodes need to be able to win them, or at least feel the support of a clear majority that is to have a valid leader for a context, a *majority of the nodes must be active* (for instance when you have a cluster with 3 nodes, you need at least 2 active nodes, for a cluster of 4 nodes you would need 3 active nodes).‌ The leader orchestrates the distributed transaction (that is replication of data between the nodes) and confirms to clients when transactions are committed. While an Axon Server cluster does not need to have an odd number of nodes, every individual replication group does, to prevent the chance for a draw in an election. This also holds for the internal replication group named “_admin”, which is used by the admin nodes and stores the cluster structure data. As a consequence most clusters will have an odd number of nodes, and will keep functioning as long as a majority (for a particular replication group) is responding and storing events. Axon Server EE has one special replication group and context, called \"_admin\". This context is used to process all configuration changes in Axon Server, so it contains the master configuration from which all replication groups get their information.‌ You cannot add additional context to the \"_admin\" replication group.","title":"Replication Groups","component":"axon-server-reference","version":"v2024.1","name":"replication-groups","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-groups/","titles":[{"text":"Node roles","hash":"_node_roles","id":1},{"text":"Consensus and elections","hash":"_consensus_and_elections","id":2},{"text":"Special replication group","hash":"_special_replication_group","id":3}]},"158":{"id":158,"text":"","title":"Replication Logs","component":"axon-server-reference","version":"v2024.1","name":"replication-logs","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-logs/","titles":[]},"159":{"id":159,"text":"This section of the manual contains information on installing Axon Server. A summary of the various subsections is given below: Sub-Section Purpose Local Installation Covers all aspects of installing Axon Server locally. Docker / K8s Covers all aspects of installing Axon Server in Docker / K8s.","title":"Installation","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/installation/","titles":[]},"160":{"id":160,"text":"Options Description Non-Axon Server to Axon Server Migrating your non-Axon Server based deployment (Relational DB) to an Axon Server based deployment","title":"Migration","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/migration/","titles":[]},"161":{"id":161,"text":"The Axon EE Server package contains a migration tool to migrate from an already existing RDBMS event store to a new Axon EE Server instance. The tool reads events and snapshots from the existing store and pushes them to an Axon EE Server. The migration tool maintains the state of its migration, so it can be run multiple times. Provision an Axon Server EE cluster with the required number of nodes setup. Startup all the nodes. On any one of the admin nodes, create a new file `application.properties`under the following location ${axon_ee_server_home} containing the properties which define the existing event store and the target Axon Server server axoniq.axonserver.servers - comma separated list of hostnames and ports for the Axon Server cluster. axoniq.datasource.eventstore.url - URL of the JDBC data store containing the existing event store axoniq.datasource.eventstore.username - username to connect to the JDBC data store containing the existing event store axoniq.datasource.eventstore.password - password to connect to the JDBC data store containing the existing event store axon.serializer.events*=jackson- The default settings expect the data in the current event store to be serialized using the XstreamSerializer. Add this property if the data is serialized using the JacksonSerializer. Create a folder called libs under the ${axon_ee_server_home}. Depending upon the type of Database (Postgres/MySql), the required JDBC driver jar files should be placed in this directory. Run the command axonserver-migration.jar The time to migrate data will vary depending upon the size of the existing data store and the number of nodes setup within the cluster. Logon to the Axon Server EE console and query the store to check if the migrated event data is present. The migration tool only migrates the event store data to Axon Server. It does not update the tracking token values in token_entry tables. Tracking tokens are highly dependent on the implementation of the actual event store used. Migrating them is case specific and error-prone. The recommendation is to reset the tracking processors after the migration. The migration tool is like a regular Axon Framework application so properties can be setup accordingly (for example Access Control/Tokens).","title":"Non-Axon Server to Axon Server","component":"axon-server-reference","version":"v2024.1","name":"non-axon-server-to-axon-server","url":"/axon-server-reference/v2024.1/axon-server/migration/non-axon-server-to-axon-server/","titles":[{"text":"Pre-upgrade process","hash":"_pre_upgrade_process","id":1},{"text":"Upgrade process","hash":"_upgrade_process","id":2},{"text":"Verification","hash":"_verification","id":3},{"text":"Notes","hash":"_notes","id":4}]},"162":{"id":162,"text":"There are multiple benefits of moving from an Axon Server SE based deployment to an Axon Server EE based deployment and Axon provides an easy mechanism to achieve this. The up-gradation process primarily involves the movement of the Event/Snapshot data from the an Axon Server SE node to the Axon Server EE cluster. All Event/Snapshots Data (*.events / *.snapshots) in Axon Server SE will be under the folder ${axon_se_server_home}/data/default Provision the Axon Server EE cluster with the required number of nodes setup for the default context. Once this is completed and validated, shut down all the nodes within the cluster Copy and Replace the Event/Snapshots data from the single SE node to every node on the EE cluster. The files should be copied to the_${axon_ee_server_home}/data/default_ location to each of the EE nodes Restart the Nodes Logon to the Axon Server EE console and query the store to check if the migrated event data is present The controldb file on Axon Server SE just contains information on the users allowed access to the server. Users in Axon Server SE are not assigned to any contexts or roles. It is recommended that this file is not copied over over and these users be recreated in Axon Server EE and assigned the proper roles/contexts. Any token setup for client access to the Axon Server SE must be setup on the Axon Server EE cluster too.","title":"Standard to Enterprise Edition","component":"axon-server-reference","version":"v2024.1","name":"standard-to-enterprise-edition","url":"/axon-server-reference/v2024.1/axon-server/migration/standard-to-enterprise-edition/","titles":[{"text":"Pre-upgrade process","hash":"_pre_upgrade_process","id":1},{"text":"Upgrade process","hash":"_upgrade_process","id":2},{"text":"Verification","hash":"_verification","id":3},{"text":"Notes","hash":"_notes","id":4}]},"163":{"id":163,"text":"Flow control is the process of managing the rate of data transmission between two nodes to prevent a fast sender from overwhelming a slow receiver. In the messaging platform flow control is possible both between the messaging platform and the message handlers, and between the nodes in the messaging platform cluster. Messaging Platform - Messaging Handler: The client (the Axon Application) needs to set the following properties to configure flow control: axon.axonserver.initial-nr-of-permits [1000] - number of messages that the server can initially send to client. axon.axonserver.nr-of-new-permits [500] - additional number of messages that the server can send to client. axon.axonserver.new-permits-threshold [500] - when client reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. Axon Server Nodes: Set the following properties to control 'list aggregate events' prefetch rate, per aggregate and per segment: axoniq.axonserver.event.aggregate.prefetch [5] - Ensures that backpressure signals from clients are split into batches. The initial request amount is {prefetch}*5, and subsequent (or replenishing) request amount is {prefetch} axoniq.axonserver.event.events-per-segment-prefetch [10] - the maximum prefetched events from each opened event segment (max two opened segments in parallel) Set the following properties to set flow control on the synchronization between nodes in an Axon Server cluster: axoniq.axonserver.commandFlowControl.initial-nr-of-permits [10000] - number of messages that the master can initially send to replica. axoniq.axonserver.commandFlowControl.nr-of-new-permits [5000] - additional number of messages that the master can send to replica. axoniq.axonserver.commandFlowControl.new-permits-threshold [5000] - when replica reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. axoniq.axonserver.queryFlowControl.initial-nr-of-permits [10000] - number of messages that the master can initially send to replica. axoniq.axonserver.queryFlowControl.nr-of-new-permits [5000] - additional number of messages that the master can send to replica. axoniq.axonserver.queryFlowControl.new-permits-threshold [5000] - when replica reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. Flow control and stream cancellation features are only available with Axon Server 4.6.0 and up. Under the hood, backpressure does Hop to Hop signal propagation (see below) and inherits gRPC’s HTTP2-based backpressure model. As a result, backpressure will not behave intuitively and will not propagate exact request signals from consumer to producer. HTTP/2 and Netty flow control have internal buffers based on message size. In turn, Axon Framework and Axon Server prefetch messages into internal buffers based on message count. The result is that the producer will send a number of messages until it fills all the buffers. Only then will backpressure kick in. Hop to hop The backpressure signal is propagated per-hop. This approach makes it not an end-to-end connection that allows intermediate Axon Server instances to handle backpressure between two connections and pre-fetch additional messages to increase overall performance. It’s important to note that similar to backpressure, the cancellation signal is also per hop. This means it’s propagated over the network to Axon Server and then to the producer. This solution will thus introduce some latency in the stream cancellation. Even though there is potential latency involved in cancellation, any messages produced after the consumer signaled cancellation will be ignored. In order to stream query results, the producer of those results, the consumer, and all Axon Server nodes in between must be at 4.6.0 or higher version. In addition to that, both, consumer and producer must have Project Reactor on the classpath. If the consumer is not at 4.6.0 or higher version, and/or does not have a Project Reactor on the classpath, it is not possible to invoke streaming of query results at all. In all other cases, it is possible to invoke streaming of query results, but it will fallback to the point-to-point query behavior.","title":"Flow Control","component":"axon-server-reference","version":"v2024.1","name":"flow-control","url":"/axon-server-reference/v2024.1/axon-server/performance/flow-control/","titles":[{"text":"Streaming query","hash":"_streaming_query","id":1},{"text":"Compatibility with Axon Framework","hash":"_compatibility_with_axon_framework","id":2}]},"164":{"id":164,"text":"As you operate applications with Axon Server, you may need to fine tune the configuration to have AxonServer running optimally and to it full potential. This generally relates to event segmentation / flow control of messages and general compute recommendations around disk storage, O/S characteristics. The summary below mentions these performance considerations. Performance Area Description Event Segments Performance tuning for event segmentation Flow Control Performance tuning for message flow control","title":"Performance","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/performance/","titles":[]},"165":{"id":165,"text":"Typically, application components contain one or more Event Processors which are responsible for processing incoming events. Streaming Event Processors have configuration aspects that can be changed at runtime to accommodate for changes in the system topology. Streaming Event Processors that handle events in multiple threads use segments to separate the events in the stream across these threads in a reliable way. However, especially when these threads are spread across multiple instances of a component, and the number of instances changes, it may be useful to scale the number of segments accordingly. To this end, Axon Framework provides a split and merge API. This API can be utilized directly or through Axon Server, where the latter takes required coordination into account. Axon Server provides an API to trigger the increase and decrease of the number of Segments, at runtime, across different instances of a processor. Follow these steps to increase or decrease the number of segments for a processor: In the UI, navigate to the component overview, and select one of the application instances that contains the component to change the number of segments for. In the Component Details screen, scroll down to the list of processors. In the list of processors, click the \"Scale\" icon to open the Scaling dialogue In the Scaling dialogue, either click \"Increase\" or \"Decrease\" to adjust the number of segments for the processor. Using the REST API The exposed buttons in the UI can also be targeted directly through REST calls through curl for example. It is recommended to check the Swagger UI for the split and merge endpoint information if such an approach is necessary.","title":"Event Segments","component":"axon-server-reference","version":"v2024.1","name":"tuning-event-processing","url":"/axon-server-reference/v2024.1/axon-server/performance/tuning-event-processing/","titles":[{"text":"Increasing and decreasing segment counts","hash":"increasing-and-decreasing-segment-counts","id":1},{"text":"Segment tuning through Axon Server","hash":"segment-tuning-through-axon-server","id":2}]},"166":{"id":166,"text":"When access control for Axon Server is enabled, you’ll need to provide user credentials or a token. The UI uses username and password to establish a session, while the CLI can use a token. If you are using tools such as “curl”, or have coded your own tool to access the REST API, you’ll need to do this also. The gRPC APIs do not accept user credentials, but always expect a token. Note that the internal API (by default on port 8224) will only accept the \"internal-token\", while the client API (by default on port 8124) will only accept application tokens. Axon Server expects user credentials using the Basic Authentication method. For example, to list the contexts with “curl” using user account \"user\" with password \"password\", you would use: $ curl -u user:password http://localhost:8024/v1/public/context | jq [ { \"changePending\": false, \"leader\": null, \"pendingSince\": 0, \"metaData\": { \"event.index-format\": \"JUMP_SKIP_INDEX\", \"snapshot.index-format\": \"JUMP_SKIP_INDEX\" }, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"node-1\" }, { \"role\": \"PRIMARY\", \"node\": \"node-2\" }, { \"role\": \"PRIMARY\", \"node\": \"node-3\" } ], \"replicationGroup\": \"_admin\", \"context\": \"_admin\" }, { \"changePending\": false, \"leader\": null, \"pendingSince\": 0, \"metaData\": { \"event.index-format\": \"JUMP_SKIP_INDEX\", \"snapshot.index-format\": \"JUMP_SKIP_INDEX\" }, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"node-1\" }, { \"role\": \"PRIMARY\", \"node\": \"node-2\" }, { \"role\": \"PRIMARY\", \"node\": \"node-3\" } ], \"replicationGroup\": \"default\", \"context\": \"default\" } ] To pass a token to the REST and gRPC APIs, you must add the “AxonIQ-Access-Token” header, with the token as value. For example, when using “curl” as in the previous section, but now with a token instead of user credentials: $ curl -H 'AxonIQ-Access-Token: cfd7304a-950e-4e32-86ba-5ecb2c4d23ec' https://localhost:8024/v1/public/context | jq ...output omitted","title":"Access Control on the REST and gRPC APIs","component":"axon-server-reference","version":"v2024.1","name":"access-control-api","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-api/","titles":[{"text":"Passing user credentials to the REST API","hash":"_passing_user_credentials_to_the_rest_api","id":1},{"text":"Passing a Token to the REST and gRPC APIs","hash":"_passing_a_token_to_the_rest_and_grpc_apis","id":2}]},"167":{"id":167,"text":"When access control has been enabled, you may initially find yourself without a user account for the UI. Cluster templates can be used to combine the initial configuration of your replication groups, registrations of client application, and a core set of user accounts, but you can also use the CLI to do this. For this you still need an admin-level token, which for Axon Server SE can be configured in the properties. For Axon Server EE such a token is by default generated by Axon Server itself, and stored in a file named “./security/.token”. This default location is known by the CLI, so if you run in the working directory of Axon Server, it will check for that file and automatically use the token. If you have overridden the location or provided your own file with a token, for example to ensure that all nodes use the same token, then you must use the \"`-t` \" option to provide it to the CLI.","title":"Access Control and the CLI","component":"axon-server-reference","version":"v2024.1","name":"access-control-cli","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-cli/","titles":[]},"168":{"id":168,"text":"Applications need to provide a valid token before they can perform all operations. The access token can be setup in the client using the property axon.axonserver.token=. The Axon Server connector will use this to authenticate the client to the server. In Axon Server EE, instead of setting a single token in axonserver.properties, you must register applications with specific roles. Please do note that you’ll need either a user with ADMIN level access to do this in the UI, or access to the system token for use with the CLI. To register an application and get an access token use the “register-application” command. This command will return the token to use, which can be specified on the commandline, or generated by Axon Server. Note that this token is only generated once; if you lose it you must delete the application and register it again to get a new token. The command register-application has several options: $ java -jar axonserver-cli.jar register-application usage: register-application -a,--application Name of the application -d,--description [Optional] Description of the application -i,--insecure-ssl Do not check the certificate when connecting using HTTPS. -o,--output Output format (txt,json) -prop,--property [Optional] properties for a context/application (specify as name=value) -r,--roles Roles for the application, use role@context -S,--server Server to send command to (default http://localhost:8024) -s,--https Use HTTPS to connect to the server, rather than HTTP. -t,--access-token [Optional] Access token to authenticate at server -T,--token use this token for the app Error processing command 'register-application': Invalid command -a or --application specifies the name of the application. -r or --roles specifies the roles of the application. Specify multiple roles by giving a comma separated list, for example “READ,ADMIN”. -d or --description specifies a description of the application, which will be shown in overviews. -T or --token can be used to specify the token you want to use for a newly registered application. -prop or --property adds an application specific property. These properties will be provided to any plugin processing messages from/for that application. -t or --access-token specifies the access token to authenticate at the server to which the command is sent to. For SE this should be the same as the (admin) token set in the properties. For EE this should be the security token discussed above. -S or --server can be used to specify the URL to the server that the command needs to be sent to. If this is not supplied it connects to “http://localhost:8024”; by default. -s or --https will cause the CLI to use TLS, in effect changing the URL to “https://localhost:8024”;. Note that if you also want to change the port, you’ll have to use “-S”, in which case you can leave out “-s”. -i or --insecure-ssl will tell the CLI that Axon Server is using a certificate which is not signed by a known CA, for example when using self-signed certificates. The ADMIN role is only valid for the admin context, the other roles are specific to another context. In addition to the role name you can also supply the context to which this role applies, for example _{role_name}@{context_name}. Also if no context is mentioned in Axon Server EE, the role is granted to the application for all registered contexts, including contexts that are created after the role has been granted. The token that you set here must be used by all Axon Framework Applications connecting to Axon Server. The access token can be setup in the client using the property axon.axonserver.token=[Token] If you are using the REST APIs, you can specify the token in the HTTP requests via the following header: AxonIQ-Access-Token: my-token-value-here","title":"Security for Axon Framework Client Applications","component":"axon-server-reference","version":"v2024.1","name":"access-control-clients","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-clients/","titles":[{"text":"Using the CLI to register client apps (Axon Server EE only)","hash":"_using_the_cli_to_register_client_apps_axon_server_ee_only","id":1},{"text":"Mandatory parameters","hash":"_mandatory_parameters","id":2},{"text":"Optional parameters","hash":"_optional_parameters","id":3}]},"169":{"id":169,"text":"When you set the “axoniq.axonserver.accesscontrol.enabled” property to “true”, Axon Server will require a token or user account for access to its APIs. In Axon Server, there are three types of tokens that can be defined: Type Property Purpose Internal axoniq.axonserver.accesscontrol.internal-token Define a token for nodes in the cluster to authenticate each other. System axoniq.axonserver.accesscontrol.systemtokenfile Define a file for a token with administrative rights. Default value is “./security/.token”. Application (Through the UI or CLI) Applications are registered using the UI or CLI and assigned roles. See below for more details. Axon Server will generate the system token for the CLI if none is found, and the CLI (if started in the Axon Server working directory) will know the default location. Axon Framework based applications should only need the non-admin token. If you wish to use tools to access the REST API directly, you must add an HTTP header named “AxonIQ-Access-Token”, as in the following example: $ curl -H 'AxonIQ-Access-Token: system-token' -s http://localhost:8024/v1/public/context | jq '.[] | select(.context==\"default\")' { \"context\": \"default\", \"replicationGroup\": \"default\", \"metaData\": { \"event.index-format\": \"JUMP_SKIP_INDEX\", \"snapshot.index-format\": \"JUMP_SKIP_INDEX\" }, \"changePending\": false, \"pendingSince\": 0, \"leader\": \"e32c48ab5047\", \"roles\": [ { \"node\": \"e32c48ab5047\", \"role\": \"PRIMARY\" } ] } When you create a user account, you assign roles, which will determine the user’s access rights. The user accounts are generally only used for the UI, although they are also valid for access to the REST API, using Basic Authentication. In contrast to SE, where you could only choose between \"normal\" and \"admin\" accounts, you can now assign several roles from a long list, and each per context using \"role`@`context\". You can also assign a role for context “*”, which means that the user gets that role for any context existing now, or created in the future. In Axon Server we can grant specific roles to applications and users that will allow specific operations. Apart from just assigning the roles, you must also indicate for which context the role is granted, so that an application/user that has rights on only one context is not able to access data from other contexts.‌ A summary of the various roles is depicted below Role Name Description ADMIN Administer the cluster, manage contexts, users and applications VIEW_CONFIGURATION View cluster configuration with contexts, users, applications, replication groups, and plugins (only for _admin context) CONTEXT_ADMIN Manage event processors within a specific context DISPATCH_COMMANDS Dispatch commands DISPATCH_QUERY Dispatch queries and subscription queries MONITOR View context information PUBLISH_EVENTS Publish events and snapshots READ_EVENTS Read events and snapshots from the event store SUBSCRIBE_COMMAND_HANDLER Register command handlers SUBSCRIBE_QUERY_HANDLER Register query handlers USE_CONTEXT Perform all operations on a context READ (Deprecated) Read events and perform queries WRITE (Deprecated) Publish events and perform commands For a detailed overview of the mapping between operations and roles see Access Control Matrix. Using the CLI it is possible to create an account without a password. This does not mean that the account requires no password to login, but rather that the account is only used to assign roles to, while the password needs to be checked using an external tool. To create such an account, use the “--no-password” option: $ java -jar axonserver-cli.jar register-user -u username -r roles --no-password See the section on OAuth2 integration for an example.","title":"Access Control for Axon Server","component":"axon-server-reference","version":"v2024.1","name":"access-control-ee","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ee/","titles":[{"text":"Tokens in Axon Server","hash":"_tokens_in_axon_server","id":1},{"text":"User accounts in Axon Server","hash":"_user_accounts_in_axon_server","id":2},{"text":"Assigning roles","hash":"_assigning_roles","id":3},{"text":"Accounts without a password","hash":"_accounts_without_a_password","id":4}]},"170":{"id":170,"text":"This extension will allow you to use LDAP for authentication and authorization in Axon Server. User accounts and roles from LDAP are not synchronized to the Axon Server cluster, so they won’t show up on the \"Users\" tab. To install the LDAP Extension, you need to unpack the distribution ZIP-file, so the JAR files are in the “exts” subdirectory of the working directory of Axon Server: $ mkdir exts $ unzip -j axon-server-extension-ldap-4.5.1-bin.zip -d exts Archive: axon-server-extension-ldap-4.5-bin.zip inflating: exts/axon-server-extension-ldap-4.5.1-sources.jar inflating: exts/axon-server-extension-ldap-4.5.1.jar inflating: exts/javax.inject-1.jar inflating: exts/spring-ldap-core-2.3.4.RELEASE.jar inflating: exts/spring-security-ldap-5.4.7.jar $ Note that version 4.5.1 is the current version at the time of Axon Server 4.5.13. The options used are: axoniq.axonserver.accesscontrol.enabled This must be set to “true” to enable access control. axoniq.axonserver.enterprise.ldap.enabled Set this to “true” to enable the plugin. axoniq.axonserver.enterprise.ldap.server-name This sets the LDAP server’s hostname, which is defaulted to “localhost”. axoniq.axonserver.enterprise.ldap.server-port This sets the LDAP server’s port, which is defaulted to 389. axoniq.axonserver.enterprise.ldap.server-url As an alternative, for example when you want to use a TLS-secured connection, you can provide the URL to the LDAP server, such as “ldaps://ldap-server.local”. axoniq.axonserver.enterprise.ldap.initialBindUserDN If the LDAP server does not accept unauthenticated initial binds, set the DN of the user for that, for example “cn=admin,dc=demo,dc=io”. Only if both this property and the corresponding password are set, will they be used. axoniq.axonserver.enterprise.ldap.initialBindPassword If the LDAP server does not accept unauthenticated initial binds, set the password for that. Only if both this property and the corresponding User DN are set, will they be used. axoniq.axonserver.enterprise.ldap.search-base This setting provides the base context for searching users, for example “ou=people,dc=planetexpress,dc=com”. axoniq.axonserver.enterprise.ldap.search-filter This is the filter to be used for searching, so you typically add object types, and the attribute to match on. An example would be “(&(objectClass=inetOrgPerson)(uid={0}))”. The “{0}” notation is used to place the username. axoniq.axonserver.enterprise.ldap.group-base Similarly to the “search-base” setting, you can add a “group-base”. This setting is optional and normally not needed. axoniq.axonserver.enterprise.ldap.group-filter The “group-filter” is the search pattern for groups, which will be translated to roles, for example “(&(objectclass=Group)(member={0}))” When using ActiveDirectory, the following properties are needed: axoniq.axonserver.enterprise.ldap.activeDirectory This must be set to “true”. axoniq.axonserver.enterprise.ldap.adDomain This must be set to the AD Domain serviced by the controller. An example of an Active Directory configuration is: axoniq.axonserver.accesscontrol.enabled=true axoniq.axonserver.enterprise.ldap.enabled=true axoniq.axonserver.enterprise.ldap.activeDirectory=true axoniq.axonserver.enterprise.ldap.serverName=my-ad axoniq.axonserver.enterprise.ldap.adDomain=demo.io axoniq.axonserver.enterprise.ldap.searchFilter=(&(objectClass=user)(sAMAccountName=\\{1})) axoniq.axonserver.enterprise.ldap.roles.AxonAdmin=ADMIN@_admin In order to translate LDAP Groups, you must provide properties as follows: axoniq.axonserver.enterprise.ldap.roles.= For example, if we have a group \"ADMIN_STAFF\" that we want to make administrators, and a group \"SHIP_CREW\" that should be normal users of the \"default\" context, then we would use: axoniq.axonserver.enterprise.ldap.roles.ADMIN_STAFF=ADMIN@_admin axoniq.axonserver.enterprise.ldap.roles.SHIP_CREW=USE_CONTEXT@default Two further options exist that may be used to tune the connection with the LDAP server. Both have a default value of “true”. axoniq.axonserver.enterprise.ldap.using-pooled-queries axoniq.axonserver.enterprise.ldap.allowing-referrals","title":"Axon Server EE - LDAP Extension","component":"axon-server-reference","version":"v2024.1","name":"access-control-ldap","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ldap/","titles":[{"text":"Installing the LDAP extension","hash":"_installing_the_ldap_extension","id":1},{"text":"Configuring the LDAP extension","hash":"_configuring_the_ldap_extension","id":2},{"text":"Active Directory specific settings","hash":"_active_directory_specific_settings","id":3},{"text":"Linking LDAP groups to roles in Axon Server","hash":"_linking_ldap_groups_to_roles_in_axon_server","id":4},{"text":"Tuning the LDAP extension","hash":"_tuning_the_ldap_extension","id":5}]},"171":{"id":171,"text":"The following table gives an overview of the roles in Axon Server and the operations that the role gives access to: Role Operations ADMIN DELETE_USER DOWNLOAD_DIAGNOSE DOWNLOAD_TEMPLATE GET_APP_DETAILS GET_EVENT_PROCESSOR_STRATEGY GET_EVENT_PROCESSORS GET_EVENT_PROCESSORS_STRATEGIES GET_PLUGIN_CONFIGURATION INIT_CLUSTER LIST_APPS LIST_BACKUP_FILENAMES LIST_BACKUP_LOGFILES LIST_COMMANDS LIST_CONTEXTS LIST_NODES LIST_PLUGINS LIST_QUERIES LIST_REPLICATION_GROUPS LIST_TASKS LIST_USERS MERGE_USER RAFT_CLEAN_LOG RAFT_GET_STATUS RAFT_LIST_APPLICATIONS RAFT_LIST_CONTEXT_MEMBERS RAFT_LIST_CONTEXTS RAFT_START_CONTEXT RAFT_STEPDOWN RAFT_STOP_CONTEXT REMOVE_NODE_FROM_CLUSTER RENEW_APP_TOKEN UNREGISTER_PLUGIN UPDATE_CONTEXT_PROPERTIES UPLOAD_LICENSE CONTEXT_ADMIN AUTO_REBALANCE_PROCESSOR GET_EVENT_PROCESSOR_STRATEGY GET_EVENT_PROCESSORS GET_EVENT_PROCESSORS_STRATEGIES LIST_BACKUP_FILENAMES LIST_BACKUP_LOGFILES LOCAL_GET_LAST_EVENT LOCAL_GET_LAST_SNAPSHOT MERGE_EVENT_PROCESSOR_SEGMENTS MOVE_EVENT_PROCESSOR_SEGMENT PAUSE_EVENT_PROCESSOR REBALANCE_PROCESSOR RECONNECT_CLIENT SET_EVENT_PROCESSOR_STRATEGY SPLIT_EVENT_PROCESSOR_SEGMENTS START_EVENT_PROCESSOR DISPATCH_COMMANDS DISPATCH_COMMAND DISPATCH_QUERY DISPATCH_QUERY DISPATCH_SUBSCRIPTION_QUERY MONITOR GET_COMMANDS_COUNT GET_COMMANDS_QUEUE PUBLISH_EVENTS APPEND_EVENT APPEND_SNAPSHOT CANCEL_SCHEDULED_EVENT RESCHEDULE_EVENT SCHEDULE_EVENT READ DISPATCH_QUERY DISPATCH_SUBSCRIPTION_QUERY GET_FIRST_TOKEN GET_LAST_TOKEN GET_TOKEN_AT HANDLE_QUERIES LIST_EVENTS LIST_SNAPSHOTS SEARCH_EVENTS READ_EVENTS GET_FIRST_TOKEN GET_LAST_TOKEN GET_TOKEN_AT LIST_EVENTS LIST_SNAPSHOTS READ_HIGHEST_SEQNR SEARCH_EVENTS SUBSCRIBE_COMMAND_HANDLER HANDLE_COMMANDS SUBSCRIBE_QUERY_HANDLER HANDLE_QUERIES USE_CONTEXT APPEND_EVENT APPEND_SNAPSHOT AUTO_REBALANCE_PROCESSOR CANCEL_SCHEDULED_EVENT DISPATCH_COMMAND DISPATCH_QUERY DISPATCH_SUBSCRIPTION_QUERY GET_COMMANDS_COUNT GET_COMMANDS_QUEUE GET_EVENT_PROCESSOR_STRATEGY GET_EVENT_PROCESSORS GET_EVENT_PROCESSORS_STRATEGIES GET_FIRST_TOKEN GET_LAST_TOKEN GET_TOKEN_AT HANDLE_COMMANDS HANDLE_QUERIES LIST_BACKUP_FILENAMES LIST_BACKUP_LOGFILES LIST_EVENTS LIST_QUERIES LIST_SNAPSHOTS LOCAL_GET_LAST_EVENT LOCAL_GET_LAST_SNAPSHOT MERGE_EVENT_PROCESSOR_SEGMENTS MOVE_EVENT_PROCESSOR_SEGMENT PAUSE_EVENT_PROCESSOR READ_HIGHEST_SEQNR REBALANCE_PROCESSOR RECONNECT_CLIENT RESCHEDULE_EVENT SCHEDULE_EVENT SEARCH_EVENTS SET_EVENT_PROCESSOR_STRATEGY SPLIT_EVENT_PROCESSOR_SEGMENTS START_EVENT_PROCESSOR VIEW_CONFIGURATION LIST_APPS LIST_CONTEXTS LIST_NODES LIST_PLUGINS LIST_REPLICATION_GROUPS LIST_USERS WRITE APPEND_EVENT APPEND_SNAPSHOT CANCEL_SCHEDULED_EVENT DISPATCH_COMMAND HANDLE_COMMANDS RESCHEDULE_EVENT SCHEDULE_EVENT The following table gives an overview of the operations in Axon Server and the roles that can execute the operation: Operation Role ACTIVATE_PLUGIN ADMIN ADD_NODE_TO_CLUSTER ADMIN ADD_NODE_TO_CONTEXT ADMIN ADD_NODE_TO_REPLICATION_GROUP ADMIN ADD_PLUGIN ADMIN APPEND_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE APPEND_SNAPSHOT PUBLISH_EVENTS USE_CONTEXT WRITE AUTO_REBALANCE_PROCESSOR CONTEXT_ADMIN USE_CONTEXT CANCEL_SCHEDULED_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE CONFIGURE_PLUGIN ADMIN CREATE_APP ADMIN CREATE_CONTEXT ADMIN CREATE_CONTROLDB_BACKUP ADMIN CREATE_REPLICATION_GROUP ADMIN DELETE_APP ADMIN DELETE_CONTEXT ADMIN DELETE_NODE_FROM_CONTEXT ADMIN DELETE_NODE_FROM_REPLICATION_GROUP ADMIN DELETE_PLUGIN ADMIN DELETE_REPLICATION_GROUP ADMIN DELETE_TASK ADMIN DELETE_USER ADMIN DISPATCH_COMMAND DISPATCH_COMMANDS USE_CONTEXT WRITE DISPATCH_QUERY DISPATCH_QUERY READ USE_CONTEXT DISPATCH_SUBSCRIPTION_QUERY DISPATCH_QUERY READ USE_CONTEXT DOWNLOAD_DIAGNOSE ADMIN DOWNLOAD_TEMPLATE ADMIN GET_APP_DETAILS ADMIN GET_COMMANDS_COUNT MONITOR USE_CONTEXT GET_COMMANDS_QUEUE MONITOR USE_CONTEXT GET_EVENT_PROCESSOR_STRATEGY ADMIN CONTEXT_ADMIN USE_CONTEXT GET_EVENT_PROCESSORS ADMIN CONTEXT_ADMIN USE_CONTEXT GET_EVENT_PROCESSORS_STRATEGIES ADMIN CONTEXT_ADMIN USE_CONTEXT GET_FIRST_TOKEN READ READ_EVENTS USE_CONTEXT GET_LAST_TOKEN READ READ_EVENTS USE_CONTEXT GET_PLUGIN_CONFIGURATION ADMIN GET_TOKEN_AT READ READ_EVENTS USE_CONTEXT HANDLE_COMMANDS SUBSCRIBE_COMMAND_HANDLER USE_CONTEXT WRITE HANDLE_QUERIES READ SUBSCRIBE_QUERY_HANDLER USE_CONTEXT INIT_CLUSTER ADMIN LIST_APPS ADMIN VIEW_CONFIGURATION LIST_BACKUP_FILENAMES ADMIN CONTEXT_ADMIN USE_CONTEXT LIST_BACKUP_LOGFILES ADMIN CONTEXT_ADMIN USE_CONTEXT LIST_COMMANDS ADMIN LIST_CONTEXTS ADMIN VIEW_CONFIGURATION LIST_EVENTS READ READ_EVENTS USE_CONTEXT LIST_NODES ADMIN VIEW_CONFIGURATION LIST_PLUGINS ADMIN VIEW_CONFIGURATION LIST_QUERIES ADMIN USE_CONTEXT LIST_REPLICATION_GROUPS ADMIN VIEW_CONFIGURATION LIST_SNAPSHOTS READ READ_EVENTS USE_CONTEXT LIST_TASKS ADMIN LIST_USERS ADMIN VIEW_CONFIGURATION LOCAL_GET_LAST_EVENT CONTEXT_ADMIN USE_CONTEXT LOCAL_GET_LAST_SNAPSHOT CONTEXT_ADMIN USE_CONTEXT MERGE_EVENT_PROCESSOR_SEGMENTS CONTEXT_ADMIN USE_CONTEXT MERGE_USER ADMIN MOVE_EVENT_PROCESSOR_SEGMENT CONTEXT_ADMINv USE_CONTEXT PAUSE_EVENT_PROCESSOR CONTEXT_ADMIN USE_CONTEXT RAFT_CLEAN_LOG ADMIN RAFT_GET_STATUS ADMIN RAFT_LIST_APPLICATIONS ADMIN RAFT_LIST_CONTEXT_MEMBERS ADMIN RAFT_LIST_CONTEXTS ADMIN RAFT_START_CONTEXT ADMIN RAFT_STEPDOWN ADMIN RAFT_STOP_CONTEXT ADMIN READ_HIGHEST_SEQNR READ_EVENTS USE_CONTEXT REBALANCE_PROCESSOR CONTEXT_ADMIN USE_CONTEXT RECONNECT_CLIENT CONTEXT_ADMIN USE_CONTEXT REMOVE_NODE_FROM_CLUSTER ADMIN RENEW_APP_TOKEN ADMIN RESCHEDULE_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE SCHEDULE_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE SEARCH_EVENTS READ READ_EVENTS USE_CONTEXT SET_EVENT_PROCESSOR_STRATEGY CONTEXT_ADMIN USE_CONTEXT SPLIT_EVENT_PROCESSOR_SEGMENTS CONTEXT_ADMIN USE_CONTEXT START_EVENT_PROCESSOR CONTEXT_ADMIN USE_CONTEXT UNREGISTER_PLUGIN ADMIN UPDATE_CONTEXT_PROPERTIES ADMIN UPLOAD_LICENSE ADMIN","title":"Operation to Role Mapping","component":"axon-server-reference","version":"v2024.1","name":"access-control-matrix","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-matrix/","titles":[]},"172":{"id":172,"text":"This extension will allow you to use OAuth2 integration for authentication in Axon Server. User accounts and roles from the OAuth provider are not synchronized to the Axon Server cluster, because no roles are associated with them. This means an account needs to be made in the cluster with the username from the provider, and roles assigned. To install the OAuth Extension, you need to unpack the distribution ZIP-file, so the JAR files are in the “exts” subdirectory of the working directory of Axon Server: $ mkdir exts $ unzip -j axon-server-extension-oauth-4.5-SNAPSHOT-bin.zip -d exts Archive: axon-server-extension-oauth-4.5-SNAPSHOT-bin.zip inflating: exts/axon-server-extension-oauth-4.5-SNAPSHOT.jar inflating: exts/commons-compress-1.9.jar inflating: exts/commons-lang3-3.8.1.jar inflating: exts/content-type-2.1.jar inflating: exts/javax.inject-1.jar inflating: exts/javax.persistence-api-2.2.jar inflating: exts/javax.transaction-api-1.3.jar inflating: exts/jcip-annotations-1.0-1.jar inflating: exts/lang-tag-1.4.4.jar inflating: exts/nimbus-jose-jwt-9.1.3.jar inflating: exts/oauth2-oidc-sdk-8.23.1.jar inflating: exts/spring-boot-starter-oauth2-client-2.1.6.RELEASE.jar inflating: exts/spring-security-oauth2-client-5.1.5.RELEASE.jar inflating: exts/spring-security-oauth2-core-5.1.5.RELEASE.jar inflating: exts/spring-security-oauth2-jose-5.1.5.RELEASE.jar inflating: exts/tomcat-embed-el-9.0.21.jar inflating: exts/validation-api-2.0.1.Final.jar $ Note that the actual version numbers may differ in your case. The options used are: axoniq.axonserver.accesscontrol.enabled This must be set to “true” to enable access control. axoniq.axonserver.enterprise.oauth2.enabled This must be set to “true” to enable the OAuth extension. axoniq.axonserver.enterprise.oauth2.mode Set this value to “google” for Google Apps authentication, or “oidc” to use the generic OpenID Connect integration. The OpenID Connect integration is known to work with KeyCloak server. For authentication using Google Apps accounts, you’ll can use the following properties: axoniq.axonserver.enterprise.oauth2.authorization-uri This optional value can be used to configure the URI that will trigger the authentication using OAuth2. The default value is “/oauth2/authorization” and should work fine. spring.security.oauth2.client.registration.google.client-id This should be set to the client-id provided by the Google Developer Console where you registered the cluster. spring.security.oauth2.client.registration.google.client-secret This should be set to the secret provided by the Google Developer Console where you registered the cluster. spring.security.oauth2.client.registration.google.scope This setting is used to configure what information Google should share with the Axon Server cluster. A good value to use is “email”, which will allow you to use the email address as username, as is common with Google accounts. axoniq.axonserver.enterprise.oauth2.username-map.google This setting tells the extension what value to use as username and requires that this value is provided by Google using the “scope” setting described above. If the email address is to be used, as suggested above, the value should be “email”. axoniq.axonserver.enterprise.oauth2.request-params This setting defines a map of parameters to add to the redirect URL, to customize the behavior of the provider’s integration. For Google, if the users use the same browser with multiple Google accounts, a good setting to add is “prompt”, with value “select_account”: `properties axoniq.axonserver.enterprise.oauth2.request-params.prompt=select_account ` This will force Google to always ask which account must be used to continue, even if there is only a single account in use, and that account is currently active. For authentication using KeyCloak, you need to configure a realm and, in it, configure Axon Server as a client. You can use the following properties: axoniq.axonserver.enterprise.oauth2.forceOidcLogout Setting this property to “true” will ensure that, when the user logs out from the Axon Server UI, a logout request will also be sent to KeyCloak. If set to “false” (the default), the user will still have a valid session in KeyCloak, and a subsequent login attempt using the same browser window may immediately succeed, without a prompt for a password. Naturally this is dependent on session validity settings within KeyCloak. spring.security.oauth2.client.registration.oidcclient.client-id This should be set to the client ID configured for Axon Server. spring.security.oauth2.client.registration.oidcclient.client-secret This should be set to the client secret configured for Axon Server. spring.security.oauth2.client.registration.oidcclient.client-name This should be set to the client name configured for Axon Server. spring.security.oauth2.client.registration.oidcclient.provider This should be set to the value “keycloak”. * spring.security.oauth2.client.registration.oidcclient.scope This should be set to a (comma separated) list of the information that needs to be shared, typically “openid,email,profile”. spring.security.oauth2.client.provider.keycloak.issuer-uri This should be set to the realm’s URL on KeyCloak. For example, if the realm is named “test-realm” and KeyCloak is exposed at “http://keycloak-test:8090”;, then the value is “http://keycloak-test:8090/realms/test-realm”;. axoniq.axonserver.enterprise.oauth2.username-map.oidcclient This setting tells the extension what value to use as username. The suggested value is “username”, which refers to that value from the “profile” scope. Alternatively, just as with the Google Apps integration mentioned above, you can use “email”. If a username is unknown in the Axon Server cluster, even when authentication succeeds, the user will not be allowed to log in. To allow this, a user with “ADMIN” level access needs to create a user, optionally without a password, and assign the roles for this user. The Axon Server CLI has a special options (“--no-password”) to allow the creation of accounts without a password. Note that if you create an account with a password, this will allow the user to choose to use that as well as the OAuth integration.","title":"Axon Server EE - OAuth Extension","component":"axon-server-reference","version":"v2024.1","name":"access-control-oauth2","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-oauth2/","titles":[{"text":"Installing the OAuth Extension","hash":"_installing_the_oauth_extension","id":1},{"text":"Configuring the OAuth Extension","hash":"_configuring_the_oauth_extension","id":2},{"text":"Configuration Google Apps Authentication","hash":"_configuration_google_apps_authentication","id":3},{"text":"Configuring OpenID Connect authentication with KeyCloak","hash":"_configuring_openid_connect_authentication_with_keycloak","id":4},{"text":"Configuring the User’s Access and Roles","hash":"_configuring_the_users_access_and_roles","id":5}]},"173":{"id":173,"text":"This section is specific for Axon Server Standard Edition (versions before 2023.1). From versions 2023.1 onwards, refer to this page. When you set the “axoniq.axonserver.accesscontrol.enabled” property to “true”, Axon Server requires a token or user account for access to its APIs. In Axon Server SE, there are two tokens that administrators can define: Property Purpose axoniq.axonserver.accesscontrol.token Define a token with normal (limited) rights. axoniq.axonserver.accesscontrol.admin-token Define a token with administrative rights. Generally, you use the admin-token only for the CLI, to issue commands for managing user accounts and plugins. Axon Framework based applications should only need the non-admin token. If you wish to use tools to access the REST API directly, you must add an HTTP header named “AxonIQ-Access-Token”, as in the following example: $ curl -H 'AxonIQ-Access-Token: my-token' -s http://localhost:8024/v1/public/users | jq [ { \"userName\": \"admin\", \"password\": null, \"roles\": [ \"ADMIN@*\" ] } ] When you create a user account, you can optionally assign the role “ADMIN”, which is a shorthand for “ADMIN@*” and allow the user to access the user-administration and plugin pages in the UI. These user accounts are generally only used for the UI, although they are also valid for access to the REST API, using Basic Authentication.","title":"Access control for Axon Server SE","component":"axon-server-reference","version":"v2024.1","name":"access-control-se","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-se/","titles":[{"text":"Tokens in Axon Server SE","hash":"_tokens_in_axon_server_se","id":1},{"text":"User accounts in Axon Server SE","hash":"_user_accounts_in_axon_server_se","id":2}]},"174":{"id":174,"text":"As Axon Server is an event store and may contain sensitive data, it is always a good practice to enable access control in production and production-like environments. Enabling access control will require applications to provide a token when accessing Axon Server services (both through gRPC and HTTP), and require users to login to the dashboard.‌ In this section we will describe how to configure access control on both the Axon Server side and the Axon Framework side. To enable access control in Axon Server (SE/EE) add the following property to axonserver.properties: axoniq.axonserver.accesscontrol.enabled=true Because Axon Server SE deals with this differently than Axon Server EE, they will separately address: Axon Server SE Axon Server EE Axon Framework apps Axon Server CLI Direct access to the REST and gRPC APIs For Axon Server EE, we have additional sections on the external authentication extensions: LDAP Extension OAuth2 Extension If you haven’t used the cluster template to create an initial user, you can use the CLI to create it. For this you will need an admin-level access token, as described here. To do this, execute the “register-user” command: $ java -jar axonserver-cli.jar register-user usage: register-user -i,--insecure-ssl Do not check the certificate when connecting using HTTPS. --no-password [Optional] Create a (locked) user account without a password. -o,--output Output format (txt,json) -p,--password [Optional] Password for the user -r,--roles [Optional] roles for the user -S,--server Server to send command to (default http://localhost:8024) -s,--https Use HTTPS to connect to the server, rather than HTTP. -t,--access-token [Optional] Access token to authenticate at server -u,--username Username -u or --username specifies the username. -r or --roles specifies the role of the user. Specify multiple roles by giving a comma separated list (without spaces), for example “READ,ADMIN”. -p or --password specifies the password of the user. If you do not specify a password with the “-p” option, the command line interface will prompt you for one. If you instead want a use account without a password‌, for example when using Google OAuth2 authentication, use “--no-password”. --no-password will cause the CLI to create a user acount with no password set, which means you cannot login unless you use an external authentication provider. -t or --access-token specifies the access token to authenticate at the server to which the command is sent to. This should be the security token discussed above. -S or --server can be used to specify the URL to the server that the command needs to be sent to. If this is not supplied it connects to “http://localhost:8024”; by default. -s or --https will cause the CLI to use TLS, in effect changing the URL to “https://localhost:8024”;. Note that if you also want to change the port, you’ll have to use “-S”, in which case you can leave out “-s”. -i or --insecure-ssl will tell the CLI that Axon Server is using a certificate which is not signed by a known CA, for example when using self-signed certificates. Users can also be added using the REST API / UI Console that Axon Server SE provides. The CLI also allows the capabilities to list all users as well as delete specific users.","title":"Access Control","component":"axon-server-reference","version":"v2024.1","name":"access-control","url":"/axon-server-reference/v2024.1/axon-server/security/access-control/","titles":[{"text":"Using the CLI to create a user","hash":"_using_the_cli_to_create_a_user","id":1},{"text":"Mandatory parameters","hash":"_mandatory_parameters","id":2},{"text":"Optional parameters","hash":"_optional_parameters","id":3}]},"175":{"id":175,"text":"Axon provides various features such as authentication, access control, encryption, and SSL to secure your Axon Server deployments. A summary of the various sub-sections is given below. Sub-Section Purpose SSL Encryption of network traffic to and between Axon Server Nodes Access Control Enforces Authentication and Role Based access control for Axon Server Access Control - Enterprise Edition Access Control settings for Axon Server Access Control - Client Applications Access Control settings for Axon Server client applications Access Control - CLI Access Control as required by the Axon Server CLI Access Control - API Axon Server’s Access Control gRPC API Access Control - LDAP Extension LDAP Extension for Axon Server Enterprise Edition Access Control - OAuth 2.0 Extension OAuth 2.0 Extension for Axon Server Enterprise Edition","title":"Security","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/security/","titles":[]},"176":{"id":176,"text":"Axon Server supports TLS/SSL (Transport Layer Security/Secure Sockets Layer) to encrypt all of Axon Server’s network traffic - From Axon Framework client applications to Axon Server (SE/EE) as well as between Axon Server nodes within a cluster (EE only). Axon Server (SE/EE) has two ports (HTTP/gRPC) that need to be enabled for SSL and hence there are two different groups of settings to use, one for each port. The HTTP port uses the generic Spring Boot configuration settings, and requires a Java compatible keystore. For the gRPC port we use standard PEM files. The following properties need to be setup in axonserver.properties for both SE and EE: Port Type Property Name Description SSL (Axon Server - HTTP Port) security.require-ssl Determines whether the server has SSL enabled on the HTTP port. server.ssl.key-store-type Keystore type. (should be PKCS12) server.ssl.key-store Location of the keystore. server.ssl.key-store-password Password to access the keystore. server.ssl.key-alias Alias to be used to access the keystore. SSL (Axon Server - gRPC Port) axoniq.axonserver.ssl.enabled Determines whether the server has SSL enabled on the gRPC port. axoniq.axonserver.ssl.cert-chain-file Location of the public certificate file. axoniq.axonserver.ssl.private-key-file Location of the private key file. axoniq.axonserver.ssl.internal-cert-chain-file axoniq.axonserver.ssl.internal-trust-manager-file axoniq.axonserver.ssl.internal-private-key-file With Axon Server EE SSL is also used for the communication between the Axon Server nodes. If the internal host names of the Axon Server nodes differ from the host names as they’re used by clients, it is required to use another certificate (bound to the internal hostname). If this is the case, you can specify the certificate used for cluster-internal traffic using the “…ssl.internal-cert-chain-file” property. The certificate used by internal traffic may be generated using its own private key. If this is the case, you must specify the location of this key file in the property \"…ssl.internal-private-key-file\". If the certificates used for internal traffic are self-signed certificates, you must ensure that these are trusted by the other nodes. In this case you add the certificates (or the root certificate) in the (PEM) keystore specified by the “…ssl.internal-trust-manager-file” property. As of Axon Server version 2023.2.0, you can update the certificates without restarting Axon Server. When a certificate is about to expire you can replace it with a new certificate, using the same file name. To load the new certificate for the gRPC communication you must ensure that the modified timestamp for both the key file and the certificate file are updated. The optional trust manager file used for the internal communication in an Axon Server cluster is also monitored. If this file is updated, Axon Server will use the new version. When you update the certificate in the keystore used for the Tomcat HTTP server, it is also reloaded automatically. Axon Server checks the TLS artifacts for updates once a minute. The following properties are available for Axon client applications to use TLS/SSL for the traffic to Axon Server: Property Name Description axon.axonserver.ssl-enabled Is SSL enabled for the traffic with Axon Server axon.axonserver.cert-file (PEM) keystore containing trusted certificates, in case that the certificate that’s used by Axon Server is not issued by a trusted certificate authority. A thing to remember is that enabling SSL on an Axon Server cluster will require downtime, as the “…ssl.enabled” setting controls both server and client side code. This is intentional, as it’s unreasonable to expect all nodes to have individual settings per node showing which ones communicate using SSL and which don’t, so it is recommended to get this done in the beginning during the installation phase of Axon Server.","title":"SSL","component":"axon-server-reference","version":"v2024.1","name":"ssl","url":"/axon-server-reference/v2024.1/axon-server/security/ssl/","titles":[{"text":"Client configuration","hash":"_client_configuration","id":1},{"text":"Downtime considerations","hash":"_downtime_considerations","id":2}]},"177":{"id":177,"text":"Cluster Templates enable administrators to maintain AxonServer cluster configuration as code. The cluster template is a YAML file, describing a cluster’s configuration. It’s possible to predefine replication groups, contexts, metadata, applications (with tokens), users, and their roles, so that teams can share the configuration. The cluster template runs exactly once, on the first clean Axon Server start-up, if there is no previous cluster configuration defined. Therefore, the cluster template doesn’t override any existing configuration. Its purpose is to use them during active development, to be able to share the configuration across development teams. To use the cluster template feature, all you need to do is define a valid cluster template YAML file. If this file is present on a fresh Axon Server startup, it automatically picks it up and configures the cluster accordingly. Each cluster node needs to have the cluster template YAML file copy. Each node reads this file, finds its own configuration and configures itself. Default path from which Axon Server reads configuration is ./cluster-template.yml You can override this path anytime by setting Axon Server property: axoniq.axonserver.clustertemplate.path:/mypath/cluster-template.yml Below you can find an example of a basic cluster setup: the _admin and default contexts are in separate replication groups, replicated across all nodes. axoniq: axonserver: cluster-template: first: axonserver-enterprise-1 replicationGroups: - name: _admin roles: - node: axonserver-enterprise-1 role: PRIMARY - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY contexts: - name: _admin - name: default roles: - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY - node: axonserver-enterprise-1 role: PRIMARY contexts: - name: default applications: [] users: [] Cluster overview after applying default configuration In order to avoid mistakes while writing a cluster configuration file, Axon Server provides an export button that generates a cluster template file based on current setup. Location of export button at Settings page Recommended mechanism - Creating an advanced cluster setup Start a fresh Axon Server setup (use basic cluster template setup mentioned above). Configure a cluster via the UI, by creating users, applications, replication groups and contexts. Use the export button located at \"Settings -> Configuration\" panel to download the current cluster configuration. Replace the basic cluster template with the newly exported cluster template configuration. Use export button from main - leader node. Leader node always contains complete cluster configuration, while it might happen that followers don’t.","title":"Cluster Templates","component":"axon-server-reference","version":"v2024.1","name":"cluster-template","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/cluster-template/","titles":[{"text":"Usage","hash":"_usage","id":1},{"text":"Configuration","hash":"_configuration","id":2},{"text":"Export","hash":"_export","id":3}]},"178":{"id":178,"text":"The Axon Server provides a command line utility which allows for updating the Axon Server configuration through scripts or from the command line interface.‌ The utility is available as a jar file (axonserver-cli.jar) which is available as part of the Axon Server distributable (SE/EE). The following table shows a quick summary of the various commands. Each command has a specific Format to it and may require access control on it for security purposes. Command name Description users Lists all users register-user Registers a user within an Axon Server delete-user Deletes a user within Axon Server metrics Lists all metrics for an Axon Server applications Lists all applications within an Axon Server register-application Registers an application with Axon Server delete-application Deletes a registered application cluster Lists all the details of a cluster within an Axon Server EE deployment init-cluster Initiates a cluster within an Axon Server EE deployment register-node Registers a node as a member within a cluster unregister-node Unregisters a member node within a cluster. You should only use this command if you want to permanently remove the node from the cluster. Use with caution. update-license Uploads a new license file to the cluster replication-groups Lists all details of registered replication groups within an Axon Server EE deployment add-node-to-replication-group Adds a node as a member of a replication group register-replication-group Creates a new replication group delete-node-from-replication-group Unregisters a member node of a replication group delete-replication-group Deletes a replication group contexts Lists all details of registered contexts within an Axon Server EE deployment register-context Creates a new context delete-context Deletes a context plugins Lists all details of installed plugins upload-plugin Upload a plugin package configure-plugin Configures a plugin for a context active-plugin Activates a plugin for a context pause-plugin Temporarily stops a plugin for a context unregister-plugin Unregisters a plugin for a context delete-plugin Deletes a plugin package purge-events Purges events from an Event Store The general format of any command line command is: java -jar axonserver-cli.jar -S -t Or when running from a bash-like shell: axonserver-cli.jar -S -t The option -S with the URL to the Axon Server is optional, it defaults to http://localhost:8024.The URL must point to any node serving the _admin context within an Axon Server cluster. The valid for all commands, are: -S, -s, -i, -o. Their effect is described in the table below. Option - Short Option - Long Description -S server Server to send command to (default http://localhost:8024) -s https Use HTTPS (SSL,TLS) to connect to the server, rather than HTTP. -i insecure-ssl Don’t check the certificate when connecting using HTTPS. -o output Output format (txt,json) For options specific to individual commands, see the descriptions of the commands below. When running Axon Server with access control enabled, executing commands remotely requires an access token. You need to provide this token with the -t option. When you run a command on the Axon Server node itself from the directory where you started Axon Server, you don’t have to provide a token.‌ To send command line requests from another node or from another directory, you need to register an application with ADMIN role. When you register an application, Axon Server generates a token, if you did not specify one. You need to supply this token using the *-t* option in any of the commands. This section describes all commands supported by the command line interface, grouped by the specific area.‌ For all command line commands there are 2 common (optional) parameters: *-S* refers to the server to send the command to and if not supplied connects by default to http://localhost:8024. The URL must point to any node serving the _admin context within an Axon Server cluster. *-t* refers to the access token to authenticate at the server. When using Axon Server with access control enabled, you need to define user to access the Axon Server Console’s Dashboard. Users with only READ role can view the information in the console dashboard but not make any changes, users with ADMIN role can make changes.‌ users Returns a list of all registered users and their roles. $ java -jar axonserver-cli.jar users [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-user Registers a user with specified roles. For Axon Server SE, the only two roles possible are READ/ADMIN while for Axon Server EE, the following roles can be granted ADMIN CONTEXT_ADMIN DISPATCH_COMMANDS DISPATCH_QUERY MONITOR PUBLISH_EVENTS READ_EVENTS SUBSCRIBE_COMMAND_HANDLER SUBSCRIBE_QUERY_HANDLER USE_CONTEXT VIEW_CONFIGURATION In addition to the role name you can also supply the context to which this role applies like {role_name}@{context_name}. For Axon Server SE, the only context available is the default context so the role will only apply to that context (hence not necessary to supply the context name). For Axon Server EE, the specific context can be included as required. Also if no context is mentioned in Axon Server EE, the role is granted to the user for all registered contexts. $ java -jar axonserver-cli.jar register-user -u -r [-p ] Mandatory parameters *-u* refers to the username. *-r* refers to the role of the user. Specify multiple roles by giving a comma separated list (without spaces), for example READ,ADMIN. *-p* refers to the password of the user. If you do not specify a password with the -p option, the command line interface will prompt you for one.‌ Optional parameters delete-user Deletes the specified user. $ java -jar axonserver-cli.jar delete-user -u Mandatory parameters *-u* refers to the username of the user that needs to be deleted. Optional parameters Overview of all Axon specific metrics.‌ $ java -jar axonserver-cli.jar metrics Optional parameters applications Lists all applications and the roles per application per context.‌ $ java -jar axonserver-cli.jar applications [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-application Registers an application with specified name and role. The following roles can be granted: ADMIN CONTEXT_ADMIN DISPATCH_COMMANDS DISPATCH_QUERY MONITOR PUBLISH_EVENTS READ_EVENTS SUBSCRIBE_COMMAND_HANDLER SUBSCRIBE_QUERY_HANDLER USE_CONTEXT VIEW_CONFIGURATION In addition to the role name you can also supply the context to which this role applies like {role_name}@{context_name}. Also if no context is mentioned in Axon Server EE, the role is granted to the application for all registered contexts. This command returns the generated token to use. Note that this token is only generated once, if you lose it you must delete the application and register it again to get a new token. If you want to define the token yourself, you can provide one in the command line command using the -T flag, for example: $ java -jar axonserver-cli.jar register-application -a -r [-d ] [-T ] Mandatory parameters *-a* refers to the name of the application *-r* refers to the role of the application. Specify multiple roles by giving a comma separated list (without spaces), for example READ,ADMIN. Optional parameters *-d* refers to the description of the application. *-T* in case you want to define the token yourself for newly registered application. delete-application Deletes the application from Axon Server EE $ java -jar axonserver-cli.jar delete-application -a Mandatory parameters *-a* refers to the name of the application Optional parameters cluster Shows all the nodes in the cluster, including their hostnames, HTTP ports and gRPC ports.‌ $ java -jar axonserver-cli.jar cluster [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text init-cluster Initializes the cluster, creates the _admin context and the specified context. $ java -jar axonserver-cli.jar init-cluster [-c ] Optional parameters *-c* refers to the context that needs to be created along with the _admin context. If the caller does not specify a context Axon Server creates a context called default. register-node Registers an Axon Server node with a cluster. $ java -jar axonserver-cli.jar register-node -h [-p ] [-c ] [--no-contexts] If you specify a context, the new node will be a member of the specified context. If you haven’t specified a context, the new node will become a member of all defined contexts.‌ Mandatory parameters *-h* refers to the internal host name of the node that needs to be added to the cluster. Optional parameters *-p* refers to the internal gRPC port of the node that needs to be added to the cluster. By default, it’s 8224. *-c* refers to the context which this axon server node will be a member of. If no context is specified, the new node will become a member of all defined contexts. *–no-contexts* will add the node to the cluster but will not register it to any of the defined contexts. unregister-node Removes the node with specified name from the cluster. After this, the deleted node still runs in standalone mode.‌ $ java -jar axonserver-cli.jar unregister-node -n Mandatory parameters *-n* refers to the name of the node that needs to be removed from the cluster. Optional parameters update-license Uploads a new license file to the cluster. Axon Server distributes the new license file to all nodes in the cluster. $ java -jar axonserver-cli.jar update-license -f Mandatory parameters *-f* refers to the file containing the license to update. Optional parameters replication-groups Lists all replication groups and the nodes assigned to the replication groups. For each replication groups it shows the name of the replication group, the master node for the replication group and the member nodes of the replication group.‌ $ java -jar axonserver-cli.jar replication-groups [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-replication-group The register-replication-group command helps in the registration and creation of a new replication group. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar register-replication-group -g -n [-a ] [-m ] [-p ] [-s ] Mandatory parameters *-g* refers to the replication group name. The replication group name must match the following regular expression \"[a-zA-Z][a-zA-Z_-0-9]*\", so it should start with a letter (uppercase or lowercase), followed by a combination of letters, digits, hyphens and underscores. *-n* refers to the comma separated list of node names that should be members of the new replication group. This parameter registers them as \"PRIMARY\" member nodes of that context. Optional parameters *-a* refers to the comma separated list of node names that should be \"ACTIVE_BACKUP\" member nodes of that replication group. *-m* refers to the comma separated list of node names that should be \"MESSAGING_ONLY\" member nodes of that replication group. *-p* refers to the comma separated list of node names that should be \"PASSIVE_BACKUP\" member nodes of that replication group. *-p* refers to the comma separated list of node names that should be \"SECONDARY\" member nodes of that replication group. delete-replication-group The delete-replication-group command helps in the deletion of a replication group and its associated data from all member nodes of that replication group. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar delete-replication-group -g [replication-group-name] [--preserve-event-store] Mandatory parameters *-g* refers to the replication group that needs to be deleted. Optional parameters –preserve-event-store option to keep all the event store data for all the nodes in the replication group (false by default) add-node-to-replication-group The add-node-to-replication-group command helps in the registration of a new member node creation of an existing replication group. $ java -jar ./axonserver-cli.jar add-node-to-replication-group -g -n -r Mandatory parameters *-g* refers to an existing replication group. *-n* refers to the node name that should be a member of this replication group. *-r* refers to the role of this node within the replication group (PRIMARY/MESSAGING_ONLY/ACTIVE_BACKUP/PASSIVE_BACKUP/SECONDARY). Optional parameters delete-node-from-replication-group The delete-node-from-replication-group command helps in the deletion member node from an existing replication group. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar delete-node-from-replication-group -g -n [--preserve-event-store] Mandatory parameters *-g* refers to an existing replication group. *-n* refers to the node name that should no longer be a member of this context. Optional parameters *–preserve-event-store* removes the node from the replication group but leaves the event store files on that node. contexts Lists all contexts and the nodes assigned to the contexts. For each context it shows the name of the context, the master node for the context and the member nodes of the context.‌ $ java -jar axonserver-cli.jar contexts [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-context The register-context command helps in the registration and creation of a new context. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar register-context -c -g [-n ]‌ [-a ] [-m ] [-p ] If you don’t provide an existing replication group name, you need to provide the names and roles of the nodes to include in the replication group to create. If you don’t provide a replication group name, but do provide nodes, it will create a replication group with the same name as the context. Mandatory parameters *-c* refers to the context name. The context name must match the following regular expression \"[a-zA-Z][a-zA-Z_-0-9]*\", so it should start with a letter (uppercase or lowercase), followed by a combination of letters, digits, hyphens and underscores. Optional parameters *-g* refers to the name of the replication group *-n* refers to the comma separated list of node names that should be members of the new context. This parameter registers them as \"PRIMARY\" member nodes of that context. *-a* refers to the comma separated list of node names that should be \"ACTIVE_BACKUP\" member nodes of that context. *-m* refers to the comma separated list of node names that should be \"MESSAGING_ONLY\" member nodes of that context. *-p* refers to the comma separated list of node names that should be \"PASSIVE_BACKUP\" member nodes of that context. *-s* refers to the comma separated list of node names that should be \"SECONDARY\" member nodes of that context. delete-context The delete-context command helps in the deletion of a context and its associated data from all member nodes of that context. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar delete-context -c -S http://: Mandatory parameters *-c* refers to the context that needs to be deleted. Optional parameters –preserve-event-store option to keep the event store data (false by default). plugins Lists all the installed plugins and their status per context. $ java -jar ./axonserver-cli.jar plugins [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text upload-plugin Uploads a new plugin package to Axon Server. In Enterprise Edition this command needs to be targetted to an _admin node. $ java -jar ./axonserver-cli.jar upload-plugin -f Mandatory parameters *-f* refers to the jar file containing the OSGi bundle for the plugin Optional parameters configure-plugin Configures a plugin for a specific context. $ java -jar ./axonserver-cli.jar configure-plugin -p -v -c [ --prop | -f -v -c Mandatory parameters *-p* refers to the name of the plugin *-v* refers to the version of the plugin *-c* refers to the context for which to activate the plugin Optional parameters pause-plugin Pauses an plugin for a specific context. $ java -jar ./axonserver-cli.jar pause-plugin -p -v -c Mandatory parameters *-p* refers to the name of the plugin *-v* refers to the version of the plugin *-c* refers to the context for which to pause the plugin Optional parameters unregister-plugin Removes a plugin for a specific context. $ java -jar ./axonserver-cli.jar unregister-plugin -p -v -c Mandatory parameters *-p* refers to the name of the plugin *-v* refers to the version of the plugin *-c* refers to the context for which to unregister the plugin Optional parameters *delete-plugin* Removes an plugin from all Axon Server nodes and for all contexts. $ java -jar ./axonserver-cli.jar delete-plugin -p -v Mandatory parameters *-p* refers to the name of the v *-v* refers to the version of the plugin Optional parameters","title":"Command Line Interface","component":"axon-server-reference","version":"v2024.1","name":"command-line-interface","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/command-line-interface/","titles":[{"text":"Quick summary","hash":"_quick_summary","id":1},{"text":"Format","hash":"format","id":2},{"text":"Access control","hash":"_access_control","id":3},{"text":"Commands","hash":"_commands","id":4},{"text":"Users","hash":"users","id":5},{"text":"Metrics","hash":"metrics","id":6},{"text":"Applications","hash":"application-enterprise-edition-only","id":7},{"text":"Cluster","hash":"cluster-enterprise-edition-only","id":8},{"text":"Replication groups","hash":"replication-groups-enterprise-edition-only","id":9},{"text":"Contexts","hash":"context-enterprise-edition-only","id":10},{"text":"Plugins","hash":"plugins","id":11}]},"179":{"id":179,"text":"The system configuration can be maintained/supplied in three ways. Configuration File Command Line Environment Variables The most commonly and preferred way is to have an axonserver.properties or axonserver.yml file which contains the desired configuration parameters. The location of the file should be the current working directory or alternatively can be placed within a \"config\" subdirectory (relative to the current working directory). An important note - In case both files are detected by Axon Server, it will read from both. In case the server is being started using “java –jar …”, you can also supply individual configuration properties with “-Dproperty=value” Configuration values can also be supplied using environment variables. The parameter name should be all in upper case with any kebab-case(-) / camelCase and snake_case() substituted with _\"\"_ There are some recommendations around Axon Server EE/SE configuration, Use “./axonserver.properties” for common settings. Use “./config/axonserver.properties” for environment/node-specific overrides. Use “-D” or environment variables for one-time settings. A list of all the configuration properties by area is denoted below. Unless explicitly specified all property names are to be prefixed with \"axoniq.axonserver\" Area Property Name Description Default Value Node setup name Unique node name of the Axon Server node. Hostname of the server hostname Hostname of the Axon Server node as communicated to clients. Hostname of the server internal-hostname Hostname as communicated to other nodes of the cluster. Hostname of the server domain Domain of this node as communicated to clients. Optional, if set will be appended to the hostname in communication with clients. None internal-domain Domain as communicated to other nodes of the cluster. \"domain\" value port gRPC port for the Axon Server node. 8124 server.port (no prefix) HTTP port for the Axon Server console. 8024 internal-port 8224 tags Key/value pairs of tags for tag based connections for clients. None devmode.enabled (Axon SE only) false set-web-socket-allowed-origins Set WebSocket CORS Allowed Origins. false web-socket-allowed-origins List of WebSocket CORS Allowed Origins. File Locations event.storage Path where (regular) events are stored as segmented files on disk. ./data directory snapshot.storage Path where Snapshot Events are stored as segmented files on disk. ./data directory controldb-path Path where Axon Server’s control database (axonserver-controldb) is created. ./data directory controldb-backup-location Location where the control DB backups are created. . pid-file-location Location where AxonServer creates its pid file. . replication.log-storage-folder Directory where the transaction logs for replication are stored. ./log directory accesscontrol.token-dir Directory where token is stored on startup. ./security directory enterprise.license-directory Directory where the license file can be found. . File Names event.bloom-index-suffix File suffix for bloom files .bloom event.events-suffix File suffix for events files. .events event.index-suffix File suffix for index files .index event.new-index-suffix File suffix for new index files .nindex event.global-index-suffix File suffix for global index files .xref snapshot.bloom-index-suffix File suffix for snapshot bloom files .sbloom snapshot.events-suffix File suffix for snapshot files .snapshots snapshot.index-suffix File suffix for index files for snapshots .sindex replication.index-suffix File suffix for index files for transaction logs .index replication.log-suffix File suffix for transaction log files .log Event Store event.bloom-index-fpp False-positive percentage allowed for bloom index. Decreasing the value increases the size of the bloom indexes. 0.03 event.force-interval Interval to force syncing files to disk (ms). 1000 event.primary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for writable segments. 15 event.secondary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for read-only segments. 15 event.segment-size Size for new storage segments. 256Mb event.sync-interval Interval (ms) to check if there are files that are complete and can be closed. 1000 event.validation-segments Number of segments to validate to on startup after unclean shutdown. 10 event.memory-mapped-segments Number of recent segments that Axon Server keeps memory mapped. 5 event.events-per-segment-prefetch Number of events to prefetch from disk when streaming events to the client. 50 snapshot.bloom-index-fpp False-positive percentage allowed for bloom index for snapshots. Decreasing the value increases the size of the bloom indexes. 0.03 snapshot.force-interval Interval to force syncing files to disk (ms). 1000 snapshot.primary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for writable segments. 15 snapshot.secondary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for read-only segments. 15 snapshot.segment-size Size for new storage segments. 256Mb snapshot.sync-interval Interval (ms) to check if there are files that are complete and can be closed. 1000 snapshot.validation-segments Number of snapshot segments to validate to on startup after unclean shutdown. 10 snapshot.memory-mapped-segments Number of recent segments that Axon Server keeps memory mapped. 5 query.limit 200 new-permits-timeout Timeout for event trackers while waiting for new permits. 120000 blacklisted-send-after Force sending an event on an event tracker after this number of blacklisted events. Ensures that the token in the client application is updated. 1000 max-events-per-transaction Maximum number of events that can be sent in a single transaction. 32767 enterprise.default-index-type (Since 4.4.7, EE only) Sets the default index type to be used for new contexts. Values are JUMP_SKIP_INDEX and BLOOM_FILTER_INDEX. JUMP_SKIP_INDEX read-sequence-validation-strategy (Since 4.4.14) Sets how to handle validation errors while reading aggregates from the event store. Values are LOG and FAIL. LOG event.use-mmap-index By default, AxonServer will determine whether to use memory mapped indexes for event files in the event store based on operating system and java version, in rare cases it may be useful to override the default event.force-clean-mmap-index Option to forcefully close unused memory mapped files instead of leaving the garbage collector do this, by default, AxonServer will determine this based on operating system and java version, in rare cases it may be useful to override the default event.aggregate.prefetch Ensures that backpressure signals from clients are split into batches. The initial request amount is {prefetch}*5, and subsequent (or replenishing) request amount is {prefetch} 5 event.aggregate.retry.attempts Number of retries for reading event aggregate stream. 3 event.aggregate.retry.delay Delay (ms) between retries for reading event aggregate stream. 100 event.leader.retry.attempts Number of retries for finding an event store. 3 event.leader.retry.delay Delay (ms) between retries for finding an event store. 100 event-processor-permits-check Delay (ms) between checking if tracking event processors are waiting for new permits for a long time. 2000 check-sequence-nr-for-snapshots Whether to check for invalid sequence numbers on appending a snapshot. true Logging logging.level.package_name (no prefix) Change the logging level for specific packages or classes. (for example logging.level.io.axoniq.axonserver = INFO) WARN level for all packages logging.file.name (no prefix) File name where log entries should be written to. Names can be an exact location or relative to the current directory. (for example logging.file.name = messaging.log) stdout logging.path (no prefix) Location where log files should be created. Names can be an exact location or relative to the current directory. (for example logging.path = /var/log) Cluster setup autocluster.first For auto cluster option, set to the internal host name for the first node in the cluster. None autocluster.contexts For auto cluster option, defines the list of contexts to connect to or create. None SSL (Axon Server - HTTP Port) security.require-ssl (No prefix) Determines whether the server has ssl enabled on the HTTP port. false server.ssl.key-store-type (No prefix) Keystore type. (should be PKCS12) None server.ssl.key-store (No prefix) Location of the keystore. None server.ssl.key-store-password (No prefix) Password to access the keystore. None server.ssl.key-alias (No prefix) Alias to be used to access the keystore. None SSL (Axon Server - gRPC Port) ssl.enabled Determines whether the server has ssl enabled on the gRPC port. false ssl.cert-chain-file Location of the public certificate file. None ssl.private-key-file Location of the private key file. None ssl.internal-cert-chain-file None ssl.internal-trust-manager-file None ssl.internal-private-key-file None Access Control accesscontrol.enabled Indicates that access control is enabled for the server. false accesscontrol.cache-ttl Timeout for authenticated tokens. 300000 accesscontrol.internal-token accesscontrol.token accesscontrol.admin-token accesscontrol.systemtokenfile File containing a predefined system token. Messaging (Between Clients and Axon Server) max-message-size Maximum size of a message to be sent to the node. 4 MB initial-nr-of-permits Number of messages that the server can initially send to a client. 1000 nr-of-new-permits Additional number of messages that the server can send to a client. 500 new-permits-threshold When a client reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. 500 force-connection-to-primary-or-messaging-node Whether to force applications to connect to Primary nodes or Messaging Only nodes. When false, all nodes for a context are eligible to accept client connections. false instruction.result.timeout Timeout in seconds for instruction results received via client server communication 10 Messaging (Between nodes of an Axon Server Cluster) command-flow-control.initial-nr-of-permits Number of command messages that the master can initially send to a replica. 10000 command-flow-control.nr-of-new-permits Additional number of command messages that the master can send to replica. 5000 command-flow-control.new-permits-threshold When a replica reaches this threshold in remaining command messages, it sends a request with this additional number of command messages to receive. 5000 query-flow-control.initial-nr-of-permits Number of query messages that the master can initially send to a replica. 10000 query-flow-control.nr-of-new-permits Additional number of query messages that the master can send to replica. 5000 query-flow-control.new-permits-threshold When a replica reaches this threshold in remaining query messages, it sends a request with this additional number of query messages to receive. 5000 Replication replication.flow-buffer Number of unconfirmed append entry messages that may be sent to peer. 1000 replication.force-interval Interval to force writes to disk. 1000 replication.force-snapshot-on-join Option to force new members to first receive a snapshot when they join a cluster. true replication.heartbeat-timeout Leader sends a heartbeat to followers if it has not sent any other messages to a follower for this time (in ms) 300 replication.initial-election-timeout Extra time (in ms) that follower waits initially before moving to candidate state. 0 replication.log-compaction-enabled Deletes old log files when all the entries in the file are applied for more than log-retention-hours hour. true replication.log-retention-hours Time to keep log files after all entries have been applied. 1 replication.max-election-timeout Maximal time (in ms.) that a follower waits before moving to candidate state, if it has not received any messages from a leader. Also, time that leader waits before stepping down if it has not heard from the majority of its followers. 2500 replication.max-entries-per-batch Maximum number of append entry messages sent to one peer before moving to the next. 10 replication.max-indexes-in-memory Number of index files for replication segments that Axon Server keeps in memory 10 storage.event.max-indexes-in-memory Number of index files for event segments that Axon Server keeps in memory 50 snapshot.max-indexes-in-memory Number of index files for snapshot segments that Axon Server keeps in memory 50 replication.max-replication-round The number of attempts the log replication process will do during the replication a snapshot until the follower is caught up. 10 replication.max-snapshot-chunks-per-batch Maximum number of objects that can be sent in a single install snapshot message 1000 replication.min-active-backups When active backup nodes are added to a context, this indicates on how many active backup nodes transactions must be confirmed before the transaction is ready for commit. 1 replication.min-election-timeout Minimal time (in ms.) that a follower waits before moving to candidate state, if it has not received any messages from a leader. 1000 replication.primary-cleanup-delay Windows only. Delay before forcing the primary segment file from memory when no longer in use. 5 replication.secondary-cleanup-delay Windows only. Delay before forcing the other segment files from memory when no longer in use. 30 replication.segment-size Size of a transaction log file. 16 MB replication.snapshot-flow-buffer Number of unconfirmed install snapshot messages that may be sent to peer. 50 replication.sync-interval Interval to check for files that can be closed. 1000 replication.wait-for-leader-timeout Timeout (in ms.) to wait for leader when requesting access to event store while leader change in progress, if not set defaults to maxElectionTimeout. -1 replication.use-mmap-index By default, AxonServer will determine whether to use memory mapped indexes for replication logs based on operating system and java version, in rare cases it may be useful to override the default replication.force-clean-mmap-index Option to forcefully close unused memory mapped files instead of leaving the garbage collector do this, by default, AxonServer will determine this based on operating system and java version, in rare cases it may be useful to override the default context-validation.rate Rate of checks to verify that for each context, the corresponding replication group is ready for handling client requests. 5000 context-validation.initial-delay Initial delay of checks to verify that for each context, the corresponding replication group is ready for handling client requests. 5000 Keep Alive keep-alive-time Interval at which AxonServer will send timeout messages. Set to 0 to disable gRPC timeout checks. 2500 keep-alive-timeout Timeout (in ms.) for keep alive messages on gRPC connections. 5000 min-keep-alive-time Minimum keep alive interval (in ms.) accepted by this end of the gRPC connection. 1000 client-heartbeat-timeout Timeout (in ms.) on application level heartbeat between client and Axon Server. 5000 client-heartbeat-check-initial-delay Initial time delay (in ms.) before Axon Server checks for heartbeats from clients. 10000 client-heartbeat-check-rate How often (in ms.) does Axon Server check for heartbeats from clients. 1000 heartbeat.enabled If this is set Axon Server will respond to heartbeats from clients and send heartbeat false client-heartbeat-frequency Frequency (ms) for sending heartbeats 500 client-heartbeat-initial-delay Initial delay (ms) for sending heartbeats 5000 Maintenance Tasks cluster.connection-check-delay Delay before the first run of the connection checker (in ms.) 1000 cluster.connection-check-interval Interval between each run of the connection checker (in ms.) 1000 cluster.connection-wait-time Timeout for connection request (in ms.) 3000 cluster.metrics-distribute-delay Delay before the first run of the metrics distributor (in ms.) 1000 cluster.metrics-distribute-interval Interval between each run of the metrics distributor (in ms.) 1000 cluster.rebalance-delay Delay before the first run of the rebalancer (in seconds) 7 cluster.rebalance-interval Interval between each run of the rebalancer (in seconds) 15 cluster.auto-balancing Automatic rebalancing of client connections enabled. true cluster.balancing-rate Rate at which rebalancing is attempted. 15000 cache-close-rate Interval (in ms.) at which to check for timed out queries and commands. 5000 processor-info-timeout Time in ms after which collected event processor info expires. 30000 enterprise.context-configuration-sync-rate Rate of updating the status of pending configuration changes in raft group members 3600000 Performance event.max-bloom-filters-in-memory Maximum number of bloom filters to keep in memory 100 event.max-indexes-in-memory Maximum number of indexes to keep open in memory 50 event.read-buffer-size Size of the buffer when reading from non-memory mapped files. (SE only) 32KB snapshot.max-bloom-filters-in-memory Maximum number of bloom filters to keep in memory 100 snapshot.max-indexes-in-memory Maximum number of indexes to keep open in memory 50 snapshot.read-buffer-size Size of the buffer when reading from non-memory mapped files. (SE only) 32KB snapshot.use-mmap-index By default, AxonServer will determine whether to use memory mapped indexes for snapshot files in the event store based on operating system and java version, in rare cases it may be useful to override the default snapshot.force-clean-mmap-index Option to forcefully close unused memory mapped files instead of leaving the garbage collector do this, by default, AxonServer will determine this based on operating system and java version, in rare cases it may be useful to override the default executor-thread-count Number of threads for executing incoming gRPC requests 16 command-thread Threads per client responsible for sending commands to the client. 1 query-thread Threads per client responsible for sending queries to the client. 1 cluster-executor-thread-count Number of threads for executing incoming gRPC requests for internal communication 16 cluster.query-threads Threads per connected Axon Server node responsible for forwarding queries to that node. 1 cluster.command-threads Threads per connected Axon Server node responsible for forwarding commands to that node. 1 grpc-buffered-messages The initial flow control setting for gRPC level messages. This is the number of messages that may be en-route before the sender stops emitting messages. This setting is per-request and only affects streaming requests or responses. Application-level flow control settings and buffer restriction settings are still in effect. 500 default-command-timeout Timeout (in ms.) for commands sent to command handler 300000 default-query-timeout Timeout (in ms.) for queries sent to query handler 300000 query.timeout Timeout for ad-hoc queries 300000 websocket-update.rate Settings to influence how often Axon Server (in ms.) sends updates to the dashboard for updated metrics or tracking event processor status. 1000 websocket-update.initial-delay On start, it will wait \"initial-delay\" (in ms.) before sending any updates. After that it will check every \"rate\" milliseconds. 10000 command-cache-capacity Limits the total number of pending commands on an Axon Server node. If it is set to 0, the limit is determined dynamically based on the maximum memory available to the JVM. 0 query-cache-capacity Limits the total number of pending queries on an Axon Server node. If it is set to 0, the limit is determined dynamically based on the maximum memory available to the JVM. 0 messages.context-buffer-limit (Since 4.4.8) Limits the total number of pending commands or queries per context on an Axon Server node. If less than 0, there is no limit. -1 query-handler-selector (Since 4.4.10) Determines how Axon Server distributes queries over instances of the same application. By default, it will favor instances that give a faster response. Set to \"round-robin\" to distribute in a round robin way. metrics metrics-query-handler-selector.min-requests (Since 4.4.10) Used in conjunction with the query-handler-selector set to \"metric\". Determines the minimum number of queries to be set to each instance of an application, before the router will distribute based on the metrics. 20 command-queue-capacity-per-client Number of command requests for a specific command handling client that Axon Server will cache waiting for permits. 10000 query-queue-capacity-per-client Number of query requests for a specific query handling client that Axon Server will cache waiting for permits. 10000 data-fetcher-threads Number of threads that are allocated for doing longer running operations on the event store 24 data-writer-threads Number of threads that are allocated for writing events to storage. 8 query-threads Number of threads that are allocated for processing of external queries. Not to be confused with cluster.query-threads. 1 Recovery recoveryfile Start up with a recovery file to update node names in the controldb. recovery.json Plugins plugins-enabled enabled true plugin-package-directory Directory where Axon Server stores the installed plugins. This directory must be writeable and persistent. plugins/bundles plugin-cache-directory Cache directory fot the OSGi container. This directory must be writeable. plugins/cache plugin-clean-policy Specifies if the OSGi container should clean up its cache directory on restart of the Axon Server node. Possible values are \"none\" and \"onFirstInit\". onFirstInit spring.servlet.multipart.max-file-size (no prefix) Specifies the maximum size permitted for uploaded files. 10 MB spring.servlet.multipart.max-request-size (no prefix) Specifies the maximum size allowed for multipart/form-data requests. 10 MB","title":"System Properties","component":"axon-server-reference","version":"v2024.1","name":"configuration","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/configuration/","titles":[{"text":"Configuration file","hash":"configuration-file","id":1},{"text":"Command-line","hash":"command-line","id":2},{"text":"Environment variables","hash":"environment-variables","id":3},{"text":"Recommendations","hash":"_recommendations","id":4},{"text":"Configuration properties","hash":"_configuration_properties","id":5}]},"180":{"id":180,"text":"Service name: EventProcessorAdminService Operation Purpose Method List all even processor Provide a list of all event processors defined by the connected applications. rpc GetAllEventProcessors(google.protobuf.Empty) returns (stream EventProcessor) List event processors by component Provide a list of all event processors defined by the specified component. rpc GetEventProcessorsByComponent(Component) returns (stream EventProcessor) Start event processor Start a distributed event processor, propagating the start request to all EP instances connected to AS * rpc StartEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) Pause event processor Pause a distributed event processor, propagating the pause request to all EP instances connected to AS * rpc PauseEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) Split event processor segment Split the largest known segment of the distributed event processor into two segments. rpc SplitEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) Merge event processor segments Merge the smallest known two segments of the distributed event processor into one. ** rpc MergeEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) List load balance strategies Provide a list of all load balancing strategies. rpc GetBalancingStrategies(google.protobuf.Empty) returns (stream LoadBalancingStrategy) Load balance event processor Balance the load across several instances of an event processor, accordingly to the selected strategy. rpc LoadBalanceProcessor(LoadBalanceRequest) returns (stream google.protobuf.Empty) Set auto load balance strategy Define the load balancing strategy to use for automatic load balancing. rpc SetAutoLoadBalanceStrategy(LoadBalanceRequest) returns (stream google.protobuf.Empty) Clients need to be already running and connected to AS before the operation is executed. It may not work if the two smallest segments are not claimed by applications connected to AS. Service name: ContextAdminService Operation Purpose Method Context details Provide all details about a context. rpc GetContext(GetContextRequest) returns (ContextOverview) List contexts Provide a stream of all contexts with details. rpc GetContexts(google.protobuf.Empty) returns (stream ContextOverview) Create context Create a new context. rpc CreateContext(CreateContextRequest) returns (stream google.protobuf.Empty) Delete context Delete an existing context. rpc DeleteContext(DeleteContextRequest) returns (stream google.protobuf.Empty) Update context properties Update specified properties of a context. rpc UpdateContextProperties(UpdateContextPropertiesRequest) returns (stream google.protobuf.Empty) Subscribe to contexts' updates Provide a stream of all changes in cluster configuration related to context (creations, deletions, updates). rpc SubscribeContextUpdates(google.protobuf.Empty) returns (stream ContextUpdate) Service name: ReplicationGroupAdminService Operation Purpose Method Replication group details Provide all details about a replication group. rpc GetReplicationGroup(GetReplicationGroupRequest) returns (ReplicationGroupOverview) List replication groups Provide a stream of all replication groups with details. rpc GetReplicationGroups(google.protobuf.Empty) returns (stream ReplicationGroupOverview) List nodes Provide a stream of all nodes in the cluster with details. rpc GetNodes (google.protobuf.Empty) returns (stream NodeOverview) Create replication group Create a new replication group. rpc CreateReplicationGroup(CreateReplicationGroupRequest) returns (stream google.protobuf.Empty) Delete replication group Delete an existing replication group. rpc DeleteReplicationGroup(DeleteReplicationGroupRequest) returns (stream google.protobuf.Empty) Add node Add a node to a replication group with the specified role. rpc AddNodeToReplicationGroup(JoinReplicationGroup) returns (stream google.protobuf.Empty) Remove node Remove a node from a replication group. rpc RemoveNodeFromReplicationGroup(LeaveReplicationGroup) returns (stream google.protobuf.Empty) Service name: ApplicationAdminService Operation Purpose Method Application details Provide all details about an application. rpc GetApplication(ApplicationId) returns (ApplicationOverview) List applications Provide a stream of all applications with details. rpc GetApplications(google.protobuf.Empty) returns (stream ApplicationOverview) Create/update application Create or update an application. rpc CreateOrUpdateApplication(ApplicationRequest) returns (Token) Delete application Delete an existing application. rpc DeleteApplication(ApplicationId) returns (stream google.protobuf.Empty) Refresh token Regenerate the token for the specified application. rpc RefreshToken(ApplicationId) returns (Token) Service name: UserAdminService Operation Purpose Method List users Provide a stream of all users with details. rpc GetUsers(google.protobuf.Empty) returns (stream UserOverview) Create/update user Create or update a user. rpc CreateOrUpdateUser(CreateOrUpdateUserRequest) returns (stream google.protobuf.Empty) Delete user Delete an existing user. rpc DeleteUser(DeleteUserRequest) returns (stream google.protobuf.Empty)","title":"gRPC API","component":"axon-server-reference","version":"v2024.1","name":"grpc-api","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/grpc-api/","titles":[{"text":"Event processor administration","hash":"_event_processor_administration","id":1},{"text":"Context administration","hash":"_context_administration","id":2},{"text":"Replication group administration","hash":"_replication_group_administration","id":3},{"text":"Applications administration","hash":"_applications_administration","id":4},{"text":"Users administration","hash":"_users_administration","id":5}]},"181":{"id":181,"text":"There are various options that AxonServer provides to maintain its configuration. The summary below mentions these options and the configurations that they can perform. Option Area System Properties System Configuration → Node setup (for example Ports / Hostnames) / File Locations (for example Event storage) / Event Store / Security (for example SSL) / Cluster setup / Logging / Message Flows / Replication / Performance / Recovery Command Line Interface Access control configuration → Users / Applications Cluster configuration → Replication groups/Contexts REST API Access control configuration → Users / Applications Cluster configuration → Replication groups/Contexts gRPC API Access control configuration → Users / Applications Cluster configuration → Replication groups/Contexts Cluster template Managing cluster configuration as code","title":"Configuration","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/","titles":[]},"182":{"id":182,"text":"Axon Server also allows for updating its configuration through a REST API. A list of the resources is provided below. Resource Purpose URL applications Maintenance of applications /v1/applications users Maintenance of users /v1/users context Maintenance of contexts /v1/context cluster Maintenance of clusters /v1/cluster The complete API documentation is available at {AXON_SERVER_URL}/swagger-ui/index.html.","title":"REST API","component":"axon-server-reference","version":"v2024.1","name":"rest-api","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/rest-api/","titles":[]},"183":{"id":183,"text":"The logging section of the reference guide addresses the configuration, operational, and maintenance aspects of Axon Server Logging. Topic Purpose Logging format Configuration of logging format","title":"Logging","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/","titles":[]},"184":{"id":184,"text":"Axon Server logging is based on Spring logging. For this reason you can customize logging configuration simply by using system properties. If you want to have your logs in JSON format, you can customize the Logback configuration. The property that needs to be configured is logging.config with a path to your custom logback.xml. An example how to configure this property would be logging.config=logback.xml In case you have not already configured logback.xml for Axon Server, a good starting point for JSON logging format is this example The XML tag is the one that configures the format of the output. yyyy-MM-dd'T'HH:mm:ss.SSSX Etc/UTC true false","title":"Logging Format","component":"axon-server-reference","version":"v2024.1","name":"logging-format","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/logging-format/","titles":[{"text":"JSON format","hash":"_json_format","id":1}]},"185":{"id":185,"text":"For monitoring, AxonServer includes Spring Boot Actuator endpoints which are available under the /actuator URL path of the AxonServer. For Axon Server SE, the URL for the Axon Server SE will be the single running node, while for Axon Server EE the URL should be pointing to any node serving the _admin context within an Axon Server EE cluster. The `/actuator`URL path returns a list of all available actuators. A list of the endpoints is given below. /actuator/health endpoint is used to check the health of Axon Server itself, and (in the case of Axon Server EE) the health of the cluster. The HTTP status return code *is not 200* when cluster health is anything other than \"UP\". /actuator/info endpoint informs you about some basic attributes of an AxonServer (name, description, version). This is more useful for liveness/readiness probes. /actuator/metrics endpoint publishes information about OS, JVM as well as application level metrics /actuator/loggers endpoint exposes detailed view of the loggers configuration /actuator/prometheus endpoint exposes metrics data in a format that can be scraped by a Prometheus server (Monitoring system & time series database) /actuator/env endpoint exposes the current environment properties The /actuator/health endpoint provides information on various components of Axon Server: cluster, shows the status of the connection between the current Axon Server node and other nodes in the cluster. This section also shows information on the flow control between Axon Server nodes. If the value for commands.waiting or queries.waiting is not zero for a longer period of time, it means that the connected Axon Server node cannot process the commands or queries fast enough. If there are waiting commands or queries, or the connection with one of the other nodes is down, this component will show status WARN. If the connections to all other nodes is down, the status of the cluster component is DOWN. command, shows the status of command handling applications connected to the current Axon Server node. For each connected application it shows the number of commands waiting to be sent to the command handler. If this value is higher than zero, it means that commands are being sent faster than the command handler can handle them. db, shows the status of the control DB * diskSpace, shows the diskspace in use and available for each storage location (this includes the locations where events and snapshots are stored, and the location of the replication logs). if the available space in any of these locations is below the threshold, the health for the diskSpace component will be WARN. license, shows the status of the license. If the license is in the grace period, this component gets status WARN, if license is expired the status becomes DOWN. localEventStore, shows the status of the local replica for each context available on the current node. ping, always shows UP * query, shows the status of query handling applications connected to the current Axon Server node. For each connected application it shows the number of queries waiting to be sent to the query handler. If this value is higher than zero, it means that queries are being sent faster than the query handler can handle them. raft, shows the status of the replication process per replication group. It shows the leader of the replication group. For the leader it shows the status of the followers, checking if the follower has recently confirmed messages and if the follower is not too far behind. If there is a problem with the replication on one of the replication groups the health for this component is WARN. If there are issues for all replication groups the status is DOWN. The overall health status is derived from the status of the components. If one of the components is WARN, the overall status is WARN. If one of the components is DOWN, it is DOWN. The default setting for the health endpoint in Axon Server is to show the details, even when the user is not authenticated. To hide the details for non-authenticated users add this property to the axonserver.properties file: management.endpoint.health.show-details=when-authorized","title":"Actuator Endpoints","component":"axon-server-reference","version":"v2024.1","name":"actuator-endpoints","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/actuator-endpoints/","titles":[{"text":"Health endpoint","hash":"_health_endpoint","id":1}]},"186":{"id":186,"text":"Axon Server provides metrics to inspect the state of the process. A full list of all the active metrics is available under the /actuator/metrics endpoint. The next sections give an overview of the metrics related to client request handling. Metric name Description axon.commands.throughput.count number of commands processed since the start of the server axon.commands.throughput.rate.oneMinuteRate average number of commands per second processed in the last minute axon.commands.throughput.rate.fiveMinuteRate average number of commands per second processed in the five minutes axon.commands.throughput.rate.fifteenMinuteRate average number of commands per second processed in the fifteen minutes axon.commands.duration Duration of commands, from received by Axon Server until response sent to requester axon.commands.duration.handling Duration of commands, from sent to handler until response received from handler axon.commands.error.count Number of errors axon.commands.saturation.queued.count Number of commands queued in Axon Server axon.commands.saturation.active.count Number of in-flight commands Metric name Description axon.queries.throughput.count number of queries processed since the start of the server axon.queries.throughput.rate.oneMinuteRate average number of queries per second processed in the last minute axon.queries.throughput.rate.fiveMinuteRate average number of queries per second processed in the five minutes axon.queries.throughput.rate.fifteenMinuteRate average number of queries per second processed in the fifteen minutes axon.queries.duration Duration of queries, from received by Axon Server until response sent to requester axon.queries.duration.handling Duration of queries, from sent to handler until response received from handler axon.queries.error.count Number of errors axon.queries.saturation.queued.count Number of queries queued in Axon Server axon.queries.saturation.active.count Number of in-flight queries axon.queries.subscriptionquery.throughput.total Total number of subscription queries subscribed axon.queries.subscriptionquery.duration Duration of a subscription query connection axon.queries.subscriptionquery.throughput.updates Total number of updates submitted on subscription queries axon.queries.subscriptionquery.saturation.active Active number of subscription queries on this node Metric name Description axon.events.append.throughput.count number of events appended since the start of the server axon.events.append.throughput.rate.oneMinuteRate average number of events appended per second processed in the last minute axon.events.append.throughput.rate.fiveMinuteRate average number of events appended per second processed in the five minutes axon.events.append.throughput.rate.fifteenMinuteRate average number of events appended per second processed in the fifteen minutes axon.events.append.duration Duration of append events request, from the first event in a transaction received by Axon Server until it completes the transaction axon.events.append.error.count Number of errors appending events axon.events.append.saturation.active.count Number of active append event transactions axon.events.read.aggregate.throughput.count number of aggregates read since the start of the server axon.events.read.aggregate.throughput.rate.oneMinuteRate average number of aggregates read per second processed in the last minute axon.events.read.aggregate.throughput.rate.fiveMinuteRate average number of aggregates read per second processed in the five minutes axon.events.read.aggregate.throughput.rate.fifteenMinuteRate average number of aggregates read per second processed in the fifteen minutes axon.events.read.aggregate.duration Duration of read aggregate request axon.events.read.aggregate.error.count Number of errors axon.events.read.aggregate.saturation.active.count Number of active aggregate read actions axon.snapshots.append.throughput.count number of snapshots appended since the start of the server axon.snapshots.append.throughput.rate.oneMinuteRate average number of snapshot appends per second processed in the last minute axon.snapshots.append.throughput.rate.fiveMinuteRate average number of snapshot appends per second processed in the five minutes axon.snapshots.append.throughput.rate.fifteenMinuteRate average number of snapshot appends per second processed in the fifteen axon.snapshots.append.duration Duration of append snapshot request, from the snapshot received by Axon Server until it completes the transaction axon.snapshots.append.error.count Number of errors axon.snapshots.append.saturation.active.count Number of active append snapshot requests axon.snapshots.read.throughput.count Number of snapshots read since the start of the server axon.snapshots.read.throughput.rate.oneMinuteRate average number of snapshot reads per second processed in the last minute axon.snapshots.read.throughput.rate.fiveMinuteRate average number of snapshot reads per second processed in the five minutes axon.snapshots.read.throughput.rate.fifteenMinuteRate average number of snapshot reads per second processed in the fifteen axon.snapshots.read.duration Duration of read aggregate request axon.snapshots.read.error.count Number of errors axon.snapshots.read.saturation.active.count Number of active aggregate read actions Metric name Description axon.tasks.saturation.scheduled.count Number of scheduled tasks axon.tasks.error.count Number of errors executing tasks axon.tasks.duration Duration of task execution Metric name Description axon.applications.duration.connection Duration of application connections axon.applications.throughput.connect.count Number of application connect requests axon.applications.saturation.connected.count Number of applications currently connected axon.applications.throughput.disconnect.count Number of application disconnect requests axon.authentication.error.count Number of authentication errors Release 2023.2.0 deprecates the following metrics. These will be removed from Axon Server in release 2024.0.0: Metric name Replaced by axon.commands.count axon.commands.throughput.count axon.commands.rate.oneMinuteRate axon.commands.throughput.rate.oneMinuteRate axon.commands.rate.fiveMinuteRate axon.commands.throughput.rate.fiveMinuteRate axon.commands.rate.fifteenMinuteRate axon.commands.throughput.rate.fifteenMinuteRate axon.command axon.commands.duration axon.commands.active axon.commands.saturation.active.count axon.ApplicationCommandQueue.size axon.commands.saturation.queued.count axon.queries.count axon.queries.throughput.count axon.queries.rate.oneMinuteRate axon.queries.throughput.rate.oneMinuteRate axon.queries.rate.fiveMinuteRate axon.queries.throughput.rate.fiveMinuteRate axon.queries.rate.fifteenMinuteRate axon.queries.throughput.rate.fifteenMinuteRate axon.query axon.queries.duration axon.queries.active axon.queries.saturation.active.count axon.ApplicationQueryQueue.size axon.queries.saturation.queued.count axon.event.count axon.events.append.throughput.count axon.event.rate.oneMinuteRate axon.events.append.throughput.rate.oneMinuteRate axon.event.rate.fiveMinuteRate axon.events.append.throughput.rate.fiveMinuteRate axon.event.rate.fifteenMinuteRate axon.events.append.throughput.rate.fifteenMinuteRate axon.snapshot.count axon.snapshots.append.throughput.count axon.snapshot.rate.oneMinuteRate axon.snapshots.append.throughput.rate.oneMinuteRate axon.snapshot.rate.fiveMinuteRate axon.snapshots.append.throughput.rate.fiveMinuteRate axon.snapshot.rate.fifteenMinuteRate axon.snapshots.append.throughput.rate.fifteenMinuteRate axon.GlobalSubscriptionMetricRegistry.total axon.queries.subscriptionquery.throughput.total axon.GlobalSubscriptionMetricRegistry.updates axon.queries.subscriptionquery.throughput.updates axon.GlobalSubscriptionMetricRegistry.active axon.queries.subscriptionquery.saturation.active axon.QuerySubscriptionMetricRegistry.total axon.queries.subscriptionquery.throughput.total axon.QuerySubscriptionMetricRegistry.updates axon.queries.subscriptionquery.throughput.updates axon.QuerySubscriptionMetricRegistry.active axon.queries.subscriptionquery.saturation.active axon.ApplicationSubscriptionMetricRegistry.total axon.queries.subscriptionquery.throughput.total axon.ApplicationSubscriptionMetricRegistry.updates axon.queries.subscriptionquery.throughput.updates axon.ApplicationSubscriptionMetricRegistry.active axon.queries.subscriptionquery.saturation.active The deprecated metrics are still collected by default. To stop collecting the deprecated metrics set the property: axoniq.axonserver.legacy-metrics-enabled=false","title":"Axon Server Metrics","component":"axon-server-reference","version":"v2024.1","name":"axon-server-metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/axon-server-metrics/","titles":[{"text":"Command handling metrics","hash":"_command_handling_metrics","id":1},{"text":"Query handling metrics","hash":"_query_handling_metrics","id":2},{"text":"Event store metrics","hash":"_event_store_metrics","id":3},{"text":"Scheduler metrics","hash":"_scheduler_metrics","id":4},{"text":"Application connection metrics","hash":"_application_connection_metrics","id":5},{"text":"Deprecated metrics","hash":"application-level-metrics-deprecated","id":6}]},"187":{"id":187,"text":"When reaching out to AxonIQ for Axon Server support related questions, the support team needs information about the environment and its current state. Axon Server provides an endpoint that collects the relevant information into a zip file. The URL is v1/diagnose/download. The zip file contains the following information: cluster layout (nodes in the cluster) application logs replication status per replication group list of files per context system information (available processors, memory and java version used) thread dump of the Axon Server process health status (information from /actuator/health) metrics","title":"Diagnostics","component":"axon-server-reference","version":"v2024.1","name":"diagnostics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/diagnostics/","titles":[]},"188":{"id":188,"text":"To enable the gRPC metrics, for the Axon Server, the following properties need to be set in the axonserver.properties (or .yaml file). Property Name Default Value Description axoniq.axonserver.metrics.grpc.enabled false Enables Axon Server gRPC metrics axoniq.axonserver.metrics.grpc.jaeger-enabled false Enables exporter for Jaeger axoniq.axonserver.metrics.grpc.jaeger-endpoint Endpoint to access Jaeger exporter. Will not be considered if jaeger-enabled is set to false. axoniq.axonserver.metrics.grpc.jaeger-service-name Service name to be set to Jaeger exporter. axoniq.axonserver.metrics.grpc.prometheus-enabled false Enables exporter for Prometheus. axoniq.axonserver.metrics.grpc.z-paged-enabled false Enables ZPages for displaying traces/stats. axoniq.axonserver.metrics.grpc.z-pages-port 8888 HTTP port to access ZPages.","title":"gRPC Metrics","component":"axon-server-reference","version":"v2024.1","name":"grpc-metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/grpc-metrics/","titles":[]},"189":{"id":189,"text":"You can enable the heartbeat monitoring in Axon Server in order to activate an high level monitoring of client connection availability. Axon Framework and Axon Server need to know whether the connection is still alive. GRPC already provides an internal heartbeat in its protocol but does not suffice in many situations, such as in the cloud or when using a service mesh. Proxies and Load Balancers understand this heartbeat and respond to it, while the connection beyond that’s connected to Axon Server is not checked properly. For this reason, the API of Axon Server implements a non-protocol heartbeat that is a regular gRPC call, sent at intervals. If the call is not responded to in time, the connection is terminated and re-established, providing recoverability from various network issues. Therefore it’s enabled by default. This feature can be enabled by configuring the following property: axoniq.axonserver.heartbeat.enabled=true Please note that when combining Axon Server with Axon Framework, the framework application should also have Heartbeat Monitoring enabled. Note that this is enabled by default in Axon Framework. If you want to disable heartbeat monitoring this further, regard the following configuration: Axon Configuration API Spring Boot Auto Configuration public class AxonConfig { // ... public void disableHeartbeats(Configurer configurer) { configurer.registerComponent(AxonServerConfiguration.class, config -> { AxonServerConfiguration.HeartbeatConfiguration heartbeatConfig = new AxonServerConfiguration.HeartbeatConfiguration(); heartbeatConfig.setEnabled(false); AxonServerConfiguration serverConfig = new AxonServerConfiguration(); serverConfig.setHeartbeat(heartbeatConfig); return serverConfig; }); } } axon.axonserver.heartbeat.enabled=false Axon Framework supports heartbeat monitoring starting from 4.2.1 version.","title":"Heartbeat Monitoring","component":"axon-server-reference","version":"v2024.1","name":"heartbeat-monitoring","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/heartbeat-monitoring/","titles":[]},"190":{"id":190,"text":"AxonServer provides a set of actuator endpoints, gRPC metrics and heartbeat monitoring capabilities that help monitor vital aspects of an AxonServer SE/EE deployment. These help in : Retrieving basic information about the AxonServer Monitoring the general health of the AxonServer Retrieving Metrics around the OS/JVM Retrieving Message (Commands/Queries/Events) flow metrics Retrieving environmental properties of the AxonServer","title":"Monitoring","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/","titles":[]},"191":{"id":191,"text":"This section is split into 4 sub-sections. The Axon Server Docker Image Construction of the Axon Server Docker Image Deployment using Docker Compose Deployment using Kubernetes Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust. AxonIQ provides ready to use Axon Server images. There are two types of images available: one with Axon Server running as the user “root” and one with Axon Server running as user “axonserver”. Both images are based on Eclipse Temurin, which means they include a (limited) shell that allows you to connect \"into\" the running image and perform some commands. The “root” image of version 2023.1 is available as “axoniq/axonserver:2023.1” and is based on “eclipse-temurin:11-focal”. This image is particularly useful for running in Docker Desktop, as it will not have any trouble creating files and directories as user “root”. The “axonserver” image of version 2023.1 is available as “axoniq/axonserver:2023.1-nonroot” and is based on the same Eclipse Temurin image. This image is more secure and useful in Kubernetes and OpenShift clusters. You should take care to declare the user- and group-id, both of which are 1001 and are named “axonserver”. Doing this will ensure that any mounted volumes will be writable by the user running Axon Server. The images export the following volumes: “/axonserver/config” This is where you can add configuration files, such as an additional axonserver.properties and the license file. However, you can also opt to use, for instance, Kubernetes, or Docker-compose secrets. Note that Axon Server EE assumes it can write to the directory configured with “axoniq.axonserver.enterprise.licenseDirectory”, so you don’t have to put the license on all nodes. * “/axonserver/data” This is where the ControlDB, the PID file, and a copy of the application logs are written to. * “/axonserver/events” In this volume the Event Store is created, with a single directory per context. * “/axonserver/log” In this volume the Replication Logs are created, with a single directory per Replication Group. * “/axonserver/exts” In this volume you can place Extension JAR-files, such as the LDAP and OAuth2 extensions. * “/axonserver/plugins” In this volume Axon Server will place all uploaded plugins. Using the axoniq/axonserver:latest image Up to release 2023.2.0 the default Axon Server image (axoniq/axonserver:latest) was using Axon Server Standard Edition version 4.6.11. There is a difference in the directory structure between version 4.6.11 and the current version. One change is that the working directory has changed from / to /axonserver. All files and directories created by Axon Server are stored in this directory (or subdirectories). The following locations have new default values: Property Axon Server SE 4.6.11 Axon Server 2023.2 axoniq.axonserver.event.storage /eventdata /axonserver/events axoniq.axonserver.snapshot.storage /eventdata /axonserver/events axoniq.axonserver.controldb-path /data /axonserver/data axoniq.axonserver.plugin-package-directory /data/plugins/bundles /axonserver/plugins/bundles axoniq.axonserver.plugin-cache-directory /data/plugins/cache /axonserver/plugins/cache logging.file /data/axonserver.log /axonserver/data/axonserver.log As these locations have changed you need to update the volume mappings that you use in the container. The mapping for /eventdata must be changed to /axonserver/events, and the mapping for /data must be changed to /axonserver/data. A starter Dockerfile is included below which can be tailored as per your requirements. The starter file helps create the image in multiple stages, The image will be based on a compact image from Google’s “distroless” base images at the gcr.io repository, in this case “gcr.io/distroless/java:11”. The first stage creates the directories that will become our volumes. This step cannot be performed in the Distroless image, because that image does not provide a shell. The second stage begins by copying the home directory with its volume mount points, carefully keeping ownership set to the new user. The last steps copy the executable jar named axonserver.jar and a common set of properties. It marks the volume mounting points and exposed ports and finally specifies the command to start Axon Server EE. FROM busybox as source RUN mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts FROM gcr.io/distroless/java:11 COPY --from=source /axonserver /axonserver COPY axonserver.jar axonserver.properties /axonserver/ WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] If you want to build a \"nonroot\" version, you need to adjust this as follows: FROM busybox as source RUN addgroup -S -g 1001 axonserver \\ && adduser -S -u 1001 -G axonserver -h /axonserver -D axonserver \\ && mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts \\ && chown -R axonserver:axonserver /axonserver FROM gcr.io/distroless/java:11 COPY --from=source /etc/passwd /etc/group /etc/ COPY --from=source --chown=axonserver /axonserver /axonserver COPY --chown=axonserver axonserver.jar axonserver.properties /axonserver/ USER axonserver WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] As you can see this will start by creating the user “axonserver” belonging to a group with the same name. When copying the directory, we now have to ensure that ownership transfers correctly and specify the user to run as, but otherwise it looks pretty similar. For the common properties (axonserver.properties), the minimum set can be added to ensure that the volumes get mounted and logs generated. Again these can be tailored as per the deployment requirements. axoniq.axonserver.event.storage=./events axoniq.axonserver.snapshot.storage=./events axoniq.axonserver.replication.log-storage-folder=./log axoniq.axonserver.enterprise.licenseDirectory=./config #axoniq.axonserver.accesscontrol.systemtokenfile=./config/axonserver.token axoniq.axonserver.controldb-path=./data axoniq.axonserver.pid-file-location=./data logging.file=./data/axonserver.log logging.file.max-history=10 logging.file.max-size=10MB Place the Dockerfile, the Axon Server jar file (axonserver.jar), the Axon Server client jar file (axonserver-cli.jar) and the axonserver.properties in the current directory. Assuming we are building version 2023.1.1, the image can be constructed using the following command: $ docker build --tag my-repository/axonserver:2023.1.1. This completes the construction of the Docker image. The image can pushed to your local repository or you could keep it local if you only want to run it on your development machine. The next step is to run it either using Docker Compose or Kubernetes. If you want to run the docker image for a standalone instance of Axon Server and have it initialized automatically, you can start it with the \"axoniq.axonserver.standalone\" property set through the environment, for instance: $ docker run -dit -e axoniq.axonserver.standalone=true -p 8024:8024 -p 8124:8124 my-repository/axonserver:2023.1.1 Axon Server is meant to be run in a distributed manner, as a cluster where there will be multiple instances of Axon Server nodes running all interconnected to each other. The installation process assumes that Docker Compose will be used to run a 3-node Axon Server cluster, that is running 3 services of the same container image we built above. Let us designate these services as \"axonserver-1\", \"axonserver-2\" and \"axonserver-3\". We will also give a tag to the image that we constructed above as \"my-repository/axonserver:2023.1\". Each container instance will use separate volumes for “data”, “events”, and “log”. An environment variable is added to tell Axon Server about the location of the license file. We will use \"secrets\" to inject the license file, tokens as well as the cluster/context definitions using the autocluster mechanism. The complete docker-compose file is depicted below. version: '3.3' services: axonserver-1: image: my-repository/axonserver:2023.1 hostname: axonserver-1 volumes: - axonserver-data1:/axonserver/data - axonserver-events1:/axonserver/events - axonserver-log1:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8024:8024' - '8124:8124' - '8224:8224' networks: - axon-demo axonserver-2: image: my-repository/axonserver:2023.1 hostname: axonserver-2 volumes: - axonserver-data2:/axonserver/data - axonserver-events2:/axonserver/events - axonserver-log2:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8025:8024' - '8125:8124' - '8225:8224' networks: - axon-demo axonserver-3: image: my-repository/axonserver:2023.1 hostname: axonserver-3 volumes: - axonserver-data3:/axonserver/data - axonserver-events3:/axonserver/events - axonserver-log3:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8026:8024' - '8126:8124' - '8226:8224' networks: - axon-demo volumes: axonserver-data1: driver: local driver_opts: type: none device: ${PWD}/data1 o: bind axonserver-events1: driver: local driver_opts: type: none device: ${PWD}/events1 o: bind axonserver-log1: driver: local driver_opts: type: none device: ${PWD}/log1 o: bind axonserver-data2: driver: local driver_opts: type: none device: ${PWD}/data2 o: bind axonserver-events2: driver: local driver_opts: type: none device: ${PWD}/events2 o: bind axonserver-log2: driver: local driver_opts: type: none device: ${PWD}/log2 o: bind axonserver-data3: driver: local driver_opts: type: none device: ${PWD}/data3 o: bind axonserver-events3: driver: local driver_opts: type: none device: ${PWD}/events3 o: bind axonserver-log3: driver: local driver_opts: type: none device: ${PWD}/log3 o: bind networks: axon-demo: secrets: axonserver-properties: file: ./axonserver.properties axoniq-license: file: ./axoniq.license axonserver-token: file: ./axonserver.token The “axonserver-token” secret is used to allow the CLI to talk with nodes. The access control section details the generation of these tokens. A similar approach can be used to configure more secrets for the certificates, and so enable SSL. The \"axonserver.properties\" properties file referred to in the secrets’ definition section is depicted below. axoniq.axonserver.autocluster.first=axonserver-1 axoniq.axonserver.autocluster.contexts=_admin,default # We highly recommend protecting your installations at all time, hence why access control is enabled here. # For quick testing, you can disable this, but be sure to switch it big with high priority. axoniq.axonserver.accesscontrol.enabled=true axoniq.axonserver.accesscontrol.internal-token=${generated_token} axoniq.axonserver.accesscontrol.systemtokenfile=/axonserver/config/axonserver.tok Starting Axon Server using the docker-compose command is depicted below. $ docker-compose up For example purposes only The examples below show only one of the ways you could deploy Axon Server to Kubernetes. As discussed in this Blog article, there are many aspects that you need to carefully plan ahaead for. A complete set of examples can be found in the \"Running Axon Server\" GitHub repository. We especially recommend using the \"Singleton StatefulSet\" approach. Although the complexity of deploying any application to Kubernetes can be overwhelming, we strongly recommend you to study this subject carefully. The examples we provide are not necessarily the best approach for your particular situation, so be careful about copying them without any further modifications, if only because they generate self-signed certificates that have a one-year validity. An important thing to consider is the use of a \"nonroot\" image. This is due to the fact that volumes are mounted as owned by the mount location’s owner in Docker, while Kubernetes uses a special security context, defaulting to “root”. Since a \"nonroot\" image runs Axon Server under its own user, it has no rights on the mounted volume other than “read”. The context can be specified, but only through the user or group’s ID, and not using their name as we did in the image, because that name does not exist in the k8s management context. So we have to adjust the first stage to specify a specific numeric value (here we have given 1001) , and then use that value in the security context of the Stateful set which we shall see below. We would need to supply a licence/token file (for client applications) and cluster/context definitions via an axonserver.properties file. Unlike Docker Compose, Kubernetes mounts Secrets and ConfigMaps as directories rather than files, so we need to split license and configuration to two separate locations. For the license secret we can use a new location “/axonserver/license/axoniq.license” and adjust the environment variable to match. For the system token we’ll use “/axonserver/security/token.txt”, and for the properties file we’ll use a ConfigMap that we mount on top of the “/axonserver/config” directory. These can be created using \"kubectl\" directly from their respective file as depicted below. It is recommended to create a dedicated namespace before creating the secrets and the config maps. $ kubectl create secret generic axonserver-license --from-file=./axoniq.license -n ${axonserver-ns} secret/axonserver-license created $ kubectl create secret generic axonserver-token --from-file=./axoniq.token -n ${axonserver-ns} secret/axonserver-token created $ kubectl create configmap axonserver-properties --from-file=./axonserver.properties -n ${axonserver-ns} configmap/axonserver-properties created $ In the descriptor we now have to declare the secret, add a volume for it, and mount the secret on the volume. Then a list of volumes has to be added to link the actual license and properties. The complete spec for the Axon Server Stateful set is given below. This includes the security context, the volume mounts, the readiness and liveness probes and finally the volumes. apiVersion: apps/v1 kind: StatefulSet metadata: name: axonserver labels: app: axonserver spec: serviceName: axonserver replicas: 1 selector: matchLabels: app: axonserver template: metadata: labels: app: axonserver spec: securityContext: runAsUser: 1001 fsGroup: 1001 containers: - name: axonserver image: axoniq/axonserver:latest-dev-nonroot imagePullPolicy: IfNotPresent ports: - name: grpc containerPort: 8124 protocol: TCP - name: gui containerPort: 8024 protocol: TCP env: - name: AXONIQ_LICENSE value: \"/axonserver/license/axoniq.license\" volumeMounts: - name: data mountPath: /axonserver/data - name: events mountPath: /axonserver/events - name: log mountPath: /axonserver/log - name: config mountPath: /axonserver/config readOnly: true - name: system-token mountPath: /axonserver/security readOnly: true - name: license mountPath: /axonserver/license readOnly: true readinessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 1 failureThreshold: 30 livenessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 volumes: - name: config configMap: name: axonserver-properties - name: system-token secret: secretName: axonserver-token - name: license secret: secretName: axonserver-license volumeClaimTemplates: - metadata: name: events spec: accessModes: [ \"ReadWriteOnce\" ] resources: requests: storage: 5Gi - metadata: name: log spec: accessModes: [ \"ReadWriteOnce\" ] resources: requests: storage: 1Gi - metadata: name: data spec: accessModes: [ \"ReadWriteOnce\" ] resources: requests: storage: 1Gi The StatefulSet can be applied using the following command (assuming that the StatefulSet spec is stored in the file \"axonserver-sts.yml\"). $ kubectl apply -f axonserver-sts.yml -n ${axonserver-ns} statefulset.apps/axonserver created The next step would be to create the two services required for Axon Server, that is axonserver-gui on 8024 (HTTP) and axonserver on 8124 (gRPC). --- apiVersion: v1 kind: Service metadata: name: axonserver-gui labels: app: axonserver spec: ports: - name: gui port: 8024 targetPort: 8024 selector: app: axonserver type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: axonserver labels: app: axonserver spec: ports: - name: grpc port: 8124 targetPort: 8124 clusterIP: None selector: app: axonserver --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: axonserver annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent spec: rules: - host: axonserver http: paths: - backend: serviceName: axonserver-gui servicePort: 8024 --- The services use an Ingress to allow incoming traffic and can be deployed with the following command (assuming that the Service specs are stored in the file \"axonserver-ing.yml\"). $ kubectl apply -f axonserver-ing.yml -n ${axonserver-ns} service/axonserver-gui created service/axonserver created ingress.networking.k8s.io/axonserver created The final step is to scale out the cluster. The simplest approach, and most often correct one, is to use a scaling factor other than 1, letting Kubernetes take care of deploying several instances. This means we will get several nodes that Kubernetes can dynamically manage and migrate as needed, while at the same time fixing the name and storage. We will get a number suffixed to the name starting at 0, so a scaling factor of 3 gives us “axonserver-0” through “axonserver-2”. $ kubectl scale sts axonserver -n ${axonserver-ns} --replicas=3 statefulset.apps/axonserver scaled This completes a basic setup to help install Axon Server on Kubernetes. The customer can choose to tailor the entire setup based on their requirements and usage of Kubernetes.","title":"Axon Server","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/installation/docker-k8s/","titles":[{"text":"Docker image","hash":"docker-image","id":1},{"text":"Building you own image","hash":"build-image","id":2},{"text":"Docker compose","hash":"docker-compose","id":3},{"text":"Kubernetes","hash":"kubernetes","id":4},{"text":"Creating the Secrets and ConfigMap","hash":"_creating_the_secrets_and_configmap","id":5},{"text":"Deploying Axon Server","hash":"_deploying_axon_server","id":6}]},"192":{"id":192,"text":"Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust. The Axon Server ZIP download contains executable JAR files for the server itself and the CLI. In addition to the archive file, you would also need a license to run it. You may run Axon Server in a variety of ways. The following sections will guide you through the process of setting up Axon Server in a variety of ways. Before we get into the setup, a short introduction to the concept of clusters and contexts within Axon Server. A single Axon Server node will provide a single connection point for (Axon Framework-based) client applications. This node will manage message delivery and event storage. To run Axon Server in a non-clustered mode with initialized context, you can simply add these properties to the axonserver.properties or add them as environment properties. axoniq.axonserver.standalone=true Another way to initialize a context is to use the Axon Server UI, CLI, or Cluster template. A cluster of Axon Server nodes will provide multiple connection points for (Axon Framework-based) client applications, and thus share the load of managing message delivery and event storage. Client applications will dynamically connect to a node in the cluster and automatically reconnect to another, should the node that they are currently connected to become unreachable.‌ This ensures a highly available deployment. Within a single cluster you can define *contexts*. Contexts are comparable to logical databases in a RDBMS. They allow for strong separation without requiring deploying and managing full instances. They may be used for \"bounded contexts\" in the DDD sense, multi-tenancy (with a context per tenant), and have different retention policies. The Clustering and Contexts sections provide more insights into these aspects. Setting up a cluster generally involves three steps: Provision \"uninitialized\" Axon Server nodes Admin Node initialization Add additional nodes to the cluster. To get started with setting up a cluster, you need to provision a set of *uninitialized* nodes. Extract the Zip on all the nodes that you want to be part of the cluster. The nodes will need to run on separate ports if run on the same machine. From the location where the files have been extracted, please run the following command. $ ./axonserver.jar _ ____ / \\ __ _____ _ __ / ___| ___ _ ____ _____ _ __ / _ \\ \\ \\/ / _ \\| '_ \\\\___ \\ / _ \\ '__\\ \\ / / _ \\ '__| / ___ \\ > < (_) | | | |___) | __/ | \\ V / __/ | /_/ \\_\\/_/\\_\\___/|_| |_|____/ \\___|_| \\_/ \\___|_| Powered by AxonIQ This will start Axon Server using the default ports - 8024 for HTTP / 8124 and 8224 for gRPC The HTTP port is used to serve the Management UI and the REST API provided by Axon Server. The gRPC 8124 port is used by Axon Framework client applications to connect to Axon Server, while the gRPC 8224 port is used for internal communication between the nodes of an Axon Server cluster. The management UI can be opened at \"http://localhost:8024\" while the REST API is accessible at \"http://localhost:8024/v1\". The REST API provides an operation at \"/v1/public/me\" to get the configuration details for a running instance of Axon Server. A representation of the response is given below. { \"authentication\": false, \"clustered\": true, \"ssl\": false, \"adminNode\": false, \"developmentMode\": false, \"storageContextNames\": [], \"contextNames\": [], \"internalHostName\": ${hostname}, \"grpcInternalPort\": 8224, \"grpcPort\": 8124, \"httpPort\": 8024, \"name\": ${hostname}, \"hostName\": ${hostname} } Repeat this for every node that needs to be a part of the cluster. To summarize, Extract the Axon Server zip (along with the license file) on each node which needs to be part of the cluster and start each instance. Ensure that the gRPC / internal gRPC ports are open and accessible between the various nodes. The REST API call to each node at \"/v1/public/me\" gives you the configuration details of the running Axon Server instance. This configuration can be customized using the system properties file axonserver.properties located within the Axon Server distributable. The System Properties section details these values. This completes the process of setting up the uninitialized nodes. Next, we need to initialize one of the nodes as the \"Admin Node\" To convert a group of uninitialized Axon Server nodes into a cluster, you need to select any one of them as a starting point and run the “init-cluster” command on it. This is done using the \"command-line\" utility (axonserver-cli.jar) available as part of the Axon Server distributable. $ ./axonserver-cli.jar init-cluster Once successfully executed, this will do the following, Designate this node as the admin node of the Axon Server cluster Creates the \"admin\" context which stores the configuration details of the Axon Server cluster Creates a \"default\" context which is available for event storage/message routing for client applications The REST API operation at \"/v1/public/me\" should now show the following response (assuming axonserver-0 as the hostname of the admin node) { \"authentication\": false, \"clustered\": true, \"ssl\": false, \"adminNode\": true, \"developmentMode\": false, \"storageContextNames\": [ \"default\" ], \"contextNames\": [ \"_admin\", \"default\" ], \"name\": \"axonserver-1\", \"hostName\": \"axonserver-1\", \"internalHostName\": \"axonserver-1\", \"grpcInternalPort\": 8224, \"grpcPort\": 8124, \"httpPort\": 8024 } All admin nodes are member of the “_admin” context, and it is used to distribute cluster structure data in the same way as it distributes Events, Commands, and Queries. The UI console displays the newly initialized admin node as shown below (assuming axonserver-1 as the name of the node) The other nodes can be added to the cluster using the “register-node” command, pointing it at an admin node already in the cluster. On every other node, the following command needs to be executed by pointing to the admin node created above. $ ./axonserver-cli.jar register-node -h axonserver-1 Assuming that the additional node being added has its hostname as \"axonserver-2\", if the REST API operation at \"/v1/public/me\" is run against the second node, the following response is shown. { \"authentication\": false, \"clustered\": true, \"ssl\": false, \"adminNode\": true, \"developmentMode\": false, \"storageContextNames\": [ \"default\" ], \"contextNames\": [ \"_admin\", \"default\" ], \"name\": \"axonserver-2\", \"hostName\": \"axonserver-2\", \"internalHostName\": \"axonserver-2\", \"grpcInternalPort\": 8224, \"grpcPort\": 8124, \"httpPort\": 8024 } To get the complete details of the cluster configuration, the REST API operation at \"/v1/public/context\" if run against the admin node. A sample response is shown below (assuming that the hostnames of the admin node and the additional node are \"axonserver-1\" and \"axonserver-2\") [ { \"metaData\": {}, \"nodes\": [\"axonserver-1\", \"axonserver-2\"], \"leader\": \"axonserver-1\", \"pendingSince\": 0, \"changePending\": false, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"axonserver-1\" }, { \"role\": \"PRIMARY\", \"node\": \"axonserver-2\" } ], \"context\": \"_admin\" }, { \"metaData\": {}, \"nodes\": [\"axonserver-1\", \"axonserver-2\"], \"leader\": \"axonserver-1\", \"pendingSince\": 0, \"changePending\": false, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"axonserver-1\" }, { \"role\": \"PRIMARY\", \"node\": \"axonserver-2\" } ], \"context\": \"default\" } ] The cluster configuration information depicts: The leader of the cluster The contexts available within the cluster (in this case \"_admin\" and \"default\") The nodes within the a cluster The roles that the nodes play within a specific context (in this case PRIMARY) The UI console displays the newly initialized admin node as shown below (assuming axonserver-1 as the name of the node) A production grade setup would require more advanced configuration. For example an Axon Server node can be assigned to play different roles within a cluster - it may serve as an admin node, providing services to configure the cluster and keep it running, next to the “regular” event store and messaging functions. It can also be configured to only service specific *contexts* in various roles. Contexts are comparable to logical databases in a RDBMS. They allow for strong separation without requiring deploying and managing full instances. This is detailed in the Clustering and the Contexts sections. This completes a quick basic setup of an Axon Server cluster using the default configurations. To summarize, _*The Axon Server is not available for event storage or message routing unless a cluster is setup. By default, access control and SSL is not enabled. The basic setup involves the creation of an Axon Server cluster - This involves configuring an Admin Node and registering additional nodes to the cluster. The default ports are 8024/8124 and 8224. These values can be changed via configuration. The name and hostname default to the hostname of the system Axon Server is running on. These values can be changed via configuration ( “axoniq.axonserver.name” / “axoniq.axonserver.hostname”). The \"internalHostName\" and \"grpcInternalPort\" are used for internal communication between the nodes of an Axon Server cluster. These values can be changed via configuration. A new feature available since 4.3 is that you can use configuration setting “axoniq.axonserver.autocluster.first” (in the axonserver.properties file) to provide it with the hostname of a known Admin node. If that name happens to be the hostname of the node starting up, it will automatically perform the “init-cluster” command on itself if needed. If the name is not the current hostname, it will schedule a task to perform the “register-node” command, which will keep trying until successful, which is when the first node is itself available and initialized. In addition if needed, you can use the “axoniq.axonserver.autocluster.contexts” setting to provide a comma-separated list of contexts to create or join. (The “_admin” context needs to be explicitly added if you want all nodes to become admin nodes.) Axon Server creates a folder for each context under a directory named “data”. This is where the events and snapshots for the contexts will be stored. The location can be customized using the “axoniq.axonserver.event.storage” and “axoniq.axonserver.snapshot.storage” settings. Do note that the location customization is applicable for all contexts, you cannot customize it for a specific context. Axon Server will also create a folder for each context under a directory named \"log\". This is where the replication log for each context is stored. The replication log stores context data as it comes in and is distributed. The storage location for the replication log can be adjusted using the “axoniq.axonserver.replication.log-storage-folder” property. Again, this is applicable for all contexts. There is also a small database in the “data” directory, which is referred to as the “ControlDB”, and is used for administrative data. This location you can customize by using the “axoniq.axonserver.controldb-path” setting. The configuration section details the steps required to setup the storage required for Axon Server including some advanced options. As Axon Server is an event store and may contain sensitive data it is always a good practice to enable access control in production and production-like environments. The Access Control section details the steps required to set up access control in Axon Server. Axon Server supports TLS/SSL (Transport Layer Security/Secure Sockets Layer) to encrypt all of Axon Server SE’s network traffic - From Axon Framework client applications to Axon Server as well as between the various nodes of an Axon Server EE cluster. The SSL section details the steps required to setup SSL in Axon Server.","title":"Axon Server","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/installation/local-installation/","titles":[{"text":"Binaries","hash":"_binaries","id":1},{"text":"Setting up Axon Server","hash":"_setting_up_axon_server","id":2},{"text":"Non-clustered","hash":"_non_clustered","id":3},{"text":"Clustered","hash":"_clustered","id":4},{"text":"Cluster setup","hash":"_cluster_setup","id":5},{"text":"Provision Axon Server nodes","hash":"_provision_axon_server_nodes","id":6},{"text":"Admin node initialization","hash":"_admin_node_initialization","id":7},{"text":"Additional nodes","hash":"_additional_nodes","id":8},{"text":"Auto-clustering","hash":"auto-clustering","id":9},{"text":"Storage","hash":"_storage","id":10},{"text":"Access Control","hash":"_access_control","id":11},{"text":"SSL","hash":"_ssl","id":12}]},"193":{"id":193,"text":"Filters are expressions that evaluate to either true or false. Basic filter operations do comparisons between fields and other fields or fixed values. The following are samples of valid filters: token > 1000000 aggregateIdentifier = \"1234\" payloadType = aggregateType Basic operators: = > >= 100) Counts the number of events with aggregateSequenceNumber > 100.","title":"Filters","component":"axon-server-query-language-guide","version":"master","name":"filters","url":"/axon-server-query-language-guide/filters/","titles":[{"text":"Basic operators","hash":"_basic_operators","id":1},{"text":"Logical operators","hash":"_logical_operators","id":2},{"text":"Arithmetic operators","hash":"_arithmetic_operators","id":3},{"text":"Matching functions","hash":"_matching_functions","id":4},{"text":"Examples","hash":"_examples","id":5}]},"194":{"id":194,"text":"The Axon Server query language processes a stream of events. Processing steps include filters and projections, defined in a pipeline. The query engine executes each step in the pipeline and forwards the result to the next step. The result of the last step is returned. The idea is based on the UNIX pipe commands. The input of a query is a stream of events with the following fields: token - a unique sequence number for an event aggregateIdentifier - the unique identifier for the aggregate aggregateSequenceNumber - sequence number of the event for the aggregate aggregateType - the type of the aggregate payloadType - the type of the payload of the event payloadRevision - version number of the payload type payloadData - content of the event, the format of this depends on the serializer used to store the data timestamp - time when the event was created (milliseconds since 1970/01/01).","title":"Principles","component":"axon-server-query-language-guide","version":"master","name":"index","url":"/axon-server-query-language-guide/","titles":[]},"195":{"id":195,"text":"xpath(data, expression [,resultType]) - performs an XPath function on the first parameter value. Data must contain XML (so depends on the serializer used for events). The resultType may be specified to indicate if you want to have an XML node, an XML nodelist, a string or a number returned. jsonpath(data, expression) - performs a jsonpath function on the first parameter value. Data must contain JSON formatDate(data, format [,timezone]) - converts a timestamp value to a readable date concat(listData, delimiter) - concatenates all elements in the listData to a single string, with delimiter between the elements. left( data, n ) - returns the first n characters from data. If data is shorter than n it returns the whole string, right( data, n ) - returns the last n characters from data. If data is shorter than n it returns the whole string, length( data ) - returns the length of the string lower( data ) - converts string to lowercase upper( data) - converts string to lowercase substring( data, first [, last]) - returns substring from first to end of string or last (exclusive). If string is shorter than first it returns an empty string. hour(timestamp) minute(timestamp) day(timestamp) week(timestamp) month(timestamp) year(timestamp) select( xpath(payloadData, \"//customerId\") as customerId) Gets the first customerId in the payloadData. xpath(payloadData, \"count(//customerId)\", \"NUMBER\") > 10 Returns events with more than 10 customerId elements in the payload. select(jsonpath(payloadData, \"$.book[*].title\") as titles) Gets the titles for all books.","title":"Other Functions","component":"axon-server-query-language-guide","version":"master","name":"other-functions","url":"/axon-server-query-language-guide/other-functions/","titles":[{"text":"Examples","hash":"_examples","id":1}]},"196":{"id":196,"text":"Expressions can be put together in a pipeline aggregateType contains \"abcde\" | groupby(payloadType, count()) or even more steps: aggregateType contains \"abcde\" | groupby(payloadType, count() as count) | count > 10","title":"Pipelines","component":"axon-server-query-language-guide","version":"master","name":"pipelines","url":"/axon-server-query-language-guide/pipelines/","titles":[]},"197":{"id":197,"text":"Projection functions change the shape of the data. The following projection functions are available: select - map each element in the stream to a new element, for instance with less fields or with calculated fields. groupby - map elements with the same value for the group by fields to a new element. count - counts the number of elements in the stream, when used with a parameter counts the number of non-null/true fields for the parameter value. min - minimum value for the paramater value max - maximum value for the paramater value avg - average value for the paramater value The count, min, max and avg functions can also be used inside a group by.","title":"Projections","component":"axon-server-query-language-guide","version":"master","name":"projections","url":"/axon-server-query-language-guide/projections/","titles":[]},"198":{"id":198,"text":"When an event store contains many millions of events it is usually not required to search through all the events. You can add time constraints to the pipeline to only search recent events. last X minutes last X hours last X days last X weeks last X months last X years last 2 minutes Returns all events from the last 2 minutes. aggregateSequenceNumber = 0 | last hour All events with aggregateSequenceNumber 0 for the last hour. last minute | groupby(payloadType, count()) groupby(payloadType, count()) | last minute These 2 are the same. The time constraint may be anywhere in the pipeline, always applies to the timestamp of the event.","title":"Time Constraints","component":"axon-server-query-language-guide","version":"master","name":"time-constraints","url":"/axon-server-query-language-guide/time-constraints/","titles":[]},"199":{"id":199,"text":"Axon Server Enterprise is now listed in Google GCP Marketplace. This allows your team to deploy a single instance or a 3-node cluster Axon Server in your Google Project. This guide is intended for engineers, developers, and system administrators who want to install Axon Server on the Google Marketplace. The guide covers Requirements for your Google Project An overview of required and recommended fields How to secure your Axon Server installation Basic maintenance guide for your cluster The network is the backbone for communication between Axon Server Enterprise nodes and applications. During the installation process, a DNS entry is created for each Axon Server node: this is used to configure and set up communication between the nodes. VPC Network and Subnetwork Your Google project must have an existing VPC Network and Subnetwork configured for the zones in where you want to install your cluster: you can define one using the Google Console UI Cloud DNS Zone Your Google project must have a Cloud DNS Zone configured: you can define one using the Google Console UI. Write down the name of your Cloud DNS Zone : it will be requested in a form field during the installation process. Cloud Resource Manager API The deployment uses Cloud Resource Manager API, therefore this API must be enabled before proceeding with the installation. Secret manager API If you plan to store your sensitive data in Google Secret Manager, you must enable the API first. The following is a list of fields that you will be prompted to fill in during your installation. Deployment name This is used in the installation to give the deployment a name and to distinguish it from other deployments in the same Google project. It is also used as a PREFIX to name resources used by the deployment. Deployment Service Account / Service account ID / Service Account description Used by Google as the user to run Terraform: it requires several admin roles because they are used to create resources in the project itself. Cloud DNS Zone of your network domain (mandatory / prerequisite) This is a prerequisite that must be created in the project beforehand. It is used to create DNS entries for instances, for example axonserver-1.mydomain.net, axonserver-2.mydomain.net axonserver-3.mydomain.net. These addresses are used by the configuration for internal calls and can be used by the user to connect to the VM from a running Axon Framework application. Internal Network Domain This is the domain to append to the hostname of the VM’s. It should match the value the user entered in the DNS zone details (for example, mydomain.net). Enable Google Ops Agent This is a non-mandatory option, but recommended. You may incur in additional charges from Google for using this service. Google Ops Agent is the Google way to collect logs and metrics, and is displayed in the dashboard / log explorer. Use Google Secret Manager This is a non-mandatory option, but recommended. You may incur in additional charges from Google for using this service. If selected, sensitive data such as the admin password (randomly generated during the installation) will be stored in the Google Secrets Manager, where only accounts with specific permissions can access and read/change the value. If not selected these values will be stored in the VM Metadata : these values can be read by anyone who has access to the Google Dashboard, even users with lower permissions (such as editor role). After the installing Axon Server Enterprise three new VMs will be available in your project. You can gather the list of available VMs using the following command gcloud compute instances list --project=YOUR_PROJECT_ID If you want to adjust some properties for your cluster, you can ssh into your machine with the following command gcloud compute ssh YOUR_INSTANCE_NAME-0 --project=YOUR_PROJECT_ID --zone=YOUR_ZONE You can connect to the AxonServer UI by opening a tunnel on port 8024 to one of the instances in your cluster, and then opening http://localhost:8024 in your browser. gcloud compute start-iap-tunnel YOUR_INSTANCE_NAME-0 --project=YOUR_PROJECT_ID --zone=YOUR_ZONE 8024 --local-host-port=localhost:8024 If you enabled Google Ops Agent during the installation, you can check the logs by going to Google Logs Explorer and selecting axonserver in the _Select log names dropdown. The Observability panel of your VMs will display important information such as CPU Utilization, Memory Utilization, Disk Space Utilization, Disk IOPS and details of running processes If you haven’t enabled the Google Ops Agent option, you can check the logs and VM resources using Axonserver UI or by opening an ssh connection to the VM. Axon Server is installed as a Linux package in your VM instance. You can then update it as a regular package, using sudo apt update axonserver -y After the update process, you will need to stop and restart the process. sudo systemctl stop axonserver sudo systemctl start axonserver As a regular Axon Server cluster, we recommend that you update and restart a single instance at a time to ensure that your cluster is running with zero downtime. After each restart, you need to check the health of your cluster. You can do this by looking at one of your AxonServer UIs that is not restarting. By default, your cluster is installed without TLS/SSL enabled. To secure your AxonServer installation and prepare it for production, please consult the Security section of the Axon Server reference guide.","title":"Axon Server Google Marketplace Installation Guide","component":"as-marketplace-installation-guide","version":"main","name":"index","url":"/as-marketplace-installation-guide/main/","titles":[{"text":"Installing Axon Server using Google Marketplace","hash":"_installing_axon_server_using_google_marketplace","id":1},{"text":"Purpose and intended audience","hash":"_purpose_and_intended_audience","id":2},{"text":"Pre-requisites","hash":"_pre_requisites","id":3},{"text":"Required and recommended fields overview","hash":"_required_and_recommended_fields_overview","id":4},{"text":"Basic maintenance of your cluster","hash":"_basic_maintenance_of_your_cluster","id":5},{"text":"Check logs and VMs resources","hash":"_check_logs_and_vms_resources","id":6},{"text":"Update your Axon Server","hash":"_update_your_axon_server","id":7},{"text":"Secure your AxonServer installation","hash":"_secure_your_axonserver_installation","id":8}]},"200":{"id":200,"text":"Welcome to the Axon Synapse Quick Start Guide. Here, you’ll find everything necessary to get started with Axon Synapse and Axon Server. Axon Synapse is a standalone executable that enables non-Java applications to easily communicate with the Axon Server. This enables developers to send and receive commands, queries, and events from Axon Server using their preferred programming environments, such as: C# .NET Python 3 Python 2 Node.js Typescript Rust … and any language that supports HTTP Axon Synapse works as an HTTP Bridge between third party applications written in any HTTP-capable language to publish and consume (send and receive) commands, queries, and events from the Axon Server. Although developers have created various types of applications using Axon Synapse and Axon Server, it’s best suited for microservices architectures. Axon provides an innovative and powerful way of sensibly evolving to event-driven microservices within a microservices architecture.","title":"Axon Synapse Quick Start Guide","component":"synapse-quick-start","version":"v0.11","name":"index","url":"/synapse-quick-start/v0.11/","titles":[{"text":"Introducing Axon Synapse","hash":"_introducing_axon_synapse","id":1},{"text":"Axon Synapse architecture overview","hash":"_axon_synapse_architecture_overview","id":2}]},"201":{"id":201,"text":"To quickly get started with Axon Synapse, here are all the steps necessary to download and install Axon Synapse, Axon Server, and a basic demo application. Both Axon Synapse and Axon Server are standalone Java executables. Therefore, you need a development environment that supports Java and Maven to accomplish the steps in this guide. The \"AxonIQ Quick Start Toolkit\" package is available at https://download.axoniq.io/quickstart/AxonQuickStart.zip. The zip file contains the Axon Server (Standard Edition) and a sample Giftcard application, which you can use as an example application. Move the AxonQuickStart.zip to your preferred location and unzip the file. The first step is to get the Axon Server up and running since it’s the central point of communication in this example. To run the Axon Server, open a terminal window and cd to the folder where you unzipped the Quick Start file and execute the following command $ java -jar AxonServer/axonserver-{VERSION}.jar If your system can correctly execute JAR files, you should see the following status message on the command terminal. Figure 1. A screenshot of successfully started Axon Server Now you can visit the Axon Server’s Dashboard running on port 8024. It should look like the screenshot below. Figure 2. A screenshot of Axon Server’s Dashboard Click on the \"Overview\" tab on the left side to see a list of applications connected to your Axon Server instance. Figure 3. A screenshot of Axon Server’s overview page You only have the Axon Server running right now. Before you can run the Giftcard demo application, you need to build it. Use your preferred IDE or build tool to do so. Then execute the JAR file in a new terminal window. $ java -jar ./giftcard-demo-{VERSION}.jar --server.port=8081 In the command above, you’re telling the Giftcard app to use port 8081. Otherwise, it would bind to its default port (8080) which would conflict with Axon Synapse. You should see the following status message on the command terminal if the application starts correctly. Figure 4. A screenshot of successfully started Giftcard application Now that the Giftcard app is running, look again at the Axon Server’s Dashboard on port 8024. Figure 5. A screenshot of Axon Server’s overview page You can see that the Giftcard app has successfully connected to Axon Server. The final step is to download and install Axon Synapse. The Axon Synapse is available for download at https://download.axoniq.io/axonserver/axon-synapse.zip. The zip file contains the Axon Synapse as an executable JAR file. Move the JAR file to your preferred location. To run the Axon Synapse, open a terminal window, and cd to the folder where you moved the JAR file, and execute the JAR file. $ java -jar axon-synapse.jar You should see the following status message on the command terminal. Figure 6. A screenshot of successfully started Synapse application Now that you have Axon Synapse running, take one final look at the Axon Server’s Dashboard on port 8024. Figure 7. A screenshot of Axon Server’s overview page Now you have two applications running and connected to Axon Server: the Giftcard app and Axon Synapse. As previously mentioned, Axon Synapse runs on port 8080, so you can open a browser window to port 8080 to view the admin pages for Axon Synapse. Figure 8. A screenshot of Synapse’s admin interface You’ve just accomplished all the steps necessary to set up and configure Axon Synapse with Axon Server and a demo application.","title":"Installation","component":"synapse-quick-start","version":"v0.11","name":"installation","url":"/synapse-quick-start/v0.11/installation/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"Download the AxonIQ quick start toolkit","hash":"_download_the_axoniq_quick_start_toolkit","id":2},{"text":"Run the Axon Server","hash":"_run_the_axon_server","id":3},{"text":"Run the Giftcard demo application","hash":"_run_the_giftcard_demo_application","id":4},{"text":"Download the Axon Synapse","hash":"_download_the_axon_synapse","id":5},{"text":"Run the Axon Synapse","hash":"_run_the_axon_synapse","id":6}]},"202":{"id":202,"text":"You learned how to send messages to Axon Synapse in the previous section. In this one, you’ll listen to messages from Axon Synapse. Again the three message types you can listen for are commands, queries, and events. To accomplish the steps in this guide, you need to download and install Axon Synapse, Axon Server, and the Giftcard demo application. Before you continue, please complete the steps detailed on the Installation page. Additionally, you need to download and install Postman. Go to Postman’s download page for detailed instructions. When you send messages to Axon Synapse, you send HTTP requests. To receive messages, Axon Synapse sends HTTP requests to your application. You may create such an application in any language. From Axon Synapse’s perspective, all that matters is that it can receive an HTTP request and process the message in the payload. For the purposes of this example, you’ll simulate your application by using Postman’s mock server feature. A command message is a request to perform a specific operation. Axon Synapse sends such messages via regular HTTP requests. Select Mock Servers in Postman’s sidebar, then select +. Figure 1. A screenshot of the first step of creating the command handling mock in the Postman Next, give it a name. You can leave default values in other options. Figure 2. A screenshot of the second step of creating the command handling mock in the Postman The new mock server is ready and waiting for incoming messages. Figure 3. A screenshot of the command handling mock in the Postman You must inform Axon Synapse what commands it should send to the application (the mock server in this case). Sending a registration request to Axon Synapse, as demonstrated below, is one way to do it. (1) (2) (3) POST http://localhost:8080/v1/contexts/default/handlers/commands Content-Type: application/json { \"names\": [ \"io.axoniq.demo.giftcard.api.IssueCardCommand\" (4) ], \"endpoint\": \"https://cb5b8a7d-d2d1-4583-a6bc-31c70e9d0593.mock.pstmn.io/gift-cards\", (5) \"endpointType\": \"http-raw\", (6) \"clientId\": \"Postman\", (7) \"componentName\": \"Giftcard\" (8) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 v1/contexts/default/handlers/commands - registering a command handler 4 io.axoniq.demo.giftcard.api.IssueCardCommand - the command name 5 The command handler endpoint, in this example the Postman mock 6 The command handler endpoint type (http-raw means the payload is in the request’s body) 7 The unique identifier of the command handling application instance 8 The application of the application component Alternatively, you can use Axon Synapse’s UI to register the handler. Figure 4. A screenshot of registering the command handling mock in the Synapse UI If you configured the mock server correctly, there are now two command handlers in the system for the IssueCardCommand message. There is one in the Giftcard demo app and the Postman mock server you created. As new command messages of type IssueCardCommand arrive, they’re load-balanced between the two handlers. Go to the admin page for the Giftcard demo app and issue several new gift cards. Doing so creates and sends several IssueCardCommand command messages. At least some of them should go to Postman mock server. Once it receives such a command, you should see the content of the command and its meta-data, as on the screen below. Figure 5. A screenshot of a command captured by the Postman mock A query message is a request for information and so the handler must respond. Responding to a query message received from Axon Synapse is nothing more than replying to the HTTP request. You’ll use a Postman mock server again to simulate the behavior of an HTTP application. Select Mock Servers in Postman’s sidebar, then select +. Figure 6. A screenshot of the first step of creating the query handling mock in the Postman For the Response Body, you can use the template sown below. (1) (2) http-based-gift-card (3) 155 (4) 155 (5) 1 The response with list of gift cards 2 The first gift card 3 The id property 4 The initialValue property 5 The remainingValue property Proceed to the next step and give the mock a name. Figure 7. A screenshot of the second step of creating the query handling mock in the Postman Finally, you can listen to requests: Figure 8. A screenshot of the query handling mock in the Postman Go to the Collections tab and add headers to the response: AxonIQ-PayloadType: java.util.ArrayList Figure 9. A screenshot of the header view for query handling mock in the Postman You need to register the query handler with Axon Synapse as you did with the command handlers. The code below shows an example of doing so via the HTTP API. (1) (2) (3) POST http://localhost:8080/v1/contexts/default/handlers/queries Content-Type: application/json { \"names\": [ \"io.axoniq.demo.giftcard.api.FetchCardSummariesQuery\" (4) ], \"endpoint\": \"https://ac365f15-964b-4083-af93-1536f297fd7e.mock.pstmn.io/list-gift-cards/\", (5) \"endpointType\": \"http-raw\", (6) \"clientId\": \"Postman\", (7) \"componentName\": \"Giftcard\" (8) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 v1/contexts/default/handlers/queries - creating a query handler 4 io.axoniq.demo.giftcard.api.FetchCardSummariesQuery - the query name 5 The query handler endpoint, in this example the Postman mock 6 The query handler endpoint type (http-raw means the payload is in the request’s body) 7 The unique identifier of the command handling application instance 8 The application of the application component Alternatively, you can use Axon Synapse’s UI to register the handler. Figure 10. A screenshot of registering the query handling mock in the Synapse UI Again, if you configured everything correctly, there are two query handlers for the FetchCardSummariesQuery - the one from the Giftcard demo app and the one from Postman’s mock server. Therefore, routing a query to the mock server may take several tries. You can test the query handler using the Giftcard demo app or Synapse HTTP query. Figure 11. A screenshot of a query result returned by the Postman mock in the Giftcard demo application UI Axon Synapse can send events to your application through HTTP requests, one by one, ordered by the sequence index. Create a new Mock Server in the Postman. Figure 12. A screenshot of the first step of creating the event handling mock in the Postman Figure 13. A screenshot of the second step of creating the event handling mock in the Postman Figure 14. A screenshot of the event handling mock in the Postman As with the other message types, you must register the event handler in Axon Synapse. Below is an example of the HTTP API approach. (1) (2) (3) POST http://localhost:8080/v1/contexts/default/handlers/events Content-Type: application/json { \"names\": [ \"io.axoniq.demo.giftcard.api.CardIssuedEvent\" (4) ], \"endpoint\": \"https://1d5cae3d-b328-4565-a36b-2d4a49de79de.mock.pstmn.io/card-issued\", (5) \"endpointType\": \"http-raw\", (6) \"clientId\": \"Postman\", (7) \"componentName\": \"Giftcard\" (8) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 v1/contexts/default/handlers/events - creating an event handler 4 io.axoniq.demo.giftcard.api.CardIssuedEvent - the event type 5 The event handler endpoint, in this example the Postman mock 6 The event handler endpoint type (http-raw means the payload is in the request’s body) 7 The unique identifier of the event-handling application instance 8 The application of the application component Similarly to the earlier examples, you can use Synapse UI. Figure 15. A screenshot of registering the event handling mock in the Synapse UI As soon as you register the event handler, you should see the events in Postman’s mock server window. Figure 16. A screenshot of an event captured by the Postman mock","title":"Receive Messages with Postman","component":"synapse-quick-start","version":"v0.11","name":"postman-receive","url":"/synapse-quick-start/v0.11/postman-receive/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"Postman mock servers","hash":"_postman_mock_servers","id":2},{"text":"Handle a command message","hash":"_handle_a_command_message","id":3},{"text":"Create a dedicated mock server","hash":"_create_a_dedicated_mock_server","id":4},{"text":"Configure Axon Synapse to send commands to the mock server","hash":"_configure_axon_synapse_to_send_commands_to_the_mock_server","id":5},{"text":"Confirm it works","hash":"_confirm_it_works","id":6},{"text":"Handle a query message","hash":"_handle_a_query_message","id":7},{"text":"Create a dedicated mock server","hash":"_create_a_dedicated_mock_server_2","id":8},{"text":"Configure Axon Synapse to send queries to the mock server","hash":"_configure_axon_synapse_to_send_queries_to_the_mock_server","id":9},{"text":"Confirm it works","hash":"_confirm_it_works_2","id":10},{"text":"Handle an event message","hash":"_handle_an_event_message","id":11},{"text":"Create a dedicated mock server","hash":"_create_a_dedicated_mock_server_3","id":12},{"text":"Configure Axon Synapse to send events to the mock server","hash":"_configure_axon_synapse_to_send_events_to_the_mock_server","id":13},{"text":"Confirm it works","hash":"_confirm_it_works_3","id":14}]},"203":{"id":203,"text":"Postman is popular development tool allowing to interact with web applications over HTTP. You can use it to communicate with Axon Synapse, to send commands, queries, and events to Axon Server. To accomplish the steps in this guide, you need to download and install Axon Synapse, Axon Server, and the Giftcard demo application. Please complete the steps detailed on the Installation page before you continue. Additionally, you need to download and install Postman. Go to Postman’s download page for detailed instructions. In order to manage the Giftcard application, browse to the admin page for the application on port 8081. Figure 1. A screenshot of the Giftcard demo application UI By default, the Giftcard application starts up without any gift cards created, however, by using the UI shown above, you can create sample cards with balances. To experiment with sending a command over HTTP, you’re going to create a new gift card for $55 with a cardID of, \"sample-card-6\". Below are the details of the HTTP POST request that Axon Synapse expects. (1) (2) (3) (4) POST http://localhost:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.IssueCardCommand Content-Type: application/xml (5) (6) sample-card-6 (7) 55 (8) 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 /v1/contexts/default/commands/ - sending a command 4 io.axoniq.demo.giftcard.api.IssueCardCommand - the command name 5 The command payload is in XML format 6 The command payload type (the same as the command name in this case) 7 The value of the id field 8 The value of the amount field The screenshot below shows how you can configure this request in Postman: Figure 2. A screenshot of the Postman UI After sending the request, return back to the admin page for the Giftcard demo app to see that the application issued a new gift card (with a balance of 55$). Figure 3. A screenshot of the Giftcard demo application UI You’ve just accomplished all the steps to send a command using an ordinary HTTP POST request to Axon Synapse. Axon Synapse (in turn) relayed the message to Axon Server, which gave the command message to its appropriate command handler. To experiment with sending a query over HTTP, list the gift cards you’ve created in the previous section. Read the listing below to see the HTTP POST request that Axon Synapse expects. (1) (2) (3) (4) POST http://localhost:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.FetchCardSummariesQuery AxonIQ-PayloadType: io.axoniq.demo.giftcard.api.FetchCardSummariesQuery (5) AxonIQ-ResponseType: io.axoniq.demo.giftcard.api.CardSummary (6) AxonIQ-ResponseCardinality: multiple (7) Content-Type: application/xml (8) (5) 0 (9) 10 (10) 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 /v1/contexts/default/queries/ - sending a query 4 io.axoniq.demo.giftcard.api.FetchCardSummariesQuery - the query name 5 The payload type 6 The response payload type 7 Expect multiple responses (list) 8 The query payload is in XML format 9 The value of the offset field 10 The value of the limit field The screenshot below shows how you can configure this request in Postman: Figure 4. A screenshot of the Postman UI To experiment with publishing an event over HTTP, you’ll redeem an amount from an already existing gift card. Read the listing below to see the HTTP POST request that Axon Synapse expects. (1) (2) (3) (4) POST http://localhost:8080/v1/contexts/default/events/io.axoniq.demo.giftcard.api.CardRedeemedEvent AxonIQ-AggregateId: sample-card-6 (5) AxonIQ-AggregateType: Giftcard (6) AxonIQ-SequenceNumber: 1 (7) Content-Type: application/json (8) { \"id\": \"sample-card-6\", (9) \"amount\": 4 (10) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 /v1/contexts/default/events/ - sending a query 4 io.axoniq.demo.giftcard.api.CardRedeemedEvent - the event name 5 The aggregate ID 6 The aggregate type 7 The event sequence number 8 The event payload is in JSON format 9 The value of the id field 10 The value of the amount field The screenshot below shows how you can configure this request in Postman: Figure 5. A screenshot of the Postman UI Return to the admin page for the Giftcard demo app to confirm the system deducted the amount from the gift card. Figure 6. A screenshot of the Giftcard demo application UI Alternatively, you can look at the Search Page on the Axon Server Dashboard Figure 7. A screenshot of Axon Server’s Dashboard","title":"Send Messages with Postman","component":"synapse-quick-start","version":"v0.11","name":"postman-send","url":"/synapse-quick-start/v0.11/postman-send/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"Examining the Giftcard demo application","hash":"_examining_the_giftcard_demo_application","id":2},{"text":"Send a command from Postman to Giftcard demo via Axon Synapse","hash":"_send_a_command_from_postman_to_giftcard_demo_via_axon_synapse","id":3},{"text":"Send a query from Postman to Giftcard demo via Axon Synapse","hash":"_send_a_query_from_postman_to_giftcard_demo_via_axon_synapse","id":4},{"text":"Publish an event from Postman to Giftcard demo via Axon Synapse","hash":"_publish_an_event_from_postman_to_giftcard_demo_via_axon_synapse","id":5}]},"204":{"id":204,"text":"When using Synapse there are three different areas of access control: Access to the Synapse API or user interface Access to Axon Server for sending messages Access to the handlers for receiving messages To control access to the Synapse API for registering handlers, the administrator must enable access control through the synapse.auth.enabled property. If access control is on, all the APIs that work on Synapse configuration expect clients to provide either a valid username and password combination or a valid token. A valid username/password combination is such that exists in Axon Server so it can verify the user has the correct roles for the request. Same for the token, it must exist in Axon Server with the required role. The required roles for the specific request types are: GET ADMIN@_admin, VIEW_CONFIGURATION@_admin (to get information from any context), ADMIN@context, USE_CONTEXT@context (to get information from a specific context) other ADMIN@_admin, ADMIN@context If you are using Axon Synapse in combination with Axon Server Standard edition the token must be the token specified in the Axon Server axoniq.axonserver.accesscontrol.token property for the GET operations, and the axoniq.axonserver.accesscontrol.admin-token property for the other requests. When a client sends a request to Synapse, it needs to provide a token to authenticate itself. The client must provide this token through the X-API-KEY header. The token must be valid in Axon Server, for an application to execute the request type in the specified context. The application may provide this header, even if the synapse.auth.enabled property is false. If you are using Axon Synapse in combination with Axon Server Standard edition the token must be the token specified in the Axon Server axoniq.axonserver.accesscontrol.token property. When you register a request handler in Synapse, you can specify two types of tokens: client token server token The client token is the token that Synapse passes to the request handler. This way you can protect the request handler from illegal access. Axon Synapse passes the client token to the request handler as a Bearer token in the Authentication header. Axon Server verifies the server token on requests to register the handler. It needs to be a valid application token, with a role that allows registering that type of handler. For instance, to register a command handler, you need the token of an application to contain one of the following roles in Axon Server: SUBSCRIBE_COMMAND_HANDLER, WRITE, or USE_CONTEXT. If you are using Axon Synapse in combination with Axon Server Standard edition the token must be the token specified in the Axon Server axoniq.axonserver.accesscontrol.token property.","title":"Access Control","component":"synapse-reference","version":"v0.11","name":"access-control","url":"/synapse-reference/v0.11/access-control/","titles":[{"text":"Access to the Axon Synapse API","hash":"_access_to_the_axon_synapse_api","id":1},{"text":"Sending messages","hash":"_sending_messages","id":2},{"text":"Receiving messages","hash":"_receiving_messages","id":3}]},"205":{"id":205,"text":"","title":"Aggregates","component":"synapse-reference","version":"v0.11","name":"aggregates","url":"/synapse-reference/v0.11/aggregates/","titles":[]},"206":{"id":206,"text":"While these configuration options are still valid, please migrate to the new ones specified below. In future releases, these configuration options might no longer exists. Comma-separated list of Axon Servers. The property is deprecated. Please use synapse.axonServer.server-list instead. SYNAPSE_SERVERLIST localhost Whether Axon Server connection is TLS encrypted The property is deprecated. Please use synapse.axonServer.tlsEnabled instead. SYNAPSE_USETLS Path to the file with a certificate The property is deprecated. Please use synapse.axonServer.trustManagerFile instead. SYNAPSE_CERTIFICATECHAIN Comma-separated list of known Axon Server instances. See \"TLS for outgoing connections to AxonServer\" below for TLS settings SYNAPSE_AXONSERVER_SERVERLIST localhost:8124 gRPC max inbound message size SYNAPSE_AXONSERVER_MAXMESSAGESIZE 4MB HTTP port of Axon Server. See \"TLS for outgoing connections to AxonServer\" below for TLS settings SYNAPSE_AXONSERVERHTTP_PORT 8024 Path in Axon Server used to retrieve information about other synapse instances SYNAPSE_AXONSERVERHTTP_CLIENTSFORCOMPONENTENDPOINTSPATH v1/components/clients Synapse instance identifier as seen by the Axon Server SYNAPSE_CLIENTID JVM process name Synapse component name as seen by the Axon Server SYNAPSE_COMPONENTNAME synapse Synapse client component name as seen by the Axon Server SYNAPSE_CLIENTCOMPONENTNAME synapse-client Duration of inactivity, after which Synapse closes the connection to the Axon Server SYNAPSE_CONNECTIONTIMEOUT 30s The name of the default Axon Server context. It’s applied when the environment doesn’t provide context listing, for example, AS SE or AxonIQ Cloud. SYNAPSE_DEFAULTCONTEXT default Comma-separated list of Axon Server’s REST endpoints for fallback (applies for AS before 2023.0.0) SYNAPSE_HTTPENDPOINTS Context this synapse instance connects to SYNAPSE_INTERNAL_CONTEXT _admin Client id used by this synapse instance. Important if using multiple synapse instances. SYNAPSE_INTERNAL_CLIENTID unspecifiedSynapseInstance Component name used when contacting Axon Server. Should be the same for all synapse instances. SYNAPSE_INTERNAL_COMPONENTNAME synapse Whether Synapse configuration APIs expect clients to provide username/password combination or token SYNAPSE_AUTH_ENABLED false Axon Server access control token. Used by synapse to connect to AxonServer SYNAPSE_AUTH_TOKEN Encryption key for securing sensitive data. It’s not possible to change the key once set without recreating authentication objects. SYNAPSE_AUTH_SENSITIVEDATAENCRYPTIONKEY Whether to enable TLS for connections from synapse to Axon Server via gRPC SYNAPSE_AXONSERVER_TLSENABLED false File containing a trust manager for specifying trust for certificates presented by Axon Server via gRPC SYNAPSE_AXONSERVER_TRUSTMANAGERFILE Whether to enable TLS for connections from synapse to Axon Server via http SYNAPSE_AXONSERVERHTTP_TLSENABLED false File containing a trust manager for specifying trust for certificates presented by Axon Server via http SYNAPSE_AXONSERVERHTTP_TRUSTMANAGERFILE File containing a trust manager for specifying trust for certificates presented by client applications SYNAPSE_SYNAPSEHANDLERSHTTP_TRUSTMANAGERFILES Whether to enable TLS for connections coming to synapse SYNAPSE_SERVER_TLSENABLED false A file containing a key store. Synapse expects either PKCS12 or JKS as a file format SYNAPSE_SERVER_KEYSTOREFILE The password for the selected key store SYNAPSE_SERVER_KEYSTOREPASSWORD The type of the selected key store. Synapse expects either PKCS12 or JKS SYNAPSE_SERVER_KEYSTORETYPE Allowed origins as defined in Cross-Origin Resource Sharing (CORS) SYNAPSE_SECURITY_CORSALLOWEDORIGINS * The number of events the Synapse is pre-fetching SYNAPSE_EVENT_STREAMING_BUFFERSIZE 100 Interval at which Synapse tries to reconnect to Axon Server for subscribing to streams to receive updates for event handlers. SYNAPSE_EVENTHANDLER_SUBSCRIPTIONRETRYINTERVAL 2s Used storage backend. Valid values are axonserver and local. Refer to Storage. SYNAPSE_STORAGE_TYPE local Context to use when using axonserver as the storage backend SYNAPSE_STORAGE_CONTEXT synapse Component-name to use when using axonserver as the storage backend. Has to be the same on all Synapse instances. SYNAPSE_STORAGE_COMPONENTNAME synapse-storage Minimum amount of events an event-token (an event processor) needs to have progressed before it stores progress back to configuration. SYNAPSE_STORAGE_MINTOKENOFFSET 100 Authentication token used for the storage component to connect to Axon Server. This may be different from the system token used. SYNAPSE_STORAGE_TOKEN Interval at which Synapse retries to contact Axon Server for the first time to retrieve storage-related information. SYNAPSE_STORAGE_INITIALSUBSCRIPTION_RETRYINTERVAL 2s Interval at which Synapse retries to contact Axon Server to retrieve storage-related information. SYNAPSE_STORAGE_SUBSCRIPTION_RETRYINTERVAL 2s Ensure these properties are the same on all Synapse instances except you have good reasons to do otherwise. Whether or not to enable balancing of event handlers between synapse instances. Refer to High Availability. SYNAPSE_EVENTHANDLER_BALANCING_ENABLED false Timeout for contacting AS to discover synapse topology SYNAPSE_EVENTHANDLER_BALANCING_SYNAPSEDISCOVERY_TIMEOUT 3s Interval for retrying to contact AS to discover synapse topology SYNAPSE_EVENTHANDLER_BALANCING_SYNAPSEDISCOVERY_RETRYINTERVAL 3s Interval for polling new synapse discovery from AS. If zero, Synapse relies on topology updates via WebSocket instead of polling SYNAPSE_EVENTHANDLER_BALANCING_SYNAPSEDISCOVERY_POLLINTERVAL 0s Specifies the endpoint to use for the WS connection to detect topology updates SYNAPSE_EVENTHANDLER_BALANCING_WEBSOCKET_PLATFORMENDPOINT axonserver-platform-websocket Interval of attempting reconnects of the WS connection SYNAPSE_EVENTHANDLER_BALANCING_WEBSOCKET_RECONNECTINTERVAL 3s Inertia Synapse to changes in configuration. Synapse waits for at least the configured amount of time before applying a bunch of new changes. This allows Synapse to process multiple changes in one go SYNAPSE_EVENTHANDLER_BALANCING_HANDLERRUNINTERTIA 5s Name of the hashing function to use to decide which Synapse instance takes which handler. Valid values are MURMUR3_32, MURMUR3_128, SHA256, SHA512 SYNAPSE_EVENTHANDLER_BALANCING_CONSISTENTHASHINGFUNCTION MURMUR3_32","title":"Configuration","component":"synapse-reference","version":"v0.11","name":"configuration","url":"/synapse-reference/v0.11/configuration/","titles":[{"text":"Configuration properties","hash":"_configuration_properties","id":1},{"text":"Deprecated settings for Axon Server connection","hash":"_deprecated_settings_for_axon_server_connection","id":2},{"text":"synapse.server-list","hash":"_synapse_server_list","id":3},{"text":"synapse.use-tls","hash":"_synapse_use_tls","id":4},{"text":"synapse.certificate-chain","hash":"_synapse_certificate_chain","id":5},{"text":"Axon Server connection","hash":"_axon_server_connection","id":6},{"text":"synapse.axon-server.server-list","hash":"_synapse_axon_server_server_list","id":7},{"text":"synapse.axon-server.max-message-size","hash":"_synapse_axon_server_max_message_size","id":8},{"text":"synapse.axon-server-http.port","hash":"_synapse_axon_server_http_port","id":9},{"text":"synapse.axon-server-http.clients-for-component-endpoints-path","hash":"_synapse_axon_server_http_clients_for_component_endpoints_path","id":10},{"text":"synapse.client-id","hash":"_synapse_client_id","id":11},{"text":"synapse.component-name","hash":"_synapse_component_name","id":12},{"text":"synapse.client-component-name","hash":"_synapse_client_component_name","id":13},{"text":"synapse.connection-timeout","hash":"_synapse_connection_timeout","id":14},{"text":"synapse.default-context","hash":"_synapse_default_context","id":15},{"text":"Security","hash":"_security","id":16},{"text":"synapse.http-endpoints","hash":"_synapse_http_endpoints","id":17},{"text":"Authentication and authorization","hash":"_authentication_and_authorization","id":18},{"text":"synapse.internal.context","hash":"_synapse_internal_context","id":19},{"text":"synapse.internal.client-id","hash":"_synapse_internal_client_id","id":20},{"text":"synapse.internal.component-name","hash":"_synapse_internal_component_name","id":21},{"text":"synapse.auth.enabled","hash":"_synapse_auth_enabled","id":22},{"text":"synapse.auth.token","hash":"_synapse_auth_token","id":23},{"text":"synapse.auth.sensitive-data-encryption-key","hash":"_synapse_auth_sensitive_data_encryption_key","id":24},{"text":"TLS for outgoing connections to AxonServer","hash":"_tls_for_outgoing_connections_to_axonserver","id":25},{"text":"synapse.axon-server.tls-enabled","hash":"_synapse_axon_server_tls_enabled","id":26},{"text":"synapse.axon-server.trust-manager-file","hash":"_synapse_axon_server_trust_manager_file","id":27},{"text":"synapse.axon-server-http.tls-enabled","hash":"_synapse_axon_server_http_tls_enabled","id":28},{"text":"synapse.axon-server-http.trust-manager-file","hash":"_synapse_axon_server_http_trust_manager_file","id":29},{"text":"TLS for outgoing connections client applications","hash":"_tls_for_outgoing_connections_client_applications","id":30},{"text":"synapse.synapse-handlers-http.trust-manager-files","hash":"_synapse_synapse_handlers_http_trust_manager_files","id":31},{"text":"TLS for incoming connections","hash":"_tls_for_incoming_connections","id":32},{"text":"synapse.server.tls-enabled","hash":"_synapse_server_tls_enabled","id":33},{"text":"synapse.server.key-store-file","hash":"_synapse_server_key_store_file","id":34},{"text":"synapse.server.key-store-password","hash":"_synapse_server_key_store_password","id":35},{"text":"synapse.server.key-store-type","hash":"_synapse_server_key_store_type","id":36},{"text":"Other security related settings for synapse","hash":"_other_security_related_settings_for_synapse","id":37},{"text":"synapse.security.cors-allowed-origins","hash":"_synapse_security_cors_allowed_origins","id":38},{"text":"Events","hash":"_events","id":39},{"text":"synapse.event.streaming.buffer-size","hash":"_synapse_event_streaming_buffer_size","id":40},{"text":"synapse.event-handler.subscription.retry-interval","hash":"_synapse_event_handler_subscription_retry_interval","id":41},{"text":"Storage","hash":"_storage","id":42},{"text":"synapse.storage.type","hash":"_synapse_storage_type","id":43},{"text":"synapse.storage.context","hash":"_synapse_storage_context","id":44},{"text":"synapse.storage.component-name","hash":"_synapse_storage_component_name","id":45},{"text":"synapse.storage.min-token-offset","hash":"_synapse_storage_min_token_offset","id":46},{"text":"synapse.storage.token","hash":"_synapse_storage_token","id":47},{"text":"synapse.storage.initial-subscription.retry-interval","hash":"_synapse_storage_initial_subscription_retry_interval","id":48},{"text":"synapse.storage.subscription.retry-interval","hash":"_synapse_storage_subscription_retry_interval","id":49},{"text":"High availability","hash":"_high_availability","id":50},{"text":"synapse.event-handler.balancing.enabled","hash":"_synapse_event_handler_balancing_enabled","id":51},{"text":"synapse.event-handler.balancing.synapse-discovery.timeout","hash":"_synapse_event_handler_balancing_synapse_discovery_timeout","id":52},{"text":"synapse.event-handler.balancing.synapse-discovery.retry-interval","hash":"_synapse_event_handler_balancing_synapse_discovery_retry_interval","id":53},{"text":"synapse.event-handler.balancing.synapse-discovery.poll-interval","hash":"_synapse_event_handler_balancing_synapse_discovery_poll_interval","id":54},{"text":"synapse.event-handler.balancing.web-socket.platform-endpoint","hash":"_synapse_event_handler_balancing_web_socket_platform_endpoint","id":55},{"text":"synapse.event-handler.balancing.web-socket.reconnect-interval","hash":"_synapse_event_handler_balancing_web_socket_reconnect_interval","id":56},{"text":"synapse.event-handler.balancing.handler-run-inertia","hash":"_synapse_event_handler_balancing_handler_run_inertia","id":57},{"text":"synapse.event-handler.balancing.consistent-hashing-function","hash":"_synapse_event_handler_balancing_consistent_hashing_function","id":58}]},"207":{"id":207,"text":"Welcome to the Axon Synapse Reference documentation. A few important parts of this documentation: If you are looking for a quick start, refer to the Quick Start Guide To install synapse, refer to Installation docs. For your implementations of clients, refer to the API documentation.","title":"Axon Synapse Reference Documentation","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/","titles":[]},"208":{"id":208,"text":"Axon Synapse is available for download at https://download.axoniq.io/axonserver/axon-synapse.zip. The zip file contains Axon Synapse as an executable JAR file. Move the JAR file to your preferred location. Synapse reads configuration from the axonsynapse.properties file in the startup directory. You can also provide properties as parameters for the Java process, or as environment variables. The default HTTP port for Synapse is 8080. You can customize this by setting the server.port property. For Synapse to work it’s important that it can connect to Axon Server. To specify the location of the Axon Server nodes, specify the property synapse.server-list. This is a comma separated list of host names and optional port numbers. For example, to use 3 axon server nodes: synapse.server-list=axonserver1,axonserver2,axonserver3 For example, an axon server node using a custom gRPC port (not 8124): synapse.server-list=axonserver:7124 If you configure Axon Server to use transport layer security (TLS) for the gRPC communication, you need to perform additional steps to configure your installation. In this case, set the property synapse.use-tls to true. If Axon Server requires authentication, you need to specify a token that Synapse uses to connect to Axon Server for its internal tasks (like retrieving the existing contexts). Create the synapse.auth.token property. This token should have an ADMIN or VIEW_CONFIGURATION role to get all contexts from Axon Server, or it can have roles for specific contexts to only get those contexts. Please refer to the Configuration section for more information. To run Axon Synapse, open a terminal window, and cd to the folder where you moved the JAR file, and execute the JAR file. $ java -jar axon-synapse.jar You should see the following status message on the command terminal. Started Synapse in 5.268 seconds (JVM running for 6.321) You can access the Synapse admin interface using a browser at port 8080.","title":"Installation","component":"synapse-reference","version":"v0.11","name":"installation","url":"/synapse-reference/v0.11/installation/","titles":[{"text":"Download Axon Synapse","hash":"_download_axon_synapse","id":1},{"text":"Configuration","hash":"_configuration","id":2},{"text":"Run Axon Synapse","hash":"_run_axon_synapse","id":3}]},"209":{"id":209,"text":"Within Axon Server you can define multiple contexts. When registering handlers or sending messages you need to provide the name of the context this applies to. The context name is part of the URL used to send the request. The following URL demonstrates how to register a command handler in the orders context: http://{synapse-host-and-port}/v1/contexts/orders/handlers/commands To send a command to the finance context use a URL like this: http://{synapse-host-and-port}/v1/contexts/finance/commands/{command-name}","title":"Multi-Context","component":"synapse-reference","version":"v0.11","name":"multi-context","url":"/synapse-reference/v0.11/multi-context/","titles":[]},"210":{"id":210,"text":"The purpose of Axon Synapse is to help software developers design and build solutions. It’s an HTTP bridge between applications in any language and the Axon Server.","title":"High-Level Overview","component":"synapse-reference","version":"v0.11","name":"overview","url":"/synapse-reference/v0.11/overview/","titles":[]},"211":{"id":211,"text":"Any service available at an accessible URL can be a command handler. Synapse can send commands to such services via HTTP requests. The service must be able to handle requests containing commands. A command handler may return a response message or send a status without a body. Axon Synapse can send HTTP requests containing commands in two different ways. Each endpoint that registers as a command handler must support one of them. Axon Synapse serializes a single command directly into the HTTP request’s body when interacting with http-raw endpoints. It provides all other relevant information in the HTTP headers of the request: Content-Type AxonIQ-MessageId AxonIQ-CommandName AxonIQ-PayloadType AxonIQ-Priority Please refer to the API documentation for detailed information about the HTTP request structure. When interacting with http-message endpoints, Axon Synapse generates a JSON message that contains the serialized command and all information related to the command. It then sends that JSON message in the HTTP request’s body. Please refer to the API documentation for detailed information about the HTTP request structure. Command handlers must explicitly register in Axon Synapse to receive commands from Axon Server. There are two ways to register a command handler - using Synapse’s Web interface or through the Synapse HTTP API. In both cases, Axon Synapse needs the following information: Command names a list of names for the commands that this handler can handle Client ID unique id for the handler application instance Component name a logical name for the handler application HTTP Endpoint the URL of the handler Endpoint Type specifies whether the handler expects a raw or message request type Endpoint Options any key/value pairs that Axon Synapse should include in requests to the handler (as HTTP headers) Load Factor relative weight for this handler, if there are multiple handlers for a command, handlers with a higher load factor get a higher percentage of the requests. For a full list of parameters, including optional ones, please refer to the API documentation. To register a command handler via Axon Synapse UI, go to Command Handlers Register new command handler and fill in the form: To register a command handler via Axon Synapse API, send a JSON request to the respective endpoint. You can find detailed information about the endpoint in the API documentation. Below is a sample JSON request to register a handler: POST http://synapse:8080/v1/contexts/default/handlers/commands Content-Type: application/json { \"names\": [ \"local.application.client.Command\" ], \"endpoint\": \"https://client.application.local/v1/message\", \"endpointType\": \"http-raw\", \"endpointOptions\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"clientId\": \"application-name-7c78946494-p86ts\", \"componentName\": \"application-name\", \"loadFactor\": 100, \"concurrency\": 1, \"enabled\": true } For a given command handler, synapse allows you to specify the maximum amount of concurrent requests, Synapse calls your application with. You can achieve this by setting the maxConcurrency parameter for a given registration. Synapse does however never send you two concurrent requests for the same routing key. This allows you not to keep track of ordering of concurrent requests. However, this also might lead to lower rates of concurrent processing than specified in the maxConcurrency parameter. The decision-making whether Synapse may send a request concurrently, works in the following order: 1. ensure there are less than maxConcurrency requests already ongoing. 2. ensure there is no other request running for the current routingKey. While this may allow a lot of requests for the same routingKey block processing for commands of a different routing key that arrive later and Synapse could forward it, this approach the safest and most defensive one. Note that the maxConcurrency parameter refers to the maximum amount of concurrent requests. Depending on your routing key, your application might observe a lower amount of concurrency (see section above).","title":"Receiving Commands","component":"synapse-reference","version":"v0.11","name":"receiving-commands","url":"/synapse-reference/v0.11/receiving-commands/","titles":[{"text":"Endpoint types","hash":"_endpoint_types","id":1},{"text":"http-raw","hash":"_http_raw","id":2},{"text":"http-message","hash":"_http_message","id":3},{"text":"Registering command handlers","hash":"_registering_command_handlers","id":4},{"text":"Registering a command handler via Axon Synapse UI","hash":"_registering_a_command_handler_via_axon_synapse_ui","id":5},{"text":"Registering a command handler via Axon Synapse API","hash":"_registering_a_command_handler_via_axon_synapse_api","id":6},{"text":"Concurrency control","hash":"_concurrency_control","id":7}]},"212":{"id":212,"text":"Any service available at an accessible URL can be an event handler. Synapse can send events to such services via HTTP requests. The service must be able to handle requests containing events. Axon Synapse can send HTTP requests containing events in three different ways. Each endpoint that registers as an event handler must support one of them. Axon Synapse serializes a single event directly into the HTTP request’s body when interacting with http-raw endpoints. It provides all other relevant information in the HTTP headers of the request: Content-Type AxonIQ-MessageId AxonIQ-EventName AxonIQ-DateTime AxonIQ-Index AxonIQ-AggregateId AxonIQ-AggregateType AxonIQ-SequenceNumber Please refer to the API documentation for detailed information about the HTTP request structure. When interacting with http-message endpoints, Axon Synapse generates a JSON message that contains the serialized event and all information related to the event. It then sends that JSON message in the HTTP request’s body. Please refer to the API documentation (select application/json request body schema) for detailed information about the HTTP request structure. When interacting with http-list-of-messages endpoints, Axon Synapse generates a JSON message that contains a list of events. Each element includes a serialized event and all additional information relevant to the event. Please refer to the API documentation (select application/vnd.axoniq.event.list+json request body schema) for detailed information about the HTTP request structure. Event handlers must explicitly register in Axon Synapse to receive events from Axon Server. There are two ways to register an event handler - using Synapse’s Web interface or through the Synapse HTTP API. In both cases, Axon Synapse needs the following information: Event names a list of event type names that this handler can handle (when empty, the handler receives all events) Client ID unique ID for the handler application instance Component name a logical name for the handler application HTTP Endpoint the URL of the handler Endpoint Type specifies whether the handler expects a raw or message request type Endpoint Options any key/value pairs that Axon Synapse should include in requests to the handler (as HTTP headers) Batch size the maximum number of events that Synapse sends in one request to the handler if the endpoint type is http-list-of-messages. Start the global index of the first event to read from the event store (use 0 to start from the first event, use -1 to start from the last event) To register an event handler via Axon Synapse UI, go to Event Handlers Register new event handler and fill in the form: To register an event handler via Axon Synapse API, send a JSON request to the respective endpoint. You can find detailed information about the endpoint in the API documentation. Below is a sample JSON request to register a handler: POST http://synapse:8080/v1/contexts/default/handlers/events Content-Type: application/json { \"names\": [ \"local.application.client.Event\" ], \"endpoint\": \"https://client.application.local/v1/message\", \"endpointType\": \"http-raw\", \"endpointOptions\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"clientId\": \"application-name-7c78946494-p86ts\", \"componentName\": \"application-name\", \"batchSize\": 0, \"start\": 0, \"enabled\": true }","title":"Receiving Events","component":"synapse-reference","version":"v0.11","name":"receiving-events","url":"/synapse-reference/v0.11/receiving-events/","titles":[{"text":"Endpoint types","hash":"_endpoint_types","id":1},{"text":"http-raw","hash":"_http_raw","id":2},{"text":"http-message","hash":"_http_message","id":3},{"text":"http-list-of-messages","hash":"_http_list_of_messages","id":4},{"text":"Registering event handlers","hash":"_registering_event_handlers","id":5},{"text":"Registering an event handler via Axon Synapse UI","hash":"_registering_an_event_handler_via_axon_synapse_ui","id":6},{"text":"Registering an event handler via Axon Synapse API","hash":"_registering_an_event_handler_via_axon_synapse_api","id":7}]},"213":{"id":213,"text":"You can register handlers in Axon Synapse to receive messages via HTTP from Axon Server. Synapse supports three types of messages: Commands Queries Events In general, Synapse uses two forms to send HTTP requests to handlers: http-raw where the HTTP content is the actual payload of the message, and all additional information is in the HTTP headers (see Client Raw API for details) http-message, where the HTTP content is a JSON object containing the message and all the relevant information (see Client Message API for details)","title":"Receiving Messages","component":"synapse-reference","version":"v0.11","name":"receiving-messages","url":"/synapse-reference/v0.11/receiving-messages/","titles":[]},"214":{"id":214,"text":"Any service available at an accessible URL can be a query handler. Synapse can send events to such services via HTTP requests. The service must be able to handle requests containing queries and respond to them. Axon Synapse can send HTTP requests containing queries in two different ways. Each endpoint that registers as a query handler must support one of them. Axon Synapse serializes a single query directly into the HTTP request’s body when interacting with http-raw endpoints. It provides all other relevant information in the HTTP headers of the request: Content-Type AxonIQ-MessageId AxonIQ-QueryName AxonIQ-PayloadType Please refer to the API documentation for detailed information about the HTTP request structure. When interacting with http-message endpoints, Axon Synapse generates a JSON message containing the serialized query and all related information. It then sends that JSON message in the HTTP request’s body. Please refer to the API documentation for detailed information about the HTTP request structure. Query handlers must explicitly register in Axon Synapse to receive queries from Axon Server. There are two ways to register a query handler - using Synapse’s Web interface or through the Synapse HTTP API. In both cases, Axon Synapse needs the following information: Query names a list of names for the commands that this handler can handle Client ID unique ID for the handler application instance Component name a logical name for the handler application HTTP Endpoint the URL of the handler Endpoint Type specifies whether the handler expects a raw or message request type Endpoint Options any key/value pairs that Axon Synapse should include in requests to the handler (as HTTP headers) To register a query handler via Axon Synapse UI, go to Query Handlers Register new query handler and fill in the form: To register a query handler via Axon Synapse API, send a JSON request to the respective endpoint. You can find detailed information about the endpoint in the API documentation. Below is a sample JSON request to register a handler: POST http://synapse:8080/v1/contexts/default/handlers/queries Content-Type: application/json { \"names\": [ \"local.application.client.Query\" ], \"endpoint\": \"https://client.application.local/v1/message\", \"endpointType\": \"http-raw\", \"endpointOptions\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"clientId\": \"application-name-7c78946494-p86ts\", \"componentName\": \"application-name\", \"enabled\": true }","title":"Receiving Queries","component":"synapse-reference","version":"v0.11","name":"receiving-queries","url":"/synapse-reference/v0.11/receiving-queries/","titles":[{"text":"Endpoint types","hash":"_endpoint_types","id":1},{"text":"http-raw","hash":"_http_raw","id":2},{"text":"http-message","hash":"_http_message","id":3},{"text":"Registering query handlers","hash":"_registering_query_handlers","id":4},{"text":"Registering a query handler via Axon Synapse UI","hash":"_registering_a_query_handler_via_axon_synapse_ui","id":5},{"text":"Registering a query handler via Axon Synapse API","hash":"_registering_a_query_handler_via_axon_synapse_api","id":6}]},"215":{"id":215,"text":"Upgrade your Synapse installation to 0.10 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Synapse supports messages (event, command, and query) without body. The maximum size of a gRPC message can be specified through the synapse.axon-server.max-message-size property. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.10 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Event handler batching no longer sends one-sized batches, except for the first batch. Message identifier, payload revision and metadata are correctly propagated for queries and query responses. A query message handler isn’t required to return a body anymore. Axon Server connections are closed only after an inactivity timeout. This fixes an observable race condition. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.9 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. A command handler follows the concurrent execution restriction from the maxConcurrency attribute. The concurrency attribute is deprecated in favor of the maxConcurrency. The event.handler.threads property is deprecated and has no effect anymore. An Axon Server authorization token passed in the X-API-KEY header is uniformly propagated to Axon Server for all message types (event, command, and query) and message representations (payload as body and message as body). The synapse.auth.enabled property is no longer required to send a message with an authorization token in the X-API-KEY header. A potential StackOverflowError, which could occur during a reconnection to Axon Server, is fixed. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.8 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Query defaults to java.lang.Object for the responseType. Synapse doesn’t require the Axon Server to run during the startup. Synapse doesn’t initiate multiple synapse-storage connections to Axon Server when the original connection breaks. Fixed the issue of an event handler not always publishing processor information. Deleting a non-existing handler returns 204 No Content. Referencing a non-existent clientAuthenticationId or serverAuthenticationId returns 400 Bad Request. Exposing he first and last token of a context at the /v1/contexts/{context}/events endpoint. The dateTime of a message sent to a message handler follows the format of ISO 8601. A command message handler isn’t required to return a body anymore. Configure the Content-Type header for an event list handler to application/json through the property synapse.http.handlers.event.list.content-type=application-json. Payload revision is correctly propagated from a command response to the sender. Synapse supports the optional header AxonIQ-MessageId for specifying a message identifier for raw messages. Routing key is correctly propagated to command handlers. Context endpoint doesn’t return Axon Server internal contexts starting with the _ anymore. The endpoint /actuator/info provides the Synapse version. Resume event streaming to event handlers after Axon Server reconnection. Synapse is available as a docker image at axoniq/synapse. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.7 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Share Axon Server-based configuration storage among all Synapse instances. Event handler balancing across many Synapse instances. Date and time parsing improvement. The HTTP PUT method for creating or replacing a message handler doesn’t require the handler to exist. Sending a command or issuing a query that causes an error in a handler results in the 502 Bad Gateway response. Publishing a domain event with invalid sequenceNumber results in the 409 Conflict response. Property synapse.is-use-tls deprecated in favor of synapse.axon-server.tls-enabled. Property synapse.certificate-chain deprecated in favor of synapse.axon-server.trust-manager-file. Property synapse.server-list deprecated in favor of synapse.axon-server.server-list. Issuing a query to an Axon Framework-based query handler requires specifying responseType. Synapse won’t boot up when it can’t establish an initial connection to Axon Server. Synapse may initiate multiple synapse-storage connections to Axon Server when the original connection breaks. Returned error body doesn’t follow its OpenApi specification.","title":"Release Notes","component":"synapse-reference","version":"v0.11","name":"release-notes","url":"/synapse-reference/v0.11/release-notes/","titles":[{"text":"0.11.0 (15-07-2024)","hash":"_0_11_0_15_07_2024","id":1},{"text":"Upgrade instructions","hash":"_upgrade_instructions","id":2},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes","id":3},{"text":"Known issues","hash":"_known_issues","id":4},{"text":"0.10.0 (16-02-2024)","hash":"_0_10_0_16_02_2024","id":5},{"text":"Upgrade instructions","hash":"_upgrade_instructions_2","id":6},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_2","id":7},{"text":"Known issues","hash":"_known_issues_2","id":8},{"text":"0.9.0 (19-01-2024)","hash":"_0_9_0_19_01_2024","id":9},{"text":"Upgrade instructions","hash":"_upgrade_instructions_3","id":10},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_3","id":11},{"text":"Known issues","hash":"_known_issues_3","id":12},{"text":"0.8.0 (15-09-2023)","hash":"_0_8_0_15_09_2023","id":13},{"text":"Upgrade instructions","hash":"_upgrade_instructions_4","id":14},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_4","id":15},{"text":"Known issues","hash":"_known_issues_4","id":16},{"text":"0.7.0 (08-08-2023)","hash":"_0_7_0_08_08_2023","id":17},{"text":"Upgrade instructions","hash":"_upgrade_instructions_5","id":18},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_5","id":19},{"text":"Known issues","hash":"_known_issues_5","id":20},{"text":"0.6.2 (19-04-2023)","hash":"_0_6_2_19_04_2023","id":21}]},"216":{"id":216,"text":"Any application that can not connect directly to Axon Server can still send commands through Axon Synapse’s HTTP APIs. This document explains the two ways to do so. Axon Server routes commands based on a routing key in the request. If multiple handlers exist for the same command, Axon Server sends requests with the same routing key to the same handler. Command handlers often rely on the routing consistency provided by routing keys to cache data between requests. You can only pass metaData using the http-message endpoint. The http-raw endpoint doesn’t provide a way to do so. The http-raw endpoint URL path follows the /v1/context/[contextName]/commands/[commandName] pattern. The content of the HTTP request is the serialized command. The sender may provide additional information through HTTP headers. There is one required header: Content-Type: the serialization type for the context The following headers are optional: AxonIQ-PayloadType: defines the type of the payload (if missing, the command name as the payload type) AxonIQ-Priority: priority of the request (default is 0, a higher value means higher priority) AxonIQ-RoutingKey: the key used for routing (auto-generated if missing) The code below represents a sample request to the http-raw endpoint sending an io.axoniq.demo.giftcard.api.IssueCardCommand. POST http://synapse:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.IssueCardCommand Content-Type: application/xml sample-card-5 110 When Axon Synapse processes this HTTP request, it sends the command to Axon Server on behalf of the client application. Axon Server then delegates the command to a command handler registered in the default context. For more details about the http-raw endpoint, please refer to the Send Command API docs. The http-message endpoint URL path follows the /v1/context/[contextName]/commands pattern. The content of the HTTP request is a JSON message containing all the information for a single command. Below is the above request in http-message form. POST http://synapse:8080/v1/contexts/default/commands Content-Type: application/json { \"payload\": \"sample-card-5110\" \"name\": \"io.axoniq.demo.giftcard.api.IssueCardCommand\" } The message may contain additional optional fields like payloadType, routingKey, priority, and metaData. The serialization format of the query object must match the serialization the query handler expects. Even though the HTTP payload is JSON, if the query handler expects XML, the payload must be XML. If the handler expects a JSON serialized payload, the request would be: POST http://synapse:8080/v1/contexts/default/commands Content-Type: application/json { \"payload\": { \"id\": \"sample-card-5\", \"amount\": 110 }, \"name\": \"io.axoniq.demo.giftcard.api.IssueCardCommand\" } For more details about the http-raw endpoint, please refer to the Send Command Message API docs.","title":"Sending Commands","component":"synapse-reference","version":"v0.11","name":"sending-commands","url":"/synapse-reference/v0.11/sending-commands/","titles":[{"text":"The http-raw endpoint","hash":"_the_http_raw_endpoint","id":1},{"text":"Message endpoint","hash":"_message_endpoint","id":2}]},"217":{"id":217,"text":"Any application that can not connect directly to Axon Server can still send events to it through Axon Synapse’s HTTP APIs. This document explains the three ways to do so. You can only pass metaData using the http-message or http-list-of-messages endpoints. The http-raw endpoint doesn’t provide a way to do so. The http-raw endpoint URL path follows the /v1/context/[contextName]/events/[eventName] pattern. The content of the HTTP request is the serialized event. The sender may provide additional information through HTTP headers. There is one required header: Content-Type: the serialization type for the context The following headers are optional: AxonIQ-AggregateId: AxonIQ-AggregateType: AxonIQ-SequenceNumber: AxonIQ-DateTime: The code below represents a sample request to the http-raw endpoint sending a local.application.client.Event. POST http://synapse:8080/v1/contexts/default/events/local.application.client.Event Content-Type: application/json AxonIQ-AggregateId: 901aa5ce-b281-4788-97f2-2be7f236dde6 AxonIQ-AggregateType: Aggregate AxonIQ-SequenceNumber: 0 AxonIQ-DateTime: 2022-09-22T21:37:00.000+00:00 { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"New customer created\" } When Axon Synapse processes this HTTP request, it publishes an event to the Axon Server on behalf of the client application. Axon Server stores the event in the default context of the event store as specified in the request’s URL. For more details about the http-raw endpoint, please refer to the Publish Event API docs. The http-message endpoint URL path follows the /v1/context/[contextName]/events pattern. The content of the HTTP request is a JSON message containing all the information for a single event. Below is the above request in http-message form. POST http://synapse:8080/v1/contexts/default/events Content-Type: application/json { \"payload\": { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"New customer created\" }, \"name\": \"local.application.client.Event\", \"aggregateId\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"aggregateType\": \"Aggregate\", \"sequenceNumber\": 0, \"dateTime\": \"2022-09-22T21:37:00.000+00:00\" } The JSON payload may contain additional optional fields such as metaData. Again when Axon Synapse receives such an HTTP request, it publishes an event to Axon Server on behalf of the client application, which stores it in the default context. For more details about the http-message endpoint, please refer to the Publish Event Message API docs (select application/json request body schema). This is technically the same endpoint as http-message one above. It uses the same URL path pattern of /v1/context/[contextName]/events. The difference is in the content type. While for the http-message, it’s application/json, and for the http-list-of-messages, it’s application/vnd.axoniq.event.list+json. This content type indicates the JSON payload is a list (named items) of events instead of a single event. Below is a sample request in http-list-of-messages form. POST http://synapse:8080/v1/contexts/default/events Content-Type: application/vnd.axoniq.event.list+json { \"items\": [ { \"payload\": { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"New customer created\" }, \"name\": \"local.application.client.Event\", \"aggregateId\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"aggregateType\": \"Aggregate\", \"sequenceNumber\": 0, \"dateTime\": \"2022-09-22T21:37:00.000+00:00\" }, { \"payload\": { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"Customer moved\" }, \"name\": \"local.application.client.Event\", \"aggregateId\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"aggregateType\": \"Aggregate\", \"sequenceNumber\": 1, \"dateTime\": \"2022-09-22T21:37:01.000+00:00\" } ] } When Axon Synapse receives such an HTTP request, it publishes the event to Axon Server on behalf of the client application. For more details about the http-list-of-messages endpoint, please refer to the Publish Event Message API docs (select application/vnd.axoniq.event.list+json request body schema).","title":"Sending Events","component":"synapse-reference","version":"v0.11","name":"sending-events","url":"/synapse-reference/v0.11/sending-events/","titles":[{"text":"The http-raw endpoint","hash":"_the_http_raw_endpoint","id":1},{"text":"The http-message endpoint","hash":"_the_http_message_endpoint","id":2},{"text":"The http-list-of-messages endpoint","hash":"_the_http_list_of_messages_endpoint","id":3}]},"218":{"id":218,"text":"You can use Axon Synapse to send messages to Axon Server via HTTP requests. Synapse supports three types of messages: Commands Queries Events In general, you can use two forms to send these requests to Synapse: http-raw where the HTTP content is the actual payload of the message, and all additional information is in the HTTP headers http-message, where the HTTP content is a JSON object containing the message together with all the relevant information For the operations on the requests to send messages, check the Axon Synapse API.","title":"Sending Messages","component":"synapse-reference","version":"v0.11","name":"sending-messages","url":"/synapse-reference/v0.11/sending-messages/","titles":[]},"219":{"id":219,"text":"Any application that can not connect directly to Axon Server can still send queries to it through Axon Synapse’s HTTP APIs. This document explains the two ways to do so. Axon Synapse only supports request-response queries. It’s unable to take care of scatter-gather and subscription queries at this moment. You can only pass metaData using the http-message endpoint. The http-raw endpoint doesn’t provide a way to do so. The http-raw endpoint URL path follows the /v1/context/[contextName]/queries/[queryName] pattern. The content of the HTTP request is the serialized query. The sender may provide additional information through HTTP headers. There is one required header: Content-Type: the serialization type for the context The following headers are optional: AxonIQ-PayloadType: defines the type of the payload (if missing, the command name is the payload type) AxonIQ-ResponseType: the expected response type (required when the handler uses Axon Framework) AxonIQ-ResponseCount: use MULTIPLE to indicate that the query handler can return multiple instances of the response type The code below represents a sample request to the http-raw endpoint sending an io.axoniq.demo.giftcard.api.FetchCardSummariesQuery. POST http://synapse:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.FetchCardSummariesQuery Content-Type: application/xml AxonIQ-ResponseType: io.axoniq.demo.giftcard.api.CardSummary AxonIQ-ResponseCount: MULTIPLE 0 100 When Axon Synapse processes this HTTP request, it sends the query to Axon Server on behalf of the client application. Axon Server then delegates the query to a query handler registered in the default context. When the handler responds with a zero or more io.axoniq.demo.giftcard.api.CardSummary objects, Axon Synapse serializes the payload and sends it back in the response payload of the HTTP request. For more details about the http-raw endpoint, please refer to the Send Query API docs. The http-message endpoint URL path follows the /v1/context/[contextName]/queries pattern. The content of the HTTP request is a JSON message containing all the information for a single query. Below is the above request in http-message form. POST http://synapse:8080/v1/contexts/default/queries Content-Type: application/json { \"payload\": \"0100\" \"name\": \"io.axoniq.demo.giftcard.api.FetchCardSummariesQuery\", \"responseType\": \"io.axoniq.demo.giftcard.api.CardSummary\" } The message may contain additional optional fields like payloadType and metaData. You can use the payloadType field to specify the payload type in cases where the query name doesn’t equal the payload type for the query message. The serialization format of the query object must match the serialization the query handler expects. Even though the HTTP payload is JSON, if the query handler expects XML, the payload must be to XML. If the handler expects a JSON serialized payload, the request would be: POST http://synapse:8080/v1/contexts/default/commands Content-Type: application/json { \"payload\": { \"offset\": 0, \"limit\": 100 }, \"name\": \"io.axoniq.demo.giftcard.api.FetchCardSummariesQuery\", \"responseType\": \"io.axoniq.demo.giftcard.api.CardSummary\" } For more details about the http-raw endpoint, please refer to the Send Query Message API docs.","title":"Sending Queries","component":"synapse-reference","version":"v0.11","name":"sending-queries","url":"/synapse-reference/v0.11/sending-queries/","titles":[{"text":"The http-raw endpoint","hash":"_the_http_raw_endpoint","id":1},{"text":"The http-message endpoint","hash":"_the_http_message_endpoint","id":2}]},"220":{"id":220,"text":"Configuring HA for Synapse involves multiple configuration options. For a conceptual overview of how HA works in Synapse, refer to High Availability. # You need to have selected axonserver as your storage implementation. You can achieve this by setting the synapse.storage.type property. Refer to Storage and Configuration for details. The most important steps used for configuring HA in Synapse are the following. For a full list of available properties, refer to Configuration. Tell Synapse to use AxonServer as your storage backend by setting synapse.storage.type=axonserver Enable load balancing of event handlers by setting synapse.event-handler.balancing.enabled=true If you encounter stability or performance problems, refer to Configuration to adjust settings like the used hash function and means of discovering available synapse settings.","title":"HA Configuration","component":"synapse-reference","version":"v0.11","name":"ha-config","url":"/synapse-reference/v0.11/ha/ha-config/","titles":[{"text":"Storage","hash":"_storage","id":1},{"text":"High availability","hash":"_high_availability","id":2}]},"221":{"id":221,"text":"Synapse does support high availability (HA). This page explains how the HA features in Synapse work. To see how to configure them, refer to HA Configuration. For using HA, you need to have selected AxonServer as a means of storing your Synapse configuration. Refer to Storage on how to do this. Whilst it’s possible to simply run multiple independent Synapse instances without shared configuration, this is highly discouraged and generally regarded as a bad idea. Using HA in Synapse does provide you with the following: Tolerate individual Synapse instances to go down for maintenance or crash Provide a way for the different handler types to balance themselves and be re-assigned when a Synapse instance goes down. Synapse handles the different handler types in different ways: Each Synapse instance registers all configured command handlers with AxonServer. AxonServer then makes sure to send the commands to the correct handler instance via the Synapse instance used to register the handler. To prevent duplication of events as far as possible, Synapse instances cooperate to register event handlers only from one Synapse instance. This allows your client application to receive events from only one Synapse instance, as long as the topology doesn’t change. When changing synapse instances, you may see slight duplication of events delivered. This is normal and unavoidable. When topology changes (for example when a Synapse instance crashes or a new one appears), handlers are re-assigned to available Synapse instances according to a consistent hashing algorithm. This makes sure that if a Synapse instance goes down, other instances pick up the now unassigned event handlers. As with Command Handlers, each Synapse instance registers all configured query handlers with AxonServer. Again, AxonServer then makes sure to send the queries to the correct client application. To be fully high-available, it’s not enough to have Synapse set to HA. One should take the following aspects into consideration. Synapse instances (and other client applications directly connecting to AxonServer, like AxonFramework applications) should have the addresses of all primary AxonServer nodes in the cluster configured. This allows them to reconnect if an AxonServer node were to go down. Using the AxonServer as storage implementation and enabling HA allows you to tolerate synapse nodes going down and the remaining ones taking over. If you use Synapse to publish events, commands or queries, make sure that your client applications know all available Synapse instances and can retry if one should go down. Alternatively, add a reverse proxy with multiple upstream destinations for the publish endpoints. Further, have your client applications run in a highly available manner. If Synapse is available but your client application goes down, you didn’t win much in regards to availability. Further, since registered handlers in Synapse only can have one configured URL, make sure to place a reverse proxy with multiple upstream destinations in between Synapse and the client applications it’s calling. Thereby, synapse can retry calling endpoints if one of the instances of your client application were to go down.","title":"High Availability","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/ha/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"What HA in synapse covers","hash":"_what_ha_in_synapse_covers","id":2},{"text":"Command handlers","hash":"_command_handlers","id":3},{"text":"Event handlers","hash":"_event_handlers","id":4},{"text":"Query handlers","hash":"_query_handlers","id":5},{"text":"Infrastructure","hash":"_infrastructure","id":6},{"text":"Axon server","hash":"_axon_server","id":7},{"text":"Synapse","hash":"_synapse","id":8},{"text":"Client applications","hash":"_client_applications","id":9}]},"222":{"id":222,"text":"","title":"","component":"synapse-reference","version":"v0.11","name":"client-message","url":"/synapse-reference/v0.11/openapi/client-message/","titles":[]},"223":{"id":223,"text":"","title":"","component":"synapse-reference","version":"v0.11","name":"client-raw","url":"/synapse-reference/v0.11/openapi/client-raw/","titles":[]},"224":{"id":224,"text":"Axon Synapse communicates with third-party applications via HTTP (a.k.a. RESTful) APIs. It uses the OpenAPI Specification to define the methods and types available in those APIs. This is the API third-party applications use to communicate with an Axon Synapse instance. It provides means to sends commands, queries, and events register command handlers, query handlers, and event handlers obtain all events associated with an aggregate The Axon Synapse API page contains the documentation for this API. The Client API comes in two flavors. Both specify the payload client applications should expect when Axon Synapse sends messages to them. Clients specify the actual endpoints and which API type Synapse should use when they register. When a third-party application registers a client handler, it may specify http-message as endpointType. In such a case, Axon Synapse sends a JSON object. It places the message (command, query, event) payload in that object’s payload field. See Client Message API page for the complete structure of those messages. When a third-party application registers a client handler, it may specify http-raw as endpointType. In such a case, Axon Synapse sends the actual message (command, query, event) as payload and all the relevant information in HTTP headers. See Client Raw API page for the complete structure of those messages.","title":"Open API Documentation","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/openapi/","titles":[{"text":"Synapse API","hash":"_synapse_api","id":1},{"text":"Client API","hash":"_client_api","id":2},{"text":"Client API - message","hash":"_client_api_message","id":3},{"text":"Client API - raw","hash":"_client_api_raw","id":4}]},"225":{"id":225,"text":"","title":"","component":"synapse-reference","version":"v0.11","name":"synapse","url":"/synapse-reference/v0.11/openapi/synapse/","titles":[]},"226":{"id":226,"text":"Synapse currently does support two ways of storing data: Locally in an embedded database In AxonServer Since HA does require you to use AxonServer as the storage backend, also refer to High Availability. When switching between storage types, you lose the stored configuration. Synapse allows you to select the used storage implementation by configuring the property synapse.storage.type. The only valid values are axonserver and local. When using local storage (synapse.storage.type=local), Synapse stores all its configuration in its own local embedded database. Your specific Synapse instance utilizes these settings, which are unique for your instance. When using AxonServer as the storage implementation (synapse.storage.type=axonserver), Synapse uses a context in the specified AxonServer to store its configuration. It also uses the local embedded database to keep a representation of the current state. Using AxonServer storage does require you to have multiple contexts in your AxonServer, which in turn requires you to have valid license for AxonServer. Many synapse instances can share the configuration stored when using AxonServer as the storage implementation. Refer to High Availability to find out more about this feature. When connecting to AxonServer, Synapse may need to authenticate itself. To allow for a fine-grained Access Control List, configure a separate token used for connecting to the storage context. Use the property synapse.storage.token. Further, you may need to change the used context for storing Synapse configuration in. Use the property: synapse.storage.context. To see all supported configuration options, refer to Configuration It currently isn’t possible to switch between storage types whilst keeping your Synapse data. To achieve reproducible and easier-to-migrate setups, consider setting up the configuration in an automated way. This allows you, should you decide to switch storage types, to wipe the Synapse storage, change the used implementation and then use your automation to re-create the configuration. If you want to change the used implementation, you have to remove the Synapse database file (axon-synapse.mv.db by default) before changing the settings. This results in loss of the stored configuration.","title":"Storage","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/storage/","titles":[{"text":"Selecting the used storage type","hash":"_selecting_the_used_storage_type","id":1},{"text":"Local storage","hash":"_local_storage","id":2},{"text":"Axon Server storage","hash":"_axon_server_storage","id":3},{"text":"Switching storage types","hash":"_switching_storage_types","id":4}]},"227":{"id":227,"text":"The AxonIQ Console is an advanced management platform designed to maximize the effectiveness of applications developed with Axon Framework and supported through Axon Server. It facilitates near-zero configuration and provides a single platform for insight, management, control, and reporting of your application infrastructure. This manual serves as a guide for engineers, developers, and system administrators who aim to leverage AxonIQ Console to oversee their message-driven systems built with AxonIQ technologies. The Console is crafted to cater to users who seek a graphical interface for an intuitive and comprehensive overview of their systems.","title":"AxonIQ Console Getting Started Guide","component":"axoniq-console-getting-started","version":"main","name":"index","url":"/axoniq-console-getting-started/main/","titles":[{"text":"Introducing AxonIQ Console","hash":"_introducing_axoniq_console","id":1},{"text":"Purpose and intended audience","hash":"_purpose_and_intended_audience","id":2}]},"228":{"id":228,"text":"Administrators have the capability to add and remove access tokens used by the Console, as shown in the image below. The \"Access Token\" section provides a list of the current Access Tokens that have been created with the option to configure or remove them entirely. The tokens should be set in the properties of applications or Axon Server nodes that want to connect with your Environment. The tokens should be set in the properties of applications or Axon Server nodes that want to connect with your Environment. Hence, the Access Tokens page allows administrators to configure these.","title":"Access Tokens","component":"axoniq-console-getting-started","version":"main","name":"access-tokens","url":"/axoniq-console-getting-started/main/ac-as-superuser/access-tokens/","titles":[]},"229":{"id":229,"text":"The \"Applications\" section provides a list of the applications that have been discovered by the Console and provides administrators the ability to view the application name, the number of clients, as well as the option to remove it from the Console. Note: Removing an application from the Console only removes it from your Environment. Hence, the application itself will remain running.","title":"Applications","component":"axoniq-console-getting-started","version":"main","name":"applications","url":"/axoniq-console-getting-started/main/ac-as-superuser/applications/","titles":[]},"230":{"id":230,"text":"AxonIQ Console is a robust tool designed to aid in the management of message-driven systems. It stands as a testament to AxonIQ’s commitment to evolving its products to meet the needs of its users. Administrators have the ability to manage the applications, servers, and access tokens within the Console in order to have direct visibility of their applications and services using AxonIQ technologies.","title":"Conclusion","component":"axoniq-console-getting-started","version":"main","name":"conclusion","url":"/axoniq-console-getting-started/main/ac-as-superuser/conclusion/","titles":[]},"231":{"id":231,"text":"Owners and Administrators have special privileges in order to manage their Workspace. This includes the capability to add and delete users, servers, and applications, and to manage access tokens. To manage the Console as an administrator, click on the \"Settings\" tab.","title":"Using The \"Settings\" Tab To Manage The AxonIQ Console","component":"axoniq-console-getting-started","version":"main","name":"settings-tab","url":"/axoniq-console-getting-started/main/ac-as-superuser/settings-tab/","titles":[]},"232":{"id":232,"text":"After logging in to AxonIQ Console and selecting an Environment in one of your Workspaces, you will be presented with the AxonIQ Console dashboard, which contains a tab to show the information from your Axon Server Cluster. Click on that last tab to access the Axon Server panel. If you have never set up or run Axon Server before, then the panel will show you a summary of the various options you have for running Axon Server and connecting it to AxonIQ Console To set up a new instance node or cluster of Axon Server, click the blue button on the left side of the screen titled “How Can I Install Axon Server?”. The tab content will now display various options for running your Axon Server instance or cluster. Depending on your preferred method of running Axon Server, click on the blue button and the page will provide the information you need to quickly get a new instance of Axon Server up and running. Follow the steps and configure your Axon Server instance or cluster according to the instructions. When you are finshed, launch your local Axon Server instance or cluster. Once you have your local Axon Server starter you need to enable the plan to monitor Axon Server in AxonIQ Console. Select the plan that best meets your needs from the table. If you are evaluating AxonIQ Console, simply click the \"Choose Developer\" button, which is sufficient to connect a standalone Axon Server instance. After selecting your plan, you will see the panel content change to display information about the status of your various Axon Server nodes. Depending on your plan and the number of nodes in your Axon Server cluster, you will see the information provided by the connected nodes. More information on how to setup Axon Server clusters for Production use can be found below: Local installation of Axon Server, Non-Clustered and Clustered Setting Up and Managing Clusters of Axon Server","title":"Installing A New Instance Of Axon Server","component":"axoniq-console-getting-started","version":"main","name":"installing-instance-as","url":"/axoniq-console-getting-started/main/ac-gs-deploy-axonserver/installing-instance-as/","titles":[{"text":"Setting up your local Axon Server to connect to AxonIQ Console","hash":"_setting_up_your_local_axon_server_to_connect_to_axoniq_console","id":1},{"text":"Activating your Axon Server plan in AxonIQ Console","hash":"_activating_your_axon_server_plan_in_axoniq_console","id":2},{"text":"Additional information to setup Axon Server cluster","hash":"_additional_information_to_setup_axon_server_cluster","id":3}]},"233":{"id":233,"text":"In order to begin using AxonIQ Console, navigate to the following URL: https://console.axoniq.io You will be presented with the AxonIQ Console login screen. Authenticate with your preferred sign-in method and your valid credentials.","title":"Accessing AxonIQ Console","component":"axoniq-console-getting-started","version":"main","name":"access","url":"/axoniq-console-getting-started/main/ac-gs-setup/access/","titles":[]},"234":{"id":234,"text":"Environments play a crucial role for both Axon Server instances and Axon Framework applications. For apps that utilize Axon Framework, they report their metrics within the Environment itself. When using Axon Server, all server instances with the Environment can be discovered, viewed, and managed. Environments allow you to specify deployment scenarios such as: Development Testing Pre-production Production Therefore, Environments are extremely versatile logical groupings for your Axon Server instances. For example, if you want to separate your Axon Server instances by geographic regions, you can name them according to their location, such as: North America Europe Asia Rest of the World The best practice is to specify a name for the Environment with an idea of other Environments that you may want to create in the future.","title":"Environments in AxonIQ Console","component":"axoniq-console-getting-started","version":"main","name":"environments","url":"/axoniq-console-getting-started/main/ac-gs-setup/environments/","titles":[]},"235":{"id":235,"text":"On the right aisw of the 'Start' tab in the dasboard, you’ll see a panel that allows you to give us some feedback. Apart from rating your experience with AxonIQ Console, if you have questions, comments, or suggestions for improvement of the AxonIQ Console, we encourage you to go to our Discuss platform and join the conversations with us and the rest of AxonIQ Console users. To access our Discuss platform (the AxonIQ Console forums), you can click on the 'Disucss Platform' link in the feedback panel or you can click on the 'Discuss' button shown at the top header in any page of AxonIQ Console. We’ve made AxonIQ Console to be simple, straightforward, and easy to use. The Console is designed to consolidate a lot of information contained in your systems that use Axon Framework, Axon Server, or both. Therefore, be sure to mouse over the entries in the tables of AxonIQ Console for additional details and context.","title":"We Value Your Feedback!","component":"axoniq-console-getting-started","version":"main","name":"feedback","url":"/axoniq-console-getting-started/main/ac-gs-setup/feedback/","titles":[{"text":"Final note: Be sure to follow the tooltips!","hash":"_final_note_be_sure_to_follow_the_tooltips","id":1}]},"236":{"id":236,"text":"The AxonIQ Console is an advanced management platform designed to maximize the effectiveness of applications developed with Axon Framework and supported through Axon Server. It facilitates near-zero configuration and provides a single platform for insight, management, control, and reporting of your application infrastructure. This manual serves as a guide for engineers, developers, and system administrators who aim to leverage AxonIQ Console to oversee their message-driven systems built with AxonIQ technologies. The Console is crafted to cater to users who seek a graphical interface for an intuitive and comprehensive overview of their systems.","title":"Connect And Setup AxonIQ Console Access","component":"axoniq-console-getting-started","version":"main","name":"index","url":"/axoniq-console-getting-started/main/ac-gs-setup/","titles":[{"text":"Introducing AxonIQ Console","hash":"_introducing_axoniq_console","id":1},{"text":"Purpose and intended audience","hash":"_purpose_and_intended_audience","id":2}]},"237":{"id":237,"text":"As a first-time user, you will be presented with a 3-step process to set up your account. As shown below, the first step after successful authentication is to provide basic information about yourself and your company. Provide the necessary information, read and accept the \"AxonIQ Service Subscription Aggreement\" and click the \"Continue\" button. Once you have created your account, you will have the option to connect your own Axon application or, if you don’t have an Axon application ready to connect to AxonIQ Console, we also offer you the option to run our \"Bike Rental Demo\" application through a docker-compose file that is already configured to connect to and be monitored by AxonIQ Console. You can also learn a little bit more about the different tools that Axon provides and how they are related. Click on the \"Connect My Application\" button to continue setting up your account. One of the most important aspects of AxonIQ Console is your Workspace. Workspaces are collections of users and environments that allow teams and departments to define an instance (or group of instances) of AxonIQ technologies. You can start by creating a workspace using the name of your project. After setting up your Workspace or project, the next step is to connect your Axon Framework-based application, so that it can be monitored by AxonIQ Console. The process to connect your application built with Axon Framework and/or Axon Server depends a little bit on whether your application is built with Axon Framework using plain Java, or if you have an Axon Framework application built with Spring Boot. Click on the option that matches your case and follow the instructions to configure your application. At the end you will be see a screen waiting for you to run your application and connect to AxonIQ Console. After you run the application (or applications), you will see a page with the confirmation of the connected applications. Click on the 'Go to My Workspace' button to access the AxonIQ Console dashboard.","title":"First Time Setup","component":"axoniq-console-getting-started","version":"main","name":"setting-up-your-account","url":"/axoniq-console-getting-started/main/ac-gs-setup/setting-up-your-account/","titles":[{"text":"Part 1. Setting up your account","hash":"_part_1_setting_up_your_account","id":1},{"text":"Part 2. Setting up your workspace","hash":"_part_2_setting_up_your_workspace","id":2},{"text":"Part 3. Connect your application","hash":"_part_3_connect_your_application","id":3}]},"238":{"id":238,"text":"Now that you have successfully specified your workspace and environment, the home screen for the AxonIQ Console dashboard is shown below. The AxonIQ Console Dashboard arranges the information collected from your Axon applications in several different tabs. Each of those tabs is focused on showing a specific part of the behaviour of your application. The 'Start' Tab shows a summary of the Axon Framework applications connected and also information about any Axon Server instances connected. For now, we only have connected a couple of Axon Framework applications. We will see in a later section how to connect an Axon Server instance to our AxonIQ Console dashboard. In case you did not connect any applications, the 'Start' tab on the AxonIQ Console dashboard, will show a panel with instructions to connect your Axon Framework applications or run our \"Bike Rental Demo\" application, which is already prepared for you to run and connect with AxonIQ Console. The AxonIQ Console provides different capabilities depending upon if you are using Axon Framework or Axon Server. Choose the guide below depending on your needs: Using AxonIQ Console to Manage and Deploy Axon Server Using AxonIQ Console to Monitor Axon Framework Applications Managing AxonIQ Console Itself as the Super User","title":"Success! Your AxonIQ Console Dashboard","component":"axoniq-console-getting-started","version":"main","name":"success","url":"/axoniq-console-getting-started/main/ac-gs-setup/success/","titles":[]},"239":{"id":239,"text":"The Aggregates tab lists the Aggregates within your Workspace and Environment. So, what exactly is an Aggregate? In the context of the Axon Framework, an Aggregate is a logical group of domain objects that can be treated as a single unitin regards to data changes. In doing so, they reflect the class’ that are configured as aggregates (for example through the @Aggregate annotation) in your application. Using AxonIQ Console, developers can get the necessary insight into all the aggregates defined within their system, including their types and instances. As shown in the table above, developers can also see which aggregates are defined per application. Click on any row in the table to get more details on the statistics of the selected Aggregate, just as with Processors. The aggergate detail view has two main areas: At the top there is a table that allows you to choose to display a list of handlers defined for the aggregate, a list of message sources for the aggregate, or a list of message destinations for the aggregate. Clicking on any row in this table will take you to the Handler Details view in the AxoniQ Console 'Handler Insights' tab. At the bottom you will find some graphs showing statistics on the performance of the aggregate over the last few minutes or hours. In this area, you can find graphs showing the message rate, total processing time, or handler execution time, among others. Clicking on any of the graphs will bring it to the front in bigger size. In addition to the specific details for the aggregate, there is a panel on the right side of the tab that displays the alerts detected for this aggregate, if any. This section also includes a button to configure the conditions under which alerts are triggered for this particular aggregate. Without specifying a rule for a specific metric, the environment-wide default for aggregates applies, which can be configured in the Monitoring tab. If you create a specific condition for this aggregate in this configuration section, this aggregate will ignore the environment-wide conditions. The panel also displays, under the 'Environment conditions' section, the list of rules defined to trigger an alert for all the agregates found in any application connected to this environment. The conditions defined in this panel apply only to the specific aggregate selected in the Aggregates tab. If you want to configure alerts for all aggregates found in any application connected to this environment, you should use the Monitoring tab.","title":"The \"Aggregates\" Tab","component":"axoniq-console-getting-started","version":"main","name":"aggregates-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/aggregates-tab/","titles":[{"text":"Aggregate details","hash":"_aggregate_details","id":1},{"text":"Aggregate alerts","hash":"_aggregate_alerts","id":2}]},"240":{"id":240,"text":"AxonIQ Console is a robust tool designed to aid in the management of message-driven systems. It stands as a testament to AxonIQ’s commitment to evolving its products to meet the needs of its users. By using the Console, teams can ensure efficient management of their applications, leading to improved performance and productivity.","title":"Conclusion","component":"axoniq-console-getting-started","version":"main","name":"conclusion","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/conclusion/","titles":[]},"241":{"id":241,"text":"The AxonIQ Console collects performance and behavior information from your Axon applications and server and organizes it into several different tabs, each of them focused on a specific type of information. The first time you access AxonIQ Console, if you don’t have any Axon applications connected, you will see a dashboard with only the 'Start' tab enabled. The 'Start' tab contains several panels with a summary of the Axon Framework applications and Axon Server cluster or instance that are connected to AxonIQ Console. It also shows some useful links to learn more about how to connect applications or to learn more about Axon Server. If you don’t have any applications connected, the 'Start' tan will include a panel to provide you with detailed instructions on how to connect your first Axon Framework based application. If you don’t have an application of your own ready to be connected to AxonIQ Console, don’t worry, there is also a \"Bike Rental Demo\" application that we have prepared and ready for you to run and connect with your AxonIQ Console workspace. If you don’t have any applications already connected, click on the installation method that applies to your case, and follow the instructions to connect your application. Once you have successfully connected your applications to the AxonIQ Console, you will see a panel listing them and their status. In the following sections, we will go through the different tabs to explore the insights that the AxonIQ Console provides into the performance of your applications.","title":"The AxonIQ Console Dashboard","component":"axoniq-console-getting-started","version":"main","name":"dashboard","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/dashboard/","titles":[{"text":"Connecting your Axon Framework applications.","hash":"_connecting_your_axon_framework_applications","id":1},{"text":"Dashboard with your applications connected","hash":"_dashboard_with_your_applications_connected","id":2}]},"242":{"id":242,"text":"The Handler Insights tab in AxonIQ Console provides detailed information about the message handlers in your system. Message handlers are components that handle commands, events, and queries in an Axon Framework application. In the Handler Insights tab, you can see various metrics related to each handler, such as: The application in which the handler is defined (refer to the Application column) The Component in which the handler is defined (refer to the Component column) The message that the handler processes (refer to the Message column) The number of messages processed by the handler per minute (refer to the “Troughput” column) The percentage of messages that produced an error while the handler was processing it (refer to the Error Rate column) The minimin processing time for a message (refer to the Min column) The median processing time per message (refer to the “Median” column) The time in which 90% of the fastests messages are processed by the handler (refer to the 90 th column) The max processing time for a message (refer to the “Max” column) This information can be extremely useful for understanding the performance of your handlers and identifying any potential issues. If you click on any of the handlers, you will see a graph with more detailed information about the specific handler performance over time. The detail view also allows you to see the message sources and message destinations of the message associated with this handler. In addition to the specific details for the message handler, there is a panel on the right side of the tab that displays the alerts detected for this handler, if any. This section also includes a button to configure the conditions under which alerts are triggered for this particular handler. Without specifying a rule for a specific metric, the environment-wide default for handlers applies, which can be configured in the Monitoring tab. If you create a specific condition for this handler in this configuration section, this handler will ignore the environment-wide conditions. The alert configuration panel also displays, under the 'Environment conditions' section, the list of rules defined to trigger an alert for all the message handlers found in any application connected to this environment. The conditions defined in this panel apply only to the specific message handler selected in the handler insights tab. If you want to configure alerts for all the message handlers found in any application connected to this environment, you should use the Monitoring tab.","title":"The \"Handler Insights\" Tab","component":"axoniq-console-getting-started","version":"main","name":"handler-insights-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/handler-insights-tab/","titles":[{"text":"Handler details","hash":"_handler_details","id":1},{"text":"Handler alerts","hash":"_handler_alerts","id":2}]},"243":{"id":243,"text":"The Message Flow tab in AxonIQ Console provides a visual representation of the flow of messages between different components of your system. This includes commands, events, and queries that are being sent and received by your applications. The Message Flow tab can be particularly useful for understanding how data is moving through your system and for identifying any potential bottlenecks or issues. It provides a real-time view of the system’s activity, making it easier to monitor and troubleshoot. In addition to the visual representation, the Message Flow tab allows you to click through to the Handler Insights, detailing the statistics about each message, including its type, the components it has passed through, and any errors that have occurred. This can provide valuable insights into the performance and health of your system.","title":"The \"Message Flow\" Tab","component":"axoniq-console-getting-started","version":"main","name":"message-flow-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/message-flow-tab/","titles":[]},"244":{"id":244,"text":"The Monitoring tab in AxonIQ Console contains information about alerts related to poor performance of your applications. This tab also allows you to configure the conditions that trigger these alerts. On the left side of the panel, you can select different sections to display in the Monitoring tab: Monitoring, Conditions, Overrides, and Integrations. The 'Overview' is the default option displayed when you access the Monitoring tab. The Overview displays a list of all performance alerts currently occurring in any of the applications connected to the AxonIQ Console. When a specified condition is matched AxonIQ Console will create an alert and display it on this panel. The alert is initially displayed as a warning with the status \"Pending Alert\". The alert will also indicate how much time it will take for the alert to become active if the performance does not return to within the limits defined by the alert Conditions. If the observed values for that metric do not return to the accepted range, the alert will become active after the specified time and the panel will show for how long the problem was detected. You can configure this time when creating the condition. A higher value means less chance of false positives, but you will be notified later after detecting a metric has shifted away from its expected range. These alerts are not only displayed in the 'Monitoring' tab. The 'Overview' section of this tab shows a summary of all detected alerts and also provides a link to view the details of these alerts. However, these alerts are also displayed in the form of warning or error icons on other tabs of the AxonIQ Console dashboard that display information corresponding to the components that are not performing well. Example of alerts for underperforming processors shown in the Processors tab This option allows you to view and configure the various alerts and thresholds that will be monitored in the applications connected to the AxonIQ Console. The alerts are grouped into four groups depending on the component for which the alert is defined: Processors, Aggregates, Handlers and Applications. When you click on one of the groups, the panel displays the list of conditions that trigger an alert, along with two buttons to edit or delete the condition, and another button that allows you to define new conditions to trigger alerts under different performance conditions. The conditions defined in this section apply to all components and applications connected to that environment in the AxonIQ Console. You can also define more fine-grained conditions associated with a specific component using the Alerts panel in the detailed view of an application, processor, aggregate, or handler. Each condition is defined based on three properties: The level, which represents the priority (or importance) of this alert. The level of the alert can be defined as Incident, Critical, Major or Minor. The threshold condition, which defines the metric to be monitored and the threshold above which the alert is triggered. The condition consists of: The metric to monitor. The list of possible metrics depends on the component for which the condition is defined. The logical comparator used to evaluate the condition. The threshold value beyond which the alert is triggered. The duration in minutes that the condition must continue to occur before the alert is moved from `Pending' to `Active' status. Consider the Pending status of an alert as a warning that something has started to deviate from the expected behavior. This panel displays the specific conditions defined to trigger alerts associated with a specific component (a specific processor, a specific aggregate, or a specific handler). The conditions defined to trigger an alert associated with a specific component override the default conditions defined in the Conditions section. The 'overrides' are grouped into four categories depending on the type of component they are associated with: applications, processors, aggregates or handlers: The definition of the overrides (specific conditions to trigger an alert associated with specific components) is done clicking on the \"Configure\" button on the alerts panel at the details page of the application, processor, aggregate, or handler tabs The Monitoring feature of AxonIQ Console allows you to configure several tools to send notifications when an alert becomes active. In this panel you can configure the integration with these tools.","title":"The Monitoring Tab","component":"axoniq-console-getting-started","version":"main","name":"monitoring-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/monitoring-tab/","titles":[{"text":"Overview","hash":"_overview","id":1},{"text":"Conditions","hash":"_conditions","id":2},{"text":"Overrides","hash":"_overrides","id":3},{"text":"Integrations","hash":"_integrations","id":4}]},"245":{"id":245,"text":"The applications tab provides an overall snapshot of your current environment. This includes detailed information about the AxonIQ applications running in your environment, as shown in the image below. The tab content for the Applications is split up into two sections. The \"Applications list\" section located on the left half (or top half in smaller screens) of the tab provides you with a list of all Axon Framework-based applications that the Console has detected. Here, you can see, for each application connected, if there is any alerts for them, the version of Axon Framework each application is using, the number of application instances connected, as well as the version number of the console-framework-client library the application is using to connect to AxonIQ Console. The \"Installation Instructions\" section located at the right half (or bottom half in smaller screens) of the page provides links to the installation instructions to connect more applications. Clicking on any of the applications shown in the Applications list will display all the known details for that particular application. The application details include three tables that display: The list of online clients (or instances) of this application, including the node name, the Axon Framework version, and the version of the console-client-library used by the application to connect to AxonIQ Console. the slowest 5 handlers detected in the application, including information about the component for which the handler is defined, the message that the handler is associated with, and the time that each handler takes to process the message, expressed as the mean value and the ninetieth percentile value. The configuration for the Axon Framework components used in the application: Message buses, such as CommandBus, QueryBus or EventStore. Processors Library versions used by the application. Apart from the specific details of the application, there is a panel on the right side of the tab containing the performance alerts detected for this application, if any. This section also includes a button to configure the conditions under which an alert is triggered for this specific application. The panel also displays, under the \"Environment Conditions\" section, the list of rules that are definned to trigger an alert for any application connected to this environment. The specific conditions defined in this panel only apply to the specific application selected in the Applications tab. If you want to configure alerts for all applications in this environment, you should use the Monitoring tab.","title":"The Applications Tab","component":"axoniq-console-getting-started","version":"main","name":"overview-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/overview-tab/","titles":[{"text":"Application details","hash":"_application_details","id":1},{"text":"Application alerts","hash":"_application_alerts","id":2}]},"246":{"id":246,"text":"The Processor tab in AxonIQ Console provides a view of the Event Processors in your system. Event Processors are components that handle events and perform actions based on those events. They are a crucial part of any system built with Axon Framework. In the Processor tab, you can see the status of each Event Processor, including: Whether it’s running or not (refer to the “Status” column) The percentage of segments that are actively processed (refer to the “Claimed” column) A button to access, including things like split, merge, reset, and load balance These statistics can be used to understand the health of your system, gain deeper insights and diagnose any issues. Clicking on any row in the Processors list of the Processors tab will display more details about the statistics of the selected Event Processor, as shown in the image below. The Processor Details view displays three panels that provide insight into the processor’s behavior and configuration: At the top left of the panel is a table that provides a summary of processor status and general information, such as the processor name, processor mode, number of running instances, number and percentage of claimed segments, free segment capacity, updated information on current processor latency, and information on configured automation actions, if any. There are also some buttons for pausing, restarting the processor, and merging or splitting segments. At the top center of the tab is a table that allows the user to view the list of instances, list of segments, event handlers, and also allows to configure automation settings for the processor. At the bottom of the panel are some graphs that show segment utilization, processor latency, and the number of nodes online. You can click on any of the graphs to view them in more detail. In addition to the specific details for the processor, there is a panel on the right side of the tab that displays the performance alerts detected for this processor, if any. This section also includes a button to configure the conditions under which alerts are triggered. The panel also displays, under the 'Environment conditions' section, the list of rules defined to trigger an alert for all processors in any application connected to this environment. The conditions defined in this panel apply only to the specific application selected in the Applications tab. If you want to configure alerts for all processors in any application connected to this environment, you should use the Monitoring tab.","title":"The \"Processors\" Tab","component":"axoniq-console-getting-started","version":"main","name":"processors-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/processors-tab/","titles":[{"text":"Processor details","hash":"_processor_details","id":1},{"text":"Processor alerts","hash":"_processor_alerts","id":2}]},"247":{"id":247,"text":"To access AxonIQ Console’s functionalities, you can register and log in using either an OAuth2 provider or a username and password. Registering using an OAuth2 provider is the recommended way to log into AxonIQ Console, as this automatically proves your e-mail is verified, and you don’t need to verify it manually. AxonIQ Console currently supports the following OAuth2 providers: GitHub Google You can click on the respective button to log in using the OAuth2 provider of your choice. If this is your first time, you will be asked to authorize AxonIQ Console to access your account information. We authenticate you to the OAuth provider with the three basic scopes of the OIDC protocol: openid, profile, and email. This means we receive your email, first name, last name, profile picture and other basic information. AxonIQ Console will never be able to access resources in the connected account. If you prefer not to use an OAuth2 provider, log in using your e-mail and a password. To register with an E-mail and password, click the \"Sign up\" button on the login screen. You will be asked to enter your e-mail address and password. After creating your account, you will be automatically logged in. However, you will need to verify your e-mail address before you can use AxonIQ Console. You will receive an e-mail with a verification link. Click on the link to verify your e-mail address. After verification, the onboarding will automatically continue. When successfully logged in, you will be taken to the onboarding process. This process will guide you through creating your first workspace and environment or running our Demo application.","title":"Authentication","component":"axoniq-console-reference","version":"","name":"authentication","url":"/axoniq-console-reference/authentication/","titles":[{"text":"Registering using an OAuth2 Provider","hash":"_registering_using_an_oauth2_provider","id":1},{"text":"Data accessed","hash":"_data_accessed","id":2},{"text":"Registering using e-mail and Password","hash":"_registering_using_e_mail_and_password","id":3},{"text":"After registration: Onboarding","hash":"_after_registration_onboarding","id":4}]},"248":{"id":248,"text":"","title":"Data Processing","component":"axoniq-console-reference","version":"","name":"data-processing","url":"/axoniq-console-reference/data-processing/","titles":[]},"249":{"id":249,"text":"With AxonIQ Console you can manage anything AxonIQ. Whether you want to use Axon Server, find performance bottlenecks in your Axon Framework application, or manage your event processors, AxonIQ Console has you covered. For example, AxonIQ Console gives you deep insight into the performance of aggregates in your Axon Framework application, as you can see in the image below. You get access to many Axon Server features through our Developer plan. This requires no credit card and is free of charge. Try out subscription queries, multi-context, and much more. Sign up now. AxonIQ Console provides a variety of features to help you manage your Axon Framework applications and Axon Server environments. Use the many insightful metrics that tell the health of any part of the application. Manage event processors of with ease. You can start, stop, and reset event processors, as well as scale them automatically. Retry or delete items in Dead-Letter Queues without any hassle. Visualize the message flow in your application. Set up alerts to get notified when something goes wrong. Many features are included in the Developer plan, free of charge. Check out the pricing page for more information. Would you like to follow our tutorial to get started with AxonIQ Console? Check out the AxonIQ Console Getting Started Guide!","title":"AxonIQ Console Reference Guide","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/","titles":[{"text":"Features","hash":"_features","id":1},{"text":"Getting started","hash":"_getting_started","id":2}]},"250":{"id":250,"text":"While the basic functionalities of AxonIQ Console are free through the Developer plan, some features require a subscription. You can see the features of each plan within AxonIQ Console itself, as shown below. Each environment can have a subscription to AxonIQ Professional, which unlocks all features that you will need in a production environment. This page describes the features of each plan and how to manage your subscription. The AxonIQ Developer plan is free and offers the following features: An Axon Server instance with: Multi-context support Authentication of unlimited users Authentication of applications Up to 10 connections Monitoring of Axon Framework applications Advanced metrics, such as aggregate load times Set up and see alerts in the Console UI Visualize the message flow in your application Thirty days of metric retention Management of Axon Framework applications Event processor actions, such as stop, start and replay Dead-letter queue retries Any environment without a subscription will be on the AxonIQ Developer plan automatically. It is possible to run Axon Server without connecting it to AxonIQ Console. However, this will limit the features available to you to the free Axon Server features. You will, for example, not be able to use multi-context or authentication mechanisms. Taking a subscription to AxonIQ Professional unlocks the following features: Clustering of Axon Server, which provides high availability and scalability Integration of AxonIQ Console with existing tools Automatic scaling and balancing of event processors The number of connections you can establish to Axon Server depends on the number of connections you choose. You can freely choose the number of connections you want to use, and adjust it up to two times a day. Clicking the \"Start your Subscription\" button, will take you to the payment page. This will require a credit card to be registered, which will be billed monthly. This is not required if another environment in the same workspace already has a subscription. In that case, the same credit card will be billed. See more in the Consolidated billing section. You can freely change the number of connections up to two times a day. These changes follow the rules outlined in the Changes to your subscription section. You can do this by clicking the \"Change Subscription\" button in the \"Subscription\" section. Alternatively, you can downgrade to AxonIQ Developer by clicking the \"Downgrade\" button. You can change or cancel your subscription at any time. Changes are limited to twice a day per environment. Upgrades to your subscription, such as increasing the connections, will be charged immediately prorated for the rest of your subscription period. Downgrading your subscription, such as cancelling or reducing the number of connections, will go into effect immediately. You will receive a credit for the remaining days of the month, which will be used for future invoices. The current credit is bound to the workspace and can be found on the \"Subscription\" page of any environment in it. The billing of a workspace is consolidated. While every environment has its own subscription, you will receive one invoice every month for all subscriptions in the workspace. If you take a subscription to a second environment, its price will be prorated for the remaining days of the month in the original subscription, and charged immediately to the credit card. It will then automatically be charged monthly on the same day as the original subscription. For example, you have a workspace with two environments. The first environment has a subscription that started on the first of the month, costing 40$ a month. On the fifteenth of the month, you take a subscription for the second environment, costing $100 per month. Immediately, the credit card is charged for about $50. Then, on the first of the next month, the credit card is charged $140. If you cancel a subscription to one of the environments, you will be credited for the remaining days of the month. This credit is then used for any future invoices. Read more in the Changes to your subscription section.","title":"Subscriptions","component":"axoniq-console-reference","version":"","name":"subscriptions","url":"/axoniq-console-reference/subscriptions/","titles":[{"text":"Developer","hash":"_developer","id":1},{"text":"Professional","hash":"_professional","id":2},{"text":"Changes to your subscription","hash":"_changes_to_your_subscription","id":3},{"text":"Consolidated billing","hash":"_consolidated-billing","id":4}]},"251":{"id":251,"text":"","title":"Axon Framework","component":"axoniq-console-reference","version":"","name":"axon-framework","url":"/axoniq-console-reference/connectors/axon-framework/","titles":[]},"252":{"id":252,"text":"","title":"Axon Server","component":"axoniq-console-reference","version":"","name":"axon-server","url":"/axoniq-console-reference/connectors/axon-server/","titles":[]},"253":{"id":253,"text":"","title":"Connectors","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/connectors/","titles":[]},"254":{"id":254,"text":"Everything you do in AxonIQ Console happens in a workspace. The workspace controls the authentication and authorization of your team members. You can assign different roles to your team members, depending on their responsibilities. The workspace consists of environments. For example, production, staging, and development. Each environment can have a subscription to AxonIQ Professional, which unlocks all features that you will need in a production environment. You can freely change the name of the environment on the settings page. You can also add new environments to the workspace from this page. You can access the workspace’s settings directly from the Settings page of the environment. Here you can change the name of the workspace, add or remove team members, and change the roles of team members. You can have a number of environments in a Workspace, each with its own subscription. The billing of a workspace is consolidated, meaning you will receive one invoice every month for all subscriptions in the workspace. The billing cycle starts on the day you take the first subscription in the workspace. In addition, whenever you downgrade or cancel an AxonIQ product, you will receive credit as restituition for the remaining days of the month. This credit will be used for future invoices for any current or future AxonIQ product in the workspace. For more information, see the Subscriptions page.","title":"Workspaces and Environments","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/environments/","titles":[{"text":"Environment settings","hash":"_environment_settings","id":1},{"text":"Workspace settings","hash":"_workspace_settings","id":2},{"text":"Subscription cycle","hash":"_subscription_cycle","id":3}]},"255":{"id":255,"text":"At AxonIQ Console you can set up four main roles, each with different responsibilities assigned to them, to manage and use the platform effectively. The roles and responsibilities are as follows: Owner role can do everything the Admin, Developer, and Viewer roles can, plus: create/remove a workspace name or change the name of a workspace create/remove environments within that workspace name or change the name of an environment manage subscription plans invite/remove team members assign/un-assign/change roles to all team members assign or un-assign an admin on the same workspace change the admin role to the developer/viewer role transfer the ownership of a workspace to another user Admin role can do everything the Developer and Viewer roles can, plus: create/remove new environments in the workspace name or change the name of an environment invite team members add and assign Developer and Viewer roles to users that are not Admin or Owner Developer role can do everything the Viewer role can, plus: start/stop/pause/reset event processors split/merge segments enable autoscaling retry/delete items in the Dead-Letter Queue (DLQ) adjust various monitoring views remove statistics has access to information in all environments within a workspace Viewer role can: only see the information displayed on various environments preview the subscription plan(s) Note: Each Workspace can only have one Owner role. Each Workspace can only have one Admin. Each Workspace can have multiple Developer or Viewer roles. Here’s the information about system roles organized in a matrix format with columns representing roles and their maximum possible responsibilities: Responsibilities Owner Admin Developer Viewer Create/Remove Workspace ✔️ ❌ ❌ ❌ Name/Change Workspace ✔️ ❌ ❌ ❌ Create/Remove Environments ✔️ ✔️ ❌ ❌ Name/Change Environment ✔️ ✔️ ❌ ❌ Manage Subscription Plans ✔️ ❌ ❌ ❌ Invite/Remove Team Members ✔️ ✔️ ❌ ❌ Assign/Un-assign/Change Roles ✔️ ❌ ❌ ❌ Assign/Un-assign Admin ✔️ ✔️ ❌ ❌ Change Admin Role ✔️ ✔️ ❌ ❌ Transfer Ownership ✔️ ❌ ❌ ❌ Create/Remove New Environments ❌ ✔️ ❌ ❌ Invite Team Members ❌ ✔️ ❌ ❌ Add/Assign Developer/Viewer Roles ❌ ✔️ ❌ ❌ Start/Stop/Pause/Reset Event Processors ❌ ❌ ✔️ ❌ Split/Merge Segments ❌ ❌ ✔️ ❌ Enable Autoscaling ❌ ❌ ✔️ ❌ Retry/Delete Items in DLQ ❌ ❌ ✔️ ❌ Adjust Monitoring Views ❌ ❌ ✔️ ❌ Remove Statistics ❌ ❌ ✔️ ❌ Access Information in all Environments ❌ ❌ ✔️ ❌ View Information ✔️ ✔️ ✔️ ✔️ Preview Subscription Plans ✔️ ✔️ ✔️ ✔️","title":"AxonIQ Console Roles","component":"axoniq-console-reference","version":"","name":"roles","url":"/axoniq-console-reference/environments/roles/","titles":[{"text":"System roles and responsibilities matrix","hash":"_system_roles_and_responsibilities_matrix","id":1}]},"256":{"id":256,"text":"","title":"Manage Axon Server","component":"axoniq-console-reference","version":"","name":"axon-server","url":"/axoniq-console-reference/features/axon-server/","titles":[]},"257":{"id":257,"text":"Version 4.6.0 of Axon Framework introduced the Dead-Letter Queue (DLQ) mechanism. This mechanism allows you to store messages that could not be processed by an Event Processor, for example due to an exception being thrown. The messages can then be inspected and possibly retried. Axon Framework only provides a programmatic interface to see and manage the DLQ, and any mechanism for retries needs to be implemented by the user. AxonIQ Console provides a graphical interface to inspect and manage the DLQ, and also provides a mechanism to delete and retry messages. You can only see the amount of messages in the DLQ by default, not its contents. This is to prevent unwanted access to the contents of the DLQ. If you want to see the contents of the DLQ, you can enable this in the properties of the Framework client. See Axon Framework Connector for more information. When a processor has one or more DLQs, you can see this in the Processor overview under the \"Dead Letters\" column, as shown below. Clicking on the queue will take you to the DLQ overview page, where you can see all sequences in the Dead-Letter Queue, along with the number of messages in the sequence, the cause of the failure, and the time the message was added to the DLQ. To retry processing of the sequence you can click \"Retry\" on the row of that sequence. You can also click the \"Delete\" button to delete the entire sequence from the DLQ. This will remove all messages in the sequence from the DLQ.","title":"Dead-Letter Queues","component":"axoniq-console-reference","version":"","name":"dlq","url":"/axoniq-console-reference/features/dlq/","titles":[]},"258":{"id":258,"text":"","title":"Flow Diagram","component":"axoniq-console-reference","version":"","name":"flow","url":"/axoniq-console-reference/features/flow/","titles":[]},"259":{"id":259,"text":"AxonIQ Console provides a variety of features to help you manage your Axon Framework applications and Axon Server environments. Use the many insightful metrics that tell the health of any part of the application. Manage event processors of with ease. You can start, stop, and reset event processors, as well as scale them automatically. Retry or delete items in Dead-Letter Queues without any hassle. Visualize the message flow in your application. Set up alerts to get notified when something goes wrong. Many features are included in the Developer plan, free of charge. Check out the pricing page for more information.","title":"Features","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/features/","titles":[]},"260":{"id":260,"text":"Event processors are the components in your application that process events. They can be used to update a read model, send an email, or do any other action based on the events in your system. AxonIQ Console provides you with an overview of all your processors, their instances, and their segments. It also allows you to act on these processors, like starting, stopping, or pausing. You can also set up alerts for your processors, so you get notified when something goes wrong. This page describes the features individually. For an in-depth explanation of the screens, see the Onboarding Guide. For more information about the statistics available on the processor detail page, see the Metrics feature page. Streaming event processors are processors that process events asynchronously by streaming the event store. They claim segments of the event store and process the events that match that segment’s filter. This allows you to process events in parallel, which can greatly improve the performance of your application. When a segment is being processed, it is claimed by a single instance of the processor. This means that no other instance can claim that segment. However, if a segment is not being processed, that means that a part of your event stream is not being processed. This can lead to outdated read models, or other problems in your application. Or, if your event processor is too slow, it can lead to an increased latency (time until data is available) in your application. It’s thus crucial to ensure that all segments are being processed, and that the processors are not too slow. You will also want to be able to manage the processors by implementing controls that can pause and start them, increase or decrease the number of segments, and trigger a replay of the events. While you can build it yourself using the Axon Framework API This is where AxonIQ Console comes in. You can pause processors to stop them from processing events. This can be useful if you want to stop processing events for a while, for example, to do maintenance on your application. To pause all instances of a processor, click the \"Pause\" button in the left processor detail page. When you are done, you can click the \"Start\" button to start processing events on all instances again. The \"Start\" button is the first button and the \"Pause\" button is the second button in the image below. These actions are done on the currently online nodes. If a node comes online with the event processor started, it will start processing events anyway. If you want to stop an individual instance of a processor, you can do so by clicking the \"Pause\" button of that row in the instances table. This will stop processing events on that instance, but not on the other instances. When you are done, you can click the \"Start\" button to start processing events on that instance again. As mentioned in Streaming event processors, segments are parts of the event stream that are processed in parallel. By default, a Pooled Streaming Event Processor has 16 segments, and a Tracking Event Processor 1, depending on the configuration at the time the processor was created. You can increase or decrease the number of segments to increase or decrease the parallelism of your application. However, this can not be done using configuration because segments are only initialized when the processor is started for the first time. After that, you need to use the Split and Merge actions of Axon Framework programmatically, or you can use AxonIQ Console. It’s likely that your event processor interacts with the database, or you use a token store implementation that stores the tokens in the database. This means that more segments require a higher number of connections to the database. If you use a database, it’s important that your database pool can handle this increase in number of connections. Make sure your database and the connection pool of your application can handle this, or you might run into problems. You can use the \"Split\" and \"Merge\" buttons in the Processor detail page to split or merge segments. These buttons are shown in the image below. The \"Merge\" button is the third button in the left column, and the \"Split\" button is the fourth button in the image below. The \"Split\" button will only be enabled if the event processor has \"Free Segment Capacity\", which can be found in the left column. This is the number of segments that can be claimed by an instance of the processor. If this number is 0, you can not split the segments, as then the segment would not be able to be processed. We recommend using Pooled Streaming Event Processors for most applications. While every segment requires a thread when using Tracking Event Processors, Pooled Streaming Event Processors use one thread for reading events and handing packages to a pool of threads that process the events. Because of this design, Pooled Streaming Event Processors are more efficient in most cases. You can reset the position of the segments of a processor, causing what we call a replay. This can be useful if you want to consume the whole event stream, or part thereof, again, for example to fix a bug in your application. In order to execute a reset well, you need to ensure that the processor is paused on all nodes before the reset. Likewise, you need to ensure that the processor is started on all nodes after the reset. AxonIQ Console makes sure this is done in the right order, and that all instances of the processor are stopped before the reset is executed. To reset a processor, click the \"Reset\" button in the left column of the processors' detail page. This will open a dialog in which you can specify to which point you want to reset the processor. You can choose to reset to position 0 (tail), to the latest position (head), or to a specific time. As the dialog already mentions, this will invoke any @ResetHandler of the processor, which can be used to, for example, clear the read model before filling it again. This action can not be undone. Make sure you want to reset the processor before you do it. While replaying events can be useful, it can take some time, during which your application has an outdated read model. During the replay, the segments table will show the progress of the replay, like in the image below. Once the replay is done, the status will return to \"Running\". You can move a segment from one instance to another. This can be useful if you want to balance the load of your processors, or if you want to move a segment to another instance for maintenance. To move a segment, click the \"Move\" button in the row of the segment you want to move. This will open a dialog in which you can select the instance you want to move the segment to. After clicking \"Move Segment\", all processors except the one chosen will be asked to blacklist that segment for a short period of time. This is to ensure that the segment is not claimed by another instance while it is being moved. Then, the chosen instance will be asked to claim the specific segment. While you can load-balance a processor’s segment manually, like outlined in Moving a segment, AxonIQ Console can also do this for you automatically. This feature is only available in the Premium and Enterprise plans of AxonIQ Console. You can enable automatic load balancing by going to the \"Automation\" tab of the processor’s detail page. Here you can enable or disable the automatic load balancing. When automatic load balancing is enabled, AxonIQ Console will automatically balance the segments of the processor over the instances of the processor. This is done by moving segments from instances that have a lot of segments to instances that have fewer segments. Additionally, you can add automatic scaling, defining how many segments you want per instance. AxonIQ Console will then create or remove segments to ensure that the number of segments per instance is as close to the defined number as possible. AxonIQ Console will never exceed the \"Free Segment Capacity\" of the processor. If the processor has a \"Free Segment Capacity\" of 0, AxonIQ Console will not create any new segments for scaling. You can choose whether AxonIQ Console will execute your chosen strategy this upon node connection changes, periodically, or both.","title":"Processor Management","component":"axoniq-console-reference","version":"","name":"management","url":"/axoniq-console-reference/features/management/","titles":[{"text":"Streaming event processors","hash":"streaming_event_processors","id":1},{"text":"Starting and pausing processors","hash":"_starting_and_pausing_processors","id":2},{"text":"Splitting and merge segments","hash":"_splitting_and_merge_segments","id":3},{"text":"Trigger a replay","hash":"_trigger_a_replay","id":4},{"text":"Moving a segment","hash":"moving_a_segment","id":5},{"text":"Automatic balancing and scaling","hash":"_automatic_balancing_and_scaling","id":6}]},"261":{"id":261,"text":"AxonIQ Console gathers metrics on your Axon Framework applications. These metrics provide information about the performance of your applications and potential problems. All metrics that gather times are measured in milliseconds. AxonIQ Console measures the minimum, median, ninetieth percentile, and maximum values for these metrics. When looking at these values, it’s important to look at the ninetieth percentile, as this value is the value that 90% of the measurements are below. This gives you a good indication of the performance of your application. You can see an example below. Individual measurements of timers count toward their percentiles for 5 minutes, after which they expire and no longer count toward the percentiles. This means that the percentiles are always based on the last 5 minutes of data. All metrics that gather rates are measured in counts per minute. Only the items counted in the last 10 seconds are counted toward the rate. This means that the rate is always based on the last 10 seconds of data, multiplied by 6 to get a rate per minute. You can see an example below. Event processors metrics provide information about the status of your event processors. You can see an example below. The Segment claim Percentage shows the percentage of segments claimed by the event processor. This should, under normal situations, always be 100%. If the segment claim percentage is lower than 100%, it means that some segments are not claimed by the event processor and a part of your event processing is not happening. However, if it’s higher than 100%, this means you either have an in-memory token store configured (which can be a valid use-case to process all events on all application instances), or your applications are stealing tokens from each other because the work in a batch takes longer than the configured claim timeout of the token store. The Ingest latency and Commit latency metrics indicate the amount of time that passes between the publishing of an event and the processing of that event by the event processor. The ingest latency is the time between the publication of the event and the moment it is available for processing. The commit latency is the time between the moment the event is processed and the moment the event processor commits the processing of the event. The Nodes graph shows the number of nodes currently online that are reporting to have this event processor in their configuration. Handler metrics provide information about the performance of your handlers. You can see an example below. The Overview graph shows a breakdown of the time spent on processing the messages by the handler. The time not accounted for is \"Overhead,\" which is time spent outside specific measurements. This can be due to Garbage Collection, I/O, or other system activities. The Message Rate shows the number of messages processed by the aggregate per second. It also shows the number of failed messages per second. The Total Time shows the total time spent processing the message by the handler. This metric can vary based on the type of handler. For example, for aggregates it includes the loading of the aggregate from the event store, the processing of the command, and the committing of the events to the event store. The Handler Time shows the time spent in your handler code. Aggregate metrics provide information about the performance of your aggregates. As aggregates handle messages, they have the same metrics as Handlers. In addition, they have several special metrics. You can see an example below. The Lock Time shows the time spent acquiring the lock on the aggregate. This is the time spent waiting for the lock to be available. As aggregates can only handle one command at a time, it is essential to keep this time as low as possible. High values here can indicate a slow event store, long-running actions in the aggregate, or a high contention on the aggregate. The Load Time shows the time spent loading the aggregate from the event store. This is the time spent reading the events from the event store and applying them to the aggregate. This time includes the time spent acquiring the lock on the aggregate as well. The Event Store Commit Time shows the time spent committing the events to the event store. This is the time spent writing the events to the event store. High values here can indicate a slow event store. The EventStream Size shows the number of events that need to be read from the event store to load the aggregate. As the stream can grow over time, it’s important to consider enabling snapshots to reduce the number of events that need to be read. Generally, we recommend keeping this number below 250 events. Application metrics provide information about the performance of your application. This includes information about the memory usage, garbage collection, and threads. The Process CPU Usage shows the percentage of CPU used by the JVM process. Regardless of the number of cores, this number will always be between 0 and 100%. The System CPU Usage shows the percentage of CPU used by the system. This includes all processes running on the system. The Heap Usage shows the memory usage of the JVM. The JVM has a heap where all objects are stored. This graph shows the usage of this heap. A rising percentage without a drop can indicate a memory leak. A high percentage can indicate that the JVM is running out of memory. JVMs commit memory as needed, allowing three 8 GB Java applications on an 8 GB system. As such, the reported free memory might not be available once needed. Make sure to monitor the memory usage of the system as well, or you might run into issues. The CommandBus Capacity shows the percentage of the current CommandBus-threads being used over time. This can be used to determine if the CommandBus is able to keep up with the incoming commands. If this number is consistently high, you may need to increase the number of threads in the CommandBus. Note that this only applies to the AxonServerCommandBus. The QueryBus Capacity shows the percentage of the current QueryBus-threads being used over time. This can be used to determine if the QueryBus is able to keep up with the incoming queries. If this number is consistently high, you may need to increase the number of threads in the QueryBus. Note that this only applies to the AxonServerQueryBus. The Live Thread Count shows the number of live threads in the JVM. This includes all threads: the main thread, the garbage collector threads, and the threads used by the application. A high number of threads can indicate a problem in the application. The System Load shows the system load of the system. This is the number of processes that are waiting for CPU time. This number is divided by the number of cores in the system. A system load of 1 means that there is one process waiting for CPU time. A system load of 2 means that there are two processes waiting for CPU time. A system load of 8 on an 8-core system means that all cores are busy. The Nodes graph shows the number of nodes currently online. AxonIQ Console always tries to show you the most relevant information. When you view the metrics of the handler of an event processor, we will also show the metrics of that event processor itself, and the application. This way you can easily correlate problems in your application. The AxonIQ Console will do this as well in the following situations: When viewing the metrics of an event processor, we will show the metrics of the application and the event processor. When viewing the metrics of an aggregate, we will show the metrics of the application and the aggregate. When viewing the metrics of a handler, we will show the metrics of the application and the handler, as well as aggregate metrics if the handler is part of an aggregate, or event processor metrics if the handler is part of an event processor.","title":"Framework Metrics","component":"axoniq-console-reference","version":"","name":"metrics","url":"/axoniq-console-reference/features/metrics/","titles":[{"text":"Measurements: Timers","hash":"_measurements_timers","id":1},{"text":"Measurements: Rates","hash":"_measurements_rates","id":2},{"text":"Event processors metrics","hash":"event_processors_metrics","id":3},{"text":"Handler metrics","hash":"handler_metrics","id":4},{"text":"Aggregate metrics","hash":"aggregate_metrics","id":5},{"text":"Applications metrics","hash":"applications_metrics","id":6},{"text":"Correlation","hash":"_correlation","id":7}]},"262":{"id":262,"text":"AxonIQ Console provides a comprehensive monitoring solution for your Axon Server cluster and Axon Framework applications. By defining conditions based on the Axon Server health status or Axon Framework metrics, you can get notified when something goes wrong. This way, you can take action before it becomes a problem. The conditions of the workspace, and individual resources, are checked once per minute against the metrics and health collected by AxonIQ Console. When a condition is met, a pending alert is created of the defined level by the condition. If the condition is met for the duration specified in the condition, the alert will no longer be pending and be sent to the configured integrations. You can set up conditions for all monitored resources in your environment. For an overview of all the possible metrics to monitor, see available metrics. To provide a good starting point, AxonIQ Console sets up some conditions by default. You can set up a condition for the entire environment at once. So, for example, you can set up a condition that triggers an alert when the ingest latency of any event processor in any application exceeds a certain threshold. However, sometimes there is a subset of resources that have different requirements. For example, you have a specific event processor that calls a slow legacy system, and can be slower than normal. You can then define a condition for the ingest latency of that specific event processor, overriding the environment-wide condition for that specific processor alone. On the Monitoring page, you can set up the environment-wide conditions. You can add a condition to any resource type by clicking \"Add new condition\". This adds a new condition to the list that you can configure and then save. The formula has the following parts: Field Description Possible values Level The level of the alerts, useful for filtering which integration receives which alerts Incident, Critical, Major, Minor Metric The metric to check Differs per resource, see available metrics. Operator The operator to use for the check =, !=, >, =, when for minutes\", or \"Create critical when segment claim percentage != 100% for 2 minutes\". You can see this in the screen below. You can always adjust the conditions by clicking the \"Edit\" button next to the condition. This makes the entire row editable. You can change any field, except the level and metric. If you want to change the level or metric, you need to delete the condition and add a new one. If you want to set up conditions for a specific resource, you can do so by navigating to the resource and clicking \"Configure\" next to the Alerts header in the top right corner. This opens a dialog where you can add a new condition for that specific instance. Setting up conditions for a specific instance works similar to setting up conditions for all instances. You can find a list of all available metrics and their defaults below. After adding a specific condition, it can be found in the resource itself. Conditions with an override are shown on the Monitoring page by a clickable text on the condition’s row that will open a dialog with the overrides defined. When a condition is met, an alert is created. You can see all alerts in the \"Current alerts\" section on the Monitoring page. Each resource page also has an Alerts section where you can see all alerts for that specific resource. You can also see a badge in all tables where resources are listed with the number of alerts, like in the example below. When you click on a row with alerts, you are taken to the resource page where you can see all alerts for that resource. AxonIQ Console can send alerts to various integrations. This feature is only available in the AxonIQ Professional plan. You can get started by going to the Integrations page. There are three steps to set up Slack integration: Add our Slack app to your workspace Connect your Slack workspace to your AxonIQ Console workspace Set up the channels to send alerts to Due to the dynamic nature of set-up instructions, we cannot provide a step-by-step guide here. However, you can find this information on the Integrations page. Setting up email integration is easy. Just enter the email address, the level of the alerts you want to receive, and click \"Add integration\". The following table contains all their available metrics and their defaults. The defaults have been found by our Solution Engineers to be a good start to set up monitoring. Some of these are automatically set up for you when you start using AxonIQ Console. Resource Metric Default threshold Set up by default Message Handler Error Rate > 1% Yes Message Handler Latency (P90) > 200 ms Yes Message Handler Throughput > 1000/minute No Aggregate Error Rate > 1% Yes Aggregate Latency (P90) > 200 ms Yes Aggregate Lock Time (P90) > 25 ms Yes Aggregate Load Time (P90) > 100 ms Yes Aggregate Event Commit Time (P90) > 300 ms Yes Event Processor Segment Claim Percentage != 100% Yes Event Processor Ingest latency > 100 ms Yes Event Processor Commit latency > 300 ms Yes Event Processor DLQ Size > 0 Yes Application Replica Count 80% Yes Application Host CPU Usage > 80% Yes Application Heap Usage > 80% Yes Application Thread Count > 200 No Application Query Bus Usage > 80% Yes Application Command Bus Usage > 80% Yes Environment Used connections count > 8 No Environment Used connections percentage > 80% Yes Environment Free connections percentage ⇐ 2 No Environment Free connections percentage 8 No Axon Server cluster Used connections percentage > 80% Yes Axon Server cluster Free connections percentage ⇐ 2 No Axon Server cluster Free connections percentage 0 Yes Axon Server instance disk Free space in MB 100 Yes","title":"Monitoring","component":"axoniq-console-reference","version":"","name":"monitoring","url":"/axoniq-console-reference/features/monitoring/","titles":[{"text":"How it works","hash":"_how_it_works","id":1},{"text":"Conditions","hash":"_conditions","id":2},{"text":"Environment-wide conditions","hash":"_environment_wide_conditions","id":3},{"text":"Resource-specific conditions","hash":"_resource_specific_conditions","id":4},{"text":"Alerts","hash":"_alerts","id":5},{"text":"Integrations","hash":"integrations","id":6},{"text":"Slack","hash":"_slack","id":7},{"text":"Email","hash":"_email","id":8},{"text":"Available metrics","hash":"available_metrics","id":9}]},"263":{"id":263,"text":"AxonIQ Console is the tool we will use in this tutorial to show you how to monitor your distributed application built with Axon and identify any components that are not performing as expected or other bottlenecks and issues. We will use the free plan of AxonIQ Console in this tutorial, which is sufficient to connect a small application and experience its features and benefits firsthand. If you prefer to get a complete idea of what AxonIQ Console has to offer before creating your account, you can read about the different panels and dashboards in the \"Monitoring Axon Framework Applications\" section of the AxonIQ Console Getting Started Guide. If you prefer to explore and discover its features by directly connecting an application, keep reading: We will help you to either connect your own version of the \"Bike Rental\" application or use a docker-based \"Bike Rental\" demo application we have already prepared for you. The first step is to set up your free AxonIQ Console account. To do this, simply follow the steps described in the following sections of the AxonIQ Console Getting Started Guide: Register and create your free AxonIQ Console account Configure your account details and proceed to the next section in this guide when you are presented with a page that gives you the option to either connect your application or run the demo. AxonIQ Console provides detailed instructions con how to connect your own Java or Axon Framework based application, or alternatively, provides a docker-compose.yaml file that allows you to run a version of the bike-rental application that is already configured to connect to the AxonIQ Console environment you have just created. In the second dialog of the First time setup steps step, you can choose your preferred option. You can try to follow the detailed steps provided directly by AxonIQ Console UI to connect your application and skip this guide directly to Monitoring your Application with AxonIQ Console","title":"Introducing AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"axoniq-console","url":"/bikerental-console-demo/main/axoniq-console/","titles":[{"text":"Set up your free AxonIQ Console account.","hash":"_set_up_your_free_axoniq_console_account","id":1}]},"264":{"id":264,"text":"There is a good number of reasons to create a modular distributed applications. These type of applications can scale better, support more workload, react in a elastic manner (scaling up or down) to suddent peaks in the workload, and many more. All of those benefits come from relying on designs and concepts like Event-Driven communication, Location Transparency and loose coupling. On the other side, these kind of distributed applications usually make a little bit harder for the DevOps teams to get a comprehensive view of how the whole system is behaving, and sometimes makes more difficult the task to debug and identify bottlenecks or components that have a poor performance. The usual way of complex systems to allow monitoring is by providing some kind of telemetry that it is usually collected and presented in Graphana Dashboards for example. But that information still requires someone who can understand and read where the performance problems could be. While Axon Framework and Axon Server provides that telemetry, we also provide a better tool to collect those metrics and present the information in a more \"opinionated\" way that gives a comprehensive and more clear view of all the components of your application and analize their performance in an easier way. In this guide, we will use the AxonIQ Console as our tool to gather that telemetry and observe the performance of our system. We will also create some performance problems on-purpose on our sample bike-rental demos application in order to see how AxonIQ Console helps us in detecting those problems. You can read more about AxonIQ Console in the AxonIQConsole Getting Started Guide. This tutorial will guide you through the process to connect the bike rental application to AxonIQ Console and see the how to monitor the behaviour of your distributed system built using Axon Technologies. During this process, we will also use some components to simulate activity for our Bike Rental application. Furthermore, to make things more interesting, we will also use the Axon Fire-Starter to cause some problems on purpose on the application and show how AxonIQ Console can help you detect them. Don’t worry if you don’t want to adapt your application. We will also show you how to use a working demo application and go directly to running it and monitoring its performance. Let’s get started.","title":"Introduction","component":"bikerental-console-demo","version":"main","name":"blogPost-draft","url":"/bikerental-console-demo/main/blogPost-draft/","titles":[]},"265":{"id":265,"text":"In this guide we have walked you trhough the process to register and connect your Axon Framework-based application to AxonIQ Console, and then thanks to the capabilities of the AxonFramework Firestarter library, we were able to introduce some \"problems\" in our aplication and experiment how AxonIQ Console helps to identify pottential problems in our applications. You can experiment with the AxonFramework Firestarter by introducing delays or errors at various points in your modules and applications. See how the AxonIQ Console reacts and identifies the bottlenecks you have created in your system. Through these experiments, you will see how connecting your production applications to the AxonIQ Console and adding the AxonIQ Console dashboard as another useful element to your DevOps toolbelt can benefit you. A little grame proposal to have some fun while exploring AxonIQ Console features You can play a little game with your colleagues to experiment with the power of AxonIQ Console. You can ask your colleague to configure some problems in the demo application using AxonFramework Firestarter, and then you can try to identify where the problem is using AxonIQ Console. Then you can take turns. In the second round, you will configure some problems in the application and ask them if they can figure out what problem you introduced. Take notes and explore all the possibilities offered by the AxonIQ Console. Were the problems easy to find? What problems are easier to identify with AxonIQ Console? What are the most valuable tabs to start searching for problems? What are the most challenging problems to find? Is there any other helpful information you would love to see in AxonIQ Console? Please don’t be shy and don’t hesitate to share your experiences with us and the rest of the community at the AxonIQ Console category of our Discuss forums.","title":"Conclusion","component":"bikerental-console-demo","version":"main","name":"conclusion","url":"/bikerental-console-demo/main/conclusion/","titles":[]},"266":{"id":266,"text":"Once we have our event-driven distributed application in production, there may be some cases where the behavior or performance of our application is not what we expected. This unexpected performance could be because our application has a higher load than expected, because some component is acting as a bottleneck and should be scaled or because a message is stuck or causing problems somewhere in our system architecture. Before randomly jumping into the various software components trying to locate the source of the problem, it would be helpful to have a bird’s-eye view of our system and see where the potential issues might be. In this guide, we will see how you can connect your Axon Framework-based application to the AxonIQ Console and get this comprehensive view of your system behavior. We will use the bike-rental demo application during the guide, but you can use the instructions provided in the guide to connect your own Axon Framework-based application. If you don’t have an Axon Framerwork-based application, the guide will also show you how to run and monitor an application using an already working example application packaged as a set of docker images (all you will need to do is run a docker-compose command).","title":"Introduction","component":"bikerental-console-demo","version":"main","name":"index","url":"/bikerental-console-demo/main/","titles":[]},"267":{"id":267,"text":"Once that you have signed up and created your free account in AxonIQ Console, we can connect our application bike-rental application (or any other Axon Framework based application you may have) and see how it is monitored by AxonIQ Console. In the second dialog after setting up your AxonIQ Console account you were presented with two options to get started using AxonIQ Console, this is where this guide will follow two alternative paths, depending on whether you already have a working application built with Axon Framework (such as the bike-rental application built during Building A Bike Rental Application]) or if you prefer to simply use the demo AxonIQ Console has already prepared for you. AxonIQ Console provides detailed instructions con how to connect your own Java or Axon Framework based application, or alternatively, provides a docker-compose.yaml file that allows you to run a version of the bike-rental application already configured to connect to the AxonIQ Console environment you have just created. In the second dialog of the First time setup steps step you will be able to choose your preferred option. You can try to follow the detailed steps provided directly by AxonIQ Console UI to connect your application and skip this guide directly to xref:monitoring/index.adoc If you want to follow detailed instructions to prepare and connect your own Axon Framework based application, go to Prepare your Application for AxonIQ Console If you want to read the detailed instructions in this guide to run the docker-based application that AxonIQ Console already has available, click on Using Docker-Based Bike-Rental Demo","title":"Connect your Application to AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"index","url":"/bikerental-console-demo/main/connect-your-app/","titles":[]},"268":{"id":268,"text":"This guide offers several alternative paths for you to follow. Choose the one that works best for you. In all cases, the guide will begin by walking you through the process of creating your free account at AxonIQ Console, the online service we will use to connect our Axon Framework-based applications. After that, the guide will offer you several ways to prepare and connect an application to be monitored by AxonIQ Console: Using the bike-rental demo application you developed following the Building A Bike Rental Application tutorial (or any other AxonFramework-based application you already have ready to run). Using the Docker-based demo application available from the AxonIQ Console dashboard. Create some delays or cause errors in your application and see how AxonIQ Console monitors and detects performance issues in your application. For this step, we will use the AxonFramework Firestarter library, which allows us to easily configure and Change the behavior in different points of an Axon Framework-based application. If you are ready, let’s get to it.","title":"Structure Overview","component":"bikerental-console-demo","version":"main","name":"guide-structure","url":"/bikerental-console-demo/main/introduction/guide-structure/","titles":[]},"269":{"id":269,"text":"There are not too many prerequisites or knowledge you need to follow this guide, and we provide options for you to quickly have everything you need. These are the tools that we will use throughout this guide: The first steps of this guide will show you how to create your free AxonIQ Console account. The main tool we will use for this guide is AxonIQ Console, an online service that allows you to connect your application and provides a dashboard with a comprehensive view of your system behavior. It also allows you to drill down into more detailed information about each of your system’s modules/components. AxonIQ Console also allows you to configure alerts to notify you when certain performance thresholds are exceeded. This will be the application that we will be monitoring. During this guide, we will use the bike-rental demo application you built with the Building A Bike Rental Application, but you can also use your own Axon Framework-based application if you already have one. If you don’t have an application built using Axon Framework ready, we will also provide you with a working version of the bike-rental demo application that you can easily run with docker. To make things more interesting, we will deliberately cause performance problems in our running application. This will allow us see the real power of AxonIQ Console in detecting these problems. In order to intentionally change the expected behavior of the application and create these performance problems in our application in an easy way, we will add the Axon Framework Firestarter library to our application. If you plan to use the bike-rental-demo application that we provide via docker images, don’t worry, as this version already has this feature enabled.","title":"Components and Tools Used During This Guide.","component":"bikerental-console-demo","version":"main","name":"required-components-and-tools","url":"/bikerental-console-demo/main/introduction/required-components-and-tools/","titles":[{"text":"AxonIQ Console","hash":"_axoniq_console","id":1},{"text":"Axon Framework based application (optional).","hash":"_axon_framework_based_application_optional","id":2},{"text":"Axon Firestarter library (optional).","hash":"_axon_firestarter_library_optional","id":3}]},"270":{"id":270,"text":"The AxonFramework-Firestarter is a library that allows you to introduce some \"taints\" into your Axon Framework based application. This feature is helpful for exploratory scenarios where we want to create controlled chaos (or start fires) inside our applications to test how our system will react under stress or when problems arise. In this tutorial, we want to use AxonFramwork Firestarter to introduce delays or cause some message handlers to produce errors and see how AxonIQ Console detects and shows these situations. To add Axon Firestarter to your application, simply add the org.axonframework.firestarter:firestarter-spring-starter to your bike-rental application. If you are using the Docker-based bike-rental demo that comes with AxonIQ Console ready to run and connect to the dashboard, you don’t need to do anything because the bike-rental demo Docker images with the different modules have been created with Axon Firestarter. You can jump right to Detecting Issues in your Application to see it in action. The first thing we need to do is to declare the dependency management in the pom.xml of the root project: /pom.xml org.axonframework.firestarter firestarter-spring-starter 0.0.2 With this configuration, we can now add the dependency to any module in our project without specifying the version while keeping the versions in sync. So all you need to do is declare the dependency in your `payment' and `rental' modules: /payment/pom.xml org.axonframework.firestarter firestarter-spring-starter /rental/pom.xml org.axonframework.firestarter firestarter-spring-starter If you split your rental module into the various microservices defined in the /microservices folder, you must add the dependency mentioned above to all the /microservices/rental-* modules. Once you have added the dependency to your modules, update your Maven project and ensure AxonFramework Firestarter is listed among the libraries. Once you have added the AxonFramework Firestarter library to your project, you can start your modules. You will have a dashboard accessible under /fire-starter/ to \"start your little fires within the Axon Framework-based application.\" For example, start your rental module and point your browser to https://localhost:8080/fire-starter/, you will see the following page: If you are using the Docker-based bike rental demo application provided by the AxonIQ Console that is ready to run and connect to the Dashboard, you can access the Axon Firestarter page for each module at the following URLS: FireStarter Rental Command module: http://localhost:10100/fire-starter/ FireStarter Rental Payment module: http://localhost:10101/fire-starter/ FireStarter Rental Query module: http://localhost:10102/fire-starter/ FireStarter Rental UI module: http://localhost:10103/fire-starter/ FireStarter Payment Processor module: http://localhost:10106/fire-starter/ This page will show you all the points where you can configure different degrees of problems or change the application’s performance to introduce some delays. For example, if you click on the 'Event Handlers' button in the 'Events' section, you will see a panel that allows you to introduce fixed or random delays in the time that all the event handlers defined in this application take to process an event and configure them to produce an error in a certain percentage of the events that are processed. For each problem you can configure (fixed delays, random delays, or error rate), you have a checkbox to enable the 'problem' and a field to configure the time or percentage of requests that will cause that problem. Once you have configured your desired behavior, click the \"Save taints\" button and your application will start behaving the way you told Axon FireStarter to behave. Now that you have configured Axon Firestarter in your application, we can start introducing problems in our applications and see how the AxonIQ Console helps us detect these problems in our applications' behavior. We will guide you on how to do it in the Detecting Issues in your Application section.","title":"Introducing AxonFramework Firestarter","component":"bikerental-console-demo","version":"main","name":"add-axon-firestarter","url":"/bikerental-console-demo/main/monitoring/add-axon-firestarter/","titles":[{"text":"Adding Axon Firestarter to your application","hash":"_adding_axon_firestarter_to_your_application","id":1},{"text":"Accessing the Axon Firestarter console.","hash":"_accessing_the_axon_firestarter_console","id":2},{"text":"Conclusion","hash":"_conclusion","id":3}]},"271":{"id":271,"text":"In this step of the tutorial, we will intentionally create some delays and errors in the `bike-rental' demo application that we have connected to our AxonIQ Console dashboard. After configuring the application to present some misbehavior or poor performance, we will see more clearly how AxonIQ Console helps us monitor and detect these issues in our application. We will use the AxonFramework Firestarter library, which we added in the Introducing AxonFramework Firestarter step of this tutorial, and the set of features it provides to introduce the behavior problems in our application. This library is not intended to be used in production environments but for scenarios where we want to do some stress or chaos testing of our system. If you are using the Docker-based bike rental application downloaded during the AxonIQ Console sign-up process, the Axon FireStarter library is already included in all the modules of your application. We will guide you through some scenarios in which we can show how to introduce specific problems and how AxonIQ Console helps you detect them. Detecting a Slow Event Handler We will add more scenarios to this list. If you are interested in how AxonIQ Console helps detect a specific type of problem, let us know your suggestions of content to be added here in the discuss forum category dedicated to AxonIQ Console","title":"Detecting Issues in your Application","component":"bikerental-console-demo","version":"main","name":"issues-w-firestarter","url":"/bikerental-console-demo/main/monitoring/issues-w-firestarter/","titles":[]},"272":{"id":272,"text":"Now we come to the exciting part of this guide, where we will see AxonIQ Console in action: We will be able to introduce problems in our application (or start some small fires) and use AxonIQ Console to detect these problems. The steps in this section are broken down into: First, we will look at overview of all the information AxonIQ Console displays about our application behavior. We will walk you through the AxonIQ Console dashboard to familiarize you with it. To see the real power of AxonIQ Console, we will introduce Axon FireStarter. A library that allows you to introduce some delays and errors at certain points of your Axon Framework-based application. With Axon Firestarter added, we can make our application misbehave and see how AxonIQ Console detects those problems. Proceed to the next section to continue.","title":"Monitoring your Application with AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"index","url":"/bikerental-console-demo/main/monitoring/","titles":[]},"273":{"id":273,"text":"This example shows how the AxonIQ Console can help us identify one or more event handlers performing poorly on our system. The first thing we need is a slow event handler. In this case, we will use the AxonFramework Firestarter to manually configure some delays in the payment module’s event handlers. Access to the /fire-starter/ endpoint of your 'Payment' module. Remember the last slash in the URL. Otherwise, you may get an error saying the page does not exist. Accessing the Firestarter Config page of your Payment module If you use the bike-rental application you created following the Building A Bike Rental Application tutorial, you simply need to access http://localhost:8081/fire-starter/ in your URL. If you are using the Docker-based bike-rental demo application available from AxonIQ Console, open the http://localhost:10106/fire-starter/ URL in your browser. Click the 'Event Handlers' button under the 'Events' category. Configure a fixed delay of 200 ms for all the Event Handlers in the Payment module and click the 'Save taints' button. Soon after applying your configuration to have a fixed delay in the event handlers AxonIQ Console will detect this delay and display indicators in various places. Let’s see the different places where this abnormal performance is displayed. We can start with the Applications tab, where, by default, we may not see any abnormal indicator. If we drill down a bit and click on the Payment Processor application to access the module’s details view, we will see the list of the top five slowest handlers, which also shows the two high-latency event handlers. When we click on either of these two slow event handlers, we are taken to the 'Handler Insights' tab with the details view for this processor loaded. In the Processors tab, we can also see that the Payment Processor application has a high latency. If you upgrade to one of the paid tiers of the AxonIQ Console, you will enable alerts and monitoring, and the main Processor tab will display an alert near the module that displays slow handlers: If you are looking for bottlenecks or slow handlers, click on the 'Latency' column to order the different processors, starting with the one with the highest latency. Clicking on the 'Payment Processor' row will load that processor’s detailed view, giving you access to more information that might explain, or at least give you more context, why this high latency is produced. In this detail view, the 'Processor Statistics' graphs show when the latency started to increase, showing its evolution over the last period of time. You can also check the rest of the Processor Statistics graphs to add more context to the problem. The high latency may correspond to fewer nodes available at any given time (which means you need to scale out your application again by adding more nodes). You can also review the Processor Statistics graph with some of the Application Statistics graphs showing system CPU usage or bus capacity. These additional graphs may explain other reasons for high latency. In our case, the high latency is due to our explicit delay configuration in AxoFramework Firestarter, so the other graphs will not show any variation. If none of the other graphs add any context to the high latency, the scenario corresponds to a slow algorithm that needs to be fixed in the event handlers (or, in our case, the manually added delay in AxonFramework Firestarter needs to be removed). If you click the Handler Insights tab, you will see these two event handlers with high latency. If you are looking for slow handlers, you can sort them by the time it takes to process the events by clicking one of the column headers that show the execution time (min, median, ninetieth percentile, or max). When you click on one of the slow handlers, the details view for that handler displays different graphs showing its evolution and total time. You can use the different graphs to add more context and see if there is another graph that also explains why the high latency is being produced (such as a sudden increase in the message rate, a change in the number of online nodes, or a sudden change in the system CPU usage). Remember that you can always click on any graphs to view them in more detail. In this graph, you can see how the different statistic values increase at different times. The maximum latency value is captured immediately after the delay is configured in AxonFramework Firestarter, while the average, ninetieth percentile, and minimum values take longer to rise. If you upgrade your AxonIQ Console subscription to one of the paid plans you will have access to the notification and alerting features. This feature means that issues will be more visible in the form of alerts right from the home page. The alerts will also be displayed in any tab that displays information relevant to the module or component that is not behaving correctly. Figure 1. Alerts shown in the processor tab Figure 2. Alerts shown in the handler insights tab The Monitoring tab gives you a single view of any alerts or warnings detected on your system. image::ac-alerts-monitoring-tab.png[alt=\"Screenshot of the Monitoring tab of the AxonIQ Console dashboard showing some of the alerts and warnings detected on your system\"]. You can also configure custom parameters to trigger these notifications or alerts using the Conditions section, which allows you to configure the thresholds in various metrics used to activate these alerts. This configuration applies to all components in your system. Still, AxonIQ Console also allows you to fine-tune these conditions for specific components, such as a particular event handler in a specific module. This configuration can be done through the details view of the component you want to customize, but the Monitoring tab allows you to see a list of all these specific configurations that override the global conditions through the Overrides section of the Monitoring tab. In addition, you can configure notifications or integrate with other tools you may already be using for this purpose, such as Slack, PagerDuty, or email. This configuration can be done from the Integrations section of the Monitoring tab.","title":"Detecting a Slow Event Handler","component":"bikerental-console-demo","version":"main","name":"slow-event-handlers","url":"/bikerental-console-demo/main/monitoring/slow-event-handlers/","titles":[{"text":"Generate a slow event handler","hash":"_generate_a_slow_event_handler","id":1},{"text":"The applications tab","hash":"_the_applications_tab","id":2},{"text":"The processors tab","hash":"_the_processors_tab","id":3},{"text":"The handler insights tab","hash":"_the_handler_insights_tab","id":4},{"text":"Alerts in the start tab","hash":"_alerts_in_the_start_tab","id":5},{"text":"Alerts in the Monitoring tab","hash":"_alerts_in_the_monitoring_tab","id":6}]},"274":{"id":274,"text":"Once you have started your application and all the modules have connected to AxonIQ Console, you should see how they behave in the AxonIQ Console dashboard. The AxonIQ Console dashboard groups all the information collected from your system into several tabs to give you a comprehensive view of your system and also allow to drill down into more detailed information for specific components. Now that our application is connected let’s take a quick tour of the AxonIQ Console Dashboard. The Start tab displays all of the components from our project that have been configured and connected to AxonIQ Console. Depending on the version of the application you have configured to connect to AxonIQ Console, you may see a different number of connected applications. The screenshot above corresponds to the docker-based bike rental application, which has the Axon Framework-based application divided into five microservices (if you are running the version of the bike rental application that you developed following the Building A Bike Rental Application tutorial, you may see only two modules connected). The docker-based bike rental demo also has Axon Server configured to connect to AxonIQ Console, so you may see a different thing in the bottom half of the screen reserved for the Axon Server instances. Don’t worry about this difference, as we will focus on the monitoring capabilities of the Axon Framework application for now. If you are running the bike-rental demo application you developed following the Building A Bike Rental Application tutorial, your Start tab will most likely look like this: When you click on one of the modules, the panel displays additional information about the number of instances of that module connected, the handlers defined in that module, and the number of event processors the application is running. The 'Applications' tab summarizes the different modules and their status. The information is divided into two sections. In the upper half of the panel, there is a list of the different modules with specific information, such as the number of online instances, the Axon Framework version they are using or the CPU and memory usage of each of them. Below this table are several graphs showing the evolution over the last ten minutes of various indicators of the modules' performance and behavior. You can customize the list of graphs you want to see in this section by clicking on the arrow next to the message that says five out of eight graphs are currently selected. Doing that will display a drop-down list to select the graphs you want from all available graphs. If you click on one of the modules from the table shown in the 'Applications' tab, the tab’s contents will change to display more information specific to that module. For example, if you click on the 'Payment Processor' module, you will have access to more insight into the performance of that module and its components: This table shows the number of instances of the module running and connected to AxonIQ Console. In this case, we will have only one instance in the table. But if, at some point, we need to scale out this module by deploying new instances because we notice that the Payment processor is taking more time to process the payments, we will see all these clients listed with different node identifiers: The panel also lists the five slowest handlers in the application. For each handler, the table shows the component name, the handler method, and the time it takes the handler to process a message, measured in milliseconds, along with its median and ninetieth percentile. If you see poor performance in your application, one of these slowest handlers might be a good place to look. Clicking on any handler will take you to that specific handler detail view in the 'Handlers Insights' tab. We can also check the configuration of the application’s different messaging components. You can change the view by clicking on the three tabs of the Configuration panel: The Components table displays information about the different messaging components used by the module, along with their implementation, whether the component is connected to an Axon Server instance, and any Dispatch or Handler Interceptors attached to the bus or serializers used. This information can be useful, for example, to check if an interceptor is attached to a Command or QueryBus that might affect the time it takes to process certain types of messages or if the serializer used to send or receive the messages is the expected one. The Processors table displays information about the event processors used in the application, along with more detailed information such as processor type, batch size, error handlers, or any interceptors or other components configured or attached to the processor. Clicking on a specific processor in this table will take you to the 'Details View' of that particular processor within the Processors tab. Clicking on the 'Versions' label lists all used Axon Framework module libraries and their versions. This view helps see the Axon Framework version used by the application and check that all libraries are using the latest released version. You can also check the 'Show Unused Libraries' checkbox to include the list of libraries defined but not used by the module. The last section of the Application Details tab consists of several graphs that show the evolution of various metrics of the application’s behavior over time. You can select the graphs you want to see by clicking the arrow next to the label that indicates four of eight graphs are selected. This will display a drop-down box with all available graphs. By default, the graphs in the Application Statistics section show the evolution of the module’s behavior over the last ten minutes. However, you can configure a different time window using the drop-down selector at the top right of the graphs. If you select a different value for the time window, your graphs will update to show the evolution of your application’s behavior over that period. The free plan level of the AxonIQ Console only retains information from your connected applications for the last 10 minutes. This time range should be sufficient for evaluation purposes, but if you see the benefits of using AxonIQ Console to monitor your system, you may want to use one of the AxonIQ Console paid tiers with your production applications, which retain information for longer. Click on any of the graphs to enlarge it in the center of the screen. The Processors tab collects information about the event processors defined in your system. The tab displays a table with the different processors, the application or module where they are defined, the processor name, and information about the status and performance of each event processor. Event Processors are the components in an Axon Framework application that perform the tasks necessary to handle an event (for example, launching a transaction if required) and call the event handler that defines the business logic associated with receiving the event. You can learn more about Event Processors in Axon Framework Applications in the dedicated section of the Axon Framework Reference Guide. In the case of our application, we can see the three event processors that we have defined in our bike-rental application: If you click on any processor in the table, the AxonIQ Console will display a page with detailed information gathered from its behavior. For example, if we click on the `io.axoniq.demo.bikerental.payment' processor from the `Payment Processor' application, we will see more details on how this event processor is performing: Let’s go through the different sections. The details page first displays the processor capacity summary table: In addition to basic information about the processor, such as its name, mode, number of running instances, or details about the segments claimed by the processor, this table also shows whether any automation rules are configured for the processor (in the case of the screenshot, there are none). Finally, the summary table offers several buttons to modify the behavior of the processor, which can be helpful in case of poor performance: The button with the play icon allows you to start the Event Processor on all nodes. The Pause button allows you to pause the Event Processor on all nodes. . The merge button merges the two largest segments into one. The merge can only happen if there is more than one segment. The split button splits the smallest segment into two. This action can only be done if there are free threads and all segments are in use. To learn more about how an Axon Framework-based application processes the events and how the segments are split or merged, you can read the xref:axon-framework-reference:tuning:event-processing.adoc#_increasing_and_decreasing_segment_counts section of the Event Processing Tuning article in the Axon Framework Reference Guide. A fifth option is to reset the processor. Resetting the processor means calling any @ResetHandler methods on that processor and resetting the tokens to a desired position. After clicking the 'Reset Processor' link, the AxonIQ Console displays a dialog box asking you to specify the preferred position to which you want to set the processor. A field to set the desired date and time will appear if you select the 'Index at a certain date and time' option. In addition to the summary information table, another table displays specific information for each of the instances. Along with the processor information for each instance, such as status, stream percentage, or latency, a column allows you to pause or start the processor in a specific instance. The buttons in this column allow more granular operation of the processors than those shown in the Processor summary. Clicking the Segments tab in the processor details view displays a list of all the segments into which the event stream is divided. The segment table provides a button in the Actions column to move any segment to another instance if multiple instances are running the event processor. When you click the Event Handlers tab, the processor details view displays a table of all defined event handlers associated with the event processor. The last tab of the central area in the processor detail view allows you to configure some automation rules for the event processor. This panel allows configuring some rules to balance the segments automatically or to scale and balance the segments in certain cases. This feature is only available in the paid plans of AxonIQ Console. You can check the different plans of AxonIQ Console to learn about these premium features. Right below the main area, the processor details view displays three graphs showing statistics on how the event processor’s various performance metrics have evolved over time. By default, this section contains graphs of the percentage of segments in use, latency, and number of nodes online. Clicking the blue down arrow that indicates the number of graphs selected will display a drop-down selector that allows you to select or deselect the graphs in this section. Finally, you can configure the time window displayed by the graphs using the 'Time Window' drop-down list at the top right of the section. You can view each graph in more detail by clicking on it. The last section of the processor details view contains additional graphs with statistics on various application performance metrics that might be useful for checking the processors' performance. In this case, by default, you will see graphs that show the evolution over the last ten minutes of the application’s CPU usage, the system CPU usage, the command bus and queuing bus capacity, the number of live threads in the different applications, or the system load, among other graphs…​ As in the processor statistics section, you can select or deselect the graphs displayed in this section by clicking on the blue down arrow that indicates the number of chosen graphs. You can also configure the time window displayed by the graphs using the 'Time Window' drop-down list at the top right side of the section. The Aggregates tab lists all aggregates defined as part of the command model. When you click one of the aggregates, the tab displays the details view for that aggregate. Clicking on the 'Payment' aggregate row in the Summary table on the Aggregates tab displays the following details about the behavior of the processing requests associated with this aggregate. The first table in the aggregate details view of the 'Aggregates' tab displays any message handlers (command handlers in this case) defined in the application associated with the aggregate. As we can see, there are three commands in our `bike-rental' demo application that affect the `Payment' aggregate: The `PreparePaymentCommand', the `ConfirmPaymentCommand', and the `RejectPaymentCommand'. In our application, the handlers for the first two are working with reasonable throughput, while the handler for the last one is idle because the application does not receive any commands of this type. In an event-based distributed system, losing track of where messages are coming from and where they are going can be easy. The AxonIQ Console provides convenient ways to see how the various messages (commands, queries, and events) travel between the different components of our system. The Message Sources (and Message Destinations) tables in the Aggregate Details view of the Aggregates tab in the AxonIQ Console dashboard are useful tools for identifying where the commands that affect the aggregate are coming from. In our example, we can see the different message handlers or components that trigger any commands that affect the Payment aggregate. The table shows that although several points in the source code could trigger commands for the aggregate, only the receipt of the BikeRequestedEvent triggers the commands that affect the aggregate. Clicking on any of the rows in the table will take you to the Handler Insights view, which shows the handler’s details for that message. Similar to the Message sources., the message destinations allow you to see which messages are triggered by the aggregate and any components defined in our system that handle those messages. In our example, we can see that the aggregate triggers three different messages: PaymentConfirmedEvent, PaymentPreparedEvent, and PaymentRejectedEvent. We can also see all the handlers defined for each of these events. For example, the PaymentConfirmedEvent has two components that define a handler: the PaymentSaga and the PaymentStatusProjection. Clicking on any of the rows in the table will take you to the Handler Insights view, which shows the handler’s details for that message. Below the general details of the aggregate, a section displays graphs showing how various metrics have evolved over time relative to their behavior. In this case, by default, you will see graphs that show the evolution of the distribution of the time it takes to process a (command) request, affecting an aggregate, the message rate, or the time spent in the handler method, among other graphs. As with any other section of the AxonIQ Console dashboard that displays these graphs, you can select or deselect the graphs shown in this section by clicking on the blue down arrow that indicates the number of chosen graphs. You can also configure the time window displayed by the graphs using the 'Time Window' drop-down list in the upper right corner of the section. Finally, if you need to see any of the graphs in more detail, you can click on them to enlarge them in the center of the page. The Handler Insights tab provides a view of all the message handlers defined in our system. The table shown in this view is a complete view of all points in our application that receive and process messages of any type. The main table lists all our applications' message handler methods to process commands, events, or queries. The table displays information for locating each handler, such as the application, the component, and the message it handles. Below this information, the table also shows some metrics to see how the handler is performing. Our example shows that the RequestBikeCommand handler in the RentalCommand application has an alert. This alert is expected because the bike-rental demo application implements a handler that causes up to 5% of errors in this handler. This alert is one of the benefits of using the AxonIQ Console to monitor and detect problems in our system. It is just a taste of the AxonIQ Console’s benefits and power. In a later section of this tutorial, we will deliberately create more problems in our application and see how they are detected. On the right side of the main table showing all message handlers, there are several categories that allow you to filter the list and narrow down the information you want to see. For example, if we only want to focus on the requests handled by a specific application, such as the payment processor, we could click on 'Payment Processor' under the 'All Applications' category and then select 'RequestMessage' under 'All Message Types', and we will see our table updated: If you want to reset the filter to show all handlers again, select All Applications and All Message Types in the side menu. If you know the name of a particular message handler, you can use the 'Filter Handlers' input file at the bottom of the filter side menu to enter the name - or part of it - of the message type or component type. When you start typing, the main table will update its contents with only those message handlers whose component name or message name contains the search text you introduced. If you click on any of the rows in the 'Handlers Insights' tab, the page will display detailed information about that specific handler. The first section of the Handler Insight details view displays graphs showing how various handler behavior metrics have changed over time. If you want to see any of these graphs in more detail, you can click on it and it will expand and move to the center of the screen. The first graph shows an overview of the time the handler spends in the different steps of preprocessing a message. This graph includes the handler execution time, the time spent committing the message to the buses, and the overhead. The message rate graph shows the history of the number of messages received and processed per minute over the last period. It also shows the number of messages that caused an error during processing. The Total Time graph shows the trend of various statistical measures of the time it took to process a message in the handler. The graph shows the time it took to process the fastest message (the minimum time), the time it took to process the slowest message (the maximum time), the average of the time it took to process messages (the median), and the maximum time it took to process ninety percent of the fastest messages. The 'Handler Time' graph shows the evolution of various statistical measures of the time taken by the handler to process messages. The graph shows the time it took to process the fastest message (the minimum time), the time it took to process the slowest message (the maximum time), the average of the time it took to process messages (the median), and the maximum time it took to process ninety percent of the fastest messages. By clicking on the 'Message Sources' label, the Handler Insights detail view displays all components that send the messages processed by this handler. In an event-based distributed system, this information is useful for tracking messages and connecting the message handler to other components in our system that produce the information our component consumes. This helps connect the various components of our distributed architecture and sometimes provides the context we need to debug and understand potential problems. Similar to the Message sources., it is sometimes helpful to see which components will receive and handle events or messages sent by the handler we are examining. This is the information we see when we click on the 'Message destinations' label in the 'Handler Insights' details view. In the details view of the Handler Insights tab and the Aggregates tab, we have already seen that AxonIQ Console provides a way to know the source of the messages (events, commands, or queries) processed by a particular handler and to see the components that receive other messages that a particular handler sends. This feature provides an excellent way to see a component’s \"neighbors,\" that is, the handlers related because they send or receive messages associated with the current component. It also allows us to get a small view of how certain messages flow through this particular component. Apart from that, it is useful to have a more comprehensive view of the messages flowing in our system. The Message Flow tab provides exactly this view. By default, this diagram shows the different elements of our system and how they are connected: The applications are represented by large circles The components (aggregates, projections, or sagas) that are the source or destination of messages (events, commands, or queries), represented by smaller dots. The messages that flow from message sources to message destinations. These are represented by animated dotted arcs. The stroke of these lines is thicker or thinner depending on the amount of messages flowing: the thicker the line, the more messages are sent in that particular connection. Optionally, you can also select the diagram to include the buses from which some messages originate. The diagram is configurable, so you can customize it to better represent your system according to your preferences. The first thing you can do is zoom in or zoom out of the diagram by scrolling your mouse over it. You can also rearrange any elements on the diagram (applications or components), and the rest of the connected components will follow your new arrangement. In addition to manually arranging the elements on the diagram, you can also adjust some properties of how the diagram is drawn. On the right side of the diagram, you have several sections that change the \"physics\" of the elements in the diagram. You can spend some time playing around with the different options and seeing how they render different versions of the diagram, which will show how the different components of your application are connected and how messages flow through them.","title":"Overview your Application in AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"your-app-in-axoniq-console","url":"/bikerental-console-demo/main/monitoring/your-app-in-axoniq-console/","titles":[{"text":"Start tab","hash":"_start_tab","id":1},{"text":"Applications tab","hash":"_applications_tab","id":2},{"text":"Detailed application information.","hash":"_detailed_application_information","id":3},{"text":"Online clients","hash":"_online_clients","id":4},{"text":"Slowest handlers","hash":"_slowest_handlers","id":5},{"text":"Application configuration","hash":"_application_configuration","id":6},{"text":"Components","hash":"_components","id":7},{"text":"Processors","hash":"_processors","id":8},{"text":"Versions","hash":"_versions","id":9},{"text":"Application statistics","hash":"_application_statistics","id":10},{"text":"Select the graphs to display.","hash":"_select_the_graphs_to_display","id":11},{"text":"Configuring the time window for the graphs","hash":"_configuring_the_time_window_for_the_graphs","id":12},{"text":"Processors tab","hash":"_processors_tab","id":13},{"text":"Processor details","hash":"_processor_details","id":14},{"text":"Processor summary","hash":"_processor_summary","id":15},{"text":"Instances","hash":"_instances","id":16},{"text":"Segments","hash":"_segments","id":17},{"text":"Event handlers","hash":"_event_handlers","id":18},{"text":"Automation","hash":"_automation","id":19},{"text":"Processor statistics","hash":"_processor_statistics","id":20},{"text":"Application statistics","hash":"_application_statistics_2","id":21},{"text":"Aggregates tab","hash":"_aggregates_tab","id":22},{"text":"Aggregate details","hash":"_aggregate_details","id":23},{"text":"Aggregate handlers","hash":"_aggregate_handlers","id":24},{"text":"Message sources.","hash":"_message_sources","id":25},{"text":"Message destinations","hash":"_message_destinations","id":26},{"text":"Aggregate statistics","hash":"_aggregate_statistics","id":27},{"text":"Handler insights","hash":"_handler_insights","id":28},{"text":"Filtering handlers","hash":"_filtering_handlers","id":29},{"text":"Searching for a specific handler.","hash":"_searching_for_a_specific_handler","id":30},{"text":"Handler details","hash":"_handler_details","id":31},{"text":"Handler statistics","hash":"_handler_statistics","id":32},{"text":"Handler overview","hash":"_handler_overview","id":33},{"text":"Message rate","hash":"_message_rate","id":34},{"text":"Total time","hash":"_total_time","id":35},{"text":"Handler time","hash":"_handler_time","id":36},{"text":"Message sources","hash":"_message_sources_2","id":37},{"text":"Message destinations","hash":"_message_destinations_2","id":38},{"text":"Message flow","hash":"_message_flow","id":39},{"text":"Customize the message flow diagram.","hash":"_customize_the_message_flow_diagram","id":40}]},"275":{"id":275,"text":"After connecting our Axon Framework-based application to AxonIQ Console, and in order to see the benefits of AxonIQ Console while monitoring our system, we will need to send some requests to our application. We could simply start sending some requests manually to our the REST endpoints defined by our bike-rental application. But that will be soon a tedious task to repeat if we want to focus on monitoring our application. So, in this step, we are going to introduce some code to make our application active without the need of us having to manually send requests. To keep things easy and quick, we will do this in two steps: First we will define a new","title":"Add Activity Simulator to Your Application","component":"bikerental-console-demo","version":"main","name":"bike-rental-activity-simulator","url":"/bikerental-console-demo/main/connect-your-app/custom-app/bike-rental-activity-simulator/","titles":[]},"276":{"id":276,"text":"This section will prepare and connect our Axon Framework-based application to AxonIQ Console. We will follow the steps provided by the AxonIQ Console interface after signing up and setting up our free AxonIQ Console account. If you did not follow the Building A Bike Rental Application tutorial and you do not have an Axon Framework-based application ready to connect to AxonIQ Console, you can also use a docker-based bike-rental application that we have prepared for you to easily start and connect to AxonIQ Console. Just skip to Using Docker-Based Bike-Rental Demo section of this guide. During the process of creating your account, AxonIQ Console presented you with the following panel to choose whether to \"connect your application\" or \"start the demo\". The rest of this article corresponds to the instructions displayed when the \"Connect my application\" option is selected in this dialog. If you prefer to explore AxonIQ Console features using the demo application and you clicked on the 'Start Demo' button, you may want to refer to Using Docker-Based Bike-Rental Demo instead. After selecting the \"Connect my application\" option, the AxonIQ Console onboarding flow will ask you to name your \"Workspace\" and \"Environment\". Workspaces are the way that AxonIQ Console groups and separates different applications. A good name for the workspace is the name of the project or software system that groups all the applications/modules that will connect to that space in AxonIQ Console. In this case, we recommend that you use \"Bike Rental\" as the workspace’s name and click on the 'Continue' button. After creating the workspace, we must prepare our application to connect to AxonIQ Console. The process depends on whether our Axon Framework-based application is built using Spring Boot or plain Java. . In our case, we will use the Bike Rental application that we created during the Building A Bike Rental Application tutorial, built using Spring Boot, we should click the 'Spring Boot Starter' button. The following screen instructs us to add the io.axoniq.console:console-framework-client-spring-boot-starter library to your application. The Axon Framework will use this library to connect to AxonIQ Console and send the necessary telemetry data from our application to check its behavior. If you want to know what kind of data is collected and sent to AxonIQ Console by this library, you can check it in the Data sent to AxonIQ section of the AxonIQ Console Framework Client project repository in GitHub So, go to the root pom.xml file of your bike-rental project and add the following: /pom.xml 1.7.3 io.axoniq.console console-framework-client-spring-boot-starter ${console-framework-client.version} With this dependencyManagement, we will ensure that the version of the a console-framework-client-* library is the same in all the modules we connect. Next, add the library to the payment and rental modules. Go to their respective pom.xml files and add the following: /rental/pom.xml io.axoniq.console console-framework-client-spring-boot-starter /payment/pom.xml io.axoniq.console console-framework-client-spring-boot-starter If you are using the version of the bike-rental application that has split the rental module into multiple microservices/rental-* modules, you should add the console-framework-client-spring-boot-starter library to the pom.xml of each microservice. After adding the dependencies to your projects, update your Maven project and ensure that the console-framework-client-spring-boot-starter library is on the classpath of your modules. Once you have added the dependency, click the Next Step button. In this step, we will configure our rental and payment modules with the credentials to connect and send data to the workspace we created for our project. The dialog AxonIQ Console displays in this step allows you to give the module a name and configure the amount of data you want to send to AxonIQ Console from the dead-letter queues. Once you have provided this information, the panel below will update with the properties you need to configure in your applications' application.properties files. The axoniq.console.credentials token is specific to your workspace and should never be shared publicly. The token will be the same for all the applications/modules that connect to the same workspace (in this case, for both the rental and payment modules), but it will be different for other projects or workspaces. So, let’s add these properties to our rental' and `payment' modules. First, open the `application.properties file in your rental folder and add the following properties (copy and paste from the AxonIQ Console dialog above) /rental/src/main/java/resources/application.properties axoniq.console.application-name=Rental module axoniq.console.credentials= axoniq.console.dlq-mode=NONE Next, do the same with the application.properties file in the payment module: /payment/src/main/java/resources/application.properties axoniq.console.application-name=Payment module axoniq.console.credentials= axoniq.console.dlq-mode=NONE If you are using the version of the bike-rental application that has split the rental module into multiple microservices/rental-* modules, you will need to configure these properties in the src/main/resources/application.properties file for each microservice module. Click on the Next button to continue. We have everything configured in our Axon Framework-based application to connect to AxonIQ Console. AxonIQ Console will now display a panel indicating that it is waiting for our application to connect. Now, all you need to do is run your local application. Start both the payment and rental modules from your IDE as we did in the Running your application in your local environment with Docker Compose step of the tutorial. After launching the applications, you should see the connection in AxonIQ Console: Congratulations, you have connected your Axon Framework-based applications to AxonIQ Console. Click on the \"Go to my workspace\" button to access all the information provided by AxonIQ Console from your application. This will display the main AxonIQ Console dashboard for your application: The dashboard contains several tabs that group the information collected from the modules that are connected to AxonIQ Console. These tabs and the information they contain are briefly described in the AxonIQ Console Getting Started Guide You can explore a little bit the information provided in the different tabs, but since the application is idle, the information will not be much useful at this time. If you are using your own application it would be useful to have a script that invokes some of the endpoints of the application to keep it under certain workload. If you are using the bike-rental demo application you developed following the Building A Bike Rental Application tutorial, you can also check the Activity Simulator we have in the bike-rental GitHub repository (take a look at the Simulator and SimulatorConfigController classes and also the application-simulator.properties file) If you are using the docker-based bike-rental demo application provided by AxonIQ Console, you are lucky, as this version already has the activity simulator included.","title":"Prepare your Application for AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"prepare-app-for-console","url":"/bikerental-console-demo/main/connect-your-app/custom-app/prepare-app-for-console/","titles":[{"text":"Create AxonIQ Console workspace and environment.","hash":"_create_axoniq_console_workspace_and_environment","id":1},{"text":"Add AxonIQ Console client library","hash":"_add_axoniq_console_client_library","id":2},{"text":"Configure AxonIQ Console credentials in your app","hash":"_configure_axoniq_console_credentials_in_your_app","id":3},{"text":"Connect your application to AxonIQ Console","hash":"_connect_your_application_to_axoniq_console","id":4},{"text":"You are ready to monitor your application with AxonIQ Console","hash":"_you_are_ready_to_monitor_your_application_with_axoniq_console","id":5}]},"277":{"id":277,"text":"AxonIQ Console provides a working Axon Framework-based application ready to run on your local machine and connect to your AxonIQ Console dashboard. If you already have your own Axon Framework-based application and have followed the steps described in the Prepare your Application for AxonIQ Console section of this tutorial, you can skip directly to the Monitoring your Application with AxonIQ Console section This demo application has a feature (thanks to the use of the AxonFramework-Firestarter library) that allows you to introduce some delays in specific components of your Axon-Framework application, or to configure the percentage of messages that will cause an error. This feature allows you to experiment by causing problems in your application and see how AxonIQ Console detects them. This exercise is an excellent way to see the real benefit of using AxonIQ Console. Running the Docker-based bike-rental demo on your local machine is easy. The bike-rental demo with all its modules is available through a docker-compose.yml descriptor, so you will only need the following elements: Docker Desktop and Docker compose installed on your local machine. A free AxonIQ Console account. If you don’t already have one, you can follow the instructions in the Setting up your free AxonIQ Console account section of this tutorial. During the sign-up process for your free AxonIQ Console account, you will see a dialog that allows you to choose whether you want to follow the instructions on how to connect your own application or start the demo. Suppose you already have an AxonIQ Console account and you don’t see the previous panel that is part of the sign-up process. In that case, you can access the instructions to download the Docker-based demo application by creating a new environment within a workspace. Then, in the 'Start' tab, below the \"Connect Axon Framework applications\" section, you will see the three options to connect your custom application or start the demo. When you click the \"Run Demo\" button, you will see another dialog that allows you to download the docker-compose descriptor file that will download and run the demo application locally. Click on the 'Download Compose file' button and save the docker-compose.yml file to a local folder on your machine. The docker-compose.yaml file configures multiple docker images with: The various microservices that compose the application: Payment Processor Service, Rental Command Service, Rental Payments Service, Rental Query Service and Rental UI. An Axon Server instance that the different microservices will use as the event store and message broker. These modules already have credentials configured to connect to your AxonIQ Console dashboard. The docker-compose.yaml file provided in this step is customized for your specific account and AxonIQ Console workspace. Please do not share this file with other colleagues; it will connect their applications to your workspace. If you want to share the power of AxonIQ Console with your colleagues, point them to follow this guide, and they will have their own version of the docker-compose file available when they sign up. When you download the docker-compose.yml file, AxonIQ Console displays a dialog box to indicate it is waiting for the application components to connect. All you need to do now is open a terminal, go to the folder where you downloaded the docker-compose.yml file and type the following command: ❯❯ docker compose up You will see Docker start downloading the various Docker images needed to run the demo application and immediately start the containers. Depending on your internet connection, this may take some time. ❯❯ docker compose up [+] Running 8/14 ⠏ service-rental-payment [⡀] 15.12MB / 79.56MB Pulling 268.9s ⠦ 1044f17e2323 Downloading [=========> ] 15.12MB/79.56MB 266.7s ✔ axon-server Pulled 1.6s ✔ service-payment Pulled 194.9s ✔ 7ae84cee97a8 Pull complete 113.5s ✔ 7ed31eaf5ef8 Pull complete 192.4s ✔ 9ee97334f60b Pull complete 192.4s ✔ 29e6b66d6884 Pull complete 192.8s ⠇ service-ui [⣤] 29.19MB / 55.7MB Pulling 268.9s ⠦ 2389b0240d5b Downloading [==========================> ] 29.19MB/55.7MB 266.7s ✔ service-command Pulled 218.0s ✔ 0397a9d5ba94 Pull complete 215.7s ⠇ service-query [⣷] 75.69MB / 79.56MB Pulling 268.9s ⠦ 70f9be2efb6e Downloading [===============================================> ] 75.69MB/79.56MB 266.7s After the download is complete and the containers are launched, you will see the demo application components connected to AxonIQ Console: Click on the \"Continue\" button. Congratulations, you have successfully connected your application to AxonIQ Console. Before showing you the AxonIQ Console dashboard and all the information about how your system behaves, you will see another dialog with some links that may be useful for learning more about \"AxonIQ Console Tools\". Click on the \"Go to my workspace\" to access your AxonIQ Console dashboard and see how AxonIQ Console monitors your application. In the next step we will look at how AxonIQ Console displays the information about your application’s behavior and performance.","title":"Using Docker-Based Bike-Rental Demo","component":"bikerental-console-demo","version":"main","name":"start-docker-based-demo","url":"/bikerental-console-demo/main/connect-your-app/docker-based-demo/start-docker-based-demo/","titles":[{"text":"Requisites.","hash":"_requisites","id":1},{"text":"Dowload the demo application.","hash":"_dowload_the_demo_application","id":2},{"text":"Running locally the demo application.","hash":"_running_locally_the_demo_application","id":3}]},"278":{"id":278,"text":"In this step we will configure the dependencies to use AxonFramework in our project. To enable the use of Axon Framework, we can configure the required Axon Framework dependencies in our project’s pom.xml file. Nevertheless, depending on the specific features we plan to use later, we may need to add additional dependencies for other libraries or tools later (for example, micrometer or reactor). The Bill of Materials (BOM) in Maven is a tool that specifies the list of components, libraries and versions proven to work well together, but without the need to import them until they are specifically referred to later in any of the modules. Axon provides an axon-bom artifact that defines the list of components, libraries, and specfic versions that have been tested and work well. So, we will start by adding the reference to the axon-bom in our root project’s pom.xml maven descriptor. We will start by defining a property to configure the axon.version: /pom.xml 4.9.4 org.axonframework axon-bom ${axon.version} pom import Now, we can declare the dependencies to use Axon Framework in any of the submodules of our project. Once the axon-bom is declared in the root project, we only need to specify the axon framework dependencies in the maven descriptor pom.xml file of the rental module. As we use SpringBoot, we have a convenient way of bootstrapping Axon Framework with the axon-spring-boot-starter. We will also add the axon-test dependency as we will be adding some tests to our project: /rental/pom.xml org.axonframework axon-spring-boot-starter org.axonframework axon-test test We are not specifying the version for any of the Axon Framework dependencies. The reason is that these dependencies are already defined with their specific versions in the axon-bom file that we declared in the root project. We will use the core-api module to define the messages used to communicate the different modules of our rental application. Some of those messages will require using some Java annotations provided by AxonFramework. Thus, we need to add some AxonFramework dependencies to the project. We only need to add the following dependency to the core-api maven descriptor file: /core-api/pom.xml org.axonframework axon-modelling Now, we are ready to start implementing the first functionality for our bike-rental application.","title":"Bootstraping AxonFramework","component":"bikerental-demo","version":"main","name":"bootstraping-axonframework","url":"/bikerental-demo/main/bootstraping-axonframework/","titles":[{"text":"Configuring Axon’s bill of materials (BOM)","hash":"_configuring_axons_bill_of_materials_bom","id":1},{"text":"Declaring Axon dependencies in the rental module","hash":"_declaring_axon_dependencies_in_the_rental_module","id":2},{"text":"Adding support to model messages with Axon in the core-api module.","hash":"_adding_support_to_model_messages_with_axon_in_the_core_api_module","id":3}]},"279":{"id":279,"text":"For our sample application, we will create a multi-module maven project containing only two modules: a core-api module containing the API definition and messages used within the application and a rental module containing the business logic for our bike rental application. We will design our rental module as a modular monolith, which means that we will keep a single project, but with the logic components decoupled so that it is easy to split the module into different pieces later. First, we need to create a new project and configure the AxonFramework dependencies that will help us focus on the business code. We will create a maven project with the following structure: Bike Rental demo application structure 📒 bike-rental (1) 📒 core-api (2) 📂 src 📂 main 📂 java 📦 io.axoniq.demo.bikerental.coreapi (3) 📄 pom.xml (4) 📒 rental (5) 📂 src 📂 main 📂 java 📦 io.axoniq.demo.bikerental.rental (6) 📄 pom.xml (7) 📄 pom.xml (8) 1 The bike-rental root project is the parent project that will contain all the modules from our application. This root project will define org.springframework.boot:spring-boot-starter-parent as its parent to configure SpringBoot support for all the modules. 2 The core-api project will contain the API and definition of the messages used to communicate the different modules. 3 The io.axoniq.demo.bikerental.coreapi is the package where we will place our classes with the definition of Commands, Events, and Queries exchanged between different modules. 4 The pom.xml maven descriptor contains the dependency declaration for the core-api project and links to bike-rental as its parent project. 5 The rental module will be our starting point to place the business logic of our application. 6 The io.axoniq.demo.bikerental.rental package is where we will add the code for our application. 7 The pom.xml maven descriptor will include the dependencies required for the rental module. It also declares bike-rental as its parent and inherits any dependency declaration from that project. 8 Finally, the pom.xml maven descriptor at the root bike-rental project keeps the common dependency definition inherited in all the submodules. It also keeps the list of that form part of the project. If you are already experienced with Maven and/or your IDE, you can just create a multi-maven project with the structure described here and move to the next step of this tutorial to configure Axon Framework in your project. If you prefer to follow step-by-step instructions to create the project, keep reading through the following sections in this step: We will use Maven as the build tool for this project. We aim to create a multi-module project that allows us to deploy each module independently later when -and if- our application reaches the point at which we need to split it and scale out. We will start by creating the root project containing the different modules or subprojects. This type corresponds to a maven project with the packaging property set to pom. You can create the project from your console terminal with the following maven command: mvn archetype:generate \\ -DarchetypeGroupId=org.codehaus.mojo.archetypes \\ -DarchetypeArtifactId=pom-root \\ -DarchetypeVersion=RELEASE \\ -DgroupId=io.axoniq.demo.bikerental \\ -DartifactId=bike-rental \\ -Dversion=0.0.1-SNAPSHOT \\ -DinteractiveMode=false Maven will create a bike-rental folder with a maven project descriptor file: pom.xml. You can import the project into your favorite IDE. Alternatively, you can use your preferred IDE to create the project, making sure to set the following project properties: archetypeGroupId org.codehaus.mojo.archetypes archetypeArtifactId pom-root archetypeVersion RELEASE groupId io.axoniq.demo.bikerental artifactId bike-rental version 0.0.1-SNAPSHOT To configure Java 21 for our project, add these properties to the pom.xml file: 21 21 21 Now that we have our root project, we need to configure it to use SpringBoot. We can configure the SpringBoot dependencies in our project in two ways: the first one is by adding them under the section of the root pom.xml file. Alternatively, we can make our root project depend on `org.springframework.boot:spring-boot-starter-parent', which already defines all the dependencies needed to use SpringBoot in our projects. We will use the second option. Open your pom.xml and add the following snippet right before the tag: org.springframework.boot spring-boot-starter-parent 3.3.0 We will start by creating a main module for our bike rental application. This module will contain the business logic. Our goal with AxonIQ technologies is to focus on a single application and avoid unnecessary complexity by dealing with multiple modules immediately. However, we aim to build our module in a way that allows for easy evolution into different modules. This design is what we call a modular monolith. Our main module will be the rental module. To create it, you can use your IDE to add a new module, or you can use the following maven command from the root bike-rental folder: mvn archetype:generate -DgroupId=io.axoniq.demo.bikerental -DartifactId=rental -Dpackage=io.axoniq.demo.bikerental.rental -DinteractiveMode=false After running the mvn command you will see a new rental directory with a rental/pom.xml file, which declares the project as a sub-module of the root project: rental/pom.xml io.axoniq.demo.bikerental bike-rental 0.0.1-SNAPSHOT rental At the same time, the execution of the mvn command also modified the maven project descriptor of the root project to include the new module: /pom.xml rental Your IDE should now show the new project as a submodule. If the IDE does not detect the new module, you may have to refresh the project structure and reload the Maven projects in your IDE. Although we are going to code our business logic in a single rental module, we also have already mentioned that we want to be able to split our project into different modules when we need to evolve into multiple modules (or microservices). So, we are going to have a module in which we will include the definitions of the messages and classes that are used to communicate the different modules. We will name this project as core-api. To create the core-api submodule, use your IDE to create a new Module (make sure you create it using the root project as the parent), or you can use the following maven command from the root project’s folder: mvn archetype:generate -DgroupId=io.axoniq.demo.bikerental -DartifactId=core-api -Dpackage=io.axoniq.demo.bikerental.coreapi -DinteractiveMode=false After executing the command, you should see a new core-api project with a pom.xml file declaring the root project as the parent: /core-api/pom.xml bike-rental io.axoniq.demo.bikerental 0.0.1-SNAPSHOT And the maven descriptor in the root project now should also include the core-api as a module: /pom.xml rental core-api Your IDE should recognize the two sub-projects as modules. If the IDE does not detect the new module, you may have to refresh the project structure and reload the Maven projects in your IDE. As the last step in creating the multi-module structure for our project, we will declare that the main rental module will use the core-api module. To do that, declare the following dependency in the maven descriptor file for the rental module: rental/pom.xml ${project.groupId} core-api ${project.version} After completing this last step your project should have the structure that we described in the Project Structure section at the begining of this step. Once that we have our project created, in the next step, we will learn how to bootstrap Axon Framework in our project.","title":"Create New Axon Framework Multi-Project","component":"bikerental-demo","version":"main","name":"create-axon-framework-project","url":"/bikerental-demo/main/create-axon-framework-project/","titles":[{"text":"Project structure","hash":"_project_structure","id":1},{"text":"Create the root project","hash":"_create_the_root_project","id":2},{"text":"Configuring SpringBoot","hash":"_configuring_springboot","id":3},{"text":"Create the project modules","hash":"_create_the_project_modules","id":4},{"text":"Creating the main rental module","hash":"_creating_the_main_rental_module","id":5},{"text":"Creating the core-api subproject","hash":"_creating_the_core_api_subproject","id":6},{"text":"Add dependencies for the main rental module","hash":"_add_dependencies_for_the_main_rental_module","id":7}]},"280":{"id":280,"text":"In this tutorial step, we will implement the Query Model, a component whose primary goal is to receive and handle any request for information about our system. These requests, which only expect some information in return and whose processing does not imply making any changes in our system, are known as Queries. In order to efficiently handle and process a query request, we will design our system to maintain a version (or a view) of the data that is updated and aligned with the format in which users can request information from the system. This component that aims to keep a copy of the data aligned with the structure of the expected query response is called the Projection. To keep the projection up to date with the changes made by other components (the command handlers) in the system, the Query Model component must receive the event messages that represent the notification of changes made by the command model and modify the projection accordingly. This way, our query model will be ready to handle any query request to return this updated information view. If we recall the main diagram of our application, it’s now time to focus on the bottom half of the diagram: implementing the components needed to handle and respond to queries. If, as we have just stated, our projection component will focus on handling queries to request information from our system, the first thing we need to consider when designing the query model is the exact request we will handle and how we will return the information. In this case, we will implement support in our application to return information about one or more bikes, including where the bike is, whether it is available or rented and who has rented it. So, we will model all the information expected from these queries in the BikeStatus class. We will define this class in the core-api: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatus.java public class BikeStatus { private String bikeId; private String bikeType; private String location; private String renter; private RentalStatus status; public BikeStatus() { } This class defines the fields with the information we need to present in the query response message. To model the status of the bike, we will define the following Java enum: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/RentalStatus.java package io.axoniq.demo.bikerental.coreapi.rental; public enum RentalStatus { AVAILABLE, REQUESTED, RENTED } Finally, after we have all the fields for the BikeStatus response message, it’s convenient to add methods to retrieve the information from the class. So, we can add the accessor methods: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatus.java public class BikeStatus { // Accessor methods public String getBikeId() { return bikeId; } public String getBikeType() { return bikeType; } public String getLocation() { return location; } public String getRenter() { return renter; } public RentalStatus getStatus() { return status; } public String description() { switch (status) { case RENTED: return String.format(\"Bike %s was rented by %s in %s\", bikeId, renter, location); case AVAILABLE: return String.format(\"Bike %s is available for rental in %s.\", bikeId, location); case REQUESTED: return String.format(\"Bike %s is requested by %s in %s\", bikeId, renter, location); default: return \"Status unknown\"; } } Now that we have modeled the information we want to expose in response to requests to check the status of a bike. We can now create the component to keep this information updated and ready to be returned when a query request is processed. We need to create a BikeStatusProjection class in the …​rental.query package of our rental module: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { private final BikeStatusRepository bikeStatusRepository; (1) public BikeStatusProjection(BikeStatusRepostory repository) { this.bikeStatusRepository = repository; } } 1 We will use a Spring repository to persist the BikeStatus model, which will be updated with the latest state based on the changes represented by the events received from the command model. We need to define the Spring JPA repository we will use in our projection: @Repository (1) public interface BikeStatusRepository extends JpaRepository { (2) } 1 The org.springframework.stereotype.Repository annotation instructs Spring to generate a Repository component from this interface. 2 The convention for Spring JPA repositories is to create an interface that extends from JpaRepository where T is the type of the persisted classes and ID is the type of the identifier field in T. In this case, T should be annotated with @Entity and the ID should be of the same type as the field annotated with @Id in T With Spring Data support, this is all we need to define to have a Repository implementation that supports the basic operations of storing, updating, altering, querying, and dropping BikeStatus instances in the DB. You can learn more about Spring Data Repositories in the section dedicated to \"Defining Repository Interfaces\" from the Spring Data JPA Reference Finally, to make the repository work, we must modify our BikeStatus class to add the persistence annotations. Open the BikeStatus class from the core-api module and introduce the following changes: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatus.java @Entity (1) public class BikeStatus { @Id (2) private String bikeId; private String bikeType; private String location; private String renter; private RentalStatus status; public BikeStatus() { } 1 The Entity annotation marks this class as a persistent entity. This is the T in the Spring’s JpaRepository 2 This annotation instruct the persistent layer to consider bikeId as the Id for the persistent record. The type of the field annotated with @Id (in this case String) is the ID in the Spring’s JpaRepository With these changes we are ready to define the methods in our BikeStatusProjection that should handle the events that notify changes made by the command model and update and persist the BikeStatus. To keep the list of our bikes in the query model up to date, we need to define a method that will be invoked whenever a new bike is registered in the system (the BikeRegisteredEvent represents that notification). We can do this by adding an @EventHandler method to our BikeStatusProjection: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { @EventHandler (1) public void on(BikeRegisteredEvent event) { (2) var bikeStatus = new BikeStatus(event.bikeId(), event.bikeType(), event.location()); (3) bikeStatusRepository.save(bikeStatus); (4) } } 1 The @EventHandler annotation instructs Axon Framework to register this component as a subscriber to BikeRegisteredEvent and call this method for each one. 2 By default, Axon Framework uses the first argument in the method definition to match the type of events received and passes the event as an argument to the method. 3 Since BikeRegisteredEvent implies that a new bike has been created in the system, we need to create a new instance of BikeStatus to represent the state of this new bike. 4 Finally, we will persist the BikeStatus using the bikeStatusRepository Our next task in defining our projection is to implement the support for handling queries and returning the current information we have. We need to add a @QueryHandler method for each query we want to support. Since we already have the bike statuses persisted in the way we need to return the information, we only need to query the database and return that. Before jumping into creating the methds to handle the queries, we need to consider how we are going to identify the different queries. Axon Framework allows different ways to identify a query message and link that query to the right method for handling it. In this tutorial we are going to start using the most simple way to identify a query: by assigning each query a name. We are going to use String constants to make sure we always refer to the same query name, both in the modules that send the query messages and in the components that are handling them. So, as the first step we will create a class to define and share those query names in different components. Define the following class in the core-api module: /core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatusNamedQueries.java package io.axoniq.demo.bikerental.coreapi.rental; public class BikeStatusNamedQueries { public static final String FIND_ALL = \"findAll\"; public static final String FIND_ONE = \"findOne\"; public static final String FIND_AVAILABLE = \"findAvailable\"; } Now that we have the names of the queries defined, let’s define the methods that will handle and respond them. Let’s start by implementing a method to return all the bikes (with their status) defined in our system. Add the following method to your BikeStatusProjection class: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { @QueryHandler(queryName = BikeStatusNamedQueries.FIND_ALL) (1) public Iterable findAll() { (2) return bikeStatusRepository.findAll(); (3) } } 1 The org.axonframework.queryhandling.QueryHandler annotation instructs Axon Framework to register this method as a target to invoke for certain types of queries. In this case, we identify the queries by name (although the type of the query message could also identify them, but we will see an example of that later), and we declare the specific name of the query to be handled by this method with the queryName attribute. 2 Since our query has no parameters (we want to retrieve the information for all the bikes in our system), our query handler method does not receive any parameters. It only needs to return the list of items we find in our DB. 3 As we have the information already prepared and aligned with the response format (thanks to the `EventHandler`s), we only need to retrieve the information from the repository and return it. In short, we have defined a query handler method that Axon Framework will call upon the reception of a query message to FIND_ALL the bikes in our system. And the method will simply retrieve the up-to-date information from the DB and return the BikeStatus for all the bikes. We may need to support different query requests for information about the bikes in our system. The same projection can be used to satisfy different queries. For example, if we want to support queries to return all the available bikes, filtering by the type, or the BikeStatus for a specific bike by its bikeId, we can add the following two methods to our BikeStatusProjection: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { @QueryHandler(queryName = BikeStatusNamedQueries.FIND_AVAILABLE) (1) public Iterable findAvailable(String bikeType) { (2) return bikeStatusRepository.findAllByBikeTypeAndStatus(bikeType, RentalStatus.AVAILABLE); } @QueryHandler(queryName = BikeStatusNamedQueries.FIND_ONE) (3) public BikeStatus findOne(String bikeId) { (4) return bikeStatusRepository.findById(bikeId).orElse(null); (5) } } 1 We define a new QueryHandler method for the findAvailable query. 2 The query will filter by the type of the bike, so we need to add the bikeType argument to the method. 3 We need to add a specific method to our BikeStatusRepository that implements the query to the DB. We will do that right after this. Since we are using Spring Data, the name of the method should follow a specific pattern. (More on this in a few lines) 4 We define another QueryHandler method for the FIND_ONE query. 5 In this query, we only need to return one bike, and we need the bikeId as an argument to the method. In this case, we will return a single BikeStatus because we are returning a single element and not a collection. 6 The default findById method provided by the Spring Data JpaRepository returns an Optional when we look up an item based on its id. This is because the id we are looking for may not exist in our DB. So we add a fallback to return null in case there is no bike with the given bikeId in the DB. One last thing we need to add is a method to our Spring Data BikeStatusRepository to support the specific method to filter all records from the DB all the records by bikeType and status. Fortunately, thanks to Spring Data we only need to define a method in the BikeStatusRepository interface following a specific naming pattern, and Spring Data will generate the implementation with the corresponding SQL query to the DB. So, go to the BikeStatusRepository and add the following method: @Repository (1) public interface BikeStatusRepository extends JpaRepository { (2) List findAllByBikeTypeAndStatus(String bikeType, RentalStatus status); long countBikeStatusesByBikeType(String bikeType); } When we define a Spring Data JPA repository that extends JpaRepository, Spring Data generates for us the implementation of a basic set of methods to query the database. These generated methods cover the operations of creating, updating, querying and deleting registers from the database. Sometimes we need to define additional queries to filter elements according to different criteria. For these types of queries, Spring Data allows us to simply define new methods in our interface and, if we follow a certain naming convention, Spring will be able to infer the query that needs to be executed against the database from the name of the method and its arguments. This is sometimes called Derived Queries and you can learn how to add specific methods for different queries in the section dedicated to Query Creation from the Spring Data Reference guide Now, our BikeStatusProjection fully supports answering to queries to findAll bikes, findAvailable bikes of a certain type, and findOne specific bike given its bikeId. In the next section we will extend our RestController to add endpoints for these queries and route the queries to the system using Query messages. Now that we have full support in our projection to handle queries, let’s implement and expose the endpoint in our controller that will receive HTTP requests for the query and route the corresponding query message internally. To do this, we will add a couple of @GetMapping annotated methods in the RentalController we created in Implementing the HTTP REST controller. Those methods will use the QueryGateway that we already added to the RentalController to route the queries through Axon Framework: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController (1) @RequestMapping(\"/\") (2) public class RentalController { private final CommandGateway commandGateway; (3) private final QueryGateway queryGateway; (4) } 1 The RestController annotation by spring defines this as a component that will expose the REST endpoint URLs. 2 The @RequestMapping annotation establishes the root URL for all the endpoints exposed by this controller. 3 The CommandGateway is the Axon Framework component that we already used to route commands. 4 The QueryGateway is the Axon Framework component that we will use now to route the query messages. We already configured the query handler methods in the last section to use the queryName attribute and link the method to the query by query name. So, we will add these query names as constants to our RestController: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController @RequestMapping(\"/\") public class RestController { } To implement the method that exposes the endpoint for returning all the bikes and their status, add the following method to our RestController: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController @RequestMapping(\"/\") public class RestController { @GetMapping(\"/bikes\") (1) public CompletableFuture> findAll() { (2) return queryGateway.query( (3) BikeStatusNamedQueries.FIND_ALL, (4) null, (5) ResponseTypes.multipleInstancesOf(BikeStatus.class) (6) ); } } 1 The GetMapping Spring annotation specifies that this method will be invoked whenever a GET request to the URL /bikes is received by the application. 2 The method will return a list of BikeStatus responses. See the info block below for an explanation on returning the CompletableFuture or the List directly. 3 We will use the query mehtod on the queryGateway component provided by AxonFramework to route the query. This method receives three parameters: 4 The query. It could be an object or a String with the query name. In this case, as the queries are simple ones, we have choosen to use query names. 5 The query itself, with the parameters or criteria for filtering the results. In this case, the findAll query does not have any filter, so we specify null as the query. 6 The type of reponse we are expecting from this query. In this case, we expect one or more instances of BikeStatus. A performance consideration on returning CompletableFutures from your RestController method. The queryGateway returns a CompletableFuture which keeps a reference to the result of executing the query, and allows to get the results of type T when they are ready. This way, the call to the query method does not block and returns immediately after sending the query message to the query bus, even though the response message has not been calculated. This way, with Axon Framework, any code sending a query message does not need to wait until the query is fully executed and can do something else while the response is received. Only when we call the get() method on the CompletableFuture the executing thread will block until the response is ready. We could have implemented the method to return the result instead, by returning the result of callling the CompletableFuture::get method: public List findAll() { CompletableFuture> result = queryGateway.query(FIND_ALL_QUERY, null, ResponseTypes.multipleInstanceOf(BikeStatus.class)); return result.get(); (1) } 1 The get() call will block the thread until the result is received back. In this case, the thread calling the findAll method will be blocked until the response message is received, and thus, we are blocking one of the Tomcat’s worker threads. By returning the CompletableFuture> we are not blocking the Tomcat Worker Thread inside findAll. In a similar way, we can add another @GetMapping annotated method to expose the endpoint for receiving requests to get the BikeStatus for a specific bike given its bikeId: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController @RequestMapping(\"/\") public class RestController { @GetMapping(\"/bikes/{bikeId}\") (1) public CompletableFuture findStatus(@PathVariable(\"bikeId\") String bikeId) { (2) return queryGateway.query(BikeStatusNamedQueries.FIND_ONE, bikeId, BikeStatus.class); (3) } } 1 The @GetMapping annotation configures the method to be invoked when a GET request to /bikes/{bikeId} is received, and defines the part of the URL that comes after /bikes/ to be assigned to the bikeId path variable. 2 The @PathVariable(\"bikeId\") annotation instruct Spring to provide to the method argument the value of the URL that matches the bikeId path variable. 3 We use the query method of the queryGateway to send the query message. This time, we specify the provide bikeId as the query criteria as the second argument, and the BikeStatus.class as the type of the response we are expecting from the query. Now we can run our application again as we described in Running your application in your local environment with Docker Compose and test that our queries work. When we invoked the endpoint to register new bikes after we implemented the command handler, the command handler triggered the corresponding BikeRegisteredEvent to notify all the components (like our projection) of the changes. Back then, we didn’t have our BikeStatusProjection implemented, which means we didn’t have the event handlers for those BikeRegisteredEvent. What happen to those changes? Have we lost those events? How are we going to keep our query model updated? Remember that Axon Server acts both as a Message Broker (optimized and configured for routing Events, Commands and Queries), but also as an Event Store. Which means not only that it keeps all those Events persisted, but also that its persistence is optimized for the storage and retrieval patterns needed in a Event-Sourcing architecture. When we start Axon Server (as configured in the docker-compose.yml file), Axon Server will start and all the previous events are still available. When our application connects and register the event handlers for the BikeRegisteredEvent, Axon Server will know that this is a new component that needs all the events from the start. Consequently, Axon Server will deliver to our BikeStatusProjection all the past events in the order that they happened. To test our findAll query we simply need to send a HTTP GET request to the following endpoint: http://localhost:8080/bikes To get the status of a specific bike, we need to send an HTTP GET request to the following URL: http://localhost:8080/bikes/{bikeId} We can invoke the endpoint from the command line using the curl command: % curl -X GET \"http://localhost:8080/bikes\" [ { \"bikeId\": \"8427681b-1ee6-4e0a-b5d8-c524b9ed553d\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"9f4572c0-c09d-4452-bd31-e0464143baf7\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"547a47fa-573b-4140-88af-0ea84862944b\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" } ] You can also invoke the findOne query: %% curl -X GET \"http://localhost:8080/bikes/8427681b-1ee6-4e0a-b5d8-c524b9ed553d\" { \"bikeId\": \"8427681b-1ee6-4e0a-b5d8-c524b9ed553d\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" } If you are using IntelliJ IDEA you can edit the requests.http file we created at Invoking the Create Bike EndPoint Using IntelliJ IDEA to add the following lines: /requests.http ### List all # Show available bikes GET {{rental}}/bikes Accept: application/json ### Bike status # Show bike status GET {{rental}}/bikes/8427681b-1ee6-4e0a-b5d8-c524b9ed553d Accept: application/json ### Now you can click on the green \"play\" icon that is shown right to the left of the requests to execute the request: GET http://localhost:8080/bikes HTTP/1.1 200 OK Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json Content-Length: 497 [ { \"bikeId\": \"4ee11ca7-3a38-4c37-9584-f016e450998e\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"9f4572c0-c09d-4452-bd31-e0464143baf7\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"547a47fa-573b-4140-88af-0ea84862944b\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"d29775ea-2cd6-4102-b887-552d4cdb84db\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" } ] Response file saved. > 2024-04-22T173839.200.json Response code: 200 (OK); Time: 34ms (34 ms); Content length: 497 bytes (497 B) With this, we have implemented an example of the main message handler component that we will have on an application that is designed to be able to scale out easily: We have a command model with the implementation of the Bike aggregate, that defines the @CommandHandler s and sends the events that notifies the changes made in the system as a result of processing the command. The command model also subscribes to those events using some @EventSourcingHandler. This way we can guarantee that the set of events produced by the command handler are the real source of truth for any changes in our system. We also have defined the query model which consists of a Projection of the data kept in a structure that helps replying to any request for information as quick as posible. This queries are processed by the @QueryHandlers defined in the Projection. To keep the data in the Projection up-to-date, we have defined a set of @EventHandler that will be invoked upon reception of the events sent by the @CommandHandler. This event handlers will update the projection’s DB accordinglu. Finally, we have a @RestController that exposes the endpoints for invoking the request to register a new bike, or the queries to retrieve information about all or one specific bike. This controller methods, will send the corresponding Command or Query messages through the CommandGateway or QueryGateway provided by Axon Framework. These are the basic components that we will use to implement any further feature in our system. Sometimes, some of those features, can be a little bit more complex and the business logic may require additional things to consider. We will explore some more advanced topics of building applications with Axon Framework in upcoming sections.","title":"Creating the Query Model","component":"bikerental-demo","version":"main","name":"create-bike-status-projection","url":"/bikerental-demo/main/create-bike-status-projection/","titles":[{"text":"Creating the BikeStatus response message","hash":"_creating_the_bikestatus_response_message","id":1},{"text":"Creating the BikeStatus projection","hash":"_creating_the_bikestatus_projection","id":2},{"text":"Creating the BikeStatus class and the Spring JpaRepository","hash":"_creating_the_bikestatus_class_and_the_spring_jparepository","id":3},{"text":"Define the BikeRegisteredEvent handler.","hash":"_define_the_bikeregisteredevent_handler","id":4},{"text":"Handling the queries from the projection.","hash":"_handling_the_queries_from_the_projection","id":5},{"text":"Using named queries.","hash":"_using_named_queries","id":6},{"text":"Implement a query to return all the bikes.","hash":"_implement_a_query_to_return_all_the_bikes","id":7},{"text":"Implementing support for other queries in our projection.","hash":"_implementing_support_for_other_queries_in_our_projection","id":8},{"text":"Creating the Endpoint to accept query request.","hash":"_creating_the_endpoint_to_accept_query_request","id":9},{"text":"Implementing endpoint for findAll query","hash":"_implementing_endpoint_for_findall_query","id":10},{"text":"Implementing endpoint for findOne query","hash":"_implementing_endpoint_for_findone_query","id":11},{"text":"Running and invoking the queries","hash":"_running_and_invoking_the_queries","id":12},{"text":"Invoking the findAll and findOne queries","hash":"_invoking_the_findall_and_findone_queries","id":13},{"text":"From the command line","hash":"_from_the_command_line","id":14},{"text":"Using IntelliJ IDEA","hash":"_using_intellij_idea","id":15},{"text":"Conclusion.","hash":"_conclusion","id":16}]},"281":{"id":281,"text":"In this step of the tutorial, we will implement the support for our first feature: create (or register) a new bike in our system. Before jumping over the keyboard to start writing code, let’s first introduce the big picture of the design of our system so that we are prepared to split and scale it out later. Although we will work on our rental module, we want to build it as a modular monolith. To achieve that goal, we need to keep a few design goals in mind: Logical modules based on component’s responsibility: We will group them according to their responsibility in our system. We are going to identify the following logical modules: UI/API: Components that receive requests directly from the user or external applications. We will implement our application’s interface to users or other applications using a REST API. Command Model: These are the components that receive all the requests that, as a result of processing them, imply a change in the state of our system. Requests like \"Register a new bike\", \"Rent a bike\" or \"Return a bike\" are a few examples of Commands Query Model (also known as Projections): Composed of components that will handle the requests for information (or queries). In order to reply as fast as possible, these components will keep the data from our system structured as close as possible to how the user expects the information in the response. For example, imagine that our application needs to support requests to get a complete list of all the bikes and their availability status. In that case, a component (a Projection) will keep the list of all the bikes with their state up to date and ready to be sent back when requested. Components loosely coupled: we will use messages (like Commands, Events or Queries) to communicate the different logical modules. Location transparency: we want to rely on abstractions that allow our components not to have to deal with the specific details of how to reach other components to deliver a message. For example, the UI (whose responsibility is to receive HTTP requests and forward the right message to the appropriate handler, either in the Command Model or in the Query Model) should not have to know which is the specific component that will handle and process the request. These design goals may seem complicated to achieve. Still, if we rely on the correct type of messages and thanks to AxonIQ tools, you will see it is much easier to achieve. In summary, our rental application will have the following high-level architecture diagram for handling requests to register a new bike in our system (and, generally, to handle all types of requests.) These could be separate modules, but for now, we are going to consider these just as logical components within the same project: We will define different packages in the same project (in our case, the rental module) When the application receives a request to create a bike, that implies that the state of our application will change because, after successfully processing it, we will have a new bike in our system (so, the list of available bikes -our application’s state- will have changed). So, we will model our request as a Command; in our case, we will call it RegisterBikeCommand. So, the RegisterBikeCommand will be routed to the Command Model, where we will implement a handler method to process it. That method must create the new Bike in our system and notify that \"a new bike has been registered\" to other components interested in this change. The type of this message, a notification that something has happened, corresponds to what we define as an Event. Thus, the command handler will trigger a BikeRegisteredEvent. One last but important thing to remember in our design is the order in which we will implement the code that creates the new bike in our system and the code that fires the event that notifies the change. In our application, we want to follow the design goals of Event Sourcing, and that implies that the changes in our command model will be done as a result of processing the same BikeRegisteredEvent just as any other component in our application will do. That means that, among other good reasons, the list of Events will become our system’s single source of truth. The steps for implementing the command handling for the RegisterBikeCommand will be: Receive and validate the command in the @CommandHandler. If valid, send a BikeRegisteredEvent from the @CommandHandler. Register and receive the BikeRegisteredEvent using an @EventSourcingHandler in our Command model. Create the bike and assign the details for the bike created in the @EventSourcingHandler of our command model. In the following sections, let’s see how to implement each of these steps in detail. As we aim to keep the modules loosely coupled so that we can easily split the modular monolith into different projects if we reach in the future the point in which the application has grown too complex that it needs to scale to multiple simpler modules, it’s a good idea to keep the definition of the messages that we are going to use to communicate those logical modules in the core-api module we created earlier. So, we will create a new CreateBikeCommand in the core-api module. Create a new package io.axoniq.demo.bikerental.coreapi.rental and, inside that package, create the following RegisterBikeCommand: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/retnal/RegisterBikeCommand.java package io.axoniq.demo.bikerental.coreapi.rental; import org.axonframework.modelling.command.TargetAggregateIdentifier; public record RegisterBikeCommand(@TargetAggregateIdentifier String bikeId, (1) String bikeType, String location) { } 1 The @TargetAggregateIdentifier indicates to AxonFramework to use the bikeId attribute as the unique identifier to load the Bike with id {bikeId} before handling the command. We have defined the command as a Java record that contains the minimum amount of information necessary to process the command. Using a Java record structure also brings the benefit of immutability to our command. You can also use a data class in Kotlin to define the commands. The next step to process the RegisterBikeCommand is to define the component responsible for processing that request. In our example, we are following the DDD design model, which relies on the concept of the Aggregate to model the state of our system. And, with the Axon Framework, we will use the Aggregate to \"designate\" (via annotations) the methods the framework should invoke upon receiving a specific message. Thus, we will start by creating the Aggregate (or Entity) that will represent the state of our application related to the feature of processing requests to register, rent or return a bike. In more complex systems, there are some techniques to design your command and query models based on a previous analysis of the interactions and features that the system will support. Event Storming and Event Modeling are valuable techniques to analyze your system and extract the different Commands, Events, Queries and Aggregates. We can start by creating a Bike class to model our Aggregate. rental/src/main/java/io/axoniq/demo/bikerental/rental/command/Bike.java @Aggregate (1) public class Bike { @AggregateIdentifier (2) private String bikeId; private boolean isAvailable; private String reservedBy; private boolean reservationConfirmed; public Bike() { (3) } } 1 We will mark the class with org.axonframework.spring.stereotype.Aggregate annotation. This way Axon Framework will handle the lifecycle of the instances of our Bikes based on the Commands and Events received by our command model component. 2 We will design the attribute that will hold the unique identifier of our bike instance using the org.axonframework.modeling.command.AggregateIdentifier annotation. 3 We also need a default Java constructor that Axon Framework needs to create the new instance of a bike before populating its fields with the state and invoking the method to handle the Command or Event received. To process a RegisterBikeCommand in our application, we must define a method in our Bike class that receives the command as an argument. To indicate that the method should be invoked upon receiving a command, we will add the @CommandHandler annotation provided by AxonFramework. In this case, as the RegisterBikeCommand is the request to create a new instance of a Bike, we must define the command handler using a constructor. @Aggregate public class Bike { @CommandHandler (1) public Bike(RegisterBikeCommand command) { (2) var seconds = Instant.now().getEpochSecond(); if (seconds % 5 ==0) { throw new IllegalStateException(\"Can't accept new bikes right now\"); } apply(new BikeRegisteredEvent(command.bikeId(), command.bikeType(), command.location())); (3) } } 1 The org.axonframework.commandhandling.CommandHandler annotation instructs Axon Framework to call this method upon receiving commands. 2 The type of the argument indicates to Axon Framework which type of commands should be linked to the invocation of this method. 3 The static method AggregateLifecycle.apply() is invoked to send the Event that notifies the change in the state of our system. In this case, to notify that the bike has been registered. In the command handler, we have not changed the internal properties of the Bike instance. As a general rule and as we discussed in the Command Handler design considerations, we will simply: Validate, if necessary, that the command we received is valid and can be processed. Send a message notifying that, as the command is valid, the bike was registered. We will leave the task of setting the properties of our newly registered Bike instance for a later step, when the command model reacts to the reception of the BikeRegisteredEvent. We want to design our system following the principles of Event Sourcing, which implies we will use the set of Events as the single source of truth for building or refreshing the state of any component in our system. That means that we will also use the BikeRegisteredEvent as the source to trigger the state change in our command model, or, more specifically, in this case, in our Bike aggregate. To be able to react to the event in our Bike aggregate, we need to add a method that receives the BikeRegisteredEvent event as an argument and annotate that method with @EventSourcingHandler: rental/src/main/java/io/axoniq/demo/bikerental/rental/command/Bike.java @Aggregate public class Bike { @EventSourcingHandler (1) protected void handle(BikeRegisteredEvent event) { (2) this.bikeId = event.bikeId(); this.isAvailable = true; } } 1 The EventSourcingHandler annotation indicates to Axon Framework to link this method to the reception of an event. 2 Axon Framework will use the type of the argument to link this method to the specific type of event. In the implementation of the method, we will finally set the bike properties (the state of our model) with the information provided by the event. The EventSourcingHandler will be called right after the event publication by the CommandHandler. But it also will be invoked in the future, for the same event, when the system receives another command for the same bikeId (identified because the command has the same @AggregateIdentifier) and Axon Framework needs to regenerate the current state of the Bike instance, by replaying all previous events with the same bikeId. In the EventSourcingHandler method, we should never validate or ignore the changes represented by the event received. The reception of the event and the invocation of the method imply that the command has already been processed previously. So we can’t ignore or reject those changes because they already happened With this step, we have completed the code to process a Command that represents the request to register a new bike in our system. In this section, we will implement the UI layer for our system. The UI layer represents the interface our system offers to the outside world to interact with our application. In our example, we will start with a REST service interface that offers some endpoints so that a third-party application can invoke our system. This REST interface is convenient for our example because we can show you how to accept requests from the user or another system and create and send the corresponding Command internally. For the controller, we are going to create a simple Spring @RestController, and we will configure a couple of components provided by AxonFramework: CommandGateway: is the abstraction mechanism provided by AxonFramework to send commands to the handler and removes from the controller any need to know all the specifics about the number and location of command handlers registered in our system or how to reach them. QueryGateway: is a similar abstraction to the CommandGateway provided by Axon Framework, but in this case, it is intended to deliver query requests and wait for the query response. Although we will only use the CommandGateway for now, we are also going to add the QueryGateway to our @RestController as we will need it later to implement the handling of requests to gather information from our system. If you prefer to implement your code more progressively, just add the CommandGateway as this is the only component we will use now. You can add the QueryGateway field and its initialization later when implementing the code to handle the first query. The abstraction these two components provide helps keep our @RestController decoupled from the different query and command handlers in our system. Axon Framework will inject the proper implementation to handle the routing and communication patterns required both for queries and commands. Thus, our controller does not need to keep track of any detail about any of the handlers. This property is known as Location Transparency and it’s one of the features that enable our application to scale out later easily because we can move the command handler implementation to a different module and deploy it in a different machine without the need to touch the code that sends the commands. We will place our controller in the io.axoniq.demo.bikerental.rental.ui package. Create a RentalController java class with the following contents: rental/src/main/java/io/axoniq/demo/bikerental/rental/ui/RentalController.java @RestController (1) @RequestMapping(\"/\") (2) public class RentalController { private final CommandGateway commandGateway; (3) private final QueryGateway queryGateway; (4) private final BikeRentalDataGenerator bikeRentalDataGenerator; public RentalController(CommandGateway commandGateway, QueryGateway queryGateway, BikeRentalDataGenerator bikeRentalDataGenerator) { (5) this.commandGateway = commandGateway; this.queryGateway = queryGateway; this.bikeRentalDataGenerator = bikeRentalDataGenerator; } } 1 The @RestController SpringBoot annotation indicates that this component will define the REST endpoints. 2 The @RequestMapping SpringBoot annotation indicates the root path for all the endpoints that this controller handles. 3 The CommandGateway that we will use to send the commands. 4 The QueryGateway that we will use later to send query requests and wait for the response. 5 We will define a constructor that receives both the CommandGateway and QueryGateway as an argument. Spring will provide the right implementation based on the components defined by Axon Framework. We must add a method in our controller to handle the HTTP Request to register a new bike. In our system, to create a new bike, we require the request to provide the type of the bike and the location where the bike is registered. For this endpoint, we will consider the following request format: POST /bikes?bikeType={bikeType}&location={city} When designing a REST endpoint that registers a new element in our system, it is usual to model the API to use a POST request, which contains the information of the entity to create in the body. In this first example, for the sake of simplicity, we will receive the bike details as parameters on the request. To implement the endpoint that handles these requests, add the following method to the RentalController: rental/src/main/java/io/axoniq/demo/bikerental/rental/ui/RentalController.java @PostMapping(\"/bikes\") (1) public CompletableFuture registerBike( @RequestParam(\"bikeType\") String bikeType, (2) @RequestParam(\"location\") String location) { (3) RegisterBikeCommand registerBikeCommand = new RegisterBikeCommand( (4) UUID.randomUUID().toString(), (5) bikeType, location); CompletableFuture commandResult = commandGateway.send(registerBikeCommand); (6) return commandResult; (7) } 1 The @PostMapping links the execution of this method to the reception of POST /bike requests. 2 The bikeType argument is extracted from the parameter with the same name on the request. 3 The location argument is filled with the value of the parameter with the same name from the request’s URL. 4 We must create the RegisterBikeCommand that represents the command we will send to the command handler in the command model. 5 The command requires a unique ID for the bike. As this request represents the creation of the new bike, we have chosen to create a unique ID on the controller. 6 We send the command through the CommandGateway abstraction provided by Axon Framework. 7 The command will be dispatched to the command handler. It will return a CompletableFuture with the result of executing the command. By default, Axon Framework returns the ID of the bike that has been created. If there is any error in delivering the command to a command handler (for example, because there is no command handler registered for `RegisterBikeCommand`s), the CompletableFuture will contain the error. In this section, we have implemented the code necessary to handle requests to register a new bike in our system. The following image represents the design of what we have implemented. Figure 1. Diagram with the flow of messages to register a new bike We can execute our application and see it in action. In our next section, we will go through the steps to run our AxonFramework application together using docker from your development environment.","title":"Implement Create New Bike Feature","component":"bikerental-demo","version":"main","name":"implement-create-bike","url":"/bikerental-demo/main/implement-create-bike/","titles":[{"text":"Design considerations","hash":"_design_considerations","id":1},{"text":"Implementing the process to register a new bike in the system","hash":"_implementing_the_process_to_register_a_new_bike_in_the_system","id":2},{"text":"Defining the command","hash":"_defining_the_command","id":3},{"text":"Implementing the command model","hash":"_implementing_the_command_model","id":4},{"text":"Creating the aggregate class (the Bike)","hash":"_creating_the_aggregate_class_the_bike","id":5},{"text":"Defining the command handler method.","hash":"_defining_the_command_handler_method","id":6},{"text":"Handling the BikeRegisteredEvent in the aggregate","hash":"_handling_the_bikeregisteredevent_in_the_aggregate","id":7},{"text":"Implementing the HTTP REST controller","hash":"_implementing_the_http_rest_controller","id":8},{"text":"Create the SpringBoot controller.","hash":"_create_the_springboot_controller","id":9},{"text":"Implement the endpoint to register a bike","hash":"_implement_the_endpoint_to_register_a_bike","id":10},{"text":"Conclusion","hash":"_conclusion","id":11}]},"282":{"id":282,"text":"Building a new application from scratch can be daunting, especially when learning something new. This tutorial will guide you through the various stages of development, starting with creating your first project and explaining the capabilities of Axon Framework and Axon Server. The result is a simple application you can deploy in \"production\". The tutorial then shows you how to evolve the application, make changes, and deploy it in different scenarios. This tutorial will guide you through the creation of a \"Bike Rental Application\" using Axon Framework and Axon Server. You can follow the steps in the tutorial to complete the project from scratch or check out our Bike Rental Demo repository in GitHub.","title":"Introduction","component":"bikerental-demo","version":"main","name":"index","url":"/bikerental-demo/main/","titles":[]},"283":{"id":283,"text":"Now that we have our first feature implemented, and our application up and running, we can try to invoke the endpoint to register a bike, and check the exchange of commands and events. To test our feature, we need to send the following HTTP request: POST http://localhost:8080/bikes?bikeType={type}&location={city} You can do this directly from the command line, any other HTTP REST client you are used to, or if you are using IntelliJ IDEA as your IDE, we will show you how to prepare a file to quickly execute the HTTP Endpoints we are going to use in this project. You can easily invoke the endpoint from the command line by typing the following curl command in your terminal. > curl -X POST \"http://localhost:8080/bikes?bikeType=city&location=Utrecht\" The command will print out the response of the endpoint call, which, in our case, will be the UUID assigned to the new bike. Although we are sending a POST HTTP request, in this case we don’t need to specify any content in the body request, as all the information is specified in the URL parameters. This way may not be the most recommended design for POST requests in REST services as the required information usually f from the request body and it is specified using either -d, -F or --json options in your curl command). Anyway, for simplicity’s sake, we have designed our first POST endpoint to have all the required information in the URL parameters. If you are using IntelliJ IDEA as your IDE, you can benefit from its HTTP Client plugin to define and invoke all the endpoints of your application. You only need to create a file with .http or .rest extension. Then, you can add the URL of the different endpoints you want to invoke in your system. The various requests should be separated by a line with three hashtag marks (###). Start by creating a text file called requests.http in your root project, and add the following content to it: /requests.http ### Register a new bike POST http://localhost:8080/bikes?bikeType=city&location=Utrecht ### Save the file, and you will see that IntelliJ IDEA now decorates the line containing the POST URL with a green \"play\" button. If you click on it while the 'rental' application is running, you will see how the request is being sent and executed. POST http://localhost:8080/bikes?bikeType=city&location=Utrecht HTTP/1.1 200 OK Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: text/plain;charset=UTF-8 Content-Length: 36 8427681b-1ee6-4e0a-b5d8-c524b9ed553d Response code: 200 (OK); Time: 591ms (591 ms); Content length: 36 bytes (36 B) After invoking the endpoint, we can check how our application processed the request and what messages were sent. To do this, we will use the Axon Server dashboard. First, open your browser and go to the following URL http://localhost:8024/ You will see the Axon Server dashboard, with the default instance and the Rental Monolith application connected. Click on the Commands button in the left panel. You will see all the command handlers registered by the application, which in this case is just one: our RegisterBikeCommand. The panel also shows that one RegisterBikeCommand was received and processed in the system by the Rental Monolith application, which corresponds to the command created by the RentalController and sent through the CommandGateway. When we implemented the command handler, we validated the command and sent a BikeRegisteredEvent to notify any other component in the system of the change. To see if this event was sent, click on the Search button on the left menu panel of the Axon Server Dashboard. This action will bring up a page allowing you to search for all events sent and stored in Axon Server. Click on the magnifier button on right side of the Query field without specifying anything in it (leave it empty). You will see in the table below the only event that was sent as a result of running the command handler: If you click on the eye icon in the of the Action column on the row of the event will bring up a popup panel showing all the event details. This means that our system received the request to register a new bike and handled it correctly by creating and sending the appropriate command, and as a result of handling the command, created, sent and stored the BikeRegisteredEvent. This last BikeRegisteredEvent will be reused for any component (such as any projection in the query model) that registers to receive this type of event. The command model will also use the' BikeRegisteredEvent' whenever the Bike entity needs to be rebuilt (or refreshed). Thanks to the information provided by Axon Server, it’s easy to check the commands, events (and queries) that have been sent and their contents. This is useful for checking the messages that our system exchanges to communicate the different modules. However, we may also want to have some automated tests in the form of unit tests so that we don’t have to do these manual checks every time. In the next section, we will learn how to write a test case with Axon to ensure the command handler processes the command correctly.","title":"Running the Register Bike Endpoint","component":"bikerental-demo","version":"main","name":"invoking-create-bike-endpoint","url":"/bikerental-demo/main/invoking-create-bike-endpoint/","titles":[{"text":"Invoking the endpoint","hash":"_invoking_the_endpoint","id":1},{"text":"From the command line","hash":"_from_the_command_line","id":2},{"text":"Using IntelliJ IDEA","hash":"_using_intellij_idea","id":3},{"text":"Following the execution of the register bike request in Axon Server","hash":"_following_the_execution_of_the_register_bike_request_in_axon_server","id":4},{"text":"Reviewing the commands","hash":"_reviewing_the_commands","id":5},{"text":"Reviewing the events","hash":"_reviewing_the_events","id":6},{"text":"Conclusion","hash":"_conclusion","id":7}]},"284":{"id":284,"text":"In this step, we will see how to run your application in your local environment with everything you need. If this were only a basic Spring Boot application we would simply run it from our IDE, but our application relies on external messaging infrastructure to route, store and deliver messages (commands, events and queries). In our case, we will use Axon Server which acts both as a message broker to route the messages and as an event store optimized for storing and retrieving events in an Event Sourcing-based system. To avoid having to install and start the Axon Server manually, we will use Axon Server Docker images and Spring Boot’s support for running Docker containers. In this section you will learn how to configure Spring Boot to run everything you need with a single click. We will use Docker Compose and Docker images to start the Axon Server with just one click (or shortcut key combination) from your IDE, so make sure you have Docker Engine installed on your system. Docker Compose is a tool that allows you to define all the Docker containers, networks, volumes and any other characteristics that we need as the infrastructure to run our application. Even though we are only going to run one Docker image (Axon Server), Docker Compose is convenient because allows us to start everything with one command. We will start by creating the Docker Compose configuration file. Create a compose.yaml file in the root project with the following contents: compose.yaml services: axonserver: (1) image: 'axoniq/axonserver:latest' (2) environment: (3) - 'AXONIQ_AXONSERVER_STANDALONE=TRUE' ports: (4) - '8024:8024' (5) - '8124:8124' (6) 1 We define the name of the service for axonserver. This will be the name used for the service when started by Docker Desktop. 2 The axoniq/axonserver:latest image refers to the latest Axon Server Docker image that has been published in Docker Hub. 3 We set the AXONIQ_AXONSERVER_STANDALONE environment property to TRUE so that Axon Server starts without the need to do the initial configuration. 4 We configure the ports that will be exported from the running docker container: 5 8024 is the default port to access the Axon Server console from your browser. 6 8124 is Axon Server’s gRPC port used by the applications. YAML files are sensitive to tabs and spaces. Make sure you use the correct indentation using tabs. Once we have this file we should be able to run the axon server image from the command line: bike-rental-quick-start % docker-compose up [+] Running 1/0 ✔ Container bike-rental-quick-start-axonserver-1 Created 0.0s Attaching to axonserver-1 ... Since we don’t want to start the server manually, we will configure Spring Boot’s support for Docker Compose so that the Docker containers are started automatically when running the application from our IDE. Stop the container by typing ^C on the console and move to the next section. Since v3.1, Spring Boot supports starting Docker Compose services before running an application. To enable that feature, we will need to add the following dependency to the maven descriptor pom.xml file in our root project: /pom.xml org.springframework.boot spring-boot-docker-compose runtime true Once we have added this dependency, we can run our application right from our IDE. Spring Boot will detect the compose.yaml file and will start the Docker containers described in that file. Run your application from your IDE. You should see in the logs that Spring Boot downloads the Axon Server Docker image and starts running Axon Server automatically for you before starting your application: . ____ _ __ _ _ /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\ ( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\ \\\\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.1) INFO --- [Rental Monolith] i.a.d.b.rental.RentalApplication : Starting RentalApplication using Java 21 with PID 69132 (/Users/dgomezg/projects/axon/code-samples/bike-rental-quick-start/rental/target/classes started by dgomezg in /Users/dgomezg/projects/axon/code-samples/bike-rental-quick-start) INFO --- [Rental Monolith] i.a.d.b.rental.RentalApplication : No active profile set, falling back to 1 default profile: \"default\" INFO --- [Rental Monolith] .s.b.d.c.l.DockerComposeLifecycleManager : Using Docker Compose file '/Users/dgomezg/projects/axon/code-samples/bike-rental-quick-start/compose.yaml' INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Created INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Starting INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Started INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Waiting INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Healthy INFO --- [Rental Monolith] verDockerComposeConnectionDetailsFactory : Detected Axon Server container. To access the dashboard, visit http://127.0.0.1:8024 After the application starts, you can open your browser and go to http://localhost:8024 to access the Axon Server dashboard. If you click on the \"Overview\" button from the right panel, you will see the Axon Server instance and your Rental Monolith Application connected to it. In the next step we will implement a feature that retrieves a list of all the bikes in our system. In doing so, we will look at how to implement the Query Model with some projections.","title":"Running the Application Locally With Docker Compose","component":"bikerental-demo","version":"main","name":"run-app-with-docker-compose","url":"/bikerental-demo/main/run-app-with-docker-compose/","titles":[{"text":"Requisites","hash":"_requisites","id":1},{"text":"Configuring Docker Compose","hash":"_configuring_docker_compose","id":2},{"text":"Docker Compose descriptor","hash":"_docker_compose_descriptor","id":3},{"text":"Configuring Spring Boot support to run Docker Compose","hash":"_configuring_spring_boot_support_to_run_docker_compose","id":4},{"text":"Running the application","hash":"_running_the_application","id":5}]},"285":{"id":285,"text":"As our application grows, we won’t be able to manually test that everything works correctly after a new feature. It is convenient to have a way to test automatically that our application works as expected. In your applications, you probably already have some unit tests to check the business logic of your application. Axon Framework provides you with a Test Module that will help you write unit tests designed to test the processing and handling of commands, events and queries in your application. In this tutorial step, you will implement a unit test to check if our system processes the RegisterBikeCommand as expected. Before writing our command handler test, we need to add the component Axon Framework provides to support unit testing. We need to add the org.axonframework:axon-test dependency to the Maven file descriptor in our rental module to do this. Fortunately, we already added this dependency when we configured the Axon Framework dependencies. Check that your rental/pom.xml file contains the reference to the axon-test module: rental/pom.xml org.axonframework axon-spring-boot-starter org.axonframework axon-test test The components provided by Axon Framework for unit testing are only needed during the test execution phase during the maven build process. Thus, we specify the test for the axon-test dependency. With the axon-test component added to our project’s dependency list we can create our command handler test. To start writing our command handler test, create a new Java class with the name BikeTest in /src/test/java/io/axoniq/demo/bikerental/rental/command of your rental module. You can also use your IDE to create the unit test class. Open the Bike class and ask your IDE to generate the corresponding unit test. Depending on your IDE, the shortcut or menu may vary, but it’s a shortcut worth knowing for your IDE. /rental/src/test/java/io/axoniq/demo/bikerental/rental/command/BikeTest.java class BikeTest { } Axon Framework provides a component that allows you to create unit tests specifically focused on testing the behavior of handling a command by an aggregate. This component is called AggregateTestFixture. You can read more details about how an AggregateTestFixture works at the Command Model Testing So, we need to add and initialize the AggregateTestFixture for the Bike class (the component that handles the command we want to test): /rental/src/test/java/io/axoniq/demo/bikerental/rental/command/BikeTest.java class BikeTest { private AggregateTestFixture fixture; (1) @BeforeEach (2) void setUp() { fixture = new AggregateTestFixture<>(Bike.class); (3) } } 1 Define an AggregateTestFixture for the Bike aggregate. This is the \"Subject Under Test\" (or SUT) for our test. 2 The @BeforeEach marks this method to be called before any test is executed in our test class. Adding the code to create the AggregateTestFixture here will ensure that we have a fresh fixture for each test case, and thus we make our different tests independent. 3 This line creates a new AggregateTestFixture for our Bike class. Thanks to the help of the AggregateTestFixture we can now create a test with the following structure: Given: Set the initial state for our test. Since we are designing our system to follow Event-Sourcing patterns, we need to set the list of events that have already happened for the same aggregate (the bike) before receiving the command. When: Specify the command whose execution we want to test. In this case, we will test the processing of a RegisterBikeCommand. Expect: We can instruct the fixture on the expectations we have from our system after processing the command. In an Event-Sourcing system, we will specify these expectations in the form of what events should have been produced by the command handler as a result of processing the command. So, let’s define a method in our unit test to check that our system can successfully process the request to create a bike: class BikeTest { @Test void canRegisterBike() { fixture.givenNoPriorActivity() (1) .when(new RegisterBikeCommand(\"bikeId-1234\", \"city-bike\", \"Amsterdam\")) (2) .expectEvents(new BikeRegisteredEvent(\"bikeId-1234\", \"city-bike\", \"Amsterdam\")); (3) } } 1 In our case, when we receive the RegisterBikeCommand, we expect that no previous events were received in the system for the same bikeId. 2 We provide the RegisterBikeCommand we want to send to the command handler. 3 After successfully processing the RegisterBikeCommand, we expect the command handler to produce a new BikeRegisteredEvent with the details of the new bike. The AggregateTestFixture will prepare the Bike aggregate to execute the command (in this case, this step is empty, as we specified that there had been no previous activity), execute the command handler for the RegisterBikeCommand and assert that the command handler has emitted the BikeRegisteredEvent with these specific values. You can learn more about the different things you can check from the fixture using Matchers in the section dedicated to Validation-phase of the test fixture in the Axon Framework reference guide You can run the test manually from your IDE, and you should see that the test passes, meaning that the fixture has checked that the expectations are met after processing the RegisterBikeCommand. In addition to running the test manually, we now have a test that is automatically run by Maven every time we build the application. If you run mvn package from your command line, you will see the execution of the test: % mvn package [...] [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running io.axoniq.demo.bikerental.rental.command.BikeTest [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.120 s -- in io.axoniq.demo.bikerental.rental.command.BikeTest [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [...] This automatic execution of the tests guarantees that if we break the expected behavior for this command handling while implementing a new feature in the future, we will know about it immediately. With that certainty, we can move on and implement the next feature for our system.","title":"Testing Command Handlers","component":"bikerental-demo","version":"main","name":"unit-testing-commands","url":"/bikerental-demo/main/unit-testing-commands/","titles":[{"text":"Configuring Axon Framework test support","hash":"_configuring_axon_framework_test_support","id":1},{"text":"Creating the command BikeTest","hash":"_creating_the_command_biketest","id":2},{"text":"Defining the AggregateTestFixture","hash":"_defining_the_aggregatetestfixture","id":3},{"text":"Testing the command handler","hash":"_testing_the_command_handler","id":4},{"text":"Executing the test","hash":"_executing_the_test","id":5}]},"286":{"id":286,"text":"React to events in a foreign bounded context in order to trigger a state transition in the current bounded context. One part of a business domain - a bounded context, needs to inform another bounded context about internal state changes that have occurred, in order for the latter to trigger its own internal state changes. Let’s envision two bounded contexts A and B; internal events in A should not be published externally (to B), and it’s not desirable to let A explicitly trigger a state change in B via a command (that decision resides with B). Let the foreign context (A in the aforementioned example) publish an external event that is consumed by the current context (B), and translate the external event into an internal event via a command. In a bike rental domain, there exists two bounded contexts - Inventory and Rental. As new bikes are registered with Inventory, Rental must be informed about their availability to allow them to be rented. The event model is shown in figure 1: Figure 1 - Reacting to foreign events via an automation The RegistrationUpdates read model is realized as a transformation from an internal event (BikeRegisteredEvent) in the Inventory context to an external event (called BikeCreatedEvent in the implementation below); implied in the read model is the use of an event broker to publish the external event. The Processor is a background component that consumes BikeCreatedEvent and translates it into a suitable UpdateAvailabilityCommand, yielding an internal AvailabilityUpdatedEvent in the Rental context. In Listing 1 the internal BikeRegisteredEvent is transformed to the external BikeCreatedEvent for publishing to the Rental context. @Component public class BikeEventPublisher { @Autowired private EventGateway eventGateway; @EventHandler public void on(BikeRegisteredEvent event) { eventGateway.publish(new BikeCreatedEvent(event.bikeId())); } } Listing 1 - Internal event to external event transformation Listing 2 demonstrates the translation from the BikeCreatedEvent to a matching UpdateAvailabilityCommand. @Component public class Processor { @Autowired private CommandGateway commandGateway; @EventHandler public void on(BikeCreatedEvent event) { commandGateway.send(new UpdateAvailabilityCommand(event.bikeId())); } } Listing 1 - Translating the external event to trigger an internal state change in Rental In this example, an EventGateway and a so-called integration context supported by Axon Server is used for context-to-context event publish and subscribe. Other event brokers such as Kafka are of course suitable as well.","title":"Import External State","component":"playbook","version":"","name":"import_external_state","url":"/playbook/import_external_state/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3}]},"287":{"id":287,"text":"Welcome to AxonIQ Playbook, a catalogue of patterns to support the AxonIQ community in modeling, implementing and operating event-sourced systems. Proper system design relies on a solid understanding of one’s business domain; AxonIQ Playbook embraces Event Modeling and its building blocks for this purpose, by documenting common problems and solutions related to system state changes and views, automations, integrations and more, along with code examples using Axon components.","title":"AxonIQ Playbook","component":"playbook","version":"","name":"index","url":"/playbook/","titles":[]},"288":{"id":288,"text":"Consider a bike rental domain, where a renter can acquire a bike for a ride. The business flow involves selection and manual confirmation of the ride before it commences. From the moment of selection, the bike should be made temporarily unavailable for other renters until it has been confirmed for the current ride and for the duration of it, or become available anew should the acquisition be rejected by the renter in question. Reserve a resource at the beginning of a business flow and claim it fully upon completion, or release the resource if the flow is interrupted. In the bike rental domain, the Rental bounded context is responsible for the bike acquisition flow (figure 1). Figure 1 - Business flow for bike acquisition by a renter Figure 2 is the failure path where the renter changes their mind and cancels the ride, thus releasing the bike for other renters to select. Figure 1 - Failure path for bike acquisition While each ride may be represented by an aggregate, reservations are managed by a single aggregate (listing 1). @Aggregate public class Rental { @AggregateMember private Map rentals = new HashMap<>(); // ... @CommandHandler public void handle(ReserveBikeCommand command) { if (!rentals.get(command.bikeId()).equals(RentalState.AVAILABLE)) { throw new IllegalStateException(\"Bike is not available\"); } apply(new BikeReservedEvent(command.bikeId())); } @CommandHandler public void handle(ReleaseBikeCommand comand) { apply(new BikeReleasedEvent(command.bikeId())); } @EventSourcingHandler public void on(BikeReservedEvent event) { rentals.put(event.bikeId(), RentalState.RESERVED); } @EventSourcingHandler public void on(BikeReleasedEvent event) { rentals.put(event.bikeId(), RentalState.AVAILABLE); } } Listing 1 - Reserving and releasing bikes for renters","title":"Reservation","component":"playbook","version":"","name":"reservation","url":"/playbook/reservation/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3}]},"289":{"id":289,"text":"Use a command to express an intent to change system state. In an event-sourced system, a change in system state is represented solely via an event. The requester of this change must be able to provide the required input data that is to be validated and processed by relevant business logic to yield an event, that is the state transition. Construct a command message that encapsulates the type of state change to perform and the required input data. Send the command to a target command handler where validation and processing of the command occurs. A successful outcome produces an event and (typically) no return value; command handling failures are represented by either exceptions to be handled by the sender, or corresponding events; in the latter case, alternate failure paths might have be modeled. In figure 1 a state change is modeled where a bike renter is \"reserving\" a bike as part of the business flow for acquiring a bike for a ride. Figure 1 - State change slice for bike reservation The possible outcomes of handling a ReserveBikeCommand are (see figure 2): The bike has been successfully reserved, a state change manifested by BikeReservedEvent. The bike could not be reserved due to another renter having reserved it previously, resulting in an exception being thrown to be handled by the sender of the command. The outcomes of a state change slice follow a Given / When / Then format (also called a specification) and include the happy path and potentially one or more failure paths. Figure 2 - Specification for bike reservation The yellow \"stickies\" in the specification signify \"current state\", which is managed by an aggregate in the implementation of the slice. At the start of this business flow, the renter is selecting a bike that has been registered as available in a prior, separate business flow. Figure 2 - Specification for bike reservation To implement the state change slice for bike reservation, see the sections below. Listing 1 illustrates how to construct and send the ReserveBikeCommand; here, an API endpoint receives a client request for bike selection and constructs the command accordingly. public record RegisterBikeCommand (@TargetAggregateIdentifier String bikeId) {} @RestController @RequestMapping(\"/inventory\") public class RentalController { @Autowired private CommandGateway commandGateway; @PostMapping(\"/reserveBike\") public CompletableFuture reserveBike(@RequestParam(\"bikeId\") String bikeId) { return commandGateway.send(new ReserveBikeCommand(bikeId)); } } Listing 1 - Sending a `RegisterBikeCommand` In listing 2, an aggregate is responsible for maintaining rental state for all bikes. The ReserveBikeCommand is processed according to existing invariants, one being that the bike to be reserved is actually available (and not already reserved or rented). If successful, the state transition occurs via the BikeReservedEvent and the aggregate state is updated. @Aggregate public class Rental { @AggregateMember private Map rentals = new HashMap<>(); @CommandHandler public void handle(ReserveBikeCommand command) { if (!rentals.get(command.bikeId()).equals(RentalState.AVAILABLE)) { throw new IllegalStateException(\"Bike is not available\"); } apply(new BikeReservedEvent(command.bikeId())); } @EventSourcingHandler public void on(BikeReservedEvent event) { rentals.put(event.bikeId(), RentalState.RESERVED); } } Listing 2 - Processing a `RegisterBikeCommand`","title":"State Transitions via Commands","component":"playbook","version":"","name":"state_transitions_via_commands","url":"/playbook/state_transitions_via_commands/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3},{"text":"Sending the command","hash":"_sending_the_command","id":4},{"text":"Processing the command and transitioning state","hash":"_processing_the_command_and_transitioning_state","id":5}]},"290":{"id":290,"text":"Observe system state changes via projected read models. State transitions via events represent the system’s source of truth, but this \"raw material\" doesn’t itself provide a direct view of the system’s current state, only its history; observing the result of a state change requires one to establish and update such views. In an event model, so-called read models represent the \"outputs\" of the system after state transitions have occurred. A common type of read model is the projection, whereby events are consumed to update a durable or transient data model, typically de-normalized to allow for swift information retrieval via specific queries. Figure 1 depicts a state view slice that is part of a business flow to register new bikes. Figure 1 - State view slice for bike registration This projection exposes its data to \"public\" clients, but projections may also be solely for \"internal\" use. The state view slice is implemented as a projection in the sections below. In listing 1, a component is set up to listen for the BikeRegisteredEvent to add a newly registered bike to a list. @Component public class BikeProjection { private final List bikes = new ArrayList<>(); @EventHandler public void on(BikeRegisteredEvent event) { bikes.add(new BikeStatus(event.bikeId())); } @QueryHandler public List handle(GetBikesQuery query) { return bikes.stream().toList(); } } Listing 1 - Handling a `BikeRegisteredEvent` The projection also contains a QueryHandler, which returns the bike list in response to a (typed) GetBikesQuery (see below). In listing 2, the GetBikesQuery is sent to the aforementioned QueryHandler in order to retrieve the bike list. public record GetBikesQuery() {} @RestController @RequestMapping(\"/inventory\") public class InventoryController { @Autowired private QueryGateway queryGateway; @GetMapping(\"/bikes\") public CompletableFuture> getBikes() { return queryGateway.query( new GetBikesQuery(), ResponseTypes.multipleInstancesOf(BikeStatus.class) ); } } Listing 2 - Sending a query to retrieve bike list","title":"State Views via Projections","component":"playbook","version":"","name":"state_views_via_projections","url":"/playbook/state_views_via_projections/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3},{"text":"Updating the read model","hash":"_updating_the_read_model","id":4},{"text":"Querying the read model","hash":"_querying_the_read_model","id":5}]}},"components":{},"componentVersions":{"axon-framework-extensions/":{"displayVersion":"default","title":"Axon Framework Extensions","version":"","name":"axon-framework-extensions","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Framework Extensions","type":"reference","group":"extension"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-extensions/"},"as-faq/master":{"displayVersion":"master","title":"FAQ for Axon Server","version":"master","name":"as-faq","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Questions and Answers for Axon Server","type":"basics","group":"faq"},"sourcemap":false,"extensions":[{},{}]},"url":"/as-faq/as-faq/","navigation":[{"items":[{"content":"FAQ for Axon Server","url":"/as-faq/as-faq/","urlType":"internal"}],"root":true,"order":0}]},"axon-server-installation/master":{"displayVersion":"master","title":"Axon Server Installation Guides","version":"master","name":"axon-server-installation","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server Installation guides","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-installation/installing_as_docker-k8s/","navigation":[{"items":[{"content":"Installing Axon Server for Docker and Kubernetes","url":"/axon-server-installation/installing_as_docker-k8s/","urlType":"internal"}],"root":true,"order":0}]},"axon-server-upgrade/master":{"displayVersion":"master","title":"Axon Server Upgrade Guides","version":"master","name":"axon-server-upgrade","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server upgrade guides","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-upgrade/upgrading_as_2024/","navigation":[{"items":[{"content":"Upgrading to Axon Server 2024.0.0","url":"/axon-server-upgrade/upgrading_as_2024/","urlType":"internal"}],"root":true,"order":0}]},"axoniq-console-faq/master":{"displayVersion":"master","title":"FAQ for AxonIQ Console","version":"master","name":"axoniq-console-faq","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Questions and Answers for AxonIQ Console","type":"basics","group":"faq"},"sourcemap":false,"extensions":[{},{}]},"url":"/axoniq-console-faq/console_faq/","navigation":[{"items":[{"content":"FAQ for AxonIQ Console","url":"/axoniq-console-faq/console_faq/","urlType":"internal"}],"root":true,"order":0}]},"event-driven-architectures/":{"displayVersion":"default","title":"Event-Driven Architectures","version":"","name":"event-driven-architectures","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":null,"type":"basics","group":"concept"},"sourcemap":false,"extensions":[{},{}]},"url":"/event-driven-architectures/"},"home/master":{"displayVersion":"master","title":"Docs","version":"master","name":"home","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"type":"home"},"sourcemap":false,"extensions":[{},{}]},"url":"/home/","navigation":[{"items":[{"content":"Basics","url":"/home/basics/","urlType":"internal"},{"content":"Guides","url":"/home/guides/","urlType":"internal","items":[{"content":"Axon Framework","url":"/home/guides/axon-framework/","urlType":"internal"},{"content":"Axon Server","url":"/home/guides/axon-server/","urlType":"internal"}]},{"content":"Reference Guides","url":"/home/reference/","urlType":"internal","items":[{"content":"Axon Framework","url":"/axon-framework-reference/development/","urlType":"internal"},{"content":"Axon Server","url":"/axon-server-reference/v2024.1/","urlType":"internal"},{"content":"Axon Synapse","url":"/synapse-reference/v0.11/","urlType":"internal"},{"content":"AxonIQ Console","url":"/axoniq-console-reference/","urlType":"internal"}]}],"root":true,"order":0}]},"axon-framework-reference/development":{"displayVersion":"development","title":"Axon Framework","version":"development","name":"axon-framework-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The Axon Framework reference guide","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-reference/development/","navigation":[{"items":[{"content":"Introduction","url":"/axon-framework-reference/development/","urlType":"internal"},{"content":"Upgrading to Axon Framework 4.7","url":"/axon-framework-reference/development/upgrading-to-4-7/","urlType":"internal"},{"content":"Messaging Concepts","url":"/axon-framework-reference/development/messaging-concepts/","urlType":"internal","items":[{"content":"Anatomy of a Message","url":"/axon-framework-reference/development/messaging-concepts/anatomy-message/","urlType":"internal"},{"content":"Message Correlation","url":"/axon-framework-reference/development/messaging-concepts/message-correlation/","urlType":"internal"},{"content":"Message Intercepting","url":"/axon-framework-reference/development/messaging-concepts/message-intercepting/","urlType":"internal"},{"content":"Supported Parameters for Annotated Handlers","url":"/axon-framework-reference/development/messaging-concepts/supported-parameters-annotated-handlers/","urlType":"internal"},{"content":"Exception Handling","url":"/axon-framework-reference/development/messaging-concepts/exception-handling/","urlType":"internal"},{"content":"Unit of Work","url":"/axon-framework-reference/development/messaging-concepts/unit-of-work/","urlType":"internal"}]},{"content":"Commands","url":"/axon-framework-reference/development/axon-framework-commands/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/development/axon-framework-commands/command-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/development/axon-framework-commands/command-dispatchers/","urlType":"internal"},{"content":"Aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate/","urlType":"internal","items":[{"content":"Multi-Entity Aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/multi-entity-aggregates/","urlType":"internal"},{"content":"State Stored Aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/state-stored-aggregates/","urlType":"internal"},{"content":"Aggregate Creation from another Aggregate","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/","urlType":"internal"},{"content":"Aggregate Polymorphism","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-polymorphism/","urlType":"internal"},{"content":"Conflict Resolution","url":"/axon-framework-reference/development/axon-framework-commands/modeling/conflict-resolution/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/development/axon-framework-commands/infrastructure/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/development/axon-framework-commands/configuration/","urlType":"internal"}]},{"content":"Events","url":"/axon-framework-reference/development/events/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/development/events/event-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/development/events/event-dispatchers/","urlType":"internal"},{"content":"Event Processors","url":"/axon-framework-reference/development/events/event-processors/","urlType":"internal","items":[{"content":"Subscribing Event Processor","url":"/axon-framework-reference/development/events/event-processors/subscribing/","urlType":"internal"},{"content":"Streaming Event Processor","url":"/axon-framework-reference/development/events/event-processors/streaming/","urlType":"internal"},{"content":"Dead-Letter Queue","url":"/axon-framework-reference/development/events/event-processors/dead-letter-queue/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/development/events/infrastructure/","urlType":"internal"},{"content":"Event Versioning","url":"/axon-framework-reference/development/events/event-versioning/","urlType":"internal"}]},{"content":"Queries","url":"/axon-framework-reference/development/queries/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/development/queries/query-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/development/queries/query-dispatchers/","urlType":"internal"},{"content":"Implementations","url":"/axon-framework-reference/development/queries/implementations/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/development/queries/configuration/","urlType":"internal"}]},{"content":"Sagas","url":"/axon-framework-reference/development/sagas/","urlType":"internal","items":[{"content":"Implementation","url":"/axon-framework-reference/development/sagas/implementation/","urlType":"internal"},{"content":"Associations","url":"/axon-framework-reference/development/sagas/associations/","urlType":"internal"},{"content":"Infrastructure","url":"/axon-framework-reference/development/sagas/infrastructure/","urlType":"internal"}]},{"content":"Deadlines","url":"/axon-framework-reference/development/deadlines/","urlType":"internal","items":[{"content":"Deadline Managers","url":"/axon-framework-reference/development/deadlines/deadline-managers/","urlType":"internal"},{"content":"Event Schedulers","url":"/axon-framework-reference/development/deadlines/event-schedulers/","urlType":"internal"}]},{"content":"Testing","url":"/axon-framework-reference/development/testing/","urlType":"internal","items":[{"content":"Commands / Events","url":"/axon-framework-reference/development/testing/commands-events/","urlType":"internal"},{"content":"Sagas","url":"/axon-framework-reference/development/testing/sagas-1/","urlType":"internal"}]},{"content":"Serialization","url":"/axon-framework-reference/development/serialization/","urlType":"internal"},{"content":"Tuning","url":"/axon-framework-reference/development/tuning/","urlType":"internal","items":[{"content":"Event Snapshots","url":"/axon-framework-reference/development/tuning/event-snapshots/","urlType":"internal"},{"content":"Event Processing","url":"/axon-framework-reference/development/tuning/event-processing/","urlType":"internal"},{"content":"Command Processing","url":"/axon-framework-reference/development/tuning/command-processing/","urlType":"internal"},{"content":"Relational Databases","url":"/axon-framework-reference/development/tuning/rdbms-tuning/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-framework-reference/development/monitoring/","urlType":"internal","items":[{"content":"Distributed Tracing","url":"/axon-framework-reference/development/monitoring/tracing/","urlType":"internal"},{"content":"Metrics","url":"/axon-framework-reference/development/monitoring/metrics/","urlType":"internal"},{"content":"Health Indicators","url":"/axon-framework-reference/development/monitoring/health/","urlType":"internal"},{"content":"Event Processor Monitoring","url":"/axon-framework-reference/development/monitoring/processors/","urlType":"internal"},{"content":"Message Tracking","url":"/axon-framework-reference/development/monitoring/message-tracking/","urlType":"internal"}]},{"content":"Spring Boot Integration","url":"/axon-framework-reference/development/spring-boot-integration/","urlType":"internal"},{"content":"Modules","url":"/axon-framework-reference/development/modules/","urlType":"internal"},{"content":"Release Notes","url":"/axon-framework-reference/development/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-framework-reference/development/release-notes/major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-framework-reference/development/release-notes/minor-releases/","urlType":"internal"}]},{"content":"Known Issues and Workarounds","url":"/axon-framework-reference/development/known-issues-and-workarounds/","urlType":"internal"}],"root":true,"order":0}]},"axon-framework-reference/4.10":{"displayVersion":"4.10","title":"Axon Framework","version":"4.10","name":"axon-framework-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The Axon Framework reference guide","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-reference/4.10/","navigation":[{"items":[{"content":"Introduction","url":"/axon-framework-reference/4.10/","urlType":"internal"},{"content":"Upgrading to Axon Framework 4.7","url":"/axon-framework-reference/4.10/upgrading-to-4-7/","urlType":"internal"},{"content":"Messaging Concepts","url":"/axon-framework-reference/4.10/messaging-concepts/","urlType":"internal","items":[{"content":"Anatomy of a Message","url":"/axon-framework-reference/4.10/messaging-concepts/anatomy-message/","urlType":"internal"},{"content":"Message Correlation","url":"/axon-framework-reference/4.10/messaging-concepts/message-correlation/","urlType":"internal"},{"content":"Message Intercepting","url":"/axon-framework-reference/4.10/messaging-concepts/message-intercepting/","urlType":"internal"},{"content":"Supported Parameters for Annotated Handlers","url":"/axon-framework-reference/4.10/messaging-concepts/supported-parameters-annotated-handlers/","urlType":"internal"},{"content":"Exception Handling","url":"/axon-framework-reference/4.10/messaging-concepts/exception-handling/","urlType":"internal"},{"content":"Unit of Work","url":"/axon-framework-reference/4.10/messaging-concepts/unit-of-work/","urlType":"internal"}]},{"content":"Commands","url":"/axon-framework-reference/4.10/axon-framework-commands/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/4.10/axon-framework-commands/command-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/4.10/axon-framework-commands/command-dispatchers/","urlType":"internal"},{"content":"Aggregates","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate/","urlType":"internal","items":[{"content":"Multi-Entity Aggregates","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/multi-entity-aggregates/","urlType":"internal"},{"content":"State Stored Aggregates","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/state-stored-aggregates/","urlType":"internal"},{"content":"Aggregate Creation from another Aggregate","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/","urlType":"internal"},{"content":"Aggregate Polymorphism","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate-polymorphism/","urlType":"internal"},{"content":"Conflict Resolution","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/conflict-resolution/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/4.10/axon-framework-commands/infrastructure/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/4.10/axon-framework-commands/configuration/","urlType":"internal"}]},{"content":"Events","url":"/axon-framework-reference/4.10/events/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/4.10/events/event-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/4.10/events/event-dispatchers/","urlType":"internal"},{"content":"Event Processors","url":"/axon-framework-reference/4.10/events/event-processors/","urlType":"internal","items":[{"content":"Subscribing Event Processor","url":"/axon-framework-reference/4.10/events/event-processors/subscribing/","urlType":"internal"},{"content":"Streaming Event Processor","url":"/axon-framework-reference/4.10/events/event-processors/streaming/","urlType":"internal"},{"content":"Dead-Letter Queue","url":"/axon-framework-reference/4.10/events/event-processors/dead-letter-queue/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/4.10/events/infrastructure/","urlType":"internal"},{"content":"Event Versioning","url":"/axon-framework-reference/4.10/events/event-versioning/","urlType":"internal"}]},{"content":"Queries","url":"/axon-framework-reference/4.10/queries/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/4.10/queries/query-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/4.10/queries/query-dispatchers/","urlType":"internal"},{"content":"Implementations","url":"/axon-framework-reference/4.10/queries/implementations/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/4.10/queries/configuration/","urlType":"internal"}]},{"content":"Sagas","url":"/axon-framework-reference/4.10/sagas/","urlType":"internal","items":[{"content":"Implementation","url":"/axon-framework-reference/4.10/sagas/implementation/","urlType":"internal"},{"content":"Associations","url":"/axon-framework-reference/4.10/sagas/associations/","urlType":"internal"},{"content":"Infrastructure","url":"/axon-framework-reference/4.10/sagas/infrastructure/","urlType":"internal"}]},{"content":"Deadlines","url":"/axon-framework-reference/4.10/deadlines/","urlType":"internal","items":[{"content":"Deadline Managers","url":"/axon-framework-reference/4.10/deadlines/deadline-managers/","urlType":"internal"},{"content":"Event Schedulers","url":"/axon-framework-reference/4.10/deadlines/event-schedulers/","urlType":"internal"}]},{"content":"Testing","url":"/axon-framework-reference/4.10/testing/","urlType":"internal","items":[{"content":"Commands / Events","url":"/axon-framework-reference/4.10/testing/commands-events/","urlType":"internal"},{"content":"Sagas","url":"/axon-framework-reference/4.10/testing/sagas-1/","urlType":"internal"}]},{"content":"Serialization","url":"/axon-framework-reference/4.10/serialization/","urlType":"internal"},{"content":"Tuning","url":"/axon-framework-reference/4.10/tuning/","urlType":"internal","items":[{"content":"Event Snapshots","url":"/axon-framework-reference/4.10/tuning/event-snapshots/","urlType":"internal"},{"content":"Event Processing","url":"/axon-framework-reference/4.10/tuning/event-processing/","urlType":"internal"},{"content":"Command Processing","url":"/axon-framework-reference/4.10/tuning/command-processing/","urlType":"internal"},{"content":"Relational Databases","url":"/axon-framework-reference/4.10/tuning/rdbms-tuning/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-framework-reference/4.10/monitoring/","urlType":"internal","items":[{"content":"Distributed Tracing","url":"/axon-framework-reference/4.10/monitoring/tracing/","urlType":"internal"},{"content":"Metrics","url":"/axon-framework-reference/4.10/monitoring/metrics/","urlType":"internal"},{"content":"Health Indicators","url":"/axon-framework-reference/4.10/monitoring/health/","urlType":"internal"},{"content":"Event Processor Monitoring","url":"/axon-framework-reference/4.10/monitoring/processors/","urlType":"internal"},{"content":"Message Tracking","url":"/axon-framework-reference/4.10/monitoring/message-tracking/","urlType":"internal"}]},{"content":"Spring Boot Integration","url":"/axon-framework-reference/4.10/spring-boot-integration/","urlType":"internal"},{"content":"Modules","url":"/axon-framework-reference/4.10/modules/","urlType":"internal"},{"content":"Release Notes","url":"/axon-framework-reference/4.10/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-framework-reference/4.10/release-notes/major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-framework-reference/4.10/release-notes/minor-releases/","urlType":"internal"}]},{"content":"Known Issues and Workarounds","url":"/axon-framework-reference/4.10/known-issues-and-workarounds/","urlType":"internal"}],"root":true,"order":0}]},"axon-framework-reference/0":{"displayVersion":"older releases","title":"Legacy Axon Framework Reference Guides","version":"0","name":"axon-framework-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Legacy Axon Framework documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-reference/0/","navigation":[{"content":"Axon Framework 4.x","items":[{"content":"Release 4.9"},{"content":"Release 4.8"},{"content":"Release 4.7"},{"content":"Release 4.6"},{"content":"Release 4.5"},{"content":"Release 4.4"},{"content":"Release 4.3"},{"content":"Release 4.2"},{"content":"Release 4.1"},{"content":"Release 4.0"}],"root":true,"order":0},{"content":"Axon Framework 3.x","items":[{"content":"Release 3.4"},{"content":"Release 3.3"},{"content":"Release 3.2"},{"content":"Release 3.1"},{"content":"Release 3.0"}],"root":true,"order":0.25},{"content":"Axon Framework 2.x","items":[{"content":"Release 2.4"},{"content":"Release 2.3"},{"content":"Release 2.2"},{"content":"Release 2.1"},{"content":"Release 2.0"}],"root":true,"order":0.5},{"content":"Axon Framework 1.x","items":[{"content":"Release 1.4"},{"content":"Release 1.3"},{"content":"Release 1.2"},{"content":"Release 1.1"},{"content":"Release 1.0"}],"root":true,"order":0.75}]},"axon-server-reference/development":{"displayVersion":"development","title":"Axon Server","version":"development","name":"axon-server-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/development/","navigation":[{"items":[{"content":"Introduction","url":"/axon-server-reference/development/","urlType":"internal"},{"content":"Installation","url":"/axon-server-reference/development/axon-server/installation/","urlType":"internal","items":[{"content":"Local installation","url":"/axon-server-reference/development/axon-server/installation/local-installation/","urlType":"internal"},{"content":"Docker / K8s","url":"/axon-server-reference/development/axon-server/installation/docker-k8s/","urlType":"internal"}]},{"content":"Administration","url":"/axon-server-reference/development/axon-server/administration/","urlType":"internal","items":[{"content":"Configuration","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/","urlType":"internal","items":[{"content":"System properties","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/configuration/","urlType":"internal"},{"content":"Command Line Interface","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/command-line-interface/","urlType":"internal"},{"content":"REST API","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/rest-api/","urlType":"internal"},{"content":"gRPC API","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/grpc-api/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-server-reference/development/axon-server/administration/monitoring/","urlType":"internal","items":[{"content":"Actuator Endpoints","url":"/axon-server-reference/development/axon-server/administration/monitoring/actuator-endpoints/","urlType":"internal"},{"content":"Axon Server Metrics","url":"/axon-server-reference/development/axon-server/administration/monitoring/axon-server-metrics/","urlType":"internal"},{"content":"gRPC Metrics","url":"/axon-server-reference/development/axon-server/administration/monitoring/grpc-metrics/","urlType":"internal"},{"content":"Heartbeat Monitoring","url":"/axon-server-reference/development/axon-server/administration/monitoring/heartbeat-monitoring/","urlType":"internal"},{"content":"Diagnostics","url":"/axon-server-reference/development/axon-server/administration/monitoring/diagnostics/","urlType":"internal"}]},{"content":"Clusters","url":"/axon-server-reference/development/axon-server/administration/clustering/","urlType":"internal"},{"content":"Replication Groups","url":"/axon-server-reference/development/axon-server/administration/replication-groups/","urlType":"internal"},{"content":"Multi-Context","url":"/axon-server-reference/development/axon-server/administration/multi-context/","urlType":"internal"},{"content":"Tiered Storage","url":"/axon-server-reference/development/axon-server/administration/tiered-storage/","urlType":"internal"},{"content":"Event Transformation","url":"/axon-server-reference/development/axon-server/administration/event-transformation/","urlType":"internal"},{"content":"Tagging","url":"/axon-server-reference/development/axon-server/administration/tagging/","urlType":"internal"},{"content":"Backup and Messaging-Only Nodes","url":"/axon-server-reference/development/axon-server/administration/backup-and-messaging-only-nodes/","urlType":"internal"},{"content":"Backups","url":"/axon-server-reference/development/axon-server/administration/backups/","urlType":"internal"},{"content":"Recovery","url":"/axon-server-reference/development/axon-server/administration/recovery/","urlType":"internal"},{"content":"Axon Server Plugins","url":"/axon-server-reference/development/axon-server/administration/plugins/","urlType":"internal"},{"content":"Logging","url":"/axon-server-reference/development/axon-server/administration/logging/","urlType":"internal","items":[{"content":"Logging Format","url":"/axon-server-reference/development/axon-server/administration/logging/logging-format/","urlType":"internal"}]},{"content":"Error Codes","url":"/axon-server-reference/development/axon-server/administration/error-codes/","urlType":"internal"}]},{"content":"Security","url":"/axon-server-reference/development/axon-server/security/","urlType":"internal","items":[{"content":"SSL","url":"/axon-server-reference/development/axon-server/security/ssl/","urlType":"internal"},{"content":"Access Control for Axon Server","url":"/axon-server-reference/development/axon-server/security/access-control-ee/","urlType":"internal"},{"content":"Security for Axon Framework Client Applications","url":"/axon-server-reference/development/axon-server/security/access-control-clients/","urlType":"internal"},{"content":"Access Control and the CLI","url":"/axon-server-reference/development/axon-server/security/access-control-cli/","urlType":"internal"},{"content":"Access Control on the REST and gRPC APIs","url":"/axon-server-reference/development/axon-server/security/access-control-api/","urlType":"internal"},{"content":"Axon Server EE - LDAP Extension","url":"/axon-server-reference/development/axon-server/security/access-control-ldap/","urlType":"internal"},{"content":"Axon Server EE - OAuth Extension","url":"/axon-server-reference/development/axon-server/security/access-control-oauth2/","urlType":"internal"}]},{"content":"Performance","url":"/axon-server-reference/development/axon-server/performance/","urlType":"internal","items":[{"content":"Event Segments","url":"/axon-server-reference/development/axon-server/performance/tuning-event-processing/","urlType":"internal"},{"content":"Flow Control","url":"/axon-server-reference/development/axon-server/performance/flow-control/","urlType":"internal"}]},{"content":"Migration","url":"/axon-server-reference/development/axon-server/migration/","urlType":"internal","items":[{"content":"Non-Axon Server to Axon Server","url":"/axon-server-reference/development/axon-server/migration/non-axon-server-to-axon-server/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Release Notes","url":"/axon-server-reference/development/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-server-reference/development/rn-as-major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-server-reference/development/rn-as-minor-releases/","urlType":"internal"}]}],"root":true,"order":0.5}]},"axon-server-reference/v2024.2":{"displayVersion":"v2024.2","title":"Axon Server","version":"v2024.2","name":"axon-server-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/v2024.2/","navigation":[{"items":[{"content":"Introduction","url":"/axon-server-reference/v2024.2/","urlType":"internal"},{"content":"Installation","url":"/axon-server-reference/v2024.2/axon-server/installation/","urlType":"internal","items":[{"content":"Local installation","url":"/axon-server-reference/v2024.2/axon-server/installation/local-installation/","urlType":"internal"},{"content":"Docker / K8s","url":"/axon-server-reference/v2024.2/axon-server/installation/docker-k8s/","urlType":"internal"}]},{"content":"Administration","url":"/axon-server-reference/v2024.2/axon-server/administration/","urlType":"internal","items":[{"content":"Configuration","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/","urlType":"internal","items":[{"content":"System properties","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/configuration/","urlType":"internal"},{"content":"Command Line Interface","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/command-line-interface/","urlType":"internal"},{"content":"REST API","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/rest-api/","urlType":"internal"},{"content":"gRPC API","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/grpc-api/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/","urlType":"internal","items":[{"content":"Actuator Endpoints","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/actuator-endpoints/","urlType":"internal"},{"content":"Axon Server Metrics","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/axon-server-metrics/","urlType":"internal"},{"content":"gRPC Metrics","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/grpc-metrics/","urlType":"internal"},{"content":"Heartbeat Monitoring","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/heartbeat-monitoring/","urlType":"internal"},{"content":"Diagnostics","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/diagnostics/","urlType":"internal"}]},{"content":"Clusters","url":"/axon-server-reference/v2024.2/axon-server/administration/clustering/","urlType":"internal"},{"content":"Replication Groups","url":"/axon-server-reference/v2024.2/axon-server/administration/replication-groups/","urlType":"internal"},{"content":"Multi-Context","url":"/axon-server-reference/v2024.2/axon-server/administration/multi-context/","urlType":"internal"},{"content":"Tiered Storage","url":"/axon-server-reference/v2024.2/axon-server/administration/tiered-storage/","urlType":"internal"},{"content":"Event Transformation","url":"/axon-server-reference/v2024.2/axon-server/administration/event-transformation/","urlType":"internal"},{"content":"Tagging","url":"/axon-server-reference/v2024.2/axon-server/administration/tagging/","urlType":"internal"},{"content":"Backup and Messaging-Only Nodes","url":"/axon-server-reference/v2024.2/axon-server/administration/backup-and-messaging-only-nodes/","urlType":"internal"},{"content":"Backups","url":"/axon-server-reference/v2024.2/axon-server/administration/backups/","urlType":"internal"},{"content":"Recovery","url":"/axon-server-reference/v2024.2/axon-server/administration/recovery/","urlType":"internal"},{"content":"Axon Server Plugins","url":"/axon-server-reference/v2024.2/axon-server/administration/plugins/","urlType":"internal"},{"content":"Logging","url":"/axon-server-reference/v2024.2/axon-server/administration/logging/","urlType":"internal","items":[{"content":"Logging Format","url":"/axon-server-reference/v2024.2/axon-server/administration/logging/logging-format/","urlType":"internal"}]},{"content":"Error Codes","url":"/axon-server-reference/v2024.2/axon-server/administration/error-codes/","urlType":"internal"}]},{"content":"Security","url":"/axon-server-reference/v2024.2/axon-server/security/","urlType":"internal","items":[{"content":"SSL","url":"/axon-server-reference/v2024.2/axon-server/security/ssl/","urlType":"internal"},{"content":"Access Control for Axon Server","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-ee/","urlType":"internal"},{"content":"Security for Axon Framework Client Applications","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-clients/","urlType":"internal"},{"content":"Access Control and the CLI","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-cli/","urlType":"internal"},{"content":"Access Control on the REST and gRPC APIs","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-api/","urlType":"internal"},{"content":"Axon Server EE - LDAP Extension","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-ldap/","urlType":"internal"},{"content":"Axon Server EE - OAuth Extension","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-oauth2/","urlType":"internal"}]},{"content":"Performance","url":"/axon-server-reference/v2024.2/axon-server/performance/","urlType":"internal","items":[{"content":"Event Segments","url":"/axon-server-reference/v2024.2/axon-server/performance/tuning-event-processing/","urlType":"internal"},{"content":"Flow Control","url":"/axon-server-reference/v2024.2/axon-server/performance/flow-control/","urlType":"internal"}]},{"content":"Migration","url":"/axon-server-reference/v2024.2/axon-server/migration/","urlType":"internal","items":[{"content":"Non-Axon Server to Axon Server","url":"/axon-server-reference/v2024.2/axon-server/migration/non-axon-server-to-axon-server/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Release Notes","url":"/axon-server-reference/v2024.2/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-server-reference/v2024.2/rn-as-major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-server-reference/v2024.2/rn-as-minor-releases/","urlType":"internal"}]}],"root":true,"order":0.5}]},"axon-server-reference/v2024.1":{"displayVersion":"v2024.1","title":"Axon Server","version":"v2024.1","name":"axon-server-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/v2024.1/","navigation":[{"items":[{"content":"Introduction","url":"/axon-server-reference/v2024.1/","urlType":"internal"},{"content":"Installation","url":"/axon-server-reference/v2024.1/axon-server/installation/","urlType":"internal","items":[{"content":"Local installation","url":"/axon-server-reference/v2024.1/axon-server/installation/local-installation/","urlType":"internal"},{"content":"Docker / K8s","url":"/axon-server-reference/v2024.1/axon-server/installation/docker-k8s/","urlType":"internal"}]},{"content":"Administration","url":"/axon-server-reference/v2024.1/axon-server/administration/","urlType":"internal","items":[{"content":"Configuration","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/","urlType":"internal","items":[{"content":"System properties","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/configuration/","urlType":"internal"},{"content":"Command Line Interface","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/command-line-interface/","urlType":"internal"},{"content":"REST API","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/rest-api/","urlType":"internal"},{"content":"gRPC API","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/grpc-api/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/","urlType":"internal","items":[{"content":"Actuator Endpoints","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/actuator-endpoints/","urlType":"internal"},{"content":"Axon Server Metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/axon-server-metrics/","urlType":"internal"},{"content":"gRPC Metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/grpc-metrics/","urlType":"internal"},{"content":"Heartbeat Monitoring","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/heartbeat-monitoring/","urlType":"internal"},{"content":"Diagnostics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/diagnostics/","urlType":"internal"}]},{"content":"Multi-Context","url":"/axon-server-reference/v2024.1/axon-server/administration/multi-context/","urlType":"internal"},{"content":"Tiered Storage","url":"/axon-server-reference/v2024.1/axon-server/administration/tiered-storage/","urlType":"internal"},{"content":"Event Transformation","url":"/axon-server-reference/v2024.1/axon-server/administration/event-transformation/","urlType":"internal"},{"content":"Tagging","url":"/axon-server-reference/v2024.1/axon-server/administration/tagging/","urlType":"internal"},{"content":"Backups","url":"/axon-server-reference/v2024.1/axon-server/administration/backups/","urlType":"internal"},{"content":"Recovery","url":"/axon-server-reference/v2024.1/axon-server/administration/recovery/","urlType":"internal"},{"content":"Axon Server Plugins","url":"/axon-server-reference/v2024.1/axon-server/administration/plugins/","urlType":"internal"},{"content":"Logging","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/","urlType":"internal","items":[{"content":"Logging Format","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/logging-format/","urlType":"internal"}]},{"content":"Error Codes","url":"/axon-server-reference/v2024.1/axon-server/administration/error-codes/","urlType":"internal"}]},{"content":"Clustering","url":"/axon-server-reference/v2024.1/axon-server/clustering/","urlType":"internal","items":[{"content":"Cluster Basics","url":"/axon-server-reference/v2024.1/axon-server/clustering/cluster-basics/","urlType":"internal"},{"content":"Node Roles","url":"/axon-server-reference/v2024.1/axon-server/clustering/node-roles/","urlType":"internal"},{"content":"Replication Groups","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-groups/","urlType":"internal"},{"content":"Replication Logs","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-logs/","urlType":"internal"}]},{"content":"Security","url":"/axon-server-reference/v2024.1/axon-server/security/","urlType":"internal","items":[{"content":"SSL","url":"/axon-server-reference/v2024.1/axon-server/security/ssl/","urlType":"internal"},{"content":"Access Control for Axon Server","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ee/","urlType":"internal"},{"content":"Security for Axon Framework Client Applications","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-clients/","urlType":"internal"},{"content":"Access Control and the CLI","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-cli/","urlType":"internal"},{"content":"Access Control on the REST and gRPC APIs","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-api/","urlType":"internal"},{"content":"Axon Server EE - LDAP Extension","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ldap/","urlType":"internal"},{"content":"Axon Server EE - OAuth Extension","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-oauth2/","urlType":"internal"}]},{"content":"Performance","url":"/axon-server-reference/v2024.1/axon-server/performance/","urlType":"internal","items":[{"content":"Event Segments","url":"/axon-server-reference/v2024.1/axon-server/performance/tuning-event-processing/","urlType":"internal"},{"content":"Flow Control","url":"/axon-server-reference/v2024.1/axon-server/performance/flow-control/","urlType":"internal"}]},{"content":"Migration","url":"/axon-server-reference/v2024.1/axon-server/migration/","urlType":"internal","items":[{"content":"Non-Axon Server to Axon Server","url":"/axon-server-reference/v2024.1/axon-server/migration/non-axon-server-to-axon-server/","urlType":"internal"}]},{"content":"Architecture","url":"/axon-server-reference/v2024.1/axon-server/architecture/","urlType":"internal","items":[{"content":"Control Database","url":"/axon-server-reference/v2024.1/axon-server/architecture/control-database/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Release Notes","url":"/axon-server-reference/v2024.1/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-server-reference/v2024.1/rn-as-major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-server-reference/v2024.1/rn-as-minor-releases/","urlType":"internal"}]}],"root":true,"order":0.5}]},"axon-server-reference/0":{"displayVersion":"older releases","title":"Axon Server","version":"0","name":"axon-server-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Legacy Axon Server documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/0/","navigation":[{"content":"Axon Server 4.x","items":[{"content":"Release 4.7"},{"content":"Release 4.6"},{"content":"Release 4.5"},{"content":"Release 4.4"},{"content":"Release 4.3"},{"content":"Release 4.2"},{"content":"Release 4.1"},{"content":"Release 4.0"}],"root":true,"order":0}]},"reference-guide/master":{"displayVersion":"master","title":"Reference Guide","version":"master","name":"reference-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"type":"home"},"sourcemap":false,"extensions":[{},{}]},"url":"/reference-guide/"},"dead-letter-queue-guide/development":{"displayVersion":"development","title":"Dead-Letter Queues","version":"development","name":"dead-letter-queue-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Dead-Letter queues to ensure your system stays operational during failures","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/dead-letter-queue-guide/development/","navigation":[{"items":[{"content":"Dead Letter Queues","url":"/dead-letter-queue-guide/development/","urlType":"internal","items":[{"content":"Implementing dead letter queue","url":"/dead-letter-queue-guide/development/implementing/","urlType":"internal"},{"content":"Retrying failed sequences","url":"/dead-letter-queue-guide/development/retrying/","urlType":"internal"},{"content":"Advanced use cases","url":"/dead-letter-queue-guide/development/advanced/","urlType":"internal"}]}],"root":true,"order":0}]},"dead-letter-queue-guide/4.10":{"displayVersion":"4.10","title":"Dead-Letter Queues","version":"4.10","name":"dead-letter-queue-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Dead-Letter queues to ensure your system stays operational during failures","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/dead-letter-queue-guide/4.10/","navigation":[{"items":[{"content":"Dead Letter Queues","url":"/dead-letter-queue-guide/4.10/","urlType":"internal","items":[{"content":"Implementing dead letter queue","url":"/dead-letter-queue-guide/4.10/implementing/","urlType":"internal"},{"content":"Retrying failed sequences","url":"/dead-letter-queue-guide/4.10/retrying/","urlType":"internal"},{"content":"Advanced use cases","url":"/dead-letter-queue-guide/4.10/advanced/","urlType":"internal"}]}],"root":true,"order":0}]},"deadlines-guide/development":{"displayVersion":"development","title":"Deadlines guide","version":"development","name":"deadlines-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Deadlines to implement time-based constraints","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/deadlines-guide/development/","navigation":[{"items":[{"content":"Select a manager","url":"/deadlines-guide/development/deciding/","urlType":"internal"},{"content":"Add a handler","url":"/deadlines-guide/development/implementing/","urlType":"internal"},{"content":"Test the handler","url":"/deadlines-guide/development/testing/","urlType":"internal"},{"content":"Advanced use cases","url":"/deadlines-guide/development/advanced/","urlType":"internal"}],"root":true,"order":0}]},"deadlines-guide/4.10":{"displayVersion":"4.10","title":"Deadlines guide","version":"4.10","name":"deadlines-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Deadlines to implement time-based constraints","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/deadlines-guide/4.10/","navigation":[{"items":[{"content":"Select a manager","url":"/deadlines-guide/4.10/deciding/","urlType":"internal"},{"content":"Add a handler","url":"/deadlines-guide/4.10/implementing/","urlType":"internal"},{"content":"Test the handler","url":"/deadlines-guide/4.10/testing/","urlType":"internal"},{"content":"Advanced use cases","url":"/deadlines-guide/4.10/advanced/","urlType":"internal"}],"root":true,"order":0}]},"identifier-generation-guide/development":{"displayVersion":"development","title":"Changing Identifier generation","version":"development","name":"identifier-generation-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to change the generated identifiers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/identifier-generation-guide/development/","navigation":[{"items":[{"content":"Identifier Generation","url":"/identifier-generation-guide/development/","urlType":"internal"}],"root":true,"order":0}]},"identifier-generation-guide/4.10":{"displayVersion":"4.10","title":"Changing Identifier generation","version":"4.10","name":"identifier-generation-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to change the generated identifiers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/identifier-generation-guide/4.10/","navigation":[{"items":[{"content":"Identifier Generation","url":"/identifier-generation-guide/4.10/","urlType":"internal"}],"root":true,"order":0}]},"message-handler-customization-guide/development":{"displayVersion":"development","title":"Customizing Message Handlers","version":"development","name":"message-handler-customization-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to customize message handlers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/message-handler-customization-guide/development/","navigation":[{"items":[{"content":"Parameter Resolvers","url":"/message-handler-customization-guide/development/parameter-resolvers/","urlType":"internal"},{"content":"Handler Enhancers","url":"/message-handler-customization-guide/development/handler-enhancers/","urlType":"internal"}],"root":true,"order":0}]},"message-handler-customization-guide/4.10":{"displayVersion":"4.10","title":"Customizing Message Handlers","version":"4.10","name":"message-handler-customization-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to customize message handlers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/message-handler-customization-guide/4.10/","navigation":[{"items":[{"content":"Parameter Resolvers","url":"/message-handler-customization-guide/4.10/parameter-resolvers/","urlType":"internal"},{"content":"Handler Enhancers","url":"/message-handler-customization-guide/4.10/handler-enhancers/","urlType":"internal"}],"root":true,"order":0}]},"meta-annotations-guide/development":{"displayVersion":"development","title":"Meta Annotations","version":"development","name":"meta-annotations-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How you can create meta-annotations to extend the framework functionality","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/meta-annotations-guide/development/","navigation":[{"items":[{"content":"Meta Annotations","url":"/meta-annotations-guide/development/","urlType":"internal"}],"root":true,"order":0}]},"meta-annotations-guide/4.10":{"displayVersion":"4.10","title":"Meta Annotations","version":"4.10","name":"meta-annotations-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How you can create meta-annotations to extend the framework functionality","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/meta-annotations-guide/4.10/","navigation":[{"items":[{"content":"Meta Annotations","url":"/meta-annotations-guide/4.10/","urlType":"internal"}],"root":true,"order":0}]},"amqp-extension-reference/development":{"displayVersion":"development","title":"Spring AMQP Reference","version":"development","name":"amqp-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding AMQP support for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/amqp-extension-reference/development/","navigation":[{"items":[{"content":"Forwarding events to an AMQP exchange","url":"/amqp-extension-reference/development/forwarding/","urlType":"internal"},{"content":"Reading events from an AMQP Queue","url":"/amqp-extension-reference/development/reading/","urlType":"internal"},{"content":"Release notes","url":"/amqp-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"amqp-extension-reference/4.10":{"displayVersion":"4.10","title":"Spring AMQP Reference","version":"4.10","name":"amqp-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding AMQP support for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/amqp-extension-reference/4.10/","navigation":[{"items":[{"content":"Forwarding events to an AMQP exchange","url":"/amqp-extension-reference/4.10/forwarding/","urlType":"internal"},{"content":"Reading events from an AMQP Queue","url":"/amqp-extension-reference/4.10/reading/","urlType":"internal"},{"content":"Release notes","url":"/amqp-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"jgroups-extension-reference/development":{"displayVersion":"development","title":"JGroups Extension Reference","version":"development","name":"jgroups-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding JGroups integration for command routing","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/jgroups-extension-reference/development/","navigation":[{"items":[{"content":"Configuration in SpringBoot","url":"/jgroups-extension-reference/development/springboot-config/","urlType":"internal"},{"content":"Release notes","url":"/jgroups-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"jgroups-extension-reference/4.10":{"displayVersion":"4.10","title":"JGroups Extension Reference","version":"4.10","name":"jgroups-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding JGroups integration for command routing","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/jgroups-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuration in SpringBoot","url":"/jgroups-extension-reference/4.10/springboot-config/","urlType":"internal"},{"content":"Release notes","url":"/jgroups-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"jobrunr-pro-extension-reference/4.10":{"displayVersion":"4.10","title":"JobRunr Pro Extension Reference","version":"4.10","name":"jobrunr-pro-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding JobRunr Pro integration for deadline management","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/jobrunr-pro-extension-reference/4.10/","navigation":[{"items":[{"content":"Release Notes","url":"/jobrunr-pro-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kafka-extension-reference/development":{"displayVersion":"development","title":"Kafka Extension Reference","version":"development","name":"kafka-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding Kafka integration for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kafka-extension-reference/development/","navigation":[{"items":[{"content":"Publishing Events to Kafka","url":"/kafka-extension-reference/development/publishing/","urlType":"internal"},{"content":"Consuming Events From Kafka","url":"/kafka-extension-reference/development/consuming/","urlType":"internal"},{"content":"Customizing Event Message Format","url":"/kafka-extension-reference/development/message-format/","urlType":"internal"},{"content":"Configuration in SpringBoot","url":"/kafka-extension-reference/development/springboot-configuration/","urlType":"internal"},{"content":"Release notes","url":"/kafka-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kafka-extension-reference/4.10":{"displayVersion":"4.10","title":"Kafka Extension Reference","version":"4.10","name":"kafka-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding Kafka integration for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kafka-extension-reference/4.10/","navigation":[{"items":[{"content":"Publishing Events to Kafka","url":"/kafka-extension-reference/4.10/publishing/","urlType":"internal"},{"content":"Consuming Events From Kafka","url":"/kafka-extension-reference/4.10/consuming/","urlType":"internal"},{"content":"Customizing Event Message Format","url":"/kafka-extension-reference/4.10/message-format/","urlType":"internal"},{"content":"Configuration in SpringBoot","url":"/kafka-extension-reference/4.10/springboot-configuration/","urlType":"internal"},{"content":"Release notes","url":"/kafka-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kotlin-extension-reference/development":{"displayVersion":"development","title":"Kotlin Extension Reference","version":"development","name":"kotlin-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension enhancing the development experience when using Kotlin","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kotlin-extension-reference/development/","navigation":[{"items":[{"content":"Commands","url":"/kotlin-extension-reference/development/commands/","urlType":"internal"},{"content":"Events","url":"/kotlin-extension-reference/development/events/","urlType":"internal"},{"content":"Queries","url":"/kotlin-extension-reference/development/queries/","urlType":"internal"},{"content":"Release notes","url":"/kotlin-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kotlin-extension-reference/4.10":{"displayVersion":"4.10","title":"Kotlin Extension Reference","version":"4.10","name":"kotlin-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension enhancing the development experience when using Kotlin","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kotlin-extension-reference/4.10/","navigation":[{"items":[{"content":"Commands","url":"/kotlin-extension-reference/4.10/commands/","urlType":"internal"},{"content":"Events","url":"/kotlin-extension-reference/4.10/events/","urlType":"internal"},{"content":"Queries","url":"/kotlin-extension-reference/4.10/queries/","urlType":"internal"},{"content":"Release notes","url":"/kotlin-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"mongodb-extension-reference/4.10":{"displayVersion":"4.10","title":"MongoDB Extension Reference","version":"4.10","name":"mongodb-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding MongoDB integration for all Axon Framework components requiring storage","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/mongodb-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuration of the Event Store with Spring","url":"/mongodb-extension-reference/4.10/spring-config/","urlType":"internal"},{"content":"Configuration in SpringBoot","url":"/mongodb-extension-reference/4.10/springboot-config/","urlType":"internal"},{"content":"Configuration of the MongoDB Dead-Letter Queue with Spring","url":"/mongodb-extension-reference/4.10/dlq-spring-config/","urlType":"internal"},{"content":"Release notes","url":"/mongodb-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"multitenancy-extension-reference/development":{"displayVersion":"development","title":"Multitenancy Extension Reference","version":"development","name":"multitenancy-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding building blocks to simplify multitenancy, particularly straightforward in combination with Axon Server","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/multitenancy-extension-reference/development/","navigation":[{"items":[{"content":"Configuration","url":"/multitenancy-extension-reference/development/configuration/","urlType":"internal"},{"content":"Supported Multi-Tenant Components","url":"/multitenancy-extension-reference/development/multi-tenant-components/","urlType":"internal"},{"content":"Disable Extension","url":"/multitenancy-extension-reference/development/disable/","urlType":"internal"},{"content":"Release notes","url":"/multitenancy-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"multitenancy-extension-reference/4.10":{"displayVersion":"4.10","title":"Multitenancy Extension Reference","version":"4.10","name":"multitenancy-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding building blocks to simplify multitenancy, particularly straightforward in combination with Axon Server","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/multitenancy-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuration","url":"/multitenancy-extension-reference/4.10/configuration/","urlType":"internal"},{"content":"Supported Multi-Tenant Components","url":"/multitenancy-extension-reference/4.10/multi-tenant-components/","urlType":"internal"},{"content":"Disable Extension","url":"/multitenancy-extension-reference/4.10/disable/","urlType":"internal"},{"content":"Release notes","url":"/multitenancy-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"reactor-extension-reference/4.10":{"displayVersion":"4.10","title":"Reactor Extension Reference","version":"4.10","name":"reactor-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension providing Axon Framework-specific infrastructure components using the Project Reactor API","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/reactor-extension-reference/4.10/","navigation":[{"items":[{"content":"Reactor Gateways","url":"/reactor-extension-reference/4.10/reactor-gateways/","urlType":"internal"},{"content":"Release notes","url":"/reactor-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"spring-aot-extension-reference/development":{"displayVersion":"development","title":"Spring AOT Extension Guide","version":"development","name":"spring-aot-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension providing native compilation for Axon and Spring-based applications","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/spring-aot-extension-reference/development/","navigation":[{"items":[{"content":"Compiling to Native","url":"/spring-aot-extension-reference/development/compile-to-native/","urlType":"internal"},{"content":"Performance Tips","url":"/spring-aot-extension-reference/development/performance/","urlType":"internal"},{"content":"Release notes","url":"/spring-aot-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"spring-aot-extension-reference/4.10":{"displayVersion":"4.10","title":"Spring AOT Extension Guide","version":"4.10","name":"spring-aot-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension providing native compilation for Axon and Spring-based applications","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/spring-aot-extension-reference/4.10/","navigation":[{"items":[{"content":"Compiling to Native","url":"/spring-aot-extension-reference/4.10/compile-to-native/","urlType":"internal"},{"content":"Performance Tips","url":"/spring-aot-extension-reference/4.10/performance/","urlType":"internal"},{"content":"Release notes","url":"/spring-aot-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"spring-cloud-extension-reference/4.10":{"displayVersion":"4.10","title":"Spring Cloud Extension Guide","version":"4.10","name":"spring-cloud-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding Spring Cloud integration for command routing","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/spring-cloud-extension-reference/4.10/","navigation":[{"items":[{"content":"Discovering Command Routes","url":"/spring-cloud-extension-reference/4.10/command-routes/","urlType":"internal"},{"content":"Sending Commands between Nodes","url":"/spring-cloud-extension-reference/4.10/internode-commands/","urlType":"internal"},{"content":"Configuring This Extension","url":"/spring-cloud-extension-reference/4.10/config/","urlType":"internal"},{"content":"Release notes","url":"/spring-cloud-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"tracing-extension-reference/4.10":{"displayVersion":"4.10","title":"Tracing Extension Guide","version":"4.10","name":"tracing-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding OpenTracing integration to Axon's infrastructure components, superseded by integrated Open Telemetry support","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/tracing-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuring the Extension","url":"/tracing-extension-reference/4.10/config/","urlType":"internal"},{"content":"Release notes","url":"/tracing-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"axon-server-query-language-guide/master":{"displayVersion":"master","title":"Axon Server Query Language Guide","version":"master","name":"axon-server-query-language-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Guide that covers the axon server query language.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-query-language-guide/","navigation":[{"items":[{"content":"Principles","url":"/axon-server-query-language-guide/","urlType":"internal","items":[{"content":"Filters","url":"/axon-server-query-language-guide/filters/","urlType":"internal"},{"content":"Projections","url":"/axon-server-query-language-guide/projections/","urlType":"internal"},{"content":"Other Functions","url":"/axon-server-query-language-guide/other-functions/","urlType":"internal"},{"content":"Pipelines","url":"/axon-server-query-language-guide/pipelines/","urlType":"internal"},{"content":"Time Constraints","url":"/axon-server-query-language-guide/time-constraints/","urlType":"internal"}]}],"root":true,"order":0}]},"axon-server-query-language-guide/axonserver-ee-2024.2.x":{"displayVersion":"axonserver-ee-2024.2.x","title":"Axon Server Query Language Guide","version":"axonserver-ee-2024.2.x","name":"axon-server-query-language-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Guide that covers the axon server query language.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/","navigation":[{"items":[{"content":"Principles","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/","urlType":"internal","items":[{"content":"Filters","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/filters/","urlType":"internal"},{"content":"Projections","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/projections/","urlType":"internal"},{"content":"Other Functions","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/other-functions/","urlType":"internal"},{"content":"Pipelines","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/pipelines/","urlType":"internal"},{"content":"Time Constraints","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/time-constraints/","urlType":"internal"}]}],"root":true,"order":0}]},"axon-server-query-language-guide/axonserver-ee-2024.1.x":{"displayVersion":"axonserver-ee-2024.1.x","title":"Axon Server Query Language Guide","version":"axonserver-ee-2024.1.x","name":"axon-server-query-language-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Guide that covers the axon server query language.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/","navigation":[{"items":[{"content":"Principles","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/","urlType":"internal","items":[{"content":"Filters","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/filters/","urlType":"internal"},{"content":"Projections","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/projections/","urlType":"internal"},{"content":"Other Functions","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/other-functions/","urlType":"internal"},{"content":"Pipelines","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/pipelines/","urlType":"internal"},{"content":"Time Constraints","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/time-constraints/","urlType":"internal"}]}],"root":true,"order":0}]},"as-marketplace-installation-guide/main":{"displayVersion":"main","title":"Axon Server Google Marketplace Installation Guide","version":"main","name":"as-marketplace-installation-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"A tutorial to help you installing Axon Server Google via Marketplace.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/as-marketplace-installation-guide/main/","navigation":[{"items":[{"content":"Axon Server Google Marketplace Installation Guide","url":"/as-marketplace-installation-guide/main/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.11":{"displayVersion":"v0.11","title":"Axon Synapse Quick Start","version":"v0.11","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.11/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.11/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.11/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.11/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.10":{"displayVersion":"v0.10","title":"Axon Synapse Quick Start","version":"v0.10","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.10/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.10/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.10/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.10/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.9":{"displayVersion":"v0.9","title":"Axon Synapse Quick Start","version":"v0.9","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.9/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.9/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.9/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.9/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.8":{"displayVersion":"v0.8","title":"Axon Synapse Quick Start","version":"v0.8","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.8/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.8/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.8/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.8/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.7":{"displayVersion":"v0.7","title":"Axon Synapse Quick Start","version":"v0.7","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.7/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.7/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.7/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.7/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.6":{"displayVersion":"v0.6","title":"Axon Synapse Quick Start","version":"v0.6","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.6/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.6/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.6/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.6/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-reference/v0.11":{"displayVersion":"v0.11","title":"Axon Synapse","version":"v0.11","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.11/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.11/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.11/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.11/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.11/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.11/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.11/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.11/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.11/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.11/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.11/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.11/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.11/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.11/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.11/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.11/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.11/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.11/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.11/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.11/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.11/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.11/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.11/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.10":{"displayVersion":"v0.10","title":"Axon Synapse","version":"v0.10","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.10/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.10/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.10/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.10/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.10/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.10/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.10/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.10/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.10/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.10/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.10/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.10/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.10/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.10/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.10/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.10/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.10/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.10/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.10/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.10/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.10/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.10/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.10/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.9":{"displayVersion":"v0.9","title":"Axon Synapse","version":"v0.9","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.9/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.9/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.9/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.9/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.9/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.9/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.9/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.9/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.9/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.9/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.9/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.9/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.9/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.9/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.9/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.9/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.9/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.9/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.9/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.9/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.9/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.9/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.9/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.8":{"displayVersion":"v0.8","title":"Axon Synapse","version":"v0.8","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.8/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.8/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.8/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.8/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.8/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.8/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.8/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.8/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.8/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.8/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.8/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.8/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.8/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.8/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.8/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.8/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.8/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.8/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.8/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.8/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.8/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.8/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.8/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.7":{"displayVersion":"v0.7","title":"Axon Synapse","version":"v0.7","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.7/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.7/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.7/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.7/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.7/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.7/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.7/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.7/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.7/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.7/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.7/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.7/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.7/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.7/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.7/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.7/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.7/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.7/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.7/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.7/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.7/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.7/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.7/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.6":{"displayVersion":"v0.6","title":"Axon Synapse","version":"v0.6","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.6/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.6/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.6/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.6/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.6/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.6/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.6/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.6/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.6/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.6/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.6/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.6/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.6/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.6/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.6/multi-context/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.6/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.6/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.6/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.6/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"axoniq-console-getting-started/main":{"displayVersion":"main","title":"AxonIQ Console Getting Started","version":"main","name":"axoniq-console-getting-started","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"A tutorial to help you getting started with AxonIQ Console.","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/axoniq-console-getting-started/main/","navigation":[{"items":[{"content":"Connect and setup AxonIQ Console","items":[{"content":"Accessing the console","url":"/axoniq-console-getting-started/main/ac-gs-setup/access/","urlType":"internal"},{"content":"First Time Setup","url":"/axoniq-console-getting-started/main/ac-gs-setup/setting-up-your-account/","urlType":"internal"},{"content":"Success! Access your AxonIQ Console dashboard","url":"/axoniq-console-getting-started/main/ac-gs-setup/success/","urlType":"internal"},{"content":"We Value Your Feedback!","url":"/axoniq-console-getting-started/main/ac-gs-setup/feedback/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Monitor Axon Framework Applications","items":[{"content":"The AxonIQ Console Dashboard","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/dashboard/","urlType":"internal","items":[{"content":"The Applications Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/overview-tab/","urlType":"internal"},{"content":"The Processors Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/processors-tab/","urlType":"internal"},{"content":"The Aggregates Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/aggregates-tab/","urlType":"internal"},{"content":"The Handler Insights Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/handler-insights-tab/","urlType":"internal"},{"content":"The Monitoring Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/monitoring-tab/","urlType":"internal"},{"content":"The \"Message Flow\" Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/message-flow-tab/","urlType":"internal"}]},{"content":"Conclusion","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/conclusion/","urlType":"internal"}]}],"root":true,"order":0.3333},{"items":[{"content":"Installing a new instance of Axon Server","url":"/axoniq-console-getting-started/main/ac-gs-deploy-axonserver/installing-instance-as/","urlType":"internal"},{"content":"Managing AxonIQ Console Itself As The Super User","items":[{"content":"The \"Settings\" Tab","url":"/axoniq-console-getting-started/main/ac-as-superuser/settings-tab/","urlType":"internal","items":[{"content":"Applications","url":"/axoniq-console-getting-started/main/ac-as-superuser/applications/","urlType":"internal"},{"content":"Access Tokens","url":"/axoniq-console-getting-started/main/ac-as-superuser/access-tokens/","urlType":"internal"}]},{"content":"Conclusion","url":"/axoniq-console-getting-started/main/ac-as-superuser/conclusion/","urlType":"internal"}]}],"root":true,"order":0.6667}]},"axoniq-console-reference/":{"displayVersion":"default","title":"AxonIQ Console","version":"","name":"axoniq-console-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"This documentation helps users understand various parts of the AxonIQ Console in more depth to best utilize this powerful platform.","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axoniq-console-reference/","navigation":[{"items":[{"content":"Features","url":"/axoniq-console-reference/features/","urlType":"internal","items":[{"content":"Framework Metrics","url":"/axoniq-console-reference/features/metrics/","urlType":"internal"},{"content":"Monitoring","url":"/axoniq-console-reference/features/monitoring/","urlType":"internal"},{"content":"Processor Management","url":"/axoniq-console-reference/features/management/","urlType":"internal"},{"content":"Dead-Letter Queues","url":"/axoniq-console-reference/features/dlq/","urlType":"internal"}]},{"content":"Workspaces and Environments","url":"/axoniq-console-reference/environments/","urlType":"internal","items":[{"content":"AxonIQ Console Roles","url":"/axoniq-console-reference/environments/roles/","urlType":"internal"}]},{"content":"Subscriptions","url":"/axoniq-console-reference/subscriptions/","urlType":"internal"}],"root":true,"order":0}]},"bikerental-console-demo/main":{"displayVersion":"main","title":"Monitoring your AxonFramework Application with AxonIQ Console","version":"main","name":"bikerental-console-demo","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Monitor your Axon application with AxonIQ Console, helping you to detect wich parts of your system have a poor performance and get some hints on what can be improved.","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/bikerental-console-demo/main/","navigation":[{"items":[{"content":"Introduction","url":"/bikerental-console-demo/main/","urlType":"internal","items":[{"content":"Components and Tools Used During this Guide.","url":"/bikerental-console-demo/main/introduction/required-components-and-tools/","urlType":"internal"},{"content":"Structure Overview","url":"/bikerental-console-demo/main/introduction/guide-structure/","urlType":"internal"}]},{"content":"Setting up AxonIQ Console","url":"/bikerental-console-demo/main/axoniq-console/","urlType":"internal"},{"content":"Connect your Application","url":"/bikerental-console-demo/main/connect-your-app/","urlType":"internal","items":[{"content":"Prepare your App for AxonIQ Console","url":"/bikerental-console-demo/main/connect-your-app/custom-app/prepare-app-for-console/","urlType":"internal"},{"content":"Run Docker-Based Demo","url":"/bikerental-console-demo/main/connect-your-app/docker-based-demo/start-docker-based-demo/","urlType":"internal"}]},{"content":"Monitoring your Application with AxonIQ Console","url":"/bikerental-console-demo/main/monitoring/","urlType":"internal","items":[{"content":"Overview your Application in AxonIQ Console","url":"/bikerental-console-demo/main/monitoring/your-app-in-axoniq-console/","urlType":"internal"},{"content":"Add Axon Firestarter","url":"/bikerental-console-demo/main/monitoring/add-axon-firestarter/","urlType":"internal"},{"content":"Creating and Detecting Issues in your Application","url":"/bikerental-console-demo/main/monitoring/issues-w-firestarter/","urlType":"internal","items":[{"content":"Detecting a Slow Event Handler","url":"/bikerental-console-demo/main/monitoring/slow-event-handlers/","urlType":"internal"}]}]},{"content":"Conclusion","url":"/bikerental-console-demo/main/conclusion/","urlType":"internal"}],"root":true,"order":0}]},"bikerental-demo/main":{"displayVersion":"main","title":"Building An Axon Framework Application From Scratch","version":"main","name":"bikerental-demo","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Getting started with designing, building, and deploying Axon Technology based applications.","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/bikerental-demo/main/","navigation":[{"items":[{"content":"Introduction","url":"/bikerental-demo/main/","urlType":"internal"},{"content":"Create New Project","url":"/bikerental-demo/main/create-axon-framework-project/","urlType":"internal"},{"content":"Bootstrap AxonFramework","url":"/bikerental-demo/main/bootstraping-axonframework/","urlType":"internal"},{"content":"Create New Bike Feature","url":"/bikerental-demo/main/implement-create-bike/","urlType":"internal"},{"content":"Running Your Application Locally With Docker Compose","url":"/bikerental-demo/main/run-app-with-docker-compose/","urlType":"internal"},{"content":"Invoking the Register Bike Endpoint","url":"/bikerental-demo/main/invoking-create-bike-endpoint/","urlType":"internal"},{"content":"Add Unit Tests For Command Handlers","url":"/bikerental-demo/main/unit-testing-commands/","urlType":"internal"},{"content":"Creating the Query Model","url":"/bikerental-demo/main/create-bike-status-projection/","urlType":"internal"}],"root":true,"order":0}]},"playbook/":{"displayVersion":"default","title":"AxonIQ Playbook","version":"","name":"playbook","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"AxonIQ Playbook - Modeling and implementing event-sourced systems with Axon","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/playbook/","navigation":[{"items":[{"content":"State Transitions via Commands","url":"/playbook/state_transitions_via_commands/","urlType":"internal"},{"content":"Read Model Projections","url":"/playbook/state_views_via_projections/","urlType":"internal"},{"content":"Import External State","url":"/playbook/import_external_state/","urlType":"internal"},{"content":"Reservation","url":"/playbook/reservation/","urlType":"internal"},{"content":"-"},{"content":"Sign up for updates","url":"https://share.hsforms.com/1369fk3LQR7WDkMI3afhr5w40luy","urlType":"external"},{"content":"Set a call with Marc Klefter","url":"http://meetings.hubspot.com/marc-klefter","urlType":"external"}],"root":true,"order":0}]}}}}) \ No newline at end of file +antoraSearch.initSearch(lunr, {"index":{"version":"2.3.9","fields":["title","name","text","component"],"fieldVectors":[["title/1-1",[0,32.923]],["name/1-1",[]],["text/1-1",[]],["component/1-1",[]],["title/1",[0,23.019,1,10.292,2,18.624]],["name/1",[3,1.542]],["text/1",[0,5.055,1,1.205,2,2.919,4,3.158,5,5.053,6,4.803,7,4.47,8,3.059,9,3.325,10,2.408,11,5.287,12,5.842,13,4.749,14,4.555,15,3.146,16,5.053,17,5.203,18,3.423,19,5.053,20,5.125,21,4.47,22,5.053,23,4.921,24,5.377,25,4.648,26,3.995,27,4.921,28,5.287,29,4.64,30,4.555,31,4.648]],["component/1",[0,0.855,1,0.382,2,0.692]],["title/2-1",[1,8.946,32,34.152,33,36.532,34,13.993]],["name/2-1",[]],["text/2-1",[]],["component/2-1",[]],["title/2-2",[1,7.912,32,30.203,34,12.375,35,29.905,36,21.067]],["name/2-2",[]],["text/2-2",[]],["component/2-2",[]],["title/2-3",[1,7.092,32,27.072,34,11.092,37,19.274,38,10.916,39,17.403]],["name/2-3",[]],["text/2-3",[]],["component/2-3",[]],["title/2-4",[1,3.669,32,14.007,34,5.739,38,5.648,40,16.674,41,12.372,42,17.788,43,14.983,44,14.301,45,24.109,46,9.067,47,14.151,48,10.931,49,8.281]],["name/2-4",[]],["text/2-4",[]],["component/2-4",[]],["title/2-5",[1,7.092,32,27.072,34,11.092,36,18.883,50,25.404,51,27.351]],["name/2-5",[]],["text/2-5",[]],["component/2-5",[]],["title/2-6",[1,6.426,32,24.53,34,10.051,52,23.212,53,24.056,54,24.056,55,24.782]],["name/2-6",[]],["text/2-6",[]],["component/2-6",[]],["title/2-7",[1,6.426,32,24.53,34,10.051,52,23.212,56,21.519,57,18.499,58,17.319]],["name/2-7",[]],["text/2-7",[]],["component/2-7",[]],["title/2",[1,10.292,34,16.098,59,51.224]],["name/2",[59,2.836]],["text/2",[1,1.924,2,1.538,4,1.349,7,1.908,10,2.518,14,1.945,20,2.188,21,1.908,34,2.908,36,3.715,37,2.309,38,2.861,39,3.9,42,5.262,45,3.212,46,1.271,47,3.277,48,2.532,49,1.918,50,3.888,53,3.181,54,3.181,55,3.277,56,2.846,57,3.628,58,2.29,60,8.798,61,3.563,62,1.743,63,3.059,64,4.704,65,3.862,66,1.582,67,4.698,68,1.582,69,2.107,70,2.323,71,0.875,72,3.005,73,3.005,74,2.338,75,1.945,76,2.494,77,2.157,78,3.813,79,3.349,80,3.826,81,2.561,82,2.188,83,1.276,84,4.164,85,4.704,86,2.296,87,1.299,88,2.257,89,1.964,90,2.561,91,1.461,92,1.647,93,1.229,94,1.381,95,2.482,96,2.402,97,1.908,98,1.393,99,2.47,100,1.435,101,2.128,102,1.786,103,2.732,104,2.436,105,1.875,106,1.786,107,2.349,108,2.385,109,1.628,110,2.848,111,2.732,112,3.242,113,2.561,114,3.17,115,2.222,116,1.668,117,1.945,118,2.561,119,2.075,120,1.338,121,2.561,122,1.333,123,3.005,124,1.518,125,2.638,126,1.338,127,2.972,128,2.296,129,2.222,130,1.964,131,2.006,132,2.188,133,2.436,134,1.668,135,2.296,136,1.814,137,2.732,138,2.028,139,2.257,140,1.8,141,1.416,142,2.028,143,2.482,144,1.984,145,1.678,146,1.7,147,2.222,148,2.737,149,1.929,150,2.638,151,2.638,152,1.154,153,2.494,154,1.387,155,3.005,156,2.732,157,2.188,158,1.908,159,6.13,160,3.005,161,1.422,162,1.689,163,2.245,164,1.747,165,1.338,166,1.481,167,1.115,168,3.005,169,1.591,170,1.859,171,2.494,172,3.242,173,1.668,174,2.006,175,1.908,176,1.773,177,1.747,178,1.29,179,2.222,180,1.875,181,2.638,182,2.157,183,1.454,184,2.101]],["component/2",[59,4.056]],["title/3-1",[185,41.432,186,44.527]],["name/3-1",[]],["text/3-1",[]],["component/3-1",[]],["title/3-2",[121,60.293,187,56.145]],["name/3-2",[]],["text/3-2",[]],["component/3-2",[]],["title/3-3",[188,81.486]],["name/3-3",[]],["text/3-3",[]],["component/3-3",[]],["title/3-4",[189,81.486]],["name/3-4",[]],["text/3-4",[]],["component/3-4",[]],["title/3-5",[190,81.486]],["name/3-5",[]],["text/3-5",[]],["component/3-5",[]],["title/3-6",[191,81.486]],["name/3-6",[]],["text/3-6",[]],["component/3-6",[]],["title/3-7",[192,81.486]],["name/3-7",[]],["text/3-7",[]],["component/3-7",[]],["title/3-8",[193,81.486]],["name/3-8",[]],["text/3-8",[]],["component/3-8",[]],["title/3-9",[186,44.527,194,36.276]],["name/3-9",[]],["text/3-9",[]],["component/3-9",[]],["title/3-10",[185,41.432,195,47.738]],["name/3-10",[]],["text/3-10",[]],["component/3-10",[]],["title/3-11",[196,75.483]],["name/3-11",[]],["text/3-11",[]],["component/3-11",[]],["title/3-12",[197,22.486,198,51.224,199,54.639]],["name/3-12",[]],["text/3-12",[]],["component/3-12",[]],["title/3-13",[1,10.292,34,16.098,200,36.868]],["name/3-13",[]],["text/3-13",[]],["component/3-13",[]],["title/3",[1,7.912,34,12.375,146,26.143,185,27.059,196,40.57]],["name/3",[201,2.117,202,1.784]],["text/3",[0,0.453,1,1.496,4,0.277,5,4.449,8,0.384,9,0.929,10,0.583,15,0.529,18,0.167,34,2.228,37,0.287,38,0.576,39,0.918,44,0.412,45,1.703,48,1.342,49,1.177,50,1.341,53,0.759,54,0.396,55,0.782,57,2.335,58,1.904,62,0.601,66,0.623,67,0.331,68,0.325,69,1.293,70,0.538,71,2.389,78,0.32,83,0.262,87,0.512,91,0.3,93,0.484,94,0.544,95,0.592,96,2.428,99,1.088,100,1.454,101,0.437,105,0.385,106,0.367,107,0.56,109,0.923,114,0.309,115,0.456,119,0.426,120,0.527,121,6.565,122,0.525,124,0.861,126,0.527,132,0.45,140,0.37,141,0.803,142,2.054,146,0.964,147,1.26,148,0.94,149,1.023,152,0.655,159,0.408,162,0.665,163,0.535,165,1.356,166,0.304,167,3.275,176,0.364,178,0.732,183,0.573,185,3.506,186,5.371,187,0.49,188,2.886,189,3.251,190,3.592,191,2.494,192,2.072,193,1.122,194,0.874,195,2.557,196,4.405,197,2.598,198,5.453,199,1.987,200,2.324,202,0.561,203,0.941,204,0.774,205,0.392,206,0.421,207,1.429,208,0.542,209,0.501,210,0.464,211,0.462,212,1.382,213,0.501,214,0.464,215,0.958,216,0.279,217,0.513,218,0.578,219,1.341,220,0.774,221,0.814,222,1.906,223,1.237,224,2.838,225,1.443,226,6.726,227,1.704,228,1.183,229,0.553,230,0.385,231,1.122,232,0.69,233,0.26,234,1.029,235,1.183,236,0.617,237,0.617,238,0.526,239,0.561,240,0.617,241,3.543,242,3.953,243,2.494,244,1,245,0.489,246,0.617,247,0.586,248,1.382,249,0.759,250,0.852,251,0.653,252,2.886,253,3.334,254,0.417,255,4.491,256,0.585,257,1.177,258,2.847,259,0.561,260,1.241,261,0.467,262,0.774,263,2.01,264,0.376,265,0.617,266,0.364,267,0.437,268,1.235,269,0.513,270,0.561,271,3.067,272,1.679,273,0.443,274,1.253,275,0.726,276,0.977,277,0.501,278,0.526,279,0.392,280,1.616,281,0.521,282,0.526,283,0.697,284,1.704,285,0.376,286,0.573,287,1.094,288,0.526,289,1.46,290,0.952,291,2.434,292,0.421,293,0.526,294,0.585,295,1.704,296,0.561,297,1.076,298,1.388,299,1.19,300,1.183,301,0.376,302,0.617,303,0.617,304,0.421,305,0.617,306,0.617,307,0.617,308,0.617,309,0.617,310,1.299,311,0.906,312,1.183,313,1.707,314,1.55,315,0.915,316,0.637,317,0.555,318,1.592,319,0.48,320,0.617,321,1.183,322,0.617,323,1.073,324,0.267,325,1.704,326,0.546,327,0.362,328,1.37,329,0.345,330,0.472,331,0.48,332,0.653,333,1.55,334,0.698,335,1.122,336,1.338,337,0.362,338,0.313,339,2.768,340,0.808,341,0.426,342,1.126,343,3.066,344,1.029,345,1.03,346,1.183,347,1.076,348,1.814,349,1.704,350,1.183,351,1.183,352,1.183,353,1.183,354,1.183,355,0.777,356,0.617,357,0.85,358,1.039,359,0.617,360,0.513,361,0.513,362,0.49,363,0.617,364,0.48,365,0.617,366,0.617,367,0.617,368,0.501,369,1.183,370,0.51,371,0.464,372,0.513,373,0.426,374,0.426,375,0.357,376,0.585,377,0.759,378,0.49,379,0.84,380,1.2,381,0.385,382,0.617,383,0.617,384,0.585,385,0.617,386,0.617,387,0.617,388,0.617,389,0.617,390,0.617,391,0.617,392,1.183,393,0.617,394,0.617,395,0.546,396,0.48,397,0.585,398,0.766,399,1.183,400,1.442,401,0.542,402,2.837,403,0.472,404,0.661,405,0.501,406,0.327,407,0.617,408,0.748,409,0.617,410,0.501,411,0.561,412,1.122,413,1.122,414,0.526,415,0.345,416,0.526,417,0.617,418,1.88,419,2.173,420,0.679,421,1.859,422,1.115,423,0.688,424,2.185,425,0.904,426,0.408,427,0.404,428,2.578,429,1.183,430,1.224,431,0.585,432,0.364,433,1.26,434,0.617,435,1.241,436,0.617,437,0.617,438,0.617,439,3.005,440,1.704,441,1.704,442,1.704,443,1.704,444,0.617,445,1.592,446,1.126,447,0.617,448,0.617,449,0.617,450,0.617,451,0.617,452,0.617,453,0.617,454,0.617,455,0.617,456,0.617,457,0.617,458,0.617,459,0.617,460,3.623,461,4.125,462,3.105,463,4.125,464,0.617,465,3.516,466,3.274,467,0.617,468,0.617,469,0.617,470,0.617,471,0.617,472,0.617,473,0.617,474,0.617,475,0.617,476,0.617,477,0.617,478,0.617,479,0.617,480,0.617,481,0.617,482,0.617,483,0.617,484,0.617,485,0.426,486,0.561,487,0.285,488,1.206,489,0.904,490,0.456,491,0.349,492,0.617,493,0.617,494,0.464,495,1.145,496,0.437,497,0.392,498,0.634,499,0.404,500,0.339,501,0.412,502,0.352,503,0.437,504,0.542,505,0.404,506,0.49,507,0.561,508,0.585,509,0.617,510,0.617,511,1.029,512,0.325,513,0.334,514,0.292,515,0.617,516,0.561,517,0.376,518,0.426,519,0.526,520,0.367,521,0.412,522,0.421,523,0.526,524,2.185,525,0.542,526,0.501,527,0.617,528,0.542,529,0.585,530,0.404,531,0.45,532,0.426,533,0.417,534,0.526,535,0.526,536,0.426,537,0.542,538,0.329,539,0.306,540,0.404,541,0.373,542,0.389,543,0.45,544,0.542,545,0.617,546,0.526,547,0.437,548,0.367,549,0.382,550,0.325,551,0.585,552,0.339,553,0.249,554,0.561,555,0.586,556,0.604,557,0.617,558,0.464,559,0.617,560,0.341,561,1.183,562,0.347,563,0.783,564,1.076,565,0.617,566,0.437,567,3.429,568,0.318,569,0.376,570,0.542,571,0.307,572,1.114,573,0.617,574,2.416,575,3.044,576,1.183,577,0.617,578,0.617,579,0.617,580,0.49,581,0.437,582,0.352,583,4.491,584,0.501,585,0.561,586,2.185,587,0.617,588,1.919,589,2.144,590,1.863,591,2.314,592,1.183,593,0.49,594,1.55,595,0.617,596,0.456,597,0.617,598,0.617,599,0.617,600,0.561,601,0.617,602,0.617,603,1.046,604,1.183,605,1.701,606,0.983,607,1.122,608,3.044,609,2.722,610,0.617,611,0.617,612,0.617,613,3.044,614,1.704,615,0.984,616,0.617,617,0.617,618,0.617,619,1.183,620,1.076,621,1.183,622,1.063,623,1.183,624,0.617,625,1.183,626,0.472,627,0.617,628,0.437,629,0.617,630,1.183,631,0.617,632,1.704,633,1.704,634,1.029,635,0.883,636,0.617,637,1.183,638,0.958,639,1.183,640,1.009,641,1.183,642,0.645,643,1.183,644,1.183,645,1.183,646,0.617,647,1.183,648,0.315,649,0.617,650,0.617,651,1.183,652,0.617,653,0.408,654,0.392,655,0.417,656,0.45,657,0.542,658,0.617,659,0.432,660,0.542,661,1.183,662,1.183,663,0.617,664,0.542,665,0.396,666,0.939,667,0.585,668,0.623,669,0.472,670,0.408,671,0.297,672,0.289,673,0.561,674,0.732,675,0.617,676,0.617,677,0.349,678,0.703,679,0.354,680,0.417,681,0.357]],["component/3",[1,0.382,34,0.598,146,1.264]],["title/4-1",[682,58.729,683,42.701]],["name/4-1",[]],["text/4-1",[]],["component/4-1",[]],["title/4-2",[62,16.531,116,33.359,289,33.359]],["name/4-2",[]],["text/4-2",[]],["component/4-2",[]],["title/4-3",[0,27.094,670,46.72]],["name/4-3",[]],["text/4-3",[]],["component/4-3",[]],["title/4-4",[145,39.514,684,42.701]],["name/4-4",[]],["text/4-4",[]],["component/4-4",[]],["title/4",[1,8.946,34,13.993,145,29.181,685,49.523]],["name/4",[686,3.59]],["text/4",[0,3.012,1,1.92,8,2.087,14,2.686,34,3.002,37,2.99,39,1.743,49,1.603,58,4.087,62,1.767,71,2.29,94,4.403,99,2.065,116,4.365,124,2.096,132,3.022,133,3.364,140,3.848,142,5.975,145,4.393,148,2.289,149,3.058,152,3.402,161,1.964,177,3.736,179,3.068,183,3.11,185,2.43,186,2.612,226,5.186,241,4.574,242,5.848,244,2.942,253,2.611,258,3.117,268,3.691,269,7.351,276,2.379,287,2.673,289,2.303,291,3.463,297,3.772,298,4.081,301,2.524,311,2.664,315,1.738,328,2.161,339,3.772,375,2.396,420,2.379,511,1.623,571,2.065,670,5.194,685,6.091,687,6.091,688,7.939,689,3.536,690,2.261,691,3.975,692,2.866,693,3.772,694,7.863,695,3.022,696,2.303,697,3.022,698,6.932,699,4.149,700,4.476,701,4.149,702,2.128,703,4.476,704,3.068,705,6.932,706,4.476,707,4.476,708,2.612,709,1.834,710,4.476,711,3.933,712,2.379,713,3.117,714,2.712,715,3.117,716,2.566,717,3.772,718,3.536]],["component/4",[1,0.382,34,0.598,145,1.247]],["title/5-1",[9,13.247,32,24.53,175,23.833,719,31.982,720,30.426,721,13.247,722,16.162]],["name/5-1",[]],["text/5-1",[]],["component/5-1",[]],["title/5-2",[32,34.152,149,20.313,197,19.546,723,29.181]],["name/5-2",[]],["text/5-2",[]],["component/5-2",[]],["title/5-3",[9,16.311,32,30.203,70,14.585,233,19.482,721,16.311]],["name/5-3",[]],["text/5-3",[]],["component/5-3",[]],["title/5-4",[1,5.41,9,11.153,32,20.651,34,8.461,98,14.641,268,14.826,281,13.91,336,12.32,721,11.153]],["name/5-4",[]],["text/5-4",[]],["component/5-4",[]],["title/5-5",[9,12.11,32,22.424,63,11.305,70,10.828,98,15.898,370,14.775,721,12.11,724,19.808]],["name/5-5",[]],["text/5-5",[]],["component/5-5",[]],["title/5-6",[32,20.651,87,13.656,716,19.541,725,31.589,726,26.226,727,22.377,728,49.017,729,19.884]],["name/5-6",[]],["text/5-6",[]],["component/5-6",[]],["title/5-7",[9,7.564,32,14.007,71,10.845,126,9.543,290,9.33,379,10.563,702,10.987,721,7.564,730,10.664,731,22.139,732,21.425,733,21.425,734,10.822]],["name/5-7",[]],["text/5-7",[]],["component/5-7",[]],["title/5-8",[32,30.203,229,21.593,681,26.679,735,23.51]],["name/5-8",[]],["text/5-8",[]],["component/5-8",[]],["title/5-9",[32,27.072,52,25.617,681,23.913,735,13.956,736,36.365,737,44.68]],["name/5-9",[]],["text/5-9",[]],["component/5-9",[]],["title/5-10",[32,34.152,93,21.369,120,23.267,428,25.516]],["name/5-10",[]],["text/5-10",[]],["component/5-10",[]],["title/5-11",[32,39.289,120,26.767,738,41.022]],["name/5-11",[]],["text/5-11",[]],["component/5-11",[]],["title/5-12",[32,27.072,96,20.042,152,15.909,159,27.351,163,18.734,739,37.65]],["name/5-12",[]],["text/5-12",[]],["component/5-12",[]],["title/5-13",[9,13.247,32,24.53,211,14.635,222,15.1,299,16.974,721,13.247,740,22.474]],["name/5-13",[]],["text/5-13",[]],["component/5-13",[]],["title/5-14",[9,12.11,32,22.424,63,11.305,211,13.378,721,12.11,740,20.545,741,19.284,742,18.694]],["name/5-14",[]],["text/5-14",[]],["component/5-14",[]],["title/5-15",[9,16.311,32,30.203,299,20.9,496,32.727,721,16.311]],["name/5-15",[]],["text/5-15",[]],["component/5-15",[]],["title/5",[9,21.218,59,51.224,721,21.218]],["name/5",[743,3.59]],["text/5",[1,1.261,2,1.264,9,3.753,10,0.575,15,1.345,26,0.633,30,1.088,34,1.845,36,0.767,37,0.782,38,1.309,41,0.971,46,0.711,49,0.65,54,1.928,57,0.829,60,9.01,62,1.122,63,2.98,65,1.308,66,0.885,67,3.057,69,1.277,70,3.226,71,1.188,78,1.558,86,1.285,87,1.3,89,1.099,91,0.817,93,2.031,96,1.455,98,3.192,99,1.497,100,1.948,106,2.425,107,1.931,108,1.334,113,1.433,118,2.563,120,2.212,122,0.746,126,1.339,129,1.243,135,1.285,138,1.135,141,1.417,144,1.11,146,2.81,148,0.927,149,1.169,152,1.155,153,2.051,159,1.986,163,0.761,167,2.353,169,1.592,171,1.396,175,1.91,177,0.978,194,0.862,197,1.527,200,1.031,205,1.068,211,0.656,216,0.761,222,1.21,223,0.683,224,0.746,230,1.049,232,2.79,233,0.709,234,0.568,245,1.686,250,0.841,251,1.659,253,1.658,257,0.65,260,2.024,261,0.664,268,0.789,272,1.659,283,1.23,299,1.36,315,0.704,317,0.789,326,1.388,336,1.937,355,0.767,370,2.459,380,1.86,381,1.049,395,0.776,410,1.363,419,0.964,423,0.978,428,1.993,445,1.224,446,0.867,487,0.776,496,1.191,498,0.9,501,1.122,511,0.658,513,1.629,514,0.796,517,1.023,519,1.433,521,2.007,536,2.818,539,0.833,546,1.433,553,0.679,560,0.927,563,0.773,571,1.497,591,1.135,635,1.558,648,1.534,672,0.786,679,0.964,681,1.737,684,1.815,702,1.542,704,1.243,708,1.058,716,1.86,721,3.608,722,1.757,723,2.279,724,1.737,726,1.396,727,1.191,728,1.594,729,3.594,730,0.837,731,0.999,732,3.007,733,3.007,735,3.391,738,3.897,739,2.734,740,1.801,741,2.294,744,1.11,745,1.135,746,1.305,747,1.476,748,1.567,749,2.101,750,1.584,751,1.285,752,3.244,753,2.997,754,1.161,755,1.845,756,3.111,757,2.029,758,2.39,759,1.363,760,1.575,761,0.74,762,2.298,763,0.89,764,1.243,765,1.363,766,0.922,767,0.837,768,1.308,769,1.681,770,2.387,771,1.814,772,1.55,773,1.876,774,0.927,775,1.681,776,2.591,777,6.342,778,1.263,779,1.814,780,1.476,781,1.594,782,1.594,783,0.622,784,1.814,785,1.681,786,0.978,787,1.814,788,1.814,789,3.214,790,1.659,791,1.396,792,2.667,793,1.91,794,0.992,795,1.363,796,1.243,797,2.734,798,1.528,799,2.546,800,1.04,801,1.078,802,1.528,803,1.814,804,1.845,805,2.082,806,1.263,807,1.147,808,1.058,809,1.122,810,1.691,811,1.814,812,2.785,813,0.786,814,1.681,815,1.528,816,1.594,817,3.118,818,0.906,819,2.387,820,0.927,821,0.964,822,1.176,823,1.49,824,4.099,825,1.528,826,2.13,827,3.868,828,1.814,829,0.867,830,1.528,831,1.058,832,1.147,833,1.528,834,1.363,835,3.387,836,1.099,837,1.224,838,1.681,839,1.015,840,1.099,841,0.786,842,2.223,843,0.719,844,2.223,845,1.224,846,1.526,847,1.191,848,2.373,849,2.34,850,1.702,851,1.396,852,0.833,853,1.243,854,0.964,855,1.068,856,1.088,857,1.135,858,1.814,859,1.814,860,1.814,861,1.814,862,1.135,863,1.814,864,1.814,865,0.916,866,0.668]],["component/5",[9,0.788,59,1.903,721,0.788]],["title/6-1",[867,92.74]],["name/6-1",[]],["text/6-1",[]],["component/6-1",[]],["title/6-2",[38,12.178,245,19.087,487,21.325,868,33.174,869,32.307]],["name/6-2",[]],["text/6-2",[]],["component/6-2",[]],["title/6",[38,15.841,868,43.153,869,42.026]],["name/6",[3,1.542]],["text/6",[1,0.406,7,1.505,10,1.39,15,2.385,16,1.702,34,0.635,38,3.258,42,3.374,45,4.093,46,1.72,49,2.444,51,1.565,52,3.3,57,1.168,67,2.857,70,0.748,80,1.431,91,1.976,96,2.582,98,1.883,101,1.679,106,1.409,107,1.122,109,1.284,114,3.162,119,1.637,122,2.367,124,1.197,125,2.081,126,1.81,134,2.256,140,2.434,152,0.91,153,1.191,154,1.094,161,1.924,165,1.81,166,1.168,170,4.801,183,1.147,197,0.887,200,1.454,211,2.466,215,1.332,216,1.072,222,1.635,223,1.651,229,1.108,232,2.881,245,2.612,251,1.307,260,0.966,276,1.359,287,2.63,299,1.072,311,0.982,317,1.112,380,1.081,408,1.04,419,6.53,439,1.726,487,1.094,505,1.549,511,1.59,522,1.618,539,1.174,548,1.409,552,1.299,553,0.957,556,2.073,563,4.497,568,1.222,589,2.299,634,1.431,680,2.742,712,1.359,719,2.02,720,1.922,722,1.021,723,1.324,731,1.409,734,1.197,741,2.284,742,2.215,749,1.72,767,2.655,772,1.222,773,5.179,776,1.505,780,2.081,792,1.549,796,1.752,808,1.492,810,1.332,826,1.679,841,1.108,852,1.174,862,1.599,866,0.942,868,3.83,869,4.974,870,8.373,871,3.162,872,5.023,873,1.752,874,2.247,875,2.581,876,2.774,877,3.005,878,1.781,879,3.463,880,4.234,881,2.557,882,2.081,883,1.534,884,1.479,885,1.657,886,1.881,887,2.155,888,1.844,889,2.557,890,1.021,891,2.37,892,1.215,893,2.081,894,2.557,895,4.384,896,1.881,897,1.811,898,1.702,899,1.726,900,2.557,901,1.679,902,1.881,903,3.374,904,3.147,905,2.081,906,2.37,907,1.881,908,1.968,909,1.811,910,1.811,911,1.752,912,1.702,913,3.374,914,1.968,915,1.431,916,1.492,917,1.702,918,1.248,919,1.519,920,2.557,921,2.557,922,1.679,923,1.359,924,1.519,925,1.549,926,1.479,927,1.657,928,1.203,929,1.42,930,2.155,931,1.341,932,2.081,933,1.968,934,1.378,935,2.155,936,1.599,937,1.702,938,1.454,939,2.557,940,1.781,941,1.752,942,1.726,943,3.053,944,1.657,945,1.726,946,2.02,947,1.378,948,1.582,949,1.519,950,1.599,951,2.202,952,1.968,953,1.277,954,2.657,955,2.247,956,1.255,957,1.299,958,1.534,959,1.726,960,1.922,961,2.557,962,1.599,963,2.557,964,1.922,965,2.215,966,1.466,967,2.081,968,2.247,969,2.557,970,2.37,971,2.247,972,1.505,973,1.657,974,2.37,975,2.155,976,1.844,977,2.155,978,2.557,979,1.968,980,1.844,981,1.922,982,1.454]],["component/6",[38,0.589,868,1.603,869,1.561]],["title/7-1",[884,53.631]],["name/7-1",[]],["text/7-1",[]],["component/7-1",[]],["title/7-2",[983,56.771]],["name/7-2",[]],["text/7-2",[]],["component/7-2",[]],["title/7-3",[984,52.775,985,47.7,986,48.733]],["name/7-3",[]],["text/7-3",[]],["component/7-3",[]],["title/7",[677,48.64]],["name/7",[677,1.883]],["text/7",[1,2.008,2,2.686,9,4.14,34,2.322,38,2.285,59,9.184,70,2.736,149,4.19,194,4.445,499,5.666,721,3.804,848,5.04,849,4.971,850,4.905,868,6.224,869,6.061,987,4.068,988,5.077,989,6.512,990,8.668]],["component/7",[331,3.703]],["title/8-1",[9,24.975,989,53.145]],["name/8-1",[]],["text/8-1",[]],["component/8-1",[]],["title/8-2",[677,48.64]],["name/8-2",[]],["text/8-2",[]],["component/8-2",[]],["title/8-3",[29,37.57]],["name/8-3",[]],["text/8-3",[]],["component/8-3",[]],["title/8-4",[18,23.307]],["name/8-4",[]],["text/8-4",[]],["component/8-4",[]],["title/8",[9,24.975,991,56.145]],["name/8",[3,1.542]],["text/8",[1,1.622,2,2.199,9,4.249,18,2.568,29,4.66,34,1.901,38,2.246,44,3.154,51,3.121,57,3.498,62,1.3,67,5.072,70,1.492,71,1.376,102,2.809,106,5.065,126,3.16,128,3.611,149,1.837,152,2.726,161,2.237,170,2.923,178,2.028,183,2.287,194,2.423,223,2.883,273,3.393,281,2.081,311,2.941,316,4.589,400,2.591,511,1.849,536,3.264,553,1.908,563,2.172,634,2.852,677,4.015,681,2.729,721,2.505,722,2.035,746,2.05,748,3.697,767,2.352,809,3.154,839,6.127,852,2.341,866,1.878,871,3.677,884,2.948,926,2.948,937,3.393,988,2.768,989,5.331,991,5.632,992,2.71,993,3.494,994,3.832,995,5.095,996,4.48,997,4.015,998,2.218,999,6.727,1000,4.725,1001,2.852,1002,4.296,1003,4.725,1004,4.725,1005,5.891,1006,6.451,1007,2.657,1008,2.809,1009,4.296,1010,2.974,1011,3.751,1012,4.507,1013,4.48,1014,4.296,1015,3.121,1016,3.304,1017,3.832,1018,2.899,1019,4.725,1020,3.923]],["component/8",[331,3.703]],["title/9-1",[6,48.284,839,42.701]],["name/9-1",[]],["text/9-1",[]],["component/9-1",[]],["title/9-2",[0,32.923]],["name/9-2",[]],["text/9-2",[]],["component/9-2",[]],["title/9",[18,23.307]],["name/9",[18,0.902]],["text/9",[0,3.788,1,2.197,2,3.617,9,3.492,34,2.649,721,3.492,987,4.642]],["component/9",[331,3.703]],["title/10-1",[29,30.918,242,46.72]],["name/10-1",[]],["text/10-1",[]],["component/10-1",[]],["title/10",[1,10.292,2,18.624,29,26.268]],["name/10",[1,0.336,2,0.608]],["text/10",[1,1.532,2,2.772,9,3.158,29,4.802,63,2.948,70,2.824,71,2.604,143,4.473,287,3.72,316,4.817,380,4.078,553,3.611,648,4.563,721,3.158,730,4.452,735,3.014,786,5.201,926,5.58,928,4.54,992,5.129,1021,6.036,1022,6.036]],["component/10",[331,3.703]],["title/11-1",[29,30.918,242,46.72]],["name/11-1",[]],["text/11-1",[]],["component/11-1",[]],["title/11",[1,10.292,29,26.268,34,16.098]],["name/11",[1,0.336,34,0.526]],["text/11",[1,2.16,29,5.514,34,3.379,71,2.524,77,6.224,145,4.842,146,6.097,316,4.669,553,3.499,751,6.624,783,3.206,926,5.408,992,4.971,1023,7.196]],["component/11",[331,3.703]],["title/12-1",[1,12.114,2,21.922]],["name/12-1",[]],["text/12-1",[]],["component/12-1",[]],["title/12-2",[1,12.114,34,18.948]],["name/12-2",[]],["text/12-2",[]],["component/12-2",[]],["title/12",[29,37.57]],["name/12",[3,1.542]],["text/12",[1,1.917,9,3.257,29,5.479,34,2.999,37,3.176,63,2.249,70,2.154,71,1.987,77,4.899,102,4.056,122,3.027,143,3.412,145,3.811,146,5.22,184,4.771,216,3.087,222,2.746,245,2.819,250,3.412,287,2.838,316,3.675,379,3.364,380,3.111,553,2.755,648,3.481,689,5.815,721,2.409,730,3.396,735,2.299,751,5.214,755,4.186,763,3.613,783,2.524,786,3.968,839,5.569,884,4.257,926,5.756,928,3.463,995,4.899,1012,4.334,1013,6.468,1014,6.203,1021,4.604,1022,4.604,1023,5.665]],["component/12",[331,3.703]],["title/13-1",[9,24.975,989,53.145]],["name/13-1",[]],["text/13-1",[]],["component/13-1",[]],["title/13-2",[677,48.64]],["name/13-2",[]],["text/13-2",[]],["component/13-2",[]],["title/13-3",[29,37.57]],["name/13-3",[]],["text/13-3",[]],["component/13-3",[]],["title/13-4",[18,23.307]],["name/13-4",[]],["text/13-4",[]],["component/13-4",[]],["title/13",[9,24.975,991,56.145]],["name/13",[3,1.542]],["text/13",[1,1.622,2,2.199,9,4.249,18,2.568,29,4.66,34,1.901,38,2.246,44,3.154,51,3.121,57,3.498,62,1.3,67,5.072,70,1.492,71,1.376,102,2.809,106,5.065,126,3.16,128,3.611,149,1.837,152,2.726,161,2.237,170,2.923,178,2.028,183,2.287,194,2.423,223,2.883,273,3.393,281,2.081,311,2.941,316,4.589,400,2.591,511,1.849,536,3.264,553,1.908,563,2.172,634,2.852,677,4.015,681,2.729,721,2.505,722,2.035,746,2.05,748,3.697,767,2.352,809,3.154,839,6.127,852,2.341,866,1.878,871,3.677,884,2.948,926,2.948,937,3.393,988,2.768,989,5.331,991,5.632,992,2.71,993,3.494,994,3.832,995,5.095,996,4.48,997,4.015,998,2.218,999,6.727,1000,4.725,1001,2.852,1002,4.296,1003,4.725,1004,4.725,1005,5.891,1006,6.451,1007,2.657,1008,2.809,1009,4.296,1010,2.974,1011,3.751,1012,4.507,1013,4.48,1014,4.296,1015,3.121,1016,3.304,1017,3.832,1018,2.899,1019,4.725,1020,3.923]],["component/13",[18,0.824,29,1.328]],["title/14",[71,17.5,324,25.981,1024,41.51]],["name/14",[1024,2.298]],["text/14",[2,1.235,38,2.284,49,1.541,62,2.109,63,2.053,71,1.161,87,2.693,140,2.388,152,1.532,167,4.75,173,2.213,197,1.492,211,2.99,244,1.825,250,4.334,266,2.352,267,2.824,283,3.136,287,1.658,290,1.736,313,1.796,336,1.555,344,2.407,355,1.818,381,3.887,418,4.752,421,5.109,422,4.422,511,2.437,553,1.61,572,2.606,622,4.783,674,2.466,683,3.76,702,2.044,734,2.014,755,2.446,805,2.034,813,1.863,818,4.668,848,2.318,849,4.397,850,4.338,856,6.74,866,3.046,875,2.532,962,2.69,1025,1.895,1026,6.732,1027,2.286,1028,7.666,1029,4.78,1030,3.524,1031,7.666,1032,6.229,1033,6.229,1034,5.172,1035,4.592,1036,5.663,1037,5.663,1038,3.86,1039,3.987,1040,3.987,1041,4.301,1042,4.301,1043,6.229,1044,3.987,1045,3.047,1046,2.904,1047,7.268,1048,3.233,1049,4.606,1050,3.987,1051,3.987,1052,3.047,1053,4.301,1054,2.16,1055,4.413,1056,2.69,1057,2.388,1058,2.099,1059,3.987,1060,3.987]],["component/14",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/15-1",[38,10.916,843,17.71,848,24.082,849,23.749,850,23.433,1061,18.444]],["name/15-1",[]],["text/15-1",[]],["component/15-1",[]],["title/15-2",[163,16.974,211,14.635,250,18.766,553,15.149,848,21.82,849,21.519,850,21.233]],["name/15-2",[]],["text/15-2",[]],["component/15-2",[]],["title/15",[848,26.866,849,26.496,850,26.143,853,34.16,866,18.358]],["name/15",[866,1.322]],["text/15",[10,2.035,15,1.228,26,1.733,38,1.835,49,1.78,62,2.451,71,1.732,97,1.745,107,3.295,115,2.031,116,2.556,140,1.645,152,1.055,161,1.3,163,2.083,165,1.224,167,4.595,173,1.525,176,1.621,178,1.179,194,3.049,197,1.028,203,1.183,211,4.402,215,1.544,216,1.243,218,1.342,221,1.312,223,1.116,229,1.284,232,1.113,244,2.723,250,5.387,253,1.116,260,1.12,261,1.085,266,1.621,283,1.884,286,1.33,289,1.525,291,1.21,304,4.059,324,1.991,326,2.126,334,1.621,336,2.714,345,1.295,355,2.1,377,1.761,404,1.535,488,2.541,511,1.802,514,2.18,530,3.888,553,1.859,555,2.281,572,3.011,581,5.943,679,1.575,708,1.729,720,2.228,722,1.183,760,1.439,790,1.515,801,1.761,805,1.402,813,3.253,818,2.481,843,1.175,846,1.394,848,3.458,849,3.41,850,2.606,852,2.946,853,6.203,856,2.981,866,1.83,890,1.984,892,1.409,928,1.394,929,1.645,954,1.796,956,1.455,972,1.745,992,1.575,1025,1.306,1029,2.852,1030,1.263,1038,3.453,1056,1.854,1057,1.645,1058,1.447,1061,2.051,1062,7.752,1063,1.609,1064,1.834,1065,2.064,1066,2.099,1067,2.099,1068,2.341,1069,1.897,1070,1.598,1071,2.281,1072,2.573,1073,4.969,1074,2.964,1075,3.108,1076,3.679,1077,2.964,1078,2.747,1079,1.535,1080,2.747,1081,4.969,1082,1.921,1083,2.747,1084,4.397,1085,2.604,1086,2.747,1087,7.509,1088,1.586,1089,2.604,1090,7.509,1091,4.044,1092,3.519,1093,2.66,1094,2.964,1095,2.498,1096,2.498,1097,2.228,1098,4.606,1099,2.747,1100,2.604,1101,2.228,1102,2.964,1103,2.747,1104,2.281,1105,1.361,1106,2.341,1107,2.099,1108,2.964,1109,2.341,1110,1.761,1111,1.729,1112,2.498,1113,1.834,1114,2.964,1115,2.747,1116,2.747,1117,2.412,1118,2.747,1119,2.498,1120,2.604,1121,2.604,1122,2.747,1123,2.341,1124,2.604,1125,1.854,1126,1.745]],["component/15",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/16-1",[1127,60.891]],["name/16-1",[]],["text/16-1",[]],["component/16-1",[]],["title/16",[1,7.912,2,14.317,848,26.866,849,26.496,850,26.143]],["name/16",[3,1.542]],["text/16",[2,2.008,7,2.665,29,2.833,38,3.29,47,2.771,62,1.783,63,1.383,67,2.247,70,1.324,71,1.222,100,3.095,107,1.986,109,2.273,126,3.527,131,2.8,148,2.314,153,3.257,211,4.48,224,1.861,244,3.626,251,2.314,261,1.657,272,2.314,276,3.717,283,3.239,287,1.745,315,1.757,334,2.475,408,2.843,419,2.406,488,2.314,500,2.3,511,1.641,533,2.831,542,4.985,543,4.72,563,1.929,568,2.163,634,2.533,665,2.69,671,2.021,716,4.009,722,1.807,755,3.976,766,3.553,773,2.618,790,2.314,793,2.665,818,2.26,839,3.912,843,3.387,846,5.166,848,3.769,849,3.717,850,5.04,853,4.792,856,2.716,888,3.265,892,3.324,919,5.077,928,3.29,941,3.102,949,2.69,953,3.491,954,2.743,972,2.665,983,2.771,1025,3.081,1027,3.717,1035,4.743,1054,2.273,1069,2.898,1072,2.344,1076,5.51,1079,3.62,1111,2.641,1125,2.831,1128,4.195,1129,3.814,1130,1.667,1131,3.483,1132,3.814,1133,3.684,1134,2.475,1135,2.771,1136,3.33,1137,3.717,1138,4.526,1139,2.743,1140,4.195,1141,3.576,1142,3.814]],["component/16",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/17",[848,26.866,849,26.496,856,29.905,972,29.345,1076,28.579]],["name/17",[856,2.154]],["text/17",[2,1.33,4,1.926,9,1.515,15,1.919,26,1.615,38,1.131,47,2.834,62,1.18,69,2.801,70,1.355,71,1.92,87,2.851,167,4.482,211,4.508,216,1.941,218,2.096,247,2.126,250,4.509,253,1.744,266,3.891,283,1.755,287,1.785,317,2.014,329,3.684,337,2.514,344,2.591,355,1.957,381,2.678,404,2.397,418,3.616,421,3.236,422,3.365,488,2.367,514,3.122,522,2.929,539,2.126,552,2.353,553,1.733,563,1.973,571,2.136,572,5.251,626,5.04,696,2.382,702,2.201,716,2.655,719,3.658,721,1.515,755,4.046,758,2.514,813,2.006,818,3.552,843,1.835,848,3.835,849,4.607,850,5.812,854,2.461,856,2.778,875,2.726,890,1.849,938,2.633,949,2.751,1025,3.136,1026,3.769,1029,3.163,1030,1.973,1054,2.325,1058,2.26,1069,2.964,1076,4.969,1084,4.877,1097,3.48,1143,3.48,1144,4.63,1145,3.173,1146,3.34,1147,3.48,1148,2.551,1149,4.068,1150,2.929,1151,2.701,1152,2.551,1153,4.63,1154,2.514,1155,4.63,1156,4.63,1157,4.63,1158,7.116,1159,4.63,1160,4.63,1161,4.63,1162,4.63,1163,4.63,1164,4.555,1165,4.068,1166,3.224,1167,2.236,1168,3.34,1169,3.28,1170,4.292,1171,4.63,1172,3.902,1173,3.769,1174,3.406,1175,2.865,1176,2.26,1177,4.068]],["component/17",[29,0.771,848,1.026,849,1.012,850,0.999]],["title/18",[71,17.5,324,25.981,1024,41.51]],["name/18",[1024,2.298]],["text/18",[38,2.252,43,3.318,49,1.834,51,3.134,57,2.34,71,2.073,107,2.246,120,2.114,129,3.509,149,1.845,152,2.735,154,3.286,161,2.246,163,2.147,167,4.469,174,3.167,223,2.893,234,2.405,253,2.893,260,1.935,266,2.8,286,2.297,287,1.974,290,3.1,316,2.556,324,3.077,326,2.19,379,2.34,421,3.493,500,3.903,502,2.703,503,3.362,511,1.856,538,2.527,540,3.102,553,1.916,571,2.362,654,3.014,655,3.202,674,2.936,702,2.434,727,5.042,735,2.399,772,2.446,786,6.623,789,4.608,818,3.834,823,2.351,866,1.886,944,3.318,1025,2.256,1029,3.414,1038,2.114,1058,4.498,1125,3.202,1139,3.012,1152,4.231,1178,6.556,1179,5.772,1180,2.887,1181,3.848,1182,5.12,1183,3.278,1184,7.501,1185,2.961,1186,3.167,1187,4.314,1188,5.65,1189,3.456,1190,5.12,1191,4.745,1192,5.12,1193,4.745,1194,3.848,1195,4.499,1196,5.12,1197,3.407,1198,5.12,1199,4.745,1200,4.745,1201,4.745,1202,3.693,1203,5.12,1204,4.745,1205,4.314,1206,5.12,1207,4.167,1208,2.8,1209,5.12]],["component/18",[29,1.328,786,1.768]],["title/19",[138,47.738,866,28.108]],["name/19",[138,2.246]],["text/19",[1,1.488,2,1.938,23,4.372,34,1.675,38,1.648,39,3.652,48,4.433,69,2.655,70,1.974,71,2.908,91,3.04,95,3.127,102,6.741,116,4.823,148,3.449,170,3.868,197,2.339,218,3.054,220,4.088,244,3.978,260,2.549,261,2.469,281,2.753,315,2.619,324,2.703,329,3.493,336,3.389,530,7.055,654,5.519,679,5.727,760,3.275,786,6.276,818,5.813,839,3.774,866,2.485,944,4.372,1063,3.662,1125,5.864,1139,2.646,1188,4.963,1210,4.885,1211,5.927,1212,4.554,1213,5.927,1214,4.13,1215,4.623,1216,4.866,1217,5.329,1218,7.9,1219,4.778]],["component/19",[29,1.328,786,1.768]],["title/20",[786,41.136,866,28.108]],["name/20",[866,1.322]],["text/20",[1,1.375,2,1.078,10,1.914,26,3.022,38,2.117,41,2.009,49,2.161,57,1.716,62,2.42,63,1.147,70,1.099,71,2.338,78,2.898,93,1.423,120,3.577,144,2.298,152,1.337,154,2.581,161,1.647,165,1.55,166,1.716,167,4.72,194,1.784,205,3.552,207,2.275,216,2.53,223,1.414,234,1.176,244,1.593,245,1.438,260,1.419,287,1.447,290,1.515,315,2.342,317,1.633,336,2.181,344,2.101,379,1.716,406,1.843,418,3.066,421,2.744,422,2.853,427,2.275,514,2.648,538,1.853,539,1.724,556,2.853,615,2.009,622,3.489,648,1.775,735,1.173,786,5.116,792,2.275,813,2.614,818,3.012,823,2.77,841,1.626,890,2.409,911,2.573,1029,4.737,1030,1.6,1038,1.55,1058,4.229,1061,1.55,1082,3.911,1088,4.637,1139,2.367,1145,2.573,1152,3.324,1154,4.107,1176,1.833,1181,6.512,1186,2.323,1188,6.374,1189,4.073,1191,3.48,1193,8.031,1194,4.535,1218,6.375,1220,1.885,1221,3.164,1222,3.299,1223,3.299,1224,3.299,1225,3.48,1226,3.754,1227,2.535,1228,6.034,1229,2.499,1230,3.104,1231,5.593,1232,2.659,1233,4.016,1234,5.302,1235,2.275,1236,3.48,1237,3.754,1238,3.754,1239,3.754,1240,3.056,1241,3.23,1242,3.754,1243,3.754,1244,3.754,1245,3.48,1246,3.754,1247,3.754,1248,3.754,1249,2.19,1250,3.754,1251,3.754,1252,2.465,1253,3.754,1254,3.164,1255,2.068,1256,5.593,1257,2.659]],["component/20",[29,1.328,786,1.768]],["title/21",[786,49.986]],["name/21",[3,1.542]],["text/21",[29,3.019,37,3.215,38,2.772,46,2.923,49,2.669,62,1.9,71,3.276,87,4.021,120,3.076,124,3.489,149,2.686,245,2.854,261,2.727,264,4.203,266,4.075,287,2.873,324,4.021,344,4.169,355,4.241,408,3.03,500,3.787,511,2.702,568,3.56,677,3.908,727,4.893,772,3.56,786,6.83,789,4.471,852,3.421,956,3.657,983,4.562,1024,4.771,1139,2.923,1152,5.529,1179,5.601,1181,5.601,1188,5.482,1210,3.883,1241,3.989,1258,4.96,1259,5.571,1260,4.387,1261,5.189,1262,5.601,1263,5.887,1264,3.934]],["component/21",[29,1.328,786,1.768]],["title/22",[500,38.785,786,41.136]],["name/22",[500,1.825]],["text/22",[71,1.743,87,3.644,97,3.802,152,2.3,154,2.763,167,4.737,344,5.888,421,4.136,500,4.621,626,4.574,678,3.558,772,3.086,786,4.901,789,5.456,823,2.965,1025,2.846,1029,2.871,1030,2.752,1038,2.666,1049,6.232,1058,4.438,1063,3.506,1154,6.537,1199,5.986,1201,5.986,1202,7.592,1204,5.986,1205,5.442,1230,3.323,1235,6.377,1241,3.457,1256,5.986,1259,3.585,1265,6.559,1266,5.675,1267,8.314,1268,4.854,1269,6.458,1270,6.458,1271,5.675,1272,6.458,1273,9.093,1274,5.986,1275,9.093,1276,6.458,1277,6.458,1278,5.675,1279,6.458,1280,6.458,1281,6.458,1282,5.675,1283,6.458]],["component/22",[29,1.328,786,1.768]],["title/23",[380,32.256,928,35.908]],["name/23",[3,1.542]],["text/23",[1,1.009,2,1.826,38,1.553,61,4.23,66,3.103,69,2.502,70,1.86,71,3.23,93,3.409,122,2.614,161,2.789,165,2.624,176,3.476,197,3.118,211,2.298,229,2.754,234,1.991,241,4.618,253,3.93,260,2.402,267,4.173,283,2.41,315,2.467,380,4.41,432,4.917,763,3.12,783,2.179,857,3.976,866,4.178,928,4.231,957,3.23,1001,3.556,1021,5.624,1030,4.446,1183,4.069,1221,7.577,1284,12.427,1285,3.27,1286,5.585,1287,6.356,1288,6.758,1289,5.356,1290,4.356,1291,5.757,1292,8.992,1293,4.173,1294,8.992,1295,3.476,1296,4.426,1297,4.069,1298,4.676,1299,4.12,1300,5.022,1301,3.852,1302,3.976,1303,7.901,1304,3.476]],["component/23",[29,0.976,380,1.018,928,1.133]],["title/24",[134,39.266,735,23.839]],["name/24",[134,1.089,735,0.661]],["text/24",[1,0.441,4,1.157,10,0.882,26,0.97,38,0.679,46,2.402,49,0.996,62,2.501,63,2.997,69,2.41,70,0.813,71,1.271,81,2.196,87,1.114,93,1.785,94,1.185,100,1.231,122,1.936,134,5.259,143,2.183,152,2.871,154,1.189,163,1.166,165,1.148,167,4.661,197,2.124,205,2.772,222,1.756,224,1.143,232,1.768,234,0.871,241,1.231,245,1.065,250,1.289,253,1.047,254,1.739,290,2.472,299,1.166,311,1.068,324,1.114,338,1.308,344,2.634,345,1.215,355,1.175,418,2.393,421,2.785,422,2.896,423,1.498,497,1.637,511,2.613,552,1.413,553,2.697,562,1.449,563,1.185,568,1.328,589,1.458,622,2.723,648,3.408,683,4.032,735,3.789,768,2.005,776,1.637,783,0.953,801,1.652,805,2.896,813,4.428,823,1.276,831,2.747,857,1.739,866,2.255,890,1.11,923,1.478,947,2.538,992,1.478,1021,3.83,1029,4.362,1030,3.436,1038,2.975,1056,2.945,1057,2.614,1058,1.357,1061,1.944,1088,1.488,1107,1.969,1130,1.024,1139,1.09,1154,3.913,1176,1.357,1230,4.505,1232,1.969,1235,1.685,1259,1.543,1293,3.091,1297,1.78,1298,2.045,1302,1.739,1305,4.134,1306,2.486,1307,2.263,1308,1.622,1309,2.882,1310,1.969,1311,1.72,1312,1.905,1313,2.196,1314,2.577,1315,6.333,1316,6.124,1317,6.333,1318,1.43,1319,3.454,1320,2.78,1321,1.72,1322,2.045,1323,2.78,1324,3.022,1325,8.063,1326,2.78,1327,2.78,1328,2.78,1329,2.78,1330,2.78,1331,2.78,1332,2.78,1333,2.78,1334,6.68,1335,6.124,1336,2.78,1337,1.969,1338,2.78,1339,2.78,1340,4.137,1341,4.137,1342,3.091,1343,4.988,1344,2.78,1345,2.78,1346,2.78,1347,2.78,1348,4.708,1349,4.708,1350,1.85,1351,2.78,1352,1.759,1353,2.78,1354,1.905,1355,2.78,1356,2.78]],["component/24",[29,0.771,63,0.582,143,0.883,735,0.595]],["title/25",[63,19.807,143,30.058,735,20.254]],["name/25",[3,1.542]],["text/25",[10,2.695,46,4.747,49,3.044,63,3.904,69,3.345,70,2.487,71,3.266,98,3.651,143,3.939,217,6.539,283,3.222,287,3.276,327,4.613,379,3.883,427,5.149,530,5.149,547,5.58,648,5.723,683,4.755,735,2.655,837,5.737,852,3.902,866,3.13,1016,5.508,1027,4.517,1105,3.902,1357,5.149,1358,6.917,1359,7.467,1360,6.252,1361,6.917]],["component/25",[29,0.771,63,0.582,143,0.883,735,0.595]],["title/26",[1105,35.04,1362,45.352]],["name/26",[1105,0.972,1362,1.258]],["text/26",[37,3.403,38,1.927,62,2.011,166,3.605,197,2.736,218,3.571,230,6.028,241,5.168,253,3.926,260,2.981,271,5.051,311,4.005,315,3.062,542,6.082,543,5.326,735,2.464,746,3.173,857,4.935,866,2.905,1001,4.414,1021,6.52,1030,4.974,1105,3.622,1133,6.421,1295,4.314,1298,5.804,1302,4.935,1303,6.932,1362,4.688,1363,6.932,1364,8.784,1365,10.424,1366,5.493,1367,9.838,1368,4.688,1369,4.935,1370,4.414,1371,6.932]],["component/26",[29,0.771,63,0.582,143,0.883,735,0.595]],["title/27",[648,36.09,1021,47.738]],["name/27",[3,1.542]],["text/27",[1,1.444,10,2.398,33,3.25,62,1.278,67,4.517,68,2.447,71,2.735,80,2.805,93,1.901,143,2.324,167,3.484,173,2.58,177,4.075,197,1.739,218,2.27,232,1.882,234,3.173,247,2.302,253,3.817,261,1.835,264,2.828,276,2.665,283,2.866,290,3.673,291,3.714,327,2.722,345,3.303,355,2.119,502,2.647,511,1.818,553,1.876,648,6.434,679,2.665,683,4.23,709,3.097,735,2.361,741,3.939,776,2.952,792,3.038,801,2.979,805,2.371,813,2.172,837,3.385,947,2.702,1016,3.25,1021,7.42,1029,2.229,1105,2.302,1130,1.847,1186,5.63,1219,3.551,1221,4.225,1230,4.682,1306,2.647,1317,4.405,1343,4.677,1357,3.038,1372,6.371,1373,3.038,1374,5.014,1375,5.014,1376,5.014,1377,5.014,1378,5.014,1379,5.014,1380,10.133,1381,6.643,1382,5.972,1383,3.491,1384,5.014,1385,4.225,1386,4.405,1387,3.617,1388,3.617,1389,3.617,1390,4.647,1391,5.014,1392,5.014,1393,3.292]],["component/27",[29,0.976,648,1.139,1021,1.507]],["title/28-1",[97,33.182,120,23.267,152,20.069,730,26.001]],["name/28-1",[]],["text/28-1",[]],["component/28-1",[]],["title/28-2",[18,19.18,203,30.47]],["name/28-2",[]],["text/28-2",[]],["component/28-2",[]],["title/28",[1127,60.891]],["name/28",[3,1.542]],["text/28",[1,2.137,2,3.8,5,3.142,9,2.363,10,3.685,18,1.815,26,2.519,29,2.926,34,1.793,38,2.4,42,5.557,57,2.157,63,3.234,67,4.877,69,1.858,70,2.566,71,2.652,84,5.553,89,2.86,98,2.028,106,2.601,117,4.333,120,3.621,122,1.941,130,4.376,145,3.739,159,2.89,194,2.244,203,2.883,206,2.986,224,1.941,232,1.772,234,2.261,245,1.808,260,1.784,281,1.927,313,1.972,316,2.357,328,3.487,370,1.885,487,3.09,500,3.67,512,2.304,536,3.022,555,2.167,568,2.255,721,2.363,730,4.046,747,3.842,749,1.851,750,2.304,761,2.948,783,2.476,821,2.509,829,3.45,843,1.871,868,3.142,884,2.73,929,2.621,1012,2.779,1015,2.89,1027,2.509,1093,3.865,1126,2.779,1210,2.46,1220,3.626,1260,2.779,1394,3.978,1395,3.405,1396,3.344,1397,2.684,1398,3.344,1399,3.729,1400,2.641,1401,5.428,1402,3.473]],["component/28",[1,0.382,2,0.692,18,0.605]],["title/29-1",[47,34.503,48,26.653,1318,28.998,1403,47.495]],["name/29-1",[]],["text/29-1",[]],["component/29-1",[]],["title/29-2",[380,21.067,690,25.179,1064,30.838,1076,28.579,1404,30.513]],["name/29-2",[]],["text/29-2",[]],["component/29-2",[]],["title/29",[690,32.754,1185,37.497,1405,54.639]],["name/29",[690,0.758,1185,0.868,1405,1.265]],["text/29",[0,0.954,1,1.657,2,2.47,10,1.451,24,1.904,34,1.75,36,1.933,38,2.242,39,1.782,40,1.939,41,2.449,47,3.656,48,3.334,56,2.432,57,1.228,68,1.312,71,2.72,83,1.058,91,2.061,102,2.52,105,1.554,116,1.383,117,2.745,126,1.109,130,1.628,134,1.383,136,1.504,138,1.681,141,1.174,152,0.957,154,1.957,161,2.007,166,1.228,174,1.663,176,1.47,180,1.554,203,1.073,207,1.628,211,0.972,218,2.071,219,2.601,222,2.63,229,1.164,241,2.025,245,1.029,283,2.997,290,1.085,299,1.127,310,3.291,311,2.295,315,1.043,324,1.833,327,1.459,328,1.298,334,1.47,375,1.438,379,2.09,380,3.635,408,1.093,428,2.704,497,4.15,498,1.334,502,2.415,511,0.975,514,2.007,517,1.516,520,1.481,522,2.894,528,2.187,555,2.1,568,1.284,622,1.554,635,2.869,648,3.334,668,1.312,678,1.481,680,1.681,689,2.123,690,3.993,709,1.101,712,1.429,715,1.871,722,1.073,731,2.52,734,1.258,748,3.404,753,1.504,763,2.245,783,0.921,790,1.374,812,1.7,823,1.234,837,1.814,843,1.065,865,1.358,866,0.99,875,1.582,892,1.277,915,1.504,918,1.312,928,1.264,938,1.528,953,2.982,984,3.723,1012,1.582,1025,2.016,1027,3.175,1035,3.316,1063,1.459,1064,2.83,1069,1.721,1070,1.449,1071,2.068,1076,4.932,1093,2.449,1126,1.582,1134,2.502,1143,4.489,1147,2.02,1151,1.568,1167,1.298,1185,1.554,1208,3.266,1210,3.112,1212,1.814,1214,1.645,1255,1.481,1293,3.922,1318,3.627,1321,1.663,1359,2.361,1362,1.597,1403,3.855,1404,2.8,1405,2.265,1406,1.721,1407,2.361,1408,2.491,1409,1.481,1410,2.491,1411,2.688,1412,2.688,1413,1.789,1414,2.265,1415,3.52,1416,1.366,1417,3.219,1418,6.194,1419,5.575,1420,6.898,1421,3.52,1422,2.491,1423,2.491,1424,2.688,1425,5.355,1426,2.688,1427,5.248,1428,1.904,1429,1.358,1430,1.438,1431,2.491,1432,3.614,1433,2.361,1434,2.02,1435,2.361,1436,1.977,1437,1.568,1438,2.187,1439,2.688,1440,2.688,1441,4.24,1442,4.24,1443,1.742,1444,2.361,1445,5.569,1446,1.742,1447,2.491,1448,1.977,1449,2.688,1450,4.02,1451,1.765,1452,1.284,1453,2.688,1454,2.745,1455,1.334,1456,3.186,1457,1.663,1458,1.842,1459,2.187,1460,2.491,1461,2.361,1462,1.628,1463,2.187,1464,1.681]],["component/29",[1,0.382,2,0.692,18,0.605]],["title/30-1",[35,45.789,1220,38.325]],["name/30-1",[]],["text/30-1",[]],["component/30-1",[]],["title/30-2",[1,12.114,63,23.313]],["name/30-2",[]],["text/30-2",[]],["component/30-2",[]],["title/30-3",[1,12.114,997,40.028]],["name/30-3",[]],["text/30-3",[]],["component/30-3",[]],["title/30-4",[1,10.292,38,15.841,57,29.629]],["name/30-4",[]],["text/30-4",[]],["component/30-4",[]],["title/30-5",[1,12.114,500,38.785]],["name/30-5",[]],["text/30-5",[]],["component/30-5",[]],["title/30-6",[1,12.114,62,19.457]],["name/30-6",[]],["text/30-6",[]],["component/30-6",[]],["title/30-7",[1,10.292,34,16.098,1465,42.573]],["name/30-7",[]],["text/30-7",[]],["component/30-7",[]],["title/30-8",[1,12.114,26,26.621]],["name/30-8",[]],["text/30-8",[]],["component/30-8",[]],["title/30-9",[1,8.946,26,19.66,162,29.369,761,23.004]],["name/30-9",[]],["text/30-9",[]],["component/30-9",[]],["title/30-10",[1,12.114,1466,67.059]],["name/30-10",[]],["text/30-10",[]],["component/30-10",[]],["title/30-11",[1,12.114,829,36.464]],["name/30-11",[]],["text/30-11",[]],["component/30-11",[]],["title/30-12",[1,12.114,1467,60.293]],["name/30-12",[]],["text/30-12",[]],["component/30-12",[]],["title/30-13",[1,12.114,1468,50.11]],["name/30-13",[]],["text/30-13",[]],["component/30-13",[]],["title/30-14",[1,10.292,31,39.693,1469,51.224]],["name/30-14",[]],["text/30-14",[]],["component/30-14",[]],["title/30-15",[0,27.094,1220,38.325]],["name/30-15",[]],["text/30-15",[]],["component/30-15",[]],["title/30-16",[1,12.114,27,49.467]],["name/30-16",[]],["text/30-16",[]],["component/30-16",[]],["title/30-17",[1,7.912,26,17.386,27,32.307,162,25.973,761,20.344]],["name/30-17",[]],["text/30-17",[]],["component/30-17",[]],["title/30-18",[1,12.114,1470,70.737]],["name/30-18",[]],["text/30-18",[]],["component/30-18",[]],["title/30-19",[1,12.114,17,52.304]],["name/30-19",[]],["text/30-19",[]],["component/30-19",[]],["title/30-20",[1,7.912,17,34.16,26,17.386,162,25.973,761,20.344]],["name/30-20",[]],["text/30-20",[]],["component/30-20",[]],["title/30-21",[1,10.292,19,43.153,20,43.773]],["name/30-21",[]],["text/30-21",[]],["component/30-21",[]],["title/30-22",[1,7.092,19,29.735,20,30.162,26,15.584,162,23.281,761,18.236]],["name/30-22",[]],["text/30-22",[]],["component/30-22",[]],["title/30-23",[1,12.114,21,44.931]],["name/30-23",[]],["text/30-23",[]],["component/30-23",[]],["title/30-24",[1,7.912,21,29.345,26,17.386,162,25.973,761,20.344]],["name/30-24",[]],["text/30-24",[]],["component/30-24",[]],["title/30-25",[1,12.114,22,50.794]],["name/30-25",[]],["text/30-25",[]],["component/30-25",[]],["title/30-26",[1,10.292,22,43.153,500,32.951]],["name/30-26",[]],["text/30-26",[]],["component/30-26",[]],["title/30-27",[1,12.114,1066,54.056]],["name/30-27",[]],["text/30-27",[]],["component/30-27",[]],["title/30-28",[1,7.912,26,17.386,162,25.973,761,20.344,1066,35.305]],["name/30-28",[]],["text/30-28",[]],["component/30-28",[]],["title/30-29",[1,10.292,164,34.949,1471,46.77]],["name/30-29",[]],["text/30-29",[]],["component/30-29",[]],["title/30-30",[1,7.092,26,15.584,162,23.281,164,24.082,761,18.236,1471,32.228]],["name/30-30",[]],["text/30-30",[]],["component/30-30",[]],["title/30-31",[1,12.114,25,46.72]],["name/30-31",[]],["text/30-31",[]],["component/30-31",[]],["title/30-32",[1,7.912,25,30.513,26,17.386,162,25.973,761,20.344]],["name/30-32",[]],["text/30-32",[]],["component/30-32",[]],["title/30-33",[1,8.946,26,19.66,87,22.584,519,44.526]],["name/30-33",[]],["text/30-33",[]],["component/30-33",[]],["title/30-34",[1,10.292,26,22.617,30,38.902]],["name/30-34",[]],["text/30-34",[]],["component/30-34",[]],["title/30-35",[1,7.092,26,24.145,30,26.806,162,23.281,761,18.236]],["name/30-35",[]],["text/30-35",[]],["component/30-35",[]],["title/30-36",[1,12.114,31,46.72]],["name/30-36",[]],["text/30-36",[]],["component/30-36",[]],["title/30-37",[1,7.912,26,17.386,31,30.513,162,25.973,761,20.344]],["name/30-37",[]],["text/30-37",[]],["component/30-37",[]],["title/30-38",[1,10.292,795,48.733,1005,49.895]],["name/30-38",[]],["text/30-38",[]],["component/30-38",[]],["title/30",[1220,46.57]],["name/30",[1220,1.803]],["text/30",[0,2.011,1,2.17,2,1.749,10,3.411,13,1.224,14,1.656,16,0.696,17,3.56,19,1.837,20,1.863,21,3.058,22,3.114,23,1.268,24,1.955,25,2.864,26,4.107,27,3.367,28,1.922,30,2.083,31,4.188,34,1.162,35,1.656,36,0.442,38,1.584,39,0.762,46,0.41,48,0.494,49,1.861,53,0.621,56,1.04,57,0.894,58,2.606,62,2.169,63,1.73,65,0.754,66,0.51,69,1.841,70,1.782,71,1.936,84,1.026,87,1.106,91,0.471,92,0.531,98,0.449,100,0.463,102,1.078,104,0.785,107,0.859,109,0.525,114,0.484,116,1.007,120,1.696,124,0.489,125,0.851,126,1.433,130,2.835,140,0.58,141,0.457,143,0.484,144,0.64,147,1.891,149,1.251,162,4.844,163,0.821,164,1.871,165,1.139,166,0.478,167,2.352,169,0.513,178,4.975,182,0.696,186,0.61,194,1.312,197,0.679,211,0.378,216,2.718,218,0.473,221,0.463,223,0.737,224,0.43,230,0.604,232,1.756,233,0.765,234,1.465,245,0.749,250,1.279,251,2.392,261,0.382,262,0.633,263,0.74,268,0.455,271,1.253,276,0.555,279,1.625,286,0.469,311,2.176,313,0.436,315,0.406,323,2.025,326,0.447,330,0.74,336,0.707,340,0.661,345,0.457,375,0.559,377,0.621,379,0.478,408,0.425,415,2.932,427,0.633,432,1.07,487,0.447,488,0.534,495,0.95,498,0.971,499,0.633,500,3.095,514,0.459,519,1.546,521,1.211,539,1.594,553,1.033,563,1.176,566,3.999,638,1.02,668,0.51,670,0.64,672,0.848,677,1.026,681,0.559,690,0.528,692,0.669,708,0.61,709,0.428,722,0.417,730,0.903,734,0.489,735,0.611,746,1.882,749,0.768,758,0.567,760,1.994,761,3.929,767,0.903,772,0.499,783,0.671,790,0.534,795,1.471,800,1.582,806,0.728,809,0.647,812,0.661,823,0.48,826,1.285,829,1.318,839,0.585,854,1.04,865,0.989,866,1.279,887,0.881,890,2.864,905,3.808,908,0.804,914,0.804,915,0.585,916,0.61,943,1.363,953,0.522,956,0.513,968,0.918,992,1.467,997,1.821,1005,1.506,1010,0.61,1057,0.58,1066,2.909,1067,0.74,1072,1.429,1079,0.541,1126,0.615,1130,0.721,1131,0.804,1132,0.881,1139,0.768,1151,0.61,1176,0.51,1210,1.809,1220,6.28,1255,0.576,1260,0.615,1297,1.253,1299,1.268,1369,0.654,1370,1.942,1395,1.991,1446,0.677,1452,0.935,1455,3.217,1464,0.654,1465,1.285,1466,2.425,1467,2.743,1468,1.285,1469,2.18,1470,2.558,1471,1.991,1472,0.754,1473,0.754,1474,1.649,1475,4.492,1476,3.05,1477,1.045,1478,5.666,1479,0.969,1480,0.785,1481,1.649,1482,6.368,1483,1.546,1484,1.471,1485,0.969,1486,1.045,1487,0.716,1488,0.567,1489,0.567,1490,0.918,1491,0.804,1492,0.677,1493,0.851,1494,0.826,1495,0.785,1496,0.769,1497,0.686,1498,0.918,1499,1.045,1500,1.045,1501,0.969,1502,0.969,1503,0.769,1504,0.74,1505,0.969,1506,0.881,1507,0.969,1508,0.804,1509,0.705,1510,0.826,1511,0.74,1512,1.321,1513,1.045,1514,1.957,1515,1.045,1516,1.957,1517,2.76,1518,1.957,1519,1.814,1520,1.957,1521,1.814,1522,1.957,1523,1.814,1524,0.969,1525,2.325,1526,1.957,1527,1.814,1528,0.804,1529,0.918,1530,0.769,1531,0.548,1532,1.814,1533,1.719,1534,1.506,1535,0.881,1536,0.74,1537,0.851,1538,0.785,1539,0.918,1540,0.881,1541,0.969,1542,0.851,1543,0.918,1544,1.045,1545,1.045,1546,1.045,1547,1.045,1548,1.045,1549,0.969,1550,1.045,1551,0.969,1552,1.045,1553,1.045,1554,1.045,1555,0.654]],["component/30",[1,0.382,2,0.692,18,0.605]],["title/31-1",[866,28.108,1093,40.849]],["name/31-1",[]],["text/31-1",[]],["component/31-1",[]],["title/31-2",[1,10.292,62,16.531,1130,23.88]],["name/31-2",[]],["text/31-2",[]],["component/31-2",[]],["title/31-3",[26,19.66,62,14.369,761,23.004,1030,24.015]],["name/31-3",[]],["text/31-3",[]],["component/31-3",[]],["title/31-4",[26,19.66,241,24.947,291,23.004,761,23.004]],["name/31-4",[]],["text/31-4",[]],["component/31-4",[]],["title/31-5",[26,19.66,241,24.947,761,23.004,1556,44.526]],["name/31-5",[]],["text/31-5",[]],["component/31-5",[]],["title/31-6",[117,45.789,1093,40.849]],["name/31-6",[]],["text/31-6",[]],["component/31-6",[]],["title/31-7",[1557,65.686]],["name/31-7",[]],["text/31-7",[]],["component/31-7",[]],["title/31-8",[1093,34.704,1111,37.829,1558,43.773]],["name/31-8",[]],["text/31-8",[]],["component/31-8",[]],["title/31-9",[4,26.975,38,15.841,1093,34.704]],["name/31-9",[]],["text/31-9",[]],["component/31-9",[]],["title/31-10",[1559,64.312,1560,56.145]],["name/31-10",[]],["text/31-10",[]],["component/31-10",[]],["title/31-11",[1557,65.686]],["name/31-11",[]],["text/31-11",[]],["component/31-11",[]],["title/31-12",[1561,69.701]],["name/31-12",[]],["text/31-12",[]],["component/31-12",[]],["title/31-13",[222,28.468,380,32.256]],["name/31-13",[]],["text/31-13",[]],["component/31-13",[]],["title/31-14",[1562,81.486]],["name/31-14",[]],["text/31-14",[]],["component/31-14",[]],["title/31",[1093,49.637]],["name/31",[1093,1.922]],["text/31",[0,0.328,1,1.008,2,0.501,4,1.303,10,0.993,15,0.723,35,0.555,37,0.752,38,2.235,39,1.451,41,0.495,46,0.684,48,0.825,49,1.335,50,2.118,52,0.53,57,0.422,58,1.059,62,2.15,63,2.932,65,1.258,66,0.851,68,0.451,69,1.233,70,1.248,71,2.727,75,0.555,78,1.189,79,0.578,83,0.686,87,0.992,91,2.702,92,0.47,95,0.429,98,0.397,107,1.635,109,0.876,114,0.429,122,1.955,126,0.72,143,1.977,144,0.566,145,0.479,149,0.333,152,0.881,153,0.812,154,1.34,158,0.544,161,1.635,163,0.731,166,1.131,167,3.825,173,0.897,176,0.506,194,1.771,197,1.086,200,0.526,211,0.334,215,0.482,216,0.388,218,1.121,220,0.56,221,0.409,222,3.218,223,1.18,224,0.38,229,0.756,232,1.954,234,0.775,244,0.74,245,1.993,247,0.801,253,1.606,254,0.578,257,1.335,260,0.935,261,0.338,264,1.767,268,0.402,272,0.473,281,0.712,283,2.853,286,0.415,287,0.954,290,0.999,291,0.377,298,0.544,299,0.388,301,1.767,311,0.67,315,1.446,316,0.462,317,0.402,319,2.26,324,0.37,326,0.396,327,0.502,329,0.479,333,2.086,336,1.541,355,1.046,370,0.988,375,0.495,380,2.374,398,1.046,400,0.47,408,0.376,415,0.903,419,0.491,421,0.42,426,0.566,428,1.121,430,0.615,432,0.954,460,0.752,486,0.779,487,0.396,488,1.602,491,0.485,495,0.449,497,0.544,499,0.56,511,1.724,512,1.208,514,0.765,522,1.566,530,0.56,532,0.592,533,0.578,538,0.456,540,1.057,541,1.753,542,1.444,550,0.451,553,1.779,555,0.801,563,0.394,568,0.442,569,0.521,589,1.643,615,0.495,635,0.838,668,1.529,674,0.53,678,0.509,679,1.316,683,0.517,704,1.195,708,2.174,709,1.014,712,0.491,713,0.644,714,1.898,720,0.695,723,0.479,724,0.495,734,0.816,741,2.478,742,1.582,746,0.996,748,0.446,749,1.672,750,0.451,755,0.526,759,0.695,763,0.856,766,0.886,783,1.074,786,0.94,792,0.56,794,1.713,800,0.53,805,0.437,809,0.572,810,0.482,813,1.072,819,0.68,823,0.424,824,0.615,831,0.539,865,1.582,866,1.751,872,0.555,878,1.724,883,0.555,887,0.779,890,0.696,892,0.439,896,1.821,911,0.634,915,2.386,916,0.539,917,1.161,918,0.451,919,0.549,947,0.94,948,1.079,951,0.464,953,0.462,959,0.624,972,0.544,976,0.667,982,0.992,992,0.927,998,0.759,1001,2.66,1010,1.444,1012,0.544,1024,0.592,1025,1.091,1029,2.822,1030,2.973,1038,1.538,1058,0.451,1070,0.498,1082,0.599,1088,0.933,1093,6.704,1105,0.424,1106,0.73,1110,1.036,1130,0.34,1136,0.68,1137,0.491,1147,1.311,1148,0.509,1150,1.103,1166,1.214,1167,0.446,1174,0.68,1180,0.521,1185,0.535,1210,1.632,1217,1.378,1221,0.779,1230,0.476,1255,0.509,1258,0.615,1259,0.968,1261,1.214,1289,0.779,1295,0.506,1296,0.644,1301,0.56,1306,0.488,1311,0.572,1318,3.59,1321,0.572,1324,0.861,1350,0.615,1357,1.5,1362,0.549,1373,1.898,1386,0.812,1400,2.084,1409,0.509,1414,0.779,1416,3.69,1417,1.334,1429,3.029,1430,0.933,1432,0.73,1434,0.695,1448,0.68,1452,0.442,1454,1.046,1458,0.634,1483,0.73,1531,0.915,1536,0.655,1557,4.497,1559,1.47,1560,2.741,1561,4.507,1562,2.752,1563,0.925,1564,0.592,1565,8.026,1566,5.245,1567,0.667,1568,0.812,1569,0.73,1570,0.73,1571,0.752,1572,4.823,1573,0.857,1574,1.103,1575,4.007,1576,0.992,1577,2.476,1578,0.779,1579,0.655,1580,1.342,1581,0.812,1582,0.812,1583,0.624,1584,0.68,1585,1.625,1586,3.274,1587,1.027,1588,1.616,1589,0.68,1590,0.857,1591,0.779,1592,0.711,1593,1.47,1594,0.752,1595,0.711,1596,0.925,1597,0.984,1598,1.744,1599,1.532,1600,1.283,1601,2.294,1602,1.532,1603,0.925,1604,2.294,1605,1.956,1606,0.634,1607,0.711,1608,1.616,1609,0.634,1610,4.412,1611,0.73,1612,0.925,1613,2.385,1614,0.925,1615,0.578,1616,3.726,1617,0.925,1618,2.476,1619,2.476,1620,1.744,1621,1.744,1622,1.744,1623,2.086,1624,3.952,1625,1.744,1626,0.925,1627,0.925,1628,0.925,1629,0.925,1630,0.925,1631,0.925,1632,0.925,1633,0.925,1634,0.925,1635,0.779,1636,0.779,1637,0.655,1638,0.779,1639,0.925,1640,0.73,1641,0.752,1642,0.925,1643,0.667,1644,0.695,1645,1.342,1646,0.695,1647,3.686,1648,0.752,1649,1.378,1650,2.015,1651,1.258,1652,4.407,1653,2.752,1654,1.378,1655,0.566,1656,0.812,1657,1.378,1658,0.925,1659,0.925,1660,0.925,1661,1.235,1662,0.925,1663,0.925,1664,2.475,1665,0.779,1666,2.294,1667,0.752,1668,0.925,1669,0.752,1670,1.103,1671,1.42,1672,0.857,1673,1.42,1674,0.925,1675,0.779,1676,0.585,1677,0.578,1678,2.476,1679,1.744,1680,1.744,1681,0.711,1682,0.857,1683,0.925,1684,0.585,1685,0.925,1686,0.73,1687,0.857,1688,0.73,1689,0.615,1690,0.925,1691,0.925,1692,0.506,1693,0.925,1694,2.476,1695,1.161,1696,0.68,1697,0.599,1698,0.925,1699,0.667,1700,0.857,1701,2.294,1702,0.857,1703,0.812,1704,0.695,1705,0.857,1706,0.857,1707,0.925,1708,0.695,1709,0.925,1710,0.644,1711,0.812]],["component/31",[1,0.382,2,0.692,18,0.605]],["title/32-1",[62,19.457,1455,37.883]],["name/32-1",[]],["text/32-1",[]],["component/32-1",[]],["title/32-2",[165,26.767,654,38.173,1064,40.115]],["name/32-2",[]],["text/32-2",[]],["component/32-2",[]],["title/32-3",[1,7.912,26,17.386,162,25.973,761,20.344,1712,49.846]],["name/32-3",[]],["text/32-3",[]],["component/32-3",[]],["title/32-4",[26,17.386,62,12.708,422,23.571,761,20.344,1455,24.742]],["name/32-4",[]],["text/32-4",[]],["component/32-4",[]],["title/32-5",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/32-5",[]],["text/32-5",[]],["component/32-5",[]],["title/32-6",[26,19.66,38,13.77,1713,39.921,1714,43.371]],["name/32-6",[]],["text/32-6",[]],["component/32-6",[]],["title/32",[26,22.617,130,39.289,761,26.464]],["name/32",[26,0.523,130,0.909,761,0.613]],["text/32",[0,0.718,1,1.96,2,0.581,4,1.487,10,1.134,14,1.214,26,4.393,29,0.82,34,1.193,36,0.855,38,2.166,39,1.871,48,0.957,49,1.281,52,2.05,62,3.013,68,1.745,69,0.796,70,2.315,71,2.592,107,0.888,116,1.041,124,2.249,149,2.09,152,0.72,153,0.942,154,1.529,162,3.813,165,2.735,167,1.994,178,1.422,203,0.808,216,2.778,218,2.626,223,0.762,224,0.832,232,0.759,234,2.075,241,3.501,242,2.188,249,1.202,253,1.347,257,1.721,274,1.9,281,1.459,283,1.355,285,2.016,289,1.839,291,0.826,299,0.848,301,2.016,310,1.97,311,1.846,313,0.845,315,1.865,327,1.098,336,0.731,375,1.913,380,1.511,400,1.028,406,0.993,487,0.865,501,1.252,502,1.888,511,0.734,517,1.141,540,1.226,549,1.16,553,0.757,566,1.328,569,1.141,570,2.91,571,0.933,638,4.388,648,2.271,654,2.105,683,1.132,702,2.283,709,2.376,722,0.808,735,0.632,746,1.932,755,3.298,761,4.654,764,1.386,766,1.028,772,0.966,783,2.271,792,1.226,800,1.16,801,2.124,843,0.802,857,1.265,866,2.44,890,3.696,904,5.252,918,0.987,938,1.15,944,1.311,948,1.252,956,0.993,958,1.214,995,1.346,1021,2.236,1030,3.777,1061,2.394,1063,1.098,1064,4.528,1068,1.598,1088,1.083,1107,5.184,1126,1.191,1139,0.793,1166,1.409,1210,1.863,1220,2.913,1249,1.18,1258,2.379,1264,1.068,1285,1.041,1299,3.759,1370,2.688,1404,4.48,1454,3.48,1455,3.926,1495,1.52,1496,1.488,1578,3.013,1636,1.705,1677,2.236,1686,2.824,1715,1.598,1716,1.311,1717,1.598,1718,1.598,1719,1.875,1720,1.777,1721,1.875,1722,1.875,1723,2.023,1724,1.705,1725,1.433,1726,1.295,1727,2.023,1728,2.023,1729,1.875,1730,1.386,1731,1.409,1732,1.646,1733,1.777,1734,2.63,1735,2.023,1736,1.875,1737,2.023,1738,3.575,1739,3.575,1740,3.575,1741,3.575,1742,3.575,1743,3.575,1744,3.313,1745,3.313,1746,3.575,1747,3.575,1748,3.575,1749,3.575,1750,3.575,1751,3.575,1752,3.575,1753,3.575,1754,3.575,1755,3.575,1756,3.575,1757,5.8,1758,6.625,1759,2.023,1760,2.023,1761,2.023,1762,1.875,1763,2.023,1764,3.575,1765,2.023,1766,2.023,1767,1.386,1768,2.023,1769,1.646,1770,1.459,1771,1.646,1772,2.023]],["component/32",[1,0.382,2,0.692,18,0.605]],["title/33-1",[145,29.181,328,27.215,1773,65.148]],["name/33-1",[]],["text/33-1",[]],["component/33-1",[]],["title/33-2",[328,36.851,421,34.711]],["name/33-2",[]],["text/33-2",[]],["component/33-2",[]],["title/33-3",[328,36.851,422,36.09]],["name/33-3",[]],["text/33-3",[]],["component/33-3",[]],["title/33-4",[328,36.851,418,38.785]],["name/33-4",[]],["text/33-4",[]],["component/33-4",[]],["title/33-5",[145,29.181,328,27.215,1773,44.526,1774,45.875]],["name/33-5",[]],["text/33-5",[]],["component/33-5",[]],["title/33-6",[328,36.851,421,34.711]],["name/33-6",[]],["text/33-6",[]],["component/33-6",[]],["title/33-7",[328,36.851,422,36.09]],["name/33-7",[]],["text/33-7",[]],["component/33-7",[]],["title/33-8",[328,36.851,418,38.785]],["name/33-8",[]],["text/33-8",[]],["component/33-8",[]],["title/33-9",[145,29.181,328,27.215,1774,67.121]],["name/33-9",[]],["text/33-9",[]],["component/33-9",[]],["title/33-10",[670,46.72,1775,52.304]],["name/33-10",[]],["text/33-10",[]],["component/33-10",[]],["title/33",[1,8.946,2,16.189,145,29.181,1401,42.361]],["name/33",[145,0.777,205,0.884,1776,1.083]],["text/33",[1,1.998,2,3.237,10,0.679,18,0.944,26,3.024,49,1.799,58,2.149,61,1.425,62,1.93,63,1.148,71,2.563,83,0.843,95,0.992,100,0.948,105,2.173,126,1.551,136,2.103,140,2.086,141,0.935,143,2.328,145,5.094,149,0.772,152,1.788,154,2.149,157,1.445,161,0.939,162,1.116,167,2.076,174,1.325,176,1.171,179,3.442,203,0.855,207,1.297,209,1.609,216,2.106,219,2.856,221,0.948,223,1.892,224,0.88,232,0.804,234,1.177,241,0.948,244,0.909,245,0.82,253,0.806,257,1.346,261,0.784,266,2.055,274,1.998,283,1.904,286,1.686,287,2.328,289,1.101,291,1.534,298,1.26,301,3.876,313,0.894,315,1.459,324,0.858,328,1.815,355,3.199,360,2.892,368,2.825,380,2.552,404,1.108,418,2.553,420,1.998,487,1.608,495,1.039,498,1.063,502,1.13,503,3.298,511,1.363,514,0.939,526,1.609,529,1.881,539,0.983,540,1.297,553,2.26,569,2.119,570,1.743,670,5.307,702,1.786,708,1.249,712,1.138,722,0.855,734,1.002,746,1.511,749,0.84,760,2.438,761,2.805,763,1.051,790,1.095,810,1.116,825,1.804,865,1.081,875,1.26,997,1.971,1009,6.877,1017,1.609,1018,1.217,1025,1.656,1057,1.189,1063,1.162,1070,1.154,1072,1.946,1076,3.941,1079,1.108,1126,1.26,1134,2.055,1148,1.18,1151,1.249,1167,2.425,1176,1.045,1183,1.371,1208,1.171,1217,1.691,1220,2.522,1288,1.609,1293,3.965,1321,1.325,1324,1.057,1362,1.272,1369,3.777,1401,5.69,1409,1.18,1420,5.166,1425,2.93,1437,1.249,1450,1.881,1457,1.325,1475,3.965,1476,3.302,1490,3.302,1496,1.575,1538,2.825,1584,2.765,1704,1.609,1716,1.388,1744,1.984,1745,1.984,1773,8.421,1774,9.309,1775,2.576,1777,2.141,1778,2.141,1779,6.873,1780,2.141,1781,1.804,1782,1.691,1783,1.544,1784,2.576,1785,4.655,1786,2.141,1787,1.647,1788,2.141,1789,3.483,1790,2.141,1791,2.141,1792,2.141,1793,2.141,1794,2.141,1795,2.141,1796,2.141,1797,2.141,1798,2.141,1799,2.141,1800,2.141,1801,2.141,1802,2.141,1803,2.141,1804,2.141,1805,2.141,1806,2.141,1807,2.141,1808,2.141,1809,2.141,1810,2.141,1811,2.141,1812,2.141,1813,2.141,1814,2.141,1815,2.141,1816,2.141,1817,2.141,1818,2.141,1819,2.141,1820,2.141,1821,2.141,1822,4.655,1823,3.758,1824,3.758,1825,3.167,1826,4.655,1827,3.758,1828,2.141,1829,2.141,1830,2.141,1831,1.371,1832,2.141,1833,2.141,1834,2.141,1835,1.406,1836,2.141,1837,2.141,1838,1.804,1839,1.425,1840,3.302,1841,3.758,1842,3.758,1843,2.141,1844,3.758,1845,2.141,1846,2.141,1847,2.141,1848,2.141]],["component/33",[1,0.382,2,0.692,18,0.605]],["title/34-1",[1497,60.891]],["name/34-1",[]],["text/34-1",[]],["component/34-1",[]],["title/34-2",[1849,59.371]],["name/34-2",[]],["text/34-2",[]],["component/34-2",[]],["title/34-3",[234,20.305,774,33.153,892,30.819]],["name/34-3",[]],["text/34-3",[]],["component/34-3",[]],["title/34",[234,23.9,774,39.023]],["name/34",[234,0.663,774,1.082]],["text/34",[1,0.237,2,0.429,10,2.745,15,0.618,33,0.967,44,0.923,46,3.395,62,0.38,63,2.543,70,1.097,71,2.491,84,0.782,87,0.598,106,0.822,109,0.749,111,2.292,122,0.614,126,2.218,141,1.188,149,0.538,152,0.531,161,1.644,166,0.682,167,4.063,173,0.768,178,0.593,180,0.863,184,0.967,194,0.709,197,0.517,203,0.596,205,1.601,211,1.355,215,0.777,216,1.14,221,2.045,222,1.014,223,1.412,225,1.665,232,1.407,233,0.583,234,4.146,244,0.633,245,0.571,247,0.685,253,0.562,254,0.933,257,0.974,260,0.564,263,2.654,274,1.446,281,0.609,290,1.098,301,0.841,311,0.573,315,1.455,324,1.09,326,0.638,329,1.408,332,0.763,336,0.539,338,1.763,341,0.955,345,1.188,374,0.955,380,1.149,400,0.758,406,1.335,408,0.607,418,2.348,420,1.446,421,2.74,422,2.849,432,0.816,488,2.747,491,0.782,498,1.35,511,0.541,513,0.749,518,1.741,530,1.648,533,0.933,539,0.685,541,0.835,542,1.587,548,0.822,553,0.558,568,1.299,569,1.534,571,0.688,582,1.979,589,0.782,615,0.799,622,2.167,648,1.772,672,0.646,681,2.006,696,0.768,709,0.611,722,1.086,735,2.36,740,0.828,741,0.777,742,1.893,745,2.89,748,1.313,767,0.688,774,5.725,783,0.512,793,0.878,800,1.559,805,2.849,813,3.606,832,0.944,841,2.327,852,3.655,854,0.793,866,1.702,877,1.022,884,0.863,890,1.845,892,4.508,904,2.049,911,1.022,914,1.148,918,0.728,923,0.793,928,3.343,936,1.701,949,2.227,951,1.366,953,0.745,954,0.904,983,0.913,1010,0.87,1016,1.763,1025,2.368,1029,1.666,1030,1.597,1034,2.884,1038,2.933,1057,2.081,1058,1.829,1067,1.057,1070,0.804,1072,0.772,1075,2.344,1105,2.122,1126,0.878,1130,1.002,1134,0.816,1135,0.913,1137,3.777,1139,2.363,1154,2.035,1175,1.683,1180,0.841,1186,1.683,1197,3.076,1215,1.022,1219,1.057,1229,0.993,1230,3.1,1264,0.788,1271,2.39,1285,0.768,1290,1.022,1293,1.786,1301,3.255,1304,2.938,1305,1.007,1306,0.788,1310,1.057,1318,3.888,1322,3.4,1352,0.944,1357,0.904,1362,0.887,1389,1.076,1393,0.98,1400,1.522,1404,0.913,1409,0.822,1429,0.754,1454,0.895,1462,1.648,1488,0.81,1496,1.098,1497,5.227,1512,1.007,1531,1.426,1597,0.841,1606,1.022,1695,0.993,1714,1.148,1726,0.955,1732,1.214,1776,1.962,1849,4.548,1850,2.958,1851,1.492,1852,0.993,1853,3.748,1854,5.37,1855,1.492,1856,2.39,1857,1.492,1858,3.748,1859,4.283,1860,1.492,1861,1.492,1862,2.72,1863,1.492,1864,1.492,1865,1.492,1866,1.383,1867,1.492,1868,1.383,1869,1.383,1870,2.39,1871,2.001,1872,2.39,1873,1.492,1874,1.492,1875,3.4,1876,3.761,1877,1.383,1878,3.894,1879,2.093,1880,1.492,1881,1.492,1882,1.076,1883,1.492,1884,1.492,1885,1.492,1886,3.748,1887,1.492,1888,0.98,1889,1.492,1890,2.72,1891,1.492,1892,1.864,1893,1.383,1894,1.257,1895,1.214,1896,2.72,1897,1.492,1898,1.257,1899,1.311,1900,1.492,1901,1.148,1902,1.492,1903,1.492,1904,2.72,1905,1.098,1906,1.383,1907,1.492,1908,1.836,1909,1.007,1910,0.887,1911,1.214,1912,1.492,1913,1.214,1914,1.007,1915,1.311,1916,1.383,1917,1.383,1918,1.492,1919,1.257,1920,1.492,1921,1.492,1922,0.955,1923,1.098,1924,0.777,1925,1.492,1926,0.81]],["component/34",[1,0.382,2,0.692,18,0.605]],["title/35-1",[234,20.305,735,20.254,1139,25.431]],["name/35-1",[]],["text/35-1",[]],["component/35-1",[]],["title/35-2",[287,21.729,556,26.653,1180,31.787,1306,29.758]],["name/35-2",[]],["text/35-2",[]],["component/35-2",[]],["title/35-3",[38,18.389,57,22.777,638,25.973,735,15.57]],["name/35-3",[]],["text/35-3",[]],["component/35-3",[]],["title/35-4",[234,15.609,735,15.57,934,26.866,1055,32.727,1139,19.55]],["name/35-4",[]],["text/35-4",[]],["component/35-4",[]],["title/35-5",[131,40.115,234,20.305,735,20.254]],["name/35-5",[]],["text/35-5",[]],["component/35-5",[]],["title/35",[234,23.9,735,23.839]],["name/35",[234,0.663,735,0.661]],["text/35",[1,0.611,4,0.915,10,0.697,18,0.298,34,0.294,37,1.328,38,2.538,46,3.769,48,0.56,49,1.837,57,3.012,58,0.507,62,0.302,63,1.566,68,0.578,69,0.865,70,0.346,71,1.661,80,2.869,93,0.449,95,0.549,98,0.509,100,0.524,101,0.777,106,0.652,109,1.104,114,0.549,118,0.935,122,0.904,131,0.733,138,1.375,141,0.517,143,1.019,148,0.605,149,0.792,152,1.096,153,0.552,154,1.317,156,0.998,158,0.697,161,0.52,163,0.496,164,0.638,167,4.152,173,1.131,174,0.733,176,1.202,178,0.471,180,0.685,183,0.986,184,0.767,197,1.569,203,0.473,211,0.428,216,0.496,218,0.536,221,0.973,222,1.688,229,0.513,234,3.834,244,0.502,245,1.179,247,0.544,249,0.704,251,0.605,253,1.159,254,0.741,257,0.788,260,3.022,261,0.433,276,2.726,281,0.483,283,0.449,285,0.668,287,1.977,289,0.609,290,0.887,291,0.483,311,0.455,315,1.756,323,2.64,324,1.233,326,0.941,327,0.643,338,1.034,344,2.869,345,0.961,373,1.408,374,0.758,379,1.005,404,0.613,408,0.894,415,1.138,418,1.117,420,1.169,421,1.4,422,1.455,432,0.647,433,0.811,439,2.078,487,0.941,488,1.124,491,0.621,495,1.494,498,1.091,500,1.117,511,1.116,522,0.749,532,0.758,538,1.085,539,3.026,547,0.777,552,2.606,553,0.823,555,1.413,556,4.155,558,0.824,562,0.617,568,2.45,569,0.668,638,2.004,648,4.704,665,0.704,696,1.583,708,0.691,709,1.576,712,2.045,722,1.536,734,0.554,735,3.107,742,1.111,758,0.643,766,0.602,767,0.546,772,2.45,774,0.605,776,0.697,789,3.077,792,0.717,793,0.697,796,0.811,813,3.806,820,0.605,840,0.717,852,2.825,854,0.629,857,0.741,862,0.741,866,0.436,875,0.697,876,1.947,890,0.878,892,0.563,916,0.691,918,0.578,919,0.704,928,3.101,934,1.659,936,0.741,938,1.25,947,0.638,953,0.591,957,1.955,966,1.261,972,0.697,998,0.515,1010,0.691,1012,0.697,1025,1.994,1027,0.629,1029,3.555,1030,2.415,1038,1.588,1049,0.811,1055,1.444,1057,2.512,1058,2.209,1067,0.839,1105,1.009,1126,1.294,1135,0.725,1137,0.629,1139,4.948,1146,0.854,1151,0.691,1154,3.34,1180,0.668,1184,1.789,1186,5.122,1187,2.593,1189,1.484,1210,0.617,1212,0.799,1229,0.788,1230,2.638,1235,0.717,1236,1.097,1257,1.557,1260,0.697,1285,0.609,1297,0.758,1298,0.871,1301,2.742,1306,1.161,1318,3.165,1324,1.899,1342,0.777,1357,1.332,1370,1.23,1381,1.04,1382,0.935,1404,3.766,1409,0.652,1416,0.602,1429,1.111,1446,0.767,1491,0.911,1512,0.799,1531,2.689,1533,1.04,1555,0.741,1592,2.368,1606,0.811,1645,0.911,1670,1.391,1677,0.741,1689,0.788,1852,0.788,1856,4.98,1872,1.932,1879,0.911,1901,2.368,1922,0.758,1923,2.264,1924,0.617,1927,1.796,1928,1.184,1929,3.946,1930,3.565,1931,0.89,1932,4.321,1933,0.998,1934,0.911,1935,0.911,1936,1.097,1937,1.04,1938,0.799,1939,5.404,1940,2.431,1941,0.998,1942,0.964,1943,0.964,1944,0.998,1945,2.431,1946,1.097,1947,1.04,1948,1.04,1949,1.097,1950,3.565,1951,1.184,1952,2.199,1953,2.199,1954,1.932,1955,2.704,1956,1.184,1957,1.097,1958,1.097,1959,0.998,1960,1.932,1961,1.04,1962,1.184,1963,0.811,1964,1.097,1965,1.097,1966,1.097,1967,0.811,1968,0.911,1969,1.184,1970,0.741,1971,0.964,1972,1.097,1973,1.184,1974,0.749,1975,1.04,1976,1.932,1977,0.741,1978,1.184,1979,0.911,1980,0.935,1981,1.932,1982,1.184,1983,1.184,1984,1.04,1985,1.184,1986,1.184,1987,1.184,1988,1.184,1989,1.184,1990,1.04,1991,1.184,1992,1.184,1993,1.097,1994,1.097,1995,1.097,1996,1.097,1997,1.097,1998,1.097,1999,0.839,2000,1.184,2001,1.184,2002,0.935]],["component/35",[1,0.382,2,0.692,18,0.605]],["title/36-1",[62,19.457,1139,29.934]],["name/36-1",[]],["text/36-1",[]],["component/36-1",[]],["title/36-2",[234,20.305,735,20.254,1061,26.767]],["name/36-2",[]],["text/36-2",[]],["component/36-2",[]],["title/36-3",[234,20.305,323,37.829,997,34.008]],["name/36-3",[]],["text/36-3",[]],["component/36-3",[]],["title/36-4",[53,45.352,323,44.527]],["name/36-4",[]],["text/36-4",[]],["component/36-4",[]],["title/36-5",[38,15.841,57,29.629,323,37.829]],["name/36-5",[]],["text/36-5",[]],["component/36-5",[]],["title/36-6",[1139,29.934,1291,48.86]],["name/36-6",[]],["text/36-6",[]],["component/36-6",[]],["title/36-7",[2003,85.955]],["name/36-7",[]],["text/36-7",[]],["component/36-7",[]],["title/36-8",[2004,81.486]],["name/36-8",[]],["text/36-8",[]],["component/36-8",[]],["title/36-9",[866,28.108,2005,62.119]],["name/36-9",[]],["text/36-9",[]],["component/36-9",[]],["title/36",[62,23.643]],["name/36",[62,0.915]],["text/36",[1,1.144,2,1.352,4,1.959,6,0.789,10,1.862,15,0.956,26,2.048,33,0.809,37,0.538,38,2.397,39,1.834,46,0.905,48,1.522,49,2.438,53,1.913,57,2.151,58,0.987,62,2.455,63,1.226,69,2.095,70,1.174,71,2.694,78,0.599,79,0.78,87,0.925,91,0.562,92,0.634,93,0.473,95,0.578,97,0.734,98,0.991,102,0.687,109,0.626,116,0.642,117,0.748,120,0.953,122,0.513,124,0.584,126,0.953,131,0.772,141,1.008,143,0.578,144,0.764,152,1.146,154,1.717,158,0.734,161,0.547,165,1.329,167,3.963,173,0.642,176,0.682,178,0.918,194,1.097,197,2.36,203,0.921,207,0.756,209,0.938,216,2.854,218,1.045,219,0.709,221,0.552,222,2.825,223,1.213,225,2.456,229,0.54,232,0.866,234,2.818,244,0.529,245,0.478,249,0.741,251,0.638,253,1.773,257,1.437,260,1.516,261,1.468,272,0.638,276,0.663,281,0.942,283,1.521,286,0.56,287,0.481,290,0.504,299,0.523,301,0.704,304,0.789,311,0.479,315,1.25,316,0.623,317,0.543,323,6.863,324,1.608,326,0.987,336,1.164,337,0.677,344,1.291,345,2.326,370,1.88,374,0.799,379,0.57,380,0.975,406,1.133,420,0.663,427,4.124,432,1.761,462,0.809,488,1.18,491,0.654,495,0.606,497,0.734,502,0.659,511,1.455,517,0.704,520,0.687,530,0.756,534,0.986,538,0.616,539,0.573,547,1.515,552,1.636,555,1.842,556,2.776,568,0.596,582,2.486,634,0.698,638,0.65,648,2.226,654,1.895,664,1.015,670,0.764,672,0.54,673,1.051,677,1.21,679,0.663,695,0.842,696,2.064,697,0.842,709,1.644,712,1.227,722,0.498,723,0.646,735,2.365,742,1.166,746,0.502,748,0.602,749,0.905,758,0.677,761,1.638,763,0.612,766,1.173,772,1.102,773,0.721,778,0.869,783,1.376,805,1.522,810,0.65,813,3.425,826,0.819,840,0.756,852,1.478,855,1.895,857,0.78,862,0.78,866,3.225,869,0.809,884,1.334,890,2.125,904,0.682,909,0.884,911,0.855,918,1.571,928,1.086,932,1.015,934,0.672,937,1.536,953,1.152,956,1.133,957,2.393,959,0.842,972,0.734,997,1.21,1012,0.734,1025,0.55,1027,0.663,1029,2.829,1030,2.502,1038,0.515,1057,1.281,1058,1.126,1061,2.627,1064,0.772,1088,3.143,1091,1.015,1105,1.842,1125,0.78,1130,1.186,1139,4.981,1154,1.748,1186,2.482,1187,1.944,1189,0.842,1212,0.842,1229,0.83,1230,0.642,1235,0.756,1241,1.235,1252,0.819,1257,1.634,1259,0.693,1264,0.659,1290,2.75,1291,0.799,1295,0.682,1301,3.226,1302,1.443,1310,0.884,1324,1.139,1343,0.772,1350,0.83,1362,0.741,1370,0.698,1394,1.051,1404,0.764,1409,1.271,1429,0.63,1430,1.235,1437,0.728,1452,1.917,1455,0.619,1462,0.756,1488,0.677,1492,0.809,1530,0.918,1536,0.884,1537,1.015,1555,0.78,1558,1.558,1609,1.581,1640,0.986,1644,0.938,1645,0.96,1692,0.682,1850,0.799,1923,1.698,1924,0.65,1927,0.728,1929,2.477,1939,2.037,1943,1.015,1944,1.051,1945,0.986,1963,0.855,1970,0.78,1977,0.78,1994,4.364,1995,2.984,1996,2.139,1997,2.139,1998,2.139,2003,3.719,2004,2.028,2005,4.779,2006,2.894,2007,1.247,2008,1.247,2009,1.156,2010,1.398,2011,2.028,2012,1.247,2013,1.156,2014,0.96,2015,0.842,2016,1.156,2017,2.028,2018,2.308,2019,1.247,2020,0.918,2021,1.247,2022,0.842,2023,0.938,2024,0.83,2025,1.247,2026,0.672,2027,1.247,2028,1.247,2029,1.247,2030,1.247,2031,1.096,2032,1.247,2033,1.247,2034,1.247,2035,1.051,2036,2.829,2037,2.037,2038,1.247,2039,1.247,2040,1.247,2041,1.247,2042,1.096,2043,1.051,2044,1.944,2045,0.986,2046,0.855,2047,1.156,2048,1.247,2049,1.247,2050,1.156,2051,1.156,2052,0.938,2053,1.015,2054,1.096,2055,1.247,2056,1.247,2057,0.869,2058,1.247,2059,1.247,2060,1.247,2061,2.139,2062,1.015,2063,1.247]],["component/36",[1,0.382,2,0.692,18,0.605]],["title/37",[234,29.041]],["name/37",[3,1.542]],["text/37",[1,2.01,2,3.398,10,2.79,18,1.549,29,3.563,62,2.242,63,3.954,67,4.366,70,2.574,71,2.768,84,3.232,167,2.119,178,2.451,203,4.466,206,3.899,222,2.299,223,2.321,234,4.126,287,2.376,313,2.574,326,2.636,423,3.321,487,2.636,512,3.008,514,2.704,555,2.829,556,2.914,734,2.885,735,1.925,750,3.008,766,3.132,774,3.151,800,3.533,852,4.038,884,3.564,890,2.46,925,3.734,956,3.024,983,6.279,997,4.613,1015,3.772,1016,3.994,1072,3.19,1126,3.628,1139,2.417,1397,3.504,1464,3.854,1510,4.868,1511,7.923,1606,4.223,2064,5.712,2065,5.016]],["component/37",[1,0.382,2,0.692,18,0.605]],["title/38-1",[1849,59.371]],["name/38-1",[]],["text/38-1",[]],["component/38-1",[]],["title/38-2",[62,19.457,1849,48.86]],["name/38-2",[]],["text/38-2",[]],["component/38-2",[]],["title/38-3",[2066,78.148]],["name/38-3",[]],["text/38-3",[]],["component/38-3",[]],["title/38-4",[2067,92.74]],["name/38-4",[]],["text/38-4",[]],["component/38-4",[]],["title/38-5",[1854,75.483]],["name/38-5",[]],["text/38-5",[]],["component/38-5",[]],["title/38-6",[143,23.106,197,17.286,234,15.609,1850,31.911,2068,46.199]],["name/38-6",[]],["text/38-6",[]],["component/38-6",[]],["title/38-7",[234,20.305,402,35.996,904,35.458]],["name/38-7",[]],["text/38-7",[]],["component/38-7",[]],["title/38-8",[2069,81.486]],["name/38-8",[]],["text/38-8",[]],["component/38-8",[]],["title/38-9",[2070,85.955]],["name/38-9",[]],["text/38-9",[]],["component/38-9",[]],["title/38-10",[2071,78.148]],["name/38-10",[]],["text/38-10",[]],["component/38-10",[]],["title/38-11",[234,20.305,415,33.57,904,35.458]],["name/38-11",[]],["text/38-11",[]],["component/38-11",[]],["title/38-12",[402,42.369,2072,38.552]],["name/38-12",[]],["text/38-12",[]],["component/38-12",[]],["title/38-13",[666,56.145,957,38.785]],["name/38-13",[]],["text/38-13",[]],["component/38-13",[]],["title/38-14",[80,42.701,1938,51.523]],["name/38-14",[]],["text/38-14",[]],["component/38-14",[]],["title/38-15",[2073,73.264]],["name/38-15",[]],["text/38-15",[]],["component/38-15",[]],["title/38-16",[62,12.708,402,27.672,666,36.669,957,25.331,2072,25.179]],["name/38-16",[]],["text/38-16",[]],["component/38-16",[]],["title/38-17",[2074,71.363]],["name/38-17",[]],["text/38-17",[]],["component/38-17",[]],["title/38",[800,53.173]],["name/38",[800,2.059]],["text/38",[0,0.855,1,0.933,2,0.487,4,1.512,6,1.072,10,1.744,13,0.289,15,1.388,17,0.895,18,0.328,26,1.452,30,0.538,33,0.299,34,0.324,37,1.316,38,1.135,39,1.305,46,0.944,48,0.218,49,1.2,52,0.265,57,0.211,62,2.59,63,0.517,66,0.225,68,0.438,69,0.514,70,0.98,71,2.268,75,0.277,76,0.355,78,0.627,80,3.288,83,0.182,84,0.242,87,0.679,91,0.763,93,0.495,95,1.269,96,0.207,97,0.528,98,0.561,100,0.397,101,0.303,102,0.254,106,0.254,107,0.203,109,0.851,113,0.365,114,0.214,120,0.191,122,1.255,124,0.42,126,0.539,136,1.532,138,0.289,141,0.9,143,1.116,144,0.283,149,0.61,152,1.086,153,0.96,154,1.171,155,0.428,161,1.057,162,0.681,164,0.483,165,0.191,166,0.211,167,4.32,169,0.227,170,0.265,173,0.672,176,0.252,177,0.483,178,0.674,183,0.207,184,0.581,194,1.727,197,0.835,203,0.823,205,0.272,207,1.659,211,2.529,216,1.01,218,0.406,221,1.608,222,1.977,223,0.907,224,0.19,226,0.251,229,1.043,230,0.518,232,1.745,233,0.18,234,3.703,241,0.204,244,1.542,245,0.649,247,1.106,248,0.982,249,3.025,250,0.785,253,0.492,254,1.289,257,0.468,260,2.003,261,0.478,272,0.236,274,0.476,276,0.694,281,0.533,283,2.296,286,0.402,287,1.176,290,1.232,291,0.533,299,0.376,304,1.523,313,0.193,315,0.657,317,1.048,323,0.523,324,0.679,326,0.559,327,0.251,329,1.067,332,0.668,336,1.411,337,0.487,338,1.436,342,0.283,344,0.501,345,0.9,355,0.379,370,0.676,374,0.296,379,0.41,380,1.157,395,0.383,402,2.449,403,1.706,404,0.239,408,0.531,415,1.881,419,0.476,421,0.408,422,0.218,432,0.49,439,0.605,487,0.197,488,0.668,491,0.242,495,0.224,498,0.229,500,0.861,501,0.555,502,0.473,503,0.303,511,0.747,514,0.743,520,0.254,522,0.292,530,0.543,532,0.296,534,0.708,538,0.228,539,0.212,541,0.501,542,0.523,543,0.312,552,0.664,553,0.634,555,0.946,556,0.618,560,0.236,562,0.467,563,0.197,569,0.506,571,0.414,572,1.026,582,1.088,589,2.048,606,0.355,615,0.247,628,0.589,648,2.305,659,0.581,664,0.376,666,2.673,668,0.438,672,2.111,679,0.476,690,0.233,696,1.869,709,1.904,712,0.694,713,0.91,714,0.28,715,0.91,716,0.514,722,0.676,734,0.216,735,1.046,740,0.498,741,0.241,742,0.453,744,0.549,745,0.561,746,0.36,748,0.433,749,0.181,758,0.251,761,1.483,765,0.347,766,0.235,772,0.984,774,2.71,778,0.321,789,1.236,793,0.769,794,0.252,796,0.316,800,0.265,801,0.274,805,1.969,810,0.681,813,3.641,815,0.389,819,0.34,820,0.458,821,0.245,822,0.299,823,0.946,824,0.597,826,1.581,834,0.674,840,0.28,841,0.893,843,0.183,844,0.614,846,0.422,856,2.18,862,0.561,866,2.293,872,0.277,876,0.292,877,0.895,878,0.321,884,0.518,890,1.093,892,1.856,897,0.327,904,2.898,916,0.762,918,0.225,919,0.776,923,1.455,926,0.518,928,0.615,929,0.498,933,0.69,934,0.249,936,0.289,938,0.262,941,0.614,942,0.312,944,0.581,946,0.365,947,2.377,949,2.159,950,0.561,951,0.232,953,1.029,956,0.227,957,2.241,959,0.882,962,0.817,964,0.674,966,0.514,972,0.997,973,0.299,982,1.369,998,0.896,1001,0.501,1010,0.269,1011,0.34,1012,0.272,1015,0.283,1016,0.299,1021,0.289,1025,0.576,1027,1.622,1029,3.553,1030,2.343,1035,2.017,1038,3.253,1049,0.316,1054,0.232,1055,0.303,1056,2.907,1057,2.311,1058,1.489,1061,0.191,1063,0.487,1069,0.296,1071,0.355,1075,0.561,1079,0.239,1082,2.171,1088,1.793,1092,1.2,1093,1.465,1101,0.982,1105,2.433,1110,0.274,1111,0.523,1112,0.389,1123,1.032,1126,0.272,1130,1.124,1135,1.037,1136,0.34,1137,3.124,1139,1.912,1148,0.254,1152,0.72,1164,0.574,1166,0.321,1174,0.961,1176,0.225,1180,0.506,1183,0.574,1207,0.376,1214,0.8,1215,0.614,1216,0.333,1220,0.232,1230,0.238,1235,0.28,1241,0.247,1249,0.523,1252,0.303,1257,0.635,1259,0.498,1261,0.321,1285,0.672,1291,0.296,1295,0.252,1297,0.296,1298,0.34,1304,4.429,1305,0.605,1306,0.244,1308,1.202,1318,0.672,1321,0.808,1322,1.516,1324,0.836,1337,0.327,1350,0.307,1358,0.376,1362,1.007,1366,0.321,1369,0.289,1370,0.501,1382,0.365,1389,0.333,1396,0.327,1400,1.347,1409,0.254,1413,0.869,1429,0.66,1430,0.247,1436,0.34,1437,0.523,1443,0.581,1445,0.365,1446,0.299,1457,0.286,1461,0.406,1465,0.589,1466,1.148,1472,0.333,1478,0.365,1482,1.303,1483,0.365,1488,0.709,1492,0.581,1496,0.34,1497,4.685,1512,0.882,1525,0.389,1531,0.242,1538,0.347,1541,0.428,1542,0.376,1555,0.289,1576,0.51,1580,0.69,1585,0.303,1587,0.272,1589,0.34,1592,0.355,1606,0.614,1613,0.574,1615,0.289,1644,0.347,1645,0.355,1666,0.428,1667,0.376,1670,0.826,1684,0.826,1689,0.597,1692,0.252,1697,0.299,1704,0.347,1714,0.69,1731,0.91,1770,0.333,1771,1.063,1839,0.597,1849,1.084,1850,2.824,1852,1.371,1854,1.379,1869,0.428,1870,0.788,1876,1.677,1877,0.428,1878,0.755,1888,0.589,1892,0.614,1905,0.34,1908,3.137,1910,1.813,1913,1.063,1922,0.574,1924,0.241,1927,0.269,1931,0.674,1932,0.389,1937,3.193,1938,2.06,1963,0.316,1970,0.561,1977,0.817,2006,0.333,2017,0.406,2024,0.307,2026,0.913,2037,0.292,2043,0.389,2066,0.755,2068,0.831,2069,2.681,2070,2.232,2071,3.916,2072,2.228,2073,2.41,2074,1.853,2075,0.376,2076,0.355,2077,0.406,2078,0.389,2079,0.462,2080,0.327,2081,0.283,2082,0.961,2083,0.462,2084,0.428,2085,0.428,2086,0.389,2087,1.694,2088,0.462,2089,0.355,2090,0.831,2091,0.428,2092,0.73,2093,0.428,2094,0.428,2095,0.462,2096,0.327,2097,0.389,2098,0.333,2099,0.831,2100,0.518,2101,0.316,2102,0.624,2103,0.895,2104,0.831,2105,0.462,2106,0.355,2107,0.406,2108,0.428,2109,0.406,2110,0.428,2111,1.57,2112,0.755,2113,1.306,2114,0.462,2115,0.581,2116,0.896,2117,0.347,2118,0.462,2119,0.896,2120,0.831,2121,0.896,2122,0.896,2123,0.462,2124,0.428,2125,0.376,2126,0.462,2127,0.462,2128,0.462,2129,0.462,2130,0.462,2131,0.73,2132,0.406,2133,1.211,2134,1.523,2135,0.755,2136,0.462,2137,0.406,2138,1.005,2139,0.462,2140,1.306,2141,0.896,2142,0.462,2143,0.896,2144,2.408,2145,0.462,2146,1.101,2147,1.063,2148,1.303,2149,0.462,2150,1.306,2151,0.69,2152,0.982,2153,1.306,2154,0.896,2155,0.896,2156,1.81,2157,0.462,2158,0.321,2159,0.406,2160,1.303,2161,0.34,2162,0.428,2163,0.462,2164,0.896,2165,0.462,2166,0.462,2167,0.674,2168,0.406,2169,0.316,2170,0.428,2171,0.462,2172,0.389,2173,0.462,2174,0.333,2175,0.462,2176,0.674,2177,0.462,2178,0.462,2179,0.333,2180,0.462,2181,0.462,2182,0.462,2183,0.428,2184,0.376,2185,0.869,2186,0.462,2187,0.333,2188,0.462,2189,0.462,2190,0.896,2191,0.428,2192,0.34,2193,0.755,2194,0.462,2195,0.462,2196,0.462,2197,0.406,2198,0.406,2199,0.462,2200,1.57,2201,0.462,2202,0.462,2203,0.462,2204,0.831,2205,0.462,2206,0.755,2207,0.462,2208,0.389,2209,0.389,2210,0.462,2211,0.462,2212,0.462,2213,0.896,2214,0.428,2215,0.462,2216,0.462,2217,0.462,2218,0.462,2219,0.788,2220,0.376,2221,0.389,2222,0.34,2223,0.462,2224,0.428,2225,0.406,2226,0.462,2227,0.389,2228,0.406,2229,0.365,2230,0.365,2231,1.032,2232,2.116,2233,1.694,2234,0.34,2235,0.462,2236,1.306,2237,0.896,2238,0.896,2239,0.896,2240,0.462,2241,0.389,2242,0.462,2243,0.462,2244,0.462,2245,0.462,2246,0.462,2247,0.389,2248,0.462,2249,1.306,2250,0.462,2251,0.347,2252,0.376,2253,0.389,2254,0.462,2255,0.376,2256,0.365,2257,1.306,2258,0.376,2259,0.462,2260,1.101,2261,0.896,2262,0.428,2263,0.462,2264,0.428,2265,0.316,2266,0.376,2267,0.389,2268,0.347,2269,0.406,2270,0.406]],["component/38",[1,0.382,2,0.692,18,0.605]],["title/39-1",[786,41.136,1152,42.048]],["name/39-1",[]],["text/39-1",[]],["component/39-1",[]],["title/39-2",[46,29.934,786,41.136]],["name/39-2",[]],["text/39-2",[]],["component/39-2",[]],["title/39-3",[70,18.972,71,17.5,87,25.981]],["name/39-3",[]],["text/39-3",[]],["component/39-3",[]],["title/39-4",[62,23.643]],["name/39-4",[]],["text/39-4",[]],["component/39-4",[]],["title/39",[120,31.506,786,41.136]],["name/39",[120,0.874,786,1.141]],["text/39",[0,0.627,1,0.503,4,0.735,10,1.005,19,4.869,20,2.908,26,2.552,38,1.478,39,2.356,46,2.372,49,2.167,58,1.843,62,1.715,63,1.316,69,1.247,70,0.517,71,2.235,78,0.848,87,1.726,93,1.633,96,2.356,98,1.851,101,1.16,114,0.819,120,1.308,122,0.726,143,0.819,148,0.903,152,1.128,154,1.355,161,1.39,162,2.245,163,1.328,165,1.778,167,4.372,169,0.867,178,1.714,194,2.048,197,1.099,214,2.206,216,1.806,218,0.8,223,1.193,229,2.275,232,1.189,244,0.749,245,0.676,247,1.455,251,0.903,253,2.278,254,1.105,260,1.628,261,1.577,286,0.792,299,1.328,315,0.686,324,1.269,327,0.959,336,0.638,338,0.831,344,3.384,345,0.772,355,1.339,379,1.448,395,0.756,404,0.914,418,0.898,422,0.835,427,1.92,497,1.04,500,0.898,511,1.905,514,1.39,517,0.996,552,0.898,553,1.186,555,1.978,562,3.506,568,0.844,634,1.772,648,0.835,688,3,696,2.216,709,1.298,712,0.939,722,0.705,723,0.914,725,1.637,735,1.346,741,3.152,742,0.892,746,0.71,761,2.986,767,0.815,772,1.514,786,6.971,789,1.06,791,1.359,794,0.966,813,1.372,818,0.882,820,0.903,831,1.03,852,0.811,866,2.478,890,1.265,892,0.839,918,0.862,926,1.832,927,2.792,933,1.359,951,0.887,956,0.867,998,0.768,1025,0.778,1029,2.991,1030,1.835,1038,1.308,1058,3.571,1079,0.914,1088,3.916,1092,3.72,1093,3.238,1095,2.67,1101,2.381,1104,1.359,1105,1.455,1139,2.06,1152,6.471,1178,5.557,1188,5.382,1189,1.192,1210,2.245,1211,2.784,1213,3.785,1218,1.488,1225,1.637,1227,4.939,1230,1.63,1240,1.438,1241,2.811,1245,2.936,1264,0.932,1268,1.327,1319,0.996,1369,1.105,1370,0.988,1429,0.892,1430,0.945,1455,1.573,1488,1.72,1492,1.145,1509,1.192,1531,1.662,1580,1.359,1589,1.299,1655,1.081,1684,1.117,1697,1.145,1699,2.285,1725,1.251,1888,1.16,1929,1.359,1970,1.105,2037,1.117,2046,1.21,2148,4.042,2151,2.438,2192,1.299,2265,1.21,2271,1.766,2272,3.506,2273,1.552,2274,1.23,2275,1.766,2276,1.251,2277,1.766,2278,1.766,2279,7.829,2280,1.766,2281,4.308,2282,3.168,2283,1.637,2284,2.936,2285,1.395,2286,1.766,2287,1.766,2288,1.766,2289,1.766,2290,6.729,2291,3.168,2292,3.785,2293,2.936,2294,2.784,2295,1.637,2296,1.637,2297,1.766,2298,1.766,2299,1.766,2300,1.766,2301,1.766,2302,1.766,2303,1.327,2304,6.781,2305,1.637,2306,1.251,2307,1.552,2308,3.168,2309,3.168,2310,1.766,2311,1.327,2312,1.637,2313,1.766,2314,3.993,2315,2.171,2316,1.766,2317,1.766,2318,1.552,2319,1.766,2320,1.766,2321,3.993,2322,5.253,2323,1.766,2324,1.552,2325,2.936,2326,2.503,2327,1.766,2328,1.766,2329,1.766,2330,1.766]],["component/39",[1,0.382,2,0.692,18,0.605]],["title/40-1",[38,15.841,786,34.949,1152,35.723]],["name/40-1",[]],["text/40-1",[]],["component/40-1",[]],["title/40-2",[38,15.841,158,38.173,1152,35.723]],["name/40-2",[]],["text/40-2",[]],["component/40-2",[]],["title/40-3",[19,43.153,38,15.841,1152,35.723]],["name/40-3",[]],["text/40-3",[]],["component/40-3",[]],["title/40-4",[38,13.77,688,39.248,1152,45.434]],["name/40-4",[]],["text/40-4",[]],["component/40-4",[]],["title/40-5",[1,8.946,34,13.993,38,13.77,1152,31.052]],["name/40-5",[]],["text/40-5",[]],["component/40-5",[]],["title/40-6",[38,15.841,1152,35.723,2331,54.639]],["name/40-6",[]],["text/40-6",[]],["component/40-6",[]],["title/40-7",[26,26.621,62,19.457]],["name/40-7",[]],["text/40-7",[]],["component/40-7",[]],["title/40",[38,18.646,1152,42.048]],["name/40",[38,0.517,1152,1.166]],["text/40",[1,1.347,4,0.771,10,1.42,13,1.159,19,6.722,26,2.624,34,1.722,36,1.397,37,0.799,38,2.578,39,1.288,49,2.484,51,2.024,52,1.896,54,2.661,62,2.355,66,1.614,68,0.904,69,1.762,70,0.542,71,2.726,87,0.742,91,0.835,95,1.533,96,2.009,97,1.091,98,1.42,99,1.525,102,1.021,116,2.304,120,2.246,124,0.867,126,1.849,130,2.004,152,0.66,154,1.415,158,1.091,162,1.723,163,0.777,166,0.847,167,1.54,169,0.909,176,1.013,178,0.737,194,0.881,197,1.553,203,0.74,216,1.386,218,0.839,223,1.245,229,1.432,232,1.241,245,2.084,247,1.518,250,0.859,253,0.698,261,0.678,266,1.013,283,0.702,286,0.831,291,1.828,299,0.777,315,1.283,316,0.925,317,0.806,324,1.794,327,1.006,329,0.959,336,2.72,344,3.496,355,1.397,370,0.74,375,0.992,376,1.628,377,1.101,379,2.046,408,1.344,428,0.839,432,1.808,494,1.29,495,0.899,503,1.216,511,1.199,514,1.451,539,0.851,540,1.123,560,1.691,568,1.58,626,1.312,654,2.636,665,1.101,667,2.905,668,2.186,688,4.829,696,0.953,709,1.834,722,1.32,726,1.426,727,1.216,734,0.867,746,1.33,760,1.605,761,2.83,772,2.139,786,1.782,791,1.426,805,0.876,813,1.432,818,0.925,830,1.561,832,1.172,841,0.803,866,3.125,875,1.947,888,2.385,890,1.32,898,1.233,901,1.216,908,3.446,915,1.037,919,1.101,924,1.965,926,2.59,929,3.021,933,1.426,934,0.999,944,1.201,982,1.053,995,1.233,998,0.806,1022,1.159,1029,2.778,1030,0.789,1038,1.365,1054,0.93,1082,2.902,1088,2.913,1092,3.854,1093,4.755,1095,1.561,1101,1.392,1106,1.464,1111,1.081,1113,1.146,1137,0.985,1152,6.808,1164,1.186,1166,1.29,1169,1.312,1176,0.904,1178,1.186,1183,1.186,1202,2.385,1210,3.256,1214,2.024,1222,1.628,1235,1.123,1249,1.081,1252,3.573,1261,1.29,1301,1.123,1304,2.449,1321,1.146,1324,1.632,1342,1.216,1400,1.037,1409,1.822,1410,1.717,1413,1.233,1416,2.276,1425,1.929,1436,1.363,1455,2.223,1458,1.27,1474,1.561,1488,1.006,1503,1.363,1535,2.786,1560,1.363,1568,1.628,1569,1.464,1600,1.363,1651,1.336,1762,1.717,1781,1.561,1888,1.216,1910,1.101,1934,3.446,1936,4.15,2023,2.485,2026,1.782,2046,4.752,2134,1.172,2148,2.544,2151,1.426,2160,1.426,2179,1.336,2192,1.363,2265,2.266,2285,4.299,2303,1.392,2311,1.392,2321,5.044,2324,1.628,2326,1.464,2331,5.843,2332,1.984,2333,8.293,2334,2.432,2335,1.628,2336,1.717,2337,1.853,2338,1.853,2339,3.773,2340,1.853,2341,4.15,2342,6.093,2343,1.853,2344,1.426,2345,1.853,2346,1.853,2347,1.853,2348,2.342,2349,1.853,2350,1.392,2351,1.717,2352,1.853,2353,1.853,2354,1.853,2355,1.561,2356,1.853,2357,3.307,2358,1.85,2359,1.27,2360,1.853,2361,3.294,2362,3.307,2363,1.508,2364,1.628,2365,1.853,2366,1.853,2367,1.426,2368,1.508,2369,1.717,2370,1.853,2371,1.717,2372,1.853,2373,1.853]],["component/40",[1,0.382,2,0.692,18,0.605]],["title/41",[786,49.986]],["name/41",[3,1.542]],["text/41",[1,1.593,2,2.883,10,2.363,18,1.873,29,3.019,38,2.452,46,3.936,68,3.637,71,2.708,84,3.908,87,2.986,107,3.27,120,4.143,165,3.076,203,4.007,206,4.715,313,3.112,316,3.72,327,4.045,338,4.722,432,4.075,487,3.188,512,3.637,555,3.421,750,3.637,786,7.31,789,4.471,884,4.309,924,4.428,1012,4.387,1015,4.562,1025,3.284,1139,2.923,1152,6.688,1178,4.771,1210,3.883,1264,5.298,1321,4.61,1397,4.237,1398,5.278,2284,6.907]],["component/41",[1,0.382,2,0.692,18,0.605]],["title/42-1",[38,15.841,774,33.153,1139,25.431]],["name/42-1",[]],["text/42-1",[]],["component/42-1",[]],["title/42-2",[38,13.77,774,28.818,956,27.663,1139,22.106]],["name/42-2",[]],["text/42-2",[]],["component/42-2",[]],["title/42",[38,18.646,774,39.023]],["name/42",[38,0.517,774,1.082]],["text/42",[1,0.867,2,1.569,10,2.556,38,3.323,46,2.142,48,1.571,57,2.496,63,2.925,68,1.621,70,0.972,71,1.474,75,3.277,95,1.54,98,2.347,149,1.197,153,3.241,158,1.956,167,3.635,183,1.49,203,1.326,216,2.29,221,1.47,229,1.439,234,2.178,245,1.272,250,1.54,257,1.19,260,1.255,286,1.49,289,2.81,299,1.393,315,1.289,324,1.331,326,1.421,328,2.637,332,1.698,336,1.201,337,1.803,338,2.57,355,1.404,379,2.496,380,1.404,404,2.828,408,1.351,420,1.766,498,1.649,539,1.525,550,1.621,553,2.044,555,1.525,556,2.583,568,1.587,589,2.865,638,4.64,665,1.974,672,3.491,691,1.905,734,1.555,735,2.173,740,1.844,741,1.731,745,2.078,748,1.604,766,1.688,772,4.575,774,2.793,805,2.583,813,2.366,831,3.187,852,1.525,854,1.766,866,2.012,890,2.181,892,1.579,899,2.242,904,1.816,915,1.858,918,1.621,928,2.57,936,2.078,958,3.277,998,1.445,1010,3.187,1021,2.078,1025,1.464,1029,3.959,1030,2.327,1038,1.371,1045,2.353,1057,3.032,1058,1.621,1076,3.989,1139,4.627,1154,1.803,1167,1.604,1185,1.921,1186,2.055,1189,2.242,1197,2.211,1227,2.242,1235,2.013,1257,2.353,1264,2.884,1301,2.013,1305,2.242,1306,2.884,1310,2.353,1318,1.709,1352,2.101,1370,3.056,1404,2.033,1446,2.153,1684,2.101,1716,2.153,1850,2.127,1859,3.079,1924,1.731,1927,1.938,1929,2.556,1939,2.101,1942,2.704,1943,2.704,1944,2.799,1945,2.624,1967,2.276,1999,2.353,2046,2.276,2306,2.353,2315,3.743,2374,2.396,2375,2.919,2376,3.322,2377,5.063,2378,2.919,2379,2.497,2380,3.079,2381,3.079,2382,3.079,2383,3.322,2384,5.063,2385,3.322,2386,3.322,2387,3.322,2388,5.063,2389,3.322,2390,3.079,2391,4.603,2392,3.322,2393,3.079,2394,3.079]],["component/42",[1,0.382,2,0.692,18,0.605]],["title/43-1",[38,15.841,735,20.254,1061,26.767]],["name/43-1",[]],["text/43-1",[]],["component/43-1",[]],["title/43",[38,18.646,735,23.839]],["name/43",[38,0.517,735,0.661]],["text/43",[1,1.139,2,1.344,18,1.531,26,1.633,38,3.026,46,3.647,49,0.989,62,2.371,63,1.43,70,2.099,71,1.644,83,1.087,84,1.448,93,1.775,98,1.186,100,1.222,126,1.14,141,2.045,152,2.17,165,1.14,167,4.622,203,1.102,211,0.998,222,2.676,223,2.295,244,1.172,245,1.792,249,2.781,257,2.183,260,2.711,263,1.956,274,2.488,290,1.114,311,1.061,326,1.181,342,1.69,345,1.206,355,1.167,379,1.262,400,1.403,420,1.468,511,1.001,514,1.211,520,1.521,533,1.727,539,1.268,541,2.619,553,1.752,566,1.813,568,1.319,572,2.836,582,1.458,648,3.798,655,2.928,668,2.974,696,3.692,709,2.94,722,1.102,735,3.476,741,4.185,761,1.91,763,2.297,766,2.379,813,5.102,876,1.747,890,3.712,898,1.838,915,1.545,998,2.036,1029,4.531,1030,3.717,1038,1.14,1056,1.727,1057,1.533,1058,3.92,1061,2.515,1084,5.504,1105,4.006,1126,1.626,1130,1.017,1220,1.387,1259,1.533,1302,4.488,1318,3.135,1324,1.363,1350,1.838,1362,1.641,1512,1.864,1609,1.892,1670,1.747,1681,2.125,1692,2.56,1697,1.79,1914,1.864,1977,2.928,2057,1.923,2100,1.597,2315,3.208,2395,2.559,2396,6.262,2397,2.327,2398,2.426,2399,2.247,2400,3.524,2401,4.813,2402,2.559,2403,3.518,2404,2.075,2405,2.761,2406,8.031,2407,4.681,2408,6.093,2409,6.093,2410,6.093,2411,2.761,2412,2.761,2413,2.761,2414,2.559,2415,2.761,2416,2.075,2417,2.327,2418,2.761,2419,2.761,2420,7.175,2421,2.761,2422,2.247,2423,2.761,2424,2.559]],["component/43",[1,0.382,2,0.692,18,0.605]],["title/44-1",[38,18.646,1647,54.056]],["name/44-1",[]],["text/44-1",[]],["component/44-1",[]],["title/44-2",[10,17.875,866,20.758,1290,38.626,1647,39.921]],["name/44-2",[]],["text/44-2",[]],["component/44-2",[]],["title/44-3",[264,43.042,1647,54.056]],["name/44-3",[]],["text/44-3",[]],["component/44-3",[]],["title/44-4",[62,19.457,1647,54.056]],["name/44-4",[]],["text/44-4",[]],["component/44-4",[]],["title/44",[38,18.646,58,32.651]],["name/44",[38,0.517,58,0.906]],["text/44",[1,0.713,2,0.284,4,1.869,7,0.583,10,1.585,14,0.594,15,0.771,26,0.649,37,1.938,38,3.131,39,1.947,44,0.613,49,0.667,57,1.517,58,2.834,61,0.659,62,1.851,66,0.908,68,0.483,69,0.732,70,1.597,71,2.107,76,0.762,78,0.894,87,1.054,91,0.446,95,0.459,96,0.835,97,0.583,98,0.425,101,0.65,102,0.546,105,0.573,111,0.835,122,0.407,124,0.464,126,1.086,141,1.45,142,0.619,149,0.357,152,3.101,153,2.543,154,0.424,163,0.415,165,2.996,166,0.453,167,4.267,173,0.957,174,0.613,183,0.444,197,0.913,203,0.743,207,1.127,211,1.973,216,0.415,218,0.842,219,2.555,222,1.865,223,3.547,229,0.806,232,2.208,238,0.782,241,0.438,245,1.008,247,0.455,251,1.346,253,0.701,257,0.667,260,0.703,261,0.362,264,1.049,271,0.634,273,1.751,276,0.989,283,0.705,285,2.22,286,0.835,287,1.732,290,0.751,299,0.78,301,0.559,311,1.011,315,1.744,317,0.431,326,0.424,329,0.513,334,1.018,344,1.041,345,0.433,355,0.786,368,0.744,370,0.743,371,0.69,379,0.85,380,1.112,400,0.946,401,0.806,404,1.363,406,0.486,408,0.757,416,0.782,419,0.526,421,0.45,426,0.606,427,0.6,430,0.659,495,0.481,496,2.179,497,0.583,511,1.629,517,1.049,535,0.782,538,0.489,539,0.854,541,1.041,542,0.578,550,0.908,553,0.696,555,0.455,556,1.57,564,0.835,568,1.257,569,0.559,582,1.389,589,0.519,638,0.516,648,1.861,668,2.193,672,1.438,677,0.976,678,0.546,679,0.526,683,1.857,691,0.568,695,0.669,696,0.957,697,1.777,709,0.406,712,0.989,719,1.47,722,0.395,734,1.554,740,0.55,741,1.371,746,0.398,760,0.903,761,0.759,794,1.018,797,0.835,805,0.88,813,1.947,820,1.346,823,0.854,831,1.086,843,0.393,845,0.669,852,3.585,854,0.526,857,0.619,865,0.94,866,3.279,871,0.714,884,1.076,890,1.051,892,0.884,897,0.701,911,1.804,912,0.659,915,0.554,916,0.578,918,1.285,927,0.642,928,0.466,931,0.519,934,0.534,938,0.563,948,1.151,953,0.929,956,0.486,964,0.744,975,0.835,988,0.538,992,0.526,995,0.659,998,0.809,1011,0.729,1012,0.583,1018,1.496,1029,3.227,1030,2.962,1038,3.223,1054,0.497,1056,1.646,1057,1.461,1058,0.483,1061,0.768,1070,0.534,1075,0.619,1079,0.513,1088,2.405,1093,3.147,1105,0.455,1126,1.549,1130,0.685,1134,0.542,1137,0.526,1139,1.032,1151,0.578,1154,2.714,1167,0.478,1176,0.483,1208,1.018,1230,2.025,1232,1.318,1235,1.127,1258,0.659,1285,0.51,1290,1.804,1298,0.729,1301,1.127,1302,3.127,1311,0.613,1312,0.679,1318,0.957,1324,0.489,1357,1.127,1362,1.106,1370,0.554,1385,0.835,1388,1.342,1409,0.546,1415,2.025,1416,2,1429,2.525,1430,1.409,1437,1.086,1448,0.729,1452,3.468,1454,0.594,1456,0.69,1457,2.054,1463,0.806,1473,0.714,1475,1.222,1481,0.835,1489,0.538,1531,1.741,1555,0.619,1565,0.806,1575,0.835,1576,0.563,1585,0.65,1592,1.432,1593,1.568,1610,0.729,1647,9.034,1648,0.806,1649,4.645,1661,1.318,1671,0.806,1677,1.164,1681,0.762,1684,0.627,1689,0.659,1695,2.209,1696,0.729,1699,1.342,1702,3.076,1708,1.398,1710,2.741,1711,0.87,1717,0.782,1720,0.87,1775,0.679,1784,1.275,1835,0.65,1923,0.729,1924,0.516,1931,0.744,1970,0.619,1977,0.619,2026,0.534,2037,0.627,2085,0.918,2107,0.87,2169,0.679,2269,0.87,2306,0.701,2315,1.804,2414,0.918,2425,0.87,2426,0.729,2427,0.729,2428,0.729,2429,0.99,2430,0.619,2431,0.99,2432,0.99,2433,0.99,2434,0.99,2435,0.835,2436,0.99,2437,1.861,2438,0.99,2439,0.99,2440,0.99,2441,0.99,2442,1.47,2443,0.99,2444,0.87,2445,8.055,2446,1.568,2447,0.99,2448,0.762,2449,0.835,2450,0.99,2451,0.99,2452,0.642,2453,5.808,2454,4.999,2455,1.725,2456,0.69,2457,0.99,2458,1.861,2459,0.99,2460,0.806,2461,0.99,2462,2.439,2463,0.806,2464,0.99,2465,0.99,2466,0.99,2467,0.99,2468,0.99,2469,0.918,2470,0.99,2471,1.861,2472,1.861,2473,0.99,2474,2.439,2475,2.439,2476,3.319,2477,1.861,2478,1.861,2479,1.861,2480,1.861,2481,3.319,2482,1.861,2483,1.861,2484,1.861,2485,0.99,2486,0.99,2487,0.99,2488,0.99,2489,1.861,2490,0.99,2491,0.99,2492,0.918,2493,0.806,2494,0.99,2495,4.392,2496,0.835,2497,0.99,2498,0.918,2499,0.99,2500,4.493,2501,0.99,2502,0.99,2503,0.87,2504,0.729,2505,1.861,2506,1.861,2507,0.99,2508,0.99]],["component/44",[1,0.382,2,0.692,18,0.605]],["title/45",[38,22.657]],["name/45",[3,1.542]],["text/45",[1,1.934,2,3.328,10,2.95,18,1.677,29,2.703,38,3.433,39,2.599,52,3.825,58,3.98,63,3.855,67,4.618,70,3.391,71,2.511,84,4.879,167,3.683,170,3.825,203,4.276,206,4.221,222,2.489,313,2.786,329,3.454,487,3.98,512,3.256,555,3.063,735,2.084,750,3.256,766,3.39,774,3.411,843,2.645,852,4.271,875,3.928,876,4.221,904,3.648,925,4.043,956,3.275,1015,4.084,1176,3.256,1180,3.763,1260,3.928,1397,3.793]],["component/45",[1,0.382,2,0.692,18,0.605]],["title/46-1",[38,18.646,904,41.735]],["name/46-1",[]],["text/46-1",[]],["component/46-1",[]],["title/46-2",[38,18.646,39,29.727]],["name/46-2",[]],["text/46-2",[]],["component/46-2",[]],["title/46-3",[1,8.946,34,13.993,38,13.77,39,21.953]],["name/46-3",[]],["text/46-3",[]],["component/46-3",[]],["title/46-4",[38,15.841,39,25.255,2509,54.639]],["name/46-4",[]],["text/46-4",[]],["component/46-4",[]],["title/46-5",[2510,75.483]],["name/46-5",[]],["text/46-5",[]],["component/46-5",[]],["title/46-6",[2511,78.148]],["name/46-6",[]],["text/46-6",[]],["component/46-6",[]],["title/46-7",[2512,78.148]],["name/46-7",[]],["text/46-7",[]],["component/46-7",[]],["title/46-8",[38,15.841,39,25.255,2332,38.902]],["name/46-8",[]],["text/46-8",[]],["component/46-8",[]],["title/46-9",[38,15.841,48,30.662,1113,40.115]],["name/46-9",[]],["text/46-9",[]],["component/46-9",[]],["title/46-10",[38,12.178,39,19.415,223,18.774,317,21.684,1134,27.258]],["name/46-10",[]],["text/46-10",[]],["component/46-10",[]],["title/46-11",[38,15.841,39,25.255,1319,36.568]],["name/46-11",[]],["text/46-11",[]],["component/46-11",[]],["title/46-12",[211,23.44,1093,34.704,2448,49.895]],["name/46-12",[]],["text/46-12",[]],["component/46-12",[]],["title/46-13",[38,13.77,943,39.248,1093,30.167,2513,52.24]],["name/46-13",[]],["text/46-13",[]],["component/46-13",[]],["title/46-14",[38,18.646,415,39.514]],["name/46-14",[]],["text/46-14",[]],["component/46-14",[]],["title/46",[38,18.389,39,19.415,167,17.138,904,27.258]],["name/46",[800,2.059]],["text/46",[0,0.223,1,1.306,2,0.181,3,0.27,4,1.628,9,0.206,10,1.823,11,0.438,14,1.345,15,1.466,18,0.158,21,0.712,23,1.131,26,1.913,27,0.784,34,0.878,35,0.378,37,0.967,38,3.005,39,3.906,42,0.484,46,0.247,47,0.385,48,3.056,49,1.123,51,0.385,56,0.335,57,2.244,58,0.269,62,2.701,63,0.685,65,0.454,66,0.59,68,0.307,69,0.687,70,1.437,71,2.806,77,1.161,78,1.077,79,0.394,82,0.425,84,0.33,87,0.252,91,1.218,93,0.662,95,0.809,96,0.282,98,0.519,100,0.279,102,0.666,109,0.316,116,2.195,120,0.499,122,0.718,124,0.295,126,0.72,136,0.976,141,1.709,143,0.292,149,0.227,152,0.621,154,1.513,158,0.371,161,0.531,162,0.909,163,0.507,164,0.652,165,3.21,167,4.355,170,0.361,173,0.324,176,0.344,177,0.652,178,0.694,194,2.186,197,0.605,203,0.251,207,1.057,215,1.168,216,0.732,218,0.547,219,0.688,221,0.992,222,0.451,223,0.844,226,0.342,229,0.524,232,1.015,233,1.382,234,0.197,241,0.279,244,2.209,245,0.668,249,0.719,253,0.237,260,1.336,261,0.639,264,0.355,266,0.344,272,0.322,283,2.532,285,0.682,287,0.673,289,0.324,290,0.254,291,0.257,299,1.483,301,0.984,304,0.398,310,0.666,311,1.359,313,0.263,315,1.906,316,0.604,317,0.759,318,0.425,319,0.454,323,0.367,324,1.083,326,0.747,327,0.342,329,0.904,332,0.322,334,0.344,336,0.977,338,0.296,345,0.275,355,0.738,368,0.473,370,0.483,371,0.842,372,0.484,373,0.403,375,0.337,377,0.374,380,0.266,395,0.269,402,0.349,408,0.492,414,0.497,415,1.623,421,0.55,422,0.572,426,0.385,430,0.419,432,0.344,460,0.984,466,0.463,488,0.322,495,1.313,496,0.794,498,0.312,499,0.381,500,0.32,502,0.332,511,1.547,512,0.307,514,0.531,517,0.355,522,0.398,532,0.403,533,0.394,539,0.555,549,0.361,550,1.094,552,0.887,553,0.453,555,1.241,562,0.328,563,0.268,568,0.578,569,0.355,570,1.42,571,0.29,582,1.428,584,0.473,589,0.634,648,0.572,654,2.891,665,0.719,668,0.307,672,1.171,679,0.335,680,0.756,682,1.725,683,0.677,690,0.611,691,0.361,697,0.425,709,0.919,714,0.733,719,0.497,722,1.079,731,0.347,734,0.817,735,0.197,742,0.611,746,0.702,749,0.247,755,0.358,758,0.342,761,1.741,766,0.887,767,0.558,772,0.834,774,0.322,776,0.712,783,0.927,790,0.322,792,0.381,801,0.719,808,1.018,810,0.63,813,2.127,818,0.314,823,0.555,839,0.677,843,0.889,846,0.821,850,0.33,852,0.289,854,1.88,865,1.583,866,2.117,872,0.378,878,0.438,883,1.047,884,0.364,887,0.53,890,0.895,892,1.066,897,0.446,904,0.661,915,1.254,922,0.794,928,0.296,929,1.74,931,0.33,933,0.484,934,0.339,938,0.358,947,1.208,951,0.316,953,0.604,956,0.594,957,0.615,959,0.425,973,0.408,992,0.928,997,0.33,998,0.274,1010,0.367,1021,0.394,1025,1.192,1027,0.335,1029,3.457,1030,2.932,1038,2.841,1056,2.447,1057,2.172,1058,1.094,1061,0.499,1063,0.342,1064,2.639,1065,2.463,1066,0.856,1069,0.403,1072,0.326,1076,0.693,1082,2.536,1088,2.283,1091,3.185,1092,2.771,1093,4.404,1095,1.471,1096,1.889,1100,0.553,1101,0.909,1103,1.121,1111,0.367,1113,0.748,1123,0.497,1130,1.302,1137,0.928,1139,1.387,1146,0.454,1147,0.473,1150,0.398,1154,0.342,1166,0.438,1167,0.304,1183,0.403,1207,0.512,1208,0.661,1210,0.328,1214,0.385,1216,0.454,1217,0.497,1219,0.446,1220,0.607,1227,0.425,1233,0.419,1255,0.666,1260,0.371,1264,0.921,1285,0.324,1295,1.226,1297,0.403,1299,1.131,1302,0.394,1304,0.661,1318,0.898,1319,0.355,1337,1.915,1350,0.805,1357,0.381,1358,0.512,1373,0.381,1393,0.413,1400,0.677,1404,1.372,1409,0.347,1417,0.941,1420,0.473,1425,1.308,1428,0.446,1429,0.611,1430,0.337,1452,1.071,1454,0.378,1455,0.866,1462,0.381,1465,1.146,1473,0.872,1475,0.413,1480,0.473,1482,1.343,1483,0.497,1488,2.124,1489,0.342,1509,0.425,1528,0.484,1531,0.634,1535,0.53,1536,0.446,1537,0.512,1538,0.473,1555,1.092,1557,1.236,1558,0.425,1561,1.312,1564,0.403,1565,2.201,1566,0.473,1567,0.872,1568,0.553,1569,0.497,1570,0.497,1571,0.512,1572,1.618,1573,0.583,1574,0.398,1575,1.471,1576,1.275,1578,0.53,1587,2.082,1599,0.553,1600,0.89,1613,1.117,1643,0.454,1644,0.473,1647,0.446,1651,0.454,1654,0.497,1655,0.385,1657,0.497,1661,0.856,1673,0.512,1681,0.931,1684,0.765,1686,0.497,1695,0.419,1718,0.497,1719,1.121,1721,1.121,1722,0.583,1725,0.446,1729,0.583,1730,2.682,1731,0.438,1767,0.431,1773,0.955,1774,0.984,1787,2.412,1852,0.419,1910,1.607,1916,0.583,1924,0.328,1935,0.484,1968,0.484,1974,0.398,2006,0.872,2010,0.381,2020,0.463,2037,1.983,2045,3.88,2046,0.431,2052,0.473,2076,0.484,2080,0.856,2081,1.655,2102,0.438,2115,2.031,2131,0.512,2134,0.398,2135,1.019,2137,0.553,2146,1.889,2147,1.825,2151,1.725,2167,0.473,2170,0.583,2193,0.53,2227,0.53,2234,0.463,2247,0.53,2253,1.471,2255,0.984,2256,0.497,2265,0.431,2332,0.726,2334,0.463,2348,1.236,2361,0.89,2399,0.512,2400,0.364,2416,0.473,2428,0.89,2435,0.53,2444,0.553,2452,0.408,2456,0.438,2510,4.237,2511,4.138,2512,2.641,2514,2.376,2515,4.315,2516,1.745,2517,0.629,2518,0.629,2519,0.629,2520,4.927,2521,0.53,2522,0.629,2523,1.618,2524,1.121,2525,0.629,2526,0.629,2527,0.693,2528,1.825,2529,0.473,2530,0.629,2531,2.078,2532,0.497,2533,0.497,2534,0.583,2535,0.454,2536,1.745,2537,0.629,2538,0.629,2539,0.629,2540,0.629,2541,0.583,2542,1.209,2543,0.629,2544,0.629,2545,0.629,2546,0.629,2547,0.629,2548,0.629,2549,0.553,2550,0.629,2551,0.629,2552,0.53,2553,0.629,2554,0.629,2555,0.446,2556,0.629,2557,0.629,2558,0.629,2559,4.262,2560,1.063,2561,2.078,2562,2.078,2563,1.209,2564,0.629,2565,0.583,2566,0.583,2567,2.376,2568,0.497,2569,0.553,2570,0.629,2571,1.745,2572,1.745,2573,0.629,2574,1.209,2575,0.629,2576,1.343,2577,1.745,2578,0.629,2579,0.583,2580,0.629,2581,0.629,2582,0.629,2583,0.53,2584,0.583,2585,0.629,2586,0.629,2587,0.629,2588,0.583,2589,0.629,2590,0.629,2591,0.53,2592,0.629,2593,0.629,2594,1.121,2595,0.553,2596,0.629,2597,1.019,2598,0.583,2599,1.121,2600,0.629,2601,0.629,2602,0.629,2603,2.078,2604,0.629,2605,0.583,2606,0.629,2607,0.89,2608,1.121,2609,0.629,2610,1.209,2611,0.955,2612,0.984,2613,0.629,2614,0.629,2615,0.629,2616,0.629,2617,0.497,2618,0.629,2619,0.53,2620,0.629,2621,0.431,2622,0.629,2623,0.583,2624,0.629,2625,0.629,2626,0.583,2627,0.629]],["component/46",[1,0.382,2,0.692,18,0.605]],["title/47-1",[299,32,1021,47.738]],["name/47-1",[]],["text/47-1",[]],["component/47-1",[]],["title/47-2",[63,19.807,299,27.187,553,24.264]],["name/47-2",[]],["text/47-2",[]],["component/47-2",[]],["title/47",[63,23.313,2628,70.737]],["name/47",[63,0.647,2628,1.962]],["text/47",[1,1.048,10,2.094,15,2.129,37,1.331,38,1.255,63,4,66,1.506,69,1.214,70,0.903,71,1.387,87,1.236,91,1.39,101,3.373,140,1.712,141,1.348,152,2.351,158,1.816,163,3.229,165,2.121,166,3.519,167,1.767,170,1.769,175,1.816,177,1.663,197,2.67,206,1.952,211,1.115,221,1.365,222,3.445,223,1.162,229,2.226,234,1.609,244,2.18,260,3.232,285,1.74,287,2.545,290,3.953,299,4.931,310,5.395,311,1.185,315,1.197,324,1.236,380,3.254,418,2.611,421,3.502,422,3.641,495,1.497,511,2.394,526,2.318,541,1.726,552,2.611,553,1.923,555,2.359,566,2.025,582,1.629,589,5.586,635,1.482,659,1.999,665,1.833,709,2.705,735,0.964,741,4.012,749,3.355,767,1.423,776,5.437,805,3.122,813,1.336,819,2.269,852,1.416,866,1.892,878,2.148,890,2.051,915,1.726,916,1.8,917,3.419,918,3.223,923,1.64,927,1.999,928,2.417,941,2.114,947,4.15,951,1.549,953,2.565,966,1.769,1018,1.754,1021,7.356,1035,1.712,1038,2.121,1109,2.437,1135,1.888,1217,2.437,1230,2.643,1259,1.712,1264,1.629,1302,1.929,1318,3.962,1324,1.523,1399,2.437,1430,2.75,1509,2.082,1594,2.511,1909,4.457,1927,1.8,1931,2.318,2026,1.663,2080,2.185,2103,2.114,2115,4.991,2315,5.277,2629,3.953,2630,5.374,2631,2.71,2632,4.762,2633,3.085,2634,5.138,2635,3.085,2636,2.859,2637,3.085,2638,3.085,2639,3.085,2640,3.085,2641,3.085,2642,3.085,2643,3.085,2644,3.085,2645,3.085,2646,3.085,2647,3.085,2648,2.859]],["component/47",[1,0.382,2,0.692,18,0.605]],["title/48-1",[338,30.507,735,20.254,1137,34.466]],["name/48-1",[]],["text/48-1",[]],["component/48-1",[]],["title/48-2",[648,30.662,813,28.088,2649,51.224]],["name/48-2",[]],["text/48-2",[]],["component/48-2",[]],["title/48",[46,29.934,1137,40.568]],["name/48",[46,0.83,1137,1.125]],["text/48",[1,1.298,2,1.214,7,2.488,10,2.594,38,1.619,46,4.768,63,3.073,67,2.098,68,2.063,70,3.123,71,2.499,78,2.03,93,1.602,94,1.801,95,1.959,100,1.871,105,4.73,122,1.738,124,1.978,126,2.736,167,1.453,181,3.44,203,1.687,216,1.772,222,2.473,232,1.587,234,3.15,244,2.813,245,3.852,261,1.547,290,2.675,315,1.64,327,2.294,338,1.988,341,2.706,380,1.786,415,4.234,487,2.836,495,2.052,511,1.532,522,2.674,542,2.466,553,2.481,569,2.383,648,3.135,734,1.978,735,2.071,746,3.289,783,3.175,813,1.831,823,1.94,831,2.466,852,1.94,866,2.441,871,3.048,876,4.194,879,3.339,884,2.444,892,3.887,915,2.365,926,2.444,935,3.561,958,2.536,972,3.902,973,2.739,1012,2.488,1025,1.862,1030,3.485,1038,3.376,1135,4.058,1137,6.872,1185,2.444,1265,3.048,1305,2.853,1306,2.231,1308,3.867,1309,2.587,1311,2.615,1312,2.896,1321,4.101,1407,3.713,1409,2.328,1430,2.262,1531,3.477,1686,3.339,1734,3.109,1852,4.412,2110,6.144,2225,3.713,2359,2.896,2649,5.237,2650,4.226,2651,7.58,2652,4.226,2653,4.226,2654,4.226,2655,2.511,2656,4.226,2657,3.561,2658,4.226,2659,4.226,2660,4.226]],["component/48",[1,0.382,2,0.692,18,0.605]],["title/49-1",[234,29.041]],["name/49-1",[]],["text/49-1",[]],["component/49-1",[]],["title/49-2",[38,22.657]],["name/49-2",[]],["text/49-2",[]],["component/49-2",[]],["title/49-3",[783,31.796]],["name/49-3",[]],["text/49-3",[]],["component/49-3",[]],["title/49-4",[63,23.313,724,40.849]],["name/49-4",[]],["text/49-4",[]],["component/49-4",[]],["title/49",[63,23.313,884,44.136]],["name/49",[3,1.542]],["text/49",[1,0.987,2,0.943,4,0.765,6,1.163,9,1.075,10,1.042,13,1.15,16,1.224,18,0.825,29,0.745,31,2.01,33,1.192,38,3.157,39,2.918,45,1.103,46,1.288,49,1.176,50,1.045,57,0.84,63,3.716,68,0.897,69,1.752,70,1.583,71,2.648,89,1.114,91,1.48,96,0.825,98,1.411,100,0.814,116,0.946,122,0.756,124,1.537,126,0.759,143,0.852,152,1.169,153,0.856,154,1.904,164,0.991,165,1.356,166,0.84,167,0.632,170,1.054,173,2.29,176,2.434,178,0.731,181,1.496,183,1.473,186,1.073,194,0.874,197,0.638,206,1.163,207,1.114,211,1.187,216,0.771,218,0.832,221,0.814,222,2.319,223,2.341,229,1.928,232,2.591,234,2.772,245,0.704,248,3.345,253,1.237,261,0.673,266,1.005,281,0.75,287,2.661,289,0.946,290,0.742,299,1.377,311,2.652,313,0.768,317,0.8,324,0.737,338,0.865,340,1.163,344,1.029,370,2.482,379,0.84,380,0.777,395,0.787,403,1.302,404,0.952,406,0.902,415,1.7,423,0.991,494,1.28,502,0.971,511,2.254,512,0.897,536,1.177,539,0.844,541,1.029,543,1.241,548,1.809,550,1.603,555,1.508,556,3.263,568,1.569,582,2.35,589,4.198,635,0.883,638,1.711,672,1.423,691,1.054,702,0.874,708,1.916,721,1.075,723,0.952,724,2.382,730,1.515,735,2.34,740,2.471,741,3.239,742,1.659,749,3.611,755,1.045,772,1.569,774,2.767,778,1.28,783,2.366,805,1.553,809,1.137,813,0.796,819,1.353,823,0.844,831,2.596,841,0.796,852,0.844,866,3.113,875,1.933,884,1.063,890,2.482,892,1.561,898,4.137,901,1.207,902,1.353,904,2.434,908,1.415,910,1.302,915,3.028,918,3.369,919,1.952,922,1.207,923,2.366,927,1.192,928,3.765,931,0.964,932,2.673,938,1.045,953,0.918,997,0.964,1012,1.082,1016,2.129,1017,1.382,1018,1.045,1027,0.977,1030,1.399,1035,1.021,1038,1.837,1076,1.883,1079,0.952,1082,1.192,1105,0.844,1125,1.15,1134,1.005,1139,2.938,1150,1.163,1176,0.897,1180,2.51,1214,2.01,1235,1.114,1241,0.984,1255,1.013,1257,2.326,1260,2.62,1264,0.971,1285,1.69,1288,1.382,1290,3.708,1301,1.99,1302,1.15,1304,1.005,1305,5.057,1318,3.198,1322,1.353,1343,1.137,1352,1.163,1370,1.029,1396,2.326,1429,0.929,1434,1.382,1452,0.878,1462,1.99,1464,1.15,1509,1.241,1536,1.302,1606,5.485,1644,1.382,1684,1.163,1686,2.594,1875,1.353,1924,1.711,1931,1.382,1967,2.251,2026,0.991,2037,1.163,2054,1.615,2102,1.28,2315,4.73,2399,1.496,2535,1.326,2629,1.415,2630,3.622,2636,3.044,2661,1.496,2662,1.615,2663,1.704,2664,1.382,2665,1.615,2666,4.404,2667,5.06,2668,1.839,2669,1.704,2670,1.839,2671,1.326,2672,1.615,2673,1.839,2674,4.56,2675,1.839,2676,1.839,2677,1.839,2678,1.415,2679,1.839,2680,1.549]],["component/49",[1,0.382,2,0.692,18,0.605]],["title/50-1",[10,20.564,299,27.187,2681,43.773]],["name/50-1",[]],["text/50-1",[]],["component/50-1",[]],["title/50-2",[2682,81.486]],["name/50-2",[]],["text/50-2",[]],["component/50-2",[]],["title/50-3",[2683,85.955]],["name/50-3",[]],["text/50-3",[]],["component/50-3",[]],["title/50-4",[2684,85.955]],["name/50-4",[]],["text/50-4",[]],["component/50-4",[]],["title/50-5",[10,15.808,143,23.106,299,20.9,866,18.358,2681,33.65]],["name/50-5",[]],["text/50-5",[]],["component/50-5",[]],["title/50-6",[62,23.643]],["name/50-6",[]],["text/50-6",[]],["component/50-6",[]],["title/50",[63,23.313,2681,51.523]],["name/50",[63,0.647,2681,1.429]],["text/50",[1,1.046,2,1.59,10,3.061,18,1.054,26,1.931,37,1.809,38,1.352,46,0.953,49,1.502,62,2.713,63,3.919,69,1.651,70,0.711,71,2.355,83,1.651,84,1.274,95,1.126,98,1.043,141,1.061,143,1.126,149,0.875,152,3.789,154,1.039,161,3.264,167,4.617,173,2.158,197,0.842,217,1.869,218,1.1,221,1.075,222,0.906,223,2.802,225,1.487,234,2.063,245,0.93,250,1.126,253,0.915,257,1.983,266,1.328,271,3.544,276,1.291,283,2.099,286,1.089,290,2.234,291,1.712,299,2.763,310,3.05,315,0.943,317,1.825,324,0.973,340,1.537,342,1.487,344,1.359,345,1.061,374,1.555,428,1.1,433,1.664,488,1.242,491,1.274,498,1.206,502,1.282,511,2.007,513,1.22,553,0.909,563,1.035,589,4.576,668,2.047,683,2.347,695,1.64,734,1.137,749,0.953,758,1.318,761,1.712,772,1.16,783,0.833,805,1.983,813,1.817,831,1.417,852,1.926,866,2.74,872,1.457,883,2.516,892,1.994,897,1.72,928,3.829,936,1.519,947,2.261,951,1.22,966,1.393,1021,1.519,1025,1.07,1029,4.73,1030,3.468,1036,2.047,1038,3.071,1058,1.185,1061,2.285,1088,2.963,1107,1.72,1130,1.545,1134,1.328,1154,1.318,1219,1.72,1230,2.158,1259,2.328,1291,1.555,1297,1.555,1301,2.541,1318,1.25,1322,1.787,1429,1.227,1585,1.595,1609,1.664,1615,1.519,1677,1.519,1692,1.328,1695,1.616,1784,1.664,1910,2.492,2010,1.472,2220,1.977,2252,3.414,2265,1.664,2442,1.919,2460,3.414,2629,5.071,2681,5.89,2682,7.666,2683,3.887,2684,5.131,2685,2.429,2686,1.72,2687,8.447,2688,5.536,2689,6.589,2690,3.025,2691,2.429,2692,2.429,2693,4.194,2694,4.194,2695,2.429,2696,3.887,2697,5.536,2698,2.429,2699,2.429,2700,2.429,2701,2.429,2702,4.194,2703,2.429,2704,2.429,2705,4.194,2706,2.047,2707,2.429,2708,2.429,2709,2.429,2710,2.429,2711,2.429,2712,2.429,2713,2.429,2714,2.429]],["component/50",[1,0.382,2,0.692,18,0.605]],["title/51-1",[234,23.9,1308,44.527]],["name/51-1",[]],["text/51-1",[]],["component/51-1",[]],["title/51-2",[234,20.305,774,33.153,1308,37.829]],["name/51-2",[]],["text/51-2",[]],["component/51-2",[]],["title/51-3",[285,43.042,538,37.669]],["name/51-3",[]],["text/51-3",[]],["component/51-3",[]],["title/51-4",[234,20.305,735,20.254,1308,37.829]],["name/51-4",[]],["text/51-4",[]],["component/51-4",[]],["title/51-5",[648,36.09,2715,64.312]],["name/51-5",[]],["text/51-5",[]],["component/51-5",[]],["title/51-6",[38,18.646,1308,44.527]],["name/51-6",[]],["text/51-6",[]],["component/51-6",[]],["title/51-7",[38,15.841,774,33.153,1308,37.829]],["name/51-7",[]],["text/51-7",[]],["component/51-7",[]],["title/51-8",[38,15.841,735,20.254,1308,37.829]],["name/51-8",[]],["text/51-8",[]],["component/51-8",[]],["title/51-9",[783,26.167,1308,44.527]],["name/51-9",[]],["text/51-9",[]],["component/51-9",[]],["title/51-10",[774,33.153,783,22.231,1308,37.829]],["name/51-10",[]],["text/51-10",[]],["component/51-10",[]],["title/51-11",[285,43.042,538,37.669]],["name/51-11",[]],["text/51-11",[]],["component/51-11",[]],["title/51-12",[735,20.254,783,22.231,1308,37.829]],["name/51-12",[]],["text/51-12",[]],["component/51-12",[]],["title/51-13",[648,36.09,2716,60.293]],["name/51-13",[]],["text/51-13",[]],["component/51-13",[]],["title/51-14",[2649,73.264]],["name/51-14",[]],["text/51-14",[]],["component/51-14",[]],["title/51",[63,23.313,1313,60.293]],["name/51",[63,0.647,1313,1.672]],["text/51",[1,0.275,2,0.894,3,0.515,4,0.925,10,0.987,15,0.497,37,2.232,38,2.187,43,1.442,46,4.01,49,1.258,50,0.984,57,0.285,58,0.267,62,1.08,63,3.282,68,0.845,69,1.921,71,1.735,83,0.246,84,0.327,91,0.281,94,0.948,95,1.031,98,2.563,101,1.137,117,0.719,120,0.258,122,0.257,124,0.81,126,1.284,127,0.961,129,1.839,136,0.349,138,0.39,139,1.205,149,0.432,152,0.222,153,0.559,154,0.267,158,0.367,161,0.76,163,1.305,165,1.284,166,0.285,167,4.598,173,0.891,178,0.477,183,0.538,194,0.297,197,1.218,211,1.764,218,0.543,221,1.188,222,1.45,223,1.011,225,0.382,229,0.75,232,1.591,234,3.201,244,0.509,245,1.75,247,1.612,249,1.029,253,0.235,254,0.75,257,1.115,260,0.654,261,0.439,267,0.41,272,1.591,276,1.182,281,0.489,283,0.843,285,0.676,286,0.998,290,0.898,291,0.255,299,1.305,311,1.195,313,0.261,315,0.672,324,0.694,326,0.513,332,0.885,336,0.226,338,1.047,344,0.671,345,0.273,355,0.94,370,0.888,375,0.334,377,0.713,379,1.605,380,1.134,404,0.323,421,0.787,422,0.819,423,0.933,488,0.613,491,0.327,495,0.303,497,0.367,498,1.104,511,1.876,512,0.305,513,0.313,538,2.409,543,0.809,552,0.609,553,1.936,555,0.551,556,1.269,562,1.159,568,0.298,571,1.62,582,0.329,589,2.038,634,0.671,638,0.325,648,3.735,659,1.442,665,0.713,668,0.305,679,0.332,683,1.245,696,2.805,708,0.364,709,1.592,713,0.434,714,1.049,722,0.479,729,0.364,735,3.357,741,0.902,742,3.014,746,0.482,748,0.301,749,1.662,758,0.651,763,0.589,772,1.282,774,4.038,783,2.479,792,1.348,805,1.471,806,0.835,809,0.742,813,3.421,820,0.885,823,0.795,826,2.306,843,0.475,846,0.294,852,0.795,866,2.285,873,0.428,876,1.698,883,0.374,890,2.734,892,0.57,904,1.92,915,0.349,918,0.305,924,1.849,929,0.961,931,0.629,932,0.508,933,0.923,934,0.336,950,0.75,954,1.049,1010,0.364,1025,2.151,1029,4.294,1030,2.542,1038,2.015,1054,0.313,1055,0.41,1057,0.666,1058,3.438,1061,1.749,1070,0.336,1072,0.323,1075,0.75,1079,0.323,1088,0.642,1092,0.442,1105,2.376,1111,1.298,1134,0.656,1135,1.905,1136,1.273,1137,4.93,1139,1.524,1150,0.395,1154,0.94,1183,0.768,1185,0.361,1210,0.325,1230,1.381,1234,1.054,1235,0.727,1255,1.714,1257,0.849,1260,0.367,1299,0.777,1301,0.727,1304,0.947,1306,1.854,1308,6.701,1311,1.376,1312,0.822,1313,3.348,1318,0.617,1321,0.386,1322,0.882,1324,0.308,1341,2.358,1343,0.386,1357,0.378,1362,1.029,1383,1.549,1404,0.734,1416,0.609,1420,0.901,1429,1.572,1430,0.334,1454,0.374,1497,3.398,1531,1.167,1555,0.39,1585,0.41,1594,0.508,1615,0.39,1677,0.75,1684,1.968,1689,0.798,1692,0.341,1695,1.786,1770,0.45,1852,4.278,1871,0.882,1879,0.48,1901,1.712,1910,2.518,1911,0.508,1927,1.01,1935,0.48,1939,0.759,1967,0.428,1977,0.39,2010,0.378,2026,0.646,2037,0.395,2046,2.904,2081,0.382,2096,1.576,2117,0.469,2124,3.602,2214,0.578,2311,1.301,2315,1.524,2367,0.48,2396,1.424,2400,0.361,2422,0.508,2520,0.493,2533,0.493,2560,0.548,2568,3.07,2649,4.308,2681,2.1,2715,2.261,2716,5.852,2717,1.199,2718,1.368,2719,1.459,2720,1.199,2721,1.955,2722,0.624,2723,1.054,2724,0.578,2725,0.624,2726,1.199,2727,1.199,2728,1.054,2729,0.624,2730,1.111,2731,1.054,2732,2.225,2733,2.225,2734,1.199,2735,2.225,2736,1.054,2737,0.901,2738,1.111,2739,0.548,2740,0.624,2741,6.017,2742,1.521,2743,0.624,2744,2.225,2745,1.199,2746,1.199,2747,1.199,2748,0.624,2749,1.199,2750,1.199,2751,0.624,2752,1.199,2753,2.225,2754,0.624,2755,0.493,2756,0.624,2757,0.442,2758,0.578,2759,0.624,2760,0.624,2761,0.469,2762,0.624,2763,1.199,2764,0.624,2765,0.624,2766,0.624,2767,0.624,2768,0.624,2769,0.624,2770,1.199,2771,0.624,2772,0.624,2773,0.882,2774,0.624,2775,0.624,2776,0.578,2777,0.624,2778,0.434,2779,0.624,2780,0.548,2781,0.526,2782,1.199,2783,0.578,2784,1.199,2785,1.731,2786,2.12,2787,1.636,2788,0.624,2789,1.199,2790,0.624,2791,0.624,2792,0.624,2793,0.624,2794,0.624,2795,0.624,2796,0.469,2797,0.624,2798,1.199,2799,0.624,2800,1.199,2801,1.199,2802,0.624,2803,0.624,2804,2.358,2805,2.225,2806,1.199,2807,0.624,2808,0.624,2809,0.624,2810,0.624,2811,0.624,2812,0.624,2813,1.199,2814,0.624,2815,0.624,2816,0.624,2817,1.199,2818,0.624,2819,0.624,2820,1.054,2821,0.624,2822,0.624]],["component/51",[1,0.382,2,0.692,18,0.605]],["title/52-1",[234,17.65,735,17.605,746,22.666,1105,25.877]],["name/52-1",[]],["text/52-1",[]],["component/52-1",[]],["title/52-2",[38,13.77,735,17.605,746,22.666,1105,25.877]],["name/52-2",[]],["text/52-2",[]],["component/52-2",[]],["title/52-3",[735,17.605,746,22.666,783,19.324,1105,25.877]],["name/52-3",[]],["text/52-3",[]],["component/52-3",[]],["title/52",[648,26.653,735,17.605,746,22.666,1105,25.877]],["name/52",[648,0.55,735,0.363,746,0.467,1105,0.534]],["text/52",[1,0.252,2,0.455,10,1.251,13,0.992,26,2.726,36,0.67,37,2.957,38,2.484,46,2.201,49,1.412,57,0.725,58,1.687,62,1.431,63,3.165,68,0.774,70,1.154,71,0.428,83,0.624,87,0.635,93,1.836,95,1.333,98,1.235,100,1.745,106,2.172,118,1.253,119,1.015,122,1.622,126,1.628,143,1.333,152,0.565,153,0.739,154,0.678,161,0.696,166,0.725,173,1.479,203,1.574,211,1.751,222,4.616,224,1.622,232,2.356,234,1.965,245,1.101,249,0.942,251,0.811,253,2.364,257,1.735,260,1.086,261,2.054,283,2.792,286,2.517,290,3.155,291,1.173,311,1.515,315,2.436,316,1.969,318,2.662,324,0.635,326,3.151,336,0.573,345,0.693,355,0.67,370,0.633,374,1.84,380,1.666,400,1.461,408,1.169,427,3.802,428,1.301,432,0.867,495,0.77,497,1.692,512,1.925,530,0.961,539,1.32,542,0.925,550,1.403,553,2.925,562,2.524,568,1.373,580,1.167,589,5.529,615,2.11,634,2.206,648,5.496,668,1.403,672,0.687,680,3.51,696,2.029,709,1.178,735,2.442,741,4.643,742,1.992,746,0.638,758,3.407,772,1.373,783,2.152,786,0.855,801,1.708,805,0.75,813,3.386,831,2.825,848,1.549,849,1.528,852,1.32,857,1.798,866,2.067,909,1.123,923,2.574,924,2.343,927,3.139,928,2.279,947,2.125,966,0.909,1025,0.699,1030,1.225,1061,2.591,1063,1.561,1075,2.466,1076,0.909,1088,4.184,1105,5.383,1111,2.3,1139,2.201,1152,0.874,1186,1.778,1188,1.167,1210,0.826,1227,2.662,1229,1.055,1230,2.029,1249,2.3,1255,0.874,1259,2.689,1285,0.816,1295,0.867,1298,4.128,1302,0.992,1310,1.123,1322,4.616,1324,1.419,1362,6.774,1363,4.255,1364,2.422,1400,0.887,1413,1.913,1429,1.992,1585,1.041,1594,3.942,1597,0.894,1643,1.144,1684,1.003,1695,1.055,1704,1.192,1770,2.844,1831,1.015,1910,3.729,1927,0.925,1974,1.003,2020,1.167,2099,3.655,2292,2.526,2305,1.47,2315,3.319,2379,2.964,2396,1.84,2426,1.167,2532,2.271,2568,4.957,2667,5.108,2678,1.22,2715,1.336,2741,1.393,2787,2.115,2823,3.465,2824,3.943,2825,2.664,2826,1.586,2827,1.22,2828,1.393,2829,1.47,2830,1.586,2831,1.586,2832,1.586,2833,2.875,2834,1.253,2835,1.253,2836,1.47,2837,1.586,2838,1.291,2839,1.47,2840,2.422]],["component/52",[1,0.382,2,0.692,18,0.605]],["title/53",[37,32.923,1910,45.352]],["name/53",[37,0.913,1910,1.258]],["text/53",[1,0.932,2,1.687,4,0.704,8,0.509,10,1.319,13,1.058,15,1.263,37,5.439,38,0.413,41,0.906,46,1.632,49,3.044,52,0.97,62,0.431,63,3.181,70,0.495,71,2.478,78,1.464,79,1.058,87,1.221,93,2.482,94,0.721,98,0.727,101,2.002,116,0.871,120,1.717,122,1.711,126,2.703,136,3.663,139,5.637,140,0.939,141,1.817,149,2.117,152,0.603,154,1.304,161,1.338,163,0.709,165,0.699,167,3.045,169,0.83,173,2.14,176,1.667,178,1.655,194,0.804,197,1.057,211,3.69,218,0.766,220,1.025,222,0.631,223,1.567,225,1.866,229,0.733,232,1.562,233,0.661,234,0.955,245,1.593,249,1.005,257,0.606,261,0.619,281,1.244,283,0.642,286,2.634,287,1.961,289,0.871,311,1.598,315,0.657,317,0.736,318,2.808,324,1.667,328,0.817,338,1.957,357,1.126,380,0.715,400,2.114,408,1.24,410,1.272,466,2.243,488,0.865,495,0.821,498,1.513,512,0.826,514,0.742,517,0.954,530,1.025,539,0.777,541,1.706,568,1.456,571,1.406,582,1.609,615,0.906,634,4.529,648,1.442,654,0.996,668,2.03,679,1.62,680,1.058,681,0.906,696,2.617,704,1.16,713,4.559,714,1.847,718,1.337,734,0.792,735,2.045,741,0.882,742,0.855,746,1.226,755,1.733,763,0.83,766,1.549,783,0.58,793,0.996,813,2.836,820,3.003,826,1.111,832,1.071,846,1.434,852,0.777,854,0.899,866,1.123,877,1.16,882,1.377,883,1.829,884,0.979,890,2.345,892,2.791,898,3.909,915,1.706,919,1.005,923,0.899,924,4.81,926,2.406,929,4.243,931,0.887,937,1.126,938,0.962,943,1.178,944,1.097,953,0.845,966,0.97,972,2.449,998,0.736,1016,1.976,1025,0.746,1034,1.302,1035,0.939,1038,1.717,1061,2.703,1092,1.198,1105,1.4,1135,1.866,1137,4.063,1151,1.778,1152,0.932,1168,1.221,1178,1.083,1180,0.954,1183,1.952,1217,1.337,1288,1.272,1304,2.782,1306,1.609,1324,0.835,1430,0.906,1436,1.245,1445,1.337,1451,1.111,1473,1.221,1484,1.272,1492,1.976,1497,1.111,1684,3.218,1715,1.337,1876,1.377,1910,7.562,1922,1.083,1924,0.882,1938,1.142,1970,1.907,2026,0.912,2045,1.337,2081,6.374,2082,3.06,2092,1.377,2167,1.272,2176,1.272,2198,1.487,2303,1.272,2306,2.159,2348,2.946,2355,1.426,2503,1.487,2568,6.713,2569,2.678,2591,2.569,2655,1.005,2773,1.245,2778,1.178,2796,1.272,2841,1.16,2842,3.048,2843,3.048,2844,1.487,2845,1.487,2846,1.692,2847,1.692,2848,2.199,2849,1.692,2850,3.048,2851,3.048,2852,1.692,2853,3.048,2854,1.692,2855,1.692,2856,1.692,2857,1.692,2858,1.692,2859,3.048,2860,1.692,2861,1.692,2862,1.692,2863,1.692,2864,1.692,2865,1.692,2866,1.692,2867,1.692,2868,1.568,2869,1.426,2870,1.426,2871,1.692,2872,3.856,2873,1.692,2874,1.692,2875,1.692,2876,1.692,2877,1.692,2878,1.302,2879,1.692,2880,1.692,2881,2.678,2882,1.692,2883,1.692,2884,1.568,2885,1.692,2886,1.692]],["component/53",[1,0.382,2,0.692,18,0.605]],["title/54-1",[1,6.426,26,14.121,34,10.051,761,16.523,807,25.612,923,21.519,2887,30.426]],["name/54-1",[]],["text/54-1",[]],["component/54-1",[]],["title/54",[807,48.284,923,40.568]],["name/54",[807,2.271]],["text/54",[1,1.757,2,2.79,10,3.081,26,3.388,70,3.239,71,1.917,143,3.292,165,4.01,169,5.433,178,2.825,215,3.701,223,2.675,224,2.921,233,4.871,281,2.899,402,3.943,404,3.677,487,3.038,488,3.631,491,3.725,513,3.566,520,3.913,548,3.913,635,3.411,730,3.276,760,3.448,761,3.964,799,6.882,807,7.529,923,5.884,982,4.038,1220,3.566,1285,3.654,1587,5.718,1767,4.867,2015,4.795,2368,5.781,2527,4.072,2887,7.3,2888,8.185,2889,7.102,2890,7.102]],["component/54",[1,0.382,2,0.692,18,0.605]],["title/55-1",[97,33.182,120,23.267,152,20.069,730,26.001]],["name/55-1",[]],["text/55-1",[]],["component/55-1",[]],["title/55-2",[18,19.18,203,30.47]],["name/55-2",[]],["text/55-2",[]],["component/55-2",[]],["title/55",[730,42.783]],["name/55",[3,1.542]],["text/55",[1,1.859,2,3.365,9,2.827,10,3.208,15,2.49,18,1.51,26,2.096,29,2.434,31,6.192,38,2.471,41,3.216,61,3.999,62,2.202,63,2.639,70,2.959,71,1.622,89,3.641,120,2.481,129,4.118,135,4.256,203,2.399,245,2.301,281,2.453,311,2.309,313,2.51,327,3.262,336,2.172,370,2.399,487,2.571,512,2.933,536,3.847,539,2.759,555,2.759,568,2.871,571,2.772,721,2.827,730,4.666,735,1.877,746,2.417,749,3.388,750,2.933,761,2.453,798,5.064,799,4.996,807,5.465,829,5.284,831,3.506,832,3.802,843,3.424,862,3.759,875,3.538,923,4.592,931,5.305,1139,2.357,1167,2.902,1168,4.335,1395,4.335,1397,3.417,1398,6.119,1446,3.895,1611,4.747,1644,4.516,2887,4.516,2891,3.679,2892,4.624,2893,4.747]],["component/55",[1,0.382,2,0.692,18,0.605]],["title/56-1",[299,32,2681,51.523]],["name/56-1",[]],["text/56-1",[]],["component/56-1",[]],["title/56-2",[272,39.023,1308,44.527]],["name/56-2",[]],["text/56-2",[]],["component/56-2",[]],["title/56",[63,23.313,931,40.028]],["name/56",[63,0.647,931,1.11]],["text/56",[1,0.78,2,2.138,10,3.736,15,2.036,31,5.502,38,2.45,39,1.913,46,2.92,63,4.109,69,1.933,70,1.437,71,2.426,78,4.816,79,4.656,102,2.706,158,2.892,163,2.06,205,2.892,222,2.777,229,2.128,232,1.844,234,2.815,244,3.159,245,1.881,251,5.798,257,1.76,260,1.856,272,5.127,281,2.005,286,2.204,299,3.121,311,1.887,336,1.776,370,1.961,408,1.997,418,3.783,421,3.386,422,3.52,498,2.438,514,2.155,563,3.172,589,2.576,596,3.366,668,2.398,683,2.748,691,2.816,724,2.629,735,1.534,742,3.76,748,2.372,763,2.411,774,2.512,802,4.139,805,2.323,823,2.255,831,2.866,866,1.809,918,2.398,928,3.502,931,5.26,966,2.816,1010,2.866,1021,3.072,1035,4.132,1067,3.479,1079,2.543,1241,3.984,1357,2.976,1416,2.496,1425,2.866,1924,2.56,2460,3.998,2681,7.656,2682,6.541,2687,4.139,2739,4.316,2894,8.988,2895,4.912,2896,4.316]],["component/56",[1,0.382,2,0.692,18,0.605]],["title/57-1",[2897,81.486]],["name/57-1",[]],["text/57-1",[]],["component/57-1",[]],["title/57-2",[1,10.292,62,16.531,1130,23.88]],["name/57-2",[]],["text/57-2",[]],["component/57-2",[]],["title/57-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/57-3",[]],["text/57-3",[]],["component/57-3",[]],["title/57-4",[1467,73.264]],["name/57-4",[]],["text/57-4",[]],["component/57-4",[]],["title/57-5",[1,7.912,62,12.708,114,23.106,398,29.905,1130,18.358]],["name/57-5",[]],["text/57-5",[]],["component/57-5",[]],["title/57-6",[1,8.946,62,14.369,398,33.815,1130,20.758]],["name/57-6",[]],["text/57-6",[]],["component/57-6",[]],["title/57-7",[26,15.584,62,11.391,114,20.712,398,26.806,761,18.236,1455,22.177]],["name/57-7",[]],["text/57-7",[]],["component/57-7",[]],["title/57-8",[26,17.386,62,12.708,398,29.905,761,20.344,1455,24.742]],["name/57-8",[]],["text/57-8",[]],["component/57-8",[]],["title/57",[829,44.309]],["name/57",[829,1.715]],["text/57",[1,1.21,2,0.727,4,0.573,10,1.112,26,1.769,37,0.594,38,0.618,46,1.375,62,2.95,63,3.338,66,0.673,68,0.673,71,1.172,87,2.032,91,1.14,94,0.587,107,2.225,126,0.569,135,3.076,143,2.013,152,2.233,167,4.867,169,1.241,175,0.811,205,1.489,211,0.498,222,1.308,229,1.096,232,1.316,234,0.432,245,0.969,253,2.872,254,0.862,257,1.556,260,0.521,261,0.504,274,1.863,283,2.567,286,1.135,290,1.753,291,0.562,311,0.53,326,0.59,334,1.383,336,1.267,342,1.548,355,0.582,373,0.882,398,2.606,408,1.028,511,1.839,513,1.27,547,0.905,553,0.516,563,0.587,574,1.014,615,1.876,668,0.673,671,1.565,672,1.882,674,0.79,709,0.565,730,1.617,741,0.718,742,0.696,744,0.844,745,0.862,761,2.07,766,0.7,783,0.472,806,0.96,810,0.718,812,2.218,829,4.784,843,1.003,844,0.944,854,0.733,866,1.868,890,2.704,910,1.791,919,0.819,927,0.893,931,0.723,942,0.93,953,1.263,972,1.489,992,0.733,1020,1.06,1029,3.552,1030,2.672,1038,2.981,1058,3.061,1061,2.981,1072,0.714,1079,0.714,1088,0.738,1130,0.932,1134,1.383,1150,0.872,1154,2.358,1176,0.673,1197,1.683,1220,2.546,1241,0.738,1249,0.804,1252,0.905,1299,2.272,1301,0.835,1304,1.917,1311,0.853,1312,0.944,1352,0.872,1370,0.771,1383,3.025,1406,1.619,1409,0.759,1430,0.738,1467,6.816,1495,1.036,1497,0.905,1501,1.277,1502,1.277,1503,1.014,1504,0.976,1505,1.277,1506,1.161,1507,1.277,1531,2.278,1576,0.784,1580,1.06,1670,1.6,1677,0.862,1692,0.754,1871,1.014,1963,1.733,2006,2.528,2037,0.872,2046,0.944,2146,5.284,2147,3.535,2152,1.036,2208,1.161,2446,1.161,2773,4.613,2778,0.96,2897,3.08,2898,1.378,2899,2.579,2900,4.81,2901,10.659,2902,4.026,2903,1.824,2904,1.277,2905,0.872,2906,5.071,2907,1.06,2908,5.071,2909,5.016,2910,1.378,2911,1.378,2912,3.505,2913,3.505,2914,3.505,2915,1.378,2916,2.529,2917,1.378,2918,3.505,2919,3.505,2920,2.529,2921,1.378,2922,2.529,2923,3.66,2924,2.529,2925,1.202,2926,2.344,2927,2.529,2928,2.529,2929,2.529,2930,1.378,2931,1.378,2932,1.378,2933,2.529,2934,2.529,2935,2.529,2936,2.529,2937,7.714,2938,4.026,2939,7.051,2940,4.343,2941,4.343,2942,5.708,2943,7.991,2944,1.378,2945,1.378,2946,1.378,2947,1.378,2948,1.378,2949,4.343,2950,6.772,2951,4.343,2952,4.343,2953,1.378,2954,2.222,2955,2.853,2956,5.071,2957,5.071,2958,3.505,2959,2.529,2960,5.708,2961,3.505,2962,1.378,2963,2.059,2964,2.529,2965,1.378,2966,1.378]],["component/57",[1,0.382,2,0.692,18,0.605]],["title/58-1",[38,15.841,799,37.497,2893,51.224]],["name/58-1",[]],["text/58-1",[]],["component/58-1",[]],["title/58-2",[829,44.309]],["name/58-2",[]],["text/58-2",[]],["component/58-2",[]],["title/58",[38,15.841,730,29.912,843,25.702]],["name/58",[843,1.423]],["text/58",[1,0.499,10,1.654,15,2.161,38,2.888,41,1.681,46,1.232,63,0.959,68,1.533,70,2.278,71,2.331,87,2.68,91,1.415,122,1.292,124,1.47,126,1.297,169,1.542,204,1.903,211,3.369,260,1.187,267,2.062,274,1.669,276,1.669,281,2.129,286,3.493,290,2.105,310,1.73,311,2.004,324,2.09,327,1.705,342,4.767,345,3.402,355,2.204,400,2.65,408,4.202,421,1.428,428,1.422,505,3.16,511,2.425,514,1.378,555,3.575,556,3.162,568,1.501,668,1.533,672,1.361,691,1.801,709,2.74,722,3.109,730,3.592,731,1.73,742,1.587,767,1.449,772,1.501,783,1.077,794,1.718,799,5.71,804,1.786,807,1.987,813,1.361,816,2.76,817,2.225,820,1.606,821,1.669,823,2.394,829,4.717,843,4.096,844,3.574,845,5.832,846,3.146,854,1.669,896,2.31,923,3.555,928,1.478,931,2.735,936,1.965,947,1.693,962,1.965,997,1.647,1010,1.832,1025,2.298,1034,2.417,1038,2.761,1046,2.12,1075,3.262,1105,1.442,1180,1.771,1212,2.12,1220,2.619,1232,5.515,1249,3.043,1252,3.424,1285,4.006,1304,1.718,1366,2.187,1400,4.357,1429,3.933,1451,2.062,1452,2.492,1509,2.12,1871,2.31,1914,4.515,1974,3.299,2014,2.417,2072,5.22,2101,4.583,2268,2.361,2274,3.632,2834,6.151,2835,2.481,2891,1.923,2893,6.151,2899,3.837,2900,2.647,2905,1.987,2923,2.647,2954,4.582,2967,2.76,2968,4.395,2969,2.911,2970,2.911,2971,4.245,2972,5.215,2973,3.141,2974,4.834,2975,5.215,2976,3.141,2977,3.141,2978,3.141,2979,4.12,2980,4.834,2981,3.141,2982,2.911,2983,2.911,2984,2.31,2985,2.556,2986,2.31,2987,2.225,2988,1.965,2989,3.141,2990,2.911]],["component/58",[1,0.382,2,0.692,18,0.605]],["title/59-1",[1291,48.86,2991,54.056]],["name/59-1",[]],["text/59-1",[]],["component/59-1",[]],["title/59-2",[1,10.292,62,16.531,1130,23.88]],["name/59-2",[]],["text/59-2",[]],["component/59-2",[]],["title/59-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-3",[]],["text/59-3",[]],["component/59-3",[]],["title/59-4",[2992,85.955]],["name/59-4",[]],["text/59-4",[]],["component/59-4",[]],["title/59-5",[1134,41.735,1291,48.86]],["name/59-5",[]],["text/59-5",[]],["component/59-5",[]],["title/59-6",[1,10.292,62,16.531,1130,23.88]],["name/59-6",[]],["text/59-6",[]],["component/59-6",[]],["title/59-7",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-7",[]],["text/59-7",[]],["component/59-7",[]],["title/59-8",[36,39.196]],["name/59-8",[]],["text/59-8",[]],["component/59-8",[]],["title/59-9",[222,28.468,2991,54.056]],["name/59-9",[]],["text/59-9",[]],["component/59-9",[]],["title/59-10",[2569,67.059,2991,54.056]],["name/59-10",[]],["text/59-10",[]],["component/59-10",[]],["title/59-11",[10,20.564,1343,40.115,2991,45.925]],["name/59-11",[]],["text/59-11",[]],["component/59-11",[]],["title/59-12",[1,10.292,62,16.531,1130,23.88]],["name/59-12",[]],["text/59-12",[]],["component/59-12",[]],["title/59-13",[26,15.584,62,11.391,761,18.236,934,24.082,1088,23.913,1455,22.177]],["name/59-13",[]],["text/59-13",[]],["component/59-13",[]],["title/59-14",[26,15.584,62,11.391,427,27.072,761,18.236,1088,23.913,1455,22.177]],["name/59-14",[]],["text/59-14",[]],["component/59-14",[]],["title/59-15",[1469,73.264]],["name/59-15",[]],["text/59-15",[]],["component/59-15",[]],["title/59-16",[62,23.643]],["name/59-16",[]],["text/59-16",[]],["component/59-16",[]],["title/59-17",[1475,60.891]],["name/59-17",[]],["text/59-17",[]],["component/59-17",[]],["title/59-18",[1476,81.486]],["name/59-18",[]],["text/59-18",[]],["component/59-18",[]],["title/59-19",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-19",[]],["text/59-19",[]],["component/59-19",[]],["title/59-20",[62,19.457,1151,44.527]],["name/59-20",[]],["text/59-20",[]],["component/59-20",[]],["title/59-21",[2993,81.486]],["name/59-21",[]],["text/59-21",[]],["component/59-21",[]],["title/59-22",[272,47.418]],["name/59-22",[]],["text/59-22",[]],["component/59-22",[]],["title/59-23",[1,10.292,62,16.531,1130,23.88]],["name/59-23",[]],["text/59-23",[]],["component/59-23",[]],["title/59-24",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/59-24",[]],["text/59-24",[]],["component/59-24",[]],["title/59-25",[31,46.72,890,30.47]],["name/59-25",[]],["text/59-25",[]],["component/59-25",[]],["title/59-26",[234,29.041]],["name/59-26",[]],["text/59-26",[]],["component/59-26",[]],["title/59-27",[1,12.114,34,18.948]],["name/59-27",[]],["text/59-27",[]],["component/59-27",[]],["title/59-28",[1,10.292,34,16.098,114,30.058]],["name/59-28",[]],["text/59-28",[]],["component/59-28",[]],["title/59-29",[38,22.657]],["name/59-29",[]],["text/59-29",[]],["component/59-29",[]],["title/59-30",[38,18.646,843,30.252]],["name/59-30",[]],["text/59-30",[]],["component/59-30",[]],["title/59-31",[38,15.841,843,25.702,1452,30.979]],["name/59-31",[]],["text/59-31",[]],["component/59-31",[]],["title/59-32",[38,15.841,808,37.829,843,25.702]],["name/59-32",[]],["text/59-32",[]],["component/59-32",[]],["title/59-33",[786,49.986]],["name/59-33",[]],["text/59-33",[]],["component/59-33",[]],["title/59-34",[1417,49.986]],["name/59-34",[]],["text/59-34",[]],["component/59-34",[]],["title/59-35",[1210,48.324]],["name/59-35",[]],["text/59-35",[]],["component/59-35",[]],["title/59-36",[783,31.796]],["name/59-36",[]],["text/59-36",[]],["component/59-36",[]],["title/59-37",[783,26.167,937,50.794]],["name/59-37",[]],["text/59-37",[]],["component/59-37",[]],["title/59-38",[1,12.114,34,18.948]],["name/59-38",[]],["text/59-38",[]],["component/59-38",[]],["title/59-39",[1,10.292,34,16.098,114,30.058]],["name/59-39",[]],["text/59-39",[]],["component/59-39",[]],["title/59-40",[783,26.167,1452,36.464]],["name/59-40",[]],["text/59-40",[]],["component/59-40",[]],["title/59-41",[1,12.114,34,18.948]],["name/59-41",[]],["text/59-41",[]],["component/59-41",[]],["title/59-42",[1,10.292,34,16.098,114,30.058]],["name/59-42",[]],["text/59-42",[]],["component/59-42",[]],["title/59-43",[783,22.231,2994,48.733,2995,43.153]],["name/59-43",[]],["text/59-43",[]],["component/59-43",[]],["title/59-44",[1,12.114,34,18.948]],["name/59-44",[]],["text/59-44",[]],["component/59-44",[]],["title/59-45",[1,10.292,34,16.098,114,30.058]],["name/59-45",[]],["text/59-45",[]],["component/59-45",[]],["title/59-46",[729,44.527,783,26.167]],["name/59-46",[]],["text/59-46",[]],["component/59-46",[]],["title/59-47",[63,19.807,735,20.254,1977,40.557]],["name/59-47",[]],["text/59-47",[]],["component/59-47",[]],["title/59",[31,46.72,415,39.514]],["name/59",[31,2.198]],["text/59",[0,0.749,1,1.307,2,2.201,3,0.487,4,1.686,10,1.967,15,2.059,18,0.531,26,1.168,29,0.238,31,7.178,34,1.301,36,0.249,37,0.707,38,2.185,39,0.639,46,3.836,47,0.36,49,0.587,52,0.65,53,2.6,57,0.518,58,0.252,62,2.493,63,2.474,66,0.287,67,0.292,68,0.8,69,1.595,70,0.98,71,1.838,78,0.787,79,1.026,82,0.397,83,0.232,84,0.309,87,1.875,88,0.41,89,1.546,91,0.265,95,0.525,96,0.736,97,0.965,98,1.273,107,0.719,108,0.433,114,0.273,118,0.895,120,0.468,122,0.868,124,0.988,126,1.223,130,0.357,135,0.803,141,1.294,143,0.979,144,0.36,148,0.301,149,0.761,152,2.046,153,0.764,154,0.701,161,2.299,163,1.835,166,1.999,167,3.81,169,0.805,177,1.138,178,1.179,179,1.124,183,0.947,184,0.381,186,0.661,194,0.28,197,2.426,203,1.183,204,0.357,207,0.357,211,0.41,215,0.307,216,1.242,218,1.341,221,0.26,222,1.746,223,1.763,225,3.208,230,1.475,232,0.616,234,2.4,244,1.421,245,0.977,247,0.969,250,0.525,253,2.766,257,2.222,260,0.62,261,0.773,266,0.322,272,0.58,276,0.313,281,0.669,283,0.967,286,1.144,287,0.227,291,0.24,298,0.346,310,0.324,311,1.138,315,0.228,317,1.763,323,1.232,324,0.236,327,1.818,329,0.305,332,0.301,336,0.763,338,0.277,341,0.377,345,0.495,355,1.078,368,0.442,370,1.019,375,0.878,377,0.35,379,0.518,380,0.479,400,0.299,402,2.061,406,0.289,408,0.858,415,0.587,419,2.923,494,0.41,495,0.55,498,0.563,501,0.364,502,0.311,503,0.386,511,1.074,512,0.8,513,1.281,514,1.119,517,1.191,520,0.624,530,0.357,539,0.27,540,0.687,541,0.329,542,1.232,543,0.397,547,0.386,553,1.637,560,0.301,562,0.591,563,1.087,568,0.281,571,0.523,581,2.199,582,0.311,589,0.594,590,3.202,603,0.335,615,1.793,635,2.102,638,0.307,672,0.255,680,0.368,681,0.315,683,0.634,684,0.329,696,2.408,702,0.28,704,0.403,709,0.241,729,0.661,730,0.271,731,1.845,734,0.988,735,1.462,740,0.327,741,0.854,742,2.778,744,0.694,746,2.107,748,0.792,749,1.314,753,0.634,756,1.066,758,0.319,761,1.209,763,0.556,772,2.627,773,0.34,774,2.812,783,2.729,786,2.522,790,1.079,792,0.357,805,0.278,808,0.957,813,2.027,818,1.274,820,1.515,829,0.281,831,0.957,835,0.872,840,0.687,841,0.255,843,1.607,852,2.281,855,0.346,862,0.368,865,0.297,866,1.493,871,0.424,872,0.353,875,0.346,877,1.124,890,0.843,892,1.592,897,0.417,898,0.392,904,1.154,907,0.433,916,0.343,918,0.553,922,0.386,923,1.356,924,0.674,926,1.221,928,1.576,931,0.594,934,1.138,937,1.698,942,0.397,943,0.41,947,0.317,951,0.823,952,0.872,953,0.819,957,1.073,965,0.828,988,0.319,992,0.872,998,0.713,1018,3.762,1025,1.306,1029,3.265,1030,2.448,1038,1.053,1056,2.737,1057,2.429,1058,1.446,1061,0.468,1063,0.615,1069,0.377,1079,0.305,1082,0.735,1088,1.586,1107,0.803,1111,0.661,1129,0.496,1130,0.217,1139,2.157,1142,0.955,1152,1.632,1176,1.446,1178,1.05,1208,0.322,1210,1.544,1212,1.107,1215,1.124,1220,0.295,1227,0.765,1229,0.392,1241,0.607,1249,0.343,1252,0.386,1255,0.324,1258,0.754,1264,0.311,1285,2.556,1291,1.05,1308,0.661,1337,0.803,1343,0.364,1370,0.634,1387,0.424,1396,0.417,1398,0.417,1400,0.917,1406,0.377,1416,0.299,1417,2.001,1425,0.957,1430,0.315,1452,1.219,1454,0.353,1455,1.266,1469,4.899,1473,1.84,1482,0.872,1497,1.077,1531,0.309,1558,0.397,1571,0.479,1576,0.644,1597,0.639,1615,0.368,1637,1.161,1655,0.36,1675,0.496,1689,0.392,1714,0.453,1731,0.41,1784,0.777,1924,0.307,1968,0.453,1976,0.517,1977,3.107,2015,0.397,2026,0.317,2073,0.465,2081,0.36,2115,0.381,2117,0.442,2125,0.479,2148,4.936,2156,0.442,2167,1.587,2234,1.553,2260,0.955,2401,0.465,2452,0.381,2621,0.403,2632,0.545,2667,0.923,2681,0.397,2690,0.818,2696,1.05,2755,1.668,2778,1.142,2783,0.545,2823,0.517,2878,0.453,2896,0.517,2925,0.28,2988,0.709,2991,7.744,2993,3.562,2994,0.442,2995,0.392,2996,0.433,2997,1.779,2998,0.588,2999,1.52,3000,0.588,3001,1.957,3002,2.551,3003,1.133,3004,1.133,3005,0.588,3006,1.133,3007,2.746,3008,0.545,3009,0.479,3010,0.588,3011,0.588,3012,1.957,3013,1.52,3014,0.517,3015,2.111,3016,1.133,3017,0.479,3018,0.588,3019,0.588,3020,0.545,3021,0.588,3022,3.349,3023,0.588,3024,0.588,3025,0.588,3026,0.588,3027,0.588,3028,0.588,3029,0.588,3030,0.588,3031,0.588,3032,0.545,3033,0.588,3034,0.588,3035,0.588,3036,0.588,3037,2.551,3038,0.588,3039,0.588,3040,0.588,3041,0.588,3042,0.442,3043,0.588,3044,0.588,3045,0.372,3046,0.588,3047,1.05,3048,0.496,3049,0.517,3050,0.588,3051,0.588,3052,0.588,3053,0.588,3054,0.588,3055,0.588,3056,0.588,3057,0.588,3058,0.588,3059,0.588,3060,0.588,3061,0.588,3062,0.588,3063,0.588,3064,0.496,3065,0.588,3066,0.588,3067,0.588,3068,1.133,3069,1.133,3070,1.133,3071,1.133,3072,1.133,3073,0.588,3074,0.588,3075,0.588,3076,1.133,3077,0.588,3078,0.588,3079,1.133,3080,0.588,3081,0.588,3082,0.588,3083,1.382,3084,1.133,3085,0.545,3086,0.479,3087,0.588,3088,0.588,3089,0.588,3090,0.545,3091,0.588,3092,0.517,3093,0.417,3094,0.588,3095,1.64,3096,1.133,3097,0.588,3098,0.588,3099,0.588,3100,1.133,3101,0.588,3102,1.133,3103,0.588,3104,0.588,3105,0.545,3106,0.453,3107,0.588,3108,0.588,3109,0.453,3110,0.588,3111,1.133,3112,0.588,3113,0.588,3114,0.588,3115,0.588]],["component/59",[1,0.382,2,0.692,18,0.605]],["title/60-1",[735,20.254,783,22.231,1061,26.767]],["name/60-1",[]],["text/60-1",[]],["component/60-1",[]],["title/60",[62,23.643]],["name/60",[62,0.915]],["text/60",[1,0.564,26,2.014,46,3.292,49,1.274,62,2.354,63,1.086,71,1.559,78,1.708,126,1.468,141,2.523,152,2.056,161,1.56,167,4.269,211,2.088,222,3.443,229,1.54,244,1.509,245,1.362,253,2.746,257,3.007,260,2.182,261,2.669,283,1.348,286,1.595,290,1.435,311,2.802,317,1.547,323,3.369,326,1.521,332,1.818,345,1.554,380,1.503,395,1.521,488,1.818,511,2.094,523,2.809,552,1.807,555,2.651,582,1.877,648,3.969,668,2.819,709,1.457,722,1.42,735,3.929,741,4.374,742,1.796,748,1.717,749,1.395,761,2.357,766,1.807,774,1.818,783,4.602,813,4.284,820,1.818,840,2.155,852,2.651,854,3.07,890,2.306,892,2.745,915,1.989,918,1.736,923,1.89,951,4.215,998,1.547,1001,1.989,1025,1.567,1029,3.732,1030,3.933,1038,2.384,1061,4.082,1079,1.841,1088,1.903,1105,1.633,1130,1.31,1134,1.945,1285,1.829,1318,1.829,1372,2.996,1388,5.26,1409,1.959,1429,1.796,1430,1.903,1446,2.305,1555,2.224,1609,2.437,1635,2.996,1655,2.177,1677,2.224,1875,2.616,1935,2.736,2006,4.166,2010,2.155,2011,5.074,2013,3.296,2786,7.293,2787,6.175,3017,2.894,3092,5.074,3109,2.736,3116,3.296,3117,10.133,3118,5.352,3119,3.556,3120,3.296,3121,3.296]],["component/60",[1,0.382,2,0.692,18,0.605]],["title/61-1",[783,26.167,1850,48.86]],["name/61-1",[]],["text/61-1",[]],["component/61-1",[]],["title/61-2",[783,26.167,904,41.735]],["name/61-2",[]],["text/61-2",[]],["component/61-2",[]],["title/61-3",[3122,75.483]],["name/61-3",[]],["text/61-3",[]],["component/61-3",[]],["title/61-4",[3123,78.148]],["name/61-4",[]],["text/61-4",[]],["component/61-4",[]],["title/61",[866,34.155]],["name/61",[866,1.322]],["text/61",[1,1.775,10,2.518,26,2.769,34,1.698,49,1.161,62,3.174,63,0.99,68,1.582,70,0.949,71,1.846,78,2.571,79,2.028,83,1.276,93,1.229,136,1.814,141,2.339,162,2.79,167,4.329,194,2.545,203,2.137,211,1.172,216,2.867,218,1.468,222,1.209,226,2.906,232,1.217,233,1.267,244,1.376,249,3.181,253,1.221,260,1.225,281,1.323,283,2.03,313,1.354,315,1.258,317,2.329,332,1.657,336,1.172,370,1.294,380,1.37,395,1.387,404,1.678,415,1.678,432,2.928,514,1.422,572,1.964,582,1.712,635,2.571,672,1.404,715,2.257,722,2.137,735,2.48,761,3.241,766,1.647,774,5.353,783,4.53,800,1.859,805,2.532,809,2.006,813,2.962,821,1.723,841,2.962,866,2.924,877,2.222,890,1.294,892,1.541,904,4.806,923,1.723,936,2.028,949,1.926,951,3.434,953,1.618,956,1.591,986,2.436,998,1.41,1025,3.014,1029,3.53,1030,2.281,1038,2.21,1056,3.349,1057,2.972,1058,1.582,1061,2.21,1088,1.735,1092,3.792,1101,2.436,1123,2.561,1126,1.908,1130,1.972,1134,2.928,1145,2.222,1215,2.222,1285,1.668,1304,1.773,1430,2.865,1465,4.49,1482,5.262,1496,2.385,1512,2.188,1850,5.083,1888,2.128,1908,2.188,2006,2.338,2147,2.638,2148,4.12,2151,2.494,2253,5.763,2255,4.357,2256,2.561,2778,3.728,2994,2.436,2995,2.157,3106,2.494,3122,6.462,3123,5.763,3124,2.296,3125,3.242,3126,3.242,3127,3.242,3128,3.242,3129,5.354,3130,3.242,3131,3.242,3132,3.005,3133,3.242,3134,3.242]],["component/61",[1,0.382,2,0.692,18,0.605]],["title/62-1",[222,28.468,783,26.167]],["name/62-1",[]],["text/62-1",[]],["component/62-1",[]],["title/62-2",[1398,65.686]],["name/62-2",[]],["text/62-2",[]],["component/62-2",[]],["title/62",[783,31.796]],["name/62",[3,1.542]],["text/62",[1,1.723,2,2.607,10,1.584,11,3.477,15,2.069,29,2.023,46,2.956,62,1.921,63,3.725,67,3.741,70,2.205,71,2.729,80,2.794,84,2.619,141,3.293,167,2.591,169,2.451,178,2.998,183,2.24,203,3.624,222,3.772,245,1.912,249,2.967,313,2.085,317,2.172,327,2.711,332,3.853,340,3.159,395,2.136,406,2.451,423,2.691,512,2.437,555,2.292,635,4.36,729,4.397,735,3.159,749,1.958,750,2.437,763,2.451,766,2.537,774,4.642,783,4.771,818,2.493,852,3.46,866,1.839,884,2.888,892,4.806,925,3.026,951,2.507,954,3.026,956,2.451,983,5.557,998,2.172,1016,3.236,1038,3.747,1072,2.585,1126,2.94,1139,1.958,1264,2.636,1324,2.464,1397,2.839,1398,3.537,1400,2.794,1416,2.537,1452,3.601,1510,3.945,1511,6.43,2064,4.628,2065,4.064,2258,4.064,2994,3.753,2995,3.323,3135,4.993]],["component/62",[1,0.382,2,0.692,18,0.605]],["title/63-1",[783,28.274,904,30.822,1850,36.083]],["name/63-1",[]],["text/63-1",[]],["component/63-1",[]],["title/63-2",[332,46.625,783,22.231]],["name/63-2",[]],["text/63-2",[]],["component/63-2",[]],["title/63-3",[783,22.231,2994,48.733,2995,43.153]],["name/63-3",[]],["text/63-3",[]],["component/63-3",[]],["title/63-4",[729,44.527,783,26.167]],["name/63-4",[]],["text/63-4",[]],["component/63-4",[]],["title/63-5",[783,26.167,1452,36.464]],["name/63-5",[]],["text/63-5",[]],["component/63-5",[]],["title/63-6",[136,36.278,1452,30.979,3136,60.097]],["name/63-6",[]],["text/63-6",[]],["component/63-6",[]],["title/63-7",[1178,59.371]],["name/63-7",[]],["text/63-7",[]],["component/63-7",[]],["title/63-8",[46,29.934,846,35.908]],["name/63-8",[]],["text/63-8",[]],["component/63-8",[]],["title/63",[774,39.023,783,26.167]],["name/63",[774,1.082,783,0.726]],["text/63",[0,0.335,1,0.765,2,0.271,4,0.392,6,1.124,10,1.2,11,0.656,15,0.391,25,1.087,34,0.234,36,1.346,37,0.407,38,0.778,43,1.151,44,0.583,46,1.891,47,0.577,49,0.636,52,0.54,62,0.24,63,2.323,66,0.46,69,1.489,71,2.49,78,0.453,82,0.636,83,2.529,85,1.561,87,0.712,88,0.656,91,0.425,94,1.844,95,0.823,98,1.082,104,0.708,109,0.473,114,0.437,115,0.646,116,0.485,124,0.441,136,0.994,138,0.59,141,1.391,152,0.897,153,0.827,154,0.403,158,1.046,161,0.779,167,3.919,171,0.725,175,0.555,180,0.545,183,4.399,194,0.448,197,0.873,203,0.376,205,1.874,214,0.656,216,2.022,218,0.427,220,0.571,221,1.409,222,3.246,223,0.949,229,1.639,230,1.027,232,0.945,233,0.368,234,0.295,244,0.4,245,1.657,247,1.156,251,0.908,253,1.425,257,0.338,260,1.203,261,0.922,281,0.725,283,0.673,287,1.227,290,0.38,299,1.056,311,1.223,313,0.742,315,1.236,317,1.646,323,0.55,324,2.113,326,0.76,329,0.92,332,1.628,336,0.91,338,0.443,355,1.346,370,0.709,372,0.725,375,0.951,380,0.398,395,1.362,400,0.479,406,1.857,418,1.618,420,0.944,421,2.922,422,2.046,423,0.508,432,0.971,445,0.636,487,0.403,488,0.482,495,0.458,496,0.619,497,1.046,498,0.468,511,1.155,513,1.599,518,0.603,520,0.519,525,0.767,539,0.433,541,0.527,552,0.479,553,1.191,555,1.462,556,2.691,560,0.482,562,0.925,563,0.402,564,0.794,571,0.435,582,0.938,622,2.188,628,0.619,634,0.527,635,1.817,648,0.84,668,0.867,672,0.408,679,0.501,681,0.951,690,1.608,696,0.914,702,0.448,709,0.386,714,0.571,722,0.376,724,1.704,727,2.091,729,3.749,735,2.882,740,0.523,741,1.659,742,0.476,744,0.577,748,0.455,749,0.37,758,0.512,760,1.223,767,0.819,772,2.52,773,3.716,774,1.935,776,0.555,783,4.574,789,1.511,794,0.515,804,1.432,805,0.84,808,2.208,809,0.583,813,2.63,818,1.257,820,0.482,825,0.794,832,0.596,841,1.639,846,1.78,852,0.433,857,1.111,865,0.476,866,1.776,872,3.414,875,0.555,877,0.646,878,0.656,890,1.511,892,3.843,904,2.366,907,1.307,923,0.501,924,0.56,929,2.677,937,1.182,938,0.536,950,0.59,951,3.391,952,4.378,953,0.471,954,0.571,966,0.54,972,0.555,983,0.577,988,0.512,997,2.27,998,1.883,1010,1.469,1015,0.577,1025,1.667,1027,0.501,1029,2.699,1030,1.073,1035,0.523,1038,3.338,1054,3.226,1058,0.46,1061,1.04,1072,0.488,1079,1.304,1105,1.462,1110,0.56,1113,0.583,1128,0.874,1134,0.971,1137,0.944,1145,0.646,1167,0.455,1175,1.099,1176,0.46,1178,2.422,1241,0.951,1255,0.519,1264,0.498,1285,0.914,1290,0.646,1293,1.166,1298,1.307,1305,0.636,1311,0.583,1312,0.646,1319,0.532,1324,0.465,1343,0.583,1352,2.394,1362,0.56,1397,1.432,1415,0.725,1452,4.482,1480,0.708,1489,0.512,1496,0.693,1511,0.668,1512,0.636,1536,0.668,1574,1.124,1610,1.307,1615,0.59,1623,0.794,1655,0.577,1667,0.767,1676,0.596,1677,0.59,1689,1.182,1692,0.515,1695,0.627,1850,2.038,1852,0.627,1888,0.619,1892,1.217,1908,1.199,1910,0.56,1926,0.512,1938,0.636,1939,3.841,1959,0.794,1963,0.646,1977,0.59,1999,2.255,2026,0.508,2082,0.693,2109,0.828,2120,0.874,2176,0.708,2192,0.693,2230,0.745,2265,0.646,2332,0.565,2396,0.603,2531,0.874,2607,0.693,2655,2.249,2690,0.68,2761,1.335,2778,1.237,2786,0.745,2787,3.548,2836,0.874,2878,0.725,2994,2.393,2995,2.119,3032,1.646,3093,1.784,3106,1.938,3109,0.725,3117,3.325,3120,0.874,3124,2.68,3136,1.646,3137,0.943,3138,0.943,3139,0.943,3140,3.647,3141,1.776,3142,1.776,3143,2.334,3144,0.943,3145,0.943,3146,1.646,3147,0.943,3148,0.943,3149,0.943,3150,0.943,3151,0.943,3152,0.943,3153,0.646,3154,3.184,3155,0.943,3156,0.943,3157,0.943,3158,0.943,3159,3.184,3160,0.943,3161,0.943,3162,0.943,3163,0.943,3164,0.943,3165,2.334,3166,0.943,3167,0.943,3168,0.943,3169,0.943,3170,0.943,3171,0.874,3172,0.943,3173,0.943,3174,0.943,3175,2.519,3176,2.951,3177,0.943,3178,1.776,3179,0.943,3180,0.943,3181,0.943,3182,1.776,3183,0.943,3184,0.943,3185,0.943,3186,0.943,3187,0.943,3188,0.943,3189,0.943,3190,0.943,3191,0.943,3192,1.776,3193,3.184,3194,2.213,3195,0.943,3196,0.828,3197,3.08,3198,0.943,3199,0.828,3200,0.943,3201,1.446,3202,1.561,3203,0.943,3204,0.943,3205,1.335,3206,2.519,3207,0.828,3208,0.943,3209,0.943,3210,0.943,3211,0.943,3212,0.874,3213,0.943,3214,0.828,3215,0.874,3216,0.943,3217,0.794,3218,0.943,3219,0.943,3220,0.943,3221,0.943,3222,0.943,3223,0.943,3224,1.776,3225,0.693,3226,0.874,3227,1.403,3228,0.828,3229,0.943,3230,0.943,3231,0.943,3232,0.943]],["component/63",[1,0.382,2,0.692,18,0.605]],["title/64-1",[264,36.568,735,20.254,783,22.231]],["name/64-1",[]],["text/64-1",[]],["component/64-1",[]],["title/64-2",[153,26.256,161,24.73,735,17.605,783,19.324]],["name/64-2",[]],["text/64-2",[]],["component/64-2",[]],["title/64-3",[290,22.749,735,17.605,783,19.324,1038,23.267]],["name/64-3",[]],["text/64-3",[]],["component/64-3",[]],["title/64-4",[141,21.777,260,18.836,290,20.119,746,20.045,1038,20.577]],["name/64-4",[]],["text/64-4",[]],["component/64-4",[]],["title/64-5",[260,18.836,290,20.119,317,21.684,746,20.045,1038,20.577]],["name/64-5",[]],["text/64-5",[]],["component/64-5",[]],["title/64-6",[290,26.171,1038,26.767,3233,60.097]],["name/64-6",[]],["text/64-6",[]],["component/64-6",[]],["title/64",[735,23.839,783,26.167]],["name/64",[735,0.661,783,0.726]],["text/64",[1,0.848,2,0.519,12,1.389,18,0.454,38,0.789,39,0.703,46,2.907,48,0.854,62,0.824,63,1.876,68,0.881,69,0.711,71,1.657,79,1.129,83,1.272,86,1.279,91,0.814,93,0.685,96,0.81,101,1.186,116,0.929,126,0.745,140,1.002,141,2.981,143,0.837,153,0.841,154,0.772,161,1.418,167,4.37,183,0.81,184,2.094,197,1.121,203,0.721,221,0.799,222,3.525,223,1.217,232,0.678,234,0.565,244,0.766,245,0.691,247,2.014,249,2.606,253,0.68,257,2.444,260,3.165,261,1.183,263,2.289,264,1.018,274,0.96,290,2.479,299,0.757,310,2.416,311,2.359,313,0.754,315,1.702,317,2.323,323,1.053,326,1.382,341,1.156,344,1.01,345,0.789,355,0.763,375,0.966,377,1.073,380,2.257,420,1.718,421,0.821,422,0.854,488,0.923,491,0.947,495,0.877,500,0.918,511,1.59,512,0.881,514,0.792,520,2.416,539,0.829,550,0.881,553,1.641,555,1.484,556,0.854,562,1.684,563,0.769,566,1.186,582,0.953,648,3.227,655,1.129,672,0.782,695,1.219,696,3.159,709,2.516,722,1.751,723,1.673,727,1.186,735,3.386,741,1.684,746,2.147,748,0.872,774,1.652,783,4.468,813,4.696,852,1.484,854,0.96,866,0.665,890,0.721,892,3.981,918,1.577,947,0.973,951,2.681,953,0.901,982,1.027,986,3.296,992,0.96,997,2.801,998,0.786,1011,1.328,1025,0.796,1029,4.201,1030,5.033,1038,4.128,1057,1.794,1061,0.745,1105,2.014,1154,1.754,1179,1.357,1216,1.302,1230,0.929,1260,1.063,1302,2.743,1318,5.144,1324,0.891,1350,1.202,1357,1.094,1359,1.587,1362,1.073,1416,0.918,1429,0.912,1430,1.73,1452,0.863,1457,1.117,1472,1.302,1576,1.027,1585,1.186,1587,1.063,1592,1.389,1595,5.251,1615,2.021,1665,2.723,1670,1.142,1692,0.987,1697,1.17,1872,1.587,1911,1.47,1914,1.219,1927,1.885,1954,1.587,2002,1.426,2234,2.377,2247,1.522,2348,3.782,2399,1.47,2400,2.536,2401,4.218,2402,1.674,2403,2.429,2404,2.429,2426,1.328,2493,3.57,2631,5.396,2663,1.674,2678,3.375,2778,1.257,2786,1.426,2787,7.163,3092,1.587,3117,6.513,3118,1.674,3234,4.386,3235,5.34,3236,1.806,3237,1.806,3238,1.674,3239,1.806,3240,1.806,3241,1.674,3242,1.587,3243,4.386,3244,3.232,3245,3.232,3246,1.806,3247,6.824,3248,3.232,3249,1.806,3250,1.806,3251,3.232,3252,1.806,3253,1.806,3254,2.995,3255,1.587,3256,1.806,3257,1.806,3258,1.806]],["component/64",[1,0.382,2,0.692,18,0.605]],["title/65",[8,22.976,261,27.932]],["name/65",[3,1.542]],["text/65",[1,1.408,2,2.548,8,3.718,58,3.796,75,5.323,203,3.542,222,3.309,261,3.247,1401,8.453,1402,8.274,3259,8.872,3260,7.486,3261,9.155,3262,9.478,3263,8.453,3264,8.113,3265,8.274,3266,9.478,3267,9.883,3268,9.155,3269,6.399]],["component/65",[1,0.382,2,0.692,18,0.605]],["title/66-1",[8,22.976,3260,50.794]],["name/66-1",[]],["text/66-1",[]],["component/66-1",[]],["title/66-2",[36,39.196]],["name/66-2",[]],["text/66-2",[]],["component/66-2",[]],["title/66-3",[134,47.713]],["name/66-3",[]],["text/66-3",[]],["component/66-3",[]],["title/66-4",[671,34.082,3270,36.464]],["name/66-4",[]],["text/66-4",[]],["component/66-4",[]],["title/66-5",[3271,51.484]],["name/66-5",[]],["text/66-5",[]],["component/66-5",[]],["title/66-6",[8,22.976,3261,62.119]],["name/66-6",[]],["text/66-6",[]],["component/66-6",[]],["title/66-7",[287,24.997,1027,34.466,1584,47.7]],["name/66-7",[]],["text/66-7",[]],["component/66-7",[]],["title/66-8",[36,39.196]],["name/66-8",[]],["text/66-8",[]],["component/66-8",[]],["title/66-9",[134,47.713]],["name/66-9",[]],["text/66-9",[]],["component/66-9",[]],["title/66-10",[671,34.082,3270,36.464]],["name/66-10",[]],["text/66-10",[]],["component/66-10",[]],["title/66-11",[3271,51.484]],["name/66-11",[]],["text/66-11",[]],["component/66-11",[]],["title/66-12",[8,22.976,3262,64.312]],["name/66-12",[]],["text/66-12",[]],["component/66-12",[]],["title/66-13",[36,39.196]],["name/66-13",[]],["text/66-13",[]],["component/66-13",[]],["title/66-14",[134,47.713]],["name/66-14",[]],["text/66-14",[]],["component/66-14",[]],["title/66-15",[671,34.082,3270,36.464]],["name/66-15",[]],["text/66-15",[]],["component/66-15",[]],["title/66-16",[3271,51.484]],["name/66-16",[]],["text/66-16",[]],["component/66-16",[]],["title/66-17",[8,22.976,1401,57.361]],["name/66-17",[]],["text/66-17",[]],["component/66-17",[]],["title/66-18",[36,39.196]],["name/66-18",[]],["text/66-18",[]],["component/66-18",[]],["title/66-19",[134,47.713]],["name/66-19",[]],["text/66-19",[]],["component/66-19",[]],["title/66-20",[671,34.082,3270,36.464]],["name/66-20",[]],["text/66-20",[]],["component/66-20",[]],["title/66-21",[3271,51.484]],["name/66-21",[]],["text/66-21",[]],["component/66-21",[]],["title/66-22",[8,22.976,1402,56.145]],["name/66-22",[]],["text/66-22",[]],["component/66-22",[]],["title/66-23",[36,39.196]],["name/66-23",[]],["text/66-23",[]],["component/66-23",[]],["title/66-24",[134,47.713]],["name/66-24",[]],["text/66-24",[]],["component/66-24",[]],["title/66-25",[671,34.082,3270,36.464]],["name/66-25",[]],["text/66-25",[]],["component/66-25",[]],["title/66-26",[3271,51.484]],["name/66-26",[]],["text/66-26",[]],["component/66-26",[]],["title/66-27",[8,22.976,3263,57.361]],["name/66-27",[]],["text/66-27",[]],["component/66-27",[]],["title/66-28",[134,47.713]],["name/66-28",[]],["text/66-28",[]],["component/66-28",[]],["title/66-29",[671,34.082,3270,36.464]],["name/66-29",[]],["text/66-29",[]],["component/66-29",[]],["title/66-30",[8,22.976,3264,55.051]],["name/66-30",[]],["text/66-30",[]],["component/66-30",[]],["title/66-31",[134,47.713]],["name/66-31",[]],["text/66-31",[]],["component/66-31",[]],["title/66-32",[671,34.082,3270,36.464]],["name/66-32",[]],["text/66-32",[]],["component/66-32",[]],["title/66-33",[8,22.976,3265,56.145]],["name/66-33",[]],["text/66-33",[]],["component/66-33",[]],["title/66-34",[134,47.713]],["name/66-34",[]],["text/66-34",[]],["component/66-34",[]],["title/66-35",[671,34.082,3270,36.464]],["name/66-35",[]],["text/66-35",[]],["component/66-35",[]],["title/66-36",[8,22.976,3266,64.312]],["name/66-36",[]],["text/66-36",[]],["component/66-36",[]],["title/66-37",[134,47.713]],["name/66-37",[]],["text/66-37",[]],["component/66-37",[]],["title/66-38",[671,34.082,3270,36.464]],["name/66-38",[]],["text/66-38",[]],["component/66-38",[]],["title/66-39",[8,22.976,3267,67.059]],["name/66-39",[]],["text/66-39",[]],["component/66-39",[]],["title/66-40",[134,47.713]],["name/66-40",[]],["text/66-40",[]],["component/66-40",[]],["title/66-41",[671,34.082,3270,36.464]],["name/66-41",[]],["text/66-41",[]],["component/66-41",[]],["title/66-42",[8,22.976,3268,62.119]],["name/66-42",[]],["text/66-42",[]],["component/66-42",[]],["title/66-43",[134,47.713]],["name/66-43",[]],["text/66-43",[]],["component/66-43",[]],["title/66-44",[671,34.082,3270,36.464]],["name/66-44",[]],["text/66-44",[]],["component/66-44",[]],["title/66",[8,22.976,75,45.789]],["name/66",[8,0.637,75,1.27]],["text/66",[0,0.386,1,1.229,2,1.331,4,0.158,8,1.452,9,0.125,10,1.139,14,0.228,15,0.308,18,0.274,19,1.153,22,0.253,25,0.233,26,2.181,28,0.265,29,0.154,31,1.06,34,1.053,36,1.209,37,0.747,38,1.981,39,1.011,41,0.583,44,0.236,46,1.891,47,0.233,48,0.18,49,0.266,52,0.218,56,0.202,57,0.34,58,0.318,62,1.844,63,1.731,66,0.363,67,0.369,68,0.363,69,0.558,70,0.911,71,1.827,75,0.228,78,1.247,83,1.225,87,0.568,91,0.49,93,0.282,94,0.162,95,0.344,96,0.912,97,0.437,98,0.164,100,0.329,102,0.954,103,0.321,104,0.559,105,0.82,107,0.622,109,0.191,114,0.505,117,1.039,120,0.958,122,0.306,124,0.664,126,0.839,130,1.05,134,1.335,136,0.416,139,0.758,140,0.604,141,0.619,143,0.344,144,0.666,145,0.734,148,2.168,149,0.624,152,1.108,153,0.177,154,0.993,161,0.478,162,0.198,163,3.247,164,0.205,165,1.181,166,1.307,167,0.256,170,0.218,173,0.196,178,0.433,179,0.972,180,0.22,183,1.283,185,0.207,194,0.966,195,0.238,197,1.164,200,0.423,203,0.566,204,0.659,207,0.45,210,1.808,211,0.938,213,0.286,215,0.387,216,0.726,218,1.175,219,1.156,221,0.169,222,1.582,223,0.874,224,0.157,229,0.471,232,2.495,233,0.29,234,1.051,241,0.169,244,0.602,245,1.285,247,0.5,250,0.177,253,0.874,254,0.238,260,0.281,261,0.634,264,0.215,267,0.25,272,1.039,273,0.253,274,0.202,276,0.579,281,0.444,283,1.897,285,0.215,286,0.333,287,1.554,289,0.196,290,0.3,291,0.579,299,0.16,301,1.146,304,0.897,311,1.196,313,0.455,315,0.789,316,0.19,317,0.617,323,1.514,324,0.568,326,0.163,327,0.207,328,0.981,332,0.195,336,0.735,338,0.512,341,1.109,342,0.233,343,0.228,345,0.325,355,0.161,370,0.297,373,0.697,377,0.226,379,1.641,380,0.732,381,0.22,395,0.466,398,0.446,400,0.378,402,0.211,404,0.385,406,0.696,408,1.46,415,0.197,418,1.453,422,0.18,423,0.205,425,0.27,427,0.45,428,1.05,430,0.724,432,0.406,439,0.502,487,0.606,488,0.556,496,0.715,497,0.437,498,1.152,500,3.246,501,0.46,503,0.488,506,0.801,511,0.514,512,0.186,514,0.326,520,0.781,521,0.673,530,0.231,533,0.465,538,1.537,539,0.175,542,0.827,543,0.257,548,0.954,550,0.692,552,0.193,553,1.256,554,0.321,555,0.651,556,0.351,562,0.567,568,0.355,569,0.215,571,0.343,581,0.715,582,0.201,589,0.39,591,0.238,600,0.321,605,0.275,634,0.416,635,1.936,640,0.301,648,2.605,653,0.233,654,0.641,668,0.992,670,0.455,671,1.893,672,0.614,679,0.202,681,1.088,683,0.416,684,0.213,688,0.517,689,0.301,690,2.142,691,0.218,696,0.729,697,1.169,702,0.181,709,0.71,712,0.579,713,0.265,715,0.265,721,0.356,722,0.692,723,0.385,731,0.409,734,0.348,735,1.818,740,0.211,742,0.55,746,2.673,748,1.12,749,0.291,750,0.186,760,0.361,761,1.37,766,0.193,767,1.07,772,0.182,774,0.556,783,1.151,786,2.599,794,0.208,796,0.261,797,0.321,798,0.321,799,0.629,800,0.426,805,0.67,807,0.241,808,0.222,809,0.673,813,3.035,818,0.371,819,0.28,820,0.38,823,1.752,826,0.25,829,0.355,831,0.222,840,0.859,843,1.598,845,0.957,846,1.092,848,1.678,849,1.655,850,1.066,852,0.341,854,0.202,856,0.653,866,1.562,875,0.224,876,0.241,882,0.31,883,0.446,890,1.433,892,0.674,896,0.547,897,0.27,899,0.257,907,0.28,911,0.261,915,0.213,916,0.434,918,0.845,922,0.715,923,0.395,924,0.647,925,0.231,926,0.22,928,0.35,929,0.413,931,1.217,934,1.251,940,0.265,941,0.509,942,0.257,944,0.247,951,0.87,953,0.708,956,0.187,957,0.72,958,0.446,972,0.437,973,0.247,982,0.216,991,0.28,992,0.202,997,0.2,1010,0.434,1012,0.224,1016,0.247,1020,0.293,1025,0.327,1027,0.579,1030,0.866,1035,0.211,1037,0.321,1038,0.585,1045,0.27,1052,0.27,1054,0.191,1055,0.488,1061,1.072,1064,0.236,1065,0.758,1067,0.27,1068,1.368,1070,3.37,1072,0.563,1075,0.887,1076,0.624,1079,0.197,1082,1.123,1084,0.509,1086,0.353,1088,0.583,1089,0.335,1093,1.088,1096,0.321,1104,0.293,1105,0.795,1107,0.526,1111,0.434,1113,0.236,1127,0.488,1130,0.401,1135,0.233,1137,2.361,1139,2.452,1143,0.286,1145,0.746,1147,0.286,1148,1.278,1152,1.715,1168,0.275,1175,0.236,1176,0.363,1186,0.46,1188,1.043,1197,0.253,1205,0.321,1208,0.947,1210,1.871,1213,0.335,1214,0.233,1220,0.712,1235,0.45,1241,0.204,1252,0.488,1257,0.27,1259,0.413,1260,0.437,1261,0.265,1262,0.286,1263,0.86,1264,0.392,1266,1.522,1267,1.833,1291,1.301,1295,0.406,1296,0.265,1297,0.244,1299,0.247,1302,0.238,1303,0.335,1304,0.406,1306,0.201,1308,1.011,1309,0.666,1310,0.27,1311,1.072,1315,0.335,1317,0.653,1319,0.8,1321,0.673,1324,0.855,1342,0.488,1343,0.236,1352,0.689,1362,2.396,1364,0.321,1372,0.626,1383,0.265,1385,0.321,1386,0.653,1389,0.275,1397,0.423,1401,0.818,1402,0.28,1409,0.6,1415,2.763,1416,0.193,1417,1.678,1419,0.482,1421,0.293,1425,0.222,1429,0.375,1430,0.583,1437,0.827,1438,0.31,1442,0.353,1445,0.301,1446,0.247,1448,0.28,1452,1.366,1454,0.446,1455,1.009,1464,0.465,1465,1.137,1467,0.587,1468,0.715,1469,0.301,1475,0.25,1478,0.587,1488,0.591,1491,1.997,1492,0.247,1493,0.31,1504,0.27,1512,1.566,1536,0.771,1537,0.31,1540,0.321,1543,0.335,1555,0.238,1557,0.27,1558,0.735,1559,0.321,1560,0.28,1561,0.559,1562,0.653,1565,0.31,1575,0.321,1583,0.957,1584,0.547,1587,0.224,1589,0.28,1597,0.215,1599,0.335,1605,0.301,1606,0.261,1607,0.293,1609,0.261,1615,0.238,1637,0.27,1645,0.293,1649,1.368,1667,1.154,1670,0.241,1676,0.47,1684,0.47,1687,0.353,1688,1.368,1689,0.495,1711,0.653,1716,0.705,1718,0.587,1770,1.249,1771,0.31,1773,1.606,1774,2.113,1775,0.261,1787,0.293,1831,0.697,1849,0.244,1852,0.495,1854,0.31,1876,0.31,1878,0.626,1908,0.257,1909,0.257,1910,0.226,1922,0.244,1926,0.207,1931,0.286,1934,0.572,1935,0.572,1938,0.257,1960,0.335,1967,0.261,1970,0.238,1974,0.897,1976,0.335,1977,0.238,1981,0.335,1990,0.335,2010,0.859,2015,0.502,2022,0.257,2026,0.205,2036,0.335,2037,0.241,2043,0.321,2044,0.626,2046,0.261,2051,0.353,2066,0.626,2071,0.321,2072,0.716,2074,0.572,2076,0.293,2081,0.233,2082,0.28,2084,0.353,2089,0.293,2094,0.353,2096,0.27,2101,1.393,2102,0.265,2103,0.261,2148,1.091,2161,0.547,2167,0.286,2169,0.261,2185,0.495,2187,0.536,2219,0.335,2234,0.801,2251,0.286,2252,0.605,2255,0.31,2256,0.301,2268,0.559,2273,0.335,2292,0.335,2294,0.335,2295,0.353,2303,0.559,2304,0.689,2306,1.227,2307,0.653,2315,0.261,2331,0.321,2332,0.228,2333,0.321,2334,0.547,2339,0.321,2341,0.353,2342,0.335,2344,0.293,2367,0.293,2368,0.31,2369,0.689,2382,0.689,2391,0.626,2396,0.244,2400,0.43,2401,0.86,2435,0.626,2449,1.46,2504,0.547,2510,0.605,2511,0.321,2527,0.218,2534,0.353,2535,0.536,2568,0.301,2576,0.293,2583,0.321,2603,0.353,2617,0.301,2619,0.321,2621,0.509,2631,0.335,2649,0.86,2651,0.689,2657,0.321,2678,0.293,2681,0.257,2686,0.27,2687,0.321,2690,0.275,2716,0.86,2731,0.335,2737,0.559,2755,0.301,2773,0.547,2787,0.28,2796,0.286,2827,0.293,2829,0.353,2834,0.86,2835,0.587,2838,0.31,2840,0.321,2848,0.275,2887,0.559,2893,0.587,2897,0.335,2900,0.321,2902,0.353,2905,0.897,2968,0.321,2980,0.353,2986,0.28,2990,0.353,2991,1.643,3001,0.353,3012,0.353,3013,0.353,3014,0.335,3020,0.353,3045,2.551,3083,1.195,3093,0.27,3105,0.353,3124,0.27,3132,0.353,3197,0.31,3199,0.335,3205,0.286,3225,0.28,3227,0.301,3261,0.31,3263,0.559,3264,0.275,3265,0.547,3268,0.605,3269,0.536,3270,1.109,3271,0.962,3272,0.381,3273,0.381,3274,0.381,3275,0.381,3276,0.956,3277,0.381,3278,0.743,3279,0.381,3280,0.743,3281,0.381,3282,0.381,3283,0.381,3284,0.381,3285,0.381,3286,0.381,3287,0.353,3288,0.381,3289,0.381,3290,0.381,3291,0.381,3292,0.381,3293,0.381,3294,0.381,3295,0.653,3296,0.353,3297,0.381,3298,1.46,3299,1.466,3300,1.605,3301,0.689,3302,1.009,3303,0.689,3304,0.381,3305,0.381,3306,0.381,3307,0.381,3308,0.381,3309,0.353,3310,0.743,3311,1.786,3312,0.335,3313,0.381,3314,0.381,3315,0.381,3316,0.381,3317,0.381,3318,0.321,3319,0.381,3320,0.381,3321,0.381,3322,0.381,3323,0.353,3324,0.381,3325,0.743,3326,0.381,3327,0.381,3328,0.381,3329,0.381,3330,0.381,3331,0.743,3332,0.381,3333,0.381,3334,0.353,3335,0.381,3336,0.381,3337,0.381,3338,0.381,3339,0.381,3340,0.381,3341,0.381,3342,0.381,3343,0.381,3344,0.381,3345,0.381,3346,0.381,3347,0.381,3348,0.381,3349,0.381,3350,0.381,3351,0.381,3352,0.381,3353,1.732,3354,0.381,3355,1.314,3356,0.743,3357,0.956,3358,0.353,3359,1.088,3360,0.743,3361,0.381,3362,0.47,3363,0.381,3364,0.381,3365,0.743,3366,0.743,3367,0.381,3368,0.743,3369,0.381,3370,0.381,3371,0.381,3372,0.353,3373,0.381,3374,0.743,3375,0.381,3376,0.743,3377,0.381,3378,1.732,3379,0.381,3380,1.088,3381,0.743,3382,0.381,3383,0.381,3384,0.381,3385,0.381,3386,0.381,3387,0.381,3388,0.353,3389,0.381,3390,0.743,3391,1.195,3392,0.381,3393,0.381,3394,0.381,3395,0.689,3396,0.381,3397,0.353,3398,0.381,3399,0.381,3400,0.381,3401,0.381,3402,0.381,3403,0.381,3404,0.743,3405,0.381,3406,0.381,3407,0.381,3408,0.381,3409,0.381,3410,0.381,3411,0.381,3412,0.743,3413,0.381,3414,0.381,3415,0.381,3416,0.381,3417,0.381,3418,0.381,3419,0.381,3420,0.689,3421,0.381,3422,0.381,3423,0.381,3424,0.381,3425,0.381,3426,0.743,3427,1.009,3428,0.353,3429,0.381,3430,0.743,3431,0.353,3432,0.381,3433,0.381,3434,0.743,3435,0.381,3436,0.743,3437,0.381,3438,0.381,3439,0.381,3440,0.743,3441,0.381,3442,0.381,3443,0.381,3444,0.381,3445,0.381,3446,0.381,3447,0.743,3448,0.321,3449,0.335,3450,0.381,3451,0.381,3452,0.381,3453,0.743,3454,1.009,3455,1.314,3456,0.381,3457,0.381,3458,0.381,3459,1.314,3460,0.381,3461,0.381,3462,0.743,3463,0.381,3464,0.743,3465,0.381,3466,0.381,3467,0.381,3468,0.286,3469,0.381,3470,0.743,3471,0.381,3472,0.381,3473,0.381,3474,0.353,3475,0.381,3476,0.381,3477,0.353,3478,0.353,3479,0.321,3480,0.381,3481,0.381,3482,0.381,3483,0.381,3484,0.381,3485,0.381,3486,0.381,3487,0.381,3488,0.381,3489,0.381,3490,0.353,3491,0.381,3492,0.381,3493,0.381,3494,0.353,3495,0.31,3496,0.353,3497,0.381,3498,0.689,3499,0.381,3500,0.353,3501,0.743,3502,0.353,3503,0.381,3504,0.689,3505,0.381,3506,0.381,3507,0.743,3508,0.381,3509,0.381,3510,0.381,3511,0.381,3512,0.381,3513,0.381,3514,0.743,3515,0.353,3516,0.381,3517,0.743,3518,0.381,3519,0.381,3520,0.381,3521,0.381,3522,0.381,3523,0.381,3524,0.261,3525,0.381,3526,0.381,3527,0.381,3528,0.381,3529,0.381,3530,0.353,3531,0.743,3532,0.381,3533,0.381,3534,0.743,3535,0.381,3536,0.381,3537,0.743,3538,1.088,3539,0.381,3540,0.743,3541,0.381,3542,0.381,3543,0.335,3544,0.381,3545,0.301,3546,0.381,3547,0.381,3548,0.381,3549,1.333,3550,0.381,3551,0.381,3552,0.381,3553,0.381,3554,0.381,3555,0.381,3556,0.381,3557,0.381,3558,0.381,3559,0.381,3560,0.381,3561,0.381,3562,0.381,3563,0.381,3564,0.381,3565,0.301,3566,0.353,3567,0.381,3568,0.381,3569,0.381,3570,0.353,3571,0.381,3572,0.381,3573,0.381,3574,0.381,3575,0.381,3576,0.381,3577,0.381,3578,0.381,3579,0.743,3580,0.381,3581,0.381,3582,0.381,3583,0.257,3584,0.381,3585,0.381,3586,0.381,3587,0.381,3588,0.381,3589,0.381,3590,0.381,3591,0.381,3592,0.381,3593,1.522,3594,0.381,3595,0.381,3596,0.381,3597,0.381,3598,0.381,3599,0.381,3600,0.626,3601,0.381,3602,0.381,3603,0.381,3604,0.353,3605,0.381,3606,1.088,3607,0.381,3608,0.381,3609,0.381,3610,0.381,3611,0.381,3612,0.381,3613,0.353,3614,0.381,3615,0.381,3616,0.353,3617,0.743,3618,0.381,3619,0.381,3620,0.381,3621,0.381,3622,0.381,3623,0.381,3624,0.381,3625,0.381,3626,0.743,3627,0.381,3628,0.743,3629,0.381,3630,0.381,3631,0.381,3632,0.381,3633,0.381,3634,0.381,3635,0.381,3636,0.381,3637,0.381,3638,0.381,3639,0.689,3640,0.743,3641,0.381,3642,0.381,3643,0.381,3644,0.31,3645,0.381,3646,0.381,3647,0.381,3648,0.353,3649,0.353,3650,0.381,3651,0.743,3652,0.689,3653,0.743,3654,0.381,3655,0.381,3656,0.381,3657,0.381,3658,0.381,3659,0.381,3660,0.381,3661,0.381,3662,0.381,3663,0.381,3664,0.743,3665,0.353,3666,0.743,3667,0.381,3668,0.381,3669,0.381,3670,0.381,3671,0.381,3672,0.381,3673,0.381,3674,0.381,3675,0.31,3676,0.381,3677,0.381,3678,0.381,3679,0.321,3680,0.381,3681,0.381,3682,0.381,3683,0.743,3684,0.353,3685,0.381,3686,0.381,3687,0.381,3688,0.381,3689,0.743,3690,0.743,3691,0.381,3692,0.743,3693,0.743,3694,0.381,3695,0.381,3696,0.743,3697,0.381,3698,0.381,3699,0.381,3700,0.381,3701,0.31,3702,0.31,3703,0.381,3704,0.381,3705,0.381,3706,0.381,3707,0.381,3708,0.381,3709,0.381,3710,0.381,3711,0.381,3712,0.381,3713,0.381,3714,0.381,3715,0.381,3716,0.381,3717,0.381,3718,0.381,3719,0.381,3720,0.301,3721,0.353,3722,0.381,3723,0.335,3724,0.381,3725,0.381,3726,0.381,3727,0.381,3728,0.381,3729,0.353,3730,0.381,3731,0.381,3732,0.381,3733,0.353,3734,0.381,3735,0.381,3736,0.353,3737,0.381,3738,0.335,3739,0.381,3740,0.381,3741,0.381,3742,0.353,3743,0.353,3744,0.381,3745,0.381,3746,0.381,3747,0.381,3748,0.381,3749,0.381,3750,0.381,3751,0.381,3752,0.381,3753,0.381,3754,0.381,3755,0.353,3756,0.381,3757,0.381,3758,0.381,3759,0.381,3760,0.381,3761,0.335,3762,0.335,3763,0.381,3764,0.381,3765,0.381,3766,0.689,3767,0.381,3768,0.381,3769,0.381,3770,0.353,3771,0.381,3772,0.381,3773,0.321,3774,0.381,3775,0.381,3776,0.335,3777,0.286,3778,0.381,3779,0.381,3780,0.381,3781,0.335,3782,0.335,3783,0.381,3784,0.743,3785,0.743,3786,0.321,3787,0.381,3788,0.381,3789,0.353,3790,0.321,3791,0.381,3792,0.381,3793,0.381,3794,0.335,3795,0.353,3796,0.381,3797,0.381,3798,0.353,3799,0.353,3800,0.381,3801,0.381,3802,0.335,3803,0.381,3804,0.653,3805,0.301,3806,0.381,3807,0.353,3808,0.381,3809,0.321,3810,0.381,3811,0.381,3812,0.381,3813,0.381,3814,0.293,3815,0.381,3816,0.321,3817,0.353,3818,0.381,3819,0.381,3820,0.381,3821,0.381,3822,0.381,3823,0.353,3824,0.381,3825,0.335,3826,0.353]],["component/66",[1,0.382,2,0.692,18,0.605]],["title/67-1",[8,22.976,3260,50.794]],["name/67-1",[]],["text/67-1",[]],["component/67-1",[]],["title/67-2",[8,22.976,3827,70.737]],["name/67-2",[]],["text/67-2",[]],["component/67-2",[]],["title/67-3",[134,47.713]],["name/67-3",[]],["text/67-3",[]],["component/67-3",[]],["title/67-4",[671,34.082,3270,36.464]],["name/67-4",[]],["text/67-4",[]],["component/67-4",[]],["title/67-5",[3271,51.484]],["name/67-5",[]],["text/67-5",[]],["component/67-5",[]],["title/67-6",[8,22.976,3828,70.737]],["name/67-6",[]],["text/67-6",[]],["component/67-6",[]],["title/67-7",[36,39.196]],["name/67-7",[]],["text/67-7",[]],["component/67-7",[]],["title/67-8",[134,47.713]],["name/67-8",[]],["text/67-8",[]],["component/67-8",[]],["title/67-9",[671,34.082,3270,36.464]],["name/67-9",[]],["text/67-9",[]],["component/67-9",[]],["title/67-10",[3271,51.484]],["name/67-10",[]],["text/67-10",[]],["component/67-10",[]],["title/67-11",[8,22.976,3829,67.059]],["name/67-11",[]],["text/67-11",[]],["component/67-11",[]],["title/67-12",[134,47.713]],["name/67-12",[]],["text/67-12",[]],["component/67-12",[]],["title/67-13",[671,34.082,3270,36.464]],["name/67-13",[]],["text/67-13",[]],["component/67-13",[]],["title/67-14",[3271,51.484]],["name/67-14",[]],["text/67-14",[]],["component/67-14",[]],["title/67-15",[8,22.976,3261,62.119]],["name/67-15",[]],["text/67-15",[]],["component/67-15",[]],["title/67-16",[8,22.976,3830,76.321]],["name/67-16",[]],["text/67-16",[]],["component/67-16",[]],["title/67-17",[134,47.713]],["name/67-17",[]],["text/67-17",[]],["component/67-17",[]],["title/67-18",[671,34.082,3270,36.464]],["name/67-18",[]],["text/67-18",[]],["component/67-18",[]],["title/67-19",[3271,51.484]],["name/67-19",[]],["text/67-19",[]],["component/67-19",[]],["title/67-20",[8,22.976,3831,76.321]],["name/67-20",[]],["text/67-20",[]],["component/67-20",[]],["title/67-21",[671,34.082,3270,36.464]],["name/67-21",[]],["text/67-21",[]],["component/67-21",[]],["title/67-22",[3271,51.484]],["name/67-22",[]],["text/67-22",[]],["component/67-22",[]],["title/67-23",[8,22.976,3832,76.321]],["name/67-23",[]],["text/67-23",[]],["component/67-23",[]],["title/67-24",[134,47.713]],["name/67-24",[]],["text/67-24",[]],["component/67-24",[]],["title/67-25",[671,34.082,3270,36.464]],["name/67-25",[]],["text/67-25",[]],["component/67-25",[]],["title/67-26",[145,39.514,216,32]],["name/67-26",[]],["text/67-26",[]],["component/67-26",[]],["title/67-27",[3271,51.484]],["name/67-27",[]],["text/67-27",[]],["component/67-27",[]],["title/67-28",[8,22.976,3262,64.312]],["name/67-28",[]],["text/67-28",[]],["component/67-28",[]],["title/67-29",[8,22.976,3833,76.321]],["name/67-29",[]],["text/67-29",[]],["component/67-29",[]],["title/67-30",[134,47.713]],["name/67-30",[]],["text/67-30",[]],["component/67-30",[]],["title/67-31",[671,34.082,3270,36.464]],["name/67-31",[]],["text/67-31",[]],["component/67-31",[]],["title/67-32",[3271,51.484]],["name/67-32",[]],["text/67-32",[]],["component/67-32",[]],["title/67-33",[8,22.976,3834,76.321]],["name/67-33",[]],["text/67-33",[]],["component/67-33",[]],["title/67-34",[134,47.713]],["name/67-34",[]],["text/67-34",[]],["component/67-34",[]],["title/67-35",[671,34.082,3270,36.464]],["name/67-35",[]],["text/67-35",[]],["component/67-35",[]],["title/67-36",[3271,51.484]],["name/67-36",[]],["text/67-36",[]],["component/67-36",[]],["title/67-37",[8,22.976,3835,76.321]],["name/67-37",[]],["text/67-37",[]],["component/67-37",[]],["title/67-38",[134,47.713]],["name/67-38",[]],["text/67-38",[]],["component/67-38",[]],["title/67-39",[671,34.082,3270,36.464]],["name/67-39",[]],["text/67-39",[]],["component/67-39",[]],["title/67-40",[3271,51.484]],["name/67-40",[]],["text/67-40",[]],["component/67-40",[]],["title/67-41",[8,22.976,1401,57.361]],["name/67-41",[]],["text/67-41",[]],["component/67-41",[]],["title/67-42",[8,22.976,3836,76.321]],["name/67-42",[]],["text/67-42",[]],["component/67-42",[]],["title/67-43",[134,47.713]],["name/67-43",[]],["text/67-43",[]],["component/67-43",[]],["title/67-44",[671,34.082,3270,36.464]],["name/67-44",[]],["text/67-44",[]],["component/67-44",[]],["title/67-45",[3271,51.484]],["name/67-45",[]],["text/67-45",[]],["component/67-45",[]],["title/67-46",[8,22.976,3837,76.321]],["name/67-46",[]],["text/67-46",[]],["component/67-46",[]],["title/67-47",[671,34.082,3270,36.464]],["name/67-47",[]],["text/67-47",[]],["component/67-47",[]],["title/67-48",[3271,51.484]],["name/67-48",[]],["text/67-48",[]],["component/67-48",[]],["title/67-49",[8,22.976,3838,76.321]],["name/67-49",[]],["text/67-49",[]],["component/67-49",[]],["title/67-50",[134,47.713]],["name/67-50",[]],["text/67-50",[]],["component/67-50",[]],["title/67-51",[671,34.082,3270,36.464]],["name/67-51",[]],["text/67-51",[]],["component/67-51",[]],["title/67-52",[3271,51.484]],["name/67-52",[]],["text/67-52",[]],["component/67-52",[]],["title/67-53",[8,22.976,3839,76.321]],["name/67-53",[]],["text/67-53",[]],["component/67-53",[]],["title/67-54",[134,47.713]],["name/67-54",[]],["text/67-54",[]],["component/67-54",[]],["title/67-55",[671,34.082,3270,36.464]],["name/67-55",[]],["text/67-55",[]],["component/67-55",[]],["title/67-56",[3271,51.484]],["name/67-56",[]],["text/67-56",[]],["component/67-56",[]],["title/67-57",[8,22.976,3840,76.321]],["name/67-57",[]],["text/67-57",[]],["component/67-57",[]],["title/67-58",[36,39.196]],["name/67-58",[]],["text/67-58",[]],["component/67-58",[]],["title/67-59",[134,47.713]],["name/67-59",[]],["text/67-59",[]],["component/67-59",[]],["title/67-60",[671,34.082,3270,36.464]],["name/67-60",[]],["text/67-60",[]],["component/67-60",[]],["title/67-61",[3271,51.484]],["name/67-61",[]],["text/67-61",[]],["component/67-61",[]],["title/67-62",[8,22.976,3841,76.321]],["name/67-62",[]],["text/67-62",[]],["component/67-62",[]],["title/67-63",[671,34.082,3270,36.464]],["name/67-63",[]],["text/67-63",[]],["component/67-63",[]],["title/67-64",[3271,51.484]],["name/67-64",[]],["text/67-64",[]],["component/67-64",[]],["title/67-65",[8,22.976,1402,56.145]],["name/67-65",[]],["text/67-65",[]],["component/67-65",[]],["title/67-66",[8,22.976,3842,76.321]],["name/67-66",[]],["text/67-66",[]],["component/67-66",[]],["title/67-67",[134,47.713]],["name/67-67",[]],["text/67-67",[]],["component/67-67",[]],["title/67-68",[671,34.082,3270,36.464]],["name/67-68",[]],["text/67-68",[]],["component/67-68",[]],["title/67-69",[3271,51.484]],["name/67-69",[]],["text/67-69",[]],["component/67-69",[]],["title/67-70",[8,22.976,3843,76.321]],["name/67-70",[]],["text/67-70",[]],["component/67-70",[]],["title/67-71",[671,34.082,3270,36.464]],["name/67-71",[]],["text/67-71",[]],["component/67-71",[]],["title/67-72",[3271,51.484]],["name/67-72",[]],["text/67-72",[]],["component/67-72",[]],["title/67-73",[8,22.976,3844,76.321]],["name/67-73",[]],["text/67-73",[]],["component/67-73",[]],["title/67-74",[671,34.082,3270,36.464]],["name/67-74",[]],["text/67-74",[]],["component/67-74",[]],["title/67-75",[3271,51.484]],["name/67-75",[]],["text/67-75",[]],["component/67-75",[]],["title/67-76",[8,22.976,3845,76.321]],["name/67-76",[]],["text/67-76",[]],["component/67-76",[]],["title/67-77",[671,34.082,3270,36.464]],["name/67-77",[]],["text/67-77",[]],["component/67-77",[]],["title/67-78",[3271,51.484]],["name/67-78",[]],["text/67-78",[]],["component/67-78",[]],["title/67-79",[8,22.976,3846,76.321]],["name/67-79",[]],["text/67-79",[]],["component/67-79",[]],["title/67-80",[671,34.082,3270,36.464]],["name/67-80",[]],["text/67-80",[]],["component/67-80",[]],["title/67-81",[3271,51.484]],["name/67-81",[]],["text/67-81",[]],["component/67-81",[]],["title/67-82",[8,22.976,3847,76.321]],["name/67-82",[]],["text/67-82",[]],["component/67-82",[]],["title/67-83",[134,47.713]],["name/67-83",[]],["text/67-83",[]],["component/67-83",[]],["title/67-84",[671,34.082,3270,36.464]],["name/67-84",[]],["text/67-84",[]],["component/67-84",[]],["title/67-85",[3271,51.484]],["name/67-85",[]],["text/67-85",[]],["component/67-85",[]],["title/67-86",[8,22.976,3848,76.321]],["name/67-86",[]],["text/67-86",[]],["component/67-86",[]],["title/67-87",[36,39.196]],["name/67-87",[]],["text/67-87",[]],["component/67-87",[]],["title/67-88",[134,47.713]],["name/67-88",[]],["text/67-88",[]],["component/67-88",[]],["title/67-89",[671,34.082,3270,36.464]],["name/67-89",[]],["text/67-89",[]],["component/67-89",[]],["title/67-90",[3271,51.484]],["name/67-90",[]],["text/67-90",[]],["component/67-90",[]],["title/67-91",[8,22.976,3849,70.737]],["name/67-91",[]],["text/67-91",[]],["component/67-91",[]],["title/67-92",[134,47.713]],["name/67-92",[]],["text/67-92",[]],["component/67-92",[]],["title/67-93",[671,34.082,3270,36.464]],["name/67-93",[]],["text/67-93",[]],["component/67-93",[]],["title/67-94",[8,22.976,3263,57.361]],["name/67-94",[]],["text/67-94",[]],["component/67-94",[]],["title/67-95",[8,22.976,3850,76.321]],["name/67-95",[]],["text/67-95",[]],["component/67-95",[]],["title/67-96",[134,47.713]],["name/67-96",[]],["text/67-96",[]],["component/67-96",[]],["title/67-97",[671,34.082,3270,36.464]],["name/67-97",[]],["text/67-97",[]],["component/67-97",[]],["title/67-98",[8,22.976,3851,76.321]],["name/67-98",[]],["text/67-98",[]],["component/67-98",[]],["title/67-99",[671,34.082,3270,36.464]],["name/67-99",[]],["text/67-99",[]],["component/67-99",[]],["title/67-100",[8,22.976,3852,67.059]],["name/67-100",[]],["text/67-100",[]],["component/67-100",[]],["title/67-101",[36,39.196]],["name/67-101",[]],["text/67-101",[]],["component/67-101",[]],["title/67-102",[134,47.713]],["name/67-102",[]],["text/67-102",[]],["component/67-102",[]],["title/67-103",[671,34.082,3270,36.464]],["name/67-103",[]],["text/67-103",[]],["component/67-103",[]],["title/67-104",[8,22.976,3853,70.737]],["name/67-104",[]],["text/67-104",[]],["component/67-104",[]],["title/67-105",[671,34.082,3270,36.464]],["name/67-105",[]],["text/67-105",[]],["component/67-105",[]],["title/67-106",[8,22.976,3854,76.321]],["name/67-106",[]],["text/67-106",[]],["component/67-106",[]],["title/67-107",[134,47.713]],["name/67-107",[]],["text/67-107",[]],["component/67-107",[]],["title/67-108",[671,34.082,3270,36.464]],["name/67-108",[]],["text/67-108",[]],["component/67-108",[]],["title/67-109",[8,22.976,3855,76.321]],["name/67-109",[]],["text/67-109",[]],["component/67-109",[]],["title/67-110",[8,22.976,3856,70.737]],["name/67-110",[]],["text/67-110",[]],["component/67-110",[]],["title/67-111",[8,22.976,3857,76.321]],["name/67-111",[]],["text/67-111",[]],["component/67-111",[]],["title/67-112",[8,22.976,3858,76.321]],["name/67-112",[]],["text/67-112",[]],["component/67-112",[]],["title/67-113",[8,22.976,3859,70.737]],["name/67-113",[]],["text/67-113",[]],["component/67-113",[]],["title/67-114",[8,22.976,3860,70.737]],["name/67-114",[]],["text/67-114",[]],["component/67-114",[]],["title/67-115",[8,22.976,3861,70.737]],["name/67-115",[]],["text/67-115",[]],["component/67-115",[]],["title/67-116",[8,22.976,3862,70.737]],["name/67-116",[]],["text/67-116",[]],["component/67-116",[]],["title/67-117",[8,22.976,3863,70.737]],["name/67-117",[]],["text/67-117",[]],["component/67-117",[]],["title/67-118",[8,22.976,3864,70.737]],["name/67-118",[]],["text/67-118",[]],["component/67-118",[]],["title/67-119",[8,22.976,3264,55.051]],["name/67-119",[]],["text/67-119",[]],["component/67-119",[]],["title/67-120",[8,22.976,3865,70.737]],["name/67-120",[]],["text/67-120",[]],["component/67-120",[]],["title/67-121",[8,22.976,3866,67.059]],["name/67-121",[]],["text/67-121",[]],["component/67-121",[]],["title/67-122",[8,22.976,3867,67.059]],["name/67-122",[]],["text/67-122",[]],["component/67-122",[]],["title/67-123",[8,22.976,3868,70.737]],["name/67-123",[]],["text/67-123",[]],["component/67-123",[]],["title/67-124",[8,22.976,3869,76.321]],["name/67-124",[]],["text/67-124",[]],["component/67-124",[]],["title/67-125",[8,22.976,3870,70.737]],["name/67-125",[]],["text/67-125",[]],["component/67-125",[]],["title/67-126",[8,22.976,3871,70.737]],["name/67-126",[]],["text/67-126",[]],["component/67-126",[]],["title/67-127",[8,22.976,3872,76.321]],["name/67-127",[]],["text/67-127",[]],["component/67-127",[]],["title/67-128",[8,22.976,3873,76.321]],["name/67-128",[]],["text/67-128",[]],["component/67-128",[]],["title/67-129",[8,22.976,3265,56.145]],["name/67-129",[]],["text/67-129",[]],["component/67-129",[]],["title/67-130",[8,22.976,3874,76.321]],["name/67-130",[]],["text/67-130",[]],["component/67-130",[]],["title/67-131",[8,22.976,3875,70.737]],["name/67-131",[]],["text/67-131",[]],["component/67-131",[]],["title/67-132",[8,22.976,3876,70.737]],["name/67-132",[]],["text/67-132",[]],["component/67-132",[]],["title/67-133",[8,22.976,3877,76.321]],["name/67-133",[]],["text/67-133",[]],["component/67-133",[]],["title/67-134",[8,22.976,3878,76.321]],["name/67-134",[]],["text/67-134",[]],["component/67-134",[]],["title/67-135",[8,22.976,3266,64.312]],["name/67-135",[]],["text/67-135",[]],["component/67-135",[]],["title/67-136",[8,22.976,3879,70.737]],["name/67-136",[]],["text/67-136",[]],["component/67-136",[]],["title/67-137",[8,22.976,3880,70.737]],["name/67-137",[]],["text/67-137",[]],["component/67-137",[]],["title/67-138",[8,22.976,3267,67.059]],["name/67-138",[]],["text/67-138",[]],["component/67-138",[]],["title/67-139",[8,22.976,3881,76.321]],["name/67-139",[]],["text/67-139",[]],["component/67-139",[]],["title/67-140",[8,22.976,3882,76.321]],["name/67-140",[]],["text/67-140",[]],["component/67-140",[]],["title/67-141",[8,22.976,3268,62.119]],["name/67-141",[]],["text/67-141",[]],["component/67-141",[]],["title/67-142",[8,22.976,3883,76.321]],["name/67-142",[]],["text/67-142",[]],["component/67-142",[]],["title/67-143",[8,22.976,3884,76.321]],["name/67-143",[]],["text/67-143",[]],["component/67-143",[]],["title/67-144",[8,22.976,3885,76.321]],["name/67-144",[]],["text/67-144",[]],["component/67-144",[]],["title/67-145",[8,22.976,3886,76.321]],["name/67-145",[]],["text/67-145",[]],["component/67-145",[]],["title/67",[8,22.976,3269,55.051]],["name/67",[8,0.637,3269,1.527]],["text/67",[1,1.162,2,0.775,3,0.246,4,0.238,5,0.194,6,0.185,7,0.337,8,2.505,10,0.723,18,0.869,26,1.84,28,0.203,29,0.118,31,0.351,34,1.278,36,0.242,37,2.384,38,1.936,39,0.43,40,0.211,41,2.534,44,0.355,46,1.621,47,0.179,48,0.138,50,0.771,55,0.179,56,0.449,57,0.133,58,1.402,61,0.194,62,1.013,63,1.11,65,0.211,66,0.895,68,0.143,69,0.435,70,0.603,71,2.139,75,0.175,78,1.296,80,0.163,82,0.197,83,1.749,87,0.641,91,0.38,93,0.217,95,0.266,96,0.718,98,1.159,100,0.489,102,0.747,105,0.331,107,1.001,109,1.825,114,0.742,115,0.393,116,0.15,122,0.938,124,0.635,126,0.456,129,0.2,130,0.511,134,0.823,136,0.321,139,0.588,140,0.613,141,0.801,143,0.512,144,0.179,145,0.572,148,0.293,149,1.247,152,0.734,153,1.44,154,0.882,157,0.197,158,0.337,161,0.595,162,0.152,163,1.045,165,0.851,166,0.262,169,0.9,173,1.061,174,0.355,176,0.313,177,0.157,178,0.228,179,0.2,180,0.488,182,0.381,183,1.631,184,0.547,185,0.158,197,0.791,207,0.177,210,0.203,211,0.901,214,0.203,216,1.045,218,0.132,219,1.648,221,0.254,222,1.29,223,0.691,224,0.12,225,0.351,226,0.868,232,1.231,233,0.806,234,1.343,244,0.576,245,0.52,247,0.507,249,0.173,251,0.149,253,1.164,257,0.486,260,0.605,261,1.57,263,0.783,266,0.16,268,0.127,272,1.166,274,0.449,276,0.155,281,1.101,282,0.231,283,1.099,286,0.257,287,1.401,290,0.446,291,0.749,298,0.172,299,0.24,301,0.165,304,1.012,311,0.792,314,0.246,315,0.527,316,0.146,317,0.367,318,0.197,323,0.933,324,0.544,326,0.245,327,0.158,328,0.141,330,0.207,332,0.431,334,0.16,336,0.976,337,0.6,338,0.27,340,0.185,341,1.979,345,0.25,370,0.117,371,0.203,373,1.855,375,0.591,379,0.731,380,0.123,395,0.125,398,0.175,400,2.333,402,0.753,406,1.119,408,1.333,414,0.231,415,0.572,421,0.384,427,0.347,428,1.566,430,0.194,432,0.461,462,0.371,466,0.215,487,0.684,488,0.694,491,0.153,494,0.203,495,0.278,497,0.337,498,1.889,499,0.177,500,1.371,501,0.684,502,0.154,503,0.192,505,0.511,506,0.215,511,0.401,512,0.143,517,0.165,520,1.257,532,0.367,533,0.528,538,0.905,541,0.618,542,0.933,543,0.197,548,1.703,549,0.167,550,0.895,552,0.148,553,0.508,555,0.263,556,0.756,562,0.44,568,0.274,569,0.165,571,0.264,574,0.215,582,0.303,589,0.579,603,0.628,634,0.163,635,3.806,638,0.152,648,1.461,653,0.179,654,0.497,655,0.183,665,0.341,668,0.539,670,0.676,671,3.233,672,0.988,674,0.167,677,0.153,678,0.161,680,0.691,681,0.856,683,0.163,684,0.163,689,2.132,690,4.717,692,0.187,696,1.061,697,0.197,702,0.272,708,0.17,709,0.235,712,0.721,713,0.203,714,0.177,716,0.167,723,0.828,726,0.225,729,1.455,734,0.268,735,1.291,742,0.808,746,0.917,748,0.995,749,0.225,755,0.48,758,0.458,760,0.659,761,0.841,763,0.542,765,0.219,766,0.148,767,0.846,772,0.139,773,0.639,774,0.431,783,1.852,786,0.731,790,0.818,793,0.337,794,0.742,799,0.331,800,0.167,805,0.522,808,0.17,809,0.181,810,0.152,813,1.255,818,0.146,820,0.431,821,0.305,823,1.898,824,0.194,826,0.192,827,0.257,831,0.334,840,0.511,843,1.225,845,0.746,846,0.753,848,0.157,849,0.155,850,0.153,852,0.734,853,0.578,854,0.721,856,0.663,857,0.183,865,0.289,866,0.918,872,0.344,876,0.185,878,0.203,883,0.344,890,0.732,892,1.185,893,0.238,896,0.215,907,0.215,916,0.17,918,1.006,919,0.501,922,0.192,925,0.177,927,0.716,928,0.753,929,0.318,931,0.839,934,0.989,936,0.183,937,0.735,938,0.166,940,0.203,942,0.197,943,0.203,948,0.181,949,0.657,950,0.358,951,0.147,952,0.225,953,0.916,956,0.666,957,0.689,959,0.57,965,0.147,966,0.633,972,1.343,973,0.716,976,0.211,981,0.431,982,0.771,992,0.155,994,0.219,997,0.153,998,0.367,1009,0.483,1012,0.337,1015,0.517,1018,0.48,1022,0.183,1024,0.187,1025,0.487,1027,0.587,1029,0.13,1030,1.235,1035,1.92,1037,0.931,1038,0.942,1052,0.406,1054,0.147,1055,0.891,1061,0.56,1063,0.311,1064,0.684,1065,0.399,1068,0.231,1070,2.702,1075,0.849,1076,0.778,1078,0.271,1079,0.297,1082,0.547,1084,0.2,1088,1.444,1089,0.504,1092,0.207,1093,1.221,1097,0.219,1104,1.586,1105,0.263,1107,0.961,1110,0.341,1112,0.246,1113,0.181,1125,0.358,1126,0.172,1127,0.376,1130,0.108,1134,0.604,1135,0.351,1137,2.197,1139,2.476,1143,0.431,1146,0.211,1148,0.609,1150,0.185,1151,0.17,1152,0.316,1167,0.407,1168,0.609,1169,0.207,1172,0.246,1175,0.355,1176,0.28,1178,0.869,1185,0.169,1188,0.215,1208,0.742,1210,1.299,1211,0.504,1215,0.2,1218,0.246,1219,0.207,1220,0.288,1227,0.197,1230,0.295,1241,0.591,1249,0.17,1252,0.192,1255,0.161,1261,0.399,1262,0.219,1264,0.303,1265,0.797,1266,0.504,1267,0.667,1285,0.434,1288,0.431,1295,0.16,1298,0.215,1301,0.822,1302,0.183,1304,1.127,1305,0.387,1306,0.154,1308,0.334,1309,0.676,1310,0.406,1318,0.434,1319,0.765,1321,0.181,1324,1.126,1341,0.257,1342,0.891,1343,0.181,1352,0.363,1357,0.511,1358,0.238,1362,5.156,1368,0.173,1369,0.358,1388,0.211,1389,0.211,1390,0.271,1400,0.163,1401,0.83,1402,0.215,1404,0.351,1405,0.246,1409,1.487,1415,6.151,1416,0.148,1417,1.562,1419,0.547,1421,0.225,1429,0.426,1430,0.156,1431,0.271,1432,1.264,1434,0.431,1437,0.17,1444,0.257,1446,0.189,1447,0.271,1451,0.192,1452,1.818,1454,0.506,1455,0.673,1456,0.588,1458,0.393,1462,0.177,1464,0.528,1465,2.152,1468,0.554,1469,1.449,1472,0.609,1475,0.192,1478,0.231,1484,0.431,1489,0.158,1491,0.85,1495,0.219,1504,0.406,1508,0.225,1511,0.207,1512,0.916,1531,0.579,1536,0.207,1538,0.431,1542,0.238,1543,0.257,1555,0.358,1557,0.406,1558,1.683,1560,0.621,1561,0.219,1565,2.197,1574,0.363,1576,0.166,1584,0.215,1585,0.192,1586,0.257,1587,0.172,1594,0.466,1597,0.165,1604,0.271,1605,0.231,1613,1.174,1624,0.271,1637,0.406,1640,0.231,1641,0.466,1647,0.961,1667,0.238,1669,0.687,1670,0.699,1672,0.271,1673,0.238,1676,0.858,1681,0.225,1688,1.802,1689,0.194,1695,0.194,1697,0.371,1713,0.207,1716,0.879,1717,0.231,1718,0.231,1724,0.246,1730,0.393,1767,0.2,1773,0.231,1783,0.609,1784,0.2,1785,0.271,1787,0.441,1825,0.246,1831,1.174,1839,0.194,1849,0.187,1850,0.187,1852,0.903,1875,0.215,1879,0.225,1882,0.211,1908,0.916,1909,0.197,1913,0.238,1917,0.271,1922,0.869,1923,0.422,1924,0.152,1927,0.334,1931,0.219,1934,0.225,1935,0.225,1938,0.197,1958,0.271,1966,0.271,1967,0.2,1970,0.358,1974,0.699,1975,0.504,1977,0.528,1979,0.225,1981,0.741,1990,0.257,1993,0.271,2004,0.504,2005,0.238,2010,0.511,2014,0.225,2015,1.54,2020,0.215,2022,0.197,2026,0.309,2037,0.363,2042,0.257,2044,0.246,2052,0.219,2053,0.238,2057,0.203,2066,0.246,2071,0.711,2072,0.927,2073,0.231,2075,0.238,2080,0.207,2081,1.123,2089,0.649,2091,0.271,2093,0.271,2096,0.207,2100,0.331,2101,0.393,2103,0.578,2108,0.271,2109,0.257,2111,0.271,2112,0.711,2115,0.189,2134,0.185,2148,0.441,2152,0.219,2158,0.399,2160,0.85,2161,2.545,2168,0.257,2169,0.2,2185,0.381,2187,0.211,2193,0.246,2200,0.271,2231,0.231,2234,0.215,2252,0.238,2268,0.431,2273,0.257,2296,0.782,2306,0.406,2315,0.2,2331,0.246,2332,0.175,2334,0.215,2344,0.225,2348,0.207,2350,0.219,2361,0.215,2368,0.466,2375,0.257,2384,0.271,2388,0.271,2395,0.271,2396,0.187,2397,0.246,2400,0.331,2401,1.629,2427,0.215,2435,0.246,2448,0.225,2449,0.246,2455,0.271,2460,0.238,2462,0.531,2463,0.238,2495,0.504,2498,0.271,2504,0.422,2510,0.238,2511,0.246,2514,0.504,2515,0.504,2520,0.667,2521,0.246,2532,0.453,2535,0.609,2549,0.504,2555,0.406,2568,0.453,2579,0.271,2605,0.531,2608,0.271,2621,1.096,2649,0.231,2655,0.657,2667,0.466,2671,0.413,2678,0.225,2680,0.483,2681,0.197,2687,0.246,2690,0.609,2715,0.483,2737,0.219,2741,0.257,2778,0.203,2787,0.215,2796,0.219,2827,0.225,2834,1.629,2835,0.667,2838,0.687,2840,0.246,2845,0.257,2881,0.257,2893,2.442,2896,0.257,2904,0.271,2905,0.699,2971,0.238,2974,0.271,2979,0.231,2984,0.215,2986,0.215,2988,0.183,2994,0.431,2995,0.381,2996,0.215,2997,0.246,3042,0.219,3045,0.858,3083,0.246,3106,0.225,3109,0.649,3122,1.104,3123,0.246,3124,0.207,3197,0.238,3201,0.238,3202,0.504,3207,0.257,3254,0.271,3261,0.238,3263,0.219,3264,0.413,3265,0.422,3268,0.238,3269,0.609,3270,2.521,3271,3.387,3276,2.191,3298,3.869,3299,3.416,3300,3.369,3301,0.531,3302,0.531,3309,0.271,3311,0.257,3312,0.257,3318,0.246,3334,0.271,3355,2.114,3357,1.811,3358,0.531,3362,0.185,3388,0.271,3391,0.483,3427,2.114,3428,0.271,3454,0.271,3455,0.271,3459,1.024,3468,0.431,3479,0.711,3490,0.271,3495,0.238,3496,0.531,3504,0.271,3545,0.231,3549,1.755,3593,0.257,3648,0.531,3649,0.271,3665,0.531,3679,0.483,3723,0.741,3729,0.271,3733,0.271,3742,0.531,3743,0.531,3755,0.271,3766,0.782,3776,0.257,3782,1.406,3786,1.348,3789,0.271,3798,0.271,3802,0.257,3804,0.257,3852,0.257,3856,0.271,3859,0.271,3860,0.271,3861,0.531,3862,0.531,3863,0.271,3865,0.531,3866,0.257,3867,0.257,3868,0.271,3870,0.271,3871,0.271,3875,0.271,3876,0.271,3879,0.271,3887,0.453,3888,0.292,3889,0.292,3890,1.105,3891,0.292,3892,0.573,3893,0.271,3894,0.292,3895,0.573,3896,0.504,3897,0.292,3898,0.531,3899,0.573,3900,0.292,3901,0.292,3902,0.292,3903,0.292,3904,0.292,3905,0.573,3906,0.292,3907,0.292,3908,0.292,3909,0.292,3910,0.292,3911,0.292,3912,0.292,3913,0.292,3914,0.292,3915,0.292,3916,0.292,3917,0.292,3918,0.292,3919,0.573,3920,0.292,3921,0.292,3922,0.292,3923,0.292,3924,0.292,3925,0.292,3926,0.292,3927,0.271,3928,0.292,3929,0.292,3930,0.292,3931,0.292,3932,0.292,3933,0.292,3934,0.292,3935,0.292,3936,0.292,3937,0.292,3938,0.292,3939,0.292,3940,0.292,3941,0.292,3942,0.292,3943,0.292,3944,0.292,3945,0.292,3946,0.292,3947,0.292,3948,0.292,3949,0.573,3950,0.292,3951,0.271,3952,0.292,3953,0.573,3954,0.292,3955,0.271,3956,0.292,3957,0.292,3958,0.292,3959,0.292,3960,0.292,3961,0.292,3962,0.573,3963,0.292,3964,0.292,3965,0.271,3966,0.573,3967,0.292,3968,0.292,3969,0.292,3970,0.292,3971,0.292,3972,0.271,3973,0.292,3974,0.292,3975,0.573,3976,0.292,3977,0.292,3978,0.292,3979,0.292,3980,0.573,3981,0.292,3982,0.292,3983,0.573,3984,0.292,3985,0.292,3986,0.292,3987,0.292,3988,0.292,3989,0.292,3990,0.292,3991,0.271,3992,0.292,3993,0.292,3994,0.292,3995,0.931,3996,0.292,3997,0.292,3998,0.271,3999,0.292,4000,0.573,4001,0.292,4002,0.292,4003,0.292,4004,0.231,4005,0.292,4006,0.292,4007,0.292,4008,0.292,4009,0.573,4010,0.292,4011,0.292,4012,0.292,4013,0.292,4014,0.292,4015,0.292,4016,0.971,4017,0.292,4018,1.911,4019,0.292,4020,0.292,4021,0.292,4022,0.292,4023,0.292,4024,0.292,4025,0.292,4026,0.292,4027,0.292,4028,0.292,4029,0.292,4030,0.292,4031,0.292,4032,0.292,4033,0.292,4034,0.292,4035,0.573,4036,0.292,4037,0.292,4038,0.573,4039,0.531,4040,0.292,4041,0.292,4042,0.292,4043,0.573,4044,0.292,4045,0.292,4046,0.292,4047,0.292,4048,0.573,4049,0.271,4050,0.292,4051,0.292,4052,0.292,4053,0.573,4054,0.292,4055,0.292,4056,0.292,4057,0.292,4058,0.292,4059,0.292,4060,0.292,4061,0.292,4062,0.292,4063,0.292,4064,0.292,4065,0.292,4066,0.292,4067,0.292,4068,0.292,4069,0.292,4070,0.573,4071,0.292,4072,0.292,4073,0.292,4074,0.292,4075,0.292,4076,0.292,4077,0.271,4078,0.292,4079,0.292,4080,0.292,4081,0.292,4082,0.292,4083,0.292,4084,0.573,4085,0.292,4086,0.292,4087,0.292,4088,0.292,4089,0.292,4090,0.292,4091,0.292,4092,0.531,4093,0.292,4094,0.573,4095,0.292,4096,0.292,4097,0.573,4098,0.292,4099,0.292,4100,0.292,4101,0.573,4102,0.466,4103,0.573,4104,0.292,4105,0.573,4106,0.292,4107,0.741,4108,0.271,4109,0.292,4110,0.573,4111,0.292,4112,0.573,4113,0.292,4114,0.292,4115,0.292,4116,0.292,4117,0.292,4118,0.573,4119,0.292,4120,0.573,4121,0.531,4122,0.292,4123,0.971,4124,0.292,4125,0.292,4126,0.573,4127,1.357,4128,0.292,4129,0.292,4130,0.271,4131,0.573,4132,0.292,4133,0.292,4134,0.292,4135,0.292,4136,0.573,4137,0.292,4138,0.741,4139,0.292,4140,0.292,4141,0.292,4142,0.292,4143,0.238,4144,0.292,4145,0.292,4146,0.292,4147,0.292,4148,0.292,4149,0.292,4150,0.292,4151,0.573,4152,0.292,4153,0.292,4154,0.573,4155,0.292,4156,0.225,4157,0.292,4158,0.292,4159,0.573,4160,0.292,4161,0.292,4162,0.292,4163,0.292,4164,0.573,4165,0.292,4166,0.292,4167,0.573,4168,0.292,4169,0.292,4170,0.483,4171,0.573,4172,0.292,4173,0.573,4174,0.292,4175,0.292,4176,0.292,4177,0.292,4178,0.573,4179,0.292,4180,0.271,4181,0.292,4182,0.271,4183,0.292,4184,0.292,4185,0.292,4186,0.292,4187,0.246,4188,0.292,4189,0.573,4190,1.257,4191,0.292,4192,0.573,4193,0.292,4194,0.292,4195,0.292,4196,0.292,4197,0.292,4198,0.292,4199,0.292,4200,0.292,4201,0.292,4202,0.292,4203,0.292,4204,0.292,4205,0.292,4206,0.292,4207,0.573,4208,0.292,4209,0.292,4210,0.292,4211,0.292,4212,0.573,4213,0.292,4214,0.292,4215,0.292,4216,0.292,4217,0.573,4218,0.573,4219,0.531,4220,0.292,4221,0.573,4222,0.292,4223,0.504,4224,0.292,4225,0.292,4226,0.292,4227,0.271,4228,0.292,4229,0.292,4230,0.573,4231,0.292,4232,1.811,4233,0.271,4234,0.292,4235,0.271,4236,0.292,4237,0.292,4238,0.573,4239,0.292,4240,0.292,4241,0.246,4242,0.292,4243,0.292,4244,0.292,4245,0.292,4246,0.292,4247,0.292,4248,0.292,4249,0.271,4250,0.573,4251,0.292,4252,0.292,4253,0.292,4254,0.257,4255,0.292,4256,0.573,4257,0.292,4258,0.257,4259,0.292,4260,0.573,4261,0.292,4262,0.292,4263,0.292,4264,0.573,4265,0.292,4266,0.431,4267,0.271,4268,0.271,4269,0.292,4270,0.292,4271,0.246,4272,0.292,4273,0.292,4274,0.257,4275,0.844,4276,0.257,4277,0.271,4278,0.292,4279,0.292,4280,0.292,4281,0.292,4282,0.292,4283,1.357,4284,0.292,4285,0.292,4286,0.271,4287,0.292,4288,0.292,4289,0.292,4290,0.573,4291,0.531,4292,0.292,4293,0.292,4294,0.292,4295,0.292,4296,0.292,4297,0.292,4298,0.292,4299,1.105,4300,0.292,4301,0.292,4302,0.573,4303,0.271,4304,0.292,4305,0.466,4306,0.292,4307,0.292,4308,0.292,4309,0.292,4310,0.292,4311,0.292,4312,0.271,4313,0.292,4314,0.573,4315,0.292,4316,0.292,4317,0.292,4318,0.292,4319,0.292,4320,0.271,4321,0.292,4322,0.292,4323,0.292,4324,0.292,4325,0.504,4326,0.292,4327,0.292,4328,0.413,4329,0.504,4330,0.292,4331,0.292,4332,0.257,4333,0.246,4334,0.292,4335,0.257,4336,0.292,4337,0.292,4338,0.271,4339,0.292,4340,0.292,4341,0.292,4342,0.483,4343,0.573,4344,0.292,4345,0.292,4346,0.292,4347,0.292,4348,0.292,4349,0.292,4350,0.292,4351,0.271,4352,0.292,4353,0.292,4354,0.271,4355,0.238,4356,0.231,4357,0.292,4358,0.292,4359,0.431,4360,0.292,4361,0.292,4362,0.292,4363,0.292,4364,0.292,4365,0.292,4366,0.573,4367,0.292,4368,0.211,4369,0.257,4370,0.292,4371,0.292,4372,0.271,4373,0.292,4374,0.292,4375,0.292,4376,0.292,4377,0.292,4378,0.483,4379,0.292,4380,0.271,4381,0.292,4382,0.292,4383,0.292,4384,0.292,4385,0.292,4386,0.292,4387,0.504,4388,0.292,4389,0.292,4390,0.292,4391,0.292,4392,0.292,4393,0.271,4394,0.292,4395,0.292,4396,0.292,4397,0.292,4398,0.292,4399,0.292,4400,0.292,4401,0.292,4402,0.257,4403,0.292,4404,0.292,4405,0.292,4406,0.292,4407,0.257,4408,0.246,4409,0.292,4410,0.292,4411,0.292,4412,0.292,4413,0.292,4414,0.292,4415,0.422,4416,0.292,4417,0.292,4418,0.292,4419,0.292]],["component/67",[1,0.382,2,0.692,18,0.605]],["title/68",[925,56.194]],["name/68",[925,2.175]],["text/68",[1,0.383,10,0.766,13,1.51,26,0.842,38,2.352,39,0.94,49,1.495,62,0.615,71,2.189,91,1.088,95,1.119,98,1.037,106,1.33,114,1.119,116,2.147,120,0.997,126,1.723,144,1.478,153,3.453,154,1.033,158,1.421,161,1.059,167,4.788,197,2.57,218,1.889,221,1.069,222,1.556,232,1.567,234,2.724,244,1.024,260,0.912,261,0.884,290,3.885,291,0.985,315,1.62,317,1.05,326,1.033,332,1.234,368,3.136,380,2.774,395,2.357,400,1.227,426,1.478,427,2.528,498,2.071,511,0.875,514,1.831,553,0.903,571,2.542,615,3.512,635,1.16,648,1.973,668,1.178,672,1.046,696,1.242,712,1.283,715,1.681,735,0.754,761,0.985,772,1.153,776,1.421,791,7.077,794,1.32,813,2.843,841,2.843,883,1.448,884,5.03,892,1.147,909,5.745,925,6.971,928,4.704,929,3.059,938,1.373,947,2.97,951,2.095,1029,4.088,1030,1.778,1054,2.095,1058,3.959,1072,2.16,1105,1.108,1107,1.71,1130,2.029,1148,1.33,1154,4.403,1176,1.178,1210,5.995,1230,3.376,1232,4.648,1249,3.829,1260,2.457,1264,1.275,1318,1.242,1419,1.565,1606,1.655,1648,1.965,1676,1.527,1710,2.906,1730,1.655,1849,4.201,1894,5.53,1919,2.034,2022,1.63,2026,1.301,2089,3.211,2115,2.704,2285,5.184,2336,3.867,2796,1.814,3515,2.238,3816,2.034,4420,6.869,4421,5.766,4422,2.238,4423,2.414,4424,4.173,4425,2.414,4426,2.121,4427,2.414,4428,2.414,4429,2.414,4430,2.414,4431,3.136,4432,4.173,4433,8.111,4434,3.867,4435,4.173,4436,4.173,4437,8.111,4438,4.173,4439,9.196,4440,4.173,4441,4.173,4442,4.173,4443,4.173,4444,4.173,4445,6.083,4446,4.173]],["component/68",[1,0.382,2,0.692,18,0.605]],["title/69-1",[796,52.304,2002,60.293]],["name/69-1",[]],["text/69-1",[]],["component/69-1",[]],["title/69-2",[38,18.646,46,29.934]],["name/69-2",[]],["text/69-2",[]],["component/69-2",[]],["title/69-3",[427,46.245,634,42.701]],["name/69-3",[]],["text/69-3",[]],["component/69-3",[]],["title/69-4",[800,43.759,1210,39.768]],["name/69-4",[]],["text/69-4",[]],["component/69-4",[]],["title/69-5",[120,31.506,1210,39.768]],["name/69-5",[]],["text/69-5",[]],["component/69-5",[]],["title/69-6",[39,21.953,323,32.883,1210,42.971]],["name/69-6",[]],["text/69-6",[]],["component/69-6",[]],["title/69-7",[4143,75.483]],["name/69-7",[]],["text/69-7",[]],["component/69-7",[]],["title/69-8",[4447,78.148]],["name/69-8",[]],["text/69-8",[]],["component/69-8",[]],["title/69-9",[4448,75.483]],["name/69-9",[]],["text/69-9",[]],["component/69-9",[]],["title/69-10",[304,58.672]],["name/69-10",[]],["text/69-10",[]],["component/69-10",[]],["title/69-11",[62,19.457,1210,39.768]],["name/69-11",[]],["text/69-11",[]],["component/69-11",[]],["title/69-12",[1,10.292,62,16.531,1130,23.88]],["name/69-12",[]],["text/69-12",[]],["component/69-12",[]],["title/69-13",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/69-13",[]],["text/69-13",[]],["component/69-13",[]],["title/69-14",[1,10.292,62,16.531,1130,23.88]],["name/69-14",[]],["text/69-14",[]],["component/69-14",[]],["title/69-15",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/69-15",[]],["text/69-15",[]],["component/69-15",[]],["title/69",[866,34.155]],["name/69",[866,1.322]],["text/69",[1,1.206,4,1.196,7,0.934,10,2.086,13,0.523,15,1.423,16,0.557,18,0.399,23,1.028,26,0.789,33,0.542,36,0.353,37,0.976,38,2.597,39,2.96,46,1.547,48,1.36,49,1.735,53,0.497,56,0.445,62,2.144,63,0.255,68,1.104,69,0.329,70,1.291,71,2.744,74,0.603,75,0.502,78,0.762,80,0.888,82,0.565,84,0.439,87,1.376,91,0.377,93,0.858,95,0.735,98,0.972,100,0.702,101,1.042,105,0.484,109,1.981,114,0.388,116,2.698,120,2.83,122,1.183,126,0.345,131,0.517,136,1.609,141,2.995,143,1.049,149,1.238,152,0.806,153,2.056,154,0.358,161,1.507,163,0.949,165,0.655,167,3.214,169,0.411,173,1.48,176,0.868,178,0.9,194,0.754,197,0.55,207,0.507,211,0.302,216,1.44,218,0.379,221,1.002,222,2.094,223,1.975,224,0.344,229,1.709,232,1.481,233,0.62,244,1.674,245,1.101,247,1.039,251,0.428,253,2.477,257,0.568,260,3.676,261,0.306,264,0.895,283,2.599,286,0.375,287,0.322,290,2.654,291,1.801,299,0.351,304,3.317,311,0.869,315,1.713,317,0.984,318,0.565,323,2.575,324,1.152,326,0.358,327,0.454,332,0.811,336,0.573,338,0.394,345,0.365,355,0.956,370,0.633,375,0.448,377,0.943,380,0.353,400,0.806,406,1.411,408,1.396,418,0.425,421,1.029,422,1.07,427,4.154,432,1.237,462,0.542,487,0.358,495,0.77,498,0.415,502,0.442,511,1.6,512,0.408,514,0.696,517,0.472,520,0.461,522,0.529,523,0.661,532,0.535,538,0.783,539,1.32,541,0.888,542,0.926,547,1.042,549,0.91,552,1.745,553,1.651,556,1.865,562,1.498,569,0.895,571,0.732,582,1.195,615,0.448,634,3.679,648,3.593,654,1.693,655,1.415,659,1.864,679,0.445,682,1.221,690,0.422,691,0.48,695,1.071,696,0.816,702,0.754,709,2.3,712,0.445,713,0.582,715,0.582,718,0.661,722,0.633,734,1.059,735,1.861,746,0.336,749,0.622,759,1.192,761,0.341,763,0.779,766,0.425,767,1.584,772,1.081,773,0.484,776,1.332,794,2.649,796,2.703,800,0.48,804,0.476,805,0.396,808,0.488,810,0.436,813,3.642,820,0.428,822,0.542,823,0.384,830,0.705,843,2.488,846,0.394,852,0.384,854,1.825,865,0.422,866,1.931,883,0.502,890,1.934,898,1.914,910,0.592,911,0.573,915,0.468,916,0.926,922,0.549,923,0.843,924,0.943,925,4.154,928,1.065,929,2.689,931,0.439,934,0.451,937,0.557,942,0.565,943,0.582,947,1.55,948,0.517,950,0.523,951,1.136,953,0.418,954,0.507,956,0.779,957,0.806,959,1.071,992,1.825,1001,0.468,1022,0.523,1027,0.445,1029,1.527,1030,1.88,1038,0.934,1047,0.735,1054,0.42,1056,1.415,1057,1.596,1058,0.774,1061,0.934,1063,0.454,1064,1.779,1065,1.105,1084,1.551,1088,1.211,1091,1.842,1093,3.188,1100,0.735,1105,1.039,1111,0.488,1130,0.584,1141,0.661,1176,0.774,1180,0.895,1183,0.535,1202,0.603,1210,6.778,1212,0.565,1230,0.43,1233,1.056,1241,0.448,1252,0.549,1255,0.874,1258,0.557,1264,0.838,1265,0.603,1290,0.573,1296,0.582,1297,0.535,1299,0.542,1300,0.661,1301,0.507,1305,2.663,1310,0.592,1318,0.43,1321,0.981,1337,1.124,1343,0.517,1350,0.557,1352,1.004,1370,0.888,1372,0.705,1387,0.603,1388,0.603,1396,0.592,1399,0.661,1400,0.468,1429,2.229,1443,0.542,1446,0.542,1455,0.415,1462,0.507,1464,0.523,1488,0.861,1497,0.549,1506,0.705,1531,0.832,1539,0.735,1557,1.124,1560,0.615,1561,0.629,1570,0.661,1583,0.565,1591,0.705,1592,0.644,1593,1.337,1597,0.472,1644,0.629,1645,0.644,1655,0.512,1676,0.529,1677,0.523,1717,0.661,1730,0.573,1770,0.603,1787,1.221,1835,0.549,1849,0.535,1871,0.615,1910,0.943,1927,1.32,1963,0.573,1970,0.523,1977,0.992,2002,3.116,2023,0.629,2024,1.056,2026,1.851,2037,0.529,2045,0.661,2046,0.573,2052,0.629,2089,0.644,2100,0.917,2102,0.582,2103,1.551,2134,1.004,2161,0.615,2174,0.603,2251,0.629,2307,0.735,2350,0.629,2361,1.665,2396,0.535,2400,0.484,2403,0.629,2428,0.615,2521,0.705,2567,1.394,2597,1.337,2617,0.661,2671,0.603,2781,0.705,2841,0.573,2844,0.735,2991,0.592,3042,0.629,3086,1.842,3449,5.234,3652,0.775,4123,3.466,4143,2.795,4421,1.394,4422,3.183,4434,2.097,4445,0.775,4447,2.423,4448,2.795,4449,0.775,4450,0.836,4451,0.775,4452,0.836,4453,0.735,4454,0.775,4455,0.775,4456,0.775,4457,0.836,4458,1.47,4459,0.836,4460,1.586,4461,0.836,4462,0.775,4463,0.836,4464,0.836,4465,1.586,4466,0.836,4467,0.836,4468,0.836,4469,0.836,4470,2.665,4471,1.586,4472,1.586,4473,0.836,4474,0.836,4475,0.836,4476,0.705,4477,1.47,4478,1.47,4479,0.775,4480,1.47,4481,1.47,4482,0.775,4483,0.661,4484,0.775,4485,0.775,4486,0.775,4487,0.705,4488,1.47,4489,0.775,4490,0.775,4491,0.775,4492,0.775,4493,0.775,4494,0.775,4495,0.681,4496,0.615,4497,0.705,4498,0.836,4499,3.183,4500,0.836,4501,2.097,4502,1.586,4503,0.836,4504,0.836,4505,1.586,4506,0.661,4507,0.836,4508,0.836,4509,0.836,4510,0.836,4511,0.836,4512,0.836,4513,0.775,4514,0.775,4515,0.836,4516,0.775,4517,0.836]],["component/69",[1,0.382,2,0.692,18,0.605]],["title/70",[1210,48.324]],["name/70",[3,1.542]],["text/70",[1,2.028,2,3.67,10,3.236,18,1.92,29,3.095,67,5.065,71,3.101,84,4.007,120,3.154,203,4.587,206,6.456,224,3.142,313,3.191,316,3.814,326,3.269,487,3.269,512,3.729,555,3.508,746,3.072,750,3.729,800,4.381,852,3.508,866,3.758,903,5.879,925,6.183,929,4.241,956,3.75,1012,4.498,1015,4.677,1030,3.255,1180,4.309,1210,6.658,1397,4.344,1400,4.275,1511,5.411]],["component/70",[1,0.382,2,0.692,18,0.605]],["title/71-1",[120,31.506,1210,39.768]],["name/71-1",[]],["text/71-1",[]],["component/71-1",[]],["title/71-2",[1,10.292,62,16.531,1130,23.88]],["name/71-2",[]],["text/71-2",[]],["component/71-2",[]],["title/71-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/71-3",[]],["text/71-3",[]],["component/71-3",[]],["title/71-4",[39,21.953,323,32.883,1210,42.971]],["name/71-4",[]],["text/71-4",[]],["component/71-4",[]],["title/71-5",[4143,75.483]],["name/71-5",[]],["text/71-5",[]],["component/71-5",[]],["title/71-6",[4447,78.148]],["name/71-6",[]],["text/71-6",[]],["component/71-6",[]],["title/71-7",[4448,75.483]],["name/71-7",[]],["text/71-7",[]],["component/71-7",[]],["title/71-8",[304,58.672]],["name/71-8",[]],["text/71-8",[]],["component/71-8",[]],["title/71",[800,53.173]],["name/71",[800,2.059]],["text/71",[1,1.349,4,1.268,10,2.567,13,1.058,15,1.724,16,1.126,18,0.766,23,1.976,26,0.59,36,0.715,37,1.315,38,1.599,39,3.889,46,1.632,48,2.406,49,2.104,53,1.005,56,0.899,58,0.724,62,2.064,68,2.03,70,1.718,71,3.068,74,1.221,78,0.813,79,1.058,82,1.142,84,0.887,87,2.038,91,0.763,93,1.156,95,0.784,98,1.31,101,1.111,109,3.287,116,4.372,120,2.703,122,2.092,136,2.327,141,3.712,143,0.784,152,1.481,161,0.742,163,0.709,167,3.433,169,0.83,173,2.14,178,0.673,197,1.057,207,1.847,211,0.612,216,1.744,221,0.749,222,1.898,223,1.148,229,1.321,232,1.91,233,1.191,244,1.765,245,0.648,247,1.4,253,1.916,260,4.296,261,1.116,264,0.954,283,3.069,286,0.759,287,1.175,290,2.37,299,0.709,304,5.121,311,0.65,315,2.28,317,0.736,318,1.142,323,2.427,324,1.667,326,0.724,336,0.612,338,0.796,370,0.676,377,1.811,406,2.042,408,1.691,418,0.86,421,0.77,422,0.8,432,0.925,487,0.724,488,0.865,494,1.178,495,2.019,511,0.614,522,1.071,523,1.337,532,1.083,539,0.777,542,0.987,547,1.111,552,1.549,553,1.557,556,1.967,569,0.954,571,0.781,582,2.196,648,0.8,654,0.996,679,0.899,682,1.302,690,0.855,696,1.568,702,0.804,709,2.084,718,1.337,722,1.217,734,1.947,735,0.529,746,0.68,749,1.196,759,2.291,761,0.691,766,0.86,767,2.709,796,2.089,800,0.97,804,0.962,805,0.8,810,0.882,823,0.777,843,1.208,854,3.122,865,0.855,866,2.626,890,1.661,910,1.198,911,1.16,916,0.987,925,3.967,928,1.434,948,1.047,950,1.058,951,0.85,956,0.83,957,1.549,959,2.058,992,2.704,1022,1.058,1025,0.746,1027,0.899,1029,1.355,1030,1.299,1038,0.699,1047,1.487,1057,0.939,1061,0.699,1064,2.574,1065,1.178,1084,1.16,1088,0.906,1091,1.377,1093,4.548,1105,0.777,1113,1.047,1130,0.623,1210,6.503,1212,1.142,1264,0.893,1290,1.16,1300,1.337,1301,1.025,1305,4.42,1337,2.159,1396,1.198,1399,1.337,1462,1.025,1488,0.919,1506,1.426,1557,2.159,1561,1.272,1730,1.16,1787,2.346,1835,1.111,1871,1.245,1910,1.811,1977,1.058,2002,2.408,2006,1.221,2023,1.272,2024,2.029,2026,1.643,2045,1.337,2102,1.178,2103,1.16,2134,1.929,2251,1.272,2350,1.272,2361,3.06,2521,1.426,2567,2.678,2576,3.915,2597,2.569,2612,2.481,2844,1.487,2991,1.198,3086,1.377,3449,7.466,4123,5.752,4143,5.804,4447,3.505,4448,5.329,4470,3.856,4476,1.426,4477,2.825,4478,2.825,4479,1.568,4480,2.825,4481,1.568,4482,1.568,4483,1.337,4484,1.568,4485,1.568,4486,1.568,4487,1.426,4488,2.825,4489,2.825,4490,1.568,4491,1.568,4492,1.568,4493,1.568,4494,1.568,4495,1.377,4496,1.245,4497,1.426,4499,1.568,4501,1.568,4506,1.337,4513,1.568,4514,2.825,4516,1.568,4518,1.692,4519,1.692,4520,1.692,4521,1.692,4522,1.692]],["component/71",[1,0.382,2,0.692,18,0.605]],["title/72-1",[234,20.305,500,32.951,997,34.008]],["name/72-1",[]],["text/72-1",[]],["component/72-1",[]],["title/72-2",[500,38.785,678,42.048]],["name/72-2",[]],["text/72-2",[]],["component/72-2",[]],["title/72-3",[139,53.145,555,35.04]],["name/72-3",[]],["text/72-3",[]],["component/72-3",[]],["title/72-4",[139,45.151,338,30.507,500,32.951]],["name/72-4",[]],["text/72-4",[]],["component/72-4",[]],["title/72-5",[139,53.145,538,37.669]],["name/72-5",[]],["text/72-5",[]],["component/72-5",[]],["title/72-6",[234,20.305,538,32.003,892,30.819]],["name/72-6",[]],["text/72-6",[]],["component/72-6",[]],["title/72-7",[38,15.841,538,32.003,772,30.979]],["name/72-7",[]],["text/72-7",[]],["component/72-7",[]],["title/72-8",[538,32.003,556,30.662,1139,25.431]],["name/72-8",[]],["text/72-8",[]],["component/72-8",[]],["title/72-9",[538,37.669,786,41.136]],["name/72-9",[]],["text/72-9",[]],["component/72-9",[]],["title/72",[38,15.841,167,22.294,234,20.305]],["name/72",[38,0.517,234,0.663]],["text/72",[0,0.395,1,0.462,2,0.462,4,0.24,10,2.453,11,0.402,15,0.859,18,0.279,33,0.374,36,0.244,37,0.479,38,2.867,39,1.283,46,1.691,49,0.398,52,0.331,57,1.669,58,0.247,62,0.84,63,1.997,68,0.281,69,0.437,71,2.597,78,0.773,83,1.928,87,1.004,91,0.26,95,0.961,96,0.259,97,0.339,98,0.248,109,0.558,114,0.267,115,1.103,122,0.457,124,0.52,126,0.459,131,0.995,138,0.361,139,5.172,141,0.486,143,1.35,148,0.295,149,0.401,152,0.893,153,0.518,154,0.247,166,0.263,167,3.048,169,0.79,174,0.357,176,0.315,177,0.311,178,0.997,194,0.274,195,0.361,197,0.558,205,0.339,210,0.402,215,1.08,216,0.466,221,1.11,222,1.608,223,1.241,229,1.867,232,1.839,234,3.135,244,0.472,245,1.528,247,0.265,253,0.781,257,1.309,260,0.783,261,0.589,276,0.307,281,1.189,283,0.61,286,0.499,287,0.62,290,1.33,291,0.454,299,0.242,301,0.325,310,0.318,311,0.963,313,0.866,315,1.279,316,0.288,317,0.484,318,1.086,323,0.939,324,1.004,326,1.072,329,0.833,332,0.295,336,0.749,337,0.874,338,2.981,341,0.369,344,0.323,345,2.676,355,0.244,373,0.369,374,1.03,377,0.343,379,0.263,380,1.231,400,0.565,406,1.23,408,0.452,414,1.271,420,0.307,421,0.506,422,0.526,426,0.353,427,0.349,439,0.389,487,0.887,491,0.302,495,0.54,498,0.286,500,5.16,503,0.379,511,1.056,512,0.281,513,0.29,514,0.488,522,0.703,530,0.349,538,4.209,539,1.677,540,0.349,541,0.622,546,0.456,547,0.379,548,1.815,553,0.216,555,5.035,556,3.271,562,5.291,563,0.246,568,0.99,569,0.325,571,0.513,582,1.739,589,1.315,622,0.333,634,0.622,648,1.185,668,1.422,670,0.353,678,0.318,681,0.595,691,0.637,692,0.369,696,1.29,708,0.939,709,2.006,712,0.307,722,0.642,730,0.513,734,0.27,735,1.695,741,3.604,742,0.813,745,0.361,757,0.361,766,0.293,767,1.52,772,0.769,773,0.643,774,0.295,776,0.654,783,0.198,786,4.659,794,0.315,800,0.637,801,1.958,805,0.98,810,0.579,813,3.694,815,0.937,819,0.424,820,1.06,821,0.307,822,0.374,823,0.265,826,0.379,846,0.975,852,0.51,866,1.073,869,0.374,883,0.965,890,1.458,892,2.911,896,0.424,899,0.389,904,0.608,915,1.16,916,0.336,918,0.543,919,0.661,922,0.73,923,0.591,927,0.374,928,0.523,943,0.774,948,0.357,951,1.259,957,0.293,966,0.331,972,1.22,997,1.087,998,0.251,1016,0.72,1018,0.632,1021,0.361,1025,0.49,1027,1.332,1029,1.114,1030,1.701,1038,1.779,1054,0.29,1058,1.224,1061,2.928,1063,0.313,1072,0.575,1075,1.006,1076,1.189,1085,0.977,1105,0.265,1111,0.336,1130,0.593,1134,0.315,1135,0.68,1137,3.368,1139,3.741,1143,0.835,1147,0.433,1150,0.365,1152,3.709,1154,0.603,1167,0.278,1175,0.357,1176,0.785,1180,0.325,1183,0.369,1186,1.283,1189,0.389,1197,0.74,1200,0.534,1205,0.486,1208,0.608,1212,0.389,1220,0.29,1230,1.067,1232,0.408,1233,0.74,1235,2.214,1240,3.754,1241,0.595,1252,2.399,1255,0.612,1257,1.468,1258,0.384,1259,0.617,1260,0.654,1261,0.402,1264,1.095,1267,1.271,1268,1.209,1278,0.507,1285,0.828,1288,0.433,1290,0.395,1295,0.88,1296,0.402,1297,1.03,1301,0.349,1305,0.75,1309,0.353,1314,0.534,1315,1.414,1318,2.053,1319,0.325,1322,1.525,1324,4.428,1342,0.379,1357,0.674,1363,0.977,1364,0.486,1370,0.323,1388,0.416,1394,0.937,1406,0.369,1409,1.381,1429,1.266,1430,0.595,1437,0.336,1451,0.379,1454,0.346,1457,0.357,1472,1.161,1473,0.802,1475,0.379,1488,0.313,1491,7.203,1492,0.374,1509,0.389,1510,0.878,1512,0.75,1569,0.878,1589,0.818,1613,0.369,1651,2.101,1670,0.703,1684,0.365,1692,0.315,1725,0.408,1875,0.424,1878,0.937,1882,2.376,1888,0.379,1910,0.343,1927,0.939,1930,0.534,1933,0.486,1939,0.703,1955,0.977,1960,0.507,1963,4.613,1977,0.695,1980,0.456,2005,0.469,2017,0.507,2026,0.311,2080,0.408,2089,0.444,2092,1.31,2096,0.408,2103,3.542,2115,0.374,2132,0.507,2169,0.395,2192,0.424,2272,1.31,2274,3.001,2306,0.787,2332,0.346,2339,0.937,2344,0.444,2394,0.534,2399,0.469,2403,0.835,2426,0.818,2428,0.424,2527,0.923,2535,0.416,2566,0.534,2607,1.184,2621,0.762,2629,0.855,2655,0.343,2667,0.905,2716,0.878,2719,0.937,2757,2.333,2758,0.534,2828,0.507,2841,0.395,2884,0.534,2987,0.408,3391,1.356,3431,0.534,3478,0.534,3479,9.2,3566,1.491,3600,0.486,3639,0.534,3675,0.469,3805,0.456,3816,0.486,4049,0.534,4320,1.03,4426,0.507,4523,0.577,4524,0.577,4525,0.577,4526,0.577,4527,0.534,4528,0.835,4529,0.444,4530,0.577,4531,0.577,4532,1.112,4533,0.577,4534,1.491,4535,0.577,4536,0.577,4537,1.112,4538,1.491,4539,0.577,4540,0.577,4541,1.609,4542,0.577,4543,0.577,4544,0.577,4545,0.577,4546,0.577,4547,0.577,4548,1.112,4549,0.433,4550,0.469,4551,0.577,4552,0.577,4553,0.577,4554,0.577,4555,0.577,4556,0.577,4557,0.577,4558,0.577,4559,0.577,4560,0.577,4561,0.577,4562,1.112,4563,0.577,4564,0.577,4565,0.577,4566,0.577,4567,0.577,4568,0.577,4569,0.577,4570,1.112,4571,0.577,4572,0.577,4573,0.577,4574,0.577,4575,0.577,4576,0.577,4577,1.03,4578,0.577,4579,1.112,4580,0.486,4581,0.577,4582,0.534,4583,0.577,4584,0.577,4585,0.577,4586,0.577,4587,0.577,4588,0.577,4589,0.577,4590,0.577,4591,0.577,4592,0.577,4593,0.577,4594,0.577,4595,0.577,4596,0.577,4597,0.577,4598,0.577,4599,0.577,4600,0.577,4601,0.534,4602,0.577,4603,0.577,4604,0.577,4605,0.534,4606,0.534,4607,0.534,4608,0.577,4609,0.577,4610,0.577,4611,1.609,4612,0.577,4613,0.507,4614,0.507,4615,0.577,4616,0.507,4617,0.577,4618,0.577,4619,0.577,4620,0.577,4621,0.577,4622,0.577,4623,0.577,4624,1.609,4625,1.609,4626,1.609,4627,0.577,4628,0.577,4629,0.577,4630,0.577,4631,0.577,4632,0.577,4633,0.577,4634,0.577,4635,0.577,4636,0.577,4637,0.577,4638,0.577,4639,0.577,4640,0.577,4641,0.577,4642,0.577,4643,0.577,4644,0.486,4645,0.577,4646,0.577,4647,0.577,4648,0.486,4649,0.577,4650,0.577,4651,0.577,4652,0.577,4653,0.577,4654,0.577,4655,0.577,4656,0.577,4657,0.577,4658,0.577,4659,0.577,4660,0.577,4661,0.577,4662,0.577,4663,0.577,4664,0.577,4665,0.577,4666,0.577,4667,0.577,4668,0.577,4669,0.577,4670,0.577,4671,0.577]],["component/72",[1,0.382,2,0.692,18,0.605]],["title/73",[500,47.129]],["name/73",[3,1.542]],["text/73",[1,2.037,2,3.54,10,3.909,18,1.945,29,3.135,38,1.89,70,2.264,84,6.464,124,3.622,167,2.66,203,4.617,206,6.511,234,2.423,313,3.232,316,5.138,400,3.932,487,3.31,500,6.705,512,3.777,555,3.553,750,3.777,903,5.954,1012,4.555,1015,4.737,1210,6.025,1220,3.886,1397,4.4,1910,4.598,4672,10.291]],["component/73",[1,0.382,2,0.692,18,0.605]],["title/74",[1210,48.324]],["name/74",[421,0.963,1210,1.103]],["text/74",[1,0.35,10,2.22,15,0.913,38,2.684,46,2.417,49,1.381,63,0.673,69,0.867,71,3.019,87,4.482,91,0.993,95,1.786,98,1.656,120,0.91,126,1.591,131,1.363,139,4.291,143,1.021,149,0.794,152,0.785,154,2.995,167,1.325,169,1.081,174,1.363,178,0.876,197,1.781,203,0.88,211,1.393,221,0.975,229,1.669,232,2.313,234,3.56,257,0.789,260,1.941,261,0.806,264,1.243,290,0.889,311,1.481,313,0.92,316,1.1,324,0.883,329,2.659,336,0.796,338,1.813,345,0.963,370,0.88,373,1.411,377,2.29,380,1.629,404,1.141,423,1.188,427,4.242,500,5.685,511,1.397,513,1.106,514,0.967,553,1.442,555,2.829,556,2.429,562,1.148,563,0.939,568,1.053,582,2.712,626,3.638,634,5.166,648,1.042,691,1.263,696,3.17,709,3.603,712,1.171,716,2.21,722,1.539,740,2.139,741,1.148,746,0.886,755,1.253,766,1.12,767,1.016,774,3.579,776,1.297,791,1.695,792,1.335,801,1.309,805,1.042,810,1.148,813,3.032,820,2.626,822,1.428,832,1.394,841,0.954,866,0.811,873,1.51,880,1.621,886,1.621,890,2.051,892,1.047,897,2.73,910,1.561,918,1.075,927,2.498,944,3.329,953,1.1,957,1.12,966,1.263,1024,3.945,1025,1.698,1027,4.406,1029,1.713,1030,0.939,1038,2.12,1045,1.561,1061,3.422,1069,1.411,1072,1.141,1105,1.769,1139,0.864,1146,1.589,1152,5.087,1164,1.411,1174,1.621,1176,2.507,1202,1.589,1208,1.205,1210,5.725,1220,1.106,1264,2.712,1282,4.513,1295,1.205,1307,1.793,1318,3.601,1324,1.087,1366,1.534,1429,1.113,1451,2.53,1491,8.876,1497,2.53,1538,1.656,1591,1.857,1593,1.857,1670,1.394,1689,1.466,1692,1.205,1850,6.157,1876,4.181,1882,5.049,1963,1.51,1970,1.378,2026,1.188,2076,1.695,2080,1.561,2098,4.445,2269,1.936,2274,1.534,2285,1.741,2314,2.042,2318,1.936,2333,1.857,2655,1.309,2781,1.857,2841,4.223,3153,1.51,3675,1.793,3825,1.936,4431,1.656,4534,2.042,4582,3.572,4673,2.203,4674,2.203,4675,2.203,4676,2.203,4677,2.203,4678,2.203,4679,5.136,4680,2.203,4681,2.203,4682,2.203,4683,2.203,4684,3.854,4685,3.854,4686,6.162,4687,2.042,4688,2.042,4689,2.203,4690,2.203,4691,2.203,4692,2.203]],["component/74",[1,0.382,2,0.692,18,0.605]],["title/75-1",[234,17.65,735,17.605,1558,38.05,2010,34.152]],["name/75-1",[]],["text/75-1",[]],["component/75-1",[]],["title/75-2",[1,10.292,62,16.531,1130,23.88]],["name/75-2",[]],["text/75-2",[]],["component/75-2",[]],["title/75-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/75-3",[]],["text/75-3",[]],["component/75-3",[]],["title/75",[211,27.589,234,23.9]],["name/75",[211,0.765,234,0.663]],["text/75",[1,1.319,10,2.636,46,2.235,62,2.75,63,1.741,70,2.432,71,2.649,80,3.188,98,3.571,117,3.419,126,2.352,141,3.632,167,3.709,173,2.932,211,2.06,229,2.468,234,3.872,253,2.146,257,2.041,272,2.914,283,2.16,290,2.3,329,2.95,416,4.502,423,3.071,488,2.914,511,2.066,553,2.132,555,2.616,572,3.453,709,2.334,735,3.583,748,4.014,778,3.968,805,2.695,813,4.251,820,2.914,852,2.616,866,2.099,876,3.605,883,3.419,884,3.295,918,2.781,1029,2.533,1030,4.181,1038,4.051,1061,2.352,1088,3.05,1135,3.488,1357,3.453,1362,4.94,1388,4.11,1413,3.792,1558,5.612,1970,3.564,2010,5.946,2015,5.612,2016,9.998,2134,3.605,2612,6.766,2907,4.385,4693,5.698,4694,7.705,4695,5.698,4696,5.698,4697,5.698,4698,5.698,4699,5.698,4700,8.313]],["component/75",[1,0.382,2,0.692,18,0.605]],["title/76-1",[812,35.658,962,35.254,2072,28.471,4701,41.463]],["name/76-1",[]],["text/76-1",[]],["component/76-1",[]],["title/76-2",[1,7.912,2,14.317,117,29.905,408,20.268,2072,25.179]],["name/76-2",[]],["text/76-2",[]],["component/76-2",[]],["title/76-3",[38,18.646,4702,64.312]],["name/76-3",[]],["text/76-3",[]],["component/76-3",[]],["title/76-4",[1,10.292,62,16.531,1130,23.88]],["name/76-4",[]],["text/76-4",[]],["component/76-4",[]],["title/76-5",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/76-5",[]],["text/76-5",[]],["component/76-5",[]],["title/76",[38,18.646,211,27.589]],["name/76",[38,0.517,211,0.765]],["text/76",[1,1.641,2,1.287,10,2.201,26,0.915,34,1.935,38,3.162,45,1.574,46,3.557,49,0.94,56,1.395,62,2.312,70,2.484,71,2.103,74,1.892,117,1.574,126,1.85,141,1.146,152,1.596,161,1.966,164,1.414,165,1.083,167,4.16,169,1.288,178,1.044,204,4.722,211,1.62,215,1.367,218,1.188,219,1.492,223,1.688,229,1.941,233,1.752,245,1.005,247,2.058,251,1.341,253,0.988,257,1.605,260,3.907,261,0.96,268,1.141,281,2.394,283,0.995,287,2.675,291,1.071,311,1.008,315,1.74,317,1.95,318,1.771,324,1.051,326,1.122,336,2.121,355,1.109,395,1.917,400,1.333,408,1.822,415,1.358,420,1.395,462,1.7,501,1.623,514,1.151,518,1.68,520,1.445,522,2.835,531,1.771,543,1.771,544,2.135,552,1.333,555,2.058,560,1.341,563,1.118,568,1.253,582,2.366,659,1.7,665,2.663,668,1.281,672,2.541,678,1.445,696,1.35,722,1.789,723,1.358,735,1.832,758,1.424,794,2.451,813,1.941,824,1.746,832,1.66,841,1.136,843,3.789,852,1.204,856,1.574,866,0.966,890,2.342,899,1.771,908,2.019,915,1.468,919,1.559,931,4.757,951,1.317,962,1.641,986,1.972,998,1.141,1015,1.606,1025,1.156,1029,1.166,1036,2.211,1038,2.422,1049,1.798,1054,1.317,1056,1.641,1079,1.358,1088,1.404,1130,2.555,1150,1.66,1230,1.35,1264,1.385,1304,3.208,1309,2.743,1311,1.623,1337,1.858,1340,2.305,1409,2.469,1452,2.803,1454,1.574,1473,1.892,1484,1.972,1492,1.7,1531,1.376,1558,1.771,1583,1.771,1607,2.019,1613,1.68,1615,2.803,1644,1.972,1673,2.135,1677,1.641,1892,3.071,1893,4.154,1927,1.531,2006,1.892,2026,1.414,2072,4.582,2101,5.341,2102,1.827,2169,1.798,2224,2.432,2225,2.305,2229,3.54,2306,1.858,2332,2.689,2452,1.7,2773,3.297,2804,2.305,2828,2.305,2955,4.775,3017,2.135,3227,2.073,3318,3.776,3549,5.339,4701,1.93,4702,8.408,4703,2.624,4704,2.624,4705,2.624,4706,2.624,4707,2.432,4708,2.624,4709,2.432,4710,2.624,4711,2.624,4712,2.624,4713,2.624,4714,2.305,4715,2.624,4716,4.482,4717,2.624,4718,2.624,4719,2.624,4720,2.135]],["component/76",[1,0.382,2,0.692,18,0.605]],["title/77-1",[1417,49.986]],["name/77-1",[]],["text/77-1",[]],["component/77-1",[]],["title/77-2",[197,26.467,1417,41.136]],["name/77-2",[]],["text/77-2",[]],["component/77-2",[]],["title/77-3",[1,10.292,62,16.531,1130,23.88]],["name/77-3",[]],["text/77-3",[]],["component/77-3",[]],["title/77-4",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/77-4",[]],["text/77-4",[]],["component/77-4",[]],["title/77-5",[38,15.841,39,25.255,1417,34.949]],["name/77-5",[]],["text/77-5",[]],["component/77-5",[]],["title/77-6",[38,15.841,1319,36.568,1417,34.949]],["name/77-6",[]],["text/77-6",[]],["component/77-6",[]],["title/77-7",[1,10.292,62,16.531,1130,23.88]],["name/77-7",[]],["text/77-7",[]],["component/77-7",[]],["title/77-8",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/77-8",[]],["text/77-8",[]],["component/77-8",[]],["title/77-9",[38,12.178,69,19.619,406,24.464,1139,19.55,1417,26.866]],["name/77-9",[]],["text/77-9",[]],["component/77-9",[]],["title/77-10",[304,58.672]],["name/77-10",[]],["text/77-10",[]],["component/77-10",[]],["title/77-11",[1,10.292,62,16.531,1130,23.88]],["name/77-11",[]],["text/77-11",[]],["component/77-11",[]],["title/77-12",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/77-12",[]],["text/77-12",[]],["component/77-12",[]],["title/77",[38,18.646,1417,41.136]],["name/77",[38,0.517,1417,1.141]],["text/77",[1,0.932,2,0.235,4,0.923,7,0.482,9,0.268,10,2.308,15,0.644,26,1.176,33,0.53,35,0.491,37,0.67,38,3.026,39,3.497,41,0.438,46,1.107,47,0.501,49,1.85,57,1.29,58,1.443,62,2.326,68,0.399,69,1.708,70,0.826,71,2.423,75,0.932,78,2.085,79,0.512,80,1.579,82,0.552,83,0.612,84,0.429,87,2.712,93,0.589,94,0.349,95,0.72,96,0.367,98,0.953,102,1.858,105,0.473,106,0.451,107,0.359,120,0.338,122,0.912,126,0.641,135,1.101,136,0.458,140,0.863,141,1.474,143,1.028,149,0.295,152,1.546,153,0.724,154,0.949,158,0.482,161,0.359,165,0.641,167,4.043,175,0.482,179,0.561,180,1.283,182,0.545,197,2.25,200,0.465,211,1.867,215,0.426,218,1.755,219,0.883,221,0.362,222,2.063,223,1.46,224,0.639,229,1.88,232,2.324,234,1.939,244,0.941,245,0.595,247,1.296,249,0.486,250,0.379,253,0.585,254,0.512,257,1.208,260,2.09,261,0.299,264,0.461,274,1.179,276,1.179,281,0.905,283,2.097,286,0.995,287,0.599,290,1.361,291,1.152,299,0.651,304,5.146,311,1.084,313,0.649,315,1.505,316,0.776,317,0.356,318,0.552,323,1.294,334,0.85,336,1.867,337,0.444,338,0.731,355,0.657,368,0.615,375,0.438,379,0.374,380,0.657,381,0.473,403,1.571,406,1.089,408,0.632,415,0.424,418,0.416,420,0.435,421,0.372,422,0.735,426,0.501,430,0.545,432,1.213,488,0.794,495,0.754,496,1.02,502,1.171,504,0.666,511,1.223,512,0.399,513,0.78,514,0.359,517,0.461,522,0.983,530,0.496,541,0.869,547,1.457,549,0.469,550,1.083,553,0.306,555,0.713,556,2.442,562,1.156,563,0.349,569,0.461,571,0.377,582,2.047,584,2.535,635,0.393,638,0.426,648,2.616,665,0.486,666,0.602,668,0.758,672,2.066,677,0.429,679,0.826,680,0.972,695,0.552,697,0.552,702,0.389,704,0.561,708,0.477,709,1.382,713,0.57,714,0.496,721,0.268,734,0.727,735,1.054,736,1.806,742,0.785,745,0.972,746,0.625,749,0.321,758,0.444,763,0.402,765,0.615,766,0.416,767,1.302,789,0.932,790,0.418,792,0.941,794,0.85,801,0.486,805,1.595,812,0.518,813,1.68,818,0.409,820,0.418,823,0.376,829,0.391,839,0.869,852,1.019,854,0.435,866,2.037,872,0.491,890,0.62,892,0.389,904,0.85,911,0.561,915,0.458,916,1.646,919,0.486,928,0.385,929,0.454,931,0.429,934,2.34,938,0.883,940,0.57,942,0.552,951,0.78,953,0.409,956,1.089,957,3.146,959,0.552,972,0.482,1025,1.244,1029,2.611,1030,2.2,1035,0.454,1038,1.601,1046,0.552,1054,0.411,1056,0.972,1057,1.232,1058,1.083,1061,0.338,1069,0.524,1072,0.424,1075,0.512,1088,2.96,1093,1.805,1105,0.713,1111,1.294,1113,1.746,1130,0.572,1136,0.602,1137,1.179,1139,4.63,1141,1.228,1166,0.57,1167,0.395,1176,0.399,1180,0.461,1181,0.615,1183,0.524,1202,1.6,1214,0.501,1220,0.411,1241,2.552,1255,0.451,1257,1.101,1259,0.454,1260,1.306,1261,0.57,1262,0.615,1264,1.49,1285,0.421,1290,0.561,1291,2.482,1301,0.496,1302,0.512,1304,1.543,1305,1.498,1311,0.506,1312,0.561,1318,0.421,1319,1.902,1321,0.506,1324,0.404,1342,0.537,1343,0.961,1352,0.518,1358,1.265,1366,0.57,1370,0.458,1387,0.59,1400,1.241,1409,0.856,1416,0.416,1417,6.458,1430,0.438,1436,0.602,1437,0.477,1452,0.391,1454,0.932,1456,0.57,1493,0.666,1512,0.552,1557,1.101,1570,0.646,1574,0.518,1597,0.461,1610,0.602,1613,0.524,1645,1.196,1649,3.429,1675,0.69,1677,0.972,1682,0.758,1692,0.447,1716,0.53,1726,0.995,1731,0.57,1838,0.69,1871,0.602,1910,0.923,1914,0.552,1922,1.42,1923,0.602,1927,0.477,1939,1.785,1967,0.561,1979,0.63,2005,1.806,2006,1.121,2023,0.615,2031,1.949,2036,0.719,2037,0.983,2042,3.407,2054,0.719,2082,1.143,2096,1.101,2115,1.007,2134,0.518,2156,1.667,2197,0.719,2198,0.719,2251,0.615,2276,0.58,2339,0.69,2359,0.561,2396,1.42,2416,0.615,2492,1.44,2617,1.228,2619,0.69,2657,0.69,2662,1.365,2666,0.666,2674,0.69,2736,0.719,2737,1.168,2742,1.365,2845,0.719,2970,0.758,2986,0.602,2988,0.512,2997,1.309,3083,5.468,3093,2.389,3153,0.561,3395,0.758,3420,1.44,3448,0.69,3593,4.537,3701,2.745,3781,2.48,3805,0.646,4291,2.056,4351,0.758,4355,1.806,4420,0.758,4431,0.615,4462,0.758,4483,0.646,4495,0.666,4528,0.615,4550,0.666,4714,0.719,4721,0.818,4722,0.818,4723,0.818,4724,2.822,4725,0.818,4726,0.818,4727,0.818,4728,2.389,4729,2.219,4730,0.818,4731,1.554,4732,2.219,4733,3.877,4734,0.818,4735,0.818,4736,0.818,4737,0.818,4738,0.818,4739,0.818,4740,0.818,4741,1.554,4742,0.818,4743,2.056,4744,0.818,4745,0.818,4746,1.554,4747,0.818,4748,0.818,4749,0.818,4750,0.818,4751,0.719,4752,0.666,4753,0.818,4754,0.818,4755,0.758,4756,0.818,4757,0.818,4758,0.818,4759,0.818,4760,1.44,4761,2.219,4762,0.818,4763,2.219,4764,0.818,4765,0.758,4766,0.818,4767,0.818,4768,0.818,4769,0.818,4770,0.818,4771,0.818,4772,0.818,4773,0.818,4774,0.818,4775,0.818,4776,0.818,4777,0.818,4778,2.219,4779,0.818,4780,2.822,4781,2.056,4782,0.818,4783,0.818,4784,0.818,4785,0.758,4786,1.265,4787,0.646,4788,1.228,4789,0.818,4790,0.63,4791,1.309,4792,0.818,4793,0.615,4794,0.818,4795,0.818,4796,0.818,4797,0.818,4798,1.554]],["component/77",[1,0.382,2,0.692,18,0.605]],["title/78",[117,55.64]],["name/78",[3,1.542]],["text/78",[1,2.083,2,3.594,10,3.826,38,2.948,40,4.683,63,1.983,70,2.671,71,1.752,84,6.563,116,4.696,117,7.711,122,2.67,124,3.04,197,2.252,203,3.644,206,4.108,211,4.361,234,3.305,247,2.981,313,2.712,316,3.241,380,2.744,487,2.778,512,3.169,555,2.981,750,3.169,865,3.28,957,3.3,1012,3.822,1063,4.955,1139,2.547,1397,3.692,1398,4.599,1413,6.075,1417,5.689,1613,4.157,1784,4.45,2072,3.28,2555,4.599,2984,4.776]],["component/78",[1,0.382,2,0.692,18,0.605]],["title/79-1",[539,35.04,923,40.568]],["name/79-1",[]],["text/79-1",[]],["component/79-1",[]],["title/79-2",[1076,37.177,1455,32.185,1456,45.151]],["name/79-2",[]],["text/79-2",[]],["component/79-2",[]],["title/79-3",[283,15.348,310,22.304,648,19.144,1403,34.114,1418,35.571,1419,26.239,1420,30.426]],["name/79-3",[]],["text/79-3",[]],["component/79-3",[]],["title/79-4",[287,24.997,1420,48.733,4487,54.639]],["name/79-4",[]],["text/79-4",[]],["component/79-4",[]],["title/79-5",[310,35.723,683,36.278,1420,48.733]],["name/79-5",[]],["text/79-5",[]],["component/79-5",[]],["title/79-6",[670,34.503,1419,36.532,1427,49.523,1435,49.523]],["name/79-6",[]],["text/79-6",[]],["component/79-6",[]],["title/79",[116,33.359,117,38.902,1063,35.2]],["name/79",[40,1.527,117,1.27]],["text/79",[0,0.424,1,1.226,2,2.017,3,2.215,4,3.073,10,0.702,15,0.495,24,0.845,26,0.772,34,0.296,35,0.716,36,0.936,37,0.955,38,2.031,39,3.008,44,0.738,46,0.468,47,4.522,48,2.924,49,1.11,62,1.315,69,0.47,70,0.349,71,2.97,78,1.064,80,1.239,83,0.47,87,2.066,88,0.831,97,0.703,101,0.784,102,0.657,105,0.69,109,2.286,116,1.992,117,0.716,122,1.872,136,0.668,140,1.229,143,1.027,148,0.61,153,2.654,154,0.947,158,0.703,161,0.524,163,0.929,167,3.11,173,1.594,176,0.653,178,0.881,183,1.39,197,0.768,203,0.476,211,0.431,218,1.403,219,1.762,221,0.528,222,2.995,224,0.491,229,0.517,230,0.69,232,1.163,241,1.372,242,0.731,244,0.94,245,0.848,247,1.017,253,0.834,257,0.793,259,1.006,281,0.487,283,1.955,285,0.673,287,1.492,290,1.563,291,0.487,299,2.162,310,1.707,311,0.459,313,1.294,315,0.463,316,0.596,327,2.471,328,1.069,332,0.61,336,2.235,337,0.648,345,0.968,375,1.185,379,1.012,380,2.799,381,0.69,402,0.663,404,0.618,408,0.485,415,0.618,425,2.195,426,0.731,428,2.8,432,1.694,487,0.511,491,0.626,494,1.542,495,1.504,496,1.454,497,1.304,498,0.592,503,0.784,511,1.87,518,0.764,520,0.657,522,0.755,526,0.897,530,1.878,539,0.548,540,0.723,541,0.668,548,0.657,549,1.27,550,2.781,552,1.575,553,0.829,569,0.673,571,0.551,582,1.169,589,1.625,622,0.69,648,2.439,665,1.316,668,1.081,670,1.356,671,0.989,672,0.959,678,0.657,681,0.639,683,3.706,690,1.119,702,0.567,709,0.489,713,0.831,722,0.476,723,0.618,734,1.451,741,1.615,742,1.565,746,0.891,767,0.551,783,1.062,790,0.61,794,0.653,810,0.622,812,0.755,820,0.61,823,0.548,831,0.696,843,0.878,846,0.561,848,0.643,849,0.634,852,0.548,866,1.426,883,0.716,892,1.84,918,0.582,919,0.709,922,0.784,923,1.177,927,2.951,928,1.821,929,0.663,931,1.162,942,1.495,953,2.575,957,0.606,962,0.746,964,0.897,982,0.679,984,1.803,1010,0.696,1021,0.746,1025,0.526,1027,1.177,1029,1.378,1030,0.508,1038,0.914,1048,0.897,1058,0.582,1063,1.682,1064,2.816,1071,1.704,1076,2.957,1079,0.618,1134,1.694,1139,1.215,1143,3.421,1148,1.22,1151,0.696,1167,0.576,1208,1.211,1210,1.154,1229,1.474,1230,1.139,1255,1.22,1293,0.784,1299,0.773,1302,0.746,1318,4.276,1343,0.738,1370,0.668,1393,0.784,1395,0.861,1403,3.836,1404,0.731,1413,0.794,1414,1.006,1416,0.606,1417,1.67,1418,4,1419,7.199,1420,4.648,1422,1.106,1423,1.106,1425,6.48,1427,5.434,1429,1.565,1430,0.639,1432,0.943,1434,0.897,1435,6.171,1441,2.053,1450,1.049,1451,0.784,1452,1.058,1455,1.538,1456,2.696,1457,0.738,1459,0.971,1462,2.346,1488,0.648,1531,0.626,1555,1.385,1569,0.943,1583,0.806,1610,0.878,1613,1.984,1638,1.006,1640,3.058,1646,0.897,1654,0.943,1657,0.943,1664,0.943,1665,1.006,1675,1.006,1704,0.897,1730,0.818,1736,1.106,1822,1.106,1826,1.106,1882,0.861,1888,0.784,1934,0.918,1980,1.75,2024,0.794,2026,2.087,2052,0.897,2057,0.831,2078,1.866,2081,1.356,2185,0.794,2228,1.049,2265,1.518,2361,1.629,2379,0.897,2398,1.049,2416,0.897,2510,0.971,2520,0.943,2523,4.219,2524,2.053,2527,1.27,2529,0.897,2532,3.058,2621,1.518,2661,1.803,2718,2.448,2986,0.878,2988,0.746,3009,2.522,3201,1.803,3212,1.106,3214,1.049,3295,1.049,3679,1.006,3790,1.006,4254,1.049,4303,1.106,4431,0.897,4458,1.106,4487,3.262,4549,0.897,4799,2.215,4800,2.215,4801,2.053,4802,1.193,4803,1.193,4804,5.033,4805,1.106,4806,1.106,4807,1.106,4808,1.106,4809,1.106,4810,4.552,4811,2.872,4812,1.106,4813,1.193,4814,1.193,4815,1.106,4816,1.193,4817,1.106,4818,1.193,4819,1.193,4820,1.193,4821,0.918,4822,0.971,4823,1.193,4824,1.193,4825,4.552,4826,1.866,4827,1.193,4828,1.049,4829,1.193,4830,1.106,4831,1.106,4832,0.943,4833,1.106,4834,2.215,4835,1.193,4836,5.006,4837,1.193,4838,1.193,4839,1.106,4840,1.106,4841,1.193,4842,2.215,4843,1.193,4844,2.215,4845,1.193,4846,1.193,4847,3.871,4848,2.215,4849,1.193,4850,1.193,4851,1.193,4852,1.193,4853,1.193,4854,3.099,4855,1.193,4856,2.215,4857,1.193,4858,1.193,4859,1.193,4860,1.193,4861,2.215,4862,1.193,4863,1.193,4864,1.193,4865,1.193,4866,1.193,4867,3.099,4868,1.193]],["component/79",[1,0.382,2,0.692,18,0.605]],["title/80-1",[197,19.546,734,26.386,1139,32.345]],["name/80-1",[]],["text/80-1",[]],["component/80-1",[]],["title/80",[734,26.386,934,30.379,1139,32.345]],["name/80",[734,0.544,934,0.627,1139,0.848]],["text/80",[10,1.121,38,2.646,46,3.281,57,4.507,70,1.034,71,0.954,98,2.469,102,1.948,126,1.459,138,2.211,152,3.277,158,2.081,161,1.551,165,1.459,167,4.263,197,3.884,222,1.319,234,3.507,245,1.354,257,1.266,260,1.336,261,1.294,263,2.504,311,1.358,315,1.372,324,1.416,326,1.512,329,1.83,355,1.494,374,2.263,375,1.892,511,2.084,539,3.334,555,1.623,556,1.672,638,1.842,648,1.672,690,1.786,716,2.027,734,2.691,735,3.383,772,1.689,801,2.101,813,3.146,832,2.237,840,2.142,866,1.302,875,2.081,890,1.411,918,1.726,934,3.914,947,1.905,965,1.786,1010,2.062,1020,2.72,1029,3.719,1030,3.094,1057,3.191,1058,1.726,1105,3.334,1133,2.877,1139,5.034,1143,2.657,1186,3.556,1189,2.387,1235,3.483,1258,2.353,1260,3.384,1264,3.834,1291,2.263,1301,5.069,1318,1.819,1324,1.745,1350,2.353,1370,1.978,1388,2.55,1404,3.518,1409,4.001,1416,1.797,1531,1.854,1852,2.353,1875,2.601,1923,5.343,1924,1.842,1940,2.793,1942,2.877,1967,3.939,1972,5.327,1984,5.05,2026,3.098,2241,2.979,2648,3.277,2690,6.639,2755,7.271,2925,1.68,4325,3.106,4378,2.979,4714,3.106,4869,3.535,4870,3.535,4871,8.365,4872,9.862,4873,3.535,4874,3.535,4875,7.263,4876,3.535,4877,3.535,4878,3.277,4879,3.277,4880,3.535,4881,2.979,4882,3.535,4883,3.535,4884,3.106,4885,3.535,4886,3.535,4887,3.277]],["component/80",[1,0.382,2,0.692,18,0.605]],["title/81-1",[1061,26.767,1139,25.431,2678,49.895]],["name/81-1",[]],["text/81-1",[]],["component/81-1",[]],["title/81",[1139,29.934,1688,60.293]],["name/81",[1139,0.83,1688,1.672]],["text/81",[1,0.902,2,1.632,4,1.45,26,1.981,43,2.258,49,1.248,62,0.888,68,2.772,69,2.236,71,0.94,152,1.241,167,4.573,197,1.208,218,3.255,222,2.682,223,1.312,232,2.132,234,2.252,244,2.41,247,1.6,253,1.312,257,2.035,260,1.317,261,1.275,267,2.288,281,1.422,285,3.203,311,1.339,317,1.516,324,1.396,334,1.905,336,1.26,338,1.639,375,1.865,511,2.06,539,1.6,560,1.781,648,3.922,665,2.07,696,2.922,709,2.327,712,1.852,727,4.721,735,1.774,758,3.084,813,1.509,866,2.648,928,1.639,934,1.878,937,2.319,957,1.771,997,1.827,1029,4.593,1030,5.185,1038,1.438,1056,2.179,1057,4.604,1061,3.424,1069,2.231,1139,5.108,1186,2.156,1229,3.78,1234,6.318,1264,1.84,1290,4.928,1295,1.905,1301,2.111,1302,6.462,1385,2.936,1429,1.76,1487,2.388,1574,2.204,1587,3.344,1637,2.468,1688,8.509,1922,2.231,1939,6.815,2031,3.061,2133,3.229,2401,8.161,2427,2.563,2528,2.836,2678,7.538,2690,5.982,2755,2.753,2979,2.753,3242,3.061,3781,4.991,4408,2.936,4496,2.563,4743,3.229,4887,3.229,4888,3.484,4889,3.484,4890,8.294,4891,7.191,4892,8.294,4893,3.229,4894,3.484,4895,3.484,4896,3.484,4897,3.484,4898,3.484,4899,3.484,4900,3.484,4901,3.484]],["component/81",[1,0.382,2,0.692,18,0.605]],["title/82-1",[285,36.568,677,34.008,1139,25.431]],["name/82-1",[]],["text/82-1",[]],["component/82-1",[]],["title/82-2",[767,29.912,1139,25.431,2306,45.925]],["name/82-2",[]],["text/82-2",[]],["component/82-2",[]],["title/82",[1139,36.374]],["name/82",[1139,1.408]],["text/82",[1,1.276,2,1.939,4,0.866,6,1.317,7,1.226,10,1.878,18,0.922,38,2.879,46,2.92,50,1.184,52,1.194,57,3.673,62,0.531,63,1.501,66,1.79,69,0.819,71,2.426,84,1.092,93,0.789,95,0.965,98,1.575,99,0.961,106,2.02,109,1.841,114,0.965,122,1.508,126,0.86,131,1.288,141,0.91,152,0.741,154,0.891,161,2.962,163,0.873,167,3.225,169,1.022,180,1.204,197,1.704,205,2.159,211,1.326,215,1.085,223,1.381,225,2.245,232,1.845,234,2.114,244,0.884,245,1.404,251,1.875,253,0.784,257,0.746,260,1.386,261,1.342,266,1.139,267,2.408,276,1.949,281,0.85,283,0.789,285,1.174,287,1.894,290,0.84,311,0.8,315,1.423,316,1.039,326,0.891,332,1.065,336,1.326,338,0.98,341,3.146,342,1.275,345,0.91,380,1.55,406,1.022,418,1.864,421,1.668,422,1.734,426,2.245,439,1.406,487,0.891,488,1.065,496,1.367,498,1.033,502,1.099,512,1.016,539,3.099,550,1.79,553,2.216,555,2.718,556,3.521,563,0.887,571,0.961,584,2.756,589,1.923,622,2.121,638,1.085,648,4.598,655,2.294,672,0.902,677,1.923,680,1.302,695,1.406,722,0.831,727,1.367,735,2.326,742,2.482,767,1.692,772,2.829,794,1.139,796,1.427,813,4.212,818,1.039,823,0.956,831,1.215,840,1.262,852,4.128,855,2.893,862,1.302,866,0.767,868,2.441,884,2.121,892,1.743,915,1.165,916,1.215,928,0.98,934,1.122,936,3.074,938,1.184,941,1.427,943,1.45,957,1.058,966,1.194,973,1.349,981,1.565,997,1.092,1015,1.275,1018,1.184,1025,0.918,1029,2.632,1030,1.562,1038,0.86,1057,1.156,1058,1.016,1063,1.13,1072,1.078,1126,1.226,1130,0.767,1134,1.139,1137,1.107,1139,4.907,1145,1.427,1154,2.668,1169,1.475,1176,1.79,1179,1.565,1180,1.174,1185,1.204,1186,3.04,1189,1.406,1194,5.073,1227,1.406,1229,2.441,1230,1.071,1235,2.978,1249,1.215,1257,1.475,1260,3.974,1285,1.071,1301,4.512,1306,2.594,1318,3.046,1357,1.262,1362,1.237,1389,1.502,1394,1.754,1400,1.165,1404,2.245,1429,1.852,1446,1.349,1479,1.93,1488,1.13,1531,1.092,1576,1.184,1597,1.174,1670,1.317,1677,1.302,1714,1.602,1879,1.602,1882,1.502,1895,1.695,1901,1.602,1910,1.237,1923,1.532,1927,1.215,1929,1.602,1931,1.565,1939,4.271,1940,1.645,1941,1.754,1942,1.695,1943,1.695,1944,1.754,1945,1.645,1967,1.427,1974,1.317,1975,1.829,1979,1.602,2002,1.645,2015,1.406,2022,1.406,2026,1.122,2046,1.427,2053,1.695,2076,1.602,2134,1.317,2135,1.754,2377,1.93,2378,1.829,2380,3.399,2381,1.93,2396,1.333,2426,1.532,2718,1.645,3494,1.93,4378,1.754,4528,1.565,4529,1.602,4614,1.829,4878,1.93,4902,1.93,4903,2.082,4904,2.082,4905,2.082,4906,1.93,4907,1.93,4908,2.082,4909,1.93,4910,2.082,4911,1.93,4912,1.93,4913,2.082,4914,1.829,4915,2.082,4916,2.082,4917,3.667,4918,2.082,4919,2.082,4920,2.082]],["component/82",[1,0.382,2,0.692,18,0.605]],["title/83",[1310,54.056,2020,56.145]],["name/83",[1310,1.499,2020,1.557]],["text/83",[10,2.325,38,2.425,58,5.159,71,1.299,75,2.888,95,4.116,96,3.983,138,3.011,154,2.06,178,1.915,211,2.65,221,3.245,222,3.312,223,2.761,229,2.086,232,2.752,234,3.108,244,2.043,245,1.844,287,4.338,299,3.723,311,1.85,324,1.929,329,2.493,338,2.265,375,2.577,462,3.12,520,4.039,541,2.694,553,2.743,562,2.509,582,2.542,638,2.509,659,3.12,709,3.003,722,1.922,734,2.254,742,2.432,766,2.447,805,2.277,813,3.846,823,2.21,841,2.086,862,3.011,915,2.694,919,2.861,923,2.559,933,3.705,941,3.299,953,2.404,954,2.917,957,2.447,972,2.834,1105,4.076,1135,2.947,1137,3.897,1139,4.589,1186,5.493,1259,2.673,1285,2.477,1295,4.009,1324,5.554,1429,2.432,1574,4.638,1606,3.299,1648,3.919,1699,5.288,1716,3.12,1852,3.204,1961,4.23,1977,3.011,2020,8.607,2080,3.41,2529,3.618,2607,3.542,2825,8.229,2988,3.011,4921,4.462,4922,4.814,4923,4.814,4924,4.057,4925,3.919,4926,4.814,4927,8.878]],["component/83",[1,0.382,2,0.692,18,0.605]],["title/84-1",[46,25.431,234,20.305,1404,39.693]],["name/84-1",[]],["text/84-1",[]],["component/84-1",[]],["title/84-2",[38,13.77,57,25.755,735,17.605,1404,34.503]],["name/84-2",[]],["text/84-2",[]],["component/84-2",[]],["title/84",[164,34.949,1139,25.431,1404,39.693]],["name/84",[164,0.809,1139,0.589,1404,0.919]],["text/84",[1,0.757,4,0.528,10,1.037,15,0.972,18,0.319,33,1.52,38,2.369,39,0.495,43,0.823,44,0.786,46,2.114,47,0.777,49,0.84,57,3.327,63,1.457,65,0.916,66,0.62,69,0.5,71,1.604,78,1.127,79,0.794,80,3.324,83,1.602,84,0.666,87,0.94,95,0.589,98,1.748,115,2.24,122,0.522,124,0.594,141,0.555,143,0.589,152,2.116,154,0.543,158,0.748,163,0.532,164,0.684,167,4.511,197,0.44,203,0.507,211,0.459,221,1.447,222,2.852,223,1.533,225,4.885,229,1.016,230,0.734,232,0.477,234,3.037,244,1.727,245,0.486,247,0.583,249,3.531,251,2.081,253,1.533,260,1.235,261,1.196,276,2.865,283,0.889,285,0.716,287,0.49,290,1.643,291,1.661,310,2.97,311,2.472,315,0.91,317,0.552,324,1.912,326,0.543,332,1.671,336,0.459,340,0.803,341,0.813,342,2.001,345,1.778,371,0.884,380,1.382,408,0.516,420,1.247,421,1.487,422,1.546,426,0.777,432,0.694,462,1.52,491,0.666,495,0.616,511,1.185,513,1.178,517,0.716,520,0.7,532,0.813,533,0.794,538,0.627,539,4.363,543,0.857,553,0.878,556,2.256,562,1.222,569,0.716,582,0.67,615,0.68,638,1.703,648,4.752,653,0.777,655,0.794,659,0.823,665,0.755,672,1.416,702,1.554,709,1.667,727,0.834,735,2.676,741,0.662,746,0.511,758,0.689,763,1.151,766,0.645,801,0.755,813,2.787,823,0.583,866,1.204,883,0.762,884,0.734,918,0.62,928,1.104,929,2.259,934,0.684,947,1.264,948,0.786,958,0.762,982,0.722,992,2.163,998,0.552,1025,1.034,1029,4.032,1030,2.931,1038,0.524,1049,4.41,1057,3.298,1058,2.329,1067,0.899,1070,0.684,1075,0.794,1079,0.657,1135,2.001,1137,0.675,1139,4.12,1154,5.264,1176,0.62,1179,0.954,1180,0.716,1184,1.909,1186,3.676,1187,1.07,1189,2.207,1194,1.763,1195,1.116,1229,2.709,1230,3.31,1232,2.315,1235,1.421,1241,0.68,1249,1.907,1258,0.845,1260,1.381,1265,0.916,1285,0.653,1301,2.891,1306,1.238,1318,1.207,1324,0.627,1369,0.794,1370,0.71,1382,1.003,1393,0.834,1404,7.361,1429,4.8,1487,0.87,1492,0.823,1531,0.666,1583,0.857,1592,1.805,1657,1.003,1677,1.467,1731,0.884,1835,3.133,1852,0.845,1895,1.033,1929,2.515,1933,1.07,1939,3.018,1940,1.853,1941,3.429,1942,1.909,1945,1.003,1947,1.116,1948,1.116,1954,2.872,1955,7.529,1957,3.03,1967,0.87,1977,0.794,1999,0.899,2023,1.763,2102,0.884,2426,0.934,2493,1.033,2583,1.07,2690,1.692,2755,3.215,2804,1.116,2987,0.899,3017,1.033,3965,1.177,4223,1.116,4305,5.599,4431,0.954,4453,1.116,4790,0.977,4907,1.177,4909,1.177,4928,1.27,4929,3.772,4930,3.269,4931,3.576,4932,4.07,4933,5.941,4934,7.646,4935,6.435,4936,3.269,4937,3.269,4938,2.346,4939,1.27,4940,2.872,4941,1.27,4942,1.27,4943,1.27,4944,1.27,4945,2.346,4946,2.346,4947,2.346,4948,1.116,4949,1.177,4950,1.27,4951,1.27,4952,1.177,4953,1.27,4954,2.346,4955,1.27,4956,1.27,4957,1.27,4958,1.27,4959,1.27,4960,1.27,4961,1.27,4962,1.27]],["component/84",[1,0.382,2,0.692,18,0.605]],["title/85",[39,25.255,556,30.662,1139,25.431]],["name/85",[39,0.585,556,0.71,1139,0.589]],["text/85",[1,0.742,2,0.791,4,2.531,10,1.929,35,1.653,38,2.65,39,3.806,46,3.146,48,1.303,57,3.665,63,1.427,71,1.934,78,1.323,83,1.084,84,1.445,98,2.007,131,1.704,136,1.541,138,1.723,152,2.166,154,1.179,161,1.209,167,4.256,174,1.704,182,1.833,197,0.955,205,2.75,219,2.656,225,1.686,234,2.512,249,1.637,251,3.663,254,1.723,257,0.987,267,1.809,285,1.554,287,1.801,290,1.112,310,1.518,311,1.058,315,2.361,323,2.726,326,1.999,332,2.389,406,1.352,418,2.374,419,1.464,420,1.464,421,2.125,422,2.209,426,1.686,496,3.067,498,1.367,513,1.383,538,2.306,539,4.838,553,1.031,555,1.265,556,4.621,622,1.593,638,1.435,648,4.621,659,1.786,665,1.637,668,1.345,672,1.193,696,1.417,709,1.129,723,1.426,727,1.809,735,2.238,742,1.392,748,1.33,772,3.832,813,3.104,818,1.375,840,1.669,852,1.265,892,1.309,898,1.833,928,2.862,929,1.529,938,1.566,957,2.374,973,1.786,974,2.553,1029,2.077,1030,1.991,1049,1.888,1058,1.345,1064,4.432,1072,1.426,1126,1.622,1135,2.86,1137,1.464,1139,5.093,1154,3.302,1169,1.951,1179,2.07,1180,1.554,1184,4.951,1186,2.89,1189,1.86,1227,1.86,1229,3.109,1230,1.417,1231,2.553,1235,1.669,1285,1.417,1293,1.809,1301,4.86,1306,2.467,1309,1.686,1404,4.91,1429,2.36,1462,1.669,1498,2.421,1677,1.723,1681,2.12,1776,3.37,1895,2.242,1901,2.12,1909,1.86,1929,2.12,1939,2.956,1940,2.176,1941,2.321,1943,2.242,1945,5.66,1946,2.553,1947,2.421,1948,4.105,1970,1.723,1974,1.743,2024,1.833,2044,2.321,2053,2.242,2096,1.951,2241,2.321,2303,2.07,2359,1.888,2378,2.421,2396,2.991,3171,2.553,4266,2.07,4305,2.242,4911,2.553,4912,2.553,4929,2.553,4931,2.421,4949,2.553,4952,2.553,4963,2.755,4964,2.553,4965,2.755,4966,2.755,4967,2.755,4968,2.755,4969,2.755,4970,2.755,4971,2.755,4972,2.755,4973,2.755,4974,2.755,4975,2.755,4976,2.755,4977,2.755,4978,3.437,4979,2.755,4980,3.802,4981,2.755]],["component/85",[1,0.382,2,0.692,18,0.605]],["title/86-1",[38,18.646,153,35.553]],["name/86-1",[]],["text/86-1",[]],["component/86-1",[]],["title/86-2",[866,34.155]],["name/86-2",[]],["text/86-2",[]],["component/86-2",[]],["title/86-3",[1254,78.148]],["name/86-3",[]],["text/86-3",[]],["component/86-3",[]],["title/86-4",[62,23.643]],["name/86-4",[]],["text/86-4",[]],["component/86-4",[]],["title/86-5",[10,20.564,62,16.531,408,26.366]],["name/86-5",[]],["text/86-5",[]],["component/86-5",[]],["title/86-6",[211,27.589,1076,43.759]],["name/86-6",[]],["text/86-6",[]],["component/86-6",[]],["title/86-7",[1343,57.375]],["name/86-7",[]],["text/86-7",[]],["component/86-7",[]],["title/86-8",[1026,62.119,1055,50.11]],["name/86-8",[]],["text/86-8",[]],["component/86-8",[]],["title/86",[848,34.949,849,34.466,850,34.008]],["name/86",[848,0.809,849,0.798,850,0.787]],["text/86",[0,0.288,1,0.244,2,0.442,4,0.337,7,1.294,9,0.504,10,1.501,13,0.507,15,0.638,18,0.204,23,0.525,26,0.976,33,0.525,38,2.865,39,0.316,41,0.434,46,3.174,49,0.551,51,0.496,62,2.508,63,1.022,69,0.865,71,1.483,81,0.64,85,0.712,87,0.881,89,0.933,91,0.694,98,0.661,100,1.238,106,0.446,107,0.675,109,0.773,116,0.417,120,0.635,124,0.379,126,0.334,130,0.491,136,0.453,138,0.963,140,1.553,141,0.354,143,0.713,149,0.555,152,1.37,153,1.024,154,0.658,161,0.675,163,0.34,166,0.703,167,4.609,175,0.477,178,0.322,180,0.468,194,1.33,197,0.281,203,0.323,207,1.695,211,4.167,213,0.609,216,0.34,218,0.367,221,0.359,222,0.82,223,0.58,229,0.667,232,0.304,244,0.933,245,0.31,247,0.707,250,4.561,253,0.305,257,1.198,260,0.306,261,1.024,272,0.414,281,0.331,283,1.268,286,0.986,287,0.593,290,0.327,291,0.628,311,0.845,313,0.643,315,0.314,317,0.352,326,0.94,336,1.011,337,0.44,342,0.496,344,0.453,355,2.167,370,0.878,371,1.072,379,0.37,380,0.342,381,1.271,404,0.419,406,0.398,408,0.626,419,0.431,421,0.7,427,0.933,488,0.414,495,0.747,497,1.647,498,0.402,500,0.412,502,0.428,511,1.859,512,0.395,514,0.355,526,0.609,538,0.4,539,0.707,541,0.453,542,0.473,555,0.372,556,0.383,560,0.414,562,0.802,571,0.374,572,3.107,589,0.807,615,1.177,638,0.422,654,2.536,668,0.751,672,0.952,680,0.963,683,0.453,696,1.131,714,0.491,715,0.564,716,0.464,721,0.504,722,1.335,731,0.446,735,1.602,744,0.942,746,1.547,748,0.391,749,0.604,755,0.461,761,1.142,763,0.398,766,0.412,767,0.374,772,0.387,793,0.477,794,1.202,805,0.383,813,2.221,817,1.557,818,1.397,820,0.414,839,1.565,843,0.61,846,1.034,848,6.589,849,6.637,850,5.602,852,1.009,853,1.917,854,0.818,856,3.076,866,0.567,876,0.512,890,0.614,892,0.731,914,1.184,916,0.473,918,0.751,919,0.481,925,0.491,928,0.381,936,0.507,938,0.875,943,0.564,944,0.525,953,0.768,954,0.491,956,0.398,966,0.464,972,3.622,973,0.997,992,1.487,998,0.352,1018,0.461,1025,0.678,1026,4.173,1027,0.818,1028,2.038,1029,3.681,1030,2.621,1031,0.751,1032,2.593,1033,0.751,1034,1.184,1035,2.847,1036,1.852,1037,0.683,1038,3.083,1039,0.751,1040,0.751,1043,0.751,1044,0.751,1048,2.103,1049,1.055,1050,0.751,1051,0.751,1054,1.104,1055,3.831,1056,2.406,1057,2.391,1058,2.103,1059,0.751,1060,0.751,1062,1.426,1064,1.36,1065,1.531,1066,1.557,1075,2.694,1076,5.209,1079,0.419,1083,0.751,1084,1.917,1088,1.177,1097,2.514,1098,2.593,1099,1.426,1105,1.284,1109,0.64,1111,0.473,1113,0.501,1115,2.038,1116,1.426,1117,1.253,1118,0.751,1119,1.852,1120,1.352,1121,1.352,1122,1.426,1123,1.216,1124,2.458,1126,0.477,1129,0.683,1130,0.81,1135,0.496,1136,0.596,1137,0.818,1139,0.318,1145,0.555,1148,0.446,1149,2.939,1154,1.193,1170,1.426,1175,1.36,1176,0.395,1208,0.443,1210,1.145,1219,0.574,1230,0.417,1232,1.09,1240,1.253,1254,1.852,1255,0.446,1262,0.609,1285,1.439,1291,0.519,1319,0.868,1321,0.952,1340,0.712,1343,1.36,1350,1.463,1362,0.481,1366,1.072,1370,0.453,1408,0.751,1409,0.446,1425,0.898,1452,0.387,1462,0.491,1511,0.574,1531,1.153,1538,0.609,1555,0.963,1584,0.596,1587,0.477,1615,0.507,1684,0.512,1692,0.842,1696,0.596,1783,0.584,1831,0.519,1838,0.683,1927,0.898,1967,1.917,1970,0.507,2024,0.539,2082,0.596,2092,0.659,2103,0.555,2115,2.168,2152,1.652,2255,0.659,2315,1.055,2332,0.486,2351,0.751,2396,0.519,2400,0.89,2422,0.659,2424,0.751,2425,0.712,2426,0.596,2452,1.425,2493,2.277,2496,0.683,2607,1.132,2655,0.481,2686,0.574,2761,0.609,2838,4.749,2839,0.751,2907,0.623,2984,0.596,3086,0.659,3255,0.712,3600,2.358,3995,0.683,4266,0.609,4325,0.712,4333,0.683,4387,0.712,4496,0.596,4549,0.609,4728,0.574,4839,1.426,4982,1.426,4983,0.712,4984,0.81,4985,0.81,4986,0.81,4987,0.712,4988,0.81,4989,0.751,4990,0.712,4991,0.81,4992,1.426,4993,0.751,4994,1.539,4995,0.81,4996,0.81,4997,1.539,4998,1.539,4999,1.539,5000,1.539,5001,1.539,5002,1.539,5003,0.81,5004,1.352,5005,0.81,5006,0.81,5007,0.81,5008,2.458,5009,1.539,5010,0.81,5011,2.198,5012,2.038,5013,0.81,5014,2.198,5015,0.81,5016,0.81,5017,0.81,5018,0.81,5019,0.751,5020,0.81,5021,0.81,5022,0.81,5023,0.81,5024,0.81,5025,1.539,5026,0.81,5027,0.81,5028,0.81,5029,0.81,5030,0.81,5031,0.81,5032,0.81,5033,0.81,5034,0.81,5035,0.81,5036,0.81,5037,0.81,5038,1.539,5039,0.81,5040,0.81,5041,0.81,5042,0.751,5043,0.712,5044,0.81,5045,1.539,5046,0.81,5047,0.81]],["component/86",[1,0.382,2,0.692,18,0.605]],["title/87-1",[735,20.254,843,25.702,2100,37.497]],["name/87-1",[]],["text/87-1",[]],["component/87-1",[]],["title/87-2",[38,13.77,655,35.254,735,17.605,2100,32.595]],["name/87-2",[]],["text/87-2",[]],["component/87-2",[]],["title/87-3",[38,12.178,98,21.413,153,23.22,735,15.57,843,19.758]],["name/87-3",[]],["text/87-3",[]],["component/87-3",[]],["title/87-4",[46,29.934,846,35.908]],["name/87-4",[]],["text/87-4",[]],["component/87-4",[]],["title/87-5",[211,16.151,250,20.712,735,13.956,846,21.021,898,29.735,1977,27.946]],["name/87-5",[]],["text/87-5",[]],["component/87-5",[]],["title/87-6",[38,13.77,735,17.605,843,22.341,846,26.518]],["name/87-6",[]],["text/87-6",[]],["component/87-6",[]],["title/87-7",[848,34.949,849,34.466,850,34.008]],["name/87-7",[]],["text/87-7",[]],["component/87-7",[]],["title/87-8",[62,16.531,380,27.404,843,25.702]],["name/87-8",[]],["text/87-8",[]],["component/87-8",[]],["title/87-9",[38,15.841,843,25.702,1082,42.026]],["name/87-9",[]],["text/87-9",[]],["component/87-9",[]],["title/87-10",[38,15.841,735,20.254,1308,37.829]],["name/87-10",[]],["text/87-10",[]],["component/87-10",[]],["title/87-11",[63,23.313,730,35.208]],["name/87-11",[]],["text/87-11",[]],["component/87-11",[]],["title/87-12",[120,31.506,929,42.369]],["name/87-12",[]],["text/87-12",[]],["component/87-12",[]],["title/87",[38,18.646,843,30.252]],["name/87",[3,1.542]],["text/87",[1,0.457,4,0.996,8,0.204,10,1.913,15,0.993,18,0.17,26,1.005,29,0.275,37,1.033,38,3.191,44,0.804,46,3.397,49,0.243,52,0.389,57,0.593,61,0.864,62,2.541,63,1.378,69,1.134,70,0.547,71,2.221,75,0.407,78,0.326,83,0.267,93,0.257,94,0.553,95,0.314,97,0.399,98,1.029,100,0.575,102,0.374,105,1.385,109,0.34,114,0.602,115,0.465,120,1.19,122,0.534,126,0.28,138,1.498,141,1.259,143,1.336,148,0.347,149,0.468,152,0.241,153,3.041,161,1.051,167,4.326,175,0.399,176,1.31,177,0.365,183,0.304,186,0.396,194,0.322,197,1.794,203,1.654,207,2.274,211,3.664,215,0.677,216,0.545,219,1.895,221,2.424,222,1.4,223,0.704,229,0.81,232,1.556,244,0.793,245,1.981,247,0.311,248,0.51,250,4.247,253,3.211,257,0.465,260,2.375,261,1.055,267,0.445,272,0.956,274,0.994,276,1.532,281,1.176,283,2.643,287,0.261,290,0.524,299,0.545,301,1.054,310,0.374,311,0.499,313,0.542,315,2.009,316,0.339,324,0.52,326,0.556,327,0.368,329,0.672,334,0.371,336,0.245,337,0.368,340,0.429,342,0.415,345,0.567,355,0.287,371,1.668,373,0.434,377,0.403,379,0.31,380,0.549,381,0.392,404,0.351,408,0.276,421,0.591,428,0.588,430,0.864,432,1.022,433,0.89,487,0.29,488,1.473,491,0.356,495,1.163,498,1.43,506,2.452,511,0.471,513,0.34,517,0.382,518,0.434,520,0.374,523,0.536,531,0.458,539,0.596,541,0.727,542,0.396,548,0.374,551,1.141,553,1.936,555,2.769,562,1.955,569,1.054,574,0.499,648,2.295,653,0.415,655,3.035,668,1.169,671,0.303,679,0.69,680,0.812,691,0.389,696,1.715,708,0.396,709,1.848,712,0.36,715,0.472,716,0.389,722,1.331,723,0.968,724,0.695,730,1.329,734,0.317,735,3.541,748,1.156,749,0.266,755,0.386,758,1.015,761,0.53,763,0.333,764,0.465,766,0.345,767,0.599,772,0.324,793,0.765,794,1.022,800,0.389,801,0.772,805,1.363,806,0.472,808,2.189,813,2.242,820,0.347,823,0.311,837,0.458,843,4.681,845,0.458,846,3.722,848,1.007,849,0.994,850,0.98,852,2.515,854,0.69,856,1.437,862,0.424,866,1.661,873,0.465,884,0.751,890,2.606,896,0.499,897,0.92,898,1.918,907,0.955,912,0.864,914,0.522,916,0.396,918,1.406,919,0.403,928,0.319,929,2.083,931,0.356,934,0.365,936,0.424,944,0.439,953,0.648,954,0.787,956,0.917,965,0.343,975,0.571,997,0.356,998,0.295,1015,0.415,1017,0.51,1025,0.572,1027,1.273,1029,2.435,1030,2.334,1034,0.522,1035,0.376,1038,1.376,1049,0.89,1055,0.445,1056,1.498,1057,0.721,1058,1.169,1061,2.003,1070,0.365,1076,0.389,1084,3.091,1088,0.695,1092,1.696,1097,2.505,1117,1.057,1119,1.094,1127,0.445,1130,1.227,1135,0.795,1137,3.706,1152,0.374,1164,0.434,1167,0.327,1175,0.419,1176,0.634,1180,0.382,1210,0.677,1216,1.348,1220,0.34,1227,0.458,1230,1.715,1233,0.451,1241,0.363,1258,0.864,1265,0.937,1291,1.845,1304,1.022,1306,0.686,1308,0.396,1309,0.415,1311,0.804,1312,0.89,1318,0.349,1321,2.322,1324,0.335,1342,0.445,1350,0.451,1357,1.451,1409,0.374,1414,0.571,1415,0.522,1430,1,1432,0.536,1433,0.596,1436,0.499,1448,0.955,1452,1.592,1454,0.407,1456,0.472,1503,0.499,1512,1.262,1531,0.356,1555,1.169,1576,0.738,1580,0.522,1583,0.458,1585,0.445,1589,0.499,1590,0.628,1608,0.628,1609,0.465,1611,1.477,1615,0.424,1670,0.822,1684,1.183,1692,0.371,1710,0.472,1717,0.536,1731,0.472,1734,0.499,1770,0.489,1831,0.434,1839,0.864,1852,0.864,1875,1.762,1898,0.571,1899,0.596,1910,1.423,1911,0.552,1914,0.458,1924,0.677,1927,0.396,1938,0.458,1950,0.628,1970,1.169,1974,0.429,1977,0.424,1980,1.477,2010,0.411,2037,0.429,2052,0.51,2057,0.904,2080,0.48,2081,0.415,2082,0.955,2100,3.488,2134,0.429,2152,0.976,2159,0.596,2197,1.642,2311,0.51,2315,0.89,2334,0.499,2371,0.628,2396,0.434,2400,1.385,2532,1.026,2535,0.489,2607,3.048,2621,0.465,2661,0.552,2666,0.552,2681,0.458,2716,1.892,2773,1.375,2796,0.51,2841,0.465,2869,1.575,2900,3.162,2907,1.843,2937,2.671,2938,1.204,2939,0.999,2971,0.552,2987,0.48,3140,2.018,3228,1.141,3448,0.571,3702,1.521,3795,1.732,3814,1.843,4232,0.596,4286,1.204,4368,0.489,4496,0.499,4497,1.094,4528,0.51,4701,0.499,4879,1.204,4948,1.141,4982,1.204,4989,0.628,5048,1.094,5049,0.571,5050,0.678,5051,0.678,5052,0.678,5053,0.678,5054,1.204,5055,0.678,5056,1.869,5057,1.869,5058,0.678,5059,1.869,5060,0.678,5061,0.678,5062,0.678,5063,0.678,5064,1.299,5065,2.395,5066,1.299,5067,0.678,5068,0.678,5069,0.596,5070,0.596,5071,0.536,5072,0.678,5073,0.678,5074,0.678,5075,0.678,5076,0.678,5077,0.678,5078,2.532,5079,0.678,5080,0.628,5081,0.678,5082,0.678,5083,0.678,5084,0.678,5085,2.395,5086,0.678,5087,0.678,5088,1.299,5089,1.299,5090,0.678,5091,0.678,5092,0.678,5093,0.678,5094,1.299,5095,2.881,5096,1.204,5097,2.395,5098,0.678,5099,0.678,5100,0.678,5101,0.678,5102,0.678,5103,0.678,5104,0.678,5105,0.678,5106,0.678,5107,0.678,5108,0.678,5109,0.678,5110,0.628,5111,0.678]],["component/87",[1,0.382,2,0.692,18,0.605]],["title/88-1",[62,23.643]],["name/88-1",[]],["text/88-1",[]],["component/88-1",[]],["title/88-2",[62,16.531,843,25.702,931,34.008]],["name/88-2",[]],["text/88-2",[]],["component/88-2",[]],["title/88-3",[62,14.369,843,22.341,1452,26.929,2158,39.248]],["name/88-3",[]],["text/88-3",[]],["component/88-3",[]],["title/88-4",[653,46.72,846,35.908]],["name/88-4",[]],["text/88-4",[]],["component/88-4",[]],["title/88-5",[428,34.551,931,40.028]],["name/88-5",[]],["text/88-5",[]],["component/88-5",[]],["title/88-6",[406,31.824,428,29.354,931,34.008]],["name/88-6",[]],["text/88-6",[]],["component/88-6",[]],["title/88-7",[62,23.643]],["name/88-7",[]],["text/88-7",[]],["component/88-7",[]],["title/88-8",[406,37.458,428,34.551]],["name/88-8",[]],["text/88-8",[]],["component/88-8",[]],["title/88-9",[428,34.551,2185,50.794]],["name/88-9",[]],["text/88-9",[]],["component/88-9",[]],["title/88-10",[428,34.551,5112,64.312]],["name/88-10",[]],["text/88-10",[]],["component/88-10",[]],["title/88-11",[428,34.551,5113,70.737]],["name/88-11",[]],["text/88-11",[]],["component/88-11",[]],["title/88-12",[428,29.354,4266,48.733,5112,54.639]],["name/88-12",[]],["text/88-12",[]],["component/88-12",[]],["title/88-13",[39,29.727,428,34.551]],["name/88-13",[]],["text/88-13",[]],["component/88-13",[]],["title/88-14",[39,21.953,428,25.516,854,29.96,928,26.518]],["name/88-14",[]],["text/88-14",[]],["component/88-14",[]],["title/88-15",[211,27.589,2984,56.145]],["name/88-15",[]],["text/88-15",[]],["component/88-15",[]],["title/88-16",[211,27.589,5114,67.059]],["name/88-16",[]],["text/88-16",[]],["component/88-16",[]],["title/88-17",[62,19.457,1304,41.735]],["name/88-17",[]],["text/88-17",[]],["component/88-17",[]],["title/88-18",[843,25.702,931,34.008,1304,35.458]],["name/88-18",[]],["text/88-18",[]],["component/88-18",[]],["title/88-19",[843,22.341,1304,30.822,1452,26.929,2158,39.248]],["name/88-19",[]],["text/88-19",[]],["component/88-19",[]],["title/88-20",[4,20.737,91,22.462,931,26.143,1452,23.815,2158,34.709]],["name/88-20",[]],["text/88-20",[]],["component/88-20",[]],["title/88-21",[164,34.949,211,23.44,268,28.207]],["name/88-21",[]],["text/88-21",[]],["component/88-21",[]],["title/88-22",[204,39.289,2072,32.754,2101,44.436]],["name/88-22",[]],["text/88-22",[]],["component/88-22",[]],["title/88-23",[9,21.218,421,29.49,721,21.218]],["name/88-23",[]],["text/88-23",[]],["component/88-23",[]],["title/88-24",[1,10.292,34,16.098,422,30.662]],["name/88-24",[]],["text/88-24",[]],["component/88-24",[]],["title/88-25",[76,49.895,418,32.951,1151,37.829]],["name/88-25",[]],["text/88-25",[]],["component/88-25",[]],["title/88-26",[38,18.646,1974,48.284]],["name/88-26",[]],["text/88-26",[]],["component/88-26",[]],["title/88-27",[721,21.218,1241,34.704,2905,41.022]],["name/88-27",[]],["text/88-27",[]],["component/88-27",[]],["title/88-28",[1241,34.704,1715,51.224,2905,41.022]],["name/88-28",[]],["text/88-28",[]],["component/88-28",[]],["title/88-29",[1974,48.284,3773,64.312]],["name/88-29",[]],["text/88-29",[]],["component/88-29",[]],["title/88-30",[1130,28.108,1974,48.284]],["name/88-30",[]],["text/88-30",[]],["component/88-30",[]],["title/88-31",[38,15.841,57,29.629,317,28.207]],["name/88-31",[]],["text/88-31",[]],["component/88-31",[]],["title/88",[38,15.841,843,25.702,1452,30.979]],["name/88",[1452,1.715]],["text/88",[0,0.136,1,0.624,2,0.708,4,1.245,7,0.439,8,0.17,9,0.357,10,1.561,11,0.135,12,0.149,13,0.466,15,0.905,18,0.096,20,0.13,21,0.114,26,1.482,29,0.078,33,0.125,34,0.469,36,0.389,37,0.879,38,2.717,39,1.573,40,0.139,41,0.204,42,0.149,44,0.12,45,0.447,46,2.1,47,0.118,48,0.352,49,0.509,52,0.427,53,0.227,54,0.115,56,1.383,57,1.189,62,2.684,63,0.483,66,0.186,67,0.096,68,0.094,69,0.743,70,1.118,71,2.226,75,0.229,78,0.604,79,0.121,82,0.849,84,0.101,87,1.25,91,0.984,93,0.414,94,0.673,95,0.506,96,0.489,97,0.114,98,0.61,100,0.25,102,0.507,105,0.221,107,0.085,109,0.948,113,0.302,114,0.506,116,0.647,117,0.116,119,0.124,120,0.08,122,0.714,124,0.179,126,0.38,129,0.388,136,0.515,138,0.239,141,1.252,143,0.506,144,0.234,149,1.741,152,0.725,153,0.736,154,0.743,158,0.114,161,0.693,163,0.16,164,0.401,165,0.901,166,0.649,167,4.646,169,0.452,173,0.291,177,0.104,178,0.629,182,0.129,183,1.043,194,0.751,197,0.602,203,0.693,204,1.409,205,0.333,207,0.762,211,2.36,215,0.655,216,0.237,218,0.494,219,1.401,220,0.117,221,0.836,222,0.704,223,0.928,224,0.449,229,0.473,230,0.112,232,1.263,233,0.076,234,0.12,241,0.557,244,1.046,245,1.195,247,0.422,251,0.099,253,1.481,254,0.121,257,0.98,260,1.316,261,0.691,263,0.137,266,0.106,267,0.251,268,1.247,272,0.099,273,0.129,274,1.16,276,0.396,281,1.062,283,1.76,286,0.087,287,0.485,289,0.196,290,0.995,291,1.17,299,0.16,301,0.215,310,0.21,311,0.286,315,1.211,316,0.191,317,0.755,324,0.437,326,0.808,327,0.105,329,0.565,330,0.652,332,0.558,334,0.688,336,0.683,337,0.307,338,0.18,342,0.118,345,0.55,355,0.601,364,0.408,370,0.297,371,0.394,374,0.589,375,0.103,377,0.115,379,0.42,380,0.082,381,0.822,400,0.194,403,0.137,404,0.198,406,1.651,408,1.554,410,0.145,415,0.386,418,0.287,419,0.203,420,0.301,421,0.339,422,0.352,423,0.305,426,0.234,427,0.343,428,4.089,435,0.13,462,0.125,487,0.538,488,0.808,491,0.297,495,0.843,496,0.127,497,0.93,498,0.624,500,0.098,502,0.202,503,0.127,505,0.343,511,1.086,513,0.374,514,0.248,517,0.319,518,0.124,526,0.145,531,0.13,532,0.589,533,0.354,538,0.095,540,0.231,541,0.971,542,0.33,543,0.258,544,0.311,548,0.312,553,1.12,555,0.726,556,0.18,558,0.394,562,0.199,568,0.182,569,0.42,571,0.424,572,2.982,589,0.101,593,0.281,615,0.103,622,0.221,626,0.27,628,0.127,634,0.214,648,0.595,653,0.234,654,0.225,656,0.13,665,0.115,668,1.065,669,0.27,671,0.086,672,1.927,678,0.106,679,0.58,680,0.121,682,0.149,683,0.214,690,0.098,691,0.111,695,0.13,696,1.474,702,0.269,704,0.132,709,1.52,712,0.489,713,0.135,715,0.266,716,0.427,719,0.153,721,0.301,722,0.871,723,0.1,734,0.589,735,1.013,736,0.157,742,0.465,744,0.118,746,0.506,748,0.184,749,0.361,753,0.108,755,0.217,756,0.098,758,0.942,760,0.767,761,1.692,766,0.194,767,1.606,772,0.356,773,0.221,774,0.099,776,0.225,780,0.157,783,0.066,789,0.755,790,0.099,792,0.343,793,0.439,794,0.407,796,0.388,799,0.221,800,0.111,801,0.336,804,0.322,805,0.267,806,0.266,808,0.33,810,0.388,812,0.69,813,3.137,818,0.545,820,0.727,822,0.125,823,0.577,824,0.496,826,0.489,831,0.223,833,0.163,839,0.214,841,0.323,843,4.53,844,0.132,845,1.935,846,0.18,850,0.2,851,0.149,852,0.726,854,0.58,856,0.116,862,0.121,866,1.194,875,0.225,876,0.241,877,0.132,878,0.394,879,0.302,882,0.157,883,0.116,890,0.813,892,0.675,902,0.281,904,0.209,909,0.137,910,0.137,911,0.388,912,0.254,913,0.149,915,0.108,918,0.614,919,0.648,922,0.371,924,0.227,926,0.631,927,0.815,928,0.888,931,3.057,936,0.889,938,0.11,940,0.135,947,0.104,948,0.35,949,0.443,950,0.121,953,0.282,955,0.17,957,1.035,958,0.116,959,0.621,962,0.787,966,0.527,971,0.335,972,0.439,976,0.139,982,0.322,986,0.145,992,0.103,995,0.129,997,0.391,998,0.4,1010,0.537,1015,0.118,1016,0.125,1017,0.145,1025,0.481,1027,0.103,1029,3.648,1030,2.725,1035,0.107,1038,1.917,1049,0.388,1054,0.284,1055,1.708,1056,3.297,1057,2.926,1058,1.971,1061,0.779,1064,0.12,1065,0.135,1066,0.137,1068,3.274,1069,0.244,1070,0.305,1071,0.149,1075,0.354,1076,0.721,1079,0.736,1082,1.94,1084,1.19,1088,2.218,1105,0.726,1110,0.115,1111,0.113,1113,0.12,1117,4.221,1125,0.121,1126,0.225,1130,1.448,1134,0.407,1137,0.489,1139,0.361,1140,0.354,1147,0.691,1150,0.122,1151,0.33,1154,0.404,1164,0.244,1167,0.36,1176,0.186,1195,0.17,1197,0.129,1208,0.209,1210,0.74,1212,0.258,1214,0.118,1219,0.137,1222,0.497,1230,0.196,1233,0.254,1240,0.157,1241,0.584,1252,0.489,1254,0.919,1255,0.106,1260,0.114,1264,0.202,1285,0.893,1291,0.244,1296,0.519,1297,0.244,1302,0.575,1304,4.24,1306,0.486,1311,0.879,1312,0.974,1318,0.731,1321,0.675,1324,0.368,1334,0.179,1337,0.401,1342,0.251,1343,0.12,1350,0.129,1352,0.122,1357,0.451,1360,0.142,1362,0.115,1366,0.135,1369,0.121,1370,0.214,1387,0.139,1388,0.139,1389,0.139,1393,0.127,1396,0.27,1397,0.11,1399,0.302,1400,0.515,1409,1.281,1413,0.129,1419,0.125,1421,0.435,1425,0.435,1429,0.193,1430,0.204,1434,0.145,1436,0.416,1443,0.247,1451,1.24,1452,4.549,1455,0.096,1456,0.135,1460,0.354,1462,0.231,1472,0.139,1473,0.139,1484,0.945,1487,0.262,1488,0.307,1489,0.105,1492,0.367,1496,0.142,1512,0.503,1531,0.91,1533,0.17,1536,0.137,1555,0.575,1558,0.13,1559,0.163,1564,0.362,1567,0.139,1576,0.217,1585,0.604,1587,0.741,1591,0.163,1597,0.109,1607,0.294,1609,0.132,1611,0.153,1613,0.244,1615,0.466,1637,0.401,1641,0.46,1651,0.139,1654,0.447,1669,0.157,1676,0.122,1677,0.466,1686,0.153,1689,0.129,1692,0.777,1708,0.287,1713,0.137,1714,0.435,1715,0.153,1731,0.135,1734,0.142,1770,0.139,1787,0.149,1831,0.124,1839,0.254,1849,0.124,1875,0.281,1888,0.127,1892,0.262,1899,0.17,1905,0.142,1906,0.69,1908,0.503,1909,0.13,1910,0.336,1914,0.13,1922,0.362,1924,0.101,1927,0.113,1935,0.294,1938,0.382,1963,0.262,1964,0.179,1965,0.179,1970,0.121,1974,3.056,1980,0.447,2014,0.149,2015,0.13,2023,0.145,2024,0.376,2026,0.104,2037,0.122,2045,0.153,2046,0.132,2052,0.56,2072,4.123,2075,0.311,2081,0.118,2082,0.677,2100,0.112,2101,1.874,2103,0.51,2104,0.179,2134,0.241,2152,2.154,2156,0.287,2158,3.898,2159,0.17,2160,0.435,2161,0.677,2174,0.408,2184,0.157,2185,4.167,2191,0.524,2209,0.163,2219,0.17,2234,0.281,2256,0.153,2268,0.145,2272,0.311,2274,0.135,2311,0.145,2334,0.142,2358,0.316,2363,0.46,2374,0.139,2396,0.589,2400,0.431,2404,0.145,2422,2.006,2426,0.142,2427,0.142,2446,0.163,2448,0.435,2452,0.247,2469,0.524,2503,0.17,2504,0.142,2529,0.145,2533,0.153,2541,0.354,2555,0.652,2576,0.149,2591,0.163,2595,0.335,2611,0.153,2612,0.157,2621,1.396,2655,0.547,2665,0.17,2666,0.157,2671,0.139,2730,0.179,2773,0.548,2776,0.354,2786,0.302,2834,2.365,2835,1.947,2840,0.775,2841,0.132,2848,0.139,2869,0.163,2888,0.322,2903,0.275,2905,2.937,2925,0.092,2955,0.888,2968,0.163,2971,0.157,2984,1.813,2986,0.142,2988,0.121,3014,0.335,3153,0.132,3201,0.157,3241,0.179,3276,1.248,3311,0.335,3312,0.335,3362,1.471,3372,0.354,3500,2.656,3543,0.17,3545,1.837,3549,1.093,3684,0.354,3723,0.335,3761,0.17,3762,0.17,3773,0.628,3776,1.918,3782,0.17,3802,0.17,3804,1.105,3805,0.153,3814,0.968,4016,0.808,4018,0.853,4039,0.179,4227,0.354,4258,0.17,4266,1.068,4271,0.163,4274,0.335,4329,0.17,4332,1.105,4333,0.163,4335,0.959,4342,1.332,4359,0.145,4378,0.322,4449,0.179,4456,0.524,4483,0.153,4496,0.142,4528,0.145,4580,0.322,4601,0.179,4616,0.17,4701,0.281,4709,1.465,4728,0.137,4760,0.179,4786,0.157,4831,0.179,4833,0.179,4836,0.17,4840,0.354,4906,0.179,4921,0.179,4987,0.17,5004,2.286,5008,0.335,5043,0.17,5049,0.322,5054,0.179,5071,0.447,5078,1.659,5080,0.179,5110,0.179,5112,2.192,5113,1.011,5114,1.248,5115,3.841,5116,0.193,5117,0.179,5118,0.157,5119,0.745,5120,0.193,5121,0.193,5122,0.354,5123,0.193,5124,0.354,5125,0.193,5126,1.011,5127,0.193,5128,3.822,5129,1.421,5130,1.317,5131,0.566,5132,0.524,5133,0.566,5134,0.382,5135,0.193,5136,0.382,5137,0.193,5138,0.382,5139,0.193,5140,0.193,5141,0.193,5142,0.193,5143,0.193,5144,0.193,5145,0.193,5146,2.037,5147,3.597,5148,0.382,5149,0.92,5150,0.566,5151,0.745,5152,0.193,5153,0.193,5154,0.193,5155,0.382,5156,0.193,5157,0.193,5158,0.193,5159,0.566,5160,0.588,5161,0.193,5162,0.382,5163,0.193,5164,0.51,5165,0.193,5166,0.193,5167,0.354,5168,0.193,5169,0.853,5170,0.193,5171,0.193,5172,0.193,5173,0.382,5174,0.382,5175,0.193,5176,0.382,5177,0.193,5178,0.745,5179,0.382,5180,0.193,5181,0.745,5182,0.193,5183,0.193,5184,0.382,5185,0.193,5186,0.179,5187,0.193,5188,0.745,5189,0.193,5190,0.193,5191,0.745,5192,0.193,5193,0.311,5194,0.193,5195,0.193,5196,0.382,5197,0.382,5198,0.382,5199,0.382,5200,0.382,5201,0.382,5202,0.193,5203,0.193,5204,0.193,5205,0.193,5206,0.179,5207,0.193,5208,0.354,5209,0.193,5210,0.193,5211,0.193,5212,0.193,5213,0.193,5214,0.193,5215,0.179,5216,0.382,5217,0.382,5218,0.193,5219,0.382,5220,0.193,5221,0.193,5222,0.193,5223,0.193,5224,0.193,5225,0.193,5226,0.193,5227,0.179,5228,0.193,5229,0.193,5230,0.193,5231,0.382,5232,0.382,5233,0.382,5234,0.382,5235,0.566,5236,0.382,5237,0.193,5238,0.354,5239,0.17,5240,0.179,5241,0.382,5242,0.179,5243,0.382,5244,0.193,5245,0.193,5246,1.421,5247,0.193,5248,0.193,5249,0.193,5250,0.382,5251,0.382,5252,0.193,5253,0.193,5254,0.193,5255,0.382,5256,0.193,5257,0.382,5258,0.382,5259,0.382,5260,0.382,5261,0.382,5262,0.354,5263,0.382,5264,0.193,5265,0.193,5266,0.382,5267,0.382,5268,0.382,5269,0.382,5270,0.382,5271,0.382,5272,0.382,5273,0.382,5274,0.382,5275,0.193,5276,0.193,5277,0.193,5278,0.193,5279,0.157,5280,0.193,5281,0.193,5282,0.193,5283,0.193,5284,0.179,5285,0.179,5286,0.193,5287,0.193,5288,0.193,5289,0.193,5290,0.193,5291,0.193,5292,0.193,5293,0.382,5294,0.193,5295,0.382,5296,0.193,5297,0.193,5298,0.193,5299,0.193,5300,0.193,5301,0.382,5302,0.566,5303,0.193,5304,0.745,5305,0.92,5306,0.853,5307,0.92,5308,0.193,5309,0.193,5310,0.447,5311,0.193,5312,0.193,5313,0.193,5314,0.193,5315,0.193,5316,0.193,5317,0.193,5318,0.566,5319,0.179,5320,0.193,5321,0.17,5322,0.17,5323,0.179,5324,0.179,5325,0.142,5326,0.193,5327,0.193,5328,0.524,5329,0.566,5330,0.382,5331,0.745,5332,0.745,5333,1.091,5334,0.382,5335,0.382,5336,0.193,5337,0.382,5338,0.193,5339,0.193,5340,0.193,5341,0.193,5342,0.163,5343,0.193,5344,0.382,5345,0.193,5346,0.566,5347,0.566,5348,0.193,5349,0.193,5350,0.193,5351,0.193,5352,0.193,5353,0.193,5354,0.382,5355,0.193,5356,0.193,5357,0.17,5358,0.157,5359,0.193,5360,0.382,5361,0.193,5362,1.091,5363,0.92,5364,0.92,5365,0.566,5366,0.382,5367,0.382,5368,0.382,5369,0.382,5370,0.193,5371,0.382,5372,0.193,5373,0.193,5374,0.382,5375,0.193,5376,0.382,5377,0.193]],["component/88",[1,0.382,2,0.692,18,0.605]],["title/89-1",[62,23.643]],["name/89-1",[]],["text/89-1",[]],["component/89-1",[]],["title/89-2",[1,10.292,62,16.531,1130,23.88]],["name/89-2",[]],["text/89-2",[]],["component/89-2",[]],["title/89-3",[26,19.66,62,14.369,761,23.004,1455,27.977]],["name/89-3",[]],["text/89-3",[]],["component/89-3",[]],["title/89-4",[1,10.292,62,16.531,1130,23.88]],["name/89-4",[]],["text/89-4",[]],["component/89-4",[]],["title/89-5",[26,17.386,62,12.708,66,24.33,761,20.344,1455,24.742]],["name/89-5",[]],["text/89-5",[]],["component/89-5",[]],["title/89-6",[26,15.584,62,11.391,241,19.776,291,18.236,761,18.236,1455,22.177]],["name/89-6",[]],["text/89-6",[]],["component/89-6",[]],["title/89-7",[653,46.72,846,35.908]],["name/89-7",[]],["text/89-7",[]],["component/89-7",[]],["title/89-8",[654,44.931,1452,36.464]],["name/89-8",[]],["text/89-8",[]],["component/89-8",[]],["title/89-9",[62,23.643]],["name/89-9",[]],["text/89-9",[]],["component/89-9",[]],["title/89-10",[1,10.292,62,16.531,1130,23.88]],["name/89-10",[]],["text/89-10",[]],["component/89-10",[]],["title/89-11",[26,17.386,62,12.708,66,24.33,761,20.344,1455,24.742]],["name/89-11",[]],["text/89-11",[]],["component/89-11",[]],["title/89-12",[26,15.584,62,11.391,241,19.776,291,18.236,761,18.236,1455,22.177]],["name/89-12",[]],["text/89-12",[]],["component/89-12",[]],["title/89",[38,15.841,808,37.829,843,25.702]],["name/89",[808,2.095]],["text/89",[0,1.266,1,1.224,2,0.74,7,0.828,10,1.633,21,0.828,26,0.491,27,2.312,34,1.703,38,2.96,39,0.548,46,1.011,53,0.836,57,2.646,58,0.602,62,2.699,63,1.769,66,1.258,67,0.698,68,0.687,69,0.554,70,0.754,71,2.618,82,0.95,83,1.015,92,0.715,95,0.652,97,0.828,98,1.532,102,1.965,109,0.707,122,0.579,136,0.787,141,0.615,152,0.501,153,0.655,154,1.103,158,1.518,163,0.59,167,4.592,176,1.41,177,0.758,183,0.631,197,0.488,204,0.853,205,0.828,211,1.596,215,0.733,222,2.877,223,0.971,229,0.609,232,1.933,233,0.55,241,1.579,244,2.457,245,1.366,247,0.646,253,1.939,257,0.504,260,1.348,261,0.943,273,0.936,281,1.052,283,0.977,286,0.631,287,0.542,290,1.782,291,2.594,310,0.775,311,1.371,315,2.247,317,0.612,324,1.033,326,0.602,327,0.764,329,0.728,332,0.719,336,0.932,345,1.559,379,0.643,395,2.203,406,1.265,415,0.728,423,0.758,428,1.167,430,0.936,487,0.602,488,1.318,498,0.698,511,1.601,518,0.901,533,0.88,550,0.687,553,1.927,556,0.665,562,0.733,589,0.738,591,0.88,638,0.733,654,5.711,669,0.997,672,1.545,696,1.326,709,1.809,714,0.853,722,1.424,734,0.659,735,0.805,741,3.017,746,1.435,764,0.964,767,0.649,772,2.46,783,0.482,792,0.853,800,0.807,808,5.888,813,2.753,824,0.936,841,0.609,843,4.802,846,0.662,866,0.518,878,0.98,879,1.111,890,1.763,899,0.95,904,1.41,912,0.936,931,0.738,940,0.98,953,0.702,997,0.738,998,2.765,1015,0.861,1017,1.057,1029,3.739,1030,2.467,1038,1.473,1055,4.798,1056,3.622,1057,3.214,1058,1.741,1061,1.064,1075,0.88,1076,3.32,1088,2.756,1093,1.909,1105,1.638,1117,4.19,1134,0.769,1137,1.37,1259,0.781,1304,2.414,1319,2.49,1321,0.87,1373,1.562,1400,0.787,1409,1.42,1429,2.23,1432,1.111,1452,4.635,1454,0.844,1488,0.764,1498,1.236,1511,0.997,1531,0.738,1555,0.88,1566,1.937,1839,1.716,1924,0.733,1974,2.257,2010,0.853,2046,2.445,2072,3.691,2075,1.145,2100,0.814,2152,2.681,2231,2.036,2422,2.098,2446,1.186,2555,0.997,2621,0.964,2655,0.836,2757,4.502,2869,1.186,2984,3.248,3543,2.265,3701,1.145,3972,1.304,4232,1.236,4274,3.134,4496,1.035,4580,1.186,4605,2.389,4948,1.236,5004,3.879,5049,2.172,5078,3.879,5118,6.277,5122,1.304,5124,1.304,5130,4.092,5132,2.389,5262,1.304,5342,1.186,5378,5.087,5379,1.407,5380,1.407,5381,1.304,5382,1.407,5383,1.407,5384,1.407,5385,3.306,5386,2.578,5387,3.567,5388,1.407,5389,2.578,5390,2.578,5391,1.407,5392,1.407,5393,1.407,5394,1.186,5395,1.111,5396,5.149,5397,1.407,5398,1.407,5399,1.407,5400,4.415,5401,1.407,5402,1.304,5403,1.304,5404,1.407,5405,1.407,5406,1.407,5407,3.567,5408,3.567,5409,1.407,5410,1.407,5411,1.407,5412,1.407]],["component/89",[1,0.382,2,0.692,18,0.605]],["title/90",[27,36.532,38,13.77,90,44.526,1835,37.007]],["name/90",[1835,2.357]],["text/90",[26,2.522,27,7.771,38,2.929,57,3.304,62,1.843,70,2.115,71,3.015,90,9.472,141,3.158,177,3.897,197,2.507,218,4.451,245,2.768,249,4.296,253,2.723,261,2.646,283,2.741,291,2.951,336,2.613,380,4.155,406,3.548,466,5.318,555,3.319,653,4.426,749,2.836,772,5.338,808,4.218,823,3.319,841,4.259,850,3.792,865,3.652,929,5.458,1494,5.711,1609,4.955,1725,5.121,1835,6.455,1959,6.092,2037,4.574,2046,4.955,2527,4.145,2565,6.701,2611,5.711,5118,5.884,5413,7.23,5414,7.23,5415,7.23,5416,6.701]],["component/90",[0,0.855,18,0.605,27,1.561]],["title/91",[26,26.621,5417,76.321]],["name/91",[3,1.542]],["text/91",[0,2.819,1,1.976,10,2.518,26,4.085,27,8.784,34,1.971,38,3.042,63,2.426,70,2.323,71,2.826,78,3.814,79,4.967,90,6.273,126,3.278,154,3.397,178,3.159,283,3.011,372,6.11,379,3.629,415,4.111,488,4.06,502,4.193,550,3.876,746,3.193,850,4.165,890,3.17,1054,3.988,1220,3.988,1299,6.786,1488,4.311,1509,5.361,1528,6.11,1835,5.214,5418,7.941]],["component/91",[0,0.855,18,0.605,27,1.561]],["title/92",[27,36.532,38,13.77,550,27.511,850,29.561]],["name/92",[550,1.752]],["text/92",[0,2.281,1,1.666,14,3.854,26,3.16,27,5.872,38,2.936,39,2.502,46,2.52,49,3.759,57,2.935,62,2.31,63,3.809,70,1.88,71,1.734,91,2.895,152,2.287,167,4.406,211,2.322,232,2.412,261,2.351,550,4.422,683,3.594,746,2.583,843,4.518,850,5.504,862,4.018,904,3.513,931,3.369,953,3.207,998,2.795,1029,4.028,1038,2.652,1058,3.136,1088,4.849,1135,3.932,1137,3.415,1297,4.113,1493,5.229,1494,8.29,1927,3.748,2221,5.413,5118,5.229,5419,11.397,5420,6.424,5421,5.954,5422,6.424,5423,6.424,5424,6.424,5425,6.424,5426,6.424,5427,6.424]],["component/92",[0,0.855,18,0.605,27,1.561]],["title/93-1",[8,22.976,3260,50.794]],["name/93-1",[]],["text/93-1",[]],["component/93-1",[]],["title/93",[0,20.009,8,16.968,27,36.532,261,20.628]],["name/93",[8,0.637,261,0.775]],["text/93",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,27,7.393,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1167,4.38,1457,5.612,1468,5.956,1831,5.807,5428,7.817]],["component/93",[0,0.855,18,0.605,27,1.561]],["title/94",[17,63.556]],["name/94",[3,1.542]],["text/94",[1,1.361,4,2.146,15,2.746,17,8.209,18,1.665,26,1.8,29,2.09,30,1.86,34,0.77,36,1.31,37,1.337,46,1.216,49,1.111,62,2.187,63,1.576,71,2.499,78,1.489,91,1.397,95,2.392,96,1.391,99,2.38,100,1.372,107,1.36,120,1.28,124,1.451,126,1.28,148,1.585,149,1.117,152,1.837,153,1.444,154,1.326,161,1.36,162,1.616,167,3.669,170,1.778,173,1.595,177,1.671,178,1.233,194,2.452,207,1.879,216,2.163,222,2.881,223,1.943,233,2.017,234,3.751,241,1.372,244,2.189,245,1.976,253,2.496,260,1.172,261,1.135,268,3.36,283,1.956,287,1.195,299,1.3,304,3.264,315,1.204,334,1.696,345,1.355,380,2.801,402,3.679,408,1.261,415,3.431,419,1.648,423,1.671,432,1.696,488,1.585,502,1.637,511,1.124,553,1.931,563,1.321,571,1.43,582,1.637,606,2.386,607,2.724,672,1.343,679,1.648,702,1.474,708,1.809,709,2.114,734,1.451,735,2.07,740,1.721,745,1.939,746,1.247,749,1.216,761,2.106,763,1.522,774,4.734,778,2.159,790,1.585,797,2.613,813,1.343,862,1.939,866,1.142,890,2.06,904,3.624,917,2.064,918,1.513,922,2.036,941,2.125,1061,1.28,1079,1.605,1093,4.134,1125,1.939,1134,1.696,1136,2.281,1139,1.216,1214,1.898,1220,2.591,1227,2.093,1295,1.696,1299,2.01,1309,1.898,1321,1.918,1430,1.659,1455,1.539,1465,2.036,1488,1.683,1494,4.076,1497,5.072,1509,2.093,1574,1.962,1646,2.33,1656,2.724,1770,2.236,1961,2.724,1968,2.386,1999,2.196,2023,2.33,2072,4.333,2074,3.97,2134,3.264,2138,2.386,2192,2.281,2193,2.613,2260,4.348,2262,2.874,2266,2.524,2267,2.613,2326,2.449,2427,2.281,2728,2.724,3201,2.524,3762,2.724,4312,2.874,4359,2.33,5358,4.2,5429,8.577,5430,2.874,5431,5.16,5432,2.724,5433,3.101,5434,3.101,5435,2.874,5436,3.101,5437,2.874,5438,2.386,5439,2.125,5440,3.101,5441,3.101,5442,3.101,5443,3.101,5444,3.101,5445,2.874,5446,3.101,5447,3.101,5448,5.16,5449,5.16,5450,3.101,5451,3.101,5452,3.101]],["component/94",[0,0.855,17,1.651,18,0.605]],["title/95-1",[8,22.976,3260,50.794]],["name/95-1",[]],["text/95-1",[]],["component/95-1",[]],["title/95",[0,20.009,8,16.968,17,38.626,261,20.628]],["name/95",[8,0.637,261,0.775]],["text/95",[0,4.03,1,1.429,2,2.586,8,3.743,14,5.402,17,6.171,19,5.992,20,6.078,58,3.852,83,3.544,145,4.662,183,4.039,216,3.775,261,4.155,287,3.471,313,3.76,370,3.595,521,5.57,750,4.395,763,4.419,790,4.604,865,4.548,1167,4.347,1457,5.57,1468,5.912,1831,5.764,5428,7.78]],["component/95",[0,0.855,17,1.651,18,0.605]],["title/96",[62,19.457,1354,52.304]],["name/96",[572,1.283,1354,1.451]],["text/96",[1,1.284,17,7.744,26,3.351,34,2.009,62,2.702,71,3.05,99,2.533,100,2.431,107,2.409,124,2.571,149,2.916,162,2.861,167,4.313,207,3.327,210,3.824,215,2.861,216,2.303,218,2.486,220,3.327,233,3.755,241,2.431,253,2.068,260,3.057,283,3.642,326,2.349,336,1.985,343,5.763,355,2.321,402,3.049,466,5.952,500,2.791,533,3.435,541,4.527,615,2.939,656,3.707,666,4.04,709,2.25,745,3.435,761,3.302,763,2.695,839,3.072,957,2.791,982,3.122,1296,3.824,1369,3.435,1464,5.061,1465,5.312,1555,3.435,1871,4.04,2057,3.824,2072,2.774,2074,4.226,2160,4.226,2270,4.825,2348,3.889,2509,4.627,3042,4.127,3565,4.338,4790,4.226,5432,7.109,5435,8.903,5453,5.491,5454,8.091,5455,4.226,5456,5.491,5457,5.09,5458,5.09,5459,8.091,5460,5.491,5461,5.491,5462,5.491,5463,5.491,5464,5.491,5465,5.491,5466,3.961,5467,5.491,5468,5.491,5469,5.491]],["component/96",[0,0.855,17,1.651,18,0.605]],["title/97-1",[26,26.621,681,40.849]],["name/97-1",[]],["text/97-1",[]],["component/97-1",[]],["title/97-2",[26,22.617,681,34.704,956,31.824]],["name/97-2",[]],["text/97-2",[]],["component/97-2",[]],["title/97",[19,50.794,20,51.523]],["name/97",[3,1.542]],["text/97",[0,2.667,15,2.061,19,5,20,6.812,26,1.734,36,2.102,38,1.215,49,1.781,58,4.317,69,1.957,71,2.924,87,1.992,95,2.305,120,4.704,124,2.328,152,1.771,162,2.591,167,4.287,176,2.719,178,2.989,194,2.364,197,3.757,203,1.985,216,2.085,223,1.873,232,1.867,234,1.557,245,1.904,260,1.879,315,1.93,355,2.102,427,4.552,502,2.625,512,2.427,520,2.74,552,2.527,590,5.935,615,2.661,665,2.955,681,2.661,749,1.95,755,2.827,786,6.141,799,2.876,813,2.154,866,1.831,875,2.928,953,2.483,956,2.441,1029,3.34,1030,2.119,1058,4.42,1067,3.522,1082,3.223,1101,3.737,1105,2.283,1139,2.947,1178,4.81,1186,3.076,1188,8.703,1210,3.915,1307,4.047,1342,3.265,1455,2.468,1488,2.699,1576,2.827,1657,3.928,1697,3.223,1770,3.587,1789,4.609,1934,6.968,2151,3.826,2294,4.369,2324,4.369,2325,4.609,2326,3.928,2452,3.223,3042,6.806,3262,4.19,4407,4.369,4421,4.369,5470,4.973,5471,4.973,5472,4.973,5473,4.973,5474,4.973,5475,4.973,5476,4.973]],["component/97",[0,0.676,18,0.478,19,1.267,20,1.285]],["title/98-1",[8,22.976,5428,52.304]],["name/98-1",[]],["text/98-1",[]],["component/98-1",[]],["title/98",[0,17.696,8,15.006,19,33.174,20,33.65,261,18.243]],["name/98",[8,0.637,261,0.775]],["text/98",[0,3.993,1,1.408,2,2.548,8,3.718,14,5.323,19,7.486,20,7.593,58,3.796,83,3.492,145,4.593,183,3.98,216,3.72,261,4.116,287,3.42,313,3.705,370,3.542,521,5.489,750,4.33,763,4.354,790,4.536,865,4.482,1167,4.284,1457,5.489,1468,5.825,1831,5.68,5428,7.708,5477,6.827]],["component/98",[0,0.676,18,0.478,19,1.267,20,1.285]],["title/99-1",[38,12.178,57,22.777,63,15.226,773,28.826,808,29.081]],["name/99-1",[]],["text/99-1",[]],["component/99-1",[]],["title/99-2",[38,12.178,57,22.777,63,15.226,773,28.826,3809,42.003]],["name/99-2",[]],["text/99-2",[]],["component/99-2",[]],["title/99",[21,38.173,38,15.841,773,37.497]],["name/99",[773,2.076]],["text/99",[0,0.582,1,1.018,7,0.965,10,2.034,13,1.025,21,4.686,35,0.984,37,0.707,38,2.683,39,1.154,49,1.061,56,0.871,57,4.135,62,2.132,63,2.431,70,1.186,71,2.661,95,1.879,96,0.735,109,2.035,126,0.677,141,1.294,148,0.838,149,2.521,152,1.443,153,0.764,154,0.701,157,1.107,161,0.719,166,0.749,167,4.644,169,0.805,176,0.896,178,0.652,180,0.948,194,1.926,197,0.569,207,0.993,216,0.687,218,0.742,219,0.932,221,0.726,223,0.617,229,2.489,233,0.641,244,1.72,245,0.628,250,1.879,260,2.644,261,0.6,281,1.654,283,3.017,289,0.843,290,0.662,291,0.669,304,1.037,310,1.632,311,1.138,315,3.246,317,0.713,318,1.107,319,1.183,326,1.267,332,0.838,336,1.796,340,1.037,373,1.05,377,0.974,380,0.693,395,0.701,408,2.608,420,0.871,432,0.896,487,0.701,488,2.072,495,0.796,542,0.956,549,2.324,553,0.613,555,0.753,569,0.925,582,0.866,668,0.8,672,0.71,680,1.853,681,0.877,716,0.94,722,0.655,729,0.956,735,1.266,765,1.232,767,1.367,772,0.783,773,5.702,790,0.838,794,1.62,801,0.974,808,3.742,812,1.037,823,0.753,840,1.795,843,2.277,854,0.871,865,0.828,866,0.604,876,1.037,915,0.917,918,0.8,931,2.126,934,0.884,937,1.091,948,1.014,953,0.818,982,1.685,992,1.575,998,2.161,1010,0.956,1025,0.722,1029,3.878,1030,2.116,1038,2.371,1049,2.03,1058,1.446,1061,1.223,1068,2.34,1069,1.05,1082,1.063,1084,2.03,1125,1.853,1130,1.091,1134,0.896,1146,1.183,1169,4.543,1220,0.823,1230,2.085,1241,0.877,1304,2.216,1352,1.037,1430,2.169,1451,1.076,1452,1.936,1454,0.984,1455,0.814,1481,4.186,1503,1.206,1509,1.107,1531,2.126,1584,1.206,1587,2.386,1643,5.415,1651,1.183,1669,2.411,1676,1.037,1689,1.091,1734,1.206,1905,1.206,1909,3.353,1924,0.854,1934,2.28,2010,0.993,2100,0.948,2156,1.232,2158,2.063,2160,1.262,2162,2.746,2174,1.183,2176,1.232,2306,2.871,2332,0.984,2334,2.179,2350,2.227,2363,2.411,2367,1.262,2375,1.44,2397,1.381,2452,1.063,2533,1.295,2742,1.44,2761,1.232,2796,1.232,2834,1.295,2899,1.206,2905,1.874,2955,4.043,2988,1.025,3545,1.295,3549,2.28,3794,1.44,3809,1.381,4156,1.262,4170,2.496,4258,1.44,4271,1.381,4884,1.44,4925,1.334,5069,2.603,5118,1.334,5169,1.519,5193,1.334,5206,1.519,5378,3.561,5421,2.746,5478,6.147,5479,6.414,5480,6.147,5481,1.44,5482,4.967,5483,1.639,5484,1.639,5485,1.639,5486,1.639,5487,2.603,5488,1.639,5489,1.639,5490,1.639,5491,1.639,5492,1.639,5493,8.91,5494,5.324,5495,2.063,5496,1.639,5497,3.561,5498,1.519,5499,1.639,5500,4.364,5501,1.639,5502,1.639,5503,8.362,5504,1.639,5505,1.639,5506,1.639,5507,2.603,5508,1.639,5509,1.639,5510,2.963,5511,2.746,5512,1.639,5513,2.963,5514,2.963,5515,2.963,5516,2.496,5517,1.639,5518,1.639,5519,1.639,5520,1.639,5521,1.639,5522,1.639,5523,1.639,5524,1.639,5525,1.639,5526,1.639,5527,1.639,5528,1.639,5529,1.639,5530,1.639,5531,1.639,5532,1.381,5533,2.963,5534,1.639]],["component/99",[0,0.855,18,0.605,21,1.418]],["title/100",[0,27.094,21,44.931]],["name/100",[3,1.542]],["text/100",[0,4.472,1,1.834,4,2.148,10,2.451,18,1.298,21,7.416,29,2.092,34,2.3,38,3.134,39,3.608,40,3.725,57,2.359,62,1.316,63,2.361,69,2.032,71,3.119,103,4.351,105,2.986,119,3.306,154,2.209,178,2.054,229,2.237,257,1.85,261,1.89,281,2.107,283,1.958,311,1.984,315,3.596,323,3.012,336,1.867,408,2.1,415,4.796,432,2.824,488,2.64,495,2.507,498,2.563,502,2.726,511,1.872,512,2.52,514,2.266,520,4.258,542,3.012,563,3.293,712,2.745,760,2.507,772,3.693,773,2.986,818,2.578,865,2.608,866,3.411,869,3.347,883,3.098,890,2.061,908,3.973,998,2.246,1006,4.351,1010,3.012,1025,2.275,1064,3.195,1065,3.596,1134,2.824,1139,2.025,1220,2.593,1227,3.486,1299,3.347,1311,3.195,1446,3.347,1452,2.467,1454,3.098,1488,4.196,1509,3.486,1587,3.04,1692,2.824,2527,2.961,2987,3.657,5071,4.079,5494,4.786,5535,5.164,5536,4.351,5537,4.786,5538,3.881]],["component/100",[0,0.855,18,0.605,21,1.418]],["title/101",[38,13.77,63,17.217,143,26.128,1416,28.643]],["name/101",[63,0.647,1416,1.076]],["text/101",[0,2.111,1,0.944,10,1.169,16,2.453,21,3.5,30,2.211,38,2.776,58,1.577,63,3.071,71,2.538,87,1.477,91,2.679,95,1.709,122,1.516,126,1.522,136,2.062,143,1.709,154,1.577,167,4.179,178,1.466,194,1.752,203,2.374,211,1.332,219,4.248,223,3.787,224,1.516,230,2.132,232,1.384,245,1.411,260,1.393,261,1.349,283,3.565,285,3.353,287,2.292,290,3.016,310,2.031,311,1.416,315,2.308,370,1.472,374,2.36,487,1.577,491,1.933,502,1.946,517,4.835,571,1.7,583,3.239,589,3.118,691,2.113,697,2.488,709,1.51,712,1.959,741,1.921,742,3.003,746,1.482,767,2.743,773,3.438,794,2.016,839,2.062,840,2.233,866,1.357,872,3.567,886,2.711,928,1.734,947,4.62,998,1.603,1010,2.15,1029,2.643,1030,2.533,1038,1.522,1055,2.42,1070,1.987,1076,2.113,1079,1.908,1082,2.389,1093,5.033,1130,2.19,1137,1.959,1139,1.446,1145,2.526,1169,2.611,1230,1.896,1259,2.046,1265,2.659,1297,2.36,1324,1.819,1368,3.533,1388,2.659,1389,2.659,1416,3.797,1464,2.305,1531,1.933,1539,3.239,1560,2.711,1583,4.013,1605,2.912,1610,6.306,1643,2.659,1647,7.121,1664,2.912,1695,2.453,2315,5.121,2326,2.912,2495,5.224,2529,2.77,2626,3.416,2629,4.575,2655,2.19,2723,3.239,3545,5.903,4004,2.912,4170,3.106,4826,3.106,5238,5.51,5507,7.532,5516,7.224,5539,3.686,5540,3.106,5541,5.945,5542,7.472,5543,3.686,5544,3.686,5545,3.686,5546,3.686,5547,3.686,5548,3.686,5549,3.686,5550,3.686,5551,3.686,5552,3.686,5553,3.686,5554,3.416]],["component/101",[0,0.855,18,0.605,21,1.418]],["title/102-1",[21,33.182,38,13.77,62,14.369,1029,25.058]],["name/102-1",[]],["text/102-1",[]],["component/102-1",[]],["title/102-2",[1029,25.058,1393,37.007,1643,40.655,5500,49.523]],["name/102-2",[]],["text/102-2",[]],["component/102-2",[]],["title/102",[21,38.173,38,15.841,772,30.979]],["name/102",[772,1.715]],["text/102",[0,0.675,1,0.726,4,2.308,10,2.017,13,1.19,21,6.27,37,1.973,38,3.177,39,0.741,49,1.213,62,1.166,63,2.952,69,0.749,71,2.321,94,0.81,96,0.853,98,1.454,102,1.048,105,1.1,109,3.836,122,0.782,126,0.785,140,1.056,141,1.479,149,1.22,152,0.677,153,2.963,163,0.798,167,4.52,173,0.979,194,2.174,197,1.174,211,1.653,222,0.71,223,2.089,224,0.782,229,0.824,244,0.807,247,0.873,250,1.569,251,0.973,253,0.716,260,2.664,261,0.696,267,1.249,276,1.799,281,0.776,283,3.09,289,0.979,290,0.768,310,2.52,311,1.301,315,3.338,324,0.762,328,0.918,329,2.368,336,2.299,395,0.814,400,0.967,406,0.934,408,1.86,421,0.865,462,2.194,488,2.339,495,0.923,511,0.69,539,0.873,553,0.712,555,0.873,582,1.004,588,1.548,626,1.347,628,1.249,653,3.893,668,0.928,680,1.19,709,0.779,722,0.759,723,0.985,735,0.594,765,2.544,772,4.617,773,1.1,790,0.973,793,1.12,794,1.04,800,1.091,808,2.668,809,1.177,823,0.873,840,1.153,843,3.231,852,0.873,854,1.011,865,0.961,866,1.247,872,5.797,890,0.759,897,1.347,901,1.249,904,3.478,916,1.11,919,1.13,928,1.593,929,3.531,931,1.775,934,1.025,942,1.284,949,1.13,954,1.153,973,2.964,981,1.43,998,1.99,1010,1.11,1025,0.838,1029,4.64,1030,1.949,1038,1.888,1049,2.32,1058,0.928,1070,1.025,1082,2.194,1084,1.304,1097,2.544,1139,0.746,1150,1.203,1169,4.992,1212,2.285,1230,1.742,1264,1.787,1285,0.979,1304,1.851,1389,1.372,1434,1.43,1452,0.909,1454,2.031,1462,1.153,1511,1.347,1615,1.19,1643,6.489,1646,1.43,1651,1.372,1676,1.203,1689,1.266,1835,1.249,1905,1.399,1909,1.284,1910,2.012,1911,2.755,1923,3.365,2081,1.164,2082,1.399,2131,1.548,2158,2.357,2161,1.399,2174,1.372,2258,1.548,2332,2.031,2400,1.1,2448,1.464,3121,1.763,3545,1.503,3565,1.503,3809,1.603,4138,1.671,4170,2.852,4821,1.464,5126,1.763,5385,1.763,5395,1.503,5439,1.304,5500,4.874,5507,2.974,5511,1.763,5516,1.603,5555,7.162,5556,8.664,5557,7.555,5558,6.36,5559,4.574,5560,3.385,5561,1.671,5562,3.385,5563,4.574,5564,1.902,5565,1.902,5566,1.902,5567,1.902,5568,1.902,5569,1.902,5570,1.902,5571,1.902,5572,1.902,5573,1.902,5574,1.902,5575,1.902,5576,1.902,5577,1.902,5578,1.902,5579,1.902,5580,1.902,5581,1.902,5582,1.902,5583,1.902,5584,1.902,5585,1.902,5586,1.902,5587,1.902,5588,1.902,5589,1.902,5590,1.902,5591,1.902,5592,1.902,5593,1.902]],["component/102",[0,0.855,18,0.605,21,1.418]],["title/103-1",[8,22.976,3260,50.794]],["name/103-1",[]],["text/103-1",[]],["component/103-1",[]],["title/103",[0,20.009,8,16.968,21,33.182,261,20.628]],["name/103",[8,0.637,261,0.775]],["text/103",[0,3.956,1,1.388,2,2.511,8,3.693,14,5.246,21,6.561,58,3.741,83,3.441,129,5.992,145,4.527,163,3.666,183,3.922,216,3.666,261,4.079,287,3.371,313,3.652,370,3.491,521,5.409,589,4.586,750,4.268,763,4.291,790,4.471,865,4.417,947,4.713,1167,4.222,1457,5.409,1468,5.741,1670,5.532,1831,5.598,5428,7.637]],["component/103",[0,0.855,18,0.605,21,1.418]],["title/104-1",[380,32.256,890,30.47]],["name/104-1",[]],["text/104-1",[]],["component/104-1",[]],["title/104-2",[5516,78.148]],["name/104-2",[]],["text/104-2",[]],["component/104-2",[]],["title/104-3",[872,45.789,890,30.47]],["name/104-3",[]],["text/104-3",[]],["component/104-3",[]],["title/104-4",[5561,81.486]],["name/104-4",[]],["text/104-4",[]],["component/104-4",[]],["title/104-5",[5555,81.486]],["name/104-5",[]],["text/104-5",[]],["component/104-5",[]],["title/104-6",[5557,85.955]],["name/104-6",[]],["text/104-6",[]],["component/104-6",[]],["title/104-7",[773,44.136,890,30.47]],["name/104-7",[]],["text/104-7",[]],["component/104-7",[]],["title/104-8",[5481,81.486]],["name/104-8",[]],["text/104-8",[]],["component/104-8",[]],["title/104-9",[5487,81.486]],["name/104-9",[]],["text/104-9",[]],["component/104-9",[]],["title/104-10",[5478,81.486]],["name/104-10",[]],["text/104-10",[]],["component/104-10",[]],["title/104-11",[62,16.531,241,28.699,291,26.464]],["name/104-11",[]],["text/104-11",[]],["component/104-11",[]],["title/104",[62,19.457,1354,52.304]],["name/104",[62,0.54,1354,1.451]],["text/104",[0,2.196,1,1.4,10,2.306,15,1.168,21,6.439,26,2.158,34,0.7,38,2.155,62,2.621,63,1.455,71,3.197,78,1.354,79,1.763,91,1.27,107,1.237,114,1.307,126,1.164,147,1.932,161,1.237,162,2.482,163,1.997,166,2.177,167,2.127,173,1.45,197,2.145,203,1.125,211,1.722,216,1.182,218,1.276,219,2.709,241,3.219,250,2.868,251,4.51,253,1.794,257,1.01,260,1.8,261,1.032,263,1.997,276,1.498,281,1.151,283,3.561,287,1.087,290,3.281,291,4.905,310,4.007,315,1.094,336,3.189,345,1.232,375,1.509,379,1.288,395,1.206,462,1.827,495,1.368,498,1.399,511,1.022,548,2.625,550,1.376,553,1.783,562,1.469,568,1.347,569,1.59,615,1.509,653,6.695,672,1.221,674,1.616,709,1.155,760,1.368,761,2.525,772,2.956,773,3.578,808,3.609,843,2.883,856,1.691,872,4.363,886,2.074,890,1.125,901,4.062,929,4.037,931,2.498,947,4.754,953,1.407,956,2.338,1070,1.519,1075,1.763,1096,2.375,1164,1.805,1230,3.741,1259,1.565,1324,1.391,1357,2.886,1455,4.378,1519,2.613,1557,1.997,1586,2.477,1610,3.504,1643,4.462,1655,1.726,1664,4.887,1692,2.605,1908,4.176,1924,2.482,2081,2.916,2100,1.63,2363,3.877,2400,1.63,2427,2.074,2442,2.227,2552,2.375,2611,3.763,2655,1.675,3549,3.666,3565,6.421,3794,2.477,5378,2.477,5478,4.186,5480,4.186,5481,4.186,5487,2.477,5493,4.415,5538,2.119,5554,2.613,5555,2.477,5556,4.415,5561,4.186,5594,6.186,5595,2.819,5596,2.819,5597,2.819,5598,2.819,5599,4.764,5600,2.819,5601,2.819,5602,2.819,5603,2.819,5604,2.819,5605,2.819,5606,4.764,5607,2.819,5608,2.819,5609,2.819,5610,2.294,5611,2.819,5612,2.819,5613,2.819,5614,4.764,5615,4.415,5616,2.819]],["component/104",[0,0.855,18,0.605,21,1.418]],["title/105-1",[1849,59.371]],["name/105-1",[]],["text/105-1",[]],["component/105-1",[]],["title/105",[234,29.041]],["name/105",[234,1.124]],["text/105",[10,2.583,46,4.175,63,2.488,71,1.496,98,2.381,105,3.205,126,2.288,166,2.532,167,4.871,203,2.212,232,2.08,234,3.024,272,2.833,404,2.869,498,2.751,511,2.009,539,4.887,553,2.074,568,2.648,589,4.272,681,2.966,696,2.851,704,3.798,760,2.69,774,2.833,813,2.401,840,3.358,852,3.74,892,5.391,918,2.705,953,2.767,972,3.263,973,3.592,1030,3.47,1034,4.264,1070,2.987,1127,3.639,1137,5.133,1154,3.008,1197,3.688,1306,4.3,1322,4.077,1454,3.325,1661,3.925,1684,3.506,1692,4.454,1849,6.182,1854,4.511,1901,8.192,2332,3.325,2721,4.869,2739,4.869,5617,4.869,5618,5.136,5619,5.542,5620,5.542,5621,5.542,5622,5.542,5623,5.542,5624,7.549,5625,5.542,5626,4.67,5627,5.542,5628,5.542,5629,6.863,5630,5.542,5631,5.542,5632,5.542]],["component/105",[0,0.855,18,0.605,22,1.603]],["title/106-1",[38,18.646,1647,54.056]],["name/106-1",[]],["text/106-1",[]],["component/106-1",[]],["title/106",[38,22.657]],["name/106",[38,0.877]],["text/106",[38,2.99,46,2.381,71,1.638,122,3.578,141,2.652,154,2.597,166,2.774,167,4.845,203,2.423,210,4.227,211,3.145,232,2.279,257,2.174,273,4.04,421,5.053,498,4.319,539,3.995,555,2.787,674,5.832,796,4.16,852,3.995,866,3.205,918,2.963,1025,2.675,1029,2.698,1030,2.586,1230,3.123,1306,3.205,1454,3.642,1488,3.295,1638,5.115,1647,8.668,1649,8.776,1684,3.84,1909,4.098,2453,5.626,2761,4.562,2820,10.333,5626,5.115,5633,6.07,5634,6.07,5635,8.701,5636,8.701,5637,8.701,5638,8.701,5639,8.701,5640,6.07,5641,5.626]],["component/106",[0,0.855,18,0.605,22,1.603]],["title/107",[22,61.721]],["name/107",[3,1.542]],["text/107",[0,3.303,1,1.477,2,1.916,4,2.776,8,3.669,10,2.95,22,8.111,29,2.703,37,2.878,38,1.63,51,4.084,63,2.038,66,5.228,68,3.256,71,2.891,76,5.134,77,4.44,102,3.676,171,7.159,203,2.664,222,2.489,229,2.89,234,2.089,273,4.44,286,4.173,287,2.572,511,3.373,528,5.43,555,3.063,668,3.256,783,2.287,793,3.928,813,2.89,857,4.173,866,2.457,1011,4.908,1079,3.454,1130,2.457,1148,3.676,1437,3.892,1454,5.581,1487,4.572,1531,3.499,1532,6.184,1536,4.725,1588,6.184,1716,4.324,1980,5.271,2134,4.221,2827,5.134,5498,6.184,5537,6.184,5617,5.862,5642,9.303,5643,6.672,5644,8.174,5645,6.672,5646,6.672]],["component/107",[0,0.855,18,0.605,22,1.603]],["title/108-1",[3124,65.686]],["name/108-1",[]],["text/108-1",[]],["component/108-1",[]],["title/108-2",[3106,71.363]],["name/108-2",[]],["text/108-2",[]],["component/108-2",[]],["title/108",[783,31.796]],["name/108",[783,1.231]],["text/108",[10,1.322,15,1.727,46,2.572,69,1.64,71,1.77,83,1.64,114,1.932,161,1.829,166,1.905,167,4.834,183,1.87,203,1.664,210,2.902,222,3.023,223,1.57,251,3.353,299,3.399,317,1.813,324,1.67,379,1.905,380,3.426,498,2.069,511,1.511,514,1.829,539,4.588,555,1.914,563,1.776,668,2.034,760,2.023,774,2.131,783,3.638,794,2.279,808,2.432,813,3.511,852,3.01,918,2.034,952,6.237,953,2.081,1030,5.041,1038,3.346,1049,2.856,1070,2.247,1105,4.22,1154,2.263,1208,3.586,1230,4.728,1306,2.201,1318,2.144,1319,5.183,1429,2.105,1454,2.501,1595,5.046,1684,2.637,1692,2.279,1892,4.494,2080,5.741,2396,2.668,2607,3.066,2786,3.293,2820,3.662,2987,2.952,3106,7.072,3116,3.863,3124,7.078,3600,3.512,3702,5.337,4271,3.512,4964,3.863,5438,3.207,5617,5.761,5624,8.518,5626,6.83,5641,3.863,5647,6.557,5648,6.557,5649,6.557,5650,6.557,5651,4.168,5652,8.105,5653,3.863,5654,4.168,5655,4.168,5656,4.168,5657,4.168,5658,4.168,5659,4.168,5660,3.863,5661,6.557,5662,4.168,5663,4.168,5664,4.168,5665,4.168]],["component/108",[0,0.855,18,0.605,22,1.603]],["title/109-1",[8,22.976,3260,50.794]],["name/109-1",[]],["text/109-1",[]],["component/109-1",[]],["title/109",[0,20.009,8,16.968,22,37.511,261,20.628]],["name/109",[8,0.637,261,0.775]],["text/109",[0,4.03,1,1.429,2,2.586,8,3.743,14,5.402,22,7.556,58,3.852,83,3.544,145,4.662,163,3.775,261,4.155,287,3.471,313,3.76,370,3.595,521,5.57,746,3.621,763,4.419,790,4.604,865,4.548,1093,4.819,1167,4.347,1457,5.57,1468,5.912,1831,5.764,5428,7.78,5666,9.004]],["component/109",[0,0.855,18,0.605,22,1.603]],["title/110",[23,28.959,26,15.584,62,11.391,848,24.082,849,23.749,850,23.433]],["name/110",[26,0.523,572,0.909,853,1.028]],["text/110",[62,3.126,140,4.241,167,4.797,194,3.631,211,4.433,250,5.685,355,3.229,370,3.05,380,3.229,572,4.629,749,2.997,813,3.31,848,5.5,849,5.424,850,5.352,853,5.236,1029,4.537,1030,3.255,1038,3.154,1056,4.779,1057,4.241,1088,4.089,1119,6.438,1120,6.713,1121,6.713,1123,6.036,1124,6.713,2152,5.742,2597,8.599,2598,7.081,4992,7.081,4993,7.081,5667,7.64]],["component/110",[0,0.855,18,0.605,23,1.561]],["title/111-1",[71,17.5,767,29.912,2988,40.557]],["name/111-1",[]],["text/111-1",[]],["component/111-1",[]],["title/111-2",[1417,49.986]],["name/111-2",[]],["text/111-2",[]],["component/111-2",[]],["title/111-3",[1210,48.324]],["name/111-3",[]],["text/111-3",[]],["component/111-3",[]],["title/111-4",[848,34.949,849,34.466,850,34.008]],["name/111-4",[]],["text/111-4",[]],["component/111-4",[]],["title/111",[0,27.094,23,49.467]],["name/111",[3,1.542]],["text/111",[1,1.035,2,1.189,3,5.294,8,1.246,10,1.313,23,2.683,34,1.028,38,3.011,39,3.566,40,2.986,62,1.055,69,1.629,70,1.211,71,2.178,91,1.865,119,2.65,122,2.682,161,2.861,173,2.13,183,1.857,197,3.175,218,3.653,222,1.544,224,1.702,229,1.793,253,4.321,261,1.515,267,6.54,283,4.35,291,3.293,311,1.59,315,2.531,324,1.659,380,1.75,418,2.104,495,2.01,500,2.104,511,1.501,512,2.021,514,1.816,520,3.593,530,3.952,648,1.957,665,2.46,672,1.793,735,1.293,762,2.932,767,1.91,783,1.419,813,1.793,843,2.585,848,4.349,849,4.289,866,2.402,923,2.2,927,2.683,928,1.948,931,4.232,956,2.032,957,2.104,992,6.099,1064,2.561,1065,2.883,1066,4.619,1076,2.373,1097,6.065,1127,2.718,1134,2.264,1139,1.624,1150,2.619,1210,4.771,1214,2.534,1229,4.34,1260,3.839,1262,3.111,1413,2.755,1417,2.231,1443,2.683,1446,2.683,1462,6.035,1488,2.247,1613,2.65,1654,3.27,1656,3.637,2379,6.065,2512,3.488,2838,6.568,3090,3.837,3362,2.619,4496,3.045,4801,3.837,5071,3.27,5668,6.044,5669,4.14,5670,6.522,5671,4.14,5672,4.14,5673,4.14,5674,6.522,5675,3.837]],["component/111",[0,0.855,18,0.605,23,1.561]],["title/112-1",[8,22.976,3260,50.794]],["name/112-1",[]],["text/112-1",[]],["component/112-1",[]],["title/112",[0,20.009,8,16.968,261,20.628,1066,39.921]],["name/112",[8,0.637,261,0.775]],["text/112",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1066,8.079,1167,4.38,1457,5.612,1468,5.956,1831,5.807,5428,7.817]],["component/112",[0,0.855,18,0.605,23,1.561]],["title/113",[26,19.66,38,13.77,39,21.953,62,14.369]],["name/113",[26,0.738,572,1.283]],["text/113",[15,3.069,23,4.8,38,2.442,39,2.885,48,3.502,62,2.548,167,4.878,194,5.376,215,3.859,582,3.91,813,3.208,854,3.937,865,3.741,1029,5.029,1030,3.156,1038,4.126,1056,4.633,1057,4.112,1088,5.349,1092,7.079,1101,5.566,1291,4.742,1337,5.246,2037,4.686,2146,6.241,2147,6.028,2151,5.699,2512,6.241,2515,6.508,2520,7.895,2559,6.865,2560,6.508,2561,6.865,2562,6.865,2599,6.865,5676,7.406,5677,7.406,5678,7.406,5679,7.406]],["component/113",[0,0.855,18,0.605,23,1.561]],["title/114",[62,19.457,1354,52.304]],["name/114",[572,1.283,1354,1.451]],["text/114",[0,1.751,1,1.714,4,2.052,23,3.197,26,3.505,38,2.201,39,4.595,49,1.767,62,1.257,70,1.443,71,3.357,93,1.87,107,4.409,116,5.17,120,2.036,147,3.38,154,2.11,162,3.891,178,1.962,197,2.589,211,1.783,216,2.068,218,2.233,250,2.286,251,3.818,253,3.394,257,1.767,283,3.416,291,2.013,299,2.068,334,2.697,336,3.257,375,2.64,379,2.254,427,2.989,428,3.38,500,2.506,502,2.604,514,2.164,572,2.989,615,3.996,760,2.394,761,3.048,818,3.728,843,1.955,854,2.622,890,3.597,929,5.002,931,2.587,934,2.658,953,2.462,992,4.789,1025,3.29,1066,7.646,1107,5.289,1210,4.695,1249,5.257,1264,2.604,1305,3.33,1455,2.448,1521,4.571,1615,3.085,1726,3.158,2072,2.491,2185,3.282,2520,3.896,2588,4.571,3086,4.014,4448,4.014,5215,4.571,5680,4.932,5681,4.932,5682,4.932,5683,7.467,5684,4.932,5685,9.01,5686,4.932,5687,4.932,5688,4.932,5689,4.334,5690,4.932,5691,4.571]],["component/114",[0,0.855,18,0.605,23,1.561]],["title/115-1",[62,16.531,1235,39.289,3524,44.436]],["name/115-1",[]],["text/115-1",[]],["component/115-1",[]],["title/115-2",[62,16.531,669,45.925,3524,44.436]],["name/115-2",[]],["text/115-2",[]],["component/115-2",[]],["title/115-3",[63,17.217,80,31.534,553,21.091,3524,38.626]],["name/115-3",[]],["text/115-3",[]],["component/115-3",[]],["title/115-4",[143,35.379,1362,45.352]],["name/115-4",[]],["text/115-4",[]],["component/115-4",[]],["title/115-5",[164,34.949,760,31.477,3524,44.436]],["name/115-5",[]],["text/115-5",[]],["component/115-5",[]],["title/115-6",[183,29.086,783,22.231,2780,56.973]],["name/115-6",[]],["text/115-6",[]],["component/115-6",[]],["title/115-7",[760,37.05,2905,48.284]],["name/115-7",[]],["text/115-7",[]],["component/115-7",[]],["title/115-8",[848,34.949,849,34.466,850,34.008]],["name/115-8",[]],["text/115-8",[]],["component/115-8",[]],["title/115-9",[120,31.506,786,41.136]],["name/115-9",[]],["text/115-9",[]],["component/115-9",[]],["title/115-10",[38,18.646,1152,42.048]],["name/115-10",[]],["text/115-10",[]],["component/115-10",[]],["title/115-11",[62,19.457,1024,48.86]],["name/115-11",[]],["text/115-11",[]],["component/115-11",[]],["title/115-12",[57,25.755,63,17.217,283,21.369,683,31.534]],["name/115-12",[]],["text/115-12",[]],["component/115-12",[]],["title/115-13",[38,10.916,164,24.082,501,27.642,553,16.719,843,17.71,1471,32.228]],["name/115-13",[]],["text/115-13",[]],["component/115-13",[]],["title/115-14",[1291,41.51,2072,32.754,3524,44.436]],["name/115-14",[]],["text/115-14",[]],["component/115-14",[]],["title/115-15",[5692,92.74]],["name/115-15",[]],["text/115-15",[]],["component/115-15",[]],["title/115-16",[5693,92.74]],["name/115-16",[]],["text/115-16",[]],["component/115-16",[]],["title/115-17",[5694,92.74]],["name/115-17",[]],["text/115-17",[]],["component/115-17",[]],["title/115-18",[5695,92.74]],["name/115-18",[]],["text/115-18",[]],["component/115-18",[]],["title/115-19",[5696,92.74]],["name/115-19",[]],["text/115-19",[]],["component/115-19",[]],["title/115",[62,23.643]],["name/115",[62,0.915]],["text/115",[0,0.786,1,0.904,4,1.609,10,1.634,15,3.747,18,0.3,34,0.96,37,0.954,38,2.662,39,1.206,45,0.715,46,0.468,49,2.514,57,1.415,58,0.51,62,1.688,63,2.618,69,0.469,70,0.647,71,2.6,78,1.487,79,1.384,80,3.186,83,0.871,93,0.452,98,0.512,100,0.528,107,0.523,116,2.34,120,0.913,126,0.492,131,0.738,141,0.521,143,2.865,148,0.61,152,1.102,153,0.555,154,0.51,159,1.354,161,1.358,163,0.5,164,3.331,165,3.048,167,4.476,178,0.474,183,1.389,197,2.561,203,0.476,211,1.398,215,0.621,218,1.002,222,0.445,223,0.449,224,0.49,229,0.516,232,0.448,233,2.225,234,0.373,244,0.506,245,0.457,250,1.026,253,1.166,257,2.214,260,1.719,261,1.133,266,1.21,271,0.763,274,1.176,281,0.903,283,2.661,286,0.535,291,1.857,299,1.298,324,1.241,326,0.51,329,0.617,338,0.561,345,0.521,348,0.917,355,2.406,370,0.476,371,0.83,373,0.763,377,0.708,379,0.545,398,0.715,402,1.228,406,1.899,408,0.485,418,0.606,421,1.759,426,0.73,427,1.341,428,2.333,462,0.773,497,0.702,498,0.592,501,1.915,502,1.168,511,1.869,544,0.97,549,0.684,553,3.298,555,1.016,560,0.61,563,0.943,589,2.986,615,0.638,628,1.453,668,0.582,669,0.844,682,0.917,683,3.186,709,1.864,735,0.372,741,0.621,746,2.072,750,0.582,760,1.503,763,0.585,772,1.057,773,0.689,776,1.303,783,0.759,786,1.193,805,0.564,813,0.959,817,0.844,823,0.547,843,3.494,848,3.069,849,3.027,850,2.029,852,0.547,853,1.516,854,0.634,856,1.328,862,1.384,866,2.276,872,0.715,890,0.883,899,0.805,904,1.21,925,0.722,926,1.28,928,1.041,929,1.228,938,1.258,947,0.643,951,1.111,956,0.585,965,0.602,976,0.86,1021,1.384,1024,1.417,1026,0.97,1027,1.176,1029,3.81,1030,1.648,1038,3.313,1052,1.567,1055,0.783,1058,2.22,1061,0.492,1064,1.915,1088,4.131,1097,0.896,1105,1.016,1113,0.738,1148,0.657,1149,2.72,1152,3.867,1154,2.1,1178,1.417,1202,1.596,1223,1.944,1230,1.138,1249,0.696,1255,0.657,1264,0.629,1291,5.137,1305,0.805,1362,1.84,1437,0.696,1443,0.773,1471,3.717,1488,0.647,1489,1.201,1492,1.434,1497,1.453,1535,1.865,1536,0.844,1558,0.805,1637,0.844,1655,0.73,1725,3.65,2026,0.643,2037,1.4,2062,0.97,2069,1.048,2072,1.954,2073,0.942,2107,1.048,2228,1.048,2333,5.578,2342,1.048,2355,1.005,2361,1.628,2396,1.417,2514,1.048,2552,1.005,2576,1.703,2607,1.628,2611,0.942,2629,0.917,2778,1.541,2780,1.944,2905,1.4,2925,0.567,2955,1.801,2987,0.844,3106,2.382,3122,0.97,3123,1.005,3524,8.538,3549,1.703,3702,1.801,3777,0.896,4266,0.896,5012,2.051,5019,1.105,5069,1.048,5115,1.105,5660,1.105,5691,1.105,5697,1.192,5698,1.192,5699,1.192,5700,1.192,5701,1.192,5702,1.192,5703,1.192,5704,1.105,5705,1.192,5706,1.192,5707,1.192,5708,1.105,5709,1.192,5710,1.192,5711,1.192,5712,1.192,5713,1.192,5714,1.192,5715,1.192,5716,1.192,5717,2.213,5718,1.192,5719,1.192,5720,1.192,5721,1.192,5722,1.192,5723,1.192,5724,1.192,5725,2.051,5726,1.192,5727,1.192,5728,1.192,5729,1.192,5730,2.051,5731,1.048,5732,5.153,5733,1.192,5734,1.192,5735,2.213,5736,1.192,5737,1.192,5738,1.192,5739,1.192,5740,1.192,5741,1.192,5742,1.192,5743,1.192,5744,1.192,5745,1.192,5746,1.192,5747,1.192,5748,1.192,5749,1.192,5750,1.192,5751,1.192,5752,1.105,5753,1.192,5754,1.192,5755,2.213,5756,2.213,5757,2.213,5758,2.213,5759,1.192,5760,3.868,5761,1.192,5762,1.192,5763,2.213,5764,2.213,5765,1.192,5766,1.192,5767,2.213,5768,2.213,5769,3.868,5770,1.192,5771,2.213,5772,1.192,5773,1.192]],["component/115",[0,0.855,18,0.605,24,1.706]],["title/116",[0,27.094,501,47.217]],["name/116",[501,2.221]],["text/116",[0,4.687,71,2.782,107,4.522,114,4.778,218,4.666,257,3.692,283,3.908,291,4.207,501,6.377,1148,5.679,1725,7.3,5708,9.553,5774,10.307]],["component/116",[0,0.855,18,0.605,24,1.706]],["title/117-1",[315,35.998]],["name/117-1",[]],["text/117-1",[]],["component/117-1",[]],["title/117-2",[1361,75.483]],["name/117-2",[]],["text/117-2",[]],["component/117-2",[]],["title/117",[1127,60.891]],["name/117",[3,1.542]],["text/117",[0,3.747,1,1.915,2,3.032,10,2.895,24,6.465,26,2.265,30,5.476,34,2.266,37,2.801,38,2.23,39,3.555,45,3.895,49,3.27,70,1.9,71,2.849,78,4.384,79,5.709,107,2.849,116,4.696,129,6.255,164,4.92,215,3.383,233,2.538,257,2.326,262,3.934,286,2.913,299,2.722,315,3.543,317,2.825,539,2.981,560,3.32,669,4.599,746,4.245,760,3.152,866,2.391,880,4.776,890,3.644,912,4.321,1054,3.26,1064,4.017,1169,4.599,1402,6.715,1471,6.584,1725,6.465,1784,4.45,2172,5.471,2361,4.776,2655,3.858,2841,4.45,3524,7.847,4506,5.129,5775,5.471]],["component/117",[0,0.855,18,0.605,24,1.706]],["title/118",[164,30.379,746,22.666,890,22.502,3524,38.626]],["name/118",[164,0.809,890,0.599,3524,1.028]],["text/118",[120,4.149,164,5.417,257,3.6,286,4.508,746,4.886,786,5.417,890,4.851,3524,6.888,5730,9.315,5752,9.315,5776,10.05,5777,10.05,5778,10.05,5779,10.05,5780,10.05,5781,9.315]],["component/118",[0,0.855,18,0.605,24,1.706]],["title/119-1",[8,22.976,5428,52.304]],["name/119-1",[]],["text/119-1",[]],["component/119-1",[]],["title/119-2",[8,22.976,3887,60.293]],["name/119-2",[]],["text/119-2",[]],["component/119-2",[]],["title/119-3",[8,22.976,3827,70.737]],["name/119-3",[]],["text/119-3",[]],["component/119-3",[]],["title/119-4",[671,34.082,3270,36.464]],["name/119-4",[]],["text/119-4",[]],["component/119-4",[]],["title/119-5",[3271,51.484]],["name/119-5",[]],["text/119-5",[]],["component/119-5",[]],["title/119-6",[8,22.976,3828,70.737]],["name/119-6",[]],["text/119-6",[]],["component/119-6",[]],["title/119-7",[8,22.976,3829,67.059]],["name/119-7",[]],["text/119-7",[]],["component/119-7",[]],["title/119",[0,17.696,8,15.006,164,26.866,261,18.243,1471,35.954]],["name/119",[8,0.637,261,0.775]],["text/119",[0,2.492,1,1.529,2,2.016,8,3.86,24,4.972,26,2.449,34,1.743,36,2.967,37,3.028,50,3.991,58,3.003,62,1.79,83,4.331,134,3.612,152,2.5,153,3.27,261,4.334,287,4.242,313,2.932,370,4.393,408,2.854,521,6.807,654,4.133,671,3.135,746,2.823,761,2.865,763,3.445,790,3.589,865,3.546,866,2.585,878,4.888,1070,3.784,1134,3.839,1167,3.39,1259,3.897,1291,4.494,1342,4.609,1452,3.354,1457,4.343,1468,4.609,1831,7.044,2991,4.972,3271,3.897,3298,5.915,3299,5.064,3736,6.506,5428,6.604,5781,6.506,5782,7.02,5783,7.02]],["component/119",[0,0.855,18,0.605,24,1.706]],["title/120",[25,56.771]],["name/120",[3,1.542]],["text/120",[0,3.759,1,1.844,2,2.519,10,2.29,25,6.014,26,1.647,37,2.036,51,2.89,53,2.805,54,2.805,63,1.442,66,2.304,70,1.381,71,2.367,76,3.633,96,2.118,105,2.73,106,2.601,126,1.949,152,1.681,154,3.09,157,3.187,158,2.779,169,2.317,171,3.633,175,2.779,176,2.581,178,1.878,194,3.433,211,1.706,222,1.761,244,2.003,245,2.765,247,2.167,264,2.662,287,1.82,299,1.979,328,2.279,374,3.022,380,3.052,395,3.09,423,2.544,488,2.414,502,2.492,504,3.842,506,3.473,553,1.766,556,2.232,563,3.737,566,3.099,634,4.041,760,2.292,767,2.178,794,2.581,798,6.086,826,3.099,832,2.986,857,2.953,868,3.142,869,3.06,871,5.209,877,6.011,890,2.883,948,2.92,949,4.291,951,2.37,953,2.357,956,2.317,971,4.148,985,3.473,1045,3.344,1070,2.544,1104,3.633,1130,2.66,1220,2.37,1262,5.428,1299,3.06,1306,2.492,1448,3.473,1452,2.255,1456,3.287,1531,2.476,1538,3.548,1582,4.148,1605,3.729,1734,3.473,2169,3.235,2209,8.922,2332,2.832,2988,2.953,3194,11.014,4788,3.729,5070,4.148,5381,4.375,5495,5.029,5675,4.375,5784,4.721,5785,4.148,5786,4.721,5787,3.978,5788,4.721,5789,4.375,5790,4.721,5791,4.721,5792,4.721,5793,4.721]],["component/120",[0,0.855,18,0.605,25,1.475]],["title/121-1",[62,19.457,1354,52.304]],["name/121-1",[]],["text/121-1",[]],["component/121-1",[]],["title/121-2",[25,39.693,234,20.305,1850,41.51]],["name/121-2",[]],["text/121-2",[]],["component/121-2",[]],["title/121-3",[841,40.174]],["name/121-3",[]],["text/121-3",[]],["component/121-3",[]],["title/121-4",[5794,85.955]],["name/121-4",[]],["text/121-4",[]],["component/121-4",[]],["title/121-5",[25,39.693,783,22.231,1850,41.51]],["name/121-5",[]],["text/121-5",[]],["component/121-5",[]],["title/121-6",[783,31.796]],["name/121-6",[]],["text/121-6",[]],["component/121-6",[]],["title/121-7",[3951,85.955]],["name/121-7",[]],["text/121-7",[]],["component/121-7",[]],["title/121-8",[729,44.527,783,26.167]],["name/121-8",[]],["text/121-8",[]],["component/121-8",[]],["title/121-9",[5795,92.74]],["name/121-9",[]],["text/121-9",[]],["component/121-9",[]],["title/121-10",[5796,92.74]],["name/121-10",[]],["text/121-10",[]],["component/121-10",[]],["title/121-11",[5797,92.74]],["name/121-11",[]],["text/121-11",[]],["component/121-11",[]],["title/121-12",[25,39.693,38,15.841,1850,41.51]],["name/121-12",[]],["text/121-12",[]],["component/121-12",[]],["title/121-13",[772,44.309]],["name/121-13",[]],["text/121-13",[]],["component/121-13",[]],["title/121-14",[1308,54.106]],["name/121-14",[]],["text/121-14",[]],["component/121-14",[]],["title/121-15",[774,33.153,876,41.022,1308,37.829]],["name/121-15",[]],["text/121-15",[]],["component/121-15",[]],["title/121-16",[25,34.503,735,17.605,892,26.79,1308,32.883]],["name/121-16",[]],["text/121-16",[]],["component/121-16",[]],["title/121",[25,46.72,1850,48.86]],["name/121",[25,1.296,1850,1.355]],["text/121",[0,1.501,1,0.568,2,0.582,4,0.451,10,0.904,11,0.755,12,0.834,13,0.678,25,4.059,26,1.677,32,0.657,38,1.303,39,0.422,46,0.425,49,1.021,50,0.617,51,1.24,57,0.926,62,0.276,63,2.574,69,0.427,71,2.394,87,0.812,94,1.801,96,0.909,98,0.87,114,0.503,126,1.478,131,0.671,140,1.125,141,0.885,147,0.743,152,0.386,153,0.505,161,0.476,162,1.056,163,0.455,165,0.448,167,4.739,178,0.806,183,2.392,203,0.433,216,0.455,218,0.491,222,1.794,230,1.171,232,1.344,233,0.792,234,2.841,250,0.503,251,1.036,253,0.408,257,0.726,260,0.41,261,1.043,272,0.554,274,0.576,276,0.576,283,1.081,290,1.151,310,0.597,311,0.778,317,0.472,324,0.812,329,1.049,334,1.559,340,2.264,344,3.489,345,0.474,355,0.458,364,0.782,370,0.433,377,1.204,379,0.495,406,2.617,408,1.159,420,1.903,432,1.108,491,0.569,495,0.983,498,1.415,511,1.298,514,0.476,520,0.597,525,0.883,538,1.407,553,0.406,555,3.363,562,1.865,568,0.968,589,0.569,622,0.627,638,2.203,655,2.239,659,1.848,668,1.391,672,0.878,681,0.58,683,0.607,691,0.622,709,0.444,712,1.077,716,0.622,729,1.663,734,0.508,735,0.339,740,1.583,741,0.565,744,0.664,746,0.815,759,0.815,760,0.526,761,0.827,766,0.551,767,2.218,772,1.71,774,2.459,783,3.176,793,2.107,805,1.999,808,4.079,809,2.616,810,0.565,813,2.702,841,3.65,845,0.732,852,0.93,856,1.71,866,1.318,883,0.651,890,0.433,892,5.219,904,0.593,905,2.32,909,0.768,918,1.391,936,1.267,941,1.954,947,0.584,949,1.204,950,1.267,951,2.415,956,0.532,965,1.023,972,0.638,982,0.617,998,0.472,1029,4.034,1030,3.947,1038,3.898,1054,1.431,1058,3.413,1061,1.177,1075,1.267,1104,0.834,1105,0.93,1125,0.678,1130,1.318,1145,1.388,1150,0.686,1151,0.633,1154,3.386,1167,0.524,1178,0.694,1207,0.883,1230,1.042,1232,0.768,1302,1.267,1306,0.573,1308,4.916,1313,0.857,1319,0.612,1324,1,1352,0.686,1452,3.168,1456,2.944,1523,1.005,1531,1.495,1537,0.883,1567,0.782,1576,1.152,1595,5.102,1611,0.857,1676,1.282,1705,1.005,1708,1.522,1783,0.782,1784,0.743,1850,3.079,1868,1.005,1892,0.743,1909,0.732,1927,0.633,1977,1.783,2075,0.883,2106,0.834,2112,0.914,2115,0.703,2125,1.649,2176,0.815,2230,1.6,2274,0.755,2332,0.651,2335,0.953,2391,0.914,2463,1.649,2629,0.834,2719,1.707,2723,0.953,2724,1.005,2872,1.005,3109,0.834,3124,0.768,3194,4.225,3196,5.101,3197,7.385,3215,1.005,3217,1.707,3825,0.953,4431,0.815,4613,0.953,5096,1.878,5114,0.953,5164,0.743,5668,1.005,5794,1.878,5798,1.084,5799,1.084,5800,2.026,5801,1.084,5802,3.579,5803,2.026,5804,1.084,5805,2.851,5806,1.005,5807,1.084,5808,1.084,5809,2.026,5810,1.084,5811,1.084,5812,1.084,5813,1.084,5814,0.953,5815,1.084,5816,2.026,5817,5.806,5818,4.228,5819,1.084,5820,1.878,5821,1.084,5822,1.084,5823,1.084,5824,1.084,5825,1.084,5826,1.005,5827,3.579,5828,2.026,5829,1.084,5830,2.851,5831,2.851,5832,2.851,5833,2.851,5834,2.851,5835,2.851,5836,2.026,5837,2.026,5838,2.851,5839,2.851,5840,1.084,5841,1.084,5842,1.084,5843,1.084,5844,1.084,5845,1.084,5846,1.084,5847,1.084,5848,1.084,5849,2.026,5850,1.084,5851,1.084,5852,1.084,5853,1.084,5854,1.084,5855,1.084,5856,1.084,5857,1.084,5858,1.084,5859,4.228,5860,2.851,5861,0.914,5862,1.084,5863,1.084,5864,1.084,5865,1.084,5866,5.332,5867,1.084,5868,5.332,5869,2.026,5870,2.026,5871,1.084,5872,1.084,5873,1.084,5874,2.851,5875,1.084,5876,1.084,5877,1.084,5878,1.084,5879,1.084,5880,1.084,5881,1.084,5882,1.005,5883,1.084,5884,1.084,5885,2.851,5886,2.851,5887,1.084,5888,1.084,5889,1.084,5890,2.026,5891,1.084,5892,1.084,5893,1.084,5894,1.084,5895,1.084,5896,1.084,5897,1.084,5898,1.084,5899,2.026,5900,2.026,5901,1.084,5902,1.084]],["component/121",[0,0.855,18,0.605,25,1.475]],["title/122-1",[8,22.976,3260,50.794]],["name/122-1",[]],["text/122-1",[]],["component/122-1",[]],["title/122",[0,20.009,8,16.968,25,34.503,261,20.628]],["name/122",[8,0.637,261,0.775]],["text/122",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,25,6.983,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1167,4.38,1457,5.612,1468,5.956,1831,5.807,5428,7.817]],["component/122",[0,0.855,18,0.605,25,1.475]],["title/123",[104,57.361,3205,57.361]],["name/123",[104,1.591,3205,1.591]],["text/123",[0,3.867,1,1.729,26,3.8,28,7.585,49,3.023,70,3.187,87,3.381,166,5.512,194,4.011,216,3.538,224,3.47,230,4.88,257,3.023,281,3.444,287,3.253,315,3.276,336,3.051,379,4.978,408,3.431,519,6.667,539,3.875,550,4.119,571,3.893,818,4.213,865,4.263,1175,5.221,1185,4.88,1480,6.343,1524,7.822,1924,4.397,2062,6.869,3205,6.343,5903,8.439]],["component/123",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/124",[26,22.617,87,25.981,519,51.224]],["name/124",[3,1.542]],["text/124",[0,3.736,1,1.443,2,1.855,26,3.671,28,4.497,37,3.923,44,3.995,46,2.533,49,3.257,63,3.678,66,3.152,70,3.523,71,2.454,104,6.834,126,2.666,154,2.763,166,2.951,186,3.768,197,2.24,204,3.913,211,3.287,224,2.656,244,2.74,245,2.473,261,2.364,287,2.49,315,2.507,316,3.224,324,2.588,340,4.086,374,4.134,379,4.155,418,3.282,511,2.342,521,3.995,553,2.417,648,3.054,712,3.433,735,2.017,761,3.711,790,4.649,818,3.224,841,2.798,846,3.039,875,3.802,938,3.672,1175,3.995,1176,3.152,1219,4.574,1264,3.41,1370,3.613,1474,5.442,1492,4.186,1509,4.36,1560,4.751,1570,5.102,1583,4.36,1602,5.675,1731,4.497,2062,7.401,3205,4.854,5787,5.442,5904,6.458]],["component/124",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/125",[122,31.386,2781,64.312]],["name/125",[122,1.476]],["text/125",[87,4.943,95,4.778,149,3.715,186,7.197,247,4.732,866,4.543,1064,6.377,1065,7.177,1208,5.636,3205,7.747,4496,7.582,4701,7.582]],["component/125",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/126-1",[8,22.976,3260,50.794]],["name/126-1",[]],["text/126-1",[]],["component/126-1",[]],["title/126-2",[8,22.976,3887,60.293]],["name/126-2",[]],["text/126-2",[]],["component/126-2",[]],["title/126-3",[8,22.976,3829,67.059]],["name/126-3",[]],["text/126-3",[]],["component/126-3",[]],["title/126-4",[671,34.082,3270,36.464]],["name/126-4",[]],["text/126-4",[]],["component/126-4",[]],["title/126-5",[3271,51.484]],["name/126-5",[]],["text/126-5",[]],["component/126-5",[]],["title/126",[0,17.696,8,15.006,26,17.386,28,34.709,261,18.243]],["name/126",[8,0.637,261,0.775]],["text/126",[0,3.315,1,1.065,2,1.927,8,3.497,14,4.025,26,4.41,28,8.503,37,4.029,58,2.87,70,2.733,71,1.811,83,2.64,104,5.042,143,3.11,145,3.473,183,3.009,216,2.813,224,3.84,234,2.101,261,3.418,287,2.586,313,2.802,370,2.678,379,3.066,521,4.15,735,2.917,750,3.275,761,3.812,763,3.293,790,3.43,813,2.906,846,4.394,865,3.389,896,4.935,1035,5.184,1088,3.591,1105,3.08,1125,4.196,1139,2.631,1167,3.239,1308,3.914,1309,4.107,1457,4.15,1468,4.405,1831,4.295,2062,5.46,3205,5.042,3260,4.465,3271,3.724,3298,5.653,3299,4.839,3357,5.895,5428,4.598,5905,6.709,5906,6.709,5907,6.709,5908,6.709]],["component/126",[0,0.676,18,0.478,26,0.664,28,1.326]],["title/127",[80,36.278,234,20.305,762,45.925]],["name/127",[80,1.184,234,0.663]],["text/127",[4,2.636,7,2.884,10,2.846,26,3.327,30,3.802,36,1.232,38,1.548,39,1.908,46,3.519,62,1.249,63,0.89,64,2.56,70,1.854,71,2.905,78,1.4,80,4.635,83,1.147,84,4.706,95,1.351,98,1.252,99,1.344,107,1.279,122,1.198,138,1.823,152,1.038,154,1.247,166,2.238,173,1.499,180,1.685,183,1.307,184,1.889,221,1.29,222,1.827,223,1.098,229,1.262,232,1.094,234,3.927,244,2.079,245,1.116,247,1.338,257,1.044,260,2.807,268,4.356,274,1.549,276,1.549,281,1.189,283,1.105,286,1.307,287,1.889,315,2.46,336,3.449,342,1.784,355,1.232,357,1.939,370,1.163,379,2.238,402,3.518,408,1.185,415,2.536,419,2.604,432,1.593,501,1.803,502,1.538,511,1.776,514,1.279,538,2.418,540,1.766,553,1.833,555,1.338,556,1.378,563,1.242,569,1.643,582,1.538,648,1.378,668,1.422,679,1.549,690,1.472,696,1.499,715,2.029,723,1.509,735,1.53,746,1.172,749,2.914,758,1.582,762,2.064,763,2.404,772,1.392,774,1.49,794,1.593,820,1.49,823,1.338,854,4.403,866,1.073,882,2.372,883,1.748,890,1.163,891,2.701,898,1.939,904,2.679,916,2.858,926,1.685,936,1.823,966,1.671,973,1.889,998,1.268,1035,1.618,1130,1.073,1136,2.144,1148,2.699,1150,1.844,1185,3.665,1241,1.56,1285,1.499,1306,1.538,1319,2.763,1430,1.56,1437,1.7,1531,3.324,1555,1.823,1583,1.967,1585,1.913,1600,2.144,1615,1.823,1670,1.844,1689,1.939,1937,2.56,2010,3.84,2072,1.472,2077,5.568,2232,2.56,2283,2.701,2334,2.144,2367,2.242,2398,2.56,2607,2.144,2718,2.302,2925,2.328,2995,3.26,3468,5.583,4267,2.701,4329,2.56,4787,2.302,5358,3.987,5689,4.304,5909,5.874,5910,6.337,5911,7.678,5912,2.701,5913,10.5,5914,2.701,5915,8.842,5916,4.899,5917,2.56,5918,2.914,5919,4.899,5920,6.527,5921,2.914,5922,2.701,5923,2.914,5924,2.914,5925,2.914,5926,2.701]],["component/127",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/128",[0,27.094,62,19.457]],["name/128",[572,2.175]],["text/128",[1,0.887,26,3.573,30,3.353,35,2.049,62,1.425,63,1.043,70,0.999,71,2.764,84,3.72,107,3.112,143,4.498,162,2.912,167,4.676,177,1.841,194,3.895,216,1.432,218,1.546,222,1.274,232,1.282,234,1.07,247,1.568,257,1.223,259,2.878,283,2.689,287,2.154,315,2.753,324,1.369,341,2.187,375,1.828,408,2.272,419,1.815,505,2.07,511,2.026,591,2.136,648,1.615,653,2.091,666,2.513,681,1.828,709,3.703,745,2.136,749,1.34,761,3.689,763,1.676,822,3.622,854,2.97,885,2.214,890,1.364,898,2.273,957,1.736,965,1.725,1029,4.554,1030,2.381,1038,3.731,1058,1.667,1088,5.482,1093,4.386,1107,2.419,1183,2.187,1235,2.07,1285,2.875,1309,4.342,1319,1.926,1413,2.273,1497,3.669,1525,2.878,1570,2.698,1607,2.628,1670,3.535,2010,3.386,2026,1.841,2053,4.548,2072,1.725,2074,4.3,2156,4.2,2232,3.001,2260,4.709,2264,3.166,2266,5.773,2267,4.709,2270,3.001,2326,4.415,2583,2.878,2728,3.001,2892,2.628,2925,3.895,4268,3.166,4387,3.001,5437,3.166,5445,3.166,5457,3.166,5458,3.166,5911,5.18,5912,6.574,5913,5.18,5915,8.994,5917,3.001,5920,4.91,5922,3.166,5926,3.166,5927,3.415,5928,3.415,5929,3.415,5930,3.415,5931,3.415,5932,3.415,5933,3.415,5934,3.415,5935,3.415,5936,3.415,5937,3.415,5938,3.415,5939,3.415,5940,3.415,5941,3.415,5942,3.415,5943,5.18,5944,3.415,5945,3.415,5946,3.415,5947,3.415,5948,3.415,5949,3.415,5950,8.195,5951,3.415,5952,3.415,5953,3.415,5954,5.588,5955,3.415,5956,3.415]],["component/128",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/129",[26,26.621,30,45.789]],["name/129",[3,1.542]],["text/129",[0,3.003,1,1.732,18,2.126,26,4.606,29,2.364,30,7.801,34,2.1,71,2.944,78,2.803,80,3.265,95,2.705,107,2.56,124,2.732,154,2.497,162,4.407,178,2.321,234,3.626,283,2.212,401,4.75,415,5.648,419,3.102,423,3.145,432,3.191,488,2.984,502,3.081,511,2.116,514,2.56,569,3.291,678,3.215,722,2.33,749,2.289,760,2.833,761,2.382,762,4.133,790,2.984,865,2.948,866,3.664,890,2.33,904,4.625,918,2.848,1018,3.318,1134,4.625,1212,3.939,1220,2.93,1299,3.782,1465,3.832,1488,3.168,1495,4.386,1496,4.293,1509,3.939,1525,7.127,1531,3.061,2010,3.536,2074,4.49,2102,4.064,2266,4.75,2267,4.917,2619,4.917,5358,4.75,5909,5.409,5957,5.836,5958,5.836,5959,5.836,5960,5.836,5961,5.836,5962,5.409]],["component/129",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/130",[91,25.399,234,17.65,268,24.519,841,24.416]],["name/130",[234,0.663,5963,2.117]],["text/130",[0,1.857,10,1.659,14,3.138,46,2.051,62,1.99,63,2.384,69,2.059,71,3.134,80,2.926,154,2.238,176,2.86,177,2.819,197,1.814,219,2.974,222,1.951,223,2.939,234,4.142,260,2.949,261,1.914,268,2.275,283,1.983,315,2.03,402,5.182,414,4.132,419,4.148,495,2.539,497,3.079,532,3.349,548,2.882,555,2.401,571,2.413,659,3.39,696,4.015,722,3.116,734,3.653,740,2.904,759,3.931,767,2.413,774,5.661,794,2.86,810,2.725,813,2.266,826,6.795,841,3.38,857,3.272,862,3.272,892,2.486,904,4.267,942,3.531,956,4.581,965,2.642,998,4.061,1038,3.221,1079,2.708,1093,4.996,1169,3.705,1304,4.267,1413,3.481,1445,4.132,1497,3.434,1531,2.743,1560,3.848,1585,3.434,1720,4.596,1892,5.348,1898,4.408,1924,2.725,2072,2.642,2134,3.309,2156,7.778,2158,3.642,2266,4.257,2987,3.705,3583,3.531,4219,4.848,4235,4.848,5917,4.596,5943,4.848,5962,8.652,5964,5.231]],["component/130",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/131-1",[8,22.976,3260,50.794]],["name/131-1",[]],["text/131-1",[]],["component/131-1",[]],["title/131",[0,17.696,8,15.006,26,17.386,30,29.905,261,18.243]],["name/131",[8,0.637,261,0.775]],["text/131",[0,4.012,1,1.419,2,2.567,8,3.731,14,5.362,26,3.941,30,6.78,58,3.824,83,3.518,145,4.627,183,4.009,216,3.747,261,4.136,287,3.446,313,3.733,370,3.568,521,5.529,750,4.362,763,4.387,790,4.57,865,4.515,1167,4.315,1457,5.529,1468,5.868,1831,5.722,5428,7.744]],["component/131",[0,0.676,18,0.478,26,0.664,30,1.142]],["title/132",[0,27.094,62,19.457]],["name/132",[572,2.175]],["text/132",[0,2.369,31,4.084,38,1.63,49,2.39,62,1.701,71,1.801,83,2.626,91,3.006,100,2.953,126,2.754,143,3.093,144,4.084,154,2.854,178,3.701,222,2.489,234,2.089,245,2.555,247,3.063,283,2.529,290,2.693,291,2.723,336,2.412,398,7.311,420,3.546,423,3.596,445,4.504,501,4.128,511,3.373,562,3.476,720,5.014,722,2.664,723,3.454,734,3.123,741,4.847,783,2.287,1025,2.94,1030,2.843,1249,3.892,1264,4.912,1311,4.128,1312,4.572,1429,3.37,1433,5.862,1555,4.173,1615,4.173,1704,5.014,2991,7.586,5965,6.672,5966,6.672,5967,6.184,5968,6.672,5969,9.303,5970,11.588,5971,11.588,5972,10.711,5973,6.672,5974,6.672,5975,6.672,5976,6.672,5977,6.672]],["component/132",[0,0.855,18,0.605,31,1.475]],["title/133",[31,56.771]],["name/133",[3,1.542]],["text/133",[0,3.522,1,1.728,10,3.146,26,3.46,31,7.38,38,2.059,53,3.451,56,4.48,62,1.481,63,1.774,70,1.699,71,2.275,84,3.046,103,4.894,149,2.093,162,5.17,200,3.302,215,3.026,216,3.534,224,2.388,232,2.18,234,3.107,244,2.464,245,2.224,326,2.485,329,3.007,371,4.044,395,2.485,408,2.361,415,3.007,517,3.275,553,2.173,635,2.789,668,2.835,681,3.108,724,3.108,735,3.099,746,2.335,761,3.44,783,3.401,834,4.365,852,2.666,866,3.654,877,3.98,1176,2.835,1215,3.98,1485,5.383,1527,5.383,1531,3.046,1695,3.865,1784,3.98,1849,3.718,2690,4.189,2716,4.588,2719,4.894,2991,4.113,2993,7.406,2999,5.383,3007,5.383,3049,7.406,3124,4.113,3264,4.189,5785,5.103,5978,4.272,5979,5.808,5980,5.808,5981,5.808,5982,5.808,5983,5.808,5984,5.808,5985,5.808,5986,5.808,5987,5.808,5988,5.808,5989,5.808]],["component/133",[0,0.855,18,0.605,31,1.475]],["title/134-1",[8,22.976,3260,50.794]],["name/134-1",[]],["text/134-1",[]],["component/134-1",[]],["title/134",[0,20.009,8,16.968,31,34.503,261,20.628]],["name/134",[8,0.637,261,0.775]],["text/134",[0,4.049,1,1.44,2,2.606,8,3.756,14,5.442,31,6.983,58,3.881,83,3.57,145,4.697,183,4.069,216,3.804,261,4.175,287,3.497,313,3.789,370,3.622,521,5.612,750,4.428,763,4.452,790,4.638,865,4.582,1167,4.38,1457,5.612,1468,5.956,1831,5.807,3260,6.037,5428,6.217]],["component/134",[0,0.855,18,0.605,31,1.475]],["title/135",[1,10.292,34,16.098,62,16.531]],["name/135",[62,0.915]],["text/135",[]],["component/135",[1,0.382,18,0.605,34,0.598]],["title/136",[1,8.946,34,13.993,603,32.047,1130,20.758]],["name/136",[603,1.204,1130,0.78]],["text/136",[]],["component/136",[1,0.382,18,0.605,34,0.598]],["title/137",[1127,60.891]],["name/137",[3,1.542]],["text/137",[1,2.209,2,2.971,5,5.918,8,1.884,9,2.91,10,1.985,14,5.335,34,3.368,50,5.056,53,5.284,54,5.284,55,6.333,56,4.727,57,4.064,58,3.805,84,3.282,99,4.102,117,3.754,122,2.574,146,4.664,178,3.538,200,5.056,203,2.498,206,3.959,221,2.77,262,3.792,268,2.722,292,3.959,313,2.614,512,3.054,548,3.448,555,2.873,670,5.444,722,2.498,746,2.517,750,3.054,839,5.788,1397,3.558,1398,4.432,1437,3.651,1924,3.261,3064,5.273,5990,6.258,5991,6.258,5992,6.258,5993,6.258,5994,3.719,5995,5.499]],["component/137",[1,0.382,18,0.605,34,0.598]],["title/138",[8,22.976,261,27.932]],["name/138",[8,0.637,261,0.775]],["text/138",[1,1.861,5,3.574,8,3.899,34,2.911,53,3.191,54,3.191,55,3.287,58,5.192,61,3.574,75,6.29,87,3.799,126,2.217,140,2.981,141,2.346,147,6.497,148,2.746,149,1.935,183,2.409,200,3.053,208,4.37,209,4.036,210,3.739,211,1.941,212,7.125,213,4.036,214,3.739,215,2.798,216,2.251,217,4.132,218,2.431,219,3.053,222,2.003,232,2.016,257,1.923,261,2.912,293,6.286,313,2.243,315,2.084,337,2.915,404,2.78,422,2.539,537,8.533,555,2.465,671,2.398,690,2.712,693,6.706,746,3.2,758,2.915,793,3.161,810,2.798,824,3.574,892,2.552,956,2.635,982,3.053,998,4.124,1079,2.78,1302,3.359,1400,3.004,1425,3.133,1456,3.739,1555,3.359,1651,3.873,1783,3.873,2344,4.132,2359,3.68,2954,4.718,3269,6.839,3448,4.525,3887,4.242,4328,3.873,5394,4.525,5996,5.37,5997,10.484,5998,5.37,5999,4.718]],["component/138",[1,0.382,18,0.605,34,0.598]],["title/139",[1,8.946,34,13.993,965,28.471,1130,20.758]],["name/139",[965,1.069,1130,0.78]],["text/139",[]],["component/139",[1,0.382,18,0.605,34,0.598]],["title/140-1",[8,22.976,5394,64.312]],["name/140-1",[]],["text/140-1",[]],["component/140-1",[]],["title/140-2",[654,44.931,1452,36.464]],["name/140-2",[]],["text/140-2",[]],["component/140-2",[]],["title/140-3",[671,28.956,3045,41.022,3270,30.979]],["name/140-3",[]],["text/140-3",[]],["component/140-3",[]],["title/140-4",[185,35.2,186,37.829,287,24.997]],["name/140-4",[]],["text/140-4",[]],["component/140-4",[]],["title/140-5",[183,34.236,216,32]],["name/140-5",[]],["text/140-5",[]],["component/140-5",[]],["title/140-6",[8,22.976,693,64.312]],["name/140-6",[]],["text/140-6",[]],["component/140-6",[]],["title/140-7",[116,39.266,183,34.236]],["name/140-7",[]],["text/140-7",[]],["component/140-7",[]],["title/140-8",[36,27.404,152,23.088,3045,41.022]],["name/140-8",[]],["text/140-8",[]],["component/140-8",[]],["title/140-9",[8,22.976,293,60.293]],["name/140-9",[]],["text/140-9",[]],["component/140-9",[]],["title/140-10",[140,27.672,489,35.305,947,26.866,1492,32.307,6000,33.65]],["name/140-10",[]],["text/140-10",[]],["component/140-10",[]],["title/140-11",[134,33.359,829,30.979,6001,64.841]],["name/140-11",[]],["text/140-11",[]],["component/140-11",[]],["title/140-12",[145,33.57,301,36.568,1048,48.733]],["name/140-12",[]],["text/140-12",[]],["component/140-12",[]],["title/140-13",[3045,58.672]],["name/140-13",[]],["text/140-13",[]],["component/140-13",[]],["title/140-14",[8,22.976,212,57.361]],["name/140-14",[]],["text/140-14",[]],["component/140-14",[]],["title/140-15",[36,27.404,134,33.359,152,23.088]],["name/140-15",[]],["text/140-15",[]],["component/140-15",[]],["title/140-16",[38,18.646,2430,47.738]],["name/140-16",[]],["text/140-16",[]],["component/140-16",[]],["title/140-17",[395,27.74,1387,46.77,4415,47.7]],["name/140-17",[]],["text/140-17",[]],["component/140-17",[]],["title/140-18",[99,29.912,268,28.207,1148,35.723]],["name/140-18",[]],["text/140-18",[]],["component/140-18",[]],["title/140-19",[67,27.977,219,32.047,653,34.503,6002,56.363]],["name/140-19",[]],["text/140-19",[]],["component/140-19",[]],["title/140-20",[120,26.767,134,33.359,1113,40.115]],["name/140-20",[]],["text/140-20",[]],["component/140-20",[]],["title/140-21",[671,34.082,3270,36.464]],["name/140-21",[]],["text/140-21",[]],["component/140-21",[]],["title/140-22",[183,34.236,839,42.701]],["name/140-22",[]],["text/140-22",[]],["component/140-22",[]],["title/140-23",[1,8.946,34,13.993,147,38.626,208,45.875]],["name/140-23",[]],["text/140-23",[]],["component/140-23",[]],["title/140-24",[8,22.976,5999,67.059]],["name/140-24",[]],["text/140-24",[]],["component/140-24",[]],["title/140-25",[8,19.52,152,23.088,1152,35.723]],["name/140-25",[]],["text/140-25",[]],["component/140-25",[]],["title/140-26",[36,32.256,152,27.175]],["name/140-26",[]],["text/140-26",[]],["component/140-26",[]],["title/140-27",[48,36.09,6003,52.304]],["name/140-27",[]],["text/140-27",[]],["component/140-27",[]],["title/140-28",[165,31.506,6004,62.119]],["name/140-28",[]],["text/140-28",[]],["component/140-28",[]],["title/140",[8,22.976,75,45.789]],["name/140",[8,0.452,75,0.9,6005,1.391]],["text/140",[0,0.403,1,1.5,2,0.853,4,1.235,5,2.475,7,1.246,8,2.356,10,1.747,11,0.791,15,1.231,34,2.389,36,3.036,37,0.49,38,2.43,39,2.657,45,0.682,47,0.696,48,4.183,49,0.758,50,0.646,51,1.295,53,1.765,54,2.605,55,2.277,56,1.125,57,0.519,58,3.216,62,0.539,63,0.907,66,2.429,67,1.05,68,0.555,69,1.464,70,0.619,71,2.029,83,1.169,84,0.596,86,0.805,87,1.757,88,0.791,92,1.075,93,2.85,94,0.484,95,0.527,96,2.882,98,0.488,99,1.37,102,0.626,105,1.224,107,2.417,109,1.063,114,0.527,116,0.585,120,2.472,121,0.898,122,1.221,124,1.39,126,1.226,129,0.779,130,0.688,131,0.703,134,1.089,140,0.631,141,0.496,143,1.377,144,0.696,145,1.096,147,2.035,148,3.844,152,2.132,160,1.053,163,0.476,164,0.612,165,2.652,166,0.519,167,0.728,171,0.874,174,1.309,177,0.612,178,1.48,180,1.717,182,1.976,183,2.882,185,1.612,186,2.558,195,0.711,200,0.646,203,0.454,205,0.669,209,0.854,210,1.473,211,0.765,212,0.854,213,1.59,214,0.791,215,1.547,216,1.245,217,0.874,218,1.684,219,0.646,222,0.424,224,1.53,229,0.492,230,1.224,232,1.115,233,1.161,234,1.165,238,0.898,241,1.646,243,1.859,245,2.109,250,0.981,253,0.797,257,0.758,260,0.8,261,0.774,268,3.749,271,0.727,272,1.518,275,1.203,276,0.604,281,0.464,283,0.802,287,1.434,289,0.585,291,0.864,293,0.898,299,2.511,301,1.675,310,0.626,311,0.813,316,0.567,317,0.494,327,1.149,329,0.588,334,1.624,336,0.411,342,0.696,345,0.496,357,0.756,370,0.845,375,0.608,395,2.129,398,1.782,400,1.075,405,1.59,406,2.152,408,0.86,415,0.588,419,0.604,421,0.517,425,0.805,426,0.696,428,0.958,485,0.727,487,0.486,488,1.518,489,0.805,494,0.791,501,1.309,503,0.746,522,0.719,534,0.898,537,1.722,539,0.522,553,0.425,560,0.581,563,2.12,568,1.011,571,0.524,600,3.134,603,0.646,615,0.608,634,1.184,642,0.574,653,1.295,654,2.19,668,0.555,671,0.945,672,0.917,679,0.604,681,0.608,684,0.636,687,1.859,688,0.791,690,2.514,691,0.651,692,0.727,693,0.957,697,1.428,701,2.752,702,0.54,720,2.796,722,1.75,730,0.976,731,1.166,734,0.532,742,0.574,744,0.696,746,1.763,748,2.892,749,1.952,750,0.555,757,0.711,767,0.524,783,1.018,793,0.669,794,0.621,799,0.657,804,2.83,805,1.404,806,0.791,807,1.879,808,0.663,810,0.592,821,1.125,824,0.756,825,0.957,829,2.378,839,0.636,843,1.738,852,0.971,855,1.246,865,1.069,866,0.418,878,2.068,880,1.557,883,0.682,885,1.925,890,0.454,903,0.874,909,0.805,913,2.862,926,1.224,928,0.535,930,0.957,931,1.951,932,0.925,934,0.612,940,2.068,945,0.767,946,0.898,947,0.612,951,0.571,953,0.567,956,0.558,958,0.682,962,0.711,965,0.574,968,0.998,976,0.82,980,0.82,981,0.854,984,1.722,998,0.494,1012,0.669,1016,0.736,1024,0.727,1025,0.501,1029,0.505,1048,1.59,1072,0.588,1079,0.588,1111,1.234,1113,2.301,1129,1.783,1130,0.779,1131,0.874,1134,0.621,1148,1.636,1150,0.719,1152,1.166,1178,1.901,1180,0.641,1261,3.053,1263,0.898,1295,1.157,1304,0.621,1310,1.499,1319,0.641,1370,0.636,1387,0.82,1400,1.661,1406,0.727,1409,0.626,1416,0.577,1417,0.612,1419,0.736,1421,0.874,1437,0.663,1451,1.389,1452,3.069,1455,0.564,1458,0.779,1464,1.857,1487,0.779,1488,1.149,1492,0.736,1504,0.805,1511,0.805,1534,1.628,1567,0.82,1579,0.805,1582,0.998,1601,1.053,1602,1.859,1613,1.355,1651,1.526,1676,0.719,1677,0.711,1697,0.736,1716,0.736,1725,0.805,1767,1.45,1924,0.592,1926,2.019,1938,2.005,2015,0.767,2096,0.805,2106,0.874,2158,0.791,2179,1.526,2187,0.82,2276,0.805,2332,1.27,2344,0.874,2358,0.636,2400,0.657,2430,1.857,2504,0.836,2509,0.957,2527,0.651,2552,2.502,2672,0.998,2731,0.998,2827,0.874,2848,0.82,2925,0.54,2992,1.053,3045,2.353,3048,0.957,3153,1.45,3227,0.898,3255,1.859,3260,0.756,3264,0.82,3270,0.543,3613,1.053,3644,0.925,3679,0.957,3773,0.957,4092,1.053,4102,0.925,4187,0.957,4372,1.053,4380,1.053,4415,0.836,4529,1.628,4549,0.854,4687,1.053,4688,1.053,4781,1.053,4786,0.925,5048,2.502,5071,1.672,5240,1.053,5284,1.053,5439,0.779,5455,0.874,5644,0.998,5789,1.053,5999,1.859,6000,0.767,6003,4.675,6004,3.568,6006,1.961,6007,1.136,6008,2.752,6009,2.116,6010,1.053,6011,1.136,6012,1.136,6013,2.969,6014,1.136,6015,1.136,6016,0.756,6017,1.136,6018,1.136,6019,1.136,6020,1.136,6021,1.59,6022,1.136,6023,0.925,6024,0.957,6025,1.136,6026,1.136,6027,0.998,6028,1.136,6029,1.136,6030,1.053,6031,1.136,6032,0.998,6033,1.136,6034,0.998,6035,1.136,6036,1.136,6037,0.998,6038,1.136,6039,1.136,6040,1.136,6041,1.053,6042,1.859,6043,0.998,6044,1.136,6045,3.105,6046,0.767,6047,1.136,6048,0.998,6049,1.136,6050,1.136,6051,0.957,6052,1.136,6053,1.053,6054,1.136]],["component/140",[1,0.382,18,0.605,34,0.598]],["title/141-1",[8,22.976,5394,64.312]],["name/141-1",[]],["text/141-1",[]],["component/141-1",[]],["title/141-2",[8,22.976,6055,76.321]],["name/141-2",[]],["text/141-2",[]],["component/141-2",[]],["title/141-3",[8,22.976,6056,76.321]],["name/141-3",[]],["text/141-3",[]],["component/141-3",[]],["title/141-4",[8,22.976,6057,76.321]],["name/141-4",[]],["text/141-4",[]],["component/141-4",[]],["title/141-5",[8,22.976,6058,76.321]],["name/141-5",[]],["text/141-5",[]],["component/141-5",[]],["title/141-6",[8,22.976,6059,76.321]],["name/141-6",[]],["text/141-6",[]],["component/141-6",[]],["title/141-7",[8,22.976,6060,76.321]],["name/141-7",[]],["text/141-7",[]],["component/141-7",[]],["title/141-8",[8,22.976,6061,76.321]],["name/141-8",[]],["text/141-8",[]],["component/141-8",[]],["title/141-9",[8,22.976,6062,76.321]],["name/141-9",[]],["text/141-9",[]],["component/141-9",[]],["title/141-10",[8,22.976,293,60.293]],["name/141-10",[]],["text/141-10",[]],["component/141-10",[]],["title/141-11",[8,22.976,6063,76.321]],["name/141-11",[]],["text/141-11",[]],["component/141-11",[]],["title/141-12",[8,22.976,6064,76.321]],["name/141-12",[]],["text/141-12",[]],["component/141-12",[]],["title/141-13",[8,22.976,6065,76.321]],["name/141-13",[]],["text/141-13",[]],["component/141-13",[]],["title/141-14",[8,22.976,6066,76.321]],["name/141-14",[]],["text/141-14",[]],["component/141-14",[]],["title/141-15",[8,22.976,6067,76.321]],["name/141-15",[]],["text/141-15",[]],["component/141-15",[]],["title/141-16",[8,22.976,6068,76.321]],["name/141-16",[]],["text/141-16",[]],["component/141-16",[]],["title/141-17",[8,22.976,6069,70.737]],["name/141-17",[]],["text/141-17",[]],["component/141-17",[]],["title/141-18",[8,22.976,6070,76.321]],["name/141-18",[]],["text/141-18",[]],["component/141-18",[]],["title/141-19",[8,22.976,6071,76.321]],["name/141-19",[]],["text/141-19",[]],["component/141-19",[]],["title/141-20",[8,22.976,6072,70.737]],["name/141-20",[]],["text/141-20",[]],["component/141-20",[]],["title/141-21",[671,34.082,3270,36.464]],["name/141-21",[]],["text/141-21",[]],["component/141-21",[]],["title/141-22",[8,22.976,212,57.361]],["name/141-22",[]],["text/141-22",[]],["component/141-22",[]],["title/141-23",[8,22.976,6073,76.321]],["name/141-23",[]],["text/141-23",[]],["component/141-23",[]],["title/141-24",[671,34.082,3270,36.464]],["name/141-24",[]],["text/141-24",[]],["component/141-24",[]],["title/141-25",[8,22.976,397,67.059]],["name/141-25",[]],["text/141-25",[]],["component/141-25",[]],["title/141-26",[36,27.404,134,33.359,152,23.088]],["name/141-26",[]],["text/141-26",[]],["component/141-26",[]],["title/141-27",[671,34.082,3270,36.464]],["name/141-27",[]],["text/141-27",[]],["component/141-27",[]],["title/141",[8,22.976,3269,55.051]],["name/141",[8,0.452,3269,1.083,6005,1.391]],["text/141",[0,0.836,1,1.711,3,3.436,4,0.98,5,2.183,8,1.229,10,0.404,15,0.528,34,2.612,37,0.55,38,2.029,39,2.513,41,0.682,46,1.602,47,0.781,48,0.603,56,0.678,58,2.313,62,1.645,63,1.002,67,1.169,70,1.195,71,0.636,78,0.612,83,0.502,87,0.511,91,1.478,92,0.648,93,0.893,94,1.398,96,1.056,99,2.208,105,0.737,107,1.033,120,1.354,122,1.349,124,1.102,127,1.307,132,1.59,136,0.713,145,0.66,148,3.046,149,1.948,152,2.121,161,0.559,163,1.712,165,3.751,167,0.438,170,3.1,173,0.656,180,0.737,182,0.849,183,2.425,197,0.817,210,0.888,211,1.73,216,0.535,220,1.988,223,1.538,224,1.679,230,0.737,232,0.479,233,1.596,241,2.393,244,0.999,247,1.506,250,2.762,253,0.48,257,2.47,260,1.24,264,0.719,268,4.792,271,0.816,272,3.299,274,0.678,275,4.882,279,1.386,281,2.432,282,1.86,283,1.244,286,0.572,289,0.656,290,1.932,291,2.979,301,0.719,311,2.077,317,1.024,324,0.511,326,1.403,336,1.73,345,0.557,379,0.583,395,3.122,400,1.197,405,0.958,406,2.349,408,1.334,411,1.074,415,1.219,419,0.678,422,1.113,428,1.849,489,0.903,513,0.64,532,1.507,538,2.015,556,1.931,566,0.837,571,0.588,585,1.984,603,0.725,615,0.682,635,1.131,638,2.494,653,1.441,654,1.386,665,0.758,670,0.781,671,4.967,672,3.32,681,1.26,688,0.888,690,3.01,702,1.941,716,2.341,721,1.336,722,2.379,723,0.66,729,1.374,734,0.597,735,1.025,744,0.781,746,1.319,748,2.611,749,0.924,751,0.903,755,1.339,767,1.513,783,2.212,820,1.677,821,0.678,823,2.962,829,1.567,836,0.773,843,1.3,846,1.108,855,1.386,886,0.938,922,0.837,924,0.758,940,4.149,950,1.473,951,1.182,956,1.156,957,0.648,958,1.413,962,2.554,966,1.35,972,2.404,976,1.698,980,2.945,982,1.865,992,0.678,998,1.024,1020,1.812,1023,0.981,1025,0.562,1035,0.708,1038,0.972,1045,0.903,1048,0.958,1052,1.668,1054,0.64,1061,0.526,1105,0.585,1110,1.399,1111,2.792,1113,1.457,1130,0.867,1139,0.924,1148,1.807,1215,1.614,1296,1.64,1304,3.258,1342,0.837,1368,1.399,1400,0.713,1417,1.269,1421,0.981,1425,0.744,1437,0.744,1443,0.826,1452,1.567,1495,1.77,1574,1.49,1583,1.59,1597,1.85,1613,1.507,1640,1.007,1676,2.583,1697,1.526,1699,1.698,1732,1.038,1835,1.546,1926,2.935,2015,0.861,2022,1.59,2057,4.493,2072,3.259,2115,2.126,2161,2.413,2169,1.614,2222,0.938,2274,0.888,2400,1.362,2796,1.77,2848,2.366,2905,0.807,2925,0.606,3009,3.896,3045,6.82,3270,3.487,3887,1.007,4121,2.182,4190,1.182,4354,2.182,4415,0.938,4476,1.984,4786,1.038,4804,1.038,4806,1.182,4925,1.917,5164,0.874,5325,0.938,5455,0.981,5978,0.938,6000,0.861,6003,0.874,6010,1.182,6023,1.038,6024,1.074,6034,2.069,6069,2.182,6072,1.182,6074,4.083,6075,1.668,6076,1.12,6077,1.275,6078,2.182,6079,4.083,6080,2.843,6081,1.275,6082,2.366,6083,1.182,6084,2.355,6085,2.182,6086,2.355,6087,1.275,6088,1.275,6089,2.182,6090,2.355,6091,1.275,6092,3.441,6093,0.758,6094,1.275,6095,1.074,6096,1.275,6097,1.275]],["component/141",[1,0.382,18,0.605,34,0.598]],["title/142-1",[94,32.518,116,39.266]],["name/142-1",[]],["text/142-1",[]],["component/142-1",[]],["title/142-2",[38,15.841,39,25.255,2072,32.754]],["name/142-2",[]],["text/142-2",[]],["component/142-2",[]],["title/142-3",[1,7.092,34,11.092,99,20.612,272,22.844,2072,22.569,2115,28.959]],["name/142-3",[]],["text/142-3",[]],["component/142-3",[]],["title/142",[6046,62.607]],["name/142",[6046,2.424]],["text/142",[1,1.677,3,2.117,6,1.322,10,1.167,13,2.301,15,0.866,34,2.562,38,2.295,39,2.906,48,0.988,49,1.765,56,1.111,58,1.574,62,0.533,71,1.33,83,1.448,93,0.792,94,4.149,95,1.705,98,1.58,99,2.738,100,0.925,101,1.372,109,1.847,114,0.968,116,4.143,122,0.859,124,0.978,126,1.518,136,5.448,140,2.042,141,1.607,148,1.068,152,1.31,153,0.973,154,1.574,161,2.162,165,2.034,166,0.955,167,0.718,169,1.025,176,1.142,177,1.126,178,1.96,183,0.937,197,0.725,200,1.188,207,1.266,211,0.755,218,0.946,222,1.372,223,1.385,226,2.675,229,0.905,241,5.025,247,0.959,250,2.284,253,2.548,254,1.307,261,0.765,262,3.596,264,1.178,268,3.917,269,1.608,271,2.355,272,4.604,273,1.39,275,3.847,281,4.099,286,1.65,287,0.805,292,4.28,298,1.23,299,2.066,311,1.413,315,0.811,319,1.507,324,1.474,326,0.894,332,2.519,334,1.142,336,0.755,337,4.051,371,1.455,400,2.504,404,1.082,406,1.025,539,1.689,553,0.782,555,0.959,556,1.739,571,0.964,626,1.48,635,1.003,672,1.593,679,1.111,687,1.836,688,1.455,691,1.198,699,3.409,702,0.993,714,1.266,718,1.65,722,0.834,734,0.978,742,1.055,746,1.982,749,0.819,750,1.02,758,1.134,766,1.869,767,1.697,794,2.695,810,1.917,818,1.043,845,1.41,851,2.83,854,1.111,865,1.055,885,2.384,912,1.39,916,2.146,934,2.656,944,1.354,950,1.307,965,2.998,975,1.761,1035,1.16,1038,3.08,1046,1.41,1063,1.134,1079,1.082,1111,1.219,1127,1.372,1130,1.815,1185,1.208,1208,1.142,1215,1.432,1255,1.151,1288,3.703,1309,2.252,1318,1.075,1342,1.372,1373,1.266,1387,1.507,1409,1.151,1417,1.126,1437,1.219,1452,2.354,1456,1.455,1458,1.432,1676,3.117,1726,1.338,1769,2.994,1924,1.089,1938,1.41,1968,1.608,2026,1.126,2043,1.761,2072,5.735,2080,1.48,2081,3.016,2115,6.51,2416,1.57,2527,1.198,2630,1.7,2878,4.567,2925,4.07,3093,1.48,3265,1.537,3583,2.483,3853,1.936,3995,1.761,4107,1.836,4648,1.761,4765,1.936,4790,3.792,5477,1.608,6043,1.836,6046,8.269,6095,1.761,6098,2.089,6099,1.936,6100,2.089,6101,2.089,6102,1.936,6103,2.089,6104,3.893,6105,1.836,6106,1.836,6107,2.089,6108,2.089,6109,1.455,6110,1.608,6111,2.089,6112,2.089,6113,2.089,6114,2.089,6115,2.089,6116,2.089,6117,2.089,6118,2.089]],["component/142",[1,0.382,18,0.605,34,0.598]],["title/143-1",[211,20.375,395,24.113,635,27.07,846,26.518]],["name/143-1",[]],["text/143-1",[]],["component/143-1",[]],["title/143-2",[846,35.908,1708,57.361]],["name/143-2",[]],["text/143-2",[]],["component/143-2",[]],["title/143-3",[46,25.431,234,20.305,846,30.507]],["name/143-3",[]],["text/143-3",[]],["component/143-3",[]],["title/143-4",[46,25.431,783,22.231,846,30.507]],["name/143-4",[]],["text/143-4",[]],["component/143-4",[]],["title/143-5",[279,44.931,846,35.908]],["name/143-5",[]],["text/143-5",[]],["component/143-5",[]],["title/143-6",[846,35.908,6046,51.523]],["name/143-6",[]],["text/143-6",[]],["component/143-6",[]],["title/143-7",[846,35.908,1597,43.042]],["name/143-7",[]],["text/143-7",[]],["component/143-7",[]],["title/143-8",[99,35.208,846,35.908]],["name/143-8",[]],["text/143-8",[]],["component/143-8",[]],["title/143-9",[846,43.633]],["name/143-9",[]],["text/143-9",[]],["component/143-9",[]],["title/143",[846,35.908,1072,39.514]],["name/143",[846,0.996,1072,1.096]],["text/143",[1,1.732,2,0.267,3,1.609,5,2.097,9,4.202,34,2.729,38,2.202,39,2.037,41,0.498,46,0.365,47,1.075,52,1.007,62,1.333,63,1.597,67,1.236,70,1.398,78,0.447,83,0.366,87,0.998,91,1.42,92,0.892,96,2.531,98,1.354,99,3.992,100,0.412,107,0.77,122,0.722,126,0.725,127,1.749,136,0.982,141,0.767,152,0.331,163,0.39,165,3.009,167,0.856,169,0.457,178,2.245,180,1.015,183,2.346,197,1.657,211,1.354,220,0.564,223,0.351,224,0.722,226,0.953,229,0.403,230,0.538,232,0.659,233,1.232,234,2.099,241,1.658,242,1.075,244,1.337,245,0.356,247,1.144,250,2.616,252,0.818,253,1.187,260,0.663,264,1.777,268,3.765,273,0.62,275,3.984,279,3.754,286,0.418,287,0.359,290,1.005,291,1.017,299,1.044,311,0.358,317,1.084,324,0.703,336,0.337,337,0.953,338,2.017,343,0.559,345,0.407,379,0.425,395,3.338,400,0.473,408,0.714,425,0.659,428,2.163,433,0.638,435,1.185,439,0.628,485,0.596,511,0.637,517,1.777,520,2.633,531,0.628,538,2.359,542,1.453,550,1.538,552,2.867,553,1.957,558,0.648,568,0.445,571,0.429,593,0.685,635,3.219,653,1.075,656,0.628,672,0.76,684,5.848,690,0.47,702,1.781,713,1.222,716,0.534,729,1.024,735,1.339,740,3.54,741,0.915,744,0.57,746,0.374,748,0.848,750,0.454,755,2.717,767,0.81,774,1.611,783,2.675,805,0.44,820,1.611,841,2.265,843,1.699,846,6.335,850,0.488,855,1.466,873,0.638,892,0.834,901,0.611,923,1.324,924,0.553,926,0.538,928,0.826,929,2.903,934,0.946,949,0.553,956,1.546,958,0.559,965,0.47,972,2.206,998,0.764,1018,3.208,1038,5.29,1061,1.028,1063,0.505,1072,3.301,1076,1.428,1110,1.043,1111,0.543,1135,1.525,1137,1.675,1139,0.977,1143,0.7,1148,0.967,1152,0.967,1208,1.723,1259,1.749,1296,1.734,1304,0.96,1308,3.91,1309,1.525,1324,0.459,1342,0.611,1361,0.758,1362,0.553,1400,1.394,1416,0.473,1417,0.946,1428,0.659,1437,0.543,1451,0.611,1458,0.638,1464,0.582,1558,1.185,1574,0.589,1597,1.777,1651,0.671,1655,1.075,1671,2.565,1697,1.138,1713,0.659,1714,0.716,1716,0.603,1835,0.611,1905,0.685,1908,3.226,1913,0.758,1914,1.185,2026,0.502,2037,0.589,2072,1.592,2081,1.525,2100,0.538,2176,0.7,2350,0.7,2617,0.735,2737,4.792,2968,1.479,2988,0.582,3233,0.863,3323,0.863,3397,0.863,3474,0.863,3477,0.863,3498,0.863,3502,0.863,3530,0.863,3570,0.863,3583,1.185,3616,0.863,3817,0.863,3995,0.784,3998,0.863,4180,0.863,4182,0.863,4328,0.671,4368,0.671,4924,5.904,4983,3.292,5160,0.735,5164,1.203,5193,0.758,5342,0.784,5395,0.735,5416,0.863,5432,0.818,5438,2.883,5455,1.351,5994,0.553,6024,0.784,6046,1.185,6080,2.985,6119,0.931,6120,0.931,6121,0.931,6122,0.931,6123,0.931,6124,0.931,6125,0.931,6126,0.931,6127,0.931,6128,0.863,6129,0.931,6130,0.931,6131,0.818,6132,0.931,6133,0.863,6134,0.931,6135,0.931,6136,0.931,6137,0.931,6138,0.931,6139,0.931,6140,0.931,6141,0.931,6142,0.931,6143,0.931,6144,0.931,6145,0.931,6146,0.863,6147,0.931,6148,0.931,6149,0.931,6150,0.931,6151,0.931,6152,0.931,6153,0.931,6154,0.931,6155,0.931,6156,0.931,6157,0.931,6158,0.931,6159,0.931,6160,0.931,6161,0.931,6162,0.931,6163,0.931,6164,0.931,6165,0.931,6166,0.931,6167,0.931,6168,0.931,6169,1.755,6170,1.542,6171,0.931,6172,0.931,6173,0.931,6174,0.931,6175,0.931,6176,0.931,6177,0.931,6178,0.931,6179,0.931,6180,0.931,6181,0.931,6182,0.931,6183,0.931,6184,1.755,6185,0.931,6186,0.931,6187,0.931,6188,0.931,6189,0.931,6190,0.931,6191,0.931]],["component/143",[1,0.382,18,0.605,34,0.598]],["title/144-1",[38,13.77,428,25.516,843,22.341,2905,35.658]],["name/144-1",[]],["text/144-1",[]],["component/144-1",[]],["title/144-2",[380,39.196]],["name/144-2",[]],["text/144-2",[]],["component/144-2",[]],["title/144-3",[1,10.292,2,18.624,71,17.5]],["name/144-3",[]],["text/144-3",[]],["component/144-3",[]],["title/144-4",[71,17.5,965,32.754,1130,23.88]],["name/144-4",[]],["text/144-4",[]],["component/144-4",[]],["title/144-5",[1,8.946,34,13.993,71,15.212,1465,37.007]],["name/144-5",[]],["text/144-5",[]],["component/144-5",[]],["title/144-6",[1,5.41,2,9.789,46,13.367,58,14.581,877,23.357,1265,24.584,1402,25.072,1443,22.09,1508,26.226]],["name/144-6",[]],["text/144-6",[]],["component/144-6",[]],["title/144",[38,18.646,843,30.252]],["name/144",[38,0.517,843,0.839]],["text/144",[1,1.797,2,2.667,8,0.523,10,1.347,18,0.784,29,0.703,34,2.306,37,1.832,38,2.766,39,2.328,46,0.681,49,1.857,58,2.218,62,1.524,66,0.847,69,0.683,70,0.508,71,2.585,83,0.683,87,0.695,95,0.805,102,1.718,109,0.872,114,0.805,119,1.111,122,1.283,131,1.074,143,1.446,148,2.172,149,2.398,152,0.618,153,0.809,154,1.817,158,1.022,161,2.623,165,1.288,167,3.98,177,0.936,178,0.69,194,1.483,203,1.245,216,1.308,223,1.6,224,2.458,226,0.942,229,0.752,232,1.171,233,1.66,244,2.2,245,1.194,253,1.6,257,2.939,260,2.736,261,1.555,268,2.256,290,1.259,314,1.463,315,2.32,317,0.755,324,0.695,328,1.506,329,0.899,337,0.942,338,1.998,342,1.909,344,1.745,381,1.804,395,1.817,402,0.964,408,0.706,418,0.882,422,0.821,428,4.456,487,1.334,488,3.702,491,2.72,496,1.14,497,1.022,498,2.108,502,2.243,511,1.88,513,1.566,514,0.762,520,1.718,539,0.797,550,0.847,553,0.65,556,2.826,558,1.209,562,1.625,568,0.829,571,2.392,635,1.498,665,1.031,671,0.775,677,0.91,681,0.929,684,1.745,704,1.19,716,3.427,717,1.463,748,0.838,760,0.843,766,0.882,767,0.801,783,0.595,793,1.022,813,2.883,822,1.125,823,0.797,836,2.574,843,4.488,845,2.106,846,0.817,852,1.432,854,1.658,857,1.086,865,2.146,866,0.639,873,1.19,877,1.19,880,1.277,883,1.041,890,1.245,892,0.825,928,2.44,949,3.081,950,1.086,965,2.146,976,1.252,980,1.252,997,0.91,998,2.256,1010,1.013,1018,0.987,1025,0.765,1030,1.329,1035,1.732,1038,1.753,1054,0.872,1063,0.942,1072,0.899,1084,1.19,1105,1.432,1130,1.91,1131,1.336,1151,1.013,1154,1.693,1167,0.838,1168,2.25,1175,1.074,1176,0.847,1197,1.155,1223,1.525,1230,0.893,1232,1.229,1259,0.964,1299,1.125,1306,0.916,1319,0.979,1357,3.142,1402,3.125,1443,1.125,1457,1.074,1465,3.924,1473,2.25,1475,1.14,1494,2.464,1508,2.4,1511,1.229,1587,1.022,1677,1.086,1692,0.949,1716,1.125,1726,1.111,1914,1.172,1924,0.904,1974,1.098,2026,1.681,2057,1.209,2072,1.576,2090,1.609,2096,1.229,2097,1.463,2103,1.19,2161,1.277,2185,2.076,2258,1.413,2404,1.305,2773,1.277,2827,1.336,2835,3.355,2905,6.52,2939,1.336,3196,2.741,3197,1.413,3225,2.295,3777,1.305,3849,1.609,3887,1.371,4707,2.891,5227,1.609,5306,2.891,5328,4.806,5395,2.464,5495,1.209,5725,2.891,5994,1.031,6082,1.252,6093,1.031,6192,3.119,6193,1.736,6194,1.736,6195,1.736,6196,1.736,6197,1.736,6198,4.234,6199,1.736,6200,1.736,6201,1.736,6202,4.247,6203,2.891,6204,1.736,6205,1.736,6206,1.736,6207,1.609,6208,5.977,6209,1.736,6210,1.736,6211,1.736,6212,1.736,6213,1.736,6214,1.736,6215,1.736,6216,3.119,6217,1.736,6218,1.736,6219,1.736,6220,1.736,6221,1.736,6222,1.736,6223,1.736,6224,1.736,6225,1.736,6226,1.736,6227,1.736,6228,1.736,6229,1.736,6230,1.736,6231,1.736,6232,1.736,6233,1.736,6234,1.736,6235,1.525,6236,1.736]],["component/144",[1,0.382,18,0.605,34,0.598]],["title/145-1",[1318,39.266,6237,76.321]],["name/145-1",[]],["text/145-1",[]],["component/145-1",[]],["title/145-2",[38,15.841,229,28.088,2430,40.557]],["name/145-2",[]],["text/145-2",[]],["component/145-2",[]],["title/145-3",[38,18.646,2430,47.738]],["name/145-3",[]],["text/145-3",[]],["component/145-3",[]],["title/145-4",[38,18.646,2430,47.738]],["name/145-4",[]],["text/145-4",[]],["component/145-4",[]],["title/145-5",[]],["name/145-5",[]],["text/145-5",[]],["component/145-5",[]],["title/145-6",[38,15.841,39,25.255,556,30.662]],["name/145-6",[]],["text/145-6",[]],["component/145-6",[]],["title/145-7",[4788,73.264]],["name/145-7",[]],["text/145-7",[]],["component/145-7",[]],["title/145-8",[2430,58.008]],["name/145-8",[]],["text/145-8",[]],["component/145-8",[]],["title/145-9",[319,66.894]],["name/145-9",[]],["text/145-9",[]],["component/145-9",[]],["title/145-10",[38,13.77,39,21.953,556,26.653,724,30.167]],["name/145-10",[]],["text/145-10",[]],["component/145-10",[]],["title/145-11",[2430,58.008]],["name/145-11",[]],["text/145-11",[]],["component/145-11",[]],["title/145-12",[638,39.768,1393,50.11]],["name/145-12",[]],["text/145-12",[]],["component/145-12",[]],["title/145-13",[556,30.662,724,34.704,2430,40.557]],["name/145-13",[]],["text/145-13",[]],["component/145-13",[]],["title/145-14",[634,36.278,2430,40.557,2848,46.77]],["name/145-14",[]],["text/145-14",[]],["component/145-14",[]],["title/145-15",[99,35.208,1393,50.11]],["name/145-15",[]],["text/145-15",[]],["component/145-15",[]],["title/145-16",[]],["name/145-16",[]],["text/145-16",[]],["component/145-16",[]],["title/145-17",[38,18.646,2430,47.738]],["name/145-17",[]],["text/145-17",[]],["component/145-17",[]],["title/145-18",[1,10.292,34,16.098,233,25.343]],["name/145-18",[]],["text/145-18",[]],["component/145-18",[]],["title/145-19",[1085,67.059,1130,28.108]],["name/145-19",[]],["text/145-19",[]],["component/145-19",[]],["title/145-20",[38,12.178,328,36.342,514,21.871,2430,31.178]],["name/145-20",[]],["text/145-20",[]],["component/145-20",[]],["title/145-21",[93,28.935,94,32.518]],["name/145-21",[]],["text/145-21",[]],["component/145-21",[]],["title/145-22",[165,26.767,823,29.77,2430,40.557]],["name/145-22",[]],["text/145-22",[]],["component/145-22",[]],["title/145-23",[38,15.841,39,25.255,319,46.77]],["name/145-23",[]],["text/145-23",[]],["component/145-23",[]],["title/145-24",[6238,85.955]],["name/145-24",[]],["text/145-24",[]],["component/145-24",[]],["title/145-25",[702,30.819,2430,40.557,6239,60.097]],["name/145-25",[]],["text/145-25",[]],["component/145-25",[]],["title/145-26",[71,15.212,568,26.929,603,32.047,1130,20.758]],["name/145-26",[]],["text/145-26",[]],["component/145-26",[]],["title/145-27",[1,7.912,34,12.375,36,21.067,2430,31.178,6240,46.199]],["name/145-27",[]],["text/145-27",[]],["component/145-27",[]],["title/145",[38,18.646,2430,47.738]],["name/145",[38,0.517,2430,1.324]],["text/145",[1,0.927,4,0.338,10,0.889,15,1.388,18,0.204,33,0.526,34,1.45,36,1.628,37,0.35,38,3.173,39,4.279,41,0.434,43,1.816,47,0.944,48,1.041,49,2.413,50,1.252,51,0.497,52,2.209,56,2.293,58,2.635,66,0.753,68,0.396,71,2.237,75,0.487,81,0.641,87,2.057,91,0.366,92,1.703,93,0.585,94,0.346,95,0.376,96,0.988,99,0.374,100,0.359,102,0.447,105,0.469,107,0.356,109,0.774,110,0.713,114,0.376,120,0.335,122,1.949,136,0.454,138,0.964,140,2.139,143,0.376,149,1.982,152,2.662,153,1.561,154,1.433,157,0.548,161,0.677,163,0.34,165,1.59,167,1.765,169,3.306,173,0.793,174,0.954,175,1.297,178,0.613,180,0.892,182,0.54,183,0.364,194,1.047,195,0.508,197,2.239,211,1.56,216,0.34,221,0.359,223,1.934,224,1.378,226,0.441,229,1.669,230,0.469,232,1.258,233,1.095,241,0.359,244,0.935,245,0.59,247,1.769,248,1.159,249,0.482,250,0.715,257,1.698,260,0.307,261,0.297,266,1.533,268,1.457,273,0.54,275,1.905,281,1.761,283,0.585,286,1.503,287,2.967,289,1.133,291,0.899,299,1.405,315,0.855,317,0.958,319,3.419,324,1.123,326,0.347,329,0.42,332,0.415,337,0.837,338,1.576,344,0.454,345,1.683,355,2.003,370,0.879,381,0.469,395,0.66,400,1.958,406,0.398,408,0.33,428,0.698,433,1.057,486,1.856,487,0.347,488,0.415,497,0.478,500,0.412,502,1.48,511,1.397,514,1.47,518,0.52,526,0.61,532,0.987,534,0.641,541,0.454,543,1.892,550,1.88,552,1.424,553,0.824,556,3.831,563,0.346,568,0.388,571,1.777,584,0.61,605,0.585,615,0.434,634,0.863,635,1.85,638,5.072,642,0.41,654,1.65,655,0.964,664,1.255,668,0.753,671,0.362,672,0.954,674,0.465,677,0.426,679,0.431,680,0.508,681,0.434,689,0.641,690,0.779,691,1.921,696,3.006,697,1.041,702,2.051,712,1.49,714,1.698,716,0.465,718,0.641,722,0.324,730,0.374,734,0.722,742,1.416,745,0.508,746,0.62,749,0.318,755,1.252,760,0.394,765,0.61,766,0.412,767,2.538,776,0.478,780,0.661,790,0.788,793,1.972,794,1.204,801,0.482,802,0.684,805,0.729,813,3.74,814,0.752,818,0.405,820,0.788,822,1.427,823,1.287,831,0.474,839,0.454,841,0.352,846,0.382,852,1.011,854,0.431,855,3.439,865,0.41,866,1.032,878,0.565,884,0.469,892,0.386,903,0.625,911,0.556,915,0.454,924,4.443,926,0.892,934,0.438,942,1.487,949,1.991,953,0.405,954,0.492,955,0.713,962,0.508,964,0.61,966,0.884,992,0.82,995,1.026,998,0.353,1001,0.454,1012,0.908,1018,1.905,1025,1.476,1038,0.909,1052,0.575,1054,2.762,1061,0.335,1069,0.52,1070,0.831,1072,0.42,1110,0.482,1111,0.9,1130,0.568,1137,0.431,1152,0.447,1167,2.479,1174,0.597,1178,3.287,1180,0.458,1183,0.52,1207,1.255,1208,1.533,1212,1.041,1235,0.934,1255,0.447,1261,0.565,1262,0.61,1264,0.429,1285,0.793,1297,1.41,1300,1.218,1306,0.429,1311,0.502,1319,0.87,1350,0.54,1357,1.334,1360,1.134,1370,0.454,1393,1.012,1400,0.454,1409,0.85,1416,0.412,1437,0.474,1438,0.661,1448,1.134,1452,1.052,1463,0.661,1465,1.012,1480,1.159,1487,0.556,1489,0.441,1490,0.713,1508,1.187,1564,0.52,1576,1.252,1579,3.637,1600,0.597,1606,0.556,1609,0.556,1641,0.661,1677,0.964,1681,2.157,1710,1.534,1716,0.526,1732,0.661,1781,0.684,1782,0.641,1892,1.509,1924,1.148,1926,0.441,1963,1.057,1970,0.508,2022,1.487,2024,1.026,2026,0.831,2072,2.179,2086,0.684,2106,0.625,2125,1.255,2222,0.597,2318,1.935,2332,0.487,2355,0.684,2359,0.556,2416,0.61,2426,1.134,2427,0.597,2428,3.487,2430,8.341,2496,0.684,2591,0.684,2595,0.713,2621,1.057,2630,1.793,2757,0.575,2761,0.61,2848,2.022,2868,0.752,2925,0.386,2988,0.508,2995,0.54,2996,0.597,3270,0.388,3702,0.661,3799,0.752,3826,0.752,4138,0.713,4187,0.684,4277,0.752,4528,0.61,4616,2.462,4786,0.661,4788,2.647,4793,2.518,4821,2.157,4893,0.752,5043,0.713,5208,0.752,5455,0.625,5967,0.752,6027,0.713,6051,0.684,6089,0.752,6203,1.429,6240,0.752,6241,0.812,6242,0.812,6243,1.542,6244,0.812,6245,0.752,6246,0.812,6247,1.218,6248,1.74,6249,2.202,6250,0.812,6251,2.202,6252,0.812,6253,0.812,6254,1.542,6255,0.812,6256,1.218,6257,0.812,6258,0.752,6259,0.812,6260,0.812,6261,0.575,6262,0.812,6263,0.812,6264,0.713,6265,1.542,6266,0.812,6267,1.542,6268,0.812,6269,0.812,6270,0.812,6271,0.812,6272,0.812,6273,0.812,6274,3.35,6275,0.812,6276,0.812,6277,0.812,6278,0.812,6279,0.812,6280,0.812,6281,0.812,6282,0.812,6283,0.812,6284,2.202,6285,0.812,6286,0.812,6287,1.542,6288,0.812,6289,0.812,6290,0.641,6291,0.812,6292,0.812,6293,0.812,6294,0.812,6295,0.812,6296,1.542,6297,0.812,6298,2.202,6299,0.812,6300,0.812,6301,0.812,6302,0.812,6303,0.812,6304,0.812,6305,0.812,6306,0.812,6307,0.812,6308,0.812,6309,0.812,6310,1.542,6311,0.812,6312,0.812,6313,0.812,6314,0.812,6315,0.812,6316,0.812,6317,0.812,6318,0.752,6319,0.812]],["component/145",[1,0.382,18,0.605,34,0.598]],["title/146",[5994,55.109]],["name/146",[3,1.542]],["text/146",[1,2.167,18,1.623,29,2.616,34,3.389,38,2.222,48,4.3,62,2.318,84,4.769,98,3.906,120,2.666,143,2.994,164,4.901,165,3.754,200,6.846,203,4.202,206,5.753,257,2.313,272,4.649,279,5.353,289,3.323,398,3.875,423,3.481,512,3.152,518,7.709,730,4.195,731,3.558,746,2.597,750,3.152,767,2.979,911,4.426,945,4.36,979,6.997,1397,3.672,1425,3.768,1464,4.04,2430,5.688,5994,3.838,6003,6.232,6046,6.139,6104,5.102]],["component/146",[1,0.382,18,0.605,34,0.598]],["title/147-1",[3,32.786,1416,38.785]],["name/147-1",[]],["text/147-1",[]],["component/147-1",[]],["title/147-2",[1,10.292,2,18.624,681,34.704]],["name/147-2",[]],["text/147-2",[]],["component/147-2",[]],["title/147-3",[63,19.807,165,26.767,841,28.088]],["name/147-3",[]],["text/147-3",[]],["component/147-3",[]],["title/147-4",[38,13.77,165,23.267,317,24.519,550,27.511]],["name/147-4",[]],["text/147-4",[]],["component/147-4",[]],["title/147-5",[164,41.136,1471,55.051]],["name/147-5",[]],["text/147-5",[]],["component/147-5",[]],["title/147-6",[165,31.506,945,51.523]],["name/147-6",[]],["text/147-6",[]],["component/147-6",[]],["title/147-7",[234,20.305,805,30.662,2527,37.177]],["name/147-7",[]],["text/147-7",[]],["component/147-7",[]],["title/147-8",[165,31.506,197,26.467]],["name/147-8",[]],["text/147-8",[]],["component/147-8",[]],["title/147-9",[96,34.236,805,36.09]],["name/147-9",[]],["text/147-9",[]],["component/147-9",[]],["title/147-10",[965,38.552,1130,28.108]],["name/147-10",[]],["text/147-10",[]],["component/147-10",[]],["title/147",[164,41.136,165,31.506]],["name/147",[164,1.141,165,0.874]],["text/147",[0,0.335,1,1.412,2,0.511,3,3.658,4,1.049,7,1.485,10,1.202,15,1.57,18,2.088,26,0.88,34,2.251,36,0.752,38,2.54,39,2.862,46,0.698,49,0.637,51,1.089,54,0.561,55,0.578,56,0.502,57,0.813,58,0.761,62,1.94,63,0.974,66,2.115,68,0.461,70,1.109,71,2.054,74,4.108,83,2.078,84,0.495,87,1.518,91,0.425,92,0.904,93,1.436,94,1.075,98,1.628,99,2.436,114,1.169,116,0.486,120,0.39,122,0.731,124,0.442,126,0.39,127,1.77,142,2.71,149,0.34,152,2.164,153,0.44,154,0.404,161,0.414,163,1.057,164,0.509,165,5.455,166,0.431,167,3.986,174,0.584,178,0.376,180,1.029,182,0.628,197,2.64,200,0.537,203,1.273,211,0.341,215,2.968,216,1.057,218,0.427,222,0.663,223,0.356,226,3.092,229,0.409,232,0.354,233,1.481,234,2.014,241,2.521,242,1.544,244,0.401,245,0.681,247,0.817,248,0.709,250,2.818,253,3.35,257,1.357,260,0.672,261,0.651,262,2.625,268,4.692,274,1.341,275,3.657,281,1.029,283,2.785,287,0.364,288,0.746,289,3.309,290,0.718,291,1.768,296,0.795,299,1.817,311,0.683,313,1.81,315,0.366,316,1.891,317,1.885,324,0.378,334,0.516,336,1.37,337,0.512,345,2.488,348,0.726,357,4.045,358,1.448,362,1.308,364,1.283,374,0.604,375,0.505,379,0.813,395,0.404,396,3.809,406,0.463,408,0.384,415,0.921,420,0.502,428,1.443,430,0.628,433,2.596,465,0.746,485,0.604,487,0.761,491,0.495,495,0.458,511,0.342,520,0.52,533,0.59,552,2.894,553,0.666,558,3.677,560,0.909,562,0.492,574,3.187,672,1.877,674,0.541,678,0.52,682,0.726,683,0.528,691,1.02,697,0.637,702,0.845,721,1.043,722,2.274,734,0.833,740,0.524,745,1.113,749,1.486,757,0.59,761,1.029,763,0.463,767,1.748,783,0.324,800,1.02,801,0.561,817,0.669,823,0.433,835,1.369,836,0.572,840,0.572,841,0.409,843,1,849,0.945,855,4.158,875,0.556,885,1.635,888,1.283,890,0.377,912,2.122,913,0.726,918,0.461,925,0.572,934,1.718,945,2.152,965,1.274,982,0.537,988,0.512,994,0.709,998,0.411,1002,1.499,1018,0.537,1025,0.416,1029,1.417,1030,0.758,1038,0.39,1058,0.461,1061,1.993,1079,0.489,1082,0.612,1088,0.505,1105,3.373,1110,2.251,1111,0.551,1113,3.267,1130,0.929,1134,0.516,1139,1.25,1148,0.52,1174,0.694,1176,0.461,1259,0.524,1309,4.811,1319,2.137,1373,1.078,1400,0.528,1416,3.089,1417,2.602,1437,0.551,1443,0.612,1452,0.85,1454,0.566,1459,1.448,1471,0.681,1509,0.637,1558,0.637,1576,0.537,1661,0.669,1692,1.743,1704,0.709,1776,1.283,1905,1.308,1926,0.966,1927,0.551,1979,0.726,1999,3.74,2010,1.078,2011,0.829,2014,2.453,2026,0.509,2035,0.795,2057,1.239,2072,2.667,2086,0.795,2100,0.546,2252,1.448,2303,0.709,2332,1.067,2368,0.768,2527,0.541,2680,0.795,2757,0.669,3045,0.597,3264,1.283,3524,2.185,3807,2.338,4355,0.768,4506,0.746,4980,0.768,5439,0.647,5466,2.733,5477,0.726,5704,0.875,6016,0.628,6045,1.786,6080,0.657,6105,0.829,6106,0.829,6109,2.638,6128,1.649,6131,0.829,6170,0.829,6320,0.944,6321,0.944,6322,0.944,6323,0.944,6324,0.875,6325,0.944,6326,3.188,6327,0.829,6328,1.649,6329,1.563,6330,0.795,6331,3.651,6332,4.016,6333,1.649,6334,3.511,6335,0.875,6336,1.308,6337,0.875,6338,0.944,6339,0.875,6340,0.795,6341,1.649,6342,0.875,6343,0.746,6344,0.944,6345,0.944,6346,0.944,6347,0.944,6348,0.944,6349,0.944,6350,0.944,6351,2.216,6352,0.875,6353,3.511,6354,2.125,6355,0.944,6356,0.944,6357,1.649,6358,0.875,6359,0.875,6360,0.875,6361,0.875,6362,0.875,6363,0.875,6364,2.345,6365,0.795,6366,0.875,6367,0.795,6368,0.795,6369,2.396,6370,0.726,6371,0.746]],["component/147",[1,0.382,18,0.605,34,0.598]],["title/148-1",[67,37.883,279,44.931]],["name/148-1",[]],["text/148-1",[]],["component/148-1",[]],["title/148-2",[279,44.931,5994,45.352]],["name/148-2",[]],["text/148-2",[]],["component/148-2",[]],["title/148-3",[278,60.293,279,44.931]],["name/148-3",[]],["text/148-3",[]],["component/148-3",[]],["title/148-4",[62,19.457,279,44.931]],["name/148-4",[]],["text/148-4",[]],["component/148-4",[]],["title/148-5",[169,37.458,279,44.931]],["name/148-5",[]],["text/148-5",[]],["component/148-5",[]],["title/148-6",[279,44.931,6198,54.056]],["name/148-6",[]],["text/148-6",[]],["component/148-6",[]],["title/148-7",[279,44.931,4102,62.119]],["name/148-7",[]],["text/148-7",[]],["component/148-7",[]],["title/148-8",[279,44.931,855,44.931]],["name/148-8",[]],["text/148-8",[]],["component/148-8",[]],["title/148",[1,10.292,34,16.098,279,38.173]],["name/148",[279,2.114]],["text/148",[0,0.704,1,1.605,10,0.629,15,1.456,34,2.574,36,0.838,38,0.485,39,2.227,49,0.71,53,1.178,55,1.214,58,3.094,62,2.701,66,3.818,67,0.984,71,2.654,74,4.717,81,1.567,93,0.752,107,1.541,120,0.819,122,0.816,128,1.405,140,1.95,142,4.893,149,1.266,152,0.706,154,0.848,163,0.832,165,3.787,167,3.381,169,3.549,177,1.893,178,2.275,183,0.89,197,0.688,221,1.555,222,0.74,223,1.781,224,0.816,226,4.247,230,1.147,232,0.745,234,3.444,241,3.462,242,3.5,244,2.775,245,0.759,253,2.463,257,1.694,258,1.381,261,1.286,268,1.528,274,2.513,278,7.247,279,7.582,283,2.479,289,1.02,290,2.639,291,1.93,301,5.173,304,2.222,310,1.935,311,2.512,317,1.528,326,0.848,329,1.027,334,1.084,336,2.067,338,0.933,344,1.11,345,0.866,348,5.564,355,1.998,357,1.32,370,0.792,381,1.147,396,5.642,406,0.973,408,3.181,419,1.054,491,1.04,511,0.719,521,1.227,533,1.24,538,1.734,539,3.32,550,0.968,552,1.785,553,1.769,571,2.181,635,2.271,640,2.775,654,2.068,672,0.859,677,1.04,683,1.965,702,1.67,709,1.439,716,1.137,722,1.402,742,1.002,744,2.15,749,1.855,762,1.405,783,0.68,805,2.704,823,0.911,855,2.784,866,1.294,898,1.32,928,0.933,950,1.24,957,1.008,962,1.24,980,1.43,999,1.743,1001,1.11,1029,2.102,1030,2.015,1038,0.819,1058,0.968,1061,0.819,1105,2.171,1110,3.398,1130,1.294,1131,1.526,1133,1.614,1154,1.077,1176,0.968,1220,0.996,1235,1.202,1308,2.049,1313,2.775,1367,6.093,1371,3.087,1417,1.069,1556,2.775,1576,1.128,1597,1.118,1882,1.43,1926,3.55,2400,1.147,2416,1.49,2452,1.285,2527,5.259,2686,1.405,3263,1.49,4102,3.849,4793,1.49,5477,1.526,5540,6.093,5995,1.743,6198,3.349,6343,1.567,6354,2.96,6372,1.983,6373,1.983,6374,1.838,6375,1.838,6376,1.983,6377,1.983,6378,1.983,6379,1.983,6380,3.256,6381,3.513,6382,4.729,6383,1.983,6384,1.983,6385,1.983,6386,1.983,6387,1.983,6388,1.983,6389,1.983,6390,1.983,6391,1.983,6392,3.513,6393,1.983,6394,3.513,6395,1.983,6396,1.983,6397,1.983,6398,1.983,6399,1.983,6400,1.983,6401,1.983]],["component/148",[1,0.382,18,0.605,34,0.598]],["title/149",[979,71.363]],["name/149",[979,2.763]],["text/149",[1,1.865,7,2.063,34,2.917,36,1.481,49,2.044,54,2.082,58,1.499,71,1.948,75,2.103,94,1.493,99,3.33,100,1.551,116,1.803,149,2.057,152,4.087,161,1.538,163,1.469,167,4.36,174,2.168,178,1.394,183,1.572,223,1.32,226,7.182,233,2.231,241,3.195,242,2.145,244,2.422,253,4.721,268,4.993,287,3.532,289,1.803,291,2.329,311,2.193,324,1.404,336,1.267,343,3.424,355,2.412,395,1.499,418,4.656,420,1.863,421,4.167,422,4.332,435,7.288,445,2.366,511,1.271,571,1.617,605,5.207,609,5.311,653,3.494,656,5.618,672,2.472,690,1.77,709,2.338,749,1.374,763,1.72,801,2.082,917,4.805,979,5.555,1035,1.945,1057,3.168,1137,1.863,1208,1.916,1373,3.458,1665,2.953,1692,1.916,1713,2.482,2979,2.768,3265,2.578,5477,2.697,6402,3.248,6403,3.504,6404,9.598,6405,5.707,6406,7.713,6407,5.703,6408,7.713,6409,7.713,6410,5.707,6411,5.707,6412,8.322]],["component/149",[1,0.382,18,0.605,34,0.598]],["title/150-1",[69,25.521,80,36.278,398,38.902]],["name/150-1",[]],["text/150-1",[]],["component/150-1",[]],["title/150-2",[233,29.83,415,39.514]],["name/150-2",[]],["text/150-2",[]],["component/150-2",[]],["title/150-3",[398,45.789,562,39.768]],["name/150-3",[]],["text/150-3",[]],["component/150-3",[]],["title/150-4",[107,33.487,398,45.789]],["name/150-4",[]],["text/150-4",[]],["component/150-4",[]],["title/150-5",[1,12.114,34,18.948]],["name/150-5",[]],["text/150-5",[]],["component/150-5",[]],["title/150-6",[395,39.676]],["name/150-6",[]],["text/150-6",[]],["component/150-6",[]],["title/150",[398,55.64]],["name/150",[398,2.154]],["text/150",[1,1.886,2,0.919,4,1.331,10,1.679,14,1.919,15,1.326,26,1.847,30,1.919,34,3.081,36,2.238,46,1.255,52,1.834,54,1.901,58,2.265,62,2.225,69,2.084,70,2.553,71,1.828,80,1.79,91,1.441,94,2.256,95,3.141,100,1.416,107,1.404,152,1.885,154,1.369,166,2.42,167,2.329,178,3.133,181,2.604,221,1.416,223,1.994,224,1.316,232,1.201,233,3.675,234,3.485,241,1.416,244,2.247,260,2.56,268,4.33,290,1.291,291,2.765,310,1.762,317,3.426,324,1.282,336,1.156,338,1.505,345,2.313,355,2.238,377,1.901,379,2.42,395,4.99,398,8.148,408,2.153,422,1.513,488,1.636,511,1.16,520,2.917,531,2.159,541,1.79,562,6.078,569,1.804,589,1.678,590,2.527,635,1.536,672,2.294,709,1.311,712,1.7,735,2.937,749,1.255,755,1.819,761,2.161,763,1.57,783,2.323,792,1.938,841,1.386,915,1.79,917,3.524,918,2.585,947,1.724,957,1.626,972,1.883,1025,1.41,1061,1.321,1072,3.508,1107,2.266,1109,2.527,1130,1.178,1263,2.527,1318,1.646,1409,1.762,1436,2.353,1489,1.737,1613,2.048,1637,2.266,1716,4.391,2006,2.307,2103,2.192,2404,2.404,2532,2.527,2655,1.901,2706,2.696,3264,2.307,3266,2.696,4815,6.279,5477,4.075,6413,2.965,6414,2.965,6415,3.199,6416,2.811,6417,6.775,6418,3.199,6419,2.965,6420,3.199,6421,3.199,6422,3.199,6423,3.199,6424,3.199,6425,3.199,6426,3.199]],["component/150",[1,0.382,18,0.605,34,0.598]],["title/151-1",[1127,60.891]],["name/151-1",[]],["text/151-1",[]],["component/151-1",[]],["title/151-2",[1,8.946,34,13.993,48,26.653,6003,38.626]],["name/151-2",[]],["text/151-2",[]],["component/151-2",[]],["title/151-3",[283,35.16]],["name/151-3",[]],["text/151-3",[]],["component/151-3",[]],["title/151-4",[48,36.09,143,35.379]],["name/151-4",[]],["text/151-4",[]],["component/151-4",[]],["title/151-5",[6003,44.436,6427,60.097,6428,60.097]],["name/151-5",[]],["text/151-5",[]],["component/151-5",[]],["title/151-6",[62,16.531,165,26.767,6004,52.775]],["name/151-6",[]],["text/151-6",[]],["component/151-6",[]],["title/151-7",[71,15.212,165,23.267,324,22.584,6004,45.875]],["name/151-7",[]],["text/151-7",[]],["component/151-7",[]],["title/151-8",[958,45.789,1148,42.048]],["name/151-8",[]],["text/151-8",[]],["component/151-8",[]],["title/151-9",[1164,48.86,6336,56.145]],["name/151-9",[]],["text/151-9",[]],["component/151-9",[]],["title/151-10",[69,25.521,87,25.981,6336,47.7]],["name/151-10",[]],["text/151-10",[]],["component/151-10",[]],["title/151-11",[69,25.521,1110,38.53,6336,47.7]],["name/151-11",[]],["text/151-11",[]],["component/151-11",[]],["title/151-12",[94,27.627,299,27.187,724,34.704]],["name/151-12",[]],["text/151-12",[]],["component/151-12",[]],["title/151-13",[230,32.595,336,20.375,847,37.007,6429,52.24]],["name/151-13",[]],["text/151-13",[]],["component/151-13",[]],["title/151-14",[767,29.912,1208,35.458,6198,45.925]],["name/151-14",[]],["text/151-14",[]],["component/151-14",[]],["title/151-15",[829,44.309]],["name/151-15",[]],["text/151-15",[]],["component/151-15",[]],["title/151-16",[268,33.201,6045,54.056]],["name/151-16",[]],["text/151-16",[]],["component/151-16",[]],["title/151-17",[48,23.571,268,21.684,2513,46.199,6003,34.16,6045,35.305]],["name/151-17",[]],["text/151-17",[]],["component/151-17",[]],["title/151-18",[4,26.975,268,28.207,6045,45.925]],["name/151-18",[]],["text/151-18",[]],["component/151-18",[]],["title/151-19",[15,31.628,1510,60.293]],["name/151-19",[]],["text/151-19",[]],["component/151-19",[]],["title/151-20",[62,14.369,71,15.212,268,24.519,6045,39.921]],["name/151-20",[]],["text/151-20",[]],["component/151-20",[]],["title/151",[48,36.09,6003,52.304]],["name/151",[48,1.001,6003,1.451]],["text/151",[1,1.077,3,0.594,4,2.251,7,1.792,10,0.965,15,2.811,34,1.684,35,0.829,36,2.147,37,0.312,38,2.471,39,2.817,41,0.387,43,0.469,47,1.214,48,5.011,49,2.048,54,1.507,55,0.846,56,0.385,57,1.159,58,0.309,61,0.92,62,1.897,65,0.522,68,0.353,69,1.713,71,2.508,75,0.434,86,0.512,87,2.898,88,0.504,91,1.583,92,2.006,93,2.278,94,0.589,95,0.335,96,0.62,98,0.594,99,1.404,100,0.612,107,1.112,109,1.273,111,0.61,114,0.919,120,0.819,122,1.624,123,0.671,124,1.425,126,1.45,129,0.496,130,0.837,135,0.512,141,0.604,143,1.175,146,0.379,149,0.498,152,0.706,153,0.337,154,0.849,157,0.488,161,0.317,163,1.276,165,3.071,166,0.331,167,0.475,173,1.02,174,0.448,177,1.641,178,2.152,180,1.147,182,0.481,184,0.896,211,0.717,214,0.504,218,0.626,221,0.878,222,1.895,223,2.038,224,0.568,229,0.313,230,1.76,232,2.031,238,1.092,241,0.878,244,1.076,245,0.76,247,0.332,250,0.335,253,0.52,255,0.636,257,0.711,260,0.958,261,0.265,264,0.408,268,5.263,271,3.661,274,2.314,275,1.998,276,0.385,281,1.035,283,1.497,286,0.89,287,0.977,289,2.942,290,0.801,291,2.074,298,1.168,299,4.611,311,0.531,315,0.984,316,0.99,317,0.863,324,1.016,326,0.849,327,1.652,332,0.707,334,2.159,336,2.271,337,0.75,338,0.34,340,0.458,341,0.885,345,1.725,355,1.286,370,0.289,372,0.557,379,0.906,381,0.418,400,0.368,402,1.101,403,0.512,404,2.044,406,1.724,408,0.294,421,0.329,425,0.979,445,0.488,488,0.37,502,0.382,505,0.438,511,1.104,512,0.674,514,0.317,517,2.227,530,0.438,532,0.463,538,0.357,539,0.911,541,0.405,542,0.806,550,0.353,552,0.702,553,0.742,555,0.911,556,0.342,560,0.707,563,0.589,571,0.637,582,0.382,593,1.017,622,0.418,634,0.405,668,0.968,670,0.846,672,2.201,678,0.399,679,1.054,681,0.387,684,0.405,695,0.488,697,0.933,714,0.837,720,3.554,722,0.792,724,1.357,730,0.334,734,1.645,742,1.002,746,1.02,748,0.349,749,0.778,750,0.353,764,0.496,766,0.368,767,2.496,772,0.346,773,0.418,780,0.589,789,0.829,794,0.396,806,0.962,810,0.72,812,0.874,817,0.512,818,0.99,819,0.532,820,0.37,824,2.026,829,0.66,843,0.287,847,1.665,854,0.734,855,1.168,872,0.434,880,1.459,885,5.503,892,0.344,910,0.512,915,0.405,917,1.32,929,1.101,931,1.04,940,3.031,942,0.488,946,1.567,956,0.678,958,1.826,959,1.339,966,1.137,973,0.896,976,0.997,982,0.411,984,2.064,1025,1.341,1045,0.512,1046,0.933,1052,0.512,1054,1.983,1067,0.979,1069,0.463,1079,1.027,1106,0.572,1110,3.215,1111,1.479,1126,0.426,1132,0.61,1134,0.396,1136,0.532,1139,1.855,1147,0.544,1148,4.408,1150,1.255,1164,2.249,1169,0.512,1173,1.125,1175,0.448,1180,0.408,1183,0.463,1208,4.643,1215,0.496,1252,0.475,1255,1.093,1264,1.339,1288,1.039,1307,2.064,1311,0.448,1312,0.496,1324,0.357,1350,1.32,1352,0.874,1362,0.43,1366,0.504,1400,1.703,1409,0.761,1417,2.738,1430,0.387,1437,1.157,1444,1.214,1451,1.302,1452,0.346,1458,1.359,1462,0.837,1472,0.522,1480,0.544,1487,0.496,1489,0.393,1492,0.469,1504,0.512,1508,1.951,1510,0.572,1567,0.522,1579,0.512,1587,1.168,1613,0.885,1676,0.458,1710,0.504,1726,0.463,1733,0.636,1734,0.532,1888,0.475,1910,0.821,1915,0.636,1922,0.463,1926,0.75,2014,0.557,2026,0.39,2072,4.695,2097,0.61,2103,0.496,2115,0.469,2135,0.61,2169,0.496,2174,0.522,2187,0.997,2204,0.671,2227,2.137,2241,1.164,2268,0.544,2276,0.512,2293,0.671,2334,0.532,2350,0.544,2390,0.671,2400,1.147,2425,1.214,2428,0.532,2527,0.415,2671,0.522,2718,0.572,2761,1.039,2903,0.522,2907,0.557,2987,0.512,3045,0.458,3140,0.61,3153,0.496,3207,1.214,3362,0.458,4107,0.636,4254,0.636,4359,0.544,4368,0.997,4453,0.636,4495,0.589,4506,1.092,4728,0.512,4752,1.125,4755,0.671,4793,2.967,4828,0.636,5008,0.636,5071,0.572,5117,0.671,5285,0.671,5395,0.572,5439,0.496,5644,1.214,5914,0.671,5978,0.532,6003,8.167,6004,2.86,6043,2.228,6045,6.821,6046,0.933,6051,0.61,6076,1.743,6080,0.962,6198,1.405,6327,1.214,6335,0.671,6336,4.621,6342,0.671,6371,1.567,6427,4.034,6428,4.034,6429,1.281,6430,1.983,6431,1.983,6432,0.723,6433,0.671,6434,1.382,6435,0.723,6436,0.723,6437,1.382,6438,0.723,6439,1.382,6440,0.723,6441,0.723,6442,0.723,6443,0.671,6444,0.723,6445,0.723,6446,0.723,6447,0.723,6448,0.723,6449,0.723,6450,0.723,6451,0.723,6452,0.723,6453,0.671,6454,0.723,6455,0.723,6456,0.723,6457,0.723,6458,0.723,6459,0.723,6460,0.723,6461,0.723,6462,0.723,6463,0.723,6464,0.723,6465,0.723,6466,0.671,6467,0.671,6468,1.382,6469,0.723,6470,0.723,6471,0.723,6472,1.382,6473,0.723,6474,0.723]],["component/151",[1,0.382,18,0.605,34,0.598]],["title/152",[94,32.518,116,39.266]],["name/152",[94,0.902,116,1.089]],["text/152",[]],["component/152",[1,0.382,18,0.605,34,0.598]],["title/153",[869,60.109]],["name/153",[3,1.542]],["text/153",[1,1.684,34,2.633,87,3.246,94,4.519,96,3.634,98,3.48,116,5.457,141,3.539,154,3.465,176,4.43,203,4.722,206,5.125,257,2.902,261,2.965,311,3.112,355,3.423,462,5.25,497,4.769,512,3.954,539,3.719,554,6.826,712,4.306,724,4.335,742,4.092,748,3.911,749,3.177,869,5.25,884,4.684,918,5.177,938,4.606,1352,5.125,1398,5.737,1425,4.726,1446,5.25,2359,5.551,3805,6.399,6352,7.508,6475,8.1,6476,7.508,6477,7.508]],["component/153",[1,0.382,18,0.605,34,0.598]],["title/154-1",[1127,60.891]],["name/154-1",[]],["text/154-1",[]],["component/154-1",[]],["title/154-2",[211,27.589,678,42.048]],["name/154-2",[]],["text/154-2",[]],["component/154-2",[]],["title/154-3",[218,34.551,406,37.458]],["name/154-3",[]],["text/154-3",[]],["component/154-3",[]],["title/154-4",[99,35.208,596,52.304]],["name/154-4",[]],["text/154-4",[]],["component/154-4",[]],["title/154-5",[681,49.637]],["name/154-5",[]],["text/154-5",[]],["component/154-5",[]],["title/154-6",[62,23.643]],["name/154-6",[]],["text/154-6",[]],["component/154-6",[]],["title/154-7",[187,68.224]],["name/154-7",[]],["text/154-7",[]],["component/154-7",[]],["title/154",[99,35.208,677,40.028]],["name/154",[99,0.976,677,1.11]],["text/154",[1,1.669,2,0.558,9,0.635,10,1.093,13,1.215,15,1.429,33,1.259,34,2.49,35,1.165,36,2.38,38,1.376,39,0.756,48,1.63,49,1.666,54,4.593,62,2.784,63,0.593,67,1.711,69,1.357,70,1.887,71,2.086,87,0.778,91,1.554,92,4.416,96,2.086,98,0.834,99,6.064,106,1.07,109,0.975,114,0.9,120,1.423,140,1.078,149,1.676,152,0.691,153,0.905,165,4.341,167,2.217,169,0.953,173,0.999,178,1.372,187,4.744,197,2.476,200,1.96,211,1.246,215,1.012,216,0.814,218,2.105,221,0.859,223,0.731,224,1.418,226,4.196,233,2.201,234,1.08,241,3.846,247,0.892,250,2.989,253,2.121,257,0.696,258,1.352,260,0.734,264,1.095,266,1.062,268,5.464,271,1.243,275,4.94,281,1.407,283,2.706,286,2.086,289,1.774,291,2.298,298,2.03,299,0.814,311,0.746,313,1.44,317,1.5,326,3.054,327,1.054,330,1.375,332,1.763,336,2.036,341,1.243,343,3.379,345,1.506,379,1.575,380,0.821,381,1.123,395,1.475,406,2.282,418,2.862,420,1.032,421,1.568,422,1.63,428,0.879,431,1.706,432,1.062,435,2.328,491,1.018,495,0.943,505,1.177,511,0.704,512,0.948,514,1.513,538,0.958,550,1.683,552,0.987,560,0.993,589,1.018,596,6.68,638,1.012,656,1.311,669,1.375,677,2.439,678,4.259,683,1.929,691,1.113,692,1.243,702,0.923,709,2.642,734,0.909,748,0.938,749,0.762,750,1.683,758,1.054,763,1.692,792,1.177,820,0.993,821,1.032,836,2.089,837,2.328,840,1.177,866,0.715,885,5.342,899,1.311,914,1.494,918,0.948,925,2.089,929,1.078,936,1.215,951,1.731,954,1.177,957,0.987,966,1.113,1024,1.243,1025,0.856,1054,0.975,1057,1.078,1061,0.802,1148,1.07,1151,1.133,1176,0.948,1309,3.947,1369,1.215,1531,1.018,1556,3.673,1587,2.737,1597,3.176,1637,1.375,1646,1.459,1710,1.352,1713,1.375,1724,1.636,1726,1.243,1775,1.331,1924,1.012,1926,1.054,2010,1.177,2022,1.311,2229,1.534,2374,1.401,2442,1.534,2848,2.487,4415,1.428,5242,1.8,5310,3.379,5438,4.333,5978,1.428,5994,1.154,6037,1.706,6109,3.238,6264,1.706,6407,1.534,6478,1.8,6479,1.942,6480,1.706,6481,1.942,6482,1.942,6483,1.8,6484,1.942,6485,1.942,6486,3.448,6487,1.942,6488,1.8,6489,1.942,6490,1.8,6491,3.029,6492,3.196,6493,1.8,6494,1.636,6495,1.8,6496,1.228]],["component/154",[1,0.382,18,0.605,34,0.598]],["title/155",[99,42.783]],["name/155",[3,1.542]],["text/155",[1,2.007,15,2.78,34,3.139,67,3.33,68,3.275,83,2.64,92,5.459,94,2.858,99,5.984,116,3.452,159,4.107,203,5.048,206,4.244,250,4.329,257,2.403,268,5.643,272,5.493,275,6.943,299,2.813,380,2.835,423,3.616,512,4.558,553,3.495,677,4.898,722,2.678,746,2.698,750,3.275,918,5.243,1015,4.107,1018,3.814,1397,3.814,1398,4.752,1409,3.696,1425,3.914,1464,4.196,1606,4.598,1696,4.935]],["component/155",[1,0.382,18,0.605,34,0.598]],["title/156-1",[268,33.201,6046,51.523]],["name/156-1",[]],["text/156-1",[]],["component/156-1",[]],["title/156-2",[169,31.824,268,28.207,6046,43.773]],["name/156-2",[]],["text/156-2",[]],["component/156-2",[]],["title/156-3",[268,28.207,6046,43.773,6497,60.097]],["name/156-3",[]],["text/156-3",[]],["component/156-3",[]],["title/156-4",[63,23.313,268,33.201]],["name/156-4",[]],["text/156-4",[]],["component/156-4",[]],["title/156-5",[268,33.201,6045,54.056]],["name/156-5",[]],["text/156-5",[]],["component/156-5",[]],["title/156-6",[92,32.951,268,28.207,287,24.997]],["name/156-6",[]],["text/156-6",[]],["component/156-6",[]],["title/156",[92,38.785,268,33.201]],["name/156",[92,1.076,268,0.921]],["text/156",[1,1.29,4,0.746,7,1.056,10,1.21,15,0.743,18,2.149,34,2.259,36,0.402,38,2.136,39,3.33,46,0.703,47,0.583,48,1.202,49,1.903,51,2.335,52,0.546,54,1.066,56,2.028,58,0.767,62,0.819,63,1.484,66,1.862,69,0.375,71,1.03,74,3.504,79,0.596,80,0.533,83,0.375,84,0.499,86,0.674,87,1.747,91,0.429,92,5.189,93,1.842,94,1.858,98,3.491,99,1.482,109,0.478,114,0.441,120,0.393,122,1.569,124,0.446,127,2.118,141,0.416,142,2.386,143,0.441,148,0.487,149,0.343,152,1.143,154,0.407,163,2.711,165,2.669,166,0.435,167,3.655,169,3,177,0.967,178,1.518,180,0.551,183,0.427,209,0.716,221,0.794,222,0.669,223,1.21,226,2.071,229,0.412,230,0.551,233,2.389,234,1.195,241,0.421,245,0.365,247,0.437,250,5.898,253,2.973,257,0.341,260,0.36,262,3.918,266,0.981,268,5.764,271,1.627,274,0.506,275,7.268,276,0.506,281,2.338,283,1.842,287,1.681,290,1.026,291,1.311,299,2.037,311,0.366,315,0.696,316,1.905,324,0.382,327,1.743,333,0.802,336,0.648,355,2.245,357,4.068,358,4.324,364,3.832,379,1.993,381,1.47,395,1.087,396,2.752,421,0.433,428,1.727,495,0.462,497,0.561,501,0.589,505,0.577,511,0.345,514,2.132,530,0.577,531,0.643,552,2.216,553,0.951,558,4.256,574,4.496,615,0.51,638,0.496,672,1.653,679,0.506,697,0.643,702,0.453,709,0.735,712,0.506,714,0.577,721,2,722,2.44,734,0.839,742,0.481,746,0.383,749,0.703,753,0.533,767,1.76,789,0.571,793,0.561,806,0.663,810,1.988,823,0.437,835,4.703,844,0.653,855,2.246,857,0.596,862,1.122,885,4.403,901,0.625,912,2.539,929,2.697,940,0.663,942,0.643,943,0.663,945,4.126,964,0.716,965,3.087,998,0.414,1025,2.141,1054,0.9,1069,0.61,1070,0.513,1105,2.969,1111,0.556,1130,1.405,1148,1.4,1167,0.46,1197,1.193,1252,0.625,1255,0.525,1258,0.634,1263,0.752,1264,0.503,1309,2.974,1366,0.663,1413,0.634,1430,0.51,1437,0.556,1443,1.162,1458,1.229,1484,0.716,1508,0.733,1530,0.7,1567,0.687,1580,0.733,1581,0.837,1839,2.137,1922,1.627,1926,2.071,1971,3.105,1999,2.702,2076,0.733,2081,0.583,2096,0.674,2100,2.522,2187,0.687,2276,0.674,2416,0.716,2666,0.775,2988,0.596,3153,0.653,3264,0.687,3265,2.362,4454,0.883,4455,0.883,4483,0.752,4495,1.459,5395,0.752,5439,0.653,5455,0.733,6003,0.653,6016,2.539,6045,4.812,6046,5.903,6080,3.037,6105,3.352,6106,3.352,6109,2.656,6235,0.837,6336,1.319,6351,2.822,6353,3.536,6364,2.806,6365,2.142,6367,3.675,6368,4.094,6369,2.867,6370,3.356,6371,3.014,6497,2.977,6498,1.576,6499,0.952,6500,0.952,6501,1.662,6502,0.883,6503,0.952,6504,0.952,6505,0.952,6506,0.952]],["component/156",[1,0.382,18,0.605,34,0.598]],["title/157-1",[92,38.785,268,33.201]],["name/157-1",[]],["text/157-1",[]],["component/157-1",[]],["title/157-2",[6507,76.321,6508,67.059]],["name/157-2",[]],["text/157-2",[]],["component/157-2",[]],["title/157-3",[250,30.058,275,36.868,547,42.573]],["name/157-3",[]],["text/157-3",[]],["component/157-3",[]],["title/157",[250,35.379,275,43.395]],["name/157",[250,0.981,275,1.204]],["text/157",[1,0.967,4,1.149,7,1.626,10,2.949,13,1.727,15,1.94,16,1.838,34,1.513,38,2.49,39,3.398,48,1.306,49,3.125,62,1.193,63,1.861,68,1.348,70,0.808,71,1.263,75,4.305,78,1.326,91,1.244,92,3.096,94,1.176,98,3.082,99,4.512,120,1.14,136,2.619,141,1.206,161,1.211,163,1.158,164,1.488,165,4.208,166,1.262,169,3.522,171,2.125,178,2.424,203,2.433,205,1.626,206,1.747,211,0.998,223,1.763,233,1.079,234,0.865,250,5.942,253,1.04,257,0.989,260,1.043,261,1.011,262,1.673,268,5.615,271,1.768,275,7.43,281,2.487,285,1.557,287,1.064,299,3.008,311,1.061,313,1.153,317,1.201,334,2.56,355,1.167,370,1.102,395,2.607,400,1.403,415,2.423,418,2.379,419,3.239,422,1.306,433,1.892,487,1.181,531,3.16,538,1.363,539,1.268,547,1.813,553,1.033,606,2.125,672,2.639,709,2.496,712,1.468,722,1.102,742,1.395,746,1.11,749,1.083,750,1.348,805,1.306,817,1.956,820,2.393,836,1.673,841,2.028,852,2.149,857,1.727,873,1.892,885,3.949,901,1.813,912,3.115,922,1.813,929,5.43,945,3.16,951,2.351,956,1.355,982,1.57,994,2.075,1111,1.611,1146,3.376,1255,2.579,1309,4.392,1389,1.992,1400,1.545,1430,2.505,1458,1.892,1484,2.075,1597,1.557,1607,2.125,1636,2.327,1710,1.923,1734,2.031,1922,1.768,2081,1.69,2100,2.707,2276,1.956,2448,2.125,2527,1.583,3153,1.892,4266,3.518,5978,2.031,6023,2.247,6045,3.315,6046,3.16,6080,6.475,6109,4.243,6365,2.327,6367,2.327,6368,2.327,6501,4.338,6508,7.666,6509,6.093,6510,4.681,6511,3.376,6512,2.761,6513,4.681,6514,2.761]],["component/157",[1,0.382,18,0.605,34,0.598]],["title/158",[272,39.023,275,43.395]],["name/158",[272,1.082,275,1.204]],["text/158",[]],["component/158",[1,0.382,18,0.605,34,0.598]],["title/159",[146,48.64]],["name/159",[3,1.542]],["text/159",[1,1.96,34,3.066,146,6.811,167,3.867,185,6.106,202,9.478,203,4.49,206,5.613,311,3.409,313,3.705,402,6.244,512,4.33,518,7.201,555,4.073,749,3.48,750,4.33,1015,6.885,1151,5.176,1397,5.044,1398,6.284]],["component/159",[1,0.382,18,0.605,34,0.598]],["title/160",[670,56.771]],["name/160",[3,1.542]],["text/160",[1,2.148,34,3.359,69,4.759,200,6.874,670,6.102,688,6.941,722,3.979,956,5.934,1018,5.667,1063,5.411]],["component/160",[1,0.382,18,0.605,34,0.598]],["title/161-1",[145,33.57,211,23.44,1443,42.026]],["name/161-1",[]],["text/161-1",[]],["component/161-1",[]],["title/161-2",[145,39.514,211,27.589]],["name/161-2",[]],["text/161-2",[]],["component/161-2",[]],["title/161-3",[4644,78.148]],["name/161-3",[]],["text/161-3",[]],["component/161-3",[]],["title/161-4",[261,33.942]],["name/161-4",[]],["text/161-4",[]],["component/161-4",[]],["title/161",[1,11.947,34,18.687,956,24.464]],["name/161",[1,0.284,34,0.444,956,0.466]],["text/161",[1,1.822,2,1.092,7,2.238,34,2.851,38,2.878,39,4.915,40,2.742,70,1.112,71,2.059,83,1.496,87,2.442,93,1.441,98,1.633,99,3.519,116,1.956,142,2.378,152,2.17,161,1.668,163,1.594,183,1.705,197,2.114,215,1.981,216,3.199,222,1.418,223,1.432,224,2.506,226,2.064,233,2.382,234,1.19,241,2.698,242,2.327,257,1.362,260,1.437,262,5.788,268,3.796,276,2.021,283,1.441,286,1.705,289,1.956,290,1.534,291,3.114,299,4.814,301,2.144,311,3.67,315,2.366,317,1.654,324,1.523,336,1.374,343,2.281,401,3.094,428,2.759,435,2.566,439,2.566,460,3.094,494,2.647,495,1.845,511,1.378,548,2.094,550,1.856,552,5.442,553,1.423,556,1.798,582,2.007,670,7.367,672,2.64,678,4.203,694,3.523,702,1.807,709,1.557,721,1.244,731,5.263,754,2.434,758,2.064,783,1.303,823,1.745,836,2.303,840,3.693,843,1.507,846,1.789,866,1.4,899,2.566,931,4.001,1065,6.077,1093,3.262,1110,2.259,1324,1.876,1417,2.049,1425,2.218,1557,2.693,1561,2.857,1696,2.797,1713,2.693,1927,2.218,2905,2.405,4004,3.003,4607,3.523,4836,3.34,5466,2.742,6075,2.693,6093,2.259,6261,2.693,6515,3.802,6516,6.095,6517,3.802,6518,3.802,6519,3.802,6520,3.802,6521,3.802,6522,3.802,6523,3.802,6524,3.523,6525,3.802]],["component/161",[1,0.382,18,0.605,34,0.598]],["title/162-1",[145,33.57,211,23.44,1443,42.026]],["name/162-1",[]],["text/162-1",[]],["component/162-1",[]],["title/162-2",[145,39.514,211,27.589]],["name/162-2",[]],["text/162-2",[]],["component/162-2",[]],["title/162-3",[4644,78.148]],["name/162-3",[]],["text/162-3",[]],["component/162-3",[]],["title/162-4",[261,33.942]],["name/162-4",[]],["text/162-4",[]],["component/162-4",[]],["title/162",[53,38.53,54,38.53,55,39.693]],["name/162",[53,0.892,54,0.892,55,0.919]],["text/162",[1,2.106,10,1.597,15,2.086,34,3.294,38,1.853,39,1.961,69,2.985,92,2.559,93,2.875,96,4.093,97,2.964,98,2.163,99,5.025,140,2.795,141,2.2,165,3.131,167,1.731,200,4.312,211,1.82,232,1.89,241,4.038,262,7.408,268,5.168,269,3.874,271,5.841,281,2.055,283,1.909,289,2.59,292,7.516,299,4.258,311,1.934,315,1.954,317,2.19,395,2.154,400,2.559,428,2.279,432,2.753,495,2.444,538,2.485,548,2.774,670,3.082,672,2.181,678,5.026,721,1.648,749,1.975,758,2.733,783,1.726,823,2.312,948,3.115,980,3.632,982,2.863,1010,2.937,1054,2.528,1079,3.926,1208,2.753,1417,2.714,1979,3.874,2100,4.386,2160,3.874,2276,3.566,2672,4.424,4004,3.977,4790,3.874,6170,8.016,6261,3.566,6524,4.666,6526,5.035,6527,5.035,6528,5.035,6529,5.035,6530,5.035]],["component/162",[1,0.382,18,0.605,34,0.598]],["title/163-1",[783,26.167,1452,36.464]],["name/163-1",[]],["text/163-1",[]],["component/163-1",[]],["title/163-2",[1,10.292,2,18.624,14,38.902]],["name/163-2",[]],["text/163-2",[]],["component/163-2",[]],["title/163",[94,32.518,724,40.849]],["name/163",[94,0.902,724,1.133]],["text/163",[1,1.541,2,0.708,15,1.021,25,2.599,34,2.411,36,1.041,38,1.367,46,0.966,49,0.882,56,2.257,58,1.816,62,0.628,63,3.852,69,2.202,70,0.721,83,0.97,91,3.696,94,3.744,95,1.968,99,1.959,102,1.357,109,1.237,120,1.017,122,1.013,152,1.992,153,1.148,154,1.054,166,4.243,174,3.462,178,0.98,204,1.493,211,0.89,221,2.477,229,1.067,232,0.925,233,1.659,257,2.004,260,0.931,261,0.902,268,3.264,274,3.989,281,1.005,291,2.284,299,1.033,313,1.029,324,0.987,332,2.171,336,2.405,370,0.983,377,1.464,395,3.21,406,3.265,445,1.663,488,1.26,525,2.005,539,1.131,548,1.357,593,6.034,622,1.425,628,1.617,635,3.94,672,4.367,696,2.184,712,1.309,724,4.39,735,1.326,744,1.508,760,2.061,773,4.339,783,2.281,789,2.547,793,1.45,794,2.322,806,1.715,812,1.558,818,2.12,841,4.367,844,2.91,847,2.788,872,4.921,892,3.899,907,4.894,962,1.541,994,5,997,1.292,998,2.894,1025,2.466,1027,1.309,1070,1.328,1079,1.275,1110,1.464,1111,1.437,1139,1.665,1178,4.804,1215,1.688,1255,1.357,1299,2.752,1395,4.799,1443,1.597,1452,3.585,1472,1.777,1531,1.292,1567,1.777,1574,1.558,1589,1.812,1597,2.394,1615,1.541,1670,1.558,1718,4.42,1839,2.826,1898,2.076,1905,1.812,1914,3.777,2072,3.361,2176,4.205,2231,1.946,2234,1.812,2276,1.745,2449,2.076,2555,1.745,2664,1.851,2671,1.777,2686,1.745,2878,1.896,2984,1.812,2996,1.812,3217,7.824,3227,6.48,3893,2.283,4249,2.283,4276,8.533,4355,3.456,4368,1.777,4408,2.076,4728,5.81,5164,1.688,5193,5.415,5814,6.593,6531,2.463,6532,2.463,6533,5.186,6534,2.463,6535,2.463,6536,2.463,6537,2.283,6538,2.283,6539,2.463,6540,2.463,6541,3.935,6542,2.463,6543,2.463,6544,2.463,6545,2.463,6546,2.463,6547,8.203,6548,2.463,6549,2.463,6550,2.164,6551,2.463]],["component/163",[1,0.382,18,0.605,34,0.598]],["title/164",[122,38.138]],["name/164",[3,1.542]],["text/164",[1,1.26,34,1.971,38,2.862,48,3.755,49,2.845,62,2.024,63,3.198,70,2.323,94,4.99,117,7.027,122,5.121,167,2.73,224,3.266,226,4.311,313,3.316,380,4.425,495,3.855,724,6.269,767,3.663,883,4.764,1018,4.515,1063,4.311,1311,4.913,1369,4.967,1393,5.214,1397,4.515,1437,4.633,1574,5.024,1613,5.084,2072,5.917,2131,6.463,2172,6.691,2374,5.728,4793,5.968,6552,7.941]],["component/164",[1,0.382,18,0.605,34,0.598]],["title/165-1",[812,35.658,962,35.254,2072,28.471,4701,41.463]],["name/165-1",[]],["text/165-1",[]],["component/165-1",[]],["title/165-2",[1,7.912,34,12.375,117,29.905,408,20.268,2072,25.179]],["name/165-2",[]],["text/165-2",[]],["component/165-2",[]],["title/165",[38,18.646,2072,38.552]],["name/165",[38,0.367,117,0.9,211,0.543]],["text/165",[1,1.399,2,1.367,4,1.979,10,2.304,34,1.804,38,2.736,45,5.918,46,1.866,56,2.529,62,1.213,70,2.126,71,2.379,83,2.86,126,1.964,161,2.088,204,4.402,211,1.72,215,2.479,219,2.705,223,2.736,245,1.822,247,2.184,257,1.704,260,3.728,287,3.803,311,2.791,315,1.847,317,3.161,328,2.297,342,2.912,408,3.584,439,3.212,487,2.035,488,2.433,495,2.31,511,1.725,514,2.088,518,3.046,522,3.01,563,2.027,568,3.471,659,3.084,672,4.852,723,2.463,749,1.866,753,4.065,794,2.602,821,2.529,823,2.184,835,3.661,843,4.762,890,4.242,899,3.212,908,3.661,915,2.662,951,2.389,962,5.513,965,3.67,982,2.705,1130,3.633,1241,2.546,1304,4.82,1370,2.662,1452,4.211,1484,3.576,1489,2.583,1492,4.709,1673,3.872,1926,4.785,2072,5.658,2101,4.979,2102,3.313,2229,3.759,2332,2.854,2925,2.261,3017,3.872,4701,6.484,5310,2.854,6016,3.166,6318,4.41,6370,3.661,6553,4.41,6554,7.265,6555,3.759]],["component/165",[1,0.382,18,0.605,34,0.598]],["title/166-1",[96,22.36,965,25.179,1130,18.358,1259,27.672,6556,39.378]],["name/166-1",[]],["text/166-1",[]],["component/166-1",[]],["title/166-2",[428,22.565,603,28.341,965,25.179,1130,18.358,1259,27.672]],["name/166-2",[]],["text/166-2",[]],["component/166-2",[]],["title/166",[93,18.898,94,21.238,603,28.341,965,25.179,1130,18.358]],["name/166",[93,0.569,94,0.639,1130,0.553]],["text/166",[1,0.975,9,2.01,10,1.217,34,1.525,49,2.2,70,1.123,71,2.901,83,1.51,92,5.676,93,3.327,94,1.635,96,4.592,107,1.684,126,1.584,127,2.13,148,1.962,163,1.609,165,3.169,167,4.801,173,1.974,203,1.532,261,1.405,268,5.345,283,3.327,290,1.549,343,3.684,360,2.953,361,2.953,395,1.642,418,3.121,421,2.793,422,2.904,428,5.348,485,2.457,511,2.227,589,3.221,603,3.492,605,2.768,674,3.521,677,2.013,691,2.2,723,1.987,731,3.383,754,4.915,768,4.43,813,1.662,822,4.976,885,6.635,953,1.916,965,3.102,1057,2.13,1072,1.987,1075,3.841,1130,3.535,1177,3.372,1249,3.583,1259,2.13,1324,3.031,1360,2.823,1368,2.28,1416,4.459,1597,3.463,1661,2.718,1926,2.083,6075,2.718,6080,4.276,6109,4.276,6330,5.175,6331,7.394,6340,5.175,6407,3.032,6494,5.175,6555,7.582,6556,6.932,6557,3.838,6558,3.557,6559,5.396,6560,5.396,6561,5.396,6562,3.838,6563,3.838,6564,3.838,6565,3.838,6566,3.838,6567,3.838]],["component/166",[1,0.382,18,0.605,34,0.598]],["title/167",[93,24.583,94,27.627,485,41.51]],["name/167",[93,0.569,94,0.639,485,0.961]],["text/167",[1,1.822,6,4.13,10,2.906,34,2.85,37,2.816,39,2.543,49,2.338,62,2.336,70,1.91,71,3.263,93,2.475,94,2.781,96,4.11,99,3.011,107,2.864,109,3.278,114,3.026,126,2.695,167,3.15,177,3.518,218,2.955,224,2.685,241,4.686,242,3.996,244,2.77,250,3.026,253,2.459,262,3.955,268,2.84,275,3.712,283,3.474,289,4.714,291,2.664,292,4.13,336,2.36,380,2.759,395,2.793,406,4.497,428,5.473,485,6.777,511,2.367,596,4.474,704,4.474,722,2.606,723,4.744,763,3.204,823,2.997,836,3.955,1134,3.57,1185,3.775,1924,3.401,1926,3.544,1959,5.501,2010,3.955,2400,3.775,6369,4.906,6568,6.05]],["component/167",[1,0.382,18,0.605,34,0.598]],["title/168-1",[1,5.874,34,9.188,71,9.988,262,22.424,395,15.833,485,23.692,591,23.148,1061,15.277]],["name/168-1",[]],["text/168-1",[]],["component/168-1",[]],["title/168-2",[1105,35.04,1999,54.056]],["name/168-2",[]],["text/168-2",[]],["component/168-2",[]],["title/168-3",[722,30.47,1105,35.04]],["name/168-3",[]],["text/168-3",[]],["component/168-3",[]],["title/168",[1,7.912,2,14.317,50,28.341,70,14.585,395,21.325]],["name/168",[93,0.569,94,0.639,395,0.642]],["text/168",[1,1.462,2,0.777,9,0.885,10,1.459,34,2.859,44,1.674,49,2.15,50,1.538,63,0.826,66,1.321,70,3.707,71,3.327,78,1.299,83,1.065,92,5.617,93,3.968,96,1.214,122,1.113,124,1.267,127,3.332,141,1.182,142,1.692,152,0.963,163,1.134,165,3.563,166,1.236,167,2.064,197,0.938,211,1.663,215,1.41,226,1.469,233,2.768,234,3.035,244,1.148,253,2.261,257,0.969,258,1.884,261,2.197,262,3.637,279,1.593,283,1.744,287,1.774,290,1.092,291,3.956,292,1.712,317,1.177,324,1.084,336,2.17,343,1.623,345,4.572,355,1.944,357,5.745,362,3.385,364,3.319,380,1.944,381,1.565,395,2.568,396,1.952,420,1.438,423,1.458,426,1.656,428,5.779,465,2.137,485,3.843,489,4.251,490,3.153,491,1.419,498,2.284,511,2.176,535,2.137,536,2.945,538,2.271,553,2.246,558,3.204,560,1.383,563,1.153,571,1.248,591,1.692,635,1.299,638,1.41,642,4.36,668,1.321,678,2.535,681,1.448,722,2.827,734,1.267,740,2.554,767,1.248,768,3.319,790,1.383,821,1.438,823,1.242,836,4.29,841,1.172,846,1.273,855,1.593,953,1.351,965,1.367,966,1.551,1018,4.026,1035,1.502,1038,1.117,1054,1.359,1061,4.32,1130,0.996,1185,1.565,1368,1.608,1369,1.692,1416,1.375,1465,1.776,1661,3.259,1926,1.469,2022,1.826,2106,3.54,2400,1.565,2737,2.033,5160,2.137,5439,1.854,5466,1.952,6000,1.826,6093,2.734,6354,3.877,6364,3.385,6369,5.322,6569,2.706,6570,2.706,6571,4.043,6572,2.377,6573,2.706,6574,2.706,6575,2.706,6576,2.377,6577,2.706,6578,2.508,6579,2.508,6580,2.706,6581,2.706]],["component/168",[1,0.382,18,0.605,34,0.598]],["title/169-1",[1,10.292,34,16.098,428,29.354]],["name/169-1",[]],["text/169-1",[]],["component/169-1",[]],["title/169-2",[1,8.946,34,13.993,96,25.283,723,29.181]],["name/169-2",[]],["text/169-2",[]],["component/169-2",[]],["title/169-3",[92,38.785,2100,44.136]],["name/169-3",[]],["text/169-3",[]],["component/169-3",[]],["title/169-4",[114,30.058,723,33.57,754,41.51]],["name/169-4",[]],["text/169-4",[]],["component/169-4",[]],["title/169",[1,8.946,34,13.993,93,21.369,94,24.015]],["name/169",[93,0.569,94,0.639,262,0.909]],["text/169",[1,1.356,2,0.762,9,1.48,15,1.875,34,1.947,37,1.144,38,2.087,39,1.033,49,1.62,62,0.676,66,1.295,69,1.044,70,2.499,71,2.705,83,1.044,91,2.038,92,5.916,93,3.642,94,1.13,96,4.309,98,1.139,99,2.728,114,1.229,120,1.867,122,2.432,126,1.095,127,2.511,130,1.607,131,1.641,142,1.659,148,2.313,149,0.956,163,1.112,165,4.633,167,4.003,176,1.45,179,3.1,184,1.719,197,2.424,203,1.059,222,1.687,223,0.999,226,1.44,229,1.96,232,0.996,234,1.852,241,1.174,242,1.624,245,1.016,250,1.229,253,1.704,257,0.95,264,1.496,268,1.968,274,1.41,275,1.508,277,1.993,279,1.561,283,2.65,289,1.365,290,1.07,291,1.846,292,1.678,299,1.112,310,1.461,313,1.889,315,1.756,336,0.959,357,1.765,360,2.041,361,2.041,364,1.913,370,2.361,380,1.912,396,1.913,408,1.078,428,4.701,433,1.818,462,1.719,485,5.022,487,1.935,508,2.33,511,1.64,512,1.295,520,1.461,538,1.309,549,3.391,550,2.887,552,1.348,553,2.213,563,2.52,568,1.267,589,1.391,615,1.42,642,1.34,668,1.295,674,1.521,677,1.391,679,1.41,709,2.423,722,1.059,723,4.974,729,1.547,730,1.224,731,2.492,735,1.413,749,1.04,750,1.295,754,5.022,767,2.728,772,2.161,774,2.313,783,2.396,804,2.572,810,1.382,817,1.879,821,1.41,823,1.218,836,3.584,843,1.051,885,1.719,923,1.41,938,1.508,956,1.302,965,2.285,988,1.44,1018,1.508,1025,1.169,1061,2.885,1130,2.178,1249,1.547,1368,1.576,1397,1.508,1400,1.484,1416,2.299,1417,2.438,1597,1.496,1725,1.879,1926,3.211,2097,2.235,2100,4.939,2106,3.481,2988,1.659,4925,2.159,5994,1.576,5995,2.33,6075,1.879,6080,1.847,6109,1.847,6330,2.235,6331,3.812,6340,2.235,6343,2.095,6494,2.235,6555,2.095,6558,2.458,6559,2.33,6560,2.33,6561,2.33,6568,2.458,6582,2.235,6583,2.652,6584,2.652,6585,4.523,6586,2.652,6587,2.652,6588,2.235,6589,2.33,6590,2.33,6591,2.33,6592,2.33,6593,2.33,6594,2.235,6595,2.33,6596,2.235,6597,2.235,6598,2.159]],["component/169",[1,0.382,18,0.605,34,0.598]],["title/170-1",[0,23.019,132,43.773,146,34.008]],["name/170-1",[]],["text/170-1",[]],["component/170-1",[]],["title/170-2",[0,23.019,62,16.531,132,43.773]],["name/170-2",[]],["text/170-2",[]],["component/170-2",[]],["title/170-3",[169,27.663,242,34.503,336,20.375,553,21.091]],["name/170-3",[]],["text/170-3",[]],["component/170-3",[]],["title/170-4",[1,7.092,34,11.092,92,22.705,132,30.162,250,20.712,581,29.335]],["name/170-4",[]],["text/170-4",[]],["component/170-4",[]],["title/170-5",[0,23.019,117,38.902,132,43.773]],["name/170-5",[]],["text/170-5",[]],["component/170-5",[]],["title/170",[0,17.696,1,7.912,34,12.375,132,33.65,262,30.203]],["name/170",[93,0.569,94,0.639,132,1.013]],["text/170",[0,3.27,1,1.462,6,1.942,10,2.086,34,2.859,37,1.324,49,2.357,50,2.909,58,2.189,62,0.782,69,3.357,71,2.96,87,1.23,92,2.6,93,1.164,94,2.18,95,3.05,96,4.132,99,1.416,107,2.245,117,1.841,126,1.267,127,1.704,128,2.174,132,8.294,142,1.92,146,1.61,153,1.43,154,1.313,163,2.145,165,2.112,167,2.262,169,1.506,221,1.358,222,1.145,232,1.152,233,2,241,2.264,242,3.132,250,4.27,253,1.156,257,1.833,261,1.123,276,1.631,279,1.807,281,1.253,283,2.91,286,1.377,288,2.425,290,1.239,291,3.133,336,4.245,343,3.069,347,2.586,355,2.162,362,2.258,379,2.338,406,2.511,415,1.589,419,1.631,435,2.072,466,3.764,507,2.586,511,3.543,513,1.541,533,1.92,552,1.56,562,1.599,615,4.108,674,1.76,711,5.78,722,2.626,723,1.589,754,3.275,756,1.55,783,1.052,809,1.899,822,3.316,915,1.717,1109,2.425,1215,2.103,1260,1.807,1318,1.579,1319,4.329,1343,1.899,1488,1.666,1655,3.132,1697,4.975,1767,3.506,2158,2.137,2529,2.307,2533,4.042,2988,3.2,3263,2.307,3738,2.697,3852,2.697,3864,6.097,4580,2.586,4752,2.498,5994,1.824,6000,2.072,6075,2.174,6093,3.04,6110,2.362,6582,2.586,6599,2.845,6600,2.697,6601,4.742,6602,7.905,6603,4.742,6604,3.069,6605,3.069,6606,2.845,6607,2.845,6608,4.742,6609,3.069,6610,3.069,6611,3.069,6612,6.579,6613,2.845,6614,3.069,6615,3.069,6616,3.069,6617,3.069,6618,5.116,6619,4.742,6620,3.069,6621,3.069,6622,5.116,6623,3.069,6624,3.069,6625,5.116,6626,3.069,6627,3.069,6628,3.069,6629,3.069,6630,3.069,6631,3.069,6632,3.069,6633,3.069,6634,3.069,6635,3.069,6636,3.069,6637,3.069,6638,3.069,6639,3.069,6640,3.069,6641,3.069,6642,3.069,6643,3.069]],["component/170",[1,0.382,18,0.605,34,0.598]],["title/171",[92,32.951,310,35.723,767,29.912]],["name/171",[93,0.569,94,0.639,6597,1.265]],["text/171",[1,0.673,34,1.052,92,3.808,93,0.932,257,1.518,264,5.231,338,1.157,423,3.011,550,4.917,730,2.577,767,3.457,821,2.253,836,8.454,1425,2.473,6588,7.398,6589,10.163,6590,7.199,6591,7.713,6592,7.199,6593,8.15,6594,3.572,6595,3.724,6596,11.336,6644,4.238,6645,4.238,6646,4.238,6647,4.238,6648,6.644,6649,6.644,6650,6.644,6651,4.238,6652,4.238,6653,5.587,6654,6.644,6655,6.644,6656,4.238,6657,5.587,6658,5.587,6659,5.587,6660,5.587,6661,5.587,6662,4.238,6663,5.587,6664,4.238,6665,4.238,6666,4.238,6667,4.238,6668,4.238,6669,4.238,6670,4.238,6671,4.238,6672,4.238,6673,4.238,6674,4.238,6675,4.238,6676,4.238,6677,4.238,6678,5.587,6679,5.587,6680,5.587,6681,5.587,6682,5.587,6683,5.587,6684,5.587,6685,5.587,6686,5.587,6687,5.587,6688,5.587,6689,6.644,6690,5.587,6691,5.587,6692,6.644,6693,6.644,6694,6.644,6695,6.644,6696,6.644,6697,6.644,6698,6.644,6699,6.644,6700,6.644,6701,6.644,6702,6.644,6703,6.644,6704,5.587,6705,6.644,6706,2.458,6707,2.458,6708,2.458,6709,2.458,6710,2.458,6711,2.458,6712,2.458,6713,2.458,6714,2.458,6715,2.458,6716,2.458,6717,2.458,6718,2.458,6719,2.458,6720,2.458,6721,2.458,6722,2.458,6723,2.458]],["component/171",[1,0.382,18,0.605,34,0.598]],["title/172-1",[0,23.019,133,48.733,146,34.008]],["name/172-1",[]],["text/172-1",[]],["component/172-1",[]],["title/172-2",[0,23.019,62,16.531,133,48.733]],["name/172-2",[]],["text/172-2",[]],["component/172-2",[]],["title/172-3",[62,14.369,127,31.29,591,35.254,751,39.921]],["name/172-3",[]],["text/172-3",[]],["component/172-3",[]],["title/172-4",[62,12.708,127,27.672,233,19.482,6724,43.797,6725,46.199]],["name/172-4",[]],["text/172-4",[]],["component/172-4",[]],["title/172-5",[62,14.369,92,28.643,93,21.369,4925,45.875]],["name/172-5",[]],["text/172-5",[]],["component/172-5",[]],["title/172",[0,17.696,1,7.912,34,12.375,133,37.463,262,30.203]],["name/172",[93,0.569,94,0.639,277,1.128]],["text/172",[0,2.948,1,1.601,4,0.82,6,1.246,10,2.065,18,0.495,34,2.624,37,2.029,49,2.332,50,2.675,58,0.843,62,1.987,67,1.734,68,0.962,71,3.167,78,0.946,83,0.775,92,2.892,93,1.324,94,0.839,96,3.926,98,0.846,99,3.323,107,1.532,109,0.989,114,2.181,127,3.998,130,4.364,133,5.858,141,0.861,142,1.232,143,0.913,146,1.033,162,1.027,163,1.464,167,2.476,169,0.967,173,1.014,177,1.062,197,1.211,198,4.496,215,1.027,216,0.826,222,0.735,229,0.853,232,2.704,233,1.365,241,1.546,242,1.206,244,1.482,251,2.91,253,1.772,257,1.251,261,1.278,272,1.786,277,5.413,283,1.324,286,0.884,288,1.556,290,4.071,291,2.323,310,1.085,315,0.765,317,0.857,324,0.789,336,4.144,340,1.246,342,1.206,347,1.66,362,1.449,380,0.833,395,3.334,398,1.182,415,1.02,420,2.5,426,2.138,485,1.261,500,1.001,511,0.714,538,1.724,547,1.294,582,1.04,591,2.942,615,2.518,635,0.946,648,0.932,672,0.853,679,1.047,709,0.807,711,4.133,721,1.143,722,2.272,723,4.735,740,1.094,749,1.37,751,6.946,754,4.168,761,0.804,768,1.421,836,1.194,893,1.604,902,4.79,915,1.102,918,0.962,925,1.194,934,1.062,950,1.232,954,1.194,985,1.449,1027,1.047,1061,1.442,1080,1.826,1105,0.905,1130,1.732,1177,3.069,1185,1.139,1214,2.138,1215,1.35,1227,2.358,1241,1.055,1249,1.149,1255,1.924,1296,1.372,1311,1.219,1369,1.232,1387,1.421,1413,2.324,1417,1.882,1448,1.449,1464,2.185,1488,1.07,1587,2.056,1671,1.604,1716,1.277,1926,1.07,2092,2.843,2100,2.02,2400,1.139,2474,1.826,2878,1.516,3263,3.535,3738,1.731,4328,1.421,4476,1.66,4752,1.604,4830,1.826,5466,1.421,5689,4.133,6075,5.101,6093,2.075,6110,1.516,6413,1.826,6582,1.66,6598,1.604,6599,1.826,6600,1.731,6601,3.237,6602,10.171,6603,1.826,6606,1.826,6607,3.237,6608,5.275,6724,3.069,6725,7.698,6726,1.97,6727,3.493,6728,1.97,6729,1.97,6730,1.97,6731,1.97,6732,1.97,6733,1.97,6734,1.97,6735,1.97,6736,1.97,6737,1.97,6738,1.97,6739,1.97,6740,1.97,6741,3.493,6742,1.97,6743,1.97,6744,1.97,6745,3.237,6746,1.97,6747,1.97,6748,1.97,6749,4.704,6750,1.97,6751,1.97,6752,1.97,6753,1.97,6754,1.97,6755,1.97,6756,1.97,6757,1.97,6758,1.97,6759,1.97,6760,3.493,6761,1.97,6762,3.493,6763,1.97,6764,3.493,6765,2.625,6766,2.943,6767,1.97,6768,1.97,6769,5.691,6770,1.97,6771,1.97,6772,4.704,6773,1.97,6774,1.97,6775,1.97,6776,1.97,6777,1.97,6778,3.493,6779,1.97,6780,1.97,6781,1.97]],["component/172",[1,0.382,18,0.605,34,0.598]],["title/173-1",[1,8.946,34,13.993,292,35.658,428,25.516]],["name/173-1",[]],["text/173-1",[]],["component/173-1",[]],["title/173-2",[1,7.912,34,12.375,96,22.36,292,31.535,723,25.807]],["name/173-2",[]],["text/173-2",[]],["component/173-2",[]],["title/173",[1,7.912,34,12.375,93,18.898,94,21.238,292,31.535]],["name/173",[93,0.569,94,0.639,292,0.949]],["text/173",[1,1.622,2,1.464,9,2.505,18,1.281,34,2.282,49,1.826,53,3.03,55,3.121,58,3.275,69,2.007,70,1.492,71,2.758,92,3.891,93,4.361,96,5.16,120,2.105,127,2.83,163,2.138,167,4.22,176,2.788,197,1.768,203,2.035,212,5.754,221,2.257,230,2.948,232,1.914,234,1.597,253,1.92,257,1.826,279,4.507,291,3.125,292,3.225,315,1.979,336,1.843,357,3.393,361,3.923,380,3.236,428,5.789,485,3.264,511,1.849,512,2.488,538,2.516,549,4.389,553,1.908,568,2.436,571,2.352,615,2.729,642,2.575,677,2.674,690,2.575,709,3.766,722,2.035,723,5.291,731,2.809,748,3.697,754,3.264,836,6.969,956,2.502,965,3.867,1075,3.189,1130,3.386,1368,3.03,1725,3.611,1926,4.156,2100,2.948,2988,3.189,5477,3.923,5618,4.725,5994,5.463,6075,3.611,6555,4.028,6559,4.48,6582,4.296,6782,4.725,6783,4.725,6784,5.098]],["component/173",[1,0.382,18,0.605,34,0.598]],["title/174-1",[71,15.212,96,25.283,197,19.546,485,36.083]],["name/174-1",[]],["text/174-1",[]],["component/174-1",[]],["title/174-2",[1105,35.04,1999,54.056]],["name/174-2",[]],["text/174-2",[]],["component/174-2",[]],["title/174-3",[722,30.47,1105,35.04]],["name/174-3",[]],["text/174-3",[]],["component/174-3",[]],["title/174",[93,28.935,94,32.518]],["name/174",[93,0.802,94,0.902]],["text/174",[0,2.17,1,1.841,2,1.35,4,1.154,10,1.939,34,3.078,38,0.678,39,1.08,44,1.716,49,1.683,50,1.577,62,0.707,66,1.354,68,1.354,70,0.812,71,3.131,78,1.332,83,1.849,84,1.455,92,4.092,93,4.123,94,3.066,95,2.178,96,5.204,99,1.28,100,1.228,107,2.682,114,2.834,127,4.47,131,2.907,132,1.873,142,1.735,163,1.163,166,1.267,167,3.007,173,1.427,197,2.496,203,1.876,215,2.449,223,1.045,226,1.506,229,1.202,232,1.041,233,2.389,234,2.522,257,0.994,258,1.931,261,1.015,262,3.704,277,3.532,283,1.782,287,1.812,291,1.132,292,3.868,299,1.163,311,1.066,315,1.824,317,1.207,324,1.111,336,1.003,338,1.305,343,1.664,345,4.071,348,4.704,355,1.986,357,5.821,360,3.616,364,3.389,379,1.267,396,2.001,406,1.361,408,1.128,419,1.474,420,1.474,423,1.495,426,1.698,428,4.219,465,2.191,485,5.599,489,4.33,490,3.22,498,1.377,507,2.337,511,2.217,535,2.191,536,3.008,553,1.038,558,1.931,591,1.735,596,1.901,603,2.672,642,4.418,681,1.485,721,0.908,722,3.215,723,2.433,740,2.609,751,1.965,754,6.962,768,2.001,805,1.312,823,1.273,836,1.681,839,2.629,841,1.202,855,1.633,918,2.294,937,1.846,953,1.385,965,2.374,966,1.59,1016,1.798,1035,2.609,1061,2.524,1130,1.731,1174,2.041,1185,1.604,1214,1.698,1321,1.716,1416,1.41,1464,1.735,1579,1.965,1661,3.328,1769,2.258,1926,1.506,2167,2.085,2358,1.552,2400,1.604,2527,1.59,2655,2.792,5439,1.901,5466,2.001,6000,1.873,6075,5.097,6093,2.792,6104,2.191,6248,2.191,6364,3.457,6369,3.532,6571,4.129,6572,2.437,6576,2.437,6578,2.571,6579,2.571,6598,3.825,6766,2.337,6785,2.774]],["component/174",[1,0.382,18,0.605,34,0.598]],["title/175",[50,52.731]],["name/175",[3,1.542]],["text/175",[0,3.908,1,2.105,10,1.887,34,3.184,36,2.515,50,3.383,54,5.977,55,6.157,69,2.342,70,2.51,91,2.681,92,3.024,93,5.192,94,5.835,126,2.456,127,4.762,132,5.791,133,6.447,200,3.383,203,3.425,206,5.427,268,2.589,313,2.485,315,2.31,336,3.101,395,3.67,445,4.017,485,5.491,490,5.879,512,2.904,555,2.732,603,3.383,660,4.843,750,4.187,1130,3.159,1397,3.383,1434,4.472,1767,4.078,2475,7.95,6247,6.776]],["component/175",[1,0.382,18,0.605,34,0.598]],["title/176-1",[62,19.457,395,32.651]],["name/176-1",[]],["text/176-1",[]],["component/176-1",[]],["title/176-2",[977,64.312,1393,50.11]],["name/176-2",[]],["text/176-2",[]],["component/176-2",[]],["title/176",[490,63.556]],["name/176",[490,2.46]],["text/176",[1,1.976,2,0.718,4,1.788,14,1.499,15,1.036,16,1.663,26,0.872,34,3.116,39,2.203,49,1.54,53,1.485,58,1.839,62,0.637,66,1.22,68,1.22,70,1.258,71,3.262,91,1.937,93,1.63,94,1.065,95,2.622,98,1.074,99,3.099,107,3.628,109,2.159,114,1.158,120,2.335,128,1.77,139,1.74,140,1.387,146,1.311,147,1.713,152,2.014,163,1.048,170,3.851,178,0.994,183,3.395,218,1.131,221,1.903,222,2.11,223,1.619,225,1.53,241,5.287,244,1.06,250,1.158,253,2.851,257,1.54,258,1.74,262,3.427,266,1.367,268,3.597,274,1.328,282,1.974,289,3.456,291,3.613,292,1.581,311,0.96,315,2.196,324,2.692,330,1.77,336,2.428,343,5.863,345,2.471,380,1.817,395,2.874,435,1.687,445,1.687,489,8.351,490,6.95,495,1.213,497,1.471,513,1.255,535,1.974,536,1.6,540,1.514,603,3.819,642,3.393,656,2.902,660,6.73,678,1.377,690,1.262,722,0.998,730,1.153,734,1.17,746,1.005,754,2.752,761,1.02,817,3.045,818,1.248,820,1.278,823,1.147,927,1.62,941,1.713,947,4.771,957,1.27,977,2.106,980,1.803,1018,2.444,1029,1.111,1046,1.687,1054,1.255,1072,1.294,1106,1.974,1154,3.647,1172,2.106,1181,1.878,1216,3.101,1285,2.212,1324,1.233,1597,4.663,1606,1.713,1653,3.777,1695,3.765,1767,1.713,2026,1.347,2220,2.034,2348,1.77,2655,1.485,4821,1.923,6000,1.687,6092,6.967,6104,3.396,6247,1.974,6786,3.777,6787,2.316,6788,2.196,6789,2.499,6790,8.663,6791,5.656,6792,2.316,6793,6.226,6794,2.196,6795,2.499,6796,2.499,6797,2.499,6798,5.656,6799,3.984,6800,5.243,6801,2.316,6802,2.316,6803,2.499,6804,2.499,6805,2.316,6806,2.499]],["component/176",[1,0.382,18,0.605,34,0.598]],["title/177-1",[681,49.637]],["name/177-1",[]],["text/177-1",[]],["component/177-1",[]],["title/177-2",[62,23.643]],["name/177-2",[]],["text/177-2",[]],["component/177-2",[]],["title/177-3",[187,68.224]],["name/177-3",[]],["text/177-3",[]],["component/177-3",[]],["title/177",[99,35.208,596,52.304]],["name/177",[99,0.976,596,1.451]],["text/177",[1,1.471,7,1.83,9,1.017,10,0.986,15,2.143,33,2.015,34,2.302,35,1.865,36,1.314,49,1.852,52,1.782,54,5.84,62,3.179,67,2.567,69,1.223,70,1.942,71,2.318,92,5.429,96,2.978,99,6.087,107,1.364,140,1.726,149,1.863,153,1.448,165,3.546,167,2.283,169,1.526,173,1.599,187,6.319,197,1.793,215,1.62,218,1.407,224,1.278,226,5.799,241,4.35,250,3.077,253,2.914,257,1.114,264,1.753,266,1.7,268,4.92,271,1.99,275,4.399,281,2.11,283,3.257,286,2.319,289,2.66,291,1.269,298,3.044,311,1.194,313,1.298,326,2.212,336,2.4,380,1.314,400,1.58,418,2.628,420,1.652,421,3.019,422,2.445,428,1.407,432,1.7,495,1.509,511,1.127,512,1.517,538,1.534,550,2.524,552,1.58,560,1.589,589,1.63,596,7.924,638,1.62,677,3.482,678,4.732,683,2.893,691,1.782,692,1.99,709,2.118,748,1.501,758,1.688,763,2.538,792,1.884,818,1.552,820,1.589,821,1.652,837,3.491,885,6.009,899,2.098,918,1.517,1024,1.99,1025,1.37,1054,1.561,1072,1.609,1125,1.944,1369,1.944,1556,5.245,1587,3.044,1637,2.202,1646,2.336,1713,2.202,1924,1.62,1926,1.688,2022,2.098,2442,2.456,2848,2.242,5310,4.642,5994,1.847,6080,3.601,6109,4.623,6264,2.731,6490,2.881,6491,4.543,6492,4.792,6493,2.881,6494,2.619,6495,2.881,6496,1.967]],["component/177",[1,0.382,18,0.605,34,0.598]],["title/178-1",[499,46.245,1397,43.395]],["name/178-1",[]],["text/178-1",[]],["component/178-1",[]],["title/178-2",[1416,47.129]],["name/178-2",[]],["text/178-2",[]],["component/178-2",[]],["title/178-3",[93,28.935,94,32.518]],["name/178-3",[]],["text/178-3",[]],["component/178-3",[]],["title/178-4",[234,29.041]],["name/178-4",[]],["text/178-4",[]],["component/178-4",[]],["title/178-5",[96,41.602]],["name/178-5",[]],["text/178-5",[]],["component/178-5",[]],["title/178-6",[829,44.309]],["name/178-6",[]],["text/178-6",[]],["component/178-6",[]],["title/178-7",[70,27.136]],["name/178-7",[]],["text/178-7",[]],["component/178-7",[]],["title/178-8",[99,42.783]],["name/178-8",[]],["text/178-8",[]],["component/178-8",[]],["title/178-9",[250,35.379,275,43.395]],["name/178-9",[]],["text/178-9",[]],["component/178-9",[]],["title/178-10",[165,38.284]],["name/178-10",[]],["text/178-10",[]],["component/178-10",[]],["title/178-11",[279,54.598]],["name/178-11",[]],["text/178-11",[]],["component/178-11",[]],["title/178",[234,20.305,805,30.662,2527,37.177]],["name/178",[234,0.47,805,0.71,2527,0.86]],["text/178",[1,1.447,5,2.31,10,1.219,15,0.708,16,0.409,18,2.574,34,2.362,38,1.18,39,1.633,49,1.935,50,0.35,54,0.365,55,0.376,58,0.94,62,0.784,66,3.971,70,2.294,71,1.037,74,4.264,82,0.415,83,3.024,92,3.822,93,1.166,94,0.728,96,3.297,98,2.201,99,3.545,107,0.519,114,0.548,124,0.8,127,0.341,142,5.26,146,0.62,149,0.616,152,2.105,154,0.506,161,0.27,163,1.289,165,4.836,166,0.54,167,4.408,169,0.838,177,0.331,178,0.68,180,0.356,183,1.189,197,1.204,200,1.249,203,0.246,215,2.67,221,0.272,223,0.643,224,0.903,226,4.565,231,0.54,232,0.231,233,0.668,234,2.919,241,1.536,242,0.724,244,0.261,250,4.986,253,3.547,257,1.243,261,0.225,262,2.54,266,1.201,268,5.08,274,0.908,275,6.082,278,2.742,279,5.806,283,1.457,287,0.456,292,0.748,299,0.921,301,0.963,311,0.454,313,1.45,315,0.663,316,1.535,317,0.514,324,0.246,327,0.642,332,0.605,334,0.647,338,0.289,340,0.389,343,1.025,345,2.474,348,5.069,355,0.722,357,3.215,358,3.68,360,1.69,361,0.91,362,0.87,364,2.218,370,0.246,379,0.54,380,0.928,381,0.356,396,6.065,405,0.462,406,0.58,408,0.25,415,0.612,422,0.291,423,0.637,428,2.187,433,1.816,435,0.415,439,0.415,465,4.474,487,0.94,489,0.436,490,0.421,497,0.362,499,0.373,511,0.619,512,0.3,513,1.103,538,0.304,550,0.3,552,1.347,553,1.438,558,1.846,562,0.616,574,3.326,603,0.672,635,0.295,638,0.89,640,2.094,642,1.553,653,0.376,656,0.415,674,0.678,704,0.811,709,1.26,716,0.353,721,0.201,722,3.721,730,0.546,734,0.554,746,0.247,749,0.241,750,0.3,754,0.757,799,0.356,804,0.35,805,0.808,818,0.307,821,0.327,823,0.282,829,1.049,836,1.331,841,0.74,849,1.167,855,5.428,872,1.845,885,0.767,912,0.787,918,0.577,925,0.717,934,0.921,953,1.535,966,0.353,994,0.889,1018,1.249,1025,0.271,1038,0.488,1054,0.309,1061,3.806,1105,4.827,1131,0.473,1134,0.647,1148,1.694,1176,0.3,1249,0.69,1309,5.066,1367,0.518,1369,0.74,1370,0.344,1371,0.54,1373,3.105,1397,0.35,1400,0.344,1416,3.004,1425,0.69,1579,0.838,1597,0.667,1661,2.722,1692,1.449,1769,0.501,1924,0.32,1927,0.69,1999,5.327,2010,1.035,2022,0.415,2035,0.997,2077,0.54,2078,0.518,2100,0.684,2106,1.69,2112,0.518,2125,0.501,2332,0.71,2358,0.662,2374,0.444,2527,2.203,2757,0.838,4102,3.68,4832,2.429,4980,0.963,5160,0.486,5439,0.421,5466,3.696,5538,0.462,5540,3.81,6030,1.096,6045,0.838,6051,0.518,6075,0.838,6093,1.015,6104,0.486,6109,1.846,6198,1.877,6351,2.329,6354,0.518,6357,2.036,6358,1.096,6359,1.096,6360,1.096,6361,1.096,6362,1.096,6363,1.096,6364,0.87,6365,0.997,6366,2.036,6367,0.997,6368,0.997,6369,2.888,6407,0.486,6443,0.57,6480,1.501,6571,0.54,6572,0.54,6576,1.039,6588,0.997,6589,1.039,6590,1.039,6591,1.039,6592,1.039,6593,1.039,6594,0.997,6595,1.039,6596,0.997,6766,0.518,6807,0.615,6808,0.615,6809,0.615,6810,0.54,6811,0.615,6812,1.183,6813,0.615]],["component/178",[1,0.382,18,0.605,34,0.598]],["title/179-1",[62,19.457,241,33.781]],["name/179-1",[]],["text/179-1",[]],["component/179-1",[]],["title/179-2",[234,23.9,2527,43.759]],["name/179-2",[]],["text/179-2",[]],["component/179-2",[]],["title/179-3",[100,33.781,425,54.056]],["name/179-3",[]],["text/179-3",[]],["component/179-3",[]],["title/179-4",[495,45.021]],["name/179-4",[]],["text/179-4",[]],["component/179-4",[]],["title/179-5",[62,19.457,291,31.15]],["name/179-5",[]],["text/179-5",[]],["component/179-5",[]],["title/179",[291,31.15,563,32.518]],["name/179",[62,0.915]],["text/179",[1,1.267,3,3.711,5,0.334,15,1.074,16,0.334,34,2.193,37,0.42,38,1.858,39,2.101,46,0.871,48,0.865,50,0.286,56,0.517,58,1.108,62,0.914,63,2.401,64,0.441,66,1.435,69,1.528,70,0.758,71,1.622,75,0.301,78,0.241,80,0.281,83,0.557,87,1.978,91,1.615,93,0.842,94,1.104,95,0.451,98,0.216,99,1.653,100,0.626,107,1.29,109,0.489,116,0.259,120,0.207,122,0.207,127,0.279,131,0.311,141,0.425,142,0.314,146,0.742,149,0.51,152,1.579,165,1.48,166,1.184,167,1.432,169,0.694,170,1.686,174,0.875,177,0.271,178,0.387,180,0.818,183,1.162,197,0.77,204,0.304,205,0.296,211,0.352,218,0.227,220,0.857,222,0.683,223,0.367,224,1.209,226,1.946,230,1.7,232,1.104,233,1.833,234,1.997,241,4.673,242,3.794,244,0.213,245,0.192,250,0.656,253,1.569,254,0.314,256,0.855,257,1.053,258,0.678,260,0.535,261,0.184,262,0.304,264,0.549,268,3.126,269,1.408,270,0.82,272,2.867,273,0.334,274,2.357,275,2.038,276,0.267,278,0.397,279,1.525,281,0.577,283,2.204,286,0.821,287,0.545,288,0.397,289,2.281,290,1.32,291,0.747,292,0.895,298,1.077,299,1.086,301,0.798,304,2.069,310,2.443,311,0.703,313,0.21,319,0.362,324,1.555,326,0.95,328,0.243,329,0.732,334,2.949,336,2.306,338,0.458,340,0.318,343,1.962,345,0.8,362,0.37,378,0.716,379,0.445,395,3.466,398,0.849,400,0.494,404,0.26,406,2.302,415,1.15,418,0.494,421,1.63,423,0.271,425,1.002,428,1.173,435,2.208,462,3.199,489,0.356,490,1.522,495,0.244,501,0.311,511,0.513,514,0.621,517,0.283,520,0.277,538,0.903,539,0.231,550,1.749,553,0.685,556,0.669,558,0.678,560,0.257,563,1.394,571,2.385,572,0.304,593,1.906,594,0.82,603,2.207,605,0.362,609,0.37,615,1.189,622,1.058,626,0.356,628,2.147,635,2.792,638,0.507,642,0.715,654,0.296,656,0.339,659,0.631,669,0.689,672,3.943,673,5.222,674,1.686,678,0.536,683,1.645,684,0.281,688,0.35,697,0.339,708,0.293,709,0.206,716,0.288,721,0.164,722,1.174,724,1.918,735,0.694,740,1.99,742,0.254,744,2.714,745,1.145,754,0.623,763,0.478,767,1.356,783,2.561,789,0.584,793,0.296,794,0.275,799,0.563,801,0.299,810,0.262,812,0.616,815,0.423,817,3.141,819,0.37,820,0.257,822,0.631,823,2.668,829,1.405,831,1.068,834,0.731,841,2.685,843,0.881,845,0.657,846,0.236,847,2.147,850,0.51,851,1.089,855,0.296,856,1.098,873,0.344,883,0.301,885,0.917,892,0.239,901,0.33,922,1.202,923,0.517,926,0.291,929,1.816,931,0.51,945,0.339,946,0.397,947,0.763,949,2.475,951,1.301,952,0.387,953,0.706,956,0.478,962,0.609,964,0.378,966,0.288,970,1.311,972,0.296,976,0.362,979,0.749,980,0.362,982,0.286,992,0.267,994,1.376,998,1.279,1018,0.286,1025,0.221,1029,0.223,1030,0.214,1055,0.33,1076,0.811,1079,0.26,1105,0.447,1110,3.454,1113,4.939,1139,0.555,1154,0.528,1164,4.084,1174,0.37,1181,0.378,1208,1.001,1249,2.265,1260,1.308,1285,1.513,1295,0.275,1296,0.678,1304,3.286,1307,0.409,1309,0.596,1318,0.259,1319,1.032,1357,0.304,1361,0.409,1367,0.82,1387,2.585,1400,0.281,1417,3.022,1451,0.33,1452,0.874,1455,0.483,1458,0.667,1459,2.109,1462,0.304,1472,0.702,1488,0.273,1597,1.253,1653,0.855,1655,0.596,1676,1.86,1695,0.648,1713,1.002,1767,0.344,1776,0.362,1825,0.423,1835,0.639,1882,0.702,1905,4.276,1908,4.537,1909,0.339,1914,0.955,1927,0.293,1938,0.339,2015,0.339,2057,0.35,2072,3.31,2081,0.308,2115,1.679,2134,0.616,2156,0.731,2161,0.716,2174,0.362,2176,2.694,2187,0.362,2222,0.37,2251,1.063,2358,0.281,2374,0.702,2400,1.285,2428,1.346,2442,0.397,2448,0.387,2527,0.288,2555,1.002,2664,0.378,2737,0.378,2827,0.387,2848,1.602,2878,0.387,2881,2.277,2893,0.769,2899,1.346,2903,1.021,2971,0.409,3048,1.192,3214,0.441,3217,0.423,3227,0.397,3296,0.466,3362,0.318,3468,3.525,3565,3.503,3770,0.466,3866,0.441,3867,0.441,4187,2.183,4276,4.739,4328,0.702,4355,1.49,4356,6.111,4368,0.702,4369,2.277,4614,0.441,4694,1.311,4701,0.716,4702,0.82,4728,1.835,4791,1.542,4793,1.947,4812,0.466,4914,1.243,4978,0.37,5193,3.159,5342,0.423,5438,0.749,5439,0.97,5480,0.441,5615,0.466,5814,1.243,6023,0.409,6032,1.243,6046,1.5,6080,2.047,6082,5.486,6085,0.466,6092,0.423,6131,0.441,6133,0.466,6146,0.902,6261,0.356,6324,0.466,6327,0.441,6329,1.608,6330,0.423,6331,0.82,6332,0.466,6333,0.902,6334,3.86,6336,0.716,6337,0.466,6339,0.466,6340,0.423,6341,1.311,6374,0.466,6375,0.466,6380,0.902,6402,0.466,6407,0.397,6433,0.902,6508,1.243,6533,2.059,6537,0.466,6538,0.466,6541,2.401,6788,0.855,6790,1.696,6792,0.466,6793,1.696,6794,0.441,6799,0.466,6800,1.311,6805,0.466,6814,0.502,6815,0.502,6816,0.502,6817,0.441,6818,0.502,6819,0.502,6820,0.502,6821,0.502,6822,0.502,6823,0.502,6824,0.502,6825,0.502,6826,0.502,6827,0.502,6828,0.466,6829,0.423,6830,0.502,6831,1.696,6832,0.902,6833,1.83,6834,0.973,6835,0.502,6836,0.502,6837,0.973,6838,0.973,6839,0.502,6840,0.502,6841,0.973,6842,0.502,6843,0.502,6844,0.502,6845,0.502,6846,0.973,6847,0.716,6848,0.973,6849,0.973,6850,1.311,6851,0.502,6852,1.83,6853,1.872,6854,0.502,6855,0.973,6856,0.502,6857,0.502,6858,0.973,6859,0.502,6860,0.973,6861,0.502,6862,0.502,6863,0.502,6864,0.502,6865,0.502,6866,0.502,6867,0.502,6868,0.502,6869,0.502,6870,0.502,6871,2.591,6872,1.415,6873,0.502,6874,0.502,6875,0.502,6876,0.502,6877,0.502,6878,0.502,6879,0.502,6880,0.973,6881,0.502,6882,0.502,6883,0.973,6884,0.502,6885,0.502,6886,0.502,6887,0.502,6888,0.502,6889,0.502,6890,0.502,6891,0.502,6892,1.83,6893,0.502,6894,0.502,6895,0.502,6896,0.502,6897,0.973,6898,0.973,6899,0.973,6900,0.502,6901,0.973,6902,1.415,6903,1.415,6904,0.502,6905,0.466,6906,0.502,6907,1.243,6908,2.222,6909,0.441,6910,0.502,6911,0.502,6912,1.311,6913,0.973,6914,0.502,6915,0.502,6916,0.502,6917,1.192,6918,0.502,6919,0.502,6920,0.502,6921,0.502,6922,0.502,6923,0.502,6924,0.502,6925,0.423,6926,0.502,6927,1.415,6928,0.973,6929,0.973,6930,0.973,6931,0.973,6932,1.83,6933,0.502,6934,0.502,6935,0.502,6936,0.502,6937,0.502,6938,1.608,6939,0.502,6940,0.502,6941,0.973,6942,0.502,6943,0.502,6944,0.973,6945,0.502,6946,0.502,6947,0.502,6948,0.502,6949,0.502,6950,0.502,6951,0.973,6952,0.973,6953,0.502,6954,0.502,6955,0.502,6956,0.973,6957,0.502,6958,0.973,6959,0.502]],["component/179",[1,0.382,18,0.605,34,0.598]],["title/180-1",[38,15.841,843,25.702,5994,38.53]],["name/180-1",[]],["text/180-1",[]],["component/180-1",[]],["title/180-2",[165,31.506,5994,45.352]],["name/180-2",[]],["text/180-2",[]],["component/180-2",[]],["title/180-3",[250,30.058,275,36.868,5994,38.53]],["name/180-3",[]],["text/180-3",[]],["component/180-3",[]],["title/180-4",[70,22.331,5994,45.352]],["name/180-4",[]],["text/180-4",[]],["component/180-4",[]],["title/180-5",[96,34.236,5994,45.352]],["name/180-5",[]],["text/180-5",[]],["component/180-5",[]],["title/180",[603,43.395,1130,28.108]],["name/180",[603,1.204,1130,0.78]],["text/180",[10,3.288,37,0.977,38,2.598,49,0.811,62,0.577,70,2.946,71,0.611,83,3.963,92,1.151,96,3.509,99,1.821,149,1.891,152,1.406,163,1.655,165,4.279,167,1.804,183,3.509,197,2.713,204,2.392,218,1.025,221,2.323,223,0.853,224,0.932,233,2.784,250,4.512,253,2.683,260,1.983,268,3.403,275,5.534,287,0.873,291,1.611,336,0.819,338,1.066,345,2.744,395,0.969,415,3.252,419,3.787,428,2.844,487,4.308,512,3.477,552,3.192,571,1.045,635,1.896,668,1.106,702,1.077,709,2.15,767,3.609,808,1.322,813,3.086,843,4.309,855,5.506,890,1.576,899,1.529,907,2.904,934,1.221,957,4.275,1038,5.317,1063,1.23,1148,2.175,1185,2.283,1255,1.248,1452,6.045,1455,1.124,1489,1.23,1938,4.809,2072,3.952,2101,2.706,2185,1.508,2773,2.904,3362,5.322,4720,1.844,5321,1.99,5322,3.469,6198,3.717,6960,2.265,6961,12.879,6962,2.265,6963,2.265,6964,3.948,6965,2.265,6966,6.282,6967,2.265,6968,2.265,6969,2.265,6970,2.265,6971,2.265,6972,2.265,6973,10.632,6974,2.265,6975,2.265,6976,2.265,6977,3.948,6978,2.265,6979,2.265,6980,2.265,6981,2.265,6982,2.265,6983,2.265,6984,2.265,6985,2.265,6986,3.948,6987,2.265,6988,2.265,6989,2.265,6990,2.265,6991,2.265,6992,2.265,6993,2.265,6994,2.265,6995,2.265,6996,3.948,6997,2.265,6998,3.948,6999,2.265,7000,2.265,7001,2.099,7002,2.265,7003,2.265,7004,2.265,7005,2.265,7006,2.265,7007,2.265]],["component/180",[1,0.382,18,0.605,34,0.598]],["title/181",[62,23.643]],["name/181",[3,1.542]],["text/181",[7,3.503,10,1.887,38,2.096,39,2.318,48,2.814,50,3.383,62,3.381,63,1.818,70,2.943,93,3.813,94,4.286,96,4.512,99,5.608,120,2.456,122,3.528,167,4.894,226,3.23,234,1.863,241,2.634,268,2.589,272,3.042,275,6.259,289,3.061,291,2.429,313,2.485,343,3.57,435,4.017,490,4.078,511,3.647,563,3.655,596,4.078,603,3.383,678,4.726,722,4.016,724,3.185,750,2.904,805,2.814,965,3.006,979,4.579,1072,3.081,1130,3.159,1369,3.722,1397,3.383,2374,4.292,2527,3.412,6483,9.323]],["component/181",[1,0.382,18,0.605,34,0.598]],["title/182",[965,38.552,1130,28.108]],["name/182",[965,1.069,1130,0.78]],["text/182",[1,1.378,10,2.753,34,2.155,62,2.213,70,3.246,83,3.417,96,4.976,99,5.117,165,4.579,178,3.453,183,3.894,232,3.259,313,3.626,400,4.412,408,3.53,512,4.237,634,6.206,865,4.385,945,8.697,965,4.385,1130,4.085,6093,5.159,7008,8.681,7009,8.681,7010,8.681,7011,8.681,7012,8.681,7013,8.681]],["component/182",[1,0.382,18,0.605,34,0.598]],["title/183",[272,47.418]],["name/183",[3,1.542]],["text/183",[1,1.582,18,2.505,29,4.038,34,2.475,62,3.082,203,3.979,272,6.918,512,4.865,518,6.381,767,4.598,945,6.729,1416,6.144,1464,6.235,1643,7.19]],["component/183",[1,0.382,18,0.605,34,0.598]],["title/184-1",[1373,46.245,1416,38.785]],["name/184-1",[]],["text/184-1",[]],["component/184-1",[]],["title/184",[272,39.023,1416,38.785]],["name/184",[272,1.082,1416,1.076]],["text/184",[1,1.613,26,2.648,34,2.523,49,2.72,62,3.346,69,2.988,71,2.049,143,5.31,149,2.736,223,2.86,272,6.52,291,4.675,298,4.47,324,3.042,332,3.882,355,3.209,398,4.555,511,3.685,563,3.235,615,4.064,702,3.609,714,4.6,766,3.858,1214,4.648,1249,4.429,1373,6.157,1416,5.821,1566,5.706,1661,5.377,3898,7.037,6083,7.037,7014,10.162,7015,7.592,7016,7.592,7017,7.592,7018,7.592,7019,7.592]],["component/184",[1,0.382,18,0.605,34,0.598]],["title/185-1",[807,48.284,2925,36.276]],["name/185-1",[]],["text/185-1",[]],["component/185-1",[]],["title/185",[2887,57.361,2925,36.276]],["name/185",[2887,1.591,2925,1.006]],["text/185",[1,1.742,5,4.446,10,0.786,15,2.768,26,0.864,34,2.781,38,0.606,39,0.965,41,1.327,46,2.62,48,1.172,58,1.06,61,3.741,62,0.632,63,0.757,68,1.21,70,2.204,71,1.517,83,1.68,87,1.71,91,1.923,94,1.819,96,1.915,98,1.065,99,3.797,100,1.097,116,1.275,124,1.998,127,2.37,128,1.755,141,1.083,163,1.039,165,1.762,167,1.933,173,1.275,178,2.996,180,1.433,203,0.989,211,1.543,223,2.516,224,1.019,226,3.052,229,2.435,233,3.639,234,2.916,241,1.097,245,0.949,250,3.097,253,0.934,257,2.014,258,1.726,262,3.406,268,4.538,272,1.267,274,1.317,275,5.012,281,1.742,283,0.94,286,3.379,289,3.437,290,2.269,291,1.742,292,2.7,298,2.513,299,1.039,313,1.783,324,0.993,327,1.345,332,1.267,336,0.896,342,3.441,402,1.376,487,2.405,513,5.822,548,1.365,555,1.138,563,1.056,585,2.089,593,1.823,620,2.089,642,1.252,672,1.849,677,1.3,688,2.972,690,1.252,724,1.327,730,1.969,735,2.087,740,3.709,742,2.156,749,2.62,750,1.21,761,1.012,772,1.184,783,3.192,799,6.803,804,1.409,806,2.972,807,5.577,823,1.96,824,2.841,827,2.178,829,2.039,890,3.887,901,1.627,912,1.65,946,3.372,949,3.34,956,1.216,982,5.012,988,1.345,1018,1.409,1020,1.907,1038,1.762,1072,1.283,1181,1.863,1255,1.365,1343,1.533,1416,1.26,1417,1.336,1458,1.699,1480,1.863,1495,1.863,1567,1.788,1579,1.755,1600,1.823,1839,2.841,1924,1.291,2015,5.556,2050,2.297,2134,1.568,2222,1.823,2400,1.433,2721,2.178,2887,4.225,2923,2.089,2925,4.804,2926,2.297,2979,1.958,2982,2.297,4728,1.755,6023,2.017,6080,2.972,6093,3.34,6109,1.726,7020,2.478,7021,3.956,7022,2.478,7023,2.297,7024,2.478,7025,2.478,7026,2.478,7027,2.478,7028,2.478,7029,5.621,7030,2.478,7031,2.478,7032,2.478,7033,2.478,7034,2.478]],["component/185",[1,0.382,18,0.605,34,0.598]],["title/186-1",[46,25.431,234,20.305,829,30.979]],["name/186-1",[]],["text/186-1",[]],["component/186-1",[]],["title/186-2",[46,25.431,783,22.231,829,30.979]],["name/186-2",[]],["text/186-2",[]],["component/186-2",[]],["title/186-3",[38,15.841,39,25.255,829,30.979]],["name/186-3",[]],["text/186-3",[]],["component/186-3",[]],["title/186-4",[829,36.464,1152,42.048]],["name/186-4",[]],["text/186-4",[]],["component/186-4",[]],["title/186-5",[70,18.972,233,25.343,829,30.979]],["name/186-5",[]],["text/186-5",[]],["component/186-5",[]],["title/186-6",[179,52.304,829,36.464]],["name/186-6",[]],["text/186-6",[]],["component/186-6",[]],["title/186",[1,10.292,34,16.098,829,30.979]],["name/186",[1,0.238,34,0.373,829,0.717]],["text/186",[1,1.294,8,1.019,10,0.603,34,2.533,38,1.991,46,0.746,70,1.623,83,0.749,127,1.056,140,1.056,149,2.54,169,3.46,177,1.025,178,0.757,179,3.134,183,0.853,203,0.759,211,4.153,233,2.168,234,2.553,253,2.655,257,0.681,268,0.827,274,5.861,282,1.503,283,0.721,286,0.853,291,0.776,326,0.814,329,5.709,336,0.688,337,3.826,338,1.593,395,0.814,400,1.72,404,0.985,423,1.025,548,1.048,550,4.717,556,0.899,635,4.321,672,5.783,685,1.671,716,1.091,729,3.237,735,1.733,740,3.08,783,3.313,793,4.15,808,1.11,821,1.011,829,4.752,846,3.835,924,2.012,926,2.645,929,3.08,951,2.786,992,1.799,998,3.066,1018,3.616,1046,7.19,1063,1.033,1139,3.197,1142,2.852,1148,1.048,1152,1.048,1417,5.038,1437,1.11,2230,5.568,2274,6.509,2428,7.317,2903,2.442,2925,0.904,2985,8.975,3085,1.763,4940,1.671,5455,1.464,7023,1.763,7035,3.385,7036,3.385,7037,3.385,7038,3.385,7039,7.049,7040,3.385,7041,1.902,7042,1.902,7043,3.385,7044,3.385,7045,3.385,7046,3.385,7047,3.385,7048,3.385,7049,3.385,7050,3.385,7051,1.902,7052,1.902,7053,3.385,7054,3.385,7055,5.548,7056,1.902,7057,5.548,7058,5.548,7059,3.385,7060,3.385,7061,3.385,7062,3.385,7063,1.902,7064,1.902,7065,1.902,7066,1.902,7067,1.902,7068,1.902,7069,1.902,7070,1.902,7071,1.902,7072,1.902,7073,3.385,7074,3.385,7075,3.385,7076,3.385,7077,1.902,7078,1.902,7079,1.902,7080,1.902,7081,1.902,7082,1.902,7083,1.902,7084,1.902,7085,1.902,7086,1.902,7087,1.902,7088,1.902,7089,1.902,7090,1.902,7091,1.902,7092,1.902,7093,1.902,7094,1.902,7095,1.902,7096,1.902,7097,1.902,7098,1.902,7099,1.902,7100,1.902,7101,1.902,7102,1.902,7103,1.902,7104,1.902,7105,1.902,7106,1.902,7107,1.902,7108,1.902,7109,1.902,7110,1.902,7111,1.902,7112,1.902,7113,1.902,7114,1.902,7115,1.902,7116,1.902,7117,1.902,7118,1.902,7119,1.902,7120,1.902,7121,1.902,7122,1.902,7123,1.902,7124,1.902,7125,1.902,7126,1.902,7127,1.902]],["component/186",[1,0.382,18,0.605,34,0.598]],["title/187",[1048,69.701]],["name/187",[1048,2.698]],["text/187",[1,1.779,9,2.38,10,2.307,34,2.782,49,2.605,58,3.111,66,3.55,70,2.128,71,1.963,78,3.493,83,2.863,99,4.554,100,3.219,165,3.002,178,2.893,211,2.629,241,4.96,250,3.371,257,2.605,268,3.164,272,3.719,274,5.247,275,5.613,286,3.263,311,2.794,556,3.439,563,3.099,746,3.97,749,4.929,769,6.741,799,5.709,807,4.601,829,3.475,837,4.91,843,2.883,986,5.466,992,3.866,1063,3.948,1113,4.5,1304,3.977,1726,4.656,1914,4.91,2925,3.457,6093,4.322,6110,7.596,7021,6.741,7128,7.273,7129,7.273]],["component/187",[1,0.382,18,0.605,34,0.598]],["title/188",[603,43.395,829,36.464]],["name/188",[603,1.204,829,1.011]],["text/188",[1,1.523,34,2.383,49,2.5,93,3.639,107,5.946,187,8.691,241,3.089,253,4.132,257,2.5,258,4.86,283,2.646,290,2.817,291,3.917,336,3.966,343,5.758,419,5.102,541,3.905,603,5.457,642,3.526,748,4.634,757,4.366,829,4.586,1018,3.968,1249,7.226,1556,5.514,2923,5.881,2925,4.562,3049,10.38,7130,6.979,7131,10.97,7132,6.979,7133,9.598,7134,9.598,7135,6.979,7136,6.979]],["component/188",[1,0.382,18,0.605,34,0.598]],["title/189",[730,35.208,3468,57.361]],["name/189",[730,0.976,3468,1.591]],["text/189",[1,1.979,2,3.015,10,2.257,26,1.615,30,2.778,34,2.606,36,1.957,49,1.659,58,1.981,62,2.676,70,1.355,71,1.25,87,1.855,107,4.605,126,1.911,149,1.669,152,2.534,153,2.157,161,3.122,167,4.362,169,2.273,177,2.496,178,1.842,233,4.102,257,2.549,261,2.604,283,2.698,291,1.89,355,1.957,395,1.981,419,2.461,445,3.126,501,2.865,505,2.806,517,2.611,532,2.964,533,2.896,572,2.806,603,4.046,606,5.476,690,2.339,702,2.201,714,2.806,730,4.842,740,2.571,746,1.862,750,2.26,761,1.89,765,3.48,790,2.367,792,2.806,818,2.312,823,2.126,866,1.705,873,4.877,938,2.633,956,2.273,957,2.353,995,3.082,1029,3.163,1030,1.973,1038,1.911,1056,2.896,1058,2.26,1106,3.658,1130,2.621,1134,2.532,1141,3.658,1164,2.964,1285,2.382,1360,3.406,1446,3.001,1455,2.298,1597,2.611,1927,2.701,1968,3.563,2052,3.48,2400,2.678,3225,3.406,3318,5.996,3362,2.929,3468,8.673,3880,4.292,4369,4.068,5731,4.068,7137,4.63,7138,4.63,7139,4.63,7140,4.63,7141,4.63,7142,7.116,7143,4.63,7144,4.63,7145,7.116,7146,4.63,7147,4.63]],["component/189",[1,0.382,18,0.605,34,0.598]],["title/190",[730,42.783]],["name/190",[3,1.542]],["text/190",[10,2.695,63,2.596,84,4.457,167,2.922,200,4.832,226,7.179,291,3.469,316,5.463,336,3.072,380,3.592,518,5.44,603,4.832,677,4.457,724,4.548,730,5.583,749,3.333,807,5.376,829,5.783,854,6.794,883,5.099,1581,7.467,2887,6.387,2925,4.039,3468,6.387,4987,7.467,6104,6.714,7148,8.498,7149,8.498]],["component/190",[1,0.382,18,0.605,34,0.598]],["title/191-1",[185,41.432,186,44.527]],["name/191-1",[]],["text/191-1",[]],["component/191-1",[]],["title/191-2",[186,44.527,194,36.276]],["name/191-2",[]],["text/191-2",[]],["component/191-2",[]],["title/191-3",[185,41.432,195,47.738]],["name/191-3",[]],["text/191-3",[]],["component/191-3",[]],["title/191-4",[196,75.483]],["name/191-4",[]],["text/191-4",[]],["component/191-4",[]],["title/191-5",[197,22.486,198,51.224,199,54.639]],["name/191-5",[]],["text/191-5",[]],["component/191-5",[]],["title/191-6",[1,10.292,34,16.098,200,36.868]],["name/191-6",[]],["text/191-6",[]],["component/191-6",[]],["title/191",[1,12.114,34,18.948]],["name/191",[3,1.542]],["text/191",[0,0.451,1,1.493,4,0.276,5,4.436,8,0.383,9,0.925,10,0.581,15,0.527,18,0.167,34,2.223,37,0.286,38,0.574,39,0.914,44,0.41,45,1.696,48,1.337,49,1.172,50,1.335,53,0.755,54,0.394,55,0.778,57,2.327,58,1.897,62,0.598,66,0.62,67,0.329,68,0.324,69,1.288,70,0.536,71,2.384,78,0.318,83,0.261,87,0.509,91,0.299,93,0.482,94,0.541,95,0.589,96,2.285,99,1.083,100,1.448,101,0.435,105,0.383,106,0.365,107,0.558,109,0.919,114,0.307,115,0.454,119,0.424,120,0.525,121,6.549,122,0.523,124,0.857,126,0.525,132,0.447,140,0.368,141,0.8,142,2.046,143,0.307,146,0.96,147,1.254,148,0.936,149,1.019,152,0.652,159,0.406,162,0.662,163,0.533,165,1.35,166,0.303,167,3.428,176,0.362,178,0.728,183,0.57,185,3.495,186,5.36,187,0.488,188,3.238,189,3.578,190,3.896,191,2.874,192,2.483,193,1.608,194,0.87,195,2.547,196,4.39,197,2.591,198,5.437,199,1.978,200,2.316,202,0.559,203,0.937,204,0.77,205,0.39,206,0.419,207,1.422,208,0.539,209,0.498,210,0.462,211,0.459,212,1.376,213,0.498,214,0.462,215,0.954,216,0.278,217,0.51,218,0.575,219,1.335,220,0.77,221,0.81,222,1.9,223,1.232,224,2.83,225,1.437,226,6.719,227,1.697,228,1.178,229,0.551,230,0.383,231,1.117,232,0.687,233,0.259,234,1.024,235,1.178,236,0.614,237,0.614,238,0.524,239,0.559,240,0.614,241,3.534,242,3.941,243,2.483,244,0.996,245,0.487,246,0.614,247,0.583,248,1.376,249,0.755,250,0.849,251,0.65,252,2.874,253,3.327,254,0.415,255,4.475,256,0.582,257,1.172,258,2.836,259,0.559,260,1.236,261,0.243,262,0.77,263,2.002,264,0.374,265,0.614,266,0.362,267,0.435,268,1.23,269,0.51,270,0.559,271,3.056,272,1.673,273,0.441,274,1.248,275,0.723,276,0.973,277,0.498,278,0.524,279,0.39,280,1.608,281,0.519,282,0.524,283,0.694,284,1.697,285,0.374,286,0.57,287,1.09,288,0.524,289,1.454,290,0.947,291,2.426,292,0.419,293,0.524,294,0.582,295,1.697,296,0.559,297,1.071,298,1.382,299,1.185,300,1.178,301,0.374,302,0.614,303,0.614,304,0.419,305,0.614,306,0.614,307,0.614,308,0.614,309,0.614,310,1.293,311,0.902,312,1.178,313,1.701,314,1.543,315,0.911,316,0.634,317,0.553,318,1.585,319,0.478,320,0.614,321,1.178,322,0.614,323,1.068,324,0.266,325,1.697,326,0.544,327,0.36,328,1.365,329,0.343,330,0.469,331,0.478,332,0.65,333,1.543,334,0.695,335,1.117,336,1.332,337,0.36,338,0.312,339,2.757,340,0.804,341,0.424,342,1.121,343,3.056,344,1.024,345,1.026,346,1.178,347,1.071,348,1.806,349,1.697,350,1.178,351,1.178,352,1.178,353,1.178,354,1.178,355,0.774,356,0.614,357,0.846,358,1.034,359,0.614,360,0.51,361,0.51,362,0.488,363,0.614,364,0.478,365,0.614,366,0.614,367,0.614,368,0.498,369,1.178,370,0.507,371,0.462,372,0.51,373,0.424,374,0.424,375,0.355,376,0.582,377,0.755,378,0.488,379,0.836,380,1.195,381,0.383,382,0.614,383,0.614,384,0.582,385,0.614,386,0.614,387,0.614,388,0.614,389,0.614,390,0.614,391,0.614,392,1.178,393,0.614,394,0.614,395,0.544,396,0.478,397,0.582,398,0.762,399,1.178,400,1.436,401,0.539,402,2.828,403,0.469,404,0.658,405,0.498,406,0.325,407,0.614,408,0.744,409,0.614,410,0.498,411,0.559,412,1.117,413,1.117,414,0.524,415,0.343,416,0.524,417,0.614,418,1.873,419,2.165,420,0.676,421,1.852,422,1.11,423,0.685,424,2.176,425,0.9,426,0.406,427,0.402,428,2.57,429,1.178,430,1.218,431,0.582,432,0.362,433,1.609,434,0.614,435,1.236,436,0.614,437,0.614,438,0.614,439,2.994,440,1.697,441,1.697,442,1.697,443,1.697,444,0.614,445,1.585,446,1.122,447,0.614,448,0.614,449,0.614,450,0.614,451,0.614,452,0.614,453,0.614,454,0.614,455,0.614,456,0.614,457,0.614,458,0.614,459,0.614,460,3.609,461,4.11,462,3.094,463,4.11,464,0.614,465,3.503,466,3.262,467,0.614,468,0.614,469,0.614,470,0.614,471,0.614,472,0.614,473,0.614,474,0.614,475,0.614,476,0.614,477,0.614,478,0.614,479,0.614,480,0.614,481,0.614,482,0.614,483,0.614,484,0.614,485,0.424,486,0.559,487,0.284,488,1.2,489,0.9,490,0.454,492,0.614,493,0.614,494,0.462,495,1.14,496,0.435,497,0.39,498,0.631,499,0.402,500,0.337,501,0.41,502,0.35,503,0.435,504,0.539,505,0.402,506,0.488,507,0.559,508,0.582,509,0.614,510,0.614,511,0.851,512,0.324,513,0.333,514,0.291,515,0.614,516,0.559,517,0.374,518,0.424,520,0.365,521,0.41,522,0.419,523,0.524,524,2.176,525,0.539,526,0.498,527,0.614,528,0.539,529,0.582,530,0.402,531,0.447,532,0.424,533,0.415,534,0.524,535,0.524,536,0.424,537,0.539,538,0.327,539,0.304,540,0.402,541,0.371,542,0.387,543,0.447,544,0.539,545,0.614,546,0.524,547,0.435,548,0.365,549,0.38,550,0.324,551,0.582,552,0.337,553,0.248,554,0.559,555,0.583,556,0.601,557,0.614,558,0.462,559,0.614,560,0.339,561,1.178,562,0.345,563,0.78,564,1.071,565,0.614,566,0.435,567,3.416,568,0.317,569,0.374,570,0.539,571,0.306,572,1.109,573,0.614,574,2.406,575,3.032,576,1.178,577,0.614,578,0.614,579,0.614,580,0.488,581,0.435,582,0.35,583,4.475,584,0.498,585,0.559,586,2.176,587,0.614,588,1.911,589,2.136,590,1.854,591,2.305,592,1.178,593,0.488,594,1.543,595,0.614,596,0.454,597,0.614,598,0.614,599,0.614,600,0.559,601,0.614,602,0.614,603,1.041,604,1.178,605,1.693,606,0.978,607,1.117,608,3.032,609,2.711,610,0.614,611,0.614,612,0.614,613,3.032,614,1.697,615,0.98,616,0.614,617,0.614,618,0.614,619,1.178,620,1.071,621,1.178,622,1.059,623,1.178,624,0.614,625,1.178,626,0.469,627,0.614,628,0.435,629,0.614,630,1.178,631,0.614,632,1.697,633,1.697,634,1.024,635,0.879,636,0.614,637,1.178,638,0.954,639,1.178,640,1.004,641,1.178,642,0.642,643,1.178,644,1.178,645,1.178,646,0.614,647,1.178,648,0.313,649,0.614,650,0.614,651,1.178,652,0.614,653,0.406,654,0.39,655,0.415,656,0.447,657,0.539,658,0.614,659,0.43,660,0.539,661,1.178,662,1.178,663,0.614,664,0.539,665,0.394,666,0.935,667,0.582,668,0.62,669,0.469,670,0.406,671,0.296,672,0.287,673,0.559,674,0.729,675,0.614,676,0.614,677,0.348,678,0.7,679,0.352,680,0.415,681,0.355,7150,0.663]],["component/191",[1,0.382,18,0.605,34,0.598]],["title/192-1",[1474,78.148]],["name/192-1",[]],["text/192-1",[]],["component/192-1",[]],["title/192-2",[1,8.946,34,13.993,281,23.004,336,20.375]],["name/192-2",[]],["text/192-2",[]],["component/192-2",[]],["title/192-3",[99,35.208,956,37.458]],["name/192-3",[]],["text/192-3",[]],["component/192-3",[]],["title/192-4",[99,42.783]],["name/192-4",[]],["text/192-4",[]],["component/192-4",[]],["title/192-5",[99,35.208,678,42.048]],["name/192-5",[]],["text/192-5",[]],["component/192-5",[]],["title/192-6",[1,8.946,34,13.993,268,24.519,4004,44.526]],["name/192-6",[]],["text/192-6",[]],["component/192-6",[]],["title/192-7",[268,28.207,406,31.824,836,39.289]],["name/192-7",[]],["text/192-7",[]],["component/192-7",[]],["title/192-8",[166,34.875,268,33.201]],["name/192-8",[]],["text/192-8",[]],["component/192-8",[]],["title/192-9",[99,35.208,1455,37.883]],["name/192-9",[]],["text/192-9",[]],["component/192-9",[]],["title/192-10",[48,43.855]],["name/192-10",[]],["text/192-10",[]],["component/192-10",[]],["title/192-11",[93,28.935,94,32.518]],["name/192-11",[]],["text/192-11",[]],["component/192-11",[]],["title/192-12",[490,63.556]],["name/192-12",[]],["text/192-12",[]],["component/192-12",[]],["title/192",[1,12.114,34,18.948]],["name/192",[3,1.542]],["text/192",[1,1.799,2,0.899,4,0.725,5,1.646,8,0.278,9,0.302,10,1.649,15,1.766,18,0.232,29,0.374,34,2.761,36,0.39,38,1.271,39,1.66,40,1.257,48,2.015,49,2.273,52,0.53,53,0.549,54,0.549,55,0.566,56,0.926,58,0.395,62,1.981,63,0.956,68,0.451,69,0.686,70,1.522,71,2.219,80,0.975,82,0.624,83,0.364,89,0.56,91,1.411,92,2.853,93,1.616,94,1.334,98,2.041,99,5.096,100,0.771,106,0.509,107,0.765,109,0.875,114,0.808,116,1.273,120,1.759,122,0.717,124,0.432,127,1.373,140,0.513,141,1.368,142,0.578,143,1.726,147,1.695,148,0.891,149,1.342,152,0.329,161,0.405,163,1.037,164,0.498,165,4.07,166,1.947,167,4.329,170,0.999,173,0.475,178,1.89,183,0.414,197,1.478,200,1.78,203,1.897,208,0.752,209,0.694,210,0.643,211,0.894,212,0.694,213,0.694,214,0.643,215,1.94,216,0.387,217,0.711,218,1.12,219,0.991,223,0.656,224,2.869,226,5.208,232,0.654,233,1.455,234,1.629,241,1.886,242,1.514,244,0.74,245,0.667,250,0.428,253,2.258,257,1.527,258,1.723,260,1.407,261,0.338,262,0.56,263,2.637,268,5.283,269,0.711,272,1.601,274,0.491,275,1.407,281,1.739,283,2.53,285,0.521,286,0.782,287,0.954,289,2.192,290,1.264,291,1.52,294,0.812,296,0.778,297,0.778,298,0.544,299,1.787,311,0.67,313,1.307,315,1.845,317,0.402,324,0.698,326,0.395,327,0.946,328,1.512,329,0.478,332,1.904,334,0.953,336,2.167,338,1.164,339,0.778,343,2.851,355,0.737,361,0.711,379,1.13,380,0.39,381,0.534,384,0.812,395,1.823,396,1.784,400,1.257,403,0.654,404,0.902,406,2.332,408,0.376,411,0.778,415,1.928,419,0.926,420,0.491,421,3.173,422,2.655,423,0.498,433,0.633,435,4.9,445,0.624,485,1.116,487,2.402,490,2.92,491,1.642,494,0.643,499,0.56,511,0.335,513,0.464,514,1.374,518,0.591,548,0.96,553,0.926,555,0.424,560,1.265,563,1.054,571,0.426,589,0.914,596,0.633,603,2.117,605,2.686,609,2.303,615,1.993,642,0.88,653,0.566,660,0.752,669,0.654,674,1.418,677,0.914,678,2.618,692,0.591,702,0.439,709,0.378,717,0.778,721,0.57,722,0.369,734,0.816,742,0.467,746,0.372,749,0.362,750,1.208,755,0.525,757,1.09,766,0.469,767,1.444,783,0.317,790,0.472,793,0.544,801,0.549,810,0.481,836,4.709,839,1.384,852,0.424,884,0.534,885,2.413,912,1.16,914,1.341,926,0.534,934,0.498,951,1.572,956,0.453,957,0.469,965,2.4,1016,0.599,1024,1.116,1054,0.464,1055,0.607,1061,1.292,1127,0.607,1130,1.75,1152,0.509,1174,0.68,1175,0.572,1176,1.528,1185,0.534,1197,0.615,1214,0.566,1216,1.257,1249,3.893,1252,1.144,1306,0.92,1309,0.566,1417,0.498,1430,0.494,1437,1.017,1471,0.666,1489,0.502,1530,1.282,1531,0.485,1587,0.544,1597,1.395,1610,0.68,1692,0.505,1704,0.694,1710,0.643,1924,1.289,1926,2.021,1927,0.539,1963,1.194,2022,1.177,2026,0.498,2061,2.901,2086,1.469,2100,0.534,2169,0.633,2179,0.666,2220,0.752,2276,1.752,2332,0.554,2348,0.654,2527,0.53,3265,0.68,3524,0.633,3701,2.014,4004,1.377,4415,0.68,4550,1.419,4751,1.531,4752,0.752,5438,0.711,5466,0.666,5538,0.694,5540,0.778,5629,5.622,5994,0.549,6037,0.812,6080,1.723,6109,2.967,6110,1.904,6207,2.293,6247,0.73,6248,0.73,6261,1.752,6336,0.68,6364,0.68,6404,2.901,6406,2.901,6407,3.367,6408,2.293,6409,2.293,6478,0.856,6480,2.174,6488,0.856,6560,1.531,6561,1.531,6786,0.812,6787,0.856,6788,0.812,7151,0.856,7152,1.615,7153,4.404,7154,1.743,7155,3.451,7156,0.924,7157,0.924,7158,1.743,7159,0.924,7160,3.13,7161,2.474,7162,2.474,7163,2.474,7164,0.924,7165,0.924,7166,0.924,7167,0.924,7168,0.924,7169,0.924,7170,0.924,7171,0.924]],["component/192",[1,0.382,18,0.605,34,0.598]],["title/193-1",[677,40.028,767,35.208]],["name/193-1",[]],["text/193-1",[]],["component/193-1",[]],["title/193-2",[767,35.208,1306,40.295]],["name/193-2",[]],["text/193-2",[]],["component/193-2",[]],["title/193-3",[767,35.208,7172,76.321]],["name/193-3",[]],["text/193-3",[]],["component/193-3",[]],["title/193-4",[562,39.768,852,35.04]],["name/193-4",[]],["text/193-4",[]],["component/193-4",[]],["title/193-5",[511,33.628]],["name/193-5",[]],["text/193-5",[]],["component/193-5",[]],["title/193",[1319,52.302]],["name/193",[1319,2.025]],["text/193",[38,2.091,91,3.857,167,4.743,257,3.066,290,3.454,428,3.874,538,4.224,615,4.581,671,3.822,672,3.707,677,5.765,745,6.876,767,5.071,812,5.414,1229,5.696,1249,4.993,1319,6.848,1383,5.959,1429,5.553,1692,4.68,2403,6.432,2757,6.062,4426,7.52,7173,8.558,7174,7.932,7175,6.761,7176,7.52]],["component/193",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/194",[4990,81.486]],["name/194",[3,1.542]],["text/194",[1,1.053,15,2.75,34,1.647,38,3.159,39,2.584,58,2.839,69,2.612,71,1.791,77,4.416,87,2.659,124,3.106,197,2.301,211,3.35,216,2.782,222,3.983,234,2.078,257,2.377,299,2.782,328,5.582,337,3.602,338,3.122,404,3.435,428,3.004,672,4.626,709,2.718,741,4.829,760,3.221,783,3.661,892,4.405,927,4.301,928,3.122,1001,3.712,1038,2.739,1076,5.313,1093,3.551,1139,4.189,1229,4.416,1319,3.742,1383,4.62,1416,3.372,1429,3.352,1452,4.428,1462,5.615,1708,4.987,1730,4.547,1835,4.356,2174,4.786,5495,4.62,6290,7.321,7175,5.242,7176,5.83,7177,6.635,7178,6.635,7179,6.635,7180,6.15,7181,6.635]],["component/194",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/195-1",[511,33.628]],["name/195-1",[]],["text/195-1",[]],["component/195-1",[]],["title/195",[852,42.579]],["name/195",[852,1.648]],["text/195",[38,1.77,71,1.279,91,2.136,122,2.979,141,2.07,167,3.845,216,1.987,245,1.815,268,2.062,290,3.549,299,5.427,311,2.783,326,4.978,337,4.773,345,2.07,355,2.003,549,2.717,574,8.227,628,4.756,672,3.138,741,2.469,794,2.592,852,3.326,917,5.851,923,2.519,927,3.072,988,3.932,1002,3.993,1038,5.077,1093,2.536,1105,3.326,1145,3.248,1173,5.896,1230,6.456,1233,3.154,1373,2.872,1416,2.408,1489,2.573,1566,6.608,1569,3.744,1610,6.468,1638,7.409,1640,5.722,1652,9.124,2035,6.104,2504,3.486,2549,4.164,2757,5.13,3153,3.248,4804,5.896,4811,4.392,5402,4.392,5403,4.392,5826,4.392,6817,4.164,7180,4.392,7182,4.739,7183,7.243,7184,4.739,7185,4.739,7186,4.739,7187,4.739,7188,7.243,7189,4.739,7190,7.243,7191,4.739,7192,4.739,7193,4.739,7194,4.739,7195,4.739,7196,4.739,7197,7.243,7198,4.739,7199,4.739,7200,4.739,7201,6.714]],["component/195",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/196",[6290,73.264]],["name/196",[6290,2.836]],["text/196",[167,4.588,245,3.666,267,6.286,311,4.532,328,4.623,628,6.286,812,8.442,1255,5.274,1784,6.561,2757,6.781,6290,7.563,7175,9.318,7202,11.796,7203,10.933]],["component/196",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/197",[760,45.021]],["name/197",[760,1.743]],["text/197",[15,2.961,71,2.632,152,3.473,178,2.842,244,3.032,250,4.521,257,2.559,260,2.7,287,2.754,290,5.421,299,2.995,310,5.373,378,5.256,672,4.225,744,4.373,760,4.734,812,7.548,852,5.098,917,8.311,956,3.506,1105,4.478,1297,4.574,1429,6.027,1452,4.66,1489,3.878,2187,5.153,2268,5.369,2985,5.815,4368,7.035,4527,6.622,6925,8.218,7204,7.144,7205,7.144,7206,11.104,7207,9.753]],["component/197",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/198",[87,30.58,2528,62.119]],["name/198",[87,0.848,2528,1.723]],["text/198",[38,3.184,39,2.657,87,3.786,163,2.86,167,4.023,173,3.51,244,2.895,311,2.621,315,2.648,337,7.551,408,2.774,422,5.125,517,3.847,537,5.553,638,3.555,674,5.417,695,4.605,812,5.977,830,5.749,838,6.323,927,4.422,1038,2.816,1046,8.294,1202,4.921,1458,4.675,1697,6.124,1699,9.168,2528,7.69,6290,7.464,6907,9.524,7176,8.302,7203,8.757,7208,6.822,7209,5.994]],["component/198",[1,0.25,29,0.638,34,0.391,77,1.047,783,0.54]],["title/199-1",[1,7.092,34,11.092,71,12.058,146,23.433,751,31.645,1023,34.381]],["name/199-1",[]],["text/199-1",[]],["component/199-1",[]],["title/199-2",[512,31.649,1012,38.173,7210,56.973]],["name/199-2",[]],["text/199-2",[]],["component/199-2",[]],["title/199-3",[1443,49.467,7211,67.059]],["name/199-3",[]],["text/199-3",[]],["component/199-3",[]],["title/199-4",[315,21.878,495,27.361,821,29.96,1429,28.471]],["name/199-4",[]],["text/199-4",[]],["component/199-4",[]],["title/199-5",[99,29.912,677,34.008,945,43.773]],["name/199-5",[]],["text/199-5",[]],["component/199-5",[]],["title/199-6",[272,28.818,634,31.534,823,25.877,7212,52.24]],["name/199-6",[]],["text/199-6",[]],["component/199-6",[]],["title/199-7",[1,10.292,34,16.098,183,29.086]],["name/199-7",[]],["text/199-7",[]],["component/199-7",[]],["title/199-8",[50,36.868,146,34.008,226,35.2]],["name/199-8",[]],["text/199-8",[]],["component/199-8",[]],["title/199",[1,7.092,29,18.1,34,11.092,146,23.433,751,31.645,1023,34.381]],["name/199",[3,1.542]],["text/199",[1,1.492,2,0.553,15,1.419,18,0.484,29,2.268,30,4.262,34,2.247,39,1.8,49,1.226,50,2.627,54,2.745,56,2.456,61,1.282,62,1.427,67,0.956,70,1.002,71,2.988,83,2.204,87,0.772,88,1.341,91,1.543,92,1.74,93,1.298,96,2.512,99,3.993,107,3.117,109,0.967,114,0.893,120,2.933,126,1.907,141,1.496,146,5.378,148,0.985,149,1.234,152,0.686,159,1.179,161,0.845,166,1.564,167,2.442,170,1.963,178,1.362,183,2.512,197,1.942,198,4.423,200,4.375,203,0.769,211,2.319,219,1.095,223,2.109,224,2.303,226,5.103,232,0.723,233,1.806,234,1.072,244,0.817,251,0.985,253,2.416,257,1.655,260,2.684,264,1.086,268,2.436,272,3.632,281,0.786,283,0.73,290,2.26,291,0.786,299,1.435,301,1.931,315,1.793,326,0.824,336,0.696,343,1.156,355,1.953,375,1.031,380,0.814,402,1.069,403,1.364,418,0.979,419,3.409,423,1.038,435,1.3,445,4.33,487,1.465,495,2.718,511,1.241,514,0.845,539,0.884,550,0.94,552,0.979,553,0.721,562,1.004,563,0.821,571,0.889,589,1.01,609,2.518,634,3.589,635,0.925,656,1.3,668,0.94,674,1.963,677,1.01,709,1.403,716,1.963,721,1.12,722,1.845,723,2.899,749,0.756,751,8.261,754,1.233,757,2.141,760,3.984,790,0.985,792,1.167,807,1.219,810,1.004,820,3.28,821,1.024,823,2.121,829,0.92,836,2.074,837,1.3,839,1.078,945,1.3,956,1.68,977,1.623,980,4.039,982,1.095,992,1.024,1012,1.134,1015,1.179,1018,1.095,1023,2.634,1052,1.364,1113,1.192,1130,2.362,1167,0.93,1255,1.061,1260,2.72,1286,1.693,1429,2.334,1464,1.205,1489,2.508,1564,1.233,1576,1.095,1579,1.364,1585,2.248,1597,1.931,1700,1.785,1730,1.32,1769,1.568,1924,1.004,1926,3.482,1927,1.997,1984,4.92,1999,3.272,2115,2.219,2138,1.482,2172,3.893,2258,1.568,2332,2.772,2358,1.915,2428,1.417,2504,1.417,2686,1.364,2995,1.282,3047,5.189,3565,1.522,4497,1.623,4793,2.573,5994,1.145,6024,2.885,6076,1.693,6099,6.584,6248,2.704,6364,1.417,6496,1.219,6619,7.132,6765,1.448,6766,1.623,6786,1.693,7212,7.606,7213,1.926,7214,1.926,7215,3.423,7216,3.423,7217,1.926,7218,1.926,7219,2.704,7220,1.926,7221,1.926,7222,1.926,7223,1.926,7224,1.926,7225,1.926,7226,3.423,7227,2.704,7228,1.926,7229,1.926,7230,1.926,7231,4.62,7232,4.62,7233,4.62,7234,3.423,7235,3.423,7236,3.423,7237,1.926,7238,1.926,7239,1.926,7240,1.926,7241,1.926,7242,4.62,7243,1.926,7244,3.423]],["component/199",[29,0.976,146,1.264,1023,1.854]],["title/200-1",[1,10.292,987,28.207,1070,34.949]],["name/200-1",[]],["text/200-1",[]],["component/200-1",[]],["title/200-2",[1,8.946,821,29.96,869,36.532,987,24.519]],["name/200-2",[]],["text/200-2",[]],["component/200-2",[]],["title/200",[1,7.912,29,20.193,149,17.964,499,30.203,987,21.684]],["name/200",[3,1.542]],["text/200",[1,2.121,10,1.842,11,4.044,12,4.469,29,2.353,34,2.87,37,2.505,38,2.424,66,2.835,67,4.184,70,2.903,71,2.275,72,7.812,73,5.383,74,4.189,76,4.469,77,5.609,84,3.046,91,2.617,98,2.495,100,2.571,107,3.698,108,7.298,126,2.397,144,3.555,149,3.038,167,1.997,170,3.33,176,3.176,197,2.014,222,2.166,234,2.639,273,3.865,338,2.732,405,4.365,418,2.951,422,2.746,498,2.883,499,3.519,514,2.548,530,3.519,642,5.011,708,3.388,746,2.335,750,2.835,763,2.85,764,3.98,768,4.189,772,2.775,773,3.359,783,2.89,818,2.899,841,3.651,868,3.865,869,5.463,956,2.85,987,5.028,998,3.667,1370,3.249,1871,4.272,2132,5.103,2179,4.189,2221,4.894,7245,5.103,7246,5.808,7247,5.808,7248,5.808,7249,5.808,7250,4.588]],["component/200",[149,0.868,499,1.46,987,1.048]],["title/201-1",[7219,73.264]],["name/201-1",[]],["text/201-1",[]],["component/201-1",[]],["title/201-2",[9,16.311,149,17.964,499,30.203,692,31.911,1529,43.797]],["name/201-2",[]],["text/201-2",[]],["component/201-2",[]],["title/201-3",[1,10.292,34,16.098,224,26.665]],["name/201-3",[]],["text/201-3",[]],["component/201-3",[]],["title/201-4",[70,16.492,224,23.179,446,26.929,1939,35.658]],["name/201-4",[]],["text/201-4",[]],["component/201-4",[]],["title/201-5",[1,10.292,692,41.51,987,28.207]],["name/201-5",[]],["text/201-5",[]],["component/201-5",[]],["title/201-6",[1,10.292,224,26.665,987,28.207]],["name/201-6",[]],["text/201-6",[]],["component/201-6",[]],["title/201",[146,48.64]],["name/201",[146,1.883]],["text/201",[1,2.118,9,0.862,29,1.067,34,2.65,49,1.611,53,1.566,55,1.613,56,3.128,62,0.672,63,1.798,65,1.901,66,3.814,67,1.308,70,3.031,71,1.588,83,1.037,95,1.221,100,1.166,142,6.253,146,2.359,148,3.995,149,3.276,152,0.938,167,2.024,170,1.511,178,1.789,194,2.138,205,1.551,214,1.835,221,1.166,223,0.992,224,4.26,233,2.3,234,2.447,241,4.585,247,1.21,251,1.347,257,2.493,260,0.996,281,1.836,283,0.999,289,2.314,301,1.486,311,1.728,313,1.1,326,1.127,328,3.773,332,1.347,336,0.953,338,4.004,343,5.453,344,2.517,370,3.119,373,2.88,374,1.687,375,3.15,381,1.524,405,1.98,418,1.339,420,1.401,421,1.198,422,1.246,426,1.613,446,3.325,466,1.938,498,1.308,499,2.726,511,1.631,549,1.511,563,1.123,571,1.216,591,4.353,609,4.33,622,1.524,677,1.382,692,3.768,708,3.434,731,1.452,746,1.06,748,3.36,753,1.474,756,1.331,792,1.597,799,3.404,804,1.498,805,1.246,818,1.315,821,3.699,836,2.726,905,2.145,987,4.968,1175,4.305,1208,3.218,1233,1.754,1293,1.73,1369,1.648,1370,2.517,1475,1.73,1483,2.082,1529,2.315,1692,1.441,1767,6.229,1776,1.901,1939,6.06,2020,1.938,2358,3.893,2456,6.67,2655,1.566,3225,6.261,4328,5.019,4359,1.98,4978,1.938,6110,3.461,6261,3.186,6600,3.952,6765,1.98,7251,3.952,7252,2.635,7253,2.635,7254,4.169,7255,2.635,7256,4.498,7257,8.424,7258,2.635,7259,2.442,7260,5.455,7261,2.442,7262,2.442,7263,2.442,7264,1.98,7265,2.442]],["component/201",[149,0.868,499,1.46,987,1.048]],["title/202-1",[7219,73.264]],["name/202-1",[]],["text/202-1",[]],["component/202-1",[]],["title/202-2",[34,16.098,2098,46.77,7266,46.77]],["name/202-2",[]],["text/202-2",[]],["component/202-2",[]],["title/202-3",[46,25.431,63,19.807,234,20.305]],["name/202-3",[]],["text/202-3",[]],["component/202-3",[]],["title/202-4",[34,13.993,105,32.595,197,19.546,2098,40.655]],["name/202-4",[]],["text/202-4",[]],["component/202-4",[]],["title/202-5",[1,6.426,34,10.051,62,10.321,234,12.677,841,17.537,987,17.611,2098,29.201]],["name/202-5",[]],["text/202-5",[]],["component/202-5",[]],["title/202-6",[37,32.923,901,50.11]],["name/202-6",[]],["text/202-6",[]],["component/202-6",[]],["title/202-7",[46,25.431,63,19.807,783,22.231]],["name/202-7",[]],["text/202-7",[]],["component/202-7",[]],["title/202-8",[34,13.993,105,32.595,197,19.546,2098,40.655]],["name/202-8",[]],["text/202-8",[]],["component/202-8",[]],["title/202-9",[1,6.426,34,10.051,62,10.321,783,13.88,841,17.537,987,17.611,2098,29.201]],["name/202-9",[]],["text/202-9",[]],["component/202-9",[]],["title/202-10",[37,32.923,901,50.11]],["name/202-10",[]],["text/202-10",[]],["component/202-10",[]],["title/202-11",[38,15.841,46,25.431,63,19.807]],["name/202-11",[]],["text/202-11",[]],["component/202-11",[]],["title/202-12",[34,13.993,105,32.595,197,19.546,2098,40.655]],["name/202-12",[]],["text/202-12",[]],["component/202-12",[]],["title/202-13",[1,6.426,34,10.051,38,9.891,62,10.321,841,17.537,987,17.611,2098,29.201]],["name/202-13",[]],["text/202-13",[]],["component/202-13",[]],["title/202-14",[37,32.923,901,50.11]],["name/202-14",[]],["text/202-14",[]],["component/202-14",[]],["title/202",[63,19.807,998,28.207,7266,46.77]],["name/202",[998,0.921,7266,1.527]],["text/202",[1,1.577,3,0.58,9,0.442,29,0.547,34,2.19,36,0.571,38,2.218,46,3.655,49,1.234,62,0.633,63,2.774,69,0.532,70,2.791,71,1.67,77,0.899,80,0.756,83,0.532,91,0.609,122,0.555,126,1.422,146,1.807,148,0.69,152,1.522,153,0.629,163,0.566,167,3.034,197,2.857,203,0.539,205,4.201,211,0.488,220,0.818,221,1.525,222,2.812,223,2.331,229,1.493,234,3.167,245,0.517,247,0.62,251,0.69,253,2.331,254,1.553,260,2.127,283,0.512,290,0.545,291,1.406,299,0.566,313,2.086,324,0.541,326,1.829,328,3.445,329,1.784,344,0.756,370,0.991,373,1.589,381,1.993,400,0.686,404,1.285,408,0.549,418,3.626,421,3.245,422,3.374,423,1.338,446,2.689,487,1.062,488,0.69,500,0.686,511,2.244,512,0.659,513,0.678,514,0.593,553,0.505,560,1.269,563,0.575,571,0.623,591,2.674,596,0.925,622,4.126,628,0.887,635,4.103,642,4.819,659,0.875,668,1.682,684,0.756,690,1.254,691,0.774,692,2.206,722,0.539,727,3.696,735,3.159,741,2.227,748,1.664,749,0.974,755,0.768,756,0.682,764,0.925,767,0.623,768,2.485,783,3.341,790,0.69,792,0.818,804,0.768,810,0.704,836,0.818,841,3.091,873,1.701,890,1.376,892,0.642,898,2.293,923,1.831,928,1.621,949,0.802,951,1.73,954,0.818,957,0.686,987,4.4,992,0.718,993,0.925,998,1.859,1001,2.392,1021,0.845,1027,0.718,1038,0.557,1054,0.678,1061,2.946,1072,0.699,1076,0.774,1109,1.067,1130,0.914,1146,0.974,1150,0.854,1167,2.064,1172,1.138,1179,3.755,1184,1.099,1268,1.866,1293,4.063,1368,1.475,1383,0.94,1457,0.835,1462,2.088,1488,1.348,1489,2.32,1650,2.804,1669,1.099,1776,4.464,1781,1.138,1901,2.651,1926,3.36,1927,0.788,1939,4.514,2010,0.818,2065,1.099,2098,8.43,2311,1.015,2456,6.489,2674,2.092,2925,3.392,2939,2.651,3176,1.252,3362,0.854,3583,4.817,3805,1.067,4328,0.974,4431,1.015,4978,4.553,4980,1.099,5186,1.252,5439,0.925,6008,1.252,6016,0.899,6853,1.138,6917,1.138,7251,1.187,7257,7.852,7264,2.59,7266,7.736,7267,5.217,7268,2.483,7269,1.35,7270,2.485,7271,2.181,7272,1.35,7273,1.35,7274,1.35,7275,1.35,7276,1.35,7277,2.804,7278,3.521,7279,3.193,7280,1.35,7281,2.722,7282,3.213,7283,1.187,7284,1.35,7285,2.483,7286,1.35,7287,1.35,7288,1.35,7289,2.181,7290,1.35,7291,1.35,7292,1.35,7293,1.35,7294,1.35,7295,1.35,7296,1.35,7297,1.35,7298,1.35,7299,2.483,7300,1.35,7301,1.35,7302,1.35,7303,1.35,7304,1.35,7305,1.35]],["component/202",[149,0.868,499,1.46,987,1.048]],["title/203-1",[7219,73.264]],["name/203-1",[]],["text/203-1",[]],["component/203-1",[]],["title/203-2",[70,16.492,446,26.929,1939,35.658,7306,52.24]],["name/203-2",[]],["text/203-2",[]],["component/203-2",[]],["title/203-3",[1,5.874,234,11.589,446,17.681,560,18.922,841,16.031,987,16.099,1939,23.413,7266,26.694]],["name/203-3",[]],["text/203-3",[]],["component/203-3",[]],["title/203-4",[1,5.874,446,17.681,560,18.922,783,12.688,841,16.031,987,16.099,1939,23.413,7266,26.694]],["name/203-4",[]],["text/203-4",[]],["component/203-4",[]],["title/203-5",[1,5.874,38,9.041,446,17.681,560,18.922,772,17.681,987,16.099,1939,23.413,7266,26.694]],["name/203-5",[]],["text/203-5",[]],["component/203-5",[]],["title/203",[63,19.807,841,28.088,7266,46.77]],["name/203",[841,0.917,7266,1.527]],["text/203",[1,1.721,9,2.462,29,0.858,34,1.488,38,1.668,49,1.334,62,1.27,63,1.137,65,1.528,67,1.052,70,2.652,71,1.344,83,2.359,114,0.982,120,0.875,136,1.185,146,2.613,149,0.763,152,1.326,153,0.987,167,1.28,170,1.215,197,2.079,203,0.846,205,5.077,222,3.027,230,1.225,232,0.795,234,2.96,244,0.899,251,3.065,253,2.258,260,1.882,281,0.865,283,0.803,290,3.037,313,3.142,317,1.62,324,0.849,328,2.405,343,1.271,370,1.989,375,1.134,400,1.077,418,4.124,420,1.126,421,3.922,422,3.837,446,3.594,487,2.131,491,1.111,513,2.501,550,1.817,552,1.077,563,0.903,571,0.977,591,2.329,622,4.987,628,4.482,635,4.704,642,4.356,672,0.918,674,1.215,684,1.185,690,1.07,691,1.215,692,3.189,702,1.007,727,6.431,731,1.167,735,0.662,741,3.92,748,3.633,768,1.528,772,1.012,783,2.579,789,4.096,790,1.083,834,1.592,836,3.018,841,3.735,901,1.391,910,1.5,923,2.648,951,1.87,954,1.284,987,4.112,1001,2.787,1006,1.785,1038,1.537,1076,1.215,1079,3.103,1139,1.46,1150,1.34,1167,1.798,1179,5.654,1293,6.431,1324,2.958,1373,1.284,1383,1.475,1416,2.532,1429,3.8,1488,1.15,1534,3.833,1566,2.798,1595,1.63,1615,1.325,1692,3.733,1697,1.373,1767,1.452,1776,5.853,1856,1.861,1926,4.405,1939,5.735,2358,2.083,2379,1.592,2456,5.651,2841,1.452,3165,1.964,3362,2.356,3583,7.003,4881,1.785,4978,5.534,4980,4.879,5532,1.785,7175,1.674,7251,3.272,7257,7.965,7259,1.964,7265,3.451,7266,6.22,7267,1.964,7270,1.528,7271,1.861,7279,4.617,7289,3.272,7307,2.119,7308,4.981,7309,2.119,7310,3.272,7311,2.119,7312,2.119,7313,2.119,7314,2.119,7315,2.119,7316,1.964,7317,2.119,7318,2.119,7319,2.119,7320,2.119,7321,2.119,7322,2.119]],["component/203",[149,0.868,499,1.46,987,1.048]],["title/204-1",[1,8.946,93,21.369,987,24.519,1130,20.758]],["name/204-1",[]],["text/204-1",[]],["component/204-1",[]],["title/204-2",[63,23.313,841,33.061]],["name/204-2",[]],["text/204-2",[]],["component/204-2",[]],["title/204-3",[63,23.313,998,33.201]],["name/204-3",[]],["text/204-3",[]],["component/204-3",[]],["title/204",[93,28.935,94,32.518]],["name/204",[93,0.802,94,0.902]],["text/204",[1,2.021,4,1.484,10,2.667,34,3.085,37,1.538,49,2.617,53,4.342,55,4.473,62,0.909,63,1.768,70,2.46,71,2.269,92,4.698,93,4.12,94,3.583,96,2.597,107,1.565,126,1.472,127,3.214,165,3.016,221,1.579,222,3.136,223,1.343,232,1.339,234,1.117,244,1.513,257,1.278,260,1.348,264,2.011,291,4.042,311,1.37,315,2.247,338,1.678,345,4.039,395,4.237,408,2.354,428,6.045,496,2.342,514,1.565,538,4.563,552,2.942,553,2.166,635,5.544,665,2.119,735,3.509,749,2.27,754,2.283,767,1.645,805,1.686,810,1.858,841,2.508,947,1.922,987,5.138,998,1.551,1061,3.817,1130,3.097,1134,5.056,1249,2.081,1255,1.965,1259,3.214,1324,1.76,1368,4.342,1699,2.572,1882,4.175,1924,1.858,2374,2.572,4577,3.305,5994,2.119,6075,2.526,6594,3.005,6596,3.005,6782,6.772,6783,3.305,7323,5.086,7324,3.305,7325,5.789,7326,3.566,7327,5.789,7328,3.566,7329,3.566]],["component/204",[18,0.824,987,1.427]],["title/205",[1139,36.374]],["name/205",[1139,1.408]],["text/205",[]],["component/205",[18,0.824,987,1.427]],["title/206-1",[62,19.457,291,31.15]],["name/206-1",[]],["text/206-1",[]],["component/206-1",[]],["title/206-2",[1,7.912,34,12.375,179,34.16,233,19.482,336,18.019]],["name/206-2",[]],["text/206-2",[]],["component/206-2",[]],["title/206-3",[83,30.039,7330,67.059]],["name/206-3",[]],["text/206-3",[]],["component/206-3",[]],["title/206-4",[6000,51.523,7331,70.737]],["name/206-4",[]],["text/206-4",[]],["component/206-4",[]],["title/206-5",[1695,50.794,7332,70.737]],["name/206-5",[]],["text/206-5",[]],["component/206-5",[]],["title/206-6",[1,10.292,34,16.098,233,25.343]],["name/206-6",[]],["text/206-6",[]],["component/206-6",[]],["title/206-7",[83,25.521,7333,47.7,7334,60.097]],["name/206-7",[]],["text/206-7",[]],["component/206-7",[]],["title/206-8",[63,17.217,1110,33.492,7333,41.463,7335,52.24]],["name/206-8",[]],["text/206-8",[]],["component/206-8",[]],["title/206-9",[34,16.098,7333,47.7,7336,64.841]],["name/206-9",[]],["text/206-9",[]],["component/206-9",[]],["title/206-10",[34,11.092,298,26.304,890,17.838,2925,21.236,7333,32.868,7337,44.68]],["name/206-10",[]],["text/206-10",[]],["component/206-10",[]],["title/206-11",[251,39.023,7338,70.737]],["name/206-11",[]],["text/206-11",[]],["component/206-11",[]],["title/206-12",[253,28.746,7339,76.321]],["name/206-12",[]],["text/206-12",[]],["component/206-12",[]],["title/206-13",[253,24.422,890,25.887,7338,60.097]],["name/206-13",[]],["text/206-13",[]],["component/206-13",[]],["title/206-14",[1908,51.523,7340,76.321]],["name/206-14",[]],["text/206-14",[]],["component/206-14",[]],["title/206-15",[165,31.506,7341,76.321]],["name/206-15",[]],["text/206-15",[]],["component/206-15",[]],["title/206-16",[50,52.731]],["name/206-16",[]],["text/206-16",[]],["component/206-16",[]],["title/206-17",[2925,36.276,7342,76.321]],["name/206-17",[]],["text/206-17",[]],["component/206-17",[]],["title/206-18",[127,42.369,128,54.056]],["name/206-18",[]],["text/206-18",[]],["component/206-18",[]],["title/206-19",[7343,92.74]],["name/206-19",[]],["text/206-19",[]],["component/206-19",[]],["title/206-20",[251,39.023,7344,76.321]],["name/206-20",[]],["text/206-20",[]],["component/206-20",[]],["title/206-21",[253,28.746,7345,76.321]],["name/206-21",[]],["text/206-21",[]],["component/206-21",[]],["title/206-22",[7323,81.486]],["name/206-22",[]],["text/206-22",[]],["component/206-22",[]],["title/206-23",[7346,85.955]],["name/206-23",[]],["text/206-23",[]],["component/206-23",[]],["title/206-24",[299,23.632,947,30.379,6247,44.526,7347,56.363]],["name/206-24",[]],["text/206-24",[]],["component/206-24",[]],["title/206-25",[226,30.597,233,22.029,5861,47.495,6000,38.05]],["name/206-25",[]],["text/206-25",[]],["component/206-25",[]],["title/206-26",[107,28.45,7333,47.7,7348,60.097]],["name/206-26",[]],["text/206-26",[]],["component/206-26",[]],["title/206-27",[120,23.267,241,24.947,7333,41.463,7349,52.24]],["name/206-27",[]],["text/206-27",[]],["component/206-27",[]],["title/206-28",[34,13.993,107,24.73,7333,41.463,7350,56.363]],["name/206-28",[]],["text/206-28",[]],["component/206-28",[]],["title/206-29",[34,12.375,120,20.577,241,22.062,7333,36.669,7351,46.199]],["name/206-29",[]],["text/206-29",[]],["component/206-29",[]],["title/206-30",[70,14.585,233,19.482,395,21.325,5861,42.003,6000,33.65]],["name/206-30",[]],["text/206-30",[]],["component/206-30",[]],["title/206-31",[120,20.577,241,22.062,735,15.57,7351,46.199,7352,49.846]],["name/206-31",[]],["text/206-31",[]],["component/206-31",[]],["title/206-32",[233,25.343,659,42.026,6000,43.773]],["name/206-32",[]],["text/206-32",[]],["component/206-32",[]],["title/206-33",[107,33.487,7353,76.321]],["name/206-33",[]],["text/206-33",[]],["component/206-33",[]],["title/206-34",[39,25.255,241,28.699,7354,56.973]],["name/206-34",[]],["text/206-34",[]],["component/206-34",[]],["title/206-35",[39,25.255,754,41.51,7354,56.973]],["name/206-35",[]],["text/206-35",[]],["component/206-35",[]],["title/206-36",[39,25.255,222,24.186,7354,56.973]],["name/206-36",[]],["text/206-36",[]],["component/206-36",[]],["title/206-37",[50,32.047,336,20.375,987,24.519,1063,30.597]],["name/206-37",[]],["text/206-37",[]],["component/206-37",[]],["title/206-38",[232,24.343,831,37.829,7355,64.841]],["name/206-38",[]],["text/206-38",[]],["component/206-38",[]],["title/206-39",[38,22.657]],["name/206-39",[]],["text/206-39",[]],["component/206-39",[]],["title/206-40",[1110,45.352,7356,76.321]],["name/206-40",[]],["text/206-40",[]],["component/206-40",[]],["title/206-41",[1164,41.51,7357,46.77,7358,64.841]],["name/206-41",[]],["text/206-41",[]],["component/206-41",[]],["title/206-42",[48,43.855]],["name/206-42",[]],["text/206-42",[]],["component/206-42",[]],["title/206-43",[7359,81.486]],["name/206-43",[]],["text/206-43",[]],["component/206-43",[]],["title/206-44",[7360,85.955]],["name/206-44",[]],["text/206-44",[]],["component/206-44",[]],["title/206-45",[253,28.746,7361,76.321]],["name/206-45",[]],["text/206-45",[]],["component/206-45",[]],["title/206-46",[428,29.354,5532,54.639,7362,64.841]],["name/206-46",[]],["text/206-46",[]],["component/206-46",[]],["title/206-47",[7363,85.955]],["name/206-47",[]],["text/206-47",[]],["component/206-47",[]],["title/206-48",[1164,41.51,7364,64.841,7365,64.841]],["name/206-48",[]],["text/206-48",[]],["component/206-48",[]],["title/206-49",[1164,48.86,7366,76.321]],["name/206-49",[]],["text/206-49",[]],["component/206-49",[]],["title/206-50",[178,30.361,505,46.245]],["name/206-50",[]],["text/206-50",[]],["component/206-50",[]],["title/206-51",[7357,55.051,7367,76.321]],["name/206-51",[]],["text/206-51",[]],["component/206-51",[]],["title/206-52",[7357,46.77,7368,56.973,7369,64.841]],["name/206-52",[]],["text/206-52",[]],["component/206-52",[]],["title/206-53",[1164,36.083,7357,40.655,7368,49.523,7370,56.363]],["name/206-53",[]],["text/206-53",[]],["component/206-53",[]],["title/206-54",[1164,36.083,7357,40.655,7368,49.523,7371,56.363]],["name/206-54",[]],["text/206-54",[]],["component/206-54",[]],["title/206-55",[2925,26.79,7357,40.655,7372,52.24,7373,56.363]],["name/206-55",[]],["text/206-55",[]],["component/206-55",[]],["title/206-56",[1164,36.083,7357,40.655,7372,52.24,7374,56.363]],["name/206-56",[]],["text/206-56",[]],["component/206-56",[]],["title/206-57",[224,23.179,7357,40.655,7375,56.363,7376,52.24]],["name/206-57",[]],["text/206-57",[]],["component/206-57",[]],["title/206-58",[852,25.877,4787,44.526,7357,40.655,7377,56.363]],["name/206-58",[]],["text/206-58",[]],["component/206-58",[]],["title/206",[62,23.643]],["name/206",[62,0.915]],["text/206",[1,1.805,4,0.764,8,0.553,9,0.601,10,1.04,18,0.824,30,1.101,34,2.787,38,1.684,39,2.105,48,3.781,49,0.658,50,1.044,61,1.222,62,1.758,63,0.561,70,0.537,71,2.892,83,2.444,87,1.314,91,0.827,93,0.696,94,0.782,100,0.813,107,2.372,109,0.922,114,0.851,120,1.835,127,1.821,136,1.027,138,1.148,152,1.583,165,2.231,167,0.631,177,0.989,178,0.73,179,3.046,180,1.062,183,1.994,184,1.19,211,1.186,215,2.316,222,0.685,223,1.235,226,4.063,232,1.231,233,3.72,241,3.052,244,1.886,247,0.843,251,0.939,253,2.819,260,3.476,283,1.243,287,2.084,290,1.324,291,2.206,292,1.161,298,1.931,299,0.77,311,2.077,313,1.856,317,1.427,326,0.785,336,1.607,343,1.101,345,2.713,370,1.309,374,1.175,378,1.35,395,2.657,402,1.821,428,2.811,489,3.828,505,1.112,511,0.666,538,2.194,539,0.843,552,0.933,560,3.175,563,0.782,571,2.051,603,2.527,609,1.35,626,1.3,634,1.027,638,2.316,642,2.245,657,3.618,670,1.124,672,0.795,709,0.752,714,1.112,722,1.309,735,1.388,745,2.051,749,1.743,754,1.175,755,1.044,758,2.413,762,2.323,789,1.968,790,2.764,808,1.071,818,1.637,831,1.913,843,0.728,852,0.843,854,2.363,856,2.667,890,2.479,928,0.864,947,3.347,949,1.091,953,2.698,965,0.927,987,5.547,998,0.799,1025,0.809,1054,0.922,1063,1.78,1110,1.091,1125,1.148,1130,0.676,1134,1.004,1137,0.976,1164,4.414,1167,0.886,1185,1.062,1214,1.124,1249,3.623,1285,3.547,1295,1.004,1296,1.278,1318,0.944,1324,2.194,1395,1.324,1416,0.933,1430,0.983,1443,1.19,1451,2.153,1452,0.877,1489,1.78,1587,1.081,1676,1.161,1767,1.258,1908,1.239,1979,1.413,2134,1.161,2137,1.613,2229,4.27,2231,1.45,2234,1.35,2265,1.258,2274,1.278,2303,3.341,2363,2.669,2623,1.701,2888,1.547,2925,1.559,3362,1.161,4368,1.324,4415,2.413,4787,1.45,5358,1.494,5466,3.206,5861,2.764,6000,5.398,6041,1.701,6092,5.81,6109,1.278,6247,2.591,6248,1.45,6613,1.701,6794,2.882,6831,3.04,6832,1.701,7324,1.701,7376,1.701,7378,1.836,7379,1.836,7380,1.836,7381,1.836,7382,1.836,7383,1.836,7384,1.836,7385,1.836,7386,1.836,7387,1.836,7388,1.836,7389,1.836,7390,1.836,7391,1.836,7392,1.836,7393,1.836,7394,1.836,7395,1.836,7396,1.836,7397,1.836,7398,1.836,7399,1.836,7400,1.836,7401,6.21,7402,1.836,7403,1.836,7404,1.836,7405,1.836,7406,1.836,7407,1.836,7408,1.836,7409,1.836,7410,1.836,7411,1.836,7412,3.28,7413,1.836,7414,1.836,7415,1.836,7416,1.836,7417,1.836,7418,1.836,7419,4.445,7420,1.836,7421,1.836,7422,1.836,7423,1.836,7424,1.836,7425,1.836,7426,1.836,7427,1.836,7428,1.836,7429,4.445,7430,1.836,7431,1.836,7432,1.836,7433,3.28,7434,1.836,7435,1.836,7436,1.836,7437,1.836,7438,3.28,7439,1.836,7440,1.836,7441,1.836,7442,1.836]],["component/206",[18,0.824,987,1.427]],["title/207",[1,8.946,18,14.165,865,28.471,987,24.519]],["name/207",[3,1.542]],["text/207",[1,1.496,18,3.335,29,3.818,146,6.127,149,4.21,375,5.044,395,4.032,499,7.078,539,4.327,865,6.413,866,3.471,987,5.082,991,6.933,1130,3.471,1176,4.6,1183,6.033,7245,8.281]],["component/207",[18,0.824,987,1.427]],["title/208-1",[1,10.292,692,41.51,987,28.207]],["name/208-1",[]],["text/208-1",[]],["component/208-1",[]],["title/208-2",[62,23.643]],["name/208-2",[]],["text/208-2",[]],["component/208-2",[]],["title/208-3",[1,10.292,224,26.665,987,28.207]],["name/208-3",[]],["text/208-3",[]],["component/208-3",[]],["title/208",[146,48.64]],["name/208",[146,1.883]],["text/208",[1,1.997,10,1.336,18,1.058,34,2.865,37,1.817,49,2.368,50,2.395,56,2.239,62,2.357,63,1.286,66,3.227,71,2.711,83,2.602,92,3.359,93,1.597,100,1.864,122,1.732,127,2.338,142,6.282,143,3.064,146,2.209,149,1.518,165,3.816,166,1.924,167,1.448,170,2.415,178,1.675,197,1.461,203,1.681,211,1.522,215,2.194,224,2.719,233,2.584,234,1.319,241,4.717,242,2.578,245,1.613,253,1.586,257,1.509,268,3.55,283,1.597,289,3.401,291,4.099,311,1.618,315,1.635,324,1.687,328,2.034,329,2.18,336,2.39,338,3.11,343,5.546,345,3.565,370,1.681,418,2.14,425,2.983,428,2.993,511,2.397,539,1.934,550,2.056,552,2.14,553,1.576,603,3.759,605,3.038,615,2.254,642,2.127,656,2.843,672,1.824,692,2.696,708,2.457,712,2.239,722,1.681,749,1.652,790,2.153,799,2.436,805,1.992,818,2.103,836,4.006,854,2.239,926,2.436,987,5.164,1105,1.934,1208,3.615,1216,3.038,1597,2.375,1713,2.983,2134,2.664,2220,3.428,3225,4.863,4328,3.038,5466,3.038,6000,4.463,6110,3.241,6261,2.983,6588,3.549,6765,3.165,6828,3.903,7254,3.903,7260,6.127,7261,3.903,7262,3.903,7263,3.903,7330,7.17,7331,3.903,7346,3.903,7443,4.212,7444,4.212,7445,4.212,7446,4.212,7447,4.212]],["component/208",[18,0.824,987,1.427]],["title/209",[164,41.136,165,31.506]],["name/209",[164,1.141,165,0.874]],["text/209",[1,1.321,10,2.64,34,2.066,49,2.981,63,2.542,71,2.914,98,3.575,153,3.877,165,5.424,234,3.381,253,4.513,257,2.981,317,3.621,635,3.997,638,4.337,656,7.288,709,3.41,735,3.372,841,5.191,1061,4.457,1176,4.062,2065,6.774,6093,7.121,7448,10.796,7449,8.323,7450,8.323,7451,8.323]],["component/209",[18,0.824,987,1.427]],["title/210",[505,39.289,821,34.466,2400,37.497]],["name/210",[821,1.908]],["text/210",[1,1.938,34,2.516,67,5.03,70,2.965,77,6.745,91,4.567,102,5.583,106,5.583,194,4.817,316,5.059,512,4.947,642,5.119,818,5.059,871,7.31,987,4.409,2221,8.54]],["component/210",[18,0.824,987,1.427]],["title/211-1",[222,28.468,2925,36.276]],["name/211-1",[]],["text/211-1",[]],["component/211-1",[]],["title/211-2",[642,38.552,7278,47.738]],["name/211-2",[]],["text/211-2",[]],["component/211-2",[]],["title/211-3",[63,23.313,642,38.552]],["name/211-3",[]],["text/211-3",[]],["component/211-3",[]],["title/211-4",[234,20.305,735,20.254,1061,26.767]],["name/211-4",[]],["text/211-4",[]],["component/211-4",[]],["title/211-5",[1,6.426,234,12.677,560,20.699,735,12.645,987,17.611,1061,16.712,1926,21.977]],["name/211-5",[]],["text/211-5",[]],["component/211-5",[]],["title/211-6",[1,6.426,234,12.677,560,20.699,735,12.645,987,17.611,1061,16.712,1130,14.91]],["name/211-6",[]],["text/211-6",[]],["component/211-6",[]],["title/211-7",[94,32.518,959,51.523]],["name/211-7",[]],["text/211-7",[]],["component/211-7",[]],["title/211",[234,23.9,998,33.201]],["name/211",[234,0.663,998,0.921]],["text/211",[1,1.533,4,1.748,9,2.159,10,0.772,15,1.009,18,1.658,34,0.604,37,1.05,46,1.648,49,0.872,63,2.275,70,2.384,71,0.657,80,3.102,83,1.654,88,1.695,93,0.923,95,1.128,107,1.068,109,2.11,114,1.128,124,1.967,126,1.005,141,1.063,152,0.867,153,1.957,154,1.041,161,1.068,167,3.174,178,0.968,203,0.972,211,1.519,216,1.02,221,2.454,222,2.461,223,2.088,224,1.001,232,2.081,234,3.839,244,1.783,251,2.148,253,3.289,257,1.505,260,0.92,261,0.891,285,2.37,286,1.092,290,0.982,311,2.13,313,1.016,317,1.059,324,0.975,334,1.331,336,0.88,345,2.422,370,0.972,380,1.029,395,1.041,408,0.99,419,2.947,420,1.294,421,1.911,422,1.151,487,2.372,488,1.244,506,1.79,514,1.844,555,1.929,560,2.835,568,1.163,569,1.372,615,1.303,635,5.766,642,5.509,666,3.091,702,1.157,722,1.677,735,3.791,744,2.572,745,1.522,746,0.979,749,3.196,763,1.194,789,3.326,790,2.835,799,1.407,801,1.446,805,1.151,826,1.598,834,1.829,841,3.783,847,1.598,865,3.333,890,0.972,931,1.276,947,3.556,951,1.222,957,2.135,959,6.232,987,4.935,998,1.059,1001,2.351,1010,1.42,1038,1.005,1061,3.605,1063,1.321,1093,2.249,1105,3.029,1130,3.001,1167,1.175,1230,2.162,1285,2.162,1306,1.285,1324,1.201,1368,2.497,1373,3.998,1381,2.138,1382,3.319,1383,1.695,1437,1.42,1462,1.475,1576,1.384,1583,1.643,1650,1.981,1692,1.331,1726,1.558,1731,1.695,1835,1.598,1839,2.796,1909,1.643,1922,1.558,1926,1.321,1967,1.668,2010,1.475,2187,1.755,2251,1.829,2452,1.577,2504,3.091,2686,1.724,2841,2.879,2925,4.591,2939,1.873,2963,1.981,3583,1.643,4431,1.829,6093,2.497,6239,2.256,6829,2.051,6847,1.79,7264,1.829,7270,1.755,7277,1.981,7278,3.468,7281,3.319,7282,4.167,7452,2.434,7453,2.434,7454,2.434,7455,2.138,7456,2.138,7457,2.138,7458,2.138,7459,2.434,7460,6.116,7461,2.434,7462,2.434]],["component/211",[18,0.824,987,1.427]],["title/212-1",[222,28.468,2925,36.276]],["name/212-1",[]],["text/212-1",[]],["component/212-1",[]],["title/212-2",[642,38.552,7278,47.738]],["name/212-2",[]],["text/212-2",[]],["component/212-2",[]],["title/212-3",[63,23.313,642,38.552]],["name/212-3",[]],["text/212-3",[]],["component/212-3",[]],["title/212-4",[63,19.807,83,25.521,642,32.754]],["name/212-4",[]],["text/212-4",[]],["component/212-4",[]],["title/212-5",[38,15.841,735,20.254,1061,26.767]],["name/212-5",[]],["text/212-5",[]],["component/212-5",[]],["title/212-6",[1,6.426,38,9.891,560,20.699,735,12.645,987,17.611,1061,16.712,1926,21.977]],["name/212-6",[]],["text/212-6",[]],["component/212-6",[]],["title/212-7",[1,6.426,38,9.891,560,20.699,735,12.645,987,17.611,1061,16.712,1130,14.91]],["name/212-7",[]],["text/212-7",[]],["component/212-7",[]],["title/212",[38,18.646,998,33.201]],["name/212",[38,0.517,998,0.921]],["text/212",[1,1.664,3,1.984,4,1.131,9,3.02,10,0.862,15,1.914,18,1.513,34,0.675,38,3.183,39,1.059,46,1.811,49,0.974,63,2.819,70,2.078,71,1.625,83,2.795,93,1.03,95,1.26,107,1.192,124,2.162,126,1.122,141,1.187,149,2.559,152,0.968,166,1.242,167,3.34,178,1.081,221,1.203,222,3.227,223,1.739,251,2.361,253,3.476,257,0.974,260,1.027,285,3.396,290,1.097,311,2.729,313,1.135,324,1.089,326,1.976,337,1.475,345,1.187,380,1.952,395,1.163,408,1.105,419,3.201,421,1.236,487,3.038,514,2.026,550,1.327,560,3.079,568,1.298,569,1.533,615,1.455,635,5.538,642,6.011,672,1.177,674,3.453,722,1.085,735,3.767,744,1.664,746,1.093,749,3.809,763,1.334,790,3.079,801,1.615,805,1.285,810,1.416,834,2.043,841,3.447,865,3.587,890,1.085,917,1.809,947,1.465,987,4.815,998,2.009,1001,2.584,1061,3.809,1063,1.475,1093,3.223,1110,1.615,1130,3.187,1145,1.863,1167,1.312,1230,2.376,1285,1.398,1306,1.435,1324,1.341,1368,2.744,1373,4.822,1462,1.647,1489,2.507,1576,1.545,1650,2.212,1692,1.486,1726,2.957,1909,1.835,1926,1.475,2057,1.892,2379,2.043,2555,1.925,2576,3.554,2686,1.925,2841,4.127,2925,5.131,2939,2.091,2963,2.212,3583,1.835,4881,2.29,6093,2.744,6829,2.29,7175,2.147,7264,2.043,7270,3.331,7277,2.212,7278,3.767,7281,3.648,7282,5.337,7455,2.388,7456,2.388,7457,2.388,7458,2.388,7463,2.718,7464,2.388,7465,2.519,7466,2.718,7467,2.519,7468,2.718]],["component/212",[18,0.824,987,1.427]],["title/213",[63,23.313,998,33.201]],["name/213",[63,0.647,998,0.921]],["text/213",[1,1.606,34,1.873,38,1.843,63,4.001,71,2.036,166,3.448,221,3.339,222,2.814,234,2.363,311,2.899,370,4.04,380,3.189,395,4.329,487,4.329,560,3.858,582,3.983,635,3.624,642,6.759,735,3.161,741,3.931,746,3.034,749,3.969,783,2.587,810,3.931,841,3.268,987,4.967,998,3.282,1001,5.662,1061,3.115,1130,3.727,1318,3.882,1368,4.483,1373,4.572,1576,4.29,1726,4.83,7278,6.33]],["component/213",[18,0.824,987,1.427]],["title/214-1",[222,28.468,2925,36.276]],["name/214-1",[]],["text/214-1",[]],["component/214-1",[]],["title/214-2",[642,38.552,7278,47.738]],["name/214-2",[]],["text/214-2",[]],["component/214-2",[]],["title/214-3",[63,23.313,642,38.552]],["name/214-3",[]],["text/214-3",[]],["component/214-3",[]],["title/214-4",[735,20.254,783,22.231,1061,26.767]],["name/214-4",[]],["text/214-4",[]],["component/214-4",[]],["title/214-5",[1,6.426,560,20.699,735,12.645,783,13.88,987,17.611,1061,16.712,1926,21.977]],["name/214-5",[]],["text/214-5",[]],["component/214-5",[]],["title/214-6",[1,6.426,560,20.699,735,12.645,783,13.88,987,17.611,1061,16.712,1130,14.91]],["name/214-6",[]],["text/214-6",[]],["component/214-6",[]],["title/214",[783,26.167,998,33.201]],["name/214",[783,0.726,998,0.921]],["text/214",[1,1.756,4,1.421,9,2.321,10,1.083,15,1.415,18,1.404,34,0.848,38,0.834,46,2.192,49,1.223,63,2.503,70,2.398,71,0.922,83,1.344,93,1.295,95,1.583,107,1.499,124,1.599,126,1.41,141,1.492,152,1.216,167,3.675,178,1.359,221,2.473,222,3.057,223,1.286,234,1.07,251,2.857,253,3.858,257,1.223,260,1.291,285,3.152,290,1.379,311,2.725,313,1.426,324,1.369,345,1.492,380,1.444,395,1.461,408,1.389,419,3.77,487,3.034,514,2.452,560,3.626,568,1.632,569,1.926,615,1.828,635,5.466,642,6.114,722,1.364,735,3.891,746,1.374,749,3.806,763,1.676,783,4.214,790,2.857,801,2.03,805,1.615,834,2.567,841,3.55,865,3.583,873,2.341,890,1.364,947,1.841,987,4.951,998,1.486,1001,3.127,1061,4.228,1063,1.854,1093,2.991,1130,3.329,1167,1.649,1230,2.875,1285,1.757,1306,1.803,1324,1.686,1368,3.321,1373,4.966,1383,2.378,1462,2.07,1576,1.942,1650,2.78,1692,1.868,1726,2.187,1909,2.306,1926,1.854,2686,2.419,2841,3.83,2925,5.258,2939,2.628,2963,2.78,3109,2.628,3583,2.306,6093,3.321,6829,2.878,7264,2.567,7270,2.464,7277,2.78,7278,4.436,7281,4.415,7282,4.2,7455,3.001,7456,3.001,7457,3.001,7458,3.001,7469,3.415,7470,3.415]],["component/214",[18,0.824,987,1.427]],["title/215-1",[150,45.875,6853,47.495,7471,56.363,7472,56.363]],["name/215-1",[]],["text/215-1",[]],["component/215-1",[]],["title/215-2",[145,39.514,684,42.701]],["name/215-2",[]],["text/215-2",[]],["component/215-2",[]],["title/215-3",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-3",[]],["text/215-3",[]],["component/215-3",[]],["title/215-4",[690,38.552,1185,44.136]],["name/215-4",[]],["text/215-4",[]],["component/215-4",[]],["title/215-5",[150,45.875,6917,47.495,7473,56.363,7474,56.363]],["name/215-5",[]],["text/215-5",[]],["component/215-5",[]],["title/215-6",[145,39.514,684,42.701]],["name/215-6",[]],["text/215-6",[]],["component/215-6",[]],["title/215-7",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-7",[]],["text/215-7",[]],["component/215-7",[]],["title/215-8",[690,38.552,1185,44.136]],["name/215-8",[]],["text/215-8",[]],["component/215-8",[]],["title/215-9",[150,45.875,7475,56.363,7476,52.24,7477,56.363]],["name/215-9",[]],["text/215-9",[]],["component/215-9",[]],["title/215-10",[145,39.514,684,42.701]],["name/215-10",[]],["text/215-10",[]],["component/215-10",[]],["title/215-11",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-11",[]],["text/215-11",[]],["component/215-11",[]],["title/215-12",[690,38.552,1185,44.136]],["name/215-12",[]],["text/215-12",[]],["component/215-12",[]],["title/215-13",[137,47.495,6853,47.495,7478,56.363,7479,52.24]],["name/215-13",[]],["text/215-13",[]],["component/215-13",[]],["title/215-14",[145,39.514,684,42.701]],["name/215-14",[]],["text/215-14",[]],["component/215-14",[]],["title/215-15",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-15",[]],["text/215-15",[]],["component/215-15",[]],["title/215-16",[690,38.552,1185,44.136]],["name/215-16",[]],["text/215-16",[]],["component/215-16",[]],["title/215-17",[137,47.495,7480,56.363,7481,82.467]],["name/215-17",[]],["text/215-17",[]],["component/215-17",[]],["title/215-18",[145,39.514,684,42.701]],["name/215-18",[]],["text/215-18",[]],["component/215-18",[]],["title/215-19",[36,21.067,152,17.748,671,22.259,3045,31.535,3270,23.815]],["name/215-19",[]],["text/215-19",[]],["component/215-19",[]],["title/215-20",[690,38.552,1185,44.136]],["name/215-20",[]],["text/215-20",[]],["component/215-20",[]],["title/215-21",[137,47.495,7476,52.24,7482,56.363,7483,52.24]],["name/215-21",[]],["text/215-21",[]],["component/215-21",[]],["title/215",[8,22.976,261,27.932]],["name/215",[8,0.637,261,0.775]],["text/215",[1,1.559,2,0.568,9,0.647,10,0.627,34,2.361,38,2.142,48,2.23,58,0.846,62,0.893,63,3.233,69,1.379,71,0.533,80,1.106,83,1.856,87,0.792,88,1.376,107,0.867,114,0.916,120,0.816,122,2.683,128,2.481,140,4.006,142,4.081,145,3.378,146,3.422,149,2.601,152,2.323,165,1.947,173,1.017,178,0.786,179,4.472,180,2.026,185,1.073,186,1.153,197,0.685,222,1.306,223,2.718,224,0.813,233,2.821,234,2.445,241,3.194,257,3.518,260,3.711,267,1.298,281,0.807,283,0.749,291,3.187,301,3.68,315,2.801,317,1.524,326,1.498,328,3.15,337,1.073,338,0.93,342,1.21,345,2.06,373,3.019,406,2.315,408,1.424,415,3.378,428,2.135,517,1.115,552,2.397,553,2.442,589,1.037,603,1.124,620,1.666,635,0.949,642,0.998,671,2.106,690,2.382,691,3.741,716,3.741,722,0.789,735,3.306,740,1.097,741,2.457,744,1.21,746,1.409,749,0.775,761,0.807,772,1.673,783,3.005,813,0.856,820,1.791,831,2.043,841,2.043,843,0.784,846,3.395,855,1.164,892,1.665,907,4.196,919,1.175,928,1.648,947,2.542,951,2.865,956,1.719,958,1.186,959,2.365,966,1.133,987,5.343,1001,1.96,1035,1.097,1038,3.781,1110,2.803,1125,5.483,1130,1.29,1137,1.051,1219,2.481,1259,1.097,1260,1.164,1343,2.167,1360,1.454,1361,1.609,1368,3.39,1373,1.198,1416,1.005,1452,0.944,1574,1.251,1584,2.577,1587,1.164,1595,2.695,1597,1.115,1649,2.767,1676,1.251,1695,1.316,1699,2.526,1710,1.376,1713,1.4,1724,4.807,1825,4.807,1850,1.265,1908,1.334,1915,1.737,2020,1.454,2379,1.486,2529,1.486,2555,3.34,2664,1.486,2737,1.486,2888,1.666,2925,2.242,2963,1.609,2983,1.832,3045,1.251,3153,1.355,3362,1.251,4415,2.577,4648,2.952,4808,1.832,4809,1.832,5629,1.666,5787,1.666,6000,1.334,6034,1.737,6453,1.832,7270,1.426,7278,1.236,7282,6.884,7323,1.737,7330,1.737,7332,1.832,7333,4.196,7334,1.832,7335,1.832,7348,1.832,7349,1.832,7460,3.246,7464,1.737,7484,3.503,7485,6.525,7486,6.048,7487,1.977,7488,1.977,7489,1.977,7490,1.977,7491,1.977,7492,1.977,7493,1.977,7494,1.977,7495,1.977,7496,1.977,7497,1.977,7498,1.977,7499,1.977,7500,1.977,7501,1.977,7502,1.977,7503,1.977,7504,1.977]],["component/215",[18,0.824,987,1.427]],["title/216-1",[642,32.754,2925,30.819,7278,40.557]],["name/216-1",[]],["text/216-1",[]],["component/216-1",[]],["title/216-2",[63,23.313,2925,36.276]],["name/216-2",[]],["text/216-2",[]],["component/216-2",[]],["title/216",[234,23.9,841,33.061]],["name/216",[234,0.663,841,0.917]],["text/216",[1,1.582,9,2.221,10,2.153,18,1.334,34,2.169,63,2.876,69,1.262,70,1.553,71,1.432,80,5.268,91,1.445,141,1.401,165,2.191,166,2.425,167,3.237,177,1.729,211,1.159,221,1.42,222,3.717,223,1.208,229,1.389,233,1.254,234,3.656,244,2.88,245,2.032,251,1.64,253,2.556,257,2.431,283,2.012,290,1.295,298,3.124,299,1.345,304,2.029,311,2.039,313,2.216,315,1.245,317,1.395,380,1.356,395,1.372,408,2.158,420,1.705,487,2.27,506,5.803,514,2.328,552,1.63,562,1.671,568,1.532,589,2.783,622,3.069,635,5.35,642,6.107,674,1.839,709,1.314,722,2.119,727,4.457,735,3.113,741,5.193,749,2.081,776,1.888,783,2.327,789,1.924,790,2.713,809,3.283,841,4.078,865,1.62,916,1.871,947,4.252,987,1.395,991,3.904,1001,5.268,1061,1.324,1072,1.661,1093,4.677,1125,2.006,1126,1.888,1130,2.5,1255,1.767,1259,1.781,1318,1.65,1324,3.35,1337,2.272,1342,3.484,1368,4.033,1373,4.113,1382,4.192,1383,3.695,1416,1.63,1429,1.62,1455,1.592,1566,3.988,1576,1.824,1692,4.314,1839,3.532,2265,2.198,2664,2.411,2671,2.313,2925,4.737,3583,4.582,6093,3.153,7264,2.411,7270,3.828,7271,5.964,7278,5.466,7310,2.818,7505,3.207,7506,3.207,7507,5.307,7508,2.818,7509,3.207,7510,4.918,7511,3.207]],["component/216",[18,0.824,987,1.427]],["title/217-1",[642,32.754,2925,30.819,7278,40.557]],["name/217-1",[]],["text/217-1",[]],["component/217-1",[]],["title/217-2",[63,19.807,642,32.754,2925,30.819]],["name/217-2",[]],["text/217-2",[]],["component/217-2",[]],["title/217-3",[63,17.217,83,22.184,642,28.471,2925,26.79]],["name/217-3",[]],["text/217-3",[]],["component/217-3",[]],["title/217",[38,18.646,841,33.061]],["name/217",[38,0.517,841,0.917]],["text/217",[1,1.531,4,1.008,9,3.015,10,1.328,18,1.389,34,1.845,38,2.661,39,2.153,63,3.326,70,1.925,71,1.13,83,2.924,126,2.282,141,1.829,143,3.05,152,1.968,165,2.282,166,1.913,167,4.074,177,1.306,197,1.917,211,0.876,222,3.251,223,1.577,233,0.947,244,1.777,245,2.117,251,3.365,253,2.478,257,1.98,283,1.587,298,3.254,311,1.609,313,2.308,315,0.941,345,1.059,381,1.402,395,2.365,408,1.703,420,2.226,421,1.102,487,2.365,514,1.837,568,1.158,589,2.196,635,4.81,642,6.187,674,3.169,722,1.672,741,3.871,749,1.642,772,3.884,776,1.427,790,2.826,809,3.42,810,1.263,818,2.09,841,1.814,865,1.224,923,1.288,953,1.21,987,2.405,991,4.066,998,1.821,1001,5.155,1017,1.822,1072,1.255,1093,2.241,1125,1.516,1126,1.427,1130,2.424,1139,2.581,1208,1.325,1259,1.346,1368,3.284,1373,3.349,1429,1.224,1489,2.273,1576,2.381,1692,2.29,2379,5.584,2576,3.222,2664,1.822,2925,4.583,3093,2.966,3583,3.731,3721,6.099,4832,5.199,4881,6.261,6093,3.91,7175,5.87,7264,1.822,7270,4.747,7278,4.116,7281,1.915,7282,3.147,7464,6.528,7465,5.123,7467,6.099,7479,6.099,7508,4.857,7512,2.424,7513,2.424,7514,9.214,7515,9.214,7516,9.214,7517,9.214,7518,9.214,7519,5.527,7520,4.187,7521,4.187,7522,2.424]],["component/217",[18,0.824,987,1.427]],["title/218",[63,23.313,841,33.061]],["name/218",[63,0.647,841,0.917]],["text/218",[1,1.83,34,1.909,38,1.878,63,4.023,71,2.766,166,3.513,221,3.403,222,2.868,234,2.408,311,2.954,380,3.25,560,3.931,582,4.059,635,5.536,642,6.653,741,4.006,746,3.092,749,4.019,767,3.547,783,2.636,810,4.006,823,3.53,841,4.993,987,5.348,1001,5.734,1130,2.832,1318,3.956,1368,4.569,1373,4.659,1576,4.372,1726,4.922,1784,5.269,7278,4.809]],["component/218",[18,0.824,987,1.427]],["title/219-1",[642,32.754,2925,30.819,7278,40.557]],["name/219-1",[]],["text/219-1",[]],["component/219-1",[]],["title/219-2",[63,19.807,642,32.754,2925,30.819]],["name/219-2",[]],["text/219-2",[]],["component/219-2",[]],["title/219",[783,26.167,841,33.061]],["name/219",[783,0.726,841,0.917]],["text/219",[1,1.625,2,0.882,9,2.791,10,1.623,18,1.286,34,1.633,61,2.043,63,2.985,70,1.497,71,2.072,136,1.717,141,1.341,165,2.112,166,2.338,167,3.167,177,1.654,211,1.109,221,1.358,222,4.2,223,1.156,230,1.775,233,1.2,234,0.961,245,2.519,247,1.409,248,2.307,253,2.891,257,2.357,260,1.16,283,1.164,298,3.012,311,1.966,313,2.137,315,1.986,317,2.862,324,1.23,345,1.341,395,1.313,408,2.08,420,1.631,487,2.189,514,2.245,562,1.599,568,1.466,589,2.683,635,4.916,642,6.124,674,2.933,709,1.257,722,2.043,729,1.791,735,3.052,741,5.868,745,3.2,746,1.234,749,2.007,776,1.807,783,4.212,790,2.616,809,3.165,818,1.532,841,3.99,865,1.55,873,2.103,923,1.631,951,3.854,987,2.862,991,3.764,1001,5.154,1038,1.267,1061,1.267,1072,1.589,1093,4.93,1125,3.2,1126,1.807,1130,2.423,1255,1.691,1259,1.704,1318,2.632,1324,3.788,1337,2.174,1342,2.015,1366,2.137,1368,3.909,1373,3.986,1383,4.581,1416,1.56,1429,2.584,1566,3.845,1576,1.745,1595,5.906,1692,1.678,2103,2.103,2664,2.307,2671,2.214,2925,4.644,2994,2.307,2995,2.043,3583,4.441,4983,2.697,5532,2.586,6093,3.04,7264,2.307,7270,3.69,7278,5.335,7289,5.78,7310,2.697,7316,7.114,7508,2.697,7510,2.845,7523,3.069,7524,5.116,7525,3.069,7526,3.069,7527,3.069,7528,3.069]],["component/219",[18,0.824,987,1.427]],["title/220-1",[48,43.855]],["name/220-1",[]],["text/220-1",[]],["component/220-1",[]],["title/220-2",[178,30.361,505,46.245]],["name/220-2",[]],["text/220-2",[]],["component/220-2",[]],["title/220",[62,19.457,7529,60.293]],["name/220",[572,1.283,7529,1.672]],["text/220",[18,2.947,37,2.96,38,1.676,41,3.672,48,5.141,49,2.458,62,3.246,71,2.934,83,2.7,107,3.01,122,2.821,167,2.359,178,4.325,219,3.901,226,5.149,229,2.972,257,2.458,291,3.871,317,2.985,328,3.313,336,4.45,426,4.2,487,2.935,505,4.157,539,3.15,657,5.584,722,2.739,735,2.143,762,4.859,821,3.647,852,3.15,866,2.527,957,3.487,987,5.355,1010,4.003,1399,5.42,1437,4.003,1489,3.724,1654,5.42,2276,4.859,3362,4.34,4787,5.42,7357,4.949,7359,6.028,7529,8.588,7530,6.359,7531,6.861,7532,6.861]],["component/220",[18,0.824,987,1.427]],["title/221-1",[7219,73.264]],["name/221-1",[]],["text/221-1",[]],["component/221-1",[]],["title/221-2",[987,28.207,1015,39.693,7529,51.224]],["name/221-2",[]],["text/221-2",[]],["component/221-2",[]],["title/221-3",[234,23.9,735,23.839]],["name/221-3",[]],["text/221-3",[]],["component/221-3",[]],["title/221-4",[38,18.646,735,23.839]],["name/221-4",[]],["text/221-4",[]],["component/221-4",[]],["title/221-5",[735,23.839,783,26.167]],["name/221-5",[]],["text/221-5",[]],["component/221-5",[]],["title/221-6",[800,53.173]],["name/221-6",[]],["text/221-6",[]],["component/221-6",[]],["title/221-7",[1,12.114,34,18.948]],["name/221-7",[]],["text/221-7",[]],["component/221-7",[]],["title/221-8",[987,40.344]],["name/221-8",[]],["text/221-8",[]],["component/221-8",[]],["title/221-9",[70,22.331,395,32.651]],["name/221-9",[]],["text/221-9",[]],["component/221-9",[]],["title/221",[178,30.361,505,46.245]],["name/221",[3,1.542]],["text/221",[4,2.632,10,1.55,15,2.026,16,1.935,18,1.229,36,1.229,37,1.254,38,2.189,39,1.132,46,1.14,48,2.312,49,1.041,62,2.55,70,3.045,71,2.233,91,1.31,99,1.341,107,1.275,114,1.348,148,1.486,152,1.035,154,3.539,157,1.962,161,2.145,163,1.219,174,1.798,178,3.791,222,1.824,223,3.768,224,2.01,226,5.65,229,1.259,232,2.375,233,1.136,234,2.323,247,2.245,257,1.751,260,4.689,268,2.752,276,1.545,281,1.186,287,2.439,317,2.752,336,1.051,370,1.952,380,1.229,381,1.681,395,4.28,416,2.296,494,3.404,502,4.368,505,2.962,511,1.054,514,2.145,518,1.861,533,3.058,560,1.486,568,1.389,665,2.905,735,3.453,746,1.169,748,1.404,766,1.477,772,2.336,778,3.404,783,2.169,818,3.158,841,2.118,856,2.933,857,1.818,866,1.071,880,2.138,885,1.884,909,2.059,916,1.696,938,1.653,945,1.962,982,5.688,987,5.767,998,1.265,1022,1.818,1025,2.154,1061,3.415,1079,1.505,1111,1.696,1125,1.818,1126,1.711,1141,3.862,1166,2.024,1167,3.994,1393,1.909,1400,1.626,1446,3.169,1464,1.818,1480,2.185,1488,1.578,1489,1.578,1495,2.185,1558,3.3,1587,1.711,1636,2.45,1637,2.059,1879,2.237,2100,2.827,2229,3.862,2584,2.694,2892,4.868,2925,2.324,2988,1.818,3226,4.531,3362,1.839,3675,2.366,3786,2.45,3955,4.531,3991,4.531,4415,2.138,4483,2.296,4648,2.45,4787,2.296,5495,2.024,5731,4.296,6027,2.554,6093,1.727,7529,7.528,7533,2.907,7534,4.889,7535,2.907,7536,2.694,7537,2.907,7538,2.907]],["component/221",[18,0.824,987,1.427]],["title/222",[]],["name/222",[63,0.647,395,0.906]],["text/222",[]],["component/222",[18,0.824,987,1.427]],["title/223",[]],["name/223",[395,0.906,7278,1.324]],["text/223",[]],["component/223",[18,0.824,987,1.427]],["title/224-1",[987,33.201,1130,28.108]],["name/224-1",[]],["text/224-1",[]],["component/224-1",[]],["title/224-2",[395,32.651,1130,28.108]],["name/224-2",[]],["text/224-2",[]],["component/224-2",[]],["title/224-3",[63,19.807,395,27.74,1130,23.88]],["name/224-3",[]],["text/224-3",[]],["component/224-3",[]],["title/224-4",[395,27.74,1130,23.88,7278,40.557]],["name/224-4",[]],["text/224-4",[]],["component/224-4",[]],["title/224",[56,34.466,865,32.754,1130,23.88]],["name/224",[3,1.542]],["text/224",[1,1.794,10,1.545,11,6.954,12,7.685,38,2.623,63,3.589,70,3.142,71,2.414,95,2.259,126,3.054,170,4.242,178,1.938,221,2.157,222,2.76,229,2.111,234,3.127,260,1.841,276,2.59,285,4.172,311,1.872,324,2.964,345,4.363,370,2.954,395,5.026,400,3.76,553,1.823,560,2.491,582,3.906,642,5.045,709,1.996,712,4.754,735,3.354,741,5.204,748,4.318,749,1.911,783,3.424,813,2.111,841,4.326,865,2.461,925,2.952,965,2.461,987,5.111,1061,4.123,1130,4.565,1139,1.911,1318,2.507,1324,2.405,1368,2.895,1373,2.952,1429,2.461,1430,2.608,1473,3.515,1580,3.749,1726,3.119,2925,2.316,5882,4.516,7277,6.022,7278,4.628,7486,4.516,7539,4.873]],["component/224",[18,0.824,987,1.427]],["title/225",[]],["name/225",[987,1.562]],["text/225",[]],["component/225",[18,0.824,987,1.427]],["title/226-1",[48,26.653,71,15.212,222,21.024,1489,30.597]],["name/226-1",[]],["text/226-1",[]],["component/226-1",[]],["title/226-2",[48,36.09,402,42.369]],["name/226-2",[]],["text/226-2",[]],["component/226-2",[]],["title/226-3",[1,10.292,34,16.098,48,30.662]],["name/226-3",[]],["text/226-3",[]],["component/226-3",[]],["title/226-4",[48,30.662,222,24.186,503,42.573]],["name/226-4",[]],["text/226-4",[]],["component/226-4",[]],["title/226",[48,43.855]],["name/226",[3,1.542]],["text/226",[1,0.633,5,2.655,18,1.98,36,1.686,39,4.252,48,5.769,49,2.269,62,3.164,71,3.484,78,1.916,83,1.57,91,2.854,93,1.513,94,1.7,116,4.615,127,2.215,138,2.495,165,3.703,178,2.52,197,1.384,215,2.079,221,1.766,222,2.938,226,6.489,232,2.957,233,2.476,241,1.766,245,1.528,260,2.977,281,1.628,283,1.513,286,3.533,287,3.458,290,1.61,291,3.215,299,2.656,315,3.057,317,1.736,334,3.464,336,2.847,345,1.743,355,1.686,370,1.593,402,5.431,428,1.806,503,5.172,505,3.838,514,2.779,517,2.25,533,2.495,538,3.126,541,2.232,553,1.493,556,1.887,571,1.84,657,3.247,670,2.442,678,2.198,722,1.593,746,2.547,763,1.958,866,3.603,892,1.896,944,2.586,987,5.307,1010,2.328,1025,1.758,1141,3.152,1148,2.198,1219,2.826,1311,2.468,1312,2.734,1462,2.417,1489,2.166,1587,2.349,1615,2.495,1710,2.778,1775,4.341,1879,3.07,1924,2.079,2332,2.394,2509,6.638,2669,3.698,5160,3.152,7359,3.505,7360,3.698,7363,3.698,7529,3.152,7530,3.698,7540,3.989,7541,3.989,7542,3.989,7543,3.989]],["component/226",[18,0.824,987,1.427]],["title/227-1",[9,21.218,721,21.218,1070,34.949]],["name/227-1",[]],["text/227-1",[]],["component/227-1",[]],["title/227-2",[512,31.649,1012,38.173,7210,56.973]],["name/227-2",[]],["text/227-2",[]],["component/227-2",[]],["title/227",[9,16.311,29,20.193,149,17.964,721,16.311,988,27.059]],["name/227",[3,1.542]],["text/227",[1,1.606,2,2.167,9,3.736,10,2.393,29,3.057,34,1.873,61,5.021,62,1.924,63,2.305,67,5.023,70,2.961,89,4.572,94,3.215,96,3.385,106,4.157,119,4.83,120,4.177,141,3.296,408,3.068,563,4.865,721,3.736,746,3.034,800,4.326,805,3.568,821,4.011,868,5.021,903,5.806,912,5.021,966,4.326,1024,4.83,1067,5.344,1151,4.402,1395,7.299,1504,5.344,1730,5.171,2535,5.442,5994,4.483,6021,5.671,6042,6.629,6550,6.629,6909,6.629,7544,6.629,7545,6.993,7546,5.96,7547,6.993,7548,6.993,7549,6.629]],["component/227",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/228",[93,28.935,428,34.551]],["name/228",[93,0.802,428,0.958]],["text/228",[1,1.655,10,2.502,34,2.588,62,2.658,70,3.05,71,2.129,83,3.105,84,4.138,93,4.709,100,4.614,163,3.308,186,4.603,197,2.736,203,3.15,232,2.962,233,4.074,268,4.535,286,3.539,291,4.255,313,3.295,336,3.768,355,4.406,428,6.006,491,4.138,497,4.644,680,4.935,721,2.582,722,3.15,748,3.809,1148,5.743,5994,6.194]],["component/228",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/229",[70,27.136]],["name/229",[70,1.051]],["text/229",[10,3.635,68,4.461,70,3.956,83,3.597,100,4.045,129,6.264,174,5.655,203,3.649,224,3.759,253,3.442,261,3.345,395,3.91,497,5.381,672,3.959,721,4.097,722,3.649,762,6.474,804,5.197,1148,6.898,1924,4.762,5994,5.431]],["component/229",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/230",[7550,66.894]],["name/230",[7550,2.59]],["text/230",[9,3.647,34,2.171,49,3.132,63,2.671,70,3.261,71,2.36,93,3.315,96,3.922,98,3.756,106,4.817,120,4.6,125,7.117,129,5.992,153,4.073,419,4.648,428,3.958,563,3.725,721,3.647,731,4.817,839,4.892,868,5.819,930,7.368,937,5.819,2081,5.353,3009,7.117,4826,7.368,5775,7.368,5994,5.196,7250,6.908,7546,6.908,7551,8.104,7552,8.104]],["component/230",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/231",[9,14.62,71,12.058,120,18.444,336,16.151,721,14.62,756,22.569]],["name/231",[336,0.765,756,1.069]],["text/231",[34,2.396,70,2.824,84,5.061,93,3.658,96,4.329,120,5.296,124,4.517,153,4.495,163,4.046,336,3.488,428,4.369,546,7.623,547,6.336,721,3.158,738,6.105,753,5.399,756,4.874,855,5.681,5994,7.044,7553,9.65]],["component/231",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/232-1",[1,5.874,9,12.11,34,9.188,233,14.465,281,15.105,336,13.378,402,20.545,721,12.11]],["name/232-1",[]],["text/232-1",[]],["component/232-1",[]],["title/232-2",[1,7.092,9,14.62,34,11.092,159,27.351,169,21.929,721,14.62]],["name/232-2",[]],["text/232-2",[]],["component/232-2",[]],["title/232-3",[1,7.092,34,11.092,99,20.612,166,20.416,678,24.615,749,17.524]],["name/232-3",[]],["text/232-3",[]],["component/232-3",[]],["title/232",[1,7.912,34,12.375,146,26.143,152,17.748,260,18.836]],["name/232",[146,1.11,260,0.8]],["text/232",[1,2.135,9,3.265,10,2.074,34,3.339,49,2.897,62,1.059,67,2.062,71,1.121,93,1.575,99,5.581,100,1.838,107,1.823,120,1.715,146,3.43,148,2.124,151,3.381,152,2.328,157,2.804,159,5.615,162,2.164,216,2.742,223,1.564,224,4.103,233,3.161,245,1.591,257,1.488,260,4.004,268,3.991,272,2.124,281,3.744,287,1.601,311,1.596,313,1.735,328,2.006,336,2.924,337,2.255,370,2.611,402,4.49,405,3.122,513,3.284,520,2.288,530,2.517,571,1.916,672,1.799,678,2.288,679,2.208,684,2.324,708,2.423,721,3.265,722,2.611,730,1.916,738,2.628,748,2.006,749,3.913,750,3.947,753,5.132,756,4.085,757,4.09,758,2.255,766,2.111,781,5.746,799,2.402,813,1.799,839,2.324,956,2.039,1001,3.659,1054,2.086,1233,2.764,1397,2.362,1425,2.423,1489,4.39,1609,2.847,1922,2.659,2358,2.324,2403,3.122,2655,2.468,4359,3.122,5310,4.852,5775,3.5,6016,2.764,6496,5.116,7201,3.85,7554,4.154]],["component/232",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/233",[9,21.218,93,24.583,721,21.218]],["name/233",[93,1.361]],["text/233",[9,3.937,71,2.668,127,5.488,153,4.605,257,3.541,330,7.002,536,6.329,538,4.879,708,5.768,721,3.937,758,5.367,813,4.283,835,7.607,6016,6.58,6093,5.875,6556,7.81,6598,8.047,7555,9.886]],["component/233",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/234",[9,21.218,100,28.699,721,21.218]],["name/234",[100,1.589]],["text/234",[1,2.01,2,2.693,34,3.038,67,3.349,70,1.974,71,1.821,92,3.428,95,3.127,98,2.898,100,5.75,120,2.785,126,3.87,157,4.554,184,4.372,197,2.339,200,3.836,215,3.515,232,2.533,250,3.127,253,3.531,260,4.4,289,3.471,345,4.096,355,3.962,500,3.428,511,2.446,530,4.088,591,4.22,762,4.778,792,4.088,804,3.836,829,3.223,839,5.245,965,3.408,1016,4.372,1306,3.562,1409,3.717,1443,4.372,1530,4.963,1635,5.685,1924,3.515,2184,5.491,2332,4.047,2535,4.866,5495,4.698,6414,6.253,7556,6.746,7557,6.746,7558,6.746,7559,6.746,7560,6.746,7561,6.746,7562,6.253]],["component/234",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/235-1",[257,17.855,261,18.243,344,27.888,502,26.317,7563,49.846]],["name/235-1",[]],["text/235-1",[]],["component/235-1",[]],["title/235",[290,30.805,3644,62.119]],["name/235",[3644,2.922]],["text/235",[1,1.443,2,1.855,9,4.2,34,1.603,44,6.511,71,2.454,93,2.448,95,2.994,96,2.897,97,3.802,106,3.558,149,2.327,158,3.802,165,2.666,166,2.951,181,5.256,213,4.854,232,2.425,311,2.481,370,2.578,423,3.481,487,2.763,491,3.387,502,3.41,549,3.703,563,2.752,566,4.24,581,4.24,715,4.497,721,4.288,748,3.118,749,2.533,753,5.088,756,3.262,768,4.658,792,3.913,847,4.24,965,3.262,986,4.854,1079,3.344,1167,3.118,1368,3.838,1395,7.592,1413,4.298,1425,3.768,1534,4.97,1701,5.986,1716,4.186,1731,4.497,1895,5.256,2115,4.186,3045,4.086,3644,7.401,4241,5.442,5310,3.875,5438,4.97,6343,5.102,6496,5.753,7564,6.458,7565,6.458,7566,6.458,7567,5.442,7568,5.986]],["component/235",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/236-1",[9,21.218,721,21.218,1070,34.949]],["name/236-1",[]],["text/236-1",[]],["component/236-1",[]],["title/236-2",[512,31.649,1012,38.173,7210,56.973]],["name/236-2",[]],["text/236-2",[]],["component/236-2",[]],["title/236",[9,16.311,93,18.898,233,19.482,678,27.462,721,16.311]],["name/236",[3,1.542]],["text/236",[1,1.606,2,2.167,9,3.736,10,2.393,29,3.057,34,1.873,61,5.021,62,1.924,63,2.305,67,5.023,70,2.961,89,4.572,94,3.215,96,3.385,106,4.157,119,4.83,120,4.177,141,3.296,408,3.068,563,4.865,721,3.736,746,3.034,800,4.326,805,3.568,821,4.011,868,5.021,903,5.806,912,5.021,966,4.326,1024,4.83,1067,5.344,1151,4.402,1395,7.299,1504,5.344,1730,5.171,2535,5.442,5994,4.483,6021,5.671,6042,6.629,6550,6.629,6909,6.629,7544,6.629,7545,6.993,7546,5.96,7547,6.993,7548,6.993,7549,6.629]],["component/236",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/237-1",[281,20.344,336,18.019,421,22.67,723,25.807,1176,24.33]],["name/237-1",[]],["text/237-1",[]],["component/237-1",[]],["title/237-2",[281,20.344,336,18.019,422,23.571,738,31.535,1176,24.33]],["name/237-2",[]],["text/237-2",[]],["component/237-2",[]],["title/237-3",[70,16.492,233,22.029,418,28.643,1176,27.511]],["name/237-3",[]],["text/237-3",[]],["component/237-3",[]],["title/237",[87,25.981,326,27.74,678,35.723]],["name/237",[281,0.613,336,0.543,723,0.777]],["text/237",[1,1.845,2,2.686,4,1.789,9,3.804,10,2.623,26,1.5,34,1.068,51,2.633,62,1.713,66,2.099,69,1.693,70,3.752,71,1.814,87,1.723,93,1.631,96,3.015,100,1.904,119,5.295,127,2.388,149,1.55,185,2.335,195,2.69,197,2.331,211,2.429,216,1.803,220,2.606,223,1.62,224,3.402,232,1.615,233,4.544,241,1.904,245,1.647,250,1.994,253,1.62,257,1.541,260,2.54,266,2.352,281,3.376,313,1.796,324,1.723,326,2.875,328,3.994,336,2.99,370,2.683,404,2.227,408,1.749,418,2.186,419,2.286,446,2.055,491,2.256,518,2.754,539,1.975,550,2.099,562,2.241,677,2.256,684,2.407,702,2.044,704,2.948,709,1.762,721,3.519,722,3.302,723,4.282,729,2.509,730,3.1,731,2.37,738,6.418,748,2.077,749,2.636,753,5.231,758,2.335,759,3.233,760,3.263,761,1.756,794,2.352,822,2.788,837,2.904,901,2.824,949,2.556,954,4.072,992,2.286,993,2.948,1007,2.241,1008,2.37,1054,2.16,1063,2.335,1167,2.077,1197,2.863,1285,2.213,1370,2.407,1589,3.164,2358,2.407,2359,4.606,3777,5.051,5310,4.963,6016,2.863,7546,3.398,7569,4.301,7570,4.301,7571,4.301]],["component/237",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/238",[9,18.444,721,18.444,1197,37.511,2358,31.534]],["name/238",[1197,2.389]],["text/238",[1,2.053,2,3.21,4,3.3,9,4.161,10,1.695,15,2.215,29,2.166,34,2.597,49,1.915,70,3.642,71,2.552,84,2.804,96,2.398,100,2.366,120,3.274,148,4.055,149,2.858,200,3.04,203,2.134,216,3.326,224,3.262,233,4.736,260,2.997,313,3.313,324,2.142,331,3.856,345,2.336,370,2.134,446,2.554,491,2.804,513,4.748,553,2.001,668,2.609,679,2.842,684,2.991,702,2.541,712,2.842,721,4.161,730,2.466,738,3.382,749,3.111,756,5.284,840,3.239,936,3.344,992,2.842,1007,2.786,1008,2.945,1175,3.307,1176,2.609,1265,3.856,1397,3.04,1564,3.422,1924,2.786,2358,5.853,2452,3.465,2870,4.505,3242,4.697,6016,3.558,6496,3.382,7572,4.955]],["component/238",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/239-1",[487,32.651,1139,29.934]],["name/239-1",[]],["text/239-1",[]],["component/239-1",[]],["title/239-2",[1139,29.934,2891,46.72]],["name/239-2",[]],["text/239-2",[]],["component/239-2",[]],["title/239",[756,38.552,1139,29.934]],["name/239",[756,1.069,1139,0.83]],["text/239",[1,0.611,2,1.106,9,2.015,33,2.495,35,2.31,57,1.759,62,2.451,63,2.35,67,3.056,70,2.572,71,1.662,83,3.783,87,2.467,89,3.731,98,2.645,100,4.538,114,1.785,122,1.583,124,2.882,141,1.682,165,1.589,166,1.759,197,1.335,203,3.071,211,1.392,221,1.704,222,1.436,232,1.445,233,2.406,245,1.474,247,1.768,250,1.785,254,2.408,260,1.455,274,2.046,283,1.46,287,1.484,299,1.614,337,2.09,338,1.811,345,1.682,355,1.627,370,1.537,408,1.565,420,2.046,487,3.761,491,2.019,511,1.396,513,3.092,520,3.392,531,2.599,548,3.392,549,2.207,553,3.289,563,1.64,566,2.528,638,3.208,648,1.821,655,3.851,679,2.046,709,3.938,721,2.015,730,2.84,735,2.746,738,2.436,753,4.304,756,5.179,757,4.812,763,3.022,770,5.66,778,2.681,804,3.501,829,1.839,842,4.219,843,1.526,847,2.528,896,2.832,943,2.681,958,5.767,981,2.893,1030,1.64,1046,2.599,1079,1.993,1110,2.288,1139,5.304,1183,2.465,1241,3.295,1260,2.267,1295,2.105,1306,2.033,1318,1.981,1370,2.154,1425,5.128,1428,4.361,1446,2.495,1461,3.383,1489,3.342,1670,2.436,2374,4.441,2655,2.288,2662,3.383,2738,3.568,2891,5.381,2903,2.777,4549,4.627,5310,2.31,6496,4.867,6907,3.383,7573,3.85,7574,3.85,7575,3.134,7576,3.85]],["component/239",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/240",[7550,66.894]],["name/240",[7550,2.59]],["text/240",[9,2.991,49,3.274,63,2.792,70,2.674,71,2.467,96,4.1,106,5.035,109,4.59,120,4.731,122,3.759,125,7.439,563,3.894,721,3.75,731,5.035,837,6.17,839,6.412,868,6.083,913,7.033,930,7.702,1583,6.17,2081,5.595,3045,5.782,4826,7.702,5775,7.702,7250,7.22,7551,8.471,7552,8.471]],["component/240",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/241-1",[1,8.946,2,16.189,70,16.492,233,22.029]],["name/241-1",[]],["text/241-1",[]],["component/241-1",[]],["title/241-2",[70,18.972,233,25.343,2358,36.278]],["name/241-2",[]],["text/241-2",[]],["component/241-2",[]],["title/241",[9,21.218,721,21.218,2358,36.278]],["name/241",[2358,2.009]],["text/241",[1,1.84,2,2.234,4,3.236,9,3.932,10,2.467,15,2.158,34,2.312,69,2.05,70,3.866,71,1.406,83,2.05,87,2.087,89,3.156,93,1.974,99,2.403,107,2.285,122,3.199,124,2.438,146,2.731,149,3.355,203,2.079,220,4.713,222,1.943,224,2.142,233,5.024,245,2.979,257,2.786,260,1.968,266,6.044,311,2.001,324,2.087,326,3.328,370,3.106,408,2.118,446,2.488,487,2.228,513,2.615,553,1.949,581,3.419,638,2.714,668,3.797,684,4.352,702,2.475,721,3.932,738,3.295,749,3.051,753,2.914,756,5.217,799,3.012,813,2.256,992,2.768,993,5.331,1007,2.714,1008,2.869,1027,2.768,1054,2.615,1167,2.515,1175,3.222,1397,2.961,1564,3.334,1782,4.114,2358,2.914,2870,4.389,5048,4.389,6496,5.89,7227,4.114,7577,5.208]],["component/241",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/242-1",[487,32.651,735,23.839]],["name/242-1",[]],["text/242-1",[]],["component/242-1",[]],["title/242-2",[735,23.839,2891,46.72]],["name/242-2",[]],["text/242-2",[]],["component/242-2",[]],["title/242",[89,39.289,735,20.254,756,32.754]],["name/242",[89,0.909,735,0.469,756,0.758]],["text/242",[1,0.594,2,1.075,9,1.225,10,1.187,15,1.551,18,2.87,38,0.914,46,1.468,57,1.71,62,2.416,63,3.968,70,2.773,71,1.624,83,1.473,87,3.797,89,4.574,100,4.195,114,1.735,122,2.475,124,1.752,126,1.545,166,1.71,197,1.298,203,3.014,211,3.847,232,1.405,233,2.353,234,1.172,245,1.433,274,3.199,283,1.419,345,1.635,355,1.582,370,3.014,487,3.7,520,3.316,531,2.527,548,3.316,549,2.146,553,3.546,563,1.595,638,3.136,655,3.765,672,1.621,690,1.891,709,3.543,721,1.225,730,2.777,735,4.268,749,2.961,750,1.827,753,2.094,756,5.114,757,3.765,770,2.753,778,2.606,783,1.283,804,2.128,829,2.876,846,2.832,847,2.457,872,2.246,890,3.014,925,2.268,928,1.761,958,5.686,995,2.491,1046,2.527,1063,2.032,1079,1.938,1241,3.222,1295,2.047,1419,7.403,1489,2.032,1574,2.368,1635,3.154,1670,2.368,2655,2.224,2891,5.802,4368,4.342,4549,4.524,5310,2.246,6416,3.289,6496,4.776,6847,2.753,6925,3.154,7578,3.743,7579,3.743,7580,5.072,7581,5.579,7582,3.743]],["component/242",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/243",[63,19.807,724,34.704,756,32.754]],["name/243",[63,0.458,724,0.803,756,0.758]],["text/243",[4,2.854,9,2.245,10,3.448,15,2.843,38,1.676,63,3.76,70,2.007,71,1.852,86,4.859,87,2.749,89,5.747,91,3.092,122,2.821,124,4.44,154,2.935,166,3.135,169,3.367,222,2.559,232,2.576,234,2.148,238,5.42,299,2.877,408,4.42,487,2.935,563,4.632,690,3.466,721,2.245,724,6.277,730,3.165,735,2.143,740,3.809,742,3.466,753,3.839,756,5.491,783,2.352,804,3.901,807,4.34,842,4.702,846,3.228,890,3.787,919,4.077,928,3.228,944,4.447,960,5.156,995,4.566,998,2.985,1208,3.752,1259,3.809,1574,4.34,1710,6.605,5978,6.978,6238,6.359,7583,5.781,7584,6.028]],["component/243",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/244-1",[821,49.296]],["name/244-1",[]],["text/244-1",[]],["component/244-1",[]],["title/244-2",[958,55.64]],["name/244-2",[]],["text/244-2",[]],["component/244-2",[]],["title/244-3",[683,51.887]],["name/244-3",[]],["text/244-3",[]],["component/244-3",[]],["title/244-4",[130,56.194]],["name/244-4",[]],["text/244-4",[]],["component/244-4",[]],["title/244",[730,35.208,756,38.552]],["name/244",[730,0.976,756,1.069]],["text/244",[4,1.795,9,2.903,10,0.796,15,1.04,36,1.061,41,1.343,55,1.536,62,2.113,68,1.225,69,0.988,70,2.74,71,1.164,75,1.505,83,2.233,87,2.274,88,1.747,93,0.951,98,1.078,100,1.111,122,3.121,130,2.614,149,0.904,152,0.893,169,3.306,197,1.496,203,2.689,216,2.379,221,1.111,222,0.936,223,0.945,229,1.087,230,1.451,232,2.529,233,2.218,245,0.961,247,1.152,250,3.123,283,1.636,286,1.126,290,2.29,291,1.024,311,0.964,327,3.08,345,1.885,406,1.232,420,1.334,430,1.67,487,2.427,491,1.316,506,1.846,511,0.91,513,2.166,539,1.152,541,1.404,548,1.382,553,3.663,562,1.308,571,1.158,581,1.648,638,1.308,668,1.225,683,3.769,709,4.411,721,2.903,722,1.722,730,4.516,731,2.377,734,1.175,735,2.37,748,1.212,749,1.692,750,1.225,753,2.414,756,4.945,757,6.354,776,1.477,799,3.281,804,3.226,810,1.308,821,3.016,822,1.626,829,3.625,832,1.588,841,1.087,843,3.516,845,1.694,846,1.181,855,1.477,875,1.477,890,3.908,916,1.464,919,2.563,923,1.334,925,4.598,954,1.52,958,7.476,1025,1.106,1027,1.334,1038,1.781,1045,1.777,1046,1.694,1063,1.362,1139,2.976,1166,1.747,1208,1.372,1233,1.67,1241,5.013,1249,1.464,1252,1.648,1295,3.103,1306,1.325,1311,1.552,1312,1.72,1324,2.129,1397,1.427,1400,1.404,1489,1.362,1576,1.427,1607,1.931,1655,1.536,1839,1.67,1968,1.931,2015,3.83,2026,1.352,2187,1.81,2192,3.173,2247,2.114,2274,1.747,2358,1.404,2400,2.495,2403,1.886,2452,1.626,2655,1.491,2891,8.106,3064,3.635,3269,1.81,4728,4.771,5310,3.404,5430,2.326,5538,1.886,6048,2.205,6370,1.931,6496,5.925,6938,4.986,7585,2.114,7586,2.509,7587,2.509,7588,2.326,7589,2.042]],["component/244",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/245-1",[70,22.331,487,32.651]],["name/245-1",[]],["text/245-1",[]],["component/245-1",[]],["title/245-2",[70,22.331,2891,46.72]],["name/245-2",[]],["text/245-2",[]],["component/245-2",[]],["title/245",[70,22.331,756,38.552]],["name/245",[756,1.069,821,1.125]],["text/245",[1,1.37,2,2.718,9,2.465,10,2.389,15,3.122,58,4.048,62,1.921,63,2.301,68,1.821,69,1.469,70,4.013,71,2.728,83,3.724,87,1.495,100,4.188,122,1.534,124,4.43,126,1.54,146,3.149,186,2.177,203,3.778,204,2.261,211,1.349,221,1.652,224,1.534,229,1.616,233,3.951,245,1.429,247,1.713,253,1.405,260,2.269,268,1.623,281,1.523,286,1.674,289,3.089,290,2.423,311,1.434,313,1.558,355,1.577,370,1.49,395,3.223,487,3.694,491,3.149,498,1.852,531,2.519,548,3.308,549,3.442,553,3.231,566,2.45,581,2.45,622,2.158,638,1.944,655,2.334,672,2.601,684,3.359,709,3.086,721,3.096,730,1.721,735,2.697,748,1.802,749,2.355,753,2.088,756,5.107,757,4.712,806,2.598,810,1.944,843,1.479,890,2.397,925,2.261,958,4.52,1001,2.088,1185,2.158,1233,2.483,1241,3.214,1295,4.12,1406,4.823,1417,2.011,1425,2.177,1489,2.026,1497,2.45,1623,5.059,1771,3.037,2037,2.361,2206,7.275,2655,2.217,2757,2.643,2778,2.598,2891,5.792,5279,3.037,5310,2.239,6016,3.996,6343,2.948,6496,4.766,6511,2.691,7575,3.037,7590,3.144,7591,3.144]],["component/245",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/246-1",[487,32.651,843,30.252]],["name/246-1",[]],["text/246-1",[]],["component/246-1",[]],["title/246-2",[843,30.252,2891,46.72]],["name/246-2",[]],["text/246-2",[]],["component/246-2",[]],["title/246",[756,38.552,843,30.252]],["name/246",[756,1.069,843,0.839]],["text/246",[1,0.592,2,1.072,9,1.221,10,2.389,15,1.546,18,1.509,38,2.597,46,1.463,62,2.412,69,1.469,70,2.526,71,1.62,83,3.398,89,3.638,93,1.415,96,1.674,100,3.335,119,2.389,122,2.469,124,3.527,126,1.54,166,1.705,169,1.831,175,2.197,183,1.674,186,2.177,203,2.397,204,3.638,211,1.349,224,2.469,232,2.254,233,2.347,245,2.299,253,1.405,260,2.269,268,1.623,286,1.674,313,1.558,336,1.349,355,1.577,370,1.49,380,1.577,487,3.694,491,1.957,513,1.874,540,2.261,548,3.308,549,2.139,553,2.247,563,3.21,566,3.942,638,1.944,653,2.284,655,2.334,672,3.264,690,1.885,709,2.46,712,1.983,721,1.221,730,1.721,735,1.165,749,2.955,753,3.359,756,5.369,757,5.4,770,4.417,799,4.357,804,4.909,807,2.361,810,1.944,818,1.863,842,4.115,843,5.268,844,4.115,890,1.49,924,3.568,957,1.896,958,4.52,980,2.691,995,2.483,1027,1.983,1176,1.821,1233,2.483,1241,3.214,1285,1.92,1295,2.04,1397,2.122,1419,3.892,1425,3.503,1428,2.643,1489,3.259,1775,4.115,2072,5.107,2101,4.115,2184,3.037,2185,3.996,2332,2.239,2655,2.217,2823,3.278,2891,5.285,2899,2.745,2905,2.361,3362,2.361,3814,2.871,5310,4.52,6198,2.643,6477,3.458,6496,6.396,6498,3.278,6511,2.691,6847,4.417,7575,3.037,7592,3.731]],["component/246",[9,0.623,149,0.686,721,0.623,988,1.034]],["title/247-1",[10,17.875,71,15.212,277,42.361,1061,23.267]],["name/247-1",[]],["text/247-1",[]],["component/247-1",[]],["title/247-2",[93,28.935,299,32]],["name/247-2",[]],["text/247-2",[]],["component/247-2",[]],["title/247-3",[71,13.453,410,37.463,754,31.911,833,42.003,1061,20.577]],["name/247-3",[]],["text/247-3",[]],["component/247-3",[]],["title/247-4",[2010,46.245,7593,64.312]],["name/247-4",[]],["text/247-4",[]],["component/247-4",[]],["title/247",[127,51.484]],["name/247",[127,1.993]],["text/247",[9,3.665,10,3.552,29,1.927,49,2.602,70,1.392,71,3.023,87,1.906,93,3.341,100,2.106,127,2.641,128,3.37,133,3.576,197,2.52,211,2.626,218,3.99,224,1.957,229,2.061,233,1.86,253,2.736,257,1.704,266,2.602,272,5.727,277,7.985,281,1.942,286,2.134,326,3.771,337,2.583,408,1.935,410,8.757,446,2.273,495,2.31,514,2.088,521,2.943,536,3.046,569,2.683,571,2.195,581,4.77,606,3.661,634,2.662,677,3.81,708,2.776,721,3.477,723,4.563,738,3.01,746,1.913,749,2.85,751,3.37,753,4.931,754,6.315,810,2.479,833,9.818,852,2.184,893,5.913,902,5.345,954,2.883,985,5.345,998,3.161,1052,3.37,1061,3.638,1151,2.776,1175,2.943,1212,3.212,1227,3.212,1464,5.513,1882,7.115,1922,3.046,1970,2.976,2969,4.41,4644,6.122,5310,4.359,6016,3.166,6075,3.37,6598,3.872,6724,4.18,6745,4.41,6810,4.18,7593,6.122,7594,4.41]],["component/247",[9,0.788,18,0.605,721,0.788]],["title/248",[211,27.589,299,32]],["name/248",[211,0.765,299,0.888]],["text/248",[]],["component/248",[9,0.788,18,0.605,721,0.788]],["title/249-1",[36,39.196]],["name/249-1",[]],["text/249-1",[]],["component/249-1",[]],["title/249-2",[149,27.505,988,41.432]],["name/249-2",[]],["text/249-2",[]],["component/249-2",[]],["title/249",[9,18.444,18,14.165,29,22.833,721,18.444]],["name/249",[3,1.542]],["text/249",[1,1.82,2,2.627,9,3.893,10,1.603,29,2.048,34,2.271,36,3.866,38,2.235,45,3.033,63,1.544,67,3.776,68,2.468,70,3.193,71,2.053,78,4.393,89,4.61,93,1.917,100,2.238,114,2.344,120,4.201,122,3.129,124,2.367,148,2.585,149,3.296,159,4.657,164,2.725,165,2.087,175,4.479,186,2.95,218,2.289,245,2.913,257,1.811,281,3.105,313,2.111,315,1.962,316,2.524,336,1.828,355,2.137,370,2.018,408,2.056,423,2.725,426,3.095,511,1.833,517,5.158,536,3.237,716,2.899,721,3.752,724,2.706,726,3.89,727,3.319,729,2.95,747,4.115,748,2.441,749,1.983,755,2.875,763,2.481,783,1.733,807,3.199,823,3.493,829,2.416,832,3.199,843,3.626,848,2.725,849,2.687,850,2.652,855,2.976,856,3.033,875,2.976,960,3.8,983,3.095,988,2.745,1015,3.095,1139,1.983,1166,3.521,1168,3.647,1176,2.468,1285,2.601,1585,4.995,1600,3.719,2463,4.115,2680,4.26,2891,3.095,2892,3.89,2905,3.199,3093,3.581,4550,4.115,5978,3.719,7595,4.686]],["component/249",[9,0.788,18,0.605,721,0.788]],["title/250-1",[67,46.033]],["name/250-1",[]],["text/250-1",[]],["component/250-1",[]],["title/250-2",[7596,78.148]],["name/250-2",[]],["text/250-2",[]],["component/250-2",[]],["title/250-3",[287,29.423,729,44.527]],["name/250-3",[]],["text/250-3",[]],["component/250-3",[]],["title/250-4",[795,57.361,7567,64.312]],["name/250-4",[]],["text/250-4",[]],["component/250-4",[]],["title/250",[729,54.106]],["name/250",[729,2.095]],["text/250",[1,1.438,2,1.285,9,3.262,10,0.83,15,2.427,34,1.932,36,4.036,38,1.093,42,2.014,45,1.571,49,0.938,51,1.603,63,0.8,67,3.439,70,2.027,71,1.87,87,2.776,96,1.174,98,1.125,99,1.208,100,4.837,114,2.074,120,1.847,126,2.86,127,3.252,130,1.586,145,1.355,149,2.111,159,4.765,164,2.411,165,1.847,174,3.624,175,3.448,178,1.779,184,2.899,203,2.766,216,1.098,218,2.652,219,1.488,221,2.592,223,1.685,224,1.077,230,2.587,233,3.733,244,2.485,245,1.713,247,3.181,257,2.098,260,0.989,274,2.378,281,2.828,286,1.174,287,3.493,313,1.093,315,2.273,324,1.049,326,2.506,329,2.316,336,0.946,355,1.106,370,2.338,404,1.355,408,1.064,432,1.432,491,1.373,505,1.586,511,1.622,520,1.442,550,1.278,552,1.33,628,1.719,655,1.637,672,3.372,677,1.373,679,2.378,702,1.244,716,1.501,720,3.362,721,2.547,724,1.401,726,7.671,727,5.11,728,3.93,729,7.451,730,1.208,731,1.442,734,1.226,738,4.924,745,1.637,746,1.053,747,2.131,748,2.828,753,3.277,795,5.208,824,1.742,829,2.137,831,2.61,839,1.465,843,1.773,848,1.411,849,1.392,850,1.373,852,1.202,856,1.571,888,1.888,918,1.278,924,1.556,940,1.823,950,4.334,957,1.33,962,1.637,965,1.322,966,1.501,998,1.946,1024,1.676,1025,1.154,1061,1.081,1139,1.027,1167,1.264,1178,3.75,1202,6.888,1360,1.926,1459,2.131,1488,1.421,1585,5.11,1641,2.131,1924,1.364,1926,1.421,1974,1.656,2285,4.627,2335,2.3,2348,1.854,2364,3.93,2891,1.603,3362,1.656,5310,3.514,5978,1.926,6336,1.926,7209,8.759,7567,3.769,7596,3.769,7597,4.146,7598,2.618,7599,2.426,7600,5.429,7601,4.473,7602,2.618,7603,2.618,7604,2.618]],["component/250",[9,0.788,18,0.605,721,0.788]],["title/251",[1,12.114,2,21.922]],["name/251",[1,0.336,2,0.608]],["text/251",[]],["component/251",[9,0.788,18,0.605,721,0.788]],["title/252",[1,12.114,34,18.948]],["name/252",[1,0.336,34,0.526]],["text/252",[]],["component/252",[9,0.788,18,0.605,721,0.788]],["title/253",[1465,60.891]],["name/253",[3,1.542]],["text/253",[]],["component/253",[9,0.788,18,0.605,721,0.788]],["title/254-1",[100,33.781,336,27.589]],["name/254-1",[]],["text/254-1",[]],["component/254-1",[]],["title/254-2",[336,27.589,738,48.284]],["name/254-2",[]],["text/254-2",[]],["component/254-2",[]],["title/254-3",[729,44.527,796,52.304]],["name/254-3",[]],["text/254-3",[]],["component/254-3",[]],["title/254",[100,33.781,738,48.284]],["name/254",[3,1.542]],["text/254",[4,2.327,9,3.499,15,3.398,36,2.364,49,2.003,52,3.207,67,2.776,71,1.509,92,4.167,93,2.12,94,2.383,100,5.441,127,3.105,128,3.961,149,2.016,152,1.991,163,3.438,166,2.556,174,3.46,184,5.315,216,2.345,223,2.107,229,2.423,245,2.142,247,2.568,253,3.089,286,2.509,287,3.743,318,3.776,326,2.393,336,3.51,370,2.233,498,2.776,511,2.028,568,2.672,672,2.423,721,1.83,726,6.31,729,6.642,738,8.273,748,5.163,749,2.194,764,3.833,795,6.163,796,3.833,837,7.218,839,5.982,916,3.263,951,2.809,998,3.567,1148,3.081,1178,3.581,1202,5.915,1309,6.545,2100,3.234,2285,6.478,2364,4.914,2621,3.833,7209,7.205,7567,4.713,7596,4.713,7597,5.184,7600,5.184,7605,5.184,7606,5.593]],["component/254",[9,0.788,18,0.605,721,0.788]],["title/255-1",[92,28.643,563,24.015,951,28.303,6597,47.495]],["name/255-1",[]],["text/255-1",[]],["component/255-1",[]],["title/255",[9,21.218,92,32.951,721,21.218]],["name/255",[92,1.825]],["text/255",[4,1.215,9,0.956,15,3.083,35,1.752,38,1.199,67,4.459,71,0.788,81,2.308,92,6.436,93,1.861,96,2.202,98,2.109,100,4.768,107,2.154,120,2.621,152,1.748,159,3.886,163,1.225,167,5.038,219,2.791,223,1.849,244,1.24,253,3.384,257,1.046,261,1.069,281,1.192,287,3.198,317,1.271,335,4.313,336,1.056,370,1.166,372,3.777,546,5.877,563,1.245,721,0.956,729,4.34,730,2.264,734,1.367,738,7.173,744,1.788,749,3.254,750,2.396,757,1.827,764,4.351,776,1.72,804,3.61,836,6.318,837,5.6,842,3.364,843,1.946,848,1.574,849,1.553,850,1.532,853,3.364,951,3.736,966,1.675,1025,1.287,1148,2.704,1309,5.078,1395,2.107,1416,1.484,1419,1.893,2072,2.48,2100,4.797,2192,2.149,3093,3.477,3927,2.707,4393,5.884,5048,2.461,5319,4.55,6006,4.55,6597,2.461,7607,9.55,7608,8.984,7609,4.909,7610,6.349,7611,4.909,7612,4.909,7613,4.909,7614,4.909,7615,4.909,7616,4.909,7617,2.921,7618,4.909,7619,2.921]],["component/255",[9,0.788,18,0.605,721,0.788]],["title/256",[1,10.292,34,16.098,120,26.767]],["name/256",[1,0.336,34,0.526]],["text/256",[]],["component/256",[9,0.788,18,0.605,721,0.788]],["title/257",[848,34.949,849,34.466,850,34.008]],["name/257",[853,2.46]],["text/257",[1,1.482,2,2.973,9,1.712,10,2.96,38,1.278,39,2.037,49,1.874,58,2.238,63,3.675,87,2.096,93,1.983,96,2.346,107,2.295,120,3.221,211,2.821,223,1.97,232,1.964,245,2.988,247,2.401,283,1.983,291,2.135,313,2.184,355,2.211,370,4.636,379,2.39,395,2.238,432,5.66,491,2.743,511,1.897,542,3.052,548,2.882,672,2.266,680,3.272,721,1.712,742,2.642,748,2.526,749,2.051,753,5.223,789,3.138,805,3.69,821,4.148,843,3.7,848,5.031,849,4.962,850,4.896,853,8.951,855,5.495,856,6.643,866,1.926,973,3.39,1001,5.223,1025,2.305,1035,2.904,1070,2.819,1076,6.658,1111,3.052,1137,2.78,1148,2.882,1419,3.39,1428,3.705,1465,3.434,1715,4.132,1718,4.132,1852,3.481,4940,6.857,5167,4.848,5310,3.138,5538,3.931,7549,4.596]],["component/257",[9,0.788,18,0.605,721,0.788]],["title/258",[724,40.849,6256,60.293]],["name/258",[724,1.922]],["text/258",[]],["component/258",[9,0.788,18,0.605,721,0.788]],["title/259",[36,39.196]],["name/259",[3,1.542]],["text/259",[1,1.561,2,2.077,9,2.366,10,2.293,34,1.795,36,4.155,38,2.402,45,4.337,63,2.208,67,3.588,68,3.529,70,3.269,71,1.951,78,3.472,89,4.381,100,3.2,114,3.351,120,4.059,124,3.384,149,2.605,159,4.426,175,4.256,218,3.273,245,2.768,281,2.951,316,3.609,336,2.613,426,4.426,517,5.545,716,4.145,721,2.366,724,3.869,747,5.884,748,3.491,749,2.836,807,4.574,823,3.319,829,3.454,832,4.574,843,3.897,848,3.897,849,3.843,850,3.792,855,4.256,856,4.337,875,4.256,1168,5.215,1176,3.529,1585,4.747,2463,5.884,2891,4.426,2892,5.563,2905,4.574,3093,5.121,4550,5.884,5978,5.318,7595,6.701]],["component/259",[9,0.788,18,0.605,721,0.788]],["title/260-1",[38,15.841,843,25.702,1452,30.979]],["name/260-1",[]],["text/260-1",[]],["component/260-1",[]],["title/260-2",[149,23.368,843,25.702,6198,45.925]],["name/260-2",[]],["text/260-2",[]],["component/260-2",[]],["title/260-3",[204,39.289,2072,32.754,2101,44.436]],["name/260-3",[]],["text/260-3",[]],["component/260-3",[]],["title/260-4",[1241,40.849,1974,48.284]],["name/260-4",[]],["text/260-4",[]],["component/260-4",[]],["title/260-5",[1208,41.735,2072,38.552]],["name/260-5",[]],["text/260-5",[]],["component/260-5",[]],["title/260-6",[45,38.902,218,29.354,3362,41.022]],["name/260-6",[]],["text/260-6",[]],["component/260-6",[]],["title/260",[120,31.506,843,30.252]],["name/260",[120,1.482]],["text/260",[1,0.432,2,0.781,9,2.724,10,0.473,11,1.039,16,1.81,29,0.604,36,1.584,38,2.928,39,1.8,41,1.456,45,1.632,46,1.067,49,1.343,54,0.887,56,1.446,62,0.693,68,0.728,69,0.587,70,2.329,71,2.622,82,1.007,87,2.414,94,0.636,95,0.692,106,0.822,107,2.028,109,2.698,116,3.1,120,0.616,122,0.614,141,0.652,149,3,152,0.531,153,1.267,154,1.603,159,0.913,161,0.655,163,0.626,175,2.206,178,1.491,182,0.993,183,0.669,186,2.696,194,0.709,197,1.3,204,3.651,211,3.59,216,0.626,218,2.728,223,1.412,224,1.118,229,1.623,232,1.021,233,1.806,245,1.435,247,0.685,260,4.08,268,2.337,274,1.446,281,0.609,283,0.566,286,0.669,287,0.575,299,0.626,301,0.841,313,1.93,315,1.056,324,0.598,326,1.164,329,0.772,332,0.763,336,0.539,338,1.763,345,0.652,355,3.519,370,1.086,381,2.672,406,0.732,421,0.679,428,1.231,487,2.298,491,0.782,495,0.724,498,0.741,501,0.923,502,1.979,511,1.359,513,0.749,517,0.841,520,0.822,539,0.685,549,0.855,550,2.622,553,1.018,562,0.777,563,0.636,571,2.132,671,0.666,672,3.078,674,2.149,679,1.446,696,0.768,702,0.709,704,1.022,709,1.114,716,3.455,721,2.724,734,1.754,736,1.214,739,1.257,742,2.714,748,3.186,749,0.585,753,3.692,756,0.754,773,0.863,793,0.878,799,0.863,818,1.871,820,1.391,821,0.793,824,1.81,829,0.713,832,0.944,840,0.904,841,0.646,842,1.022,843,5.027,844,1.022,845,2.53,862,0.933,866,1.002,874,1.311,875,0.878,877,1.022,890,0.596,897,1.057,902,1.098,913,1.148,918,0.728,922,0.98,924,2.746,931,1.426,945,1.836,957,2.73,962,3.36,985,2.001,997,2.424,1025,0.657,1035,0.828,1038,0.616,1054,0.749,1079,0.772,1130,0.549,1137,0.793,1148,0.822,1150,0.944,1151,0.87,1167,0.72,1168,1.076,1173,1.214,1176,1.829,1208,4.353,1233,3.076,1241,0.799,1285,0.768,1304,2.049,1319,0.841,1369,1.701,1419,2.429,1425,1.587,1428,1.926,1430,1.456,1438,1.214,1451,0.98,1452,3.803,1489,0.81,1531,0.782,1583,1.836,1676,0.944,1715,1.179,1731,1.039,1775,1.022,1839,0.993,1922,0.955,1938,1.007,1974,3.812,2026,3.556,2072,6.325,2101,3.167,2158,4.595,2184,1.214,2185,4.01,2404,2.817,2686,1.057,2841,1.022,2891,0.913,2892,1.148,2899,2.757,2905,5.036,2984,2.757,3045,0.944,3270,0.713,3362,3.812,3814,2.093,3823,1.383,4332,1.311,4335,1.311,4342,1.257,4407,1.311,4701,2.757,4702,1.257,5164,1.864,5310,5.958,5325,2.757,6016,0.993,6053,2.521,6198,5.032,6511,1.962,6917,1.257,7593,1.257,7599,1.383,7620,1.492,7621,1.492,7622,1.492,7623,1.492,7624,1.492,7625,1.383]],["component/260",[9,0.788,18,0.605,721,0.788]],["title/261-1",[135,54.056,2909,67.059]],["name/261-1",[]],["text/261-1",[]],["component/261-1",[]],["title/261-2",[135,54.056,847,50.11]],["name/261-2",[]],["text/261-2",[]],["component/261-2",[]],["title/261-3",[38,15.841,829,30.979,843,25.702]],["name/261-3",[]],["text/261-3",[]],["component/261-3",[]],["title/261-4",[735,23.839,829,36.464]],["name/261-4",[]],["text/261-4",[]],["component/261-4",[]],["title/261-5",[829,36.464,1139,29.934]],["name/261-5",[]],["text/261-5",[]],["component/261-5",[]],["title/261-6",[70,22.331,829,36.464]],["name/261-6",[]],["text/261-6",[]],["component/261-6",[]],["title/261-7",[2681,62.607]],["name/261-7",[]],["text/261-7",[]],["component/261-7",[]],["title/261",[2,21.922,829,36.464]],["name/261",[829,1.715]],["text/261",[1,0.231,2,0.418,6,2.866,9,1.482,10,1.673,15,0.603,16,0.968,35,0.873,37,0.627,38,2.982,39,3.447,41,1.963,46,1.042,49,2.121,52,0.834,62,0.935,63,1.809,66,0.71,68,2.211,69,1.444,70,2.745,71,1.888,78,0.698,87,4.667,91,2.042,107,0.638,114,0.674,122,2.169,124,2.469,126,0.6,135,4.195,144,0.89,154,0.622,156,1.225,166,0.665,169,0.714,173,2.713,175,0.856,178,1.459,180,1.537,211,3.476,221,0.644,222,0.542,223,1.001,224,1.863,229,2.812,232,0.546,234,1.149,244,0.617,247,0.668,257,0.521,260,0.55,261,0.972,264,0.82,268,1.971,274,2.408,281,1.084,286,2.032,290,2.39,299,1.114,313,2.711,324,0.583,329,2.346,334,2.477,337,1.991,370,2.106,375,1.422,378,1.07,380,0.615,421,0.661,422,0.688,423,0.784,428,1.661,495,0.706,498,1.319,502,0.768,505,3.934,511,2.147,513,5.579,514,0.638,532,1.701,538,0.718,539,1.22,541,0.814,542,0.848,547,0.955,548,0.801,550,1.79,553,0.544,563,3.889,584,1.997,622,1.537,628,1.745,638,1.911,659,1.722,668,0.71,672,4.346,674,0.834,681,3.475,690,0.735,721,1.482,723,0.753,730,0.671,735,2.765,742,1.342,744,0.89,745,2.834,749,2.546,755,0.827,770,3.333,772,0.695,783,0.499,789,0.873,799,0.841,804,2.576,810,0.758,812,3.747,817,1.882,818,1.831,821,0.773,829,5.184,843,3.508,844,3.105,847,3.463,916,1.55,923,3.451,924,0.864,940,1.013,949,2.692,957,3.785,962,1.662,972,0.856,992,1.412,1001,0.814,1025,0.641,1029,0.647,1046,3.058,1054,0.73,1071,1.119,1072,0.753,1079,1.899,1110,0.864,1113,4.329,1139,3.935,1176,1.79,1180,0.82,1181,1.093,1214,0.89,1259,0.807,1293,0.955,1304,4.675,1318,0.748,1366,2.554,1400,0.814,1417,0.784,1452,0.695,1497,2.975,1512,2.476,1574,0.92,1689,0.968,1696,1.07,1726,0.931,1839,0.968,1908,0.982,1924,0.758,2072,2.288,2073,1.149,2081,3.974,2134,3.747,2138,4.996,2167,3.405,2174,1.049,2183,1.348,2185,3.51,2208,6.924,2209,1.225,2504,1.07,2535,1.917,2555,1.03,2681,0.982,2761,1.093,2778,3.155,2899,1.955,2903,1.917,2907,2.045,2909,1.278,2986,1.07,2987,1.03,2988,0.91,2995,2.441,3048,1.225,3093,1.03,3122,1.184,3202,1.278,4791,3.091,4978,3.333,5112,1.225,5164,1.821,5357,1.278,6032,3.223,6328,1.348,6511,1.917,6847,5.479,7580,1.225,7581,1.348,7590,2.239,7591,4.444,7626,1.454,7627,1.454,7628,2.335,7629,1.454,7630,1.348,7631,2.657]],["component/261",[9,0.788,18,0.605,721,0.788]],["title/262-1",[37,40.006]],["name/262-1",[]],["text/262-1",[]],["component/262-1",[]],["title/262-2",[958,55.64]],["name/262-2",[]],["text/262-2",[]],["component/262-2",[]],["title/262-3",[100,28.699,958,38.902,4549,48.733]],["name/262-3",[]],["text/262-3",[]],["component/262-3",[]],["title/262-4",[553,24.264,634,36.278,958,38.902]],["name/262-4",[]],["text/262-4",[]],["component/262-4",[]],["title/262-5",[2891,56.771]],["name/262-5",[]],["text/262-5",[]],["component/262-5",[]],["title/262-6",[130,56.194]],["name/262-6",[]],["text/262-6",[]],["component/262-6",[]],["title/262-7",[3495,75.483]],["name/262-7",[]],["text/262-7",[]],["component/262-7",[]],["title/262-8",[902,68.224]],["name/262-8",[]],["text/262-8",[]],["component/262-8",[]],["title/262-9",[178,30.361,829,36.464]],["name/262-9",[]],["text/262-9",[]],["component/262-9",[]],["title/262",[730,42.783]],["name/262",[730,1.656]],["text/262",[1,1.216,2,0.879,4,1.273,9,2.34,10,1.324,15,0.704,16,1.131,29,0.688,34,1.63,36,0.718,37,0.733,38,1.872,41,0.909,49,0.609,55,1.873,56,1.627,62,1.064,63,1.275,69,0.669,70,2.242,71,1.772,75,1.019,83,1.643,87,1.673,97,1,99,2.354,100,3.391,102,1.686,113,1.342,118,8.656,130,4.642,149,1.839,152,1.817,154,0.727,159,1.04,161,0.746,163,2.998,167,4.07,173,0.874,175,3.468,178,2.343,180,0.983,197,1.448,203,1.222,218,0.769,219,0.966,222,0.634,223,0.64,233,2.994,234,0.532,247,0.78,257,1.096,260,1.928,274,1.627,281,4.082,283,2.489,286,0.762,287,1.18,290,0.686,311,0.653,313,1.743,315,0.66,327,0.922,328,2.015,332,0.869,336,3.615,345,0.742,355,1.764,370,2.854,377,1.01,379,0.776,404,1.584,421,1.392,422,1.974,491,0.891,498,0.843,511,1.514,514,0.746,520,1.686,542,0.991,549,0.974,553,2.867,563,0.724,566,1.116,571,0.784,591,1.063,593,1.25,634,5.459,656,1.147,669,1.204,672,0.736,674,1.754,680,1.914,681,2.731,683,2.335,684,0.951,709,2.091,721,2.148,730,3.298,735,1.304,736,1.383,738,3.229,740,0.943,745,3.684,748,3.452,749,0.666,750,0.829,753,3.295,763,1.502,767,1.412,783,0.583,799,0.983,807,1.936,810,0.885,812,2.641,816,6.282,821,0.903,823,1.916,829,4.395,832,1.075,835,1.308,841,1.326,843,3.037,844,4.499,846,1.44,847,2.009,853,1.165,855,1,875,1,902,2.251,904,1.673,924,1.01,957,0.864,958,7.039,992,0.903,998,1.331,1018,0.966,1025,1.348,1046,2.818,1052,1.204,1054,1.537,1110,1.01,1137,0.903,1139,2.31,1167,0.82,1168,1.226,1176,0.829,1214,1.873,1241,0.909,1258,1.131,1264,0.897,1304,0.929,1319,0.958,1368,1.01,1425,1.785,1428,2.956,1429,1.546,1448,1.25,1464,1.063,1468,1.116,1494,1.342,1579,1.204,1730,1.165,1924,0.885,1963,1.165,1970,1.063,2024,1.131,2072,1.546,2081,1.873,2138,1.308,2167,1.277,2185,2.036,2222,3.071,2227,1.432,2272,3.397,2274,1.183,2312,1.575,2400,3.796,2891,6.384,2892,1.308,2907,3.212,2988,1.063,3269,1.226,3495,3.397,4233,1.575,4356,5.648,4549,2.3,4728,2.167,4791,1.432,4793,1.277,4832,1.342,4978,2.251,5164,1.165,5310,1.019,5325,2.251,6016,1.131,6021,1.277,6048,2.689,6329,1.493,6847,5.636,6905,2.836,6938,2.689,7588,1.575,7596,1.432,7632,1.699,7633,1.575,7634,1.699,7635,1.699,7636,1.699,7637,5.89,7638,1.699,7639,1.699]],["component/262",[9,0.788,18,0.605,721,0.788]],["title/263-1",[9,14.62,175,26.304,281,18.236,336,16.151,721,14.62,723,23.132]],["name/263-1",[]],["text/263-1",[]],["component/263-1",[]],["title/263",[9,21.218,721,21.218,1070,34.949]],["name/263",[9,0.693,721,0.693]],["text/263",[1,1.322,2,1.947,4,1.809,9,4.086,10,2.641,29,3.81,36,2.864,51,2.661,58,2.899,62,1.728,66,2.122,69,2.667,70,3.653,71,2.248,87,1.742,100,1.924,119,2.783,122,1.788,149,2.442,159,2.661,175,4.903,185,3.679,197,2.888,203,3.325,224,2.787,232,1.632,233,4.408,241,1.924,257,2.983,281,1.774,316,2.17,326,2.899,328,4.923,329,2.251,334,2.377,336,1.572,400,2.209,404,2.251,415,2.251,423,2.343,446,3.238,487,3.563,513,2.183,550,3.308,568,3.979,571,2.006,678,2.395,679,2.311,684,2.432,690,2.196,702,3.221,708,4.859,721,4.086,722,2.706,723,4.869,730,3.842,731,2.395,748,2.099,755,2.472,758,2.36,762,3.079,766,2.209,890,1.736,918,2.122,928,2.046,948,2.69,960,3.268,983,4.149,988,3.679,1007,4.34,1008,4.588,1061,1.795,1324,2.146,1488,2.36,1534,3.346,1564,2.783,1609,2.98,1783,3.136,1926,2.36,2169,2.98,2311,3.268,2358,2.432,5239,3.82,5325,3.198,5495,3.027,6496,2.751,7227,3.435,7640,4.348,7641,3.664]],["component/263",[446,1.151,721,0.788,7642,1.46]],["title/264",[1127,60.891]],["name/264",[2397,1.784,7643,2.117]],["text/264",[1,1.388,2,1.095,9,3.131,10,2.425,29,3.097,34,0.947,37,1.645,38,0.932,41,4.679,43,2.472,45,3.666,70,3.45,71,2.582,88,2.656,106,2.101,115,2.613,119,2.441,122,4.198,149,2.202,153,1.776,154,3.271,162,1.987,169,1.872,170,2.187,177,2.055,197,2.119,211,2.209,222,1.422,224,1.568,232,1.432,233,1.491,245,4.106,266,3.341,281,1.556,289,1.962,315,1.48,316,3.05,355,1.612,370,2.439,408,1.551,415,3.958,416,3.013,423,2.055,446,2.919,511,1.383,512,2.982,513,3.068,514,3.354,517,2.151,540,2.311,550,2.982,563,3.725,568,1.822,588,4.973,672,1.652,695,5.161,712,4.064,714,2.311,721,3.131,730,3.527,731,3.366,746,1.534,749,2.396,758,3.317,804,3.474,820,1.95,829,1.822,837,2.574,868,2.538,876,2.413,884,2.205,890,3.052,922,2.504,926,2.205,928,1.794,935,3.214,936,2.385,944,2.472,948,2.359,960,2.866,982,2.168,983,2.334,988,2.07,992,3.248,995,2.538,1007,3.983,1008,4.212,1035,2.117,1167,1.841,1173,3.104,1214,2.334,1258,2.538,1261,4.255,1265,2.751,1268,2.866,1295,3.341,1352,2.413,1430,2.041,1493,3.104,1540,6.442,1555,2.385,1571,3.104,1692,2.085,1733,3.351,1782,3.013,2117,2.866,2265,2.613,2358,2.134,2359,2.613,2417,3.214,2594,3.535,2655,2.266,2661,3.104,2995,2.538,2996,2.805,3777,2.866,4338,3.535,5497,5.369,5785,3.351,6021,4.592,7546,3.013,7585,3.214,7644,3.814,7645,3.814,7646,3.535,7647,3.814,7648,3.814,7649,3.814,7650,3.814]],["component/264",[446,1.151,721,0.788,7642,1.46]],["title/265",[7550,66.894]],["name/265",[7550,2.59]],["text/265",[1,0.761,2,1.377,9,4.247,29,1.943,36,2.027,41,6.737,44,2.967,51,2.936,62,1.863,69,1.887,70,3.287,71,2.39,78,2.303,84,2.515,97,2.823,149,1.728,168,4.445,170,2.749,197,1.663,211,1.734,233,2.857,247,3.356,261,1.755,266,3.997,316,3.649,329,2.483,332,2.452,370,3.536,379,2.191,408,1.95,446,2.291,563,2.043,721,4.247,734,2.245,749,1.881,750,2.341,755,2.727,756,2.422,763,3.587,790,2.452,839,2.683,846,2.256,876,3.034,917,3.191,928,4.66,944,3.108,948,2.967,960,3.604,965,2.422,985,5.377,1022,5.54,1025,2.113,1061,1.98,1070,4.774,1220,2.408,1406,3.07,1407,4.213,1530,3.528,1534,8.205,1587,2.823,1615,2.999,1697,3.108,2179,3.459,2358,2.683,2359,5.009,2456,3.339,3299,3.459,4077,4.445,4241,4.041,5626,4.041,6082,3.459,6912,4.445,7227,5.774,7584,4.213,7589,3.903,7646,4.445,7651,4.213,7652,4.795,7653,5.979,7654,4.795,7655,4.795,7656,4.795,7657,4.795,7658,4.795,7659,6.774,7660,4.795,7661,4.795]],["component/265",[446,1.151,721,0.788,7642,1.46]],["title/266",[1127,60.891]],["name/266",[3,1.542]],["text/266",[1,1.605,2,2.481,9,1.966,10,1.906,29,4.48,37,2.592,38,1.468,41,4.624,45,3.605,49,2.153,57,2.746,63,1.836,69,3.981,70,3.832,71,2.73,122,3.553,185,4.69,186,3.506,195,3.759,224,3.553,233,3.377,234,1.882,266,3.286,289,3.092,301,3.389,316,3,324,2.408,336,2.172,370,3.449,415,3.111,446,2.871,511,2.179,513,3.018,563,4.309,571,2.772,684,3.362,690,3.036,702,2.856,721,1.966,730,2.772,750,2.933,755,3.417,804,4.912,820,3.073,839,3.362,862,3.759,868,3.999,869,3.895,871,4.335,890,3.449,957,3.054,960,4.516,1007,3.131,1008,3.311,1027,4.592,1035,3.336,1054,3.018,1286,5.28,1324,4.264,1421,4.624,1574,3.802,1839,3.999,2612,4.891,2967,5.28,4822,4.891,5042,5.57,6021,4.516,7662,6.009,7663,6.009]],["component/266",[446,1.151,721,0.788,7642,1.46]],["title/267",[9,18.444,70,16.492,233,22.029,721,18.444]],["name/267",[3,1.542]],["text/267",[1,1.553,2,2.811,9,4.093,10,2.768,29,3.536,37,2.021,58,2.004,62,1.194,66,2.286,69,4.153,70,3.777,71,2.356,87,1.877,100,2.073,119,4.596,126,1.934,149,1.688,175,2.758,178,1.863,185,4.739,194,2.226,197,2.49,216,1.964,221,3.178,224,2.952,232,1.759,233,4.124,241,2.073,257,3.127,281,2.93,298,2.758,326,2.004,328,4.215,329,3.717,336,1.693,355,3.034,370,1.87,446,3.43,487,4.186,536,2.999,550,2.286,568,3.43,678,2.581,679,2.49,684,4.884,702,4.651,708,4.188,721,4.093,722,2.866,723,3.717,730,2.161,753,2.621,755,2.663,758,2.543,766,2.38,820,2.395,1007,5.498,1008,5.813,1054,2.352,1167,2.262,1285,2.41,1488,3.897,1564,5.588,1783,3.379,1926,2.543,5239,4.116,5325,5.281,7641,3.947,7664,4.684]],["component/267",[446,1.151,721,0.788,7642,1.46]],["title/268",[285,43.042,821,40.568]],["name/268",[29,0.858,285,1.194]],["text/268",[1,1.381,2,2.499,4,2.525,9,3.635,29,4.12,37,2.618,43,3.934,51,5.326,62,1.547,67,3.013,69,4.373,70,3.841,71,2.998,122,2.496,144,3.716,175,3.573,178,2.415,185,3.295,194,2.885,197,3.017,211,2.194,220,5.272,223,2.286,224,2.496,232,2.279,233,3.401,257,3.117,287,2.34,298,3.573,324,2.432,328,2.931,330,4.299,332,3.103,370,2.423,408,2.468,419,3.226,446,4.157,514,2.663,530,3.678,668,4.247,679,3.226,690,3.066,702,2.885,721,3.635,723,3.142,730,4.014,846,2.856,983,3.716,1007,4.534,1008,4.794,1022,5.442,1027,3.226,1035,3.37,1295,3.319,1406,3.886,1488,3.295,1564,3.886,2358,3.396,6082,4.378,6511,4.378,7651,5.333,7653,4.098]],["component/268",[446,1.151,721,0.788,7642,1.46]],["title/269-1",[9,24.975,721,24.975]],["name/269-1",[]],["text/269-1",[]],["component/269-1",[]],["title/269-2",[1,7.912,2,14.317,69,19.619,70,14.585,722,19.9]],["name/269-2",[]],["text/269-2",[]],["component/269-2",[]],["title/269-3",[1,8.946,722,22.502,1406,36.083,7653,38.05]],["name/269-3",[]],["text/269-3",[]],["component/269-3",[]],["title/269",[29,20.193,71,13.453,731,27.462,820,25.486,890,19.9]],["name/269",[315,0.583,731,0.827,890,0.599]],["text/269",[1,1.406,2,2.544,9,3.241,10,3.141,15,1.987,29,4.319,35,2.877,36,2.027,37,2.069,41,4.74,49,2.618,58,3.127,62,1.223,69,1.887,70,3.797,71,3.032,86,3.396,97,2.823,107,2.104,119,4.679,122,3.642,144,2.936,153,2.234,154,2.052,159,2.936,163,2.011,175,2.823,185,3.968,186,2.798,194,2.279,197,2.535,220,2.906,223,1.806,224,3.006,232,3.719,233,1.874,245,2.799,257,1.718,266,3.997,287,1.849,326,2.052,328,2.315,370,1.914,419,2.549,446,4.231,487,2.052,513,2.408,514,2.104,517,2.704,540,2.906,560,2.452,563,2.043,702,3.474,721,3.241,722,1.914,723,2.483,730,2.212,731,4.027,749,1.881,764,3.286,804,2.727,820,2.452,832,3.034,982,2.727,1007,5.161,1008,5.457,1027,3.885,1035,2.662,1264,2.532,1295,2.622,1324,2.367,1352,3.034,1406,3.07,1611,3.788,1782,3.788,1919,4.041,2179,3.459,2358,2.683,2891,2.936,4333,4.041,4359,3.604,4728,3.396,4884,4.213,6021,3.604,6511,3.459,7219,3.788,7583,4.041,7653,3.237,7665,4.213,7666,4.795,7667,4.445]],["component/269",[446,1.151,721,0.788,7642,1.46]],["title/270-1",[1,8.946,70,16.492,379,25.755,7653,38.05]],["name/270-1",[]],["text/270-1",[]],["component/270-1",[]],["title/270-2",[1,8.946,93,21.369,721,18.444,7653,38.05]],["name/270-2",[]],["text/270-2",[]],["component/270-2",[]],["title/270-3",[7550,66.894]],["name/270-3",[]],["text/270-3",[]],["component/270-3",[]],["title/270",[1022,40.557,1070,34.949,7653,43.773]],["name/270",[1,0.238,163,0.629,7653,1.013]],["text/270",[1,1.463,2,1.324,4,1.918,9,2.32,10,0.86,15,1.91,26,2.473,29,1.099,36,1.146,38,1.941,41,4.934,49,2.154,58,1.972,62,2.35,63,0.828,69,2.791,70,3.308,71,1.623,83,1.067,87,1.847,93,1.748,94,1.155,98,1.165,107,1.19,108,3.391,109,1.362,114,1.257,120,1.119,122,1.115,148,2.357,149,3.115,162,5.621,163,2.973,167,0.932,183,1.216,185,3.264,186,1.582,197,1.599,203,1.84,204,1.643,211,1.666,216,3.332,220,2.793,224,1.896,225,1.66,232,1.731,233,1.802,234,0.849,247,1.245,249,2.739,257,1.651,266,1.483,287,1.045,316,2.301,326,1.16,332,2.357,334,1.483,345,1.185,355,1.948,370,3.173,379,2.106,420,1.441,446,2.872,500,1.378,511,1.671,513,2.315,514,1.19,532,1.736,540,1.643,548,2.54,549,1.555,563,1.155,635,1.302,671,2.058,690,2.328,709,1.888,721,2.32,735,1.878,748,2.903,750,1.324,753,2.579,760,3.442,766,1.378,783,0.93,843,1.075,846,2.829,847,1.78,872,2.766,876,1.716,888,4.337,924,1.611,983,1.66,1007,3.695,1008,5.943,1022,3.761,1027,2.45,1035,2.559,1054,3.019,1070,4.283,1165,2.383,1220,5.786,1264,1.432,1295,3.878,1297,1.736,1357,1.643,1369,1.696,1396,1.921,1406,3.849,1409,1.494,1429,1.37,1430,1.451,1475,1.78,1600,1.995,1870,4.05,1926,1.472,2024,1.805,2117,4.519,2358,3.364,2359,1.858,2996,3.391,3720,3.642,3761,2.383,4822,2.207,5049,2.285,5310,2.766,6082,5.732,6093,1.611,6261,1.921,6496,1.716,6765,2.038,6847,3.391,6850,2.513,7653,8.137,7668,4.272,7669,2.712,7670,2.513,7671,2.712,7672,2.712,7673,6.012,7674,2.712,7675,2.513,7676,2.207,7677,2.513,7678,2.712,7679,2.712,7680,2.712,7681,2.712,7682,2.712,7683,2.513,7684,2.513,7685,2.712]],["component/270",[446,1.151,721,0.788,7642,1.46]],["title/271",[9,18.444,70,16.492,721,18.444,730,26.001]],["name/271",[3,1.542]],["text/271",[1,1.726,2,1.971,9,4.166,29,2.779,41,5.819,69,2.7,70,3.432,71,1.852,86,4.859,148,3.508,149,2.473,154,2.935,203,3.787,232,2.576,326,2.935,328,3.313,332,3.508,370,4.34,375,3.672,379,3.135,404,3.552,408,2.79,712,3.647,721,4.166,749,2.691,757,4.291,821,3.647,846,3.228,924,4.077,954,4.157,982,3.901,1027,3.647,1070,5.86,1176,3.349,1264,3.622,1295,5.187,1406,4.392,1430,3.672,2117,5.156,2169,4.702,2179,4.949,2311,5.156,2358,3.839,3295,6.028,5323,6.359,6082,4.949,7651,6.028,7653,6.403,7686,6.861,7687,6.861]],["component/271",[446,1.151,721,0.788,7642,1.46]],["title/272",[70,18.972,690,32.754,1295,35.458]],["name/272",[690,0.758,7653,1.013,7688,1.501]],["text/272",[1,0.88,9,3.881,10,1.758,29,2.245,36,2.342,38,1.354,41,5.169,44,3.428,62,1.413,69,2.181,70,3.47,71,2.606,83,2.181,100,2.453,105,3.205,122,2.279,124,2.594,163,2.324,185,3.008,197,1.922,211,2.003,222,2.067,233,2.166,245,3.119,281,2.262,316,4.821,328,3.933,336,2.003,355,2.342,370,2.212,379,3.722,408,2.253,446,2.648,498,2.751,500,2.816,513,2.783,536,3.548,553,3.048,563,2.361,690,2.799,692,3.548,702,2.634,721,3.881,730,2.557,735,1.731,758,3.008,820,2.833,839,3.101,846,2.607,938,3.151,983,4.986,1001,3.101,1007,4.244,1008,4.487,1012,3.263,1022,5.095,1027,2.946,1070,5.205,1165,4.869,1220,2.783,1295,5.821,1352,3.506,1406,6.182,1409,5.32,1413,3.688,1919,4.67,2076,4.264,2358,3.101,4241,4.67,5164,3.798,6082,3.997,7585,4.67,7589,4.511,7653,6.519,7670,5.136,7689,5.542]],["component/272",[446,1.151,721,0.788,7642,1.46]],["title/273-1",[38,13.77,380,23.821,735,17.605,5164,38.626]],["name/273-1",[]],["text/273-1",[]],["component/273-1",[]],["title/273-2",[70,22.331,756,38.552]],["name/273-2",[]],["text/273-2",[]],["component/273-2",[]],["title/273-3",[756,38.552,843,30.252]],["name/273-3",[]],["text/273-3",[]],["component/273-3",[]],["title/273-4",[89,39.289,735,20.254,756,32.754]],["name/273-4",[]],["text/273-4",[]],["component/273-4",[]],["title/273-5",[149,23.368,756,32.754,2891,39.693]],["name/273-5",[]],["text/273-5",[]],["component/273-5",[]],["title/273-6",[730,29.912,756,32.754,2891,39.693]],["name/273-6",[]],["text/273-6",[]],["component/273-6",[]],["title/273",[38,13.77,735,17.605,1295,30.822,5164,38.626]],["name/273",[38,0.367,735,0.469,5164,1.028]],["text/273",[4,2.833,9,2.421,35,1.08,36,1.362,38,2.376,41,0.964,43,1.167,45,1.08,49,2.195,56,0.957,62,2.406,63,0.55,69,0.709,70,2.315,71,1.997,78,0.865,83,1.269,87,2.729,89,2.651,93,2.582,107,0.79,117,1.08,122,1.325,126,1.806,130,1.953,141,0.787,143,1.494,145,1.669,149,1.577,153,0.839,159,1.102,162,2.28,163,1.835,165,2.199,166,1.473,169,0.884,173,0.926,177,0.97,178,1.282,180,1.041,185,0.977,194,0.856,197,0.624,203,1.747,211,0.651,221,1.937,223,2.565,229,1.396,232,1.643,245,3.03,247,1.48,257,0.645,268,1.903,276,1.713,283,0.683,287,1.242,290,1.766,316,0.899,324,1.753,326,0.77,331,1.299,337,1.75,338,0.847,355,0.761,370,3.159,373,1.153,374,1.153,375,1.725,378,1.324,379,1.473,381,1.041,408,1.31,421,0.819,422,0.851,423,2.358,446,0.86,462,1.167,487,3.165,491,1.69,505,5.067,511,0.653,512,0.879,513,4.199,531,1.215,540,1.091,542,1.05,548,0.992,549,1.032,552,0.915,553,1.637,555,0.827,563,2.902,566,1.182,572,1.091,638,1.679,671,1.954,672,0.78,681,1.725,683,1.803,690,0.909,702,0.856,714,1.091,721,2.421,729,1.05,730,3.413,731,0.992,734,0.843,735,3.485,742,0.909,744,1.102,748,2.113,749,1.264,750,1.573,753,4.902,756,4.913,757,4.628,766,0.915,770,6.942,791,2.48,804,4.498,823,0.827,824,1.198,829,0.86,842,4.2,843,3.614,844,6.665,846,0.847,847,1.182,872,1.934,888,5.337,890,2.127,902,1.324,904,0.984,923,1.713,928,0.847,950,1.126,957,1.638,958,2.625,960,1.353,962,2.737,965,0.909,982,1.024,983,1.102,1007,2.28,1008,2.411,1022,2.737,1045,3.099,1079,0.932,1105,0.827,1126,2.576,1146,1.299,1148,0.992,1151,1.88,1220,3.42,1241,0.964,1295,2.393,1311,1.114,1368,1.07,1409,0.992,1419,2.089,1428,1.275,1576,1.024,1655,1.973,1726,1.153,1970,1.126,2015,2.176,2024,1.198,2026,1.737,2057,1.254,2080,1.275,2117,1.353,2138,2.48,2222,1.324,2230,1.422,2358,1.007,2456,2.244,2674,1.517,2891,5.777,2899,1.324,2903,1.299,2925,0.856,2985,1.465,2996,1.324,3009,1.465,3495,1.465,3777,1.353,3814,1.385,4108,2.987,4356,1.422,4368,1.299,4402,2.832,4613,1.582,4728,1.275,4817,1.669,4821,2.48,5164,5.071,5279,1.465,5310,1.934,6003,1.234,6078,1.669,6082,5.337,6093,2.6,6419,1.669,6511,1.299,6765,1.353,6925,1.517,7536,1.669,7544,1.582,7580,1.517,7589,1.465,7590,2.716,7591,2.716,7625,1.669,7630,1.669,7653,4.137,7665,1.582,7668,1.669,7683,1.669,7690,1.8,7691,1.8,7692,1.8,7693,3.223,7694,2.832,7695,1.582,7696,1.8,7697,1.8,7698,1.8,7699,1.8]],["component/273",[446,1.151,721,0.788,7642,1.46]],["title/274-1",[149,27.505,756,38.552]],["name/274-1",[]],["text/274-1",[]],["component/274-1",[]],["title/274-2",[70,22.331,756,38.552]],["name/274-2",[]],["text/274-2",[]],["component/274-2",[]],["title/274-3",[70,18.972,487,27.74,749,25.431]],["name/274-3",[]],["text/274-3",[]],["component/274-3",[]],["title/274-4",[395,32.651,6511,55.051]],["name/274-4",[]],["text/274-4",[]],["component/274-4",[]],["title/274-5",[735,23.839,5279,62.119]],["name/274-5",[]],["text/274-5",[]],["component/274-5",[]],["title/274-6",[62,19.457,70,22.331]],["name/274-6",[]],["text/274-6",[]],["component/274-6",[]],["title/274-7",[890,37.025]],["name/274-7",[]],["text/274-7",[]],["component/274-7",[]],["title/274-8",[843,36.761]],["name/274-8",[]],["text/274-8",[]],["component/274-8",[]],["title/274-9",[58,39.676]],["name/274-9",[]],["text/274-9",[]],["component/274-9",[]],["title/274-10",[70,22.331,842,52.304]],["name/274-10",[]],["text/274-10",[]],["component/274-10",[]],["title/274-11",[757,40.557,770,47.7,1489,35.2]],["name/274-11",[]],["text/274-11",[]],["component/274-11",[]],["title/274-12",[62,14.369,87,22.584,770,41.463,4328,40.655]],["name/274-12",[]],["text/274-12",[]],["component/274-12",[]],["title/274-13",[756,38.552,843,30.252]],["name/274-13",[]],["text/274-13",[]],["component/274-13",[]],["title/274-14",[487,32.651,843,30.252]],["name/274-14",[]],["text/274-14",[]],["component/274-14",[]],["title/274-15",[843,30.252,1397,43.395]],["name/274-15",[]],["text/274-15",[]],["component/274-15",[]],["title/274-16",[260,35.045]],["name/274-16",[]],["text/274-16",[]],["component/274-16",[]],["title/274-17",[2072,46.846]],["name/274-17",[]],["text/274-17",[]],["component/274-17",[]],["title/274-18",[38,18.646,735,23.839]],["name/274-18",[]],["text/274-18",[]],["component/274-18",[]],["title/274-19",[1775,63.556]],["name/274-19",[]],["text/274-19",[]],["component/274-19",[]],["title/274-20",[842,52.304,843,30.252]],["name/274-20",[]],["text/274-20",[]],["component/274-20",[]],["title/274-21",[70,22.331,842,52.304]],["name/274-21",[]],["text/274-21",[]],["component/274-21",[]],["title/274-22",[756,38.552,1139,29.934]],["name/274-22",[]],["text/274-22",[]],["component/274-22",[]],["title/274-23",[487,32.651,1139,29.934]],["name/274-23",[]],["text/274-23",[]],["component/274-23",[]],["title/274-24",[735,23.839,1139,29.934]],["name/274-24",[]],["text/274-24",[]],["component/274-24",[]],["title/274-25",[57,34.875,63,23.313]],["name/274-25",[]],["text/274-25",[]],["component/274-25",[]],["title/274-26",[63,23.313,778,53.145]],["name/274-26",[]],["text/274-26",[]],["component/274-26",[]],["title/274-27",[842,52.304,1139,29.934]],["name/274-27",[]],["text/274-27",[]],["component/274-27",[]],["title/274-28",[89,46.245,735,23.839]],["name/274-28",[]],["text/274-28",[]],["component/274-28",[]],["title/274-29",[735,23.839,1319,43.042]],["name/274-29",[]],["text/274-29",[]],["component/274-29",[]],["title/274-30",[553,24.264,735,20.254,1697,42.026]],["name/274-30",[]],["text/274-30",[]],["component/274-30",[]],["title/274-31",[487,32.651,735,23.839]],["name/274-31",[]],["text/274-31",[]],["component/274-31",[]],["title/274-32",[735,23.839,842,52.304]],["name/274-32",[]],["text/274-32",[]],["component/274-32",[]],["title/274-33",[735,23.839,821,40.568]],["name/274-33",[]],["text/274-33",[]],["component/274-33",[]],["title/274-34",[63,23.313,847,50.11]],["name/274-34",[]],["text/274-34",[]],["component/274-34",[]],["title/274-35",[87,30.58,2903,55.051]],["name/274-35",[]],["text/274-35",[]],["component/274-35",[]],["title/274-36",[87,30.58,735,23.839]],["name/274-36",[]],["text/274-36",[]],["component/274-36",[]],["title/274-37",[57,34.875,63,23.313]],["name/274-37",[]],["text/274-37",[]],["component/274-37",[]],["title/274-38",[63,23.313,778,53.145]],["name/274-38",[]],["text/274-38",[]],["component/274-38",[]],["title/274-39",[63,23.313,724,40.849]],["name/274-39",[]],["text/274-39",[]],["component/274-39",[]],["title/274-40",[63,17.217,143,26.128,724,30.167,6256,44.526]],["name/274-40",[]],["text/274-40",[]],["component/274-40",[]],["title/274",[9,18.444,70,16.492,721,18.444,821,29.96]],["name/274",[9,0.491,591,0.939,721,0.491]],["text/274",[1,0.82,2,1.323,3,0.247,4,2.949,8,0.173,9,2.261,10,1.044,15,1.512,18,0.279,29,0.45,33,0.373,34,0.399,35,1.242,36,0.679,37,0.248,38,2.022,41,0.86,43,0.719,45,0.666,46,0.982,47,0.352,49,0.576,51,0.352,52,0.33,57,1.667,58,1.561,62,1.382,63,3.392,67,0.551,69,1.145,70,2.907,71,2.003,78,0.772,79,0.694,83,2.133,84,0.302,87,3.749,89,2.609,91,0.259,93,0.218,97,0.339,98,0.247,105,0.333,108,0.424,113,0.455,117,0.345,122,1.895,124,0.752,126,1.201,135,1.138,143,0.515,148,0.568,149,1.049,151,0.469,152,0.395,157,0.389,159,0.984,161,0.487,165,0.238,166,1.144,167,0.198,175,0.653,176,0.315,178,0.639,180,0.333,182,0.383,183,0.721,185,0.603,194,0.528,197,0.2,200,0.327,203,2.759,204,0.974,211,2.624,216,0.465,218,0.261,219,0.327,221,1.288,222,1.487,223,1.735,224,1.197,229,0.249,232,1.73,233,2.392,234,1.774,241,0.255,245,2.258,247,1.83,250,0.267,253,1.239,254,0.36,257,0.742,260,1.951,266,0.315,268,0.901,274,0.306,276,0.306,281,0.235,283,0.949,286,0.498,287,0.798,289,0.296,290,0.232,291,0.235,311,0.617,313,0.865,315,0.224,316,1.034,317,0.25,324,1.462,326,1.245,328,0.278,332,0.822,336,0.401,337,2.164,338,0.271,344,0.899,345,0.252,355,1.685,370,3.354,375,0.594,377,0.66,378,0.817,380,0.243,381,0.333,395,0.246,400,0.293,404,0.575,408,0.653,415,1.072,420,0.306,423,0.31,428,0.261,446,0.989,462,0.373,487,3.486,491,1.086,499,0.349,511,1.446,512,0.281,513,4.091,514,0.705,516,0.485,531,1.964,540,0.673,548,0.612,549,1.887,550,0.281,553,1.492,563,2.513,566,1.055,581,0.378,584,0.433,590,1.636,594,0.935,622,0.333,628,0.378,635,0.772,653,0.352,655,1.005,668,1.606,672,2.237,677,0.302,681,0.86,702,0.274,708,0.648,709,2.115,712,0.854,714,0.349,721,2.201,722,0.827,724,1.557,730,0.741,731,0.317,734,0.52,735,3.271,739,0.485,740,0.616,744,1.267,748,1,749,3.031,750,2.102,753,4.558,756,3.749,757,5.096,760,0.539,767,0.266,770,7.013,773,0.333,774,0.294,775,1.029,776,1.219,777,2.321,778,1.743,781,1.412,783,0.71,789,0.345,791,0.854,799,0.929,804,4.394,810,1.305,813,0.897,820,0.294,821,0.306,823,1.336,824,0.739,829,1.39,831,0.336,839,0.322,841,0.897,842,1.994,843,4.023,844,0.761,845,0.749,846,0.756,847,0.729,866,0.409,869,0.373,872,0.345,883,0.345,888,2.876,890,3.253,904,0.879,905,0.469,916,0.336,917,1.378,923,1.331,924,0.66,925,1.517,926,0.333,928,0.522,929,0.32,931,0.582,938,0.631,941,0.395,948,0.994,957,0.293,964,2.187,965,0.291,982,2.782,983,0.984,985,0.424,992,0.59,993,1.101,995,0.383,997,0.302,998,1.587,1001,0.621,1007,2.077,1008,2.196,1027,2.119,1035,0.616,1046,1.69,1052,0.408,1054,0.289,1063,0.313,1070,0.31,1071,0.443,1072,0.298,1079,2.229,1093,0.594,1104,0.443,1110,0.342,1113,0.356,1139,2.847,1142,0.485,1151,0.336,1167,0.536,1176,0.542,1180,0.325,1208,0.607,1210,0.3,1214,0.352,1220,3.179,1241,1.34,1258,0.739,1261,0.401,1263,0.455,1264,1.093,1285,0.571,1289,0.485,1295,0.607,1304,0.607,1306,0.304,1308,0.938,1319,1.168,1324,0.548,1357,0.673,1370,0.322,1396,1.466,1397,1.424,1406,1.325,1419,1.042,1425,4.829,1428,1.466,1429,0.291,1430,0.594,1452,0.53,1463,0.469,1489,2.803,1503,0.424,1530,0.817,1571,0.469,1574,0.364,1609,0.395,1623,0.485,1655,0.352,1684,1.017,1697,0.373,1708,0.433,1771,0.903,1775,0.761,1782,0.455,1888,0.378,1970,0.36,2026,0.31,2072,2.608,2081,0.352,2101,1.419,2138,1.237,2169,0.395,2174,0.415,2179,0.415,2185,0.383,2192,0.424,2206,0.935,2208,0.935,2230,1.269,2251,0.433,2303,0.433,2358,1.401,2374,0.801,2400,0.333,2403,0.433,2404,0.834,2452,0.373,2527,0.636,2555,0.408,2655,1.488,2736,0.975,2778,0.401,2891,0.984,2899,0.817,2903,0.415,2905,1.584,2985,0.903,2986,2.421,2995,0.383,2996,0.424,2997,3.359,3008,0.534,3064,0.485,3153,0.761,3199,0.506,3228,0.975,3362,0.702,3675,0.469,3814,0.443,4156,0.443,4328,2.632,4342,0.485,4402,0.506,4506,0.455,4529,0.854,4751,0.506,4788,0.455,4832,0.455,4914,0.506,5160,0.455,5279,1.685,5310,1.974,5321,0.506,5322,0.506,5325,0.424,5357,1.412,5538,1.556,6003,0.395,6016,1.069,6021,0.834,6198,1.138,6235,0.975,6256,3.401,6343,0.455,6370,0.443,6371,0.877,6416,1.819,6467,0.534,6496,1.584,6498,1.412,6511,0.801,6553,0.534,6810,0.506,6817,0.975,6847,0.817,7250,0.877,7257,0.935,7306,0.534,7568,0.534,7572,1.029,7575,0.903,7580,1.354,7585,0.935,7589,0.903,7590,0.485,7591,0.485,7633,0.534,7665,0.506,7667,0.534,7684,0.534,7694,2.891,7700,0.576,7701,1.607,7702,1.11,7703,0.576,7704,1.11,7705,0.576,7706,0.576,7707,0.576,7708,0.576,7709,0.576,7710,1.607,7711,0.576,7712,0.576,7713,0.576,7714,0.576,7715,0.576,7716,1.11,7717,0.576,7718,0.576,7719,0.576,7720,0.576,7721,0.576,7722,0.576,7723,0.576,7724,0.576,7725,0.576,7726,0.576,7727,0.576,7728,1.11,7729,1.11,7730,0.534,7731,0.576,7732,0.576,7733,0.576,7734,0.576,7735,0.576,7736,1.11,7737,0.576,7738,1.11,7739,0.576,7740,0.576]],["component/274",[446,1.151,721,0.788,7642,1.46]],["title/275",[70,16.492,163,23.632,169,27.663,1268,42.361]],["name/275",[169,0.571,1007,0.606,1008,0.64,1268,0.874]],["text/275",[1,1.19,2,2.154,9,3.298,49,3.61,69,2.951,70,3.715,97,4.414,114,3.476,149,2.702,152,2.67,153,3.493,154,3.208,169,3.68,221,3.319,233,2.931,326,3.208,328,4.866,334,4.1,355,3.169,370,2.994,499,4.543,540,4.543,563,3.195,635,5.467,709,4.129,717,6.318,721,3.298,730,4.649,766,3.81,841,4.931,926,4.336,948,4.639,965,3.788,1007,3.907,1008,4.131,1069,4.8,1070,4.041,1072,3.882,1146,5.409,1151,5.879,1167,3.62,2925,3.564,4529,5.77,4606,6.95]],["component/275",[446,1.151,721,0.788,7642,1.46]],["title/276-1",[9,16.311,100,22.062,197,17.286,721,16.311,738,31.535]],["name/276-1",[]],["text/276-1",[]],["component/276-1",[]],["title/276-2",[9,16.311,163,20.9,395,21.325,721,16.311,1406,31.911]],["name/276-2",[]],["text/276-2",[]],["component/276-2",[]],["title/276-3",[9,16.311,62,12.708,591,31.178,721,16.311,6556,39.378]],["name/276-3",[]],["text/276-3",[]],["component/276-3",[]],["title/276-4",[9,18.444,70,16.492,233,22.029,721,18.444]],["name/276-4",[]],["text/276-4",[]],["component/276-4",[]],["title/276-5",[9,16.311,70,14.585,220,30.203,721,16.311,730,22.995]],["name/276-5",[]],["text/276-5",[]],["component/276-5",[]],["title/276",[9,18.444,70,16.492,721,18.444,1564,36.083]],["name/276",[591,0.939,721,0.491,1564,0.961]],["text/276",[1,1.027,2,2.847,4,1.705,9,3.851,10,1.839,15,1.243,18,0.418,26,2.797,29,1.215,35,0.997,36,0.702,43,1.077,49,1.468,56,0.883,58,2.147,62,1.479,66,0.811,67,0.825,69,3.156,70,3.596,71,2.736,87,0.666,93,0.63,95,1.39,100,1.328,108,2.206,109,1.506,119,1.92,124,0.778,144,1.017,148,1.534,149,2.09,151,1.353,162,3.676,163,2.958,167,1.726,169,1.472,175,0.978,183,1.345,185,3.148,194,1.948,195,1.04,197,1.74,203,1.636,204,1.817,211,1.084,215,0.866,216,1.719,220,1.007,224,1.233,225,1.017,232,0.624,233,4.043,241,3.122,244,2.13,247,0.763,250,1.9,251,0.85,253,2.184,257,2.71,271,1.064,281,1.224,291,2.048,299,2.432,311,1.152,313,0.694,317,1.305,323,1.75,324,1.642,326,0.711,328,2.8,334,0.909,336,0.601,355,1.732,370,0.663,375,0.889,379,1.371,395,3.237,402,1.665,404,2.598,420,0.883,423,0.896,428,1.358,446,3.37,495,0.807,514,0.729,516,1.4,521,1.856,536,1.064,548,0.916,553,0.622,563,0.708,569,0.937,588,1.353,668,0.811,679,0.883,684,1.678,696,0.855,702,0.79,708,0.97,721,4.022,722,1.197,723,1.553,724,0.889,738,5.072,740,1.665,749,2.538,753,3.62,756,2.07,757,3.139,758,0.902,759,1.249,760,3.424,761,3.272,764,1.139,789,0.997,805,0.786,820,1.534,823,1.882,841,1.776,848,0.896,849,0.883,850,0.872,871,1.199,888,4.668,918,0.811,923,0.883,938,0.945,949,0.988,953,0.83,954,1.817,965,0.839,983,3.072,985,1.223,988,0.902,992,1.594,1007,5.038,1008,6.156,1027,0.883,1030,0.708,1054,1.506,1166,1.157,1167,1.979,1214,1.017,1220,5.195,1264,0.877,1268,3.081,1285,1.543,1299,1.077,1370,0.93,1406,4.516,1475,1.091,1489,1.628,1540,1.4,1549,1.54,1564,2.624,1579,1.177,1587,0.978,1655,1.017,1783,1.199,1922,1.064,2078,1.4,2358,1.678,2359,1.139,2611,3.238,2925,0.79,3720,3.965,3777,1.249,4528,1.249,4788,1.313,5310,3.882,5325,3.015,5497,1.46,6016,1.106,6261,1.177,6496,2.593,6556,1.313,7227,2.369,7593,1.4,7605,1.54,7675,1.54,7676,1.353,7677,2.78,7741,2.999,7742,1.662,7743,1.662,7744,4.099,7745,1.662,7746,4.099,7747,1.662,7748,1.662,7749,2.999,7750,1.662,7751,2.999,7752,2.999,7753,1.662,7754,1.662,7755,1.662,7756,1.54,7757,1.662,7758,1.662,7759,1.662,7760,1.662]],["component/276",[446,1.151,721,0.788,7642,1.46]],["title/277-1",[7211,81.486]],["name/277-1",[]],["text/277-1",[]],["component/277-1",[]],["title/277-2",[70,18.972,446,30.979,7761,64.841]],["name/277-2",[]],["text/277-2",[]],["component/277-2",[]],["title/277-3",[70,16.492,224,23.179,402,31.29,446,26.929]],["name/277-3",[]],["text/277-3",[]],["component/277-3",[]],["title/277",[69,17.585,71,12.058,185,24.255,446,21.347,1007,23.281,1008,24.615]],["name/277",[69,0.458,149,0.419,185,0.631,446,0.555]],["text/277",[1,1.16,2,1.664,4,0.84,9,3.824,10,1.132,29,0.818,34,0.886,36,1.509,37,0.871,38,0.493,39,0.787,41,1.081,49,1.718,56,1.073,58,0.864,62,1.223,63,1.09,69,2.28,70,3.335,71,1.564,79,1.263,86,1.43,87,0.809,93,1.353,97,1.189,98,0.868,100,0.894,108,2.626,122,0.831,143,1.655,146,1.059,148,1.033,149,2.385,151,1.644,152,0.719,167,4.302,175,2.824,178,1.42,185,6.005,186,2.083,195,4.943,197,0.7,203,2.313,211,1.29,216,0.847,220,1.224,222,0.753,223,0.761,224,3.007,232,2.175,233,3.615,234,1.502,239,1.702,241,3.921,245,0.773,247,0.927,257,2.619,260,0.763,266,1.952,281,2.984,311,1.372,313,0.843,317,0.879,324,0.809,328,2.316,332,1.033,336,0.73,355,1.509,370,3.693,375,1.081,400,3.715,402,3.674,403,4.103,404,1.046,408,0.821,419,4.709,446,4.419,513,1.014,514,0.886,536,3.071,553,1.336,563,0.86,568,0.965,571,0.932,580,2.626,581,1.326,679,1.073,684,2.684,691,1.158,692,6.144,702,2.754,721,3.824,722,0.806,723,3.426,730,1.647,731,1.113,734,1.671,738,3.665,749,1.4,750,1.742,753,3.241,756,1.02,757,2.233,783,1.224,790,1.033,810,1.052,820,1.033,843,0.801,846,0.95,888,4.179,890,1.915,917,1.344,918,0.986,923,1.073,948,1.249,949,1.2,950,1.263,954,1.224,983,2.185,993,1.384,1007,1.86,1008,4.354,1022,1.263,1027,1.073,1035,1.982,1070,1.089,1167,1.724,1175,1.249,1176,0.986,1220,1.793,1285,1.039,1289,1.702,1295,1.104,1396,1.43,1406,1.293,1415,7.385,1528,1.554,1534,1.554,1564,1.293,1587,2.102,1783,1.457,1926,1.938,2024,1.344,2179,1.457,2358,3.241,2996,1.486,3225,1.486,3299,1.457,5310,2.878,5325,4.262,6082,1.457,6261,2.528,6496,1.278,6502,1.872,6556,1.595,6847,1.486,7641,3.008,7653,1.363,7659,3.309,7756,1.872,7762,2.02,7763,5.369,7764,2.02,7765,2.02,7766,2.02,7767,3.57,7768,4.797,7769,2.02,7770,2.02,7771,4.797,7772,2.02,7773,2.02,7774,2.02,7775,2.02,7776,2.02,7777,3.57,7778,2.02,7779,2.02,7780,2.02,7781,2.02,7782,2.02,7783,2.02,7784,2.02,7785,2.02,7786,2.02,7787,2.02,7788,2.02,7789,2.02,7790,2.02]],["component/277",[446,1.151,721,0.788,7642,1.46]],["title/278-1",[62,12.708,795,37.463,1005,38.356,1454,29.905,1478,39.378]],["name/278-1",[]],["text/278-1",[]],["component/278-1",[]],["title/278-2",[1,7.912,216,20.9,249,29.62,1008,27.462,1220,25.03]],["name/278-2",[]],["text/278-2",[]],["component/278-2",[]],["title/278-3",[1,5.874,6,23.413,63,11.305,379,16.911,746,14.883,997,19.41,1130,13.63,1220,18.584]],["name/278-3",[]],["text/278-3",[]],["component/278-3",[]],["title/278",[1022,47.738,5610,62.119]],["name/278",[1022,1.324,5610,1.723]],["text/278",[1,2.072,2,2.941,4,1.597,6,4.857,10,1.948,18,1.543,25,2.349,26,2.142,36,1.622,37,2.649,49,3.438,58,3.754,62,1.957,63,1.876,66,1.873,68,2.997,70,1.797,71,3.014,83,2.417,107,1.684,114,1.779,147,2.63,148,3.14,149,2.767,159,2.349,162,3.2,163,3.679,166,1.754,170,2.2,216,5.06,220,2.325,225,4.7,241,3.884,249,4.562,257,1.375,291,1.566,315,2.384,326,1.642,328,1.853,345,3.354,379,2.806,500,4.877,511,1.392,514,1.684,539,2.82,553,2.873,580,5.648,648,1.815,702,1.824,709,3.595,712,2.04,714,2.325,731,3.383,760,4.97,761,2.506,793,2.259,795,2.884,852,1.762,866,1.413,890,2.452,997,2.013,1005,2.953,1007,2,1008,4.23,1022,4.802,1054,1.927,1130,2.262,1220,4.406,1354,2.63,1406,4.915,1467,3.032,1475,5.761,1478,8.088,1482,6.752,1531,2.013,1542,3.124,1784,2.63,1888,2.52,2253,5.175,2452,4.976,3720,6.932,5536,5.175,5610,3.124,6102,3.557,7676,3.124,7791,3.838,7792,3.838,7793,3.838,7794,3.557,7795,3.557]],["component/278",[446,1.567,7642,1.987]],["title/279-1",[285,43.042,760,37.05]],["name/279-1",[]],["text/279-1",[]],["component/279-1",[]],["title/279-2",[197,22.486,225,39.693,760,31.477]],["name/279-2",[]],["text/279-2",[]],["component/279-2",[]],["title/279-3",[62,19.457,1354,52.304]],["name/279-3",[]],["text/279-3",[]],["component/279-3",[]],["title/279-4",[197,22.486,760,31.477,1220,32.56]],["name/279-4",[]],["text/279-4",[]],["component/279-4",[]],["title/279-5",[35,33.815,197,19.546,1008,31.052,1220,28.303]],["name/279-5",[]],["text/279-5",[]],["component/279-5",[]],["title/279-6",[6,35.658,197,19.546,1130,20.758,7796,52.24]],["name/279-6",[]],["text/279-6",[]],["component/279-6",[]],["title/279-7",[35,29.905,163,20.9,216,20.9,1008,27.462,1220,25.03]],["name/279-7",[]],["text/279-7",[]],["component/279-7",[]],["title/279",[1,7.092,2,12.833,152,15.909,164,24.082,197,15.494,760,21.69]],["name/279",[1,0.185,2,0.334,197,0.403,760,0.564]],["text/279",[1,0.435,2,0.786,4,2.758,6,5.496,8,0.452,9,0.492,15,0.623,26,0.524,35,3.24,38,0.367,45,0.902,49,1.935,56,0.799,58,0.643,62,1.544,63,1.152,66,1.841,70,2.338,71,2.5,78,0.722,83,0.592,87,0.602,90,1.187,91,0.677,97,1.612,98,0.646,106,1.509,108,1.106,115,1.03,124,2.176,141,1.648,148,1.928,149,1.359,152,2.702,154,1.613,161,0.659,162,1.965,163,1.949,164,2.505,167,3.67,170,1.57,176,0.822,194,1.301,197,3.454,200,0.855,203,1.506,204,2.285,205,1.612,206,1.732,216,3.181,221,1.669,222,0.561,223,0.566,224,0.618,225,5.966,229,0.651,232,1.028,234,2.076,241,2.68,242,0.92,244,0.638,249,3.939,251,4.273,253,0.566,257,2.718,276,1.455,285,4.025,291,1.539,301,2.127,311,2.742,315,0.583,316,0.75,317,1.191,326,1.171,328,3.446,329,0.778,330,1.065,332,1.4,334,2.542,336,0.99,337,1.486,338,1.288,340,0.951,344,0.841,355,0.635,370,1.093,379,0.687,398,0.902,400,0.764,404,1.418,408,0.611,418,1.391,421,1.245,422,1.295,430,3.595,446,0.718,498,0.746,502,1.446,513,0.755,514,1.201,539,0.69,548,0.828,549,0.862,550,0.734,571,0.693,580,4.877,581,0.987,622,1.583,684,0.841,702,1.792,708,1.597,709,1.122,721,0.492,722,0.6,731,0.828,746,0.604,760,6.315,761,1.539,783,0.515,879,1.187,880,1.106,890,0.6,918,1.336,941,1.03,950,0.94,967,2.229,983,0.92,993,1.03,1007,4.683,1008,6.309,1011,1.106,1022,0.94,1030,1.167,1054,0.755,1072,1.952,1112,1.267,1130,3.411,1167,1.322,1176,0.734,1180,3.046,1208,0.822,1220,6.239,1293,1.798,1295,1.497,1306,2.852,1321,0.93,1354,3.185,1369,0.94,1417,2.505,1475,6.79,1481,1.267,1488,1.486,1504,1.939,1542,2.229,1576,0.855,1589,1.106,1646,1.13,1655,0.92,1677,0.94,1692,0.822,1776,1.975,1840,4.746,1914,1.015,2168,1.321,2417,2.307,2444,1.321,2452,1.775,2617,1.187,2690,5.473,3225,1.106,3720,7.1,4408,2.307,4529,2.107,4720,2.229,4978,2.014,5536,1.267,5610,1.223,6261,2.671,6802,2.538,7250,1.187,7546,1.187,7676,3.069,7694,1.321,7794,3.495,7795,1.393,7796,1.393,7797,2.738,7798,2.738,7799,2.738,7800,2.738,7801,1.503,7802,3.771,7803,1.503,7804,1.503,7805,1.503,7806,3.771,7807,1.503,7808,1.503,7809,3.771,7810,1.503,7811,1.503,7812,1.503,7813,1.503,7814,1.503,7815,3.771,7816,3.771,7817,4.308,7818,1.393,7819,1.503,7820,1.503,7821,1.503,7822,1.503,7823,1.503,7824,1.503,7825,1.503]],["component/279",[446,1.567,7642,1.987]],["title/280-1",[63,17.217,197,19.546,951,28.303,7826,47.495]],["name/280-1",[]],["text/280-1",[]],["component/280-1",[]],["title/280-2",[197,22.486,760,31.477,7826,54.639]],["name/280-2",[]],["text/280-2",[]],["component/280-2",[]],["title/280-3",[26,17.386,197,17.286,1030,21.238,7826,42.003,7827,46.199]],["name/280-3",[]],["text/280-3",[]],["component/280-3",[]],["title/280-4",[709,26.564,735,20.254,7828,48.733]],["name/280-4",[]],["text/280-4",[]],["component/280-4",[]],["title/280-5",[46,25.431,760,31.477,783,22.231]],["name/280-5",[]],["text/280-5",[]],["component/280-5",[]],["title/280-6",[71,17.5,253,24.422,783,22.231]],["name/280-6",[]],["text/280-6",[]],["component/280-6",[]],["title/280-7",[783,19.324,866,20.758,1007,29.369,1038,23.267]],["name/280-7",[]],["text/280-7",[]],["component/280-7",[]],["title/280-8",[746,22.666,760,27.361,783,19.324,866,20.758]],["name/280-8",[]],["text/280-8",[]],["component/280-8",[]],["title/280-9",[197,17.286,635,23.94,783,17.09,822,32.307,2925,23.692]],["name/280-9",[]],["text/280-9",[]],["component/280-9",[]],["title/280-10",[783,19.324,866,20.758,2925,26.79,7829,49.523]],["name/280-10",[]],["text/280-10",[]],["component/280-10",[]],["title/280-11",[783,19.324,866,20.758,2925,26.79,7830,49.523]],["name/280-11",[]],["text/280-11",[]],["component/280-11",[]],["title/280-12",[224,26.665,696,33.359,783,22.231]],["name/280-12",[]],["text/280-12",[]],["component/280-12",[]],["title/280-13",[696,28.998,783,19.324,7829,49.523,7830,49.523]],["name/280-13",[]],["text/280-13",[]],["component/280-13",[]],["title/280-14",[234,23.9,2527,43.759]],["name/280-14",[]],["text/280-14",[]],["component/280-14",[]],["title/280-15",[71,17.5,5495,45.151,7831,54.639]],["name/280-15",[]],["text/280-15",[]],["component/280-15",[]],["title/280-16",[7550,66.894]],["name/280-16",[]],["text/280-16",[]],["component/280-16",[]],["title/280",[197,22.486,783,22.231,997,34.008]],["name/280",[197,0.403,760,0.564,799,0.672,1007,0.606]],["text/280",[1,0.871,2,1.22,4,1.25,6,2.114,7,0.304,10,0.721,13,0.323,15,0.601,18,0.471,26,2.197,29,0.209,34,0.565,35,0.599,36,0.422,37,0.431,38,1.583,39,0.389,43,0.94,45,0.31,46,1.972,48,0.244,49,2.714,52,0.572,55,0.316,56,0.274,57,0.456,58,0.221,60,0.453,62,0.478,63,1.806,66,0.252,69,0.393,70,0.978,71,1.749,78,0.248,80,1.682,82,0.348,83,1.183,86,0.365,87,0.581,93,0.378,94,1.129,95,0.463,96,0.231,100,0.228,105,0.577,106,0.799,115,0.354,116,0.965,122,0.212,124,0.242,136,0.559,141,0.436,144,0.316,148,1.871,149,0.82,150,0.42,152,1.411,153,0.465,154,0.62,157,0.348,158,0.588,161,1.466,163,2.479,166,0.456,167,4.101,173,0.265,176,0.282,177,0.278,178,2.094,182,0.343,183,1.642,185,0.542,194,0.245,195,0.323,197,1.473,203,0.908,205,1.967,211,0.822,220,1.378,221,0.228,222,1.963,223,1.259,224,0.411,225,0.316,229,0.432,232,0.545,233,0.202,234,1.648,241,0.642,244,0.615,245,1.015,249,0.307,251,1.871,253,1.894,257,1.712,260,0.548,271,0.33,281,0.928,283,0.55,285,0.563,286,0.231,287,1.638,289,2.587,290,0.208,298,0.588,299,2.302,301,0.818,313,0.215,315,0.2,316,0.258,323,2.933,324,1.915,326,0.62,328,0.482,329,0.267,334,1.827,336,0.524,337,0.542,338,1.07,341,0.33,342,1.84,344,2.217,345,0.634,355,0.792,357,2.436,370,0.399,375,0.534,377,0.307,379,0.456,380,0.792,381,0.298,402,0.286,404,0.517,408,0.406,418,2.297,421,2.948,422,2.698,425,0.707,430,0.343,439,0.348,491,0.271,499,0.313,500,0.507,502,0.272,503,0.339,511,0.526,513,0.501,514,1.466,533,0.323,540,0.879,541,1.049,549,0.832,552,0.262,553,1.59,555,0.666,556,0.686,562,0.52,563,2.339,568,0.247,571,0.238,581,0.655,622,1.084,635,3.43,642,0.947,648,2.596,654,2.501,677,0.761,684,1.272,688,2.549,691,0.296,696,2.038,702,1.081,709,3.047,712,1.776,722,0.206,734,0.467,735,1.327,740,0.286,746,1.593,749,2.542,753,0.289,758,0.28,760,2.195,763,0.253,766,0.737,767,0.461,776,1.104,782,0.453,783,4.042,793,1.104,799,3.849,804,0.568,805,1.421,808,0.582,809,0.897,810,0.269,813,4.422,818,0.498,822,0.647,823,0.237,826,1.974,831,0.301,832,0.918,840,0.605,841,1.448,851,0.397,854,1.409,855,0.304,857,0.624,862,0.323,866,2.177,869,0.334,872,0.31,873,0.684,875,0.304,885,0.334,886,1.067,890,2.724,892,1.588,899,0.348,904,0.282,909,0.365,913,0.397,916,0.301,917,0.664,918,0.252,926,0.298,928,1.247,934,0.278,936,0.323,938,0.293,941,0.684,949,0.307,950,0.323,951,2.401,953,0.258,965,0.504,983,0.611,992,0.274,993,0.684,997,2.879,998,2.08,1001,0.811,1007,4.393,1008,0.55,1011,0.38,1015,0.316,1018,0.293,1022,0.323,1024,0.33,1029,3.699,1030,2.976,1038,3.763,1045,0.707,1058,0.252,1061,1.241,1064,1.16,1070,0.278,1072,0.517,1075,2.828,1105,0.861,1130,0.534,1139,0.202,1154,2.595,1167,1.098,1176,0.252,1180,0.291,1183,0.33,1185,0.298,1186,0.618,1194,0.388,1216,0.372,1220,0.941,1224,0.453,1230,3.241,1233,0.343,1235,0.879,1241,0.276,1255,0.284,1258,0.965,1259,0.286,1264,0.766,1285,0.265,1293,0.952,1297,0.33,1300,2.375,1302,1.422,1304,1.244,1306,0.272,1318,0.265,1319,1.495,1324,1.308,1343,0.618,1360,0.38,1368,0.307,1393,0.339,1400,0.289,1404,1.148,1416,0.507,1429,1.149,1430,0.276,1437,0.301,1438,0.42,1472,0.372,1503,0.734,1504,0.365,1528,0.397,1530,0.38,1531,0.271,1564,0.33,1578,0.841,1587,0.304,1597,0.291,1613,0.639,1643,0.372,1655,1.148,1664,0.408,1671,0.42,1696,1.067,1699,0.72,1716,1.215,1717,0.789,1849,1.2,1888,0.339,1892,2.29,1924,0.269,1933,0.841,1963,0.354,1971,0.42,2014,0.397,2024,0.343,2100,0.577,2206,0.435,2222,0.734,2231,0.408,2268,0.388,2344,1.116,2350,0.388,2359,0.354,2361,0.38,2396,1.2,2452,0.334,2493,0.813,2527,0.832,2621,0.684,2671,0.372,2718,0.408,2787,1.379,2925,2.019,2979,0.408,2986,0.38,3093,0.707,3109,0.768,3124,2.367,3140,1.222,3146,1.344,3153,1.285,3238,0.478,3287,0.925,3299,0.72,3604,0.925,3777,0.388,3786,0.841,4016,0.877,4266,0.388,4356,0.408,4528,0.388,4529,0.768,4804,0.813,4821,0.397,4822,0.42,5495,0.695,5653,0.478,5820,1.738,6093,1.575,6095,0.841,6256,0.789,6369,1.992,6370,0.397,6466,0.478,6476,0.478,6555,1.146,6801,0.478,7227,0.408,7270,1.046,7283,0.453,7483,0.478,7575,0.42,7763,0.478,7826,5.609,7827,2.786,7828,1.992,7829,3.216,7830,1.274,7831,0.841,7832,0.877,7833,0.516,7834,1.916,7835,1.45,7836,6.144,7837,5.088,7838,4.2,7839,2.274,7840,0.516,7841,0.925,7842,0.516,7843,0.516,7844,0.516,7845,0.516,7846,0.516,7847,1.45,7848,4.521,7849,0.516,7850,1.875,7851,3.66,7852,0.516,7853,0.516,7854,0.516,7855,0.453,7856,0.478,7857,0.516,7858,0.516,7859,0.516,7860,0.516,7861,0.516,7862,0.516,7863,0.516,7864,0.998,7865,0.998,7866,0.516,7867,1.45,7868,0.998,7869,0.516,7870,0.516,7871,0.925,7872,0.516,7873,0.516,7874,0.516,7875,0.516,7876,0.516,7877,0.516,7878,0.516,7879,0.516,7880,0.478,7881,0.516,7882,0.516,7883,4.028,7884,1.222,7885,1.875,7886,2.108,7887,0.478,7888,0.478,7889,0.478,7890,0.516,7891,0.516,7892,0.516,7893,0.516,7894,0.516,7895,0.516,7896,0.516,7897,0.516,7898,0.516,7899,0.516,7900,0.516,7901,0.516,7902,0.998,7903,0.516,7904,0.516,7905,1.45,7906,0.516,7907,0.925,7908,1.738,7909,1.738,7910,1.738,7911,1.738,7912,3.097,7913,3.342,7914,0.998,7915,0.998,7916,0.998,7917,0.998,7918,0.998,7919,0.998,7920,0.998,7921,0.998,7922,0.998,7923,0.998,7924,0.516,7925,0.925,7926,0.516,7927,0.516,7928,0.478,7929,1.45,7930,0.516,7931,0.516,7932,0.516,7933,0.516,7934,0.516,7935,0.516,7936,0.516,7937,0.516,7938,0.516,7939,0.516,7940,0.516,7941,0.516,7942,0.516,7943,0.453,7944,0.516,7945,0.516,7946,0.516]],["component/280",[446,1.567,7642,1.987]],["title/281-1",[106,42.048,1393,50.11]],["name/281-1",[]],["text/281-1",[]],["component/281-1",[]],["title/281-2",[152,15.909,211,16.151,563,19.037,866,16.455,1007,23.281,1061,18.444]],["name/281-2",[]],["text/281-2",[]],["component/281-2",[]],["title/281-3",[234,23.9,709,31.267]],["name/281-3",[]],["text/281-3",[]],["component/281-3",[]],["title/281-4",[234,20.305,866,23.88,997,34.008]],["name/281-4",[]],["text/281-4",[]],["component/281-4",[]],["title/281-5",[197,19.546,1007,29.369,1030,24.015,1139,22.106]],["name/281-5",[]],["text/281-5",[]],["component/281-5",[]],["title/281-6",[234,17.65,709,23.091,735,17.605,813,24.416]],["name/281-6",[]],["text/281-6",[]],["component/281-6",[]],["title/281-7",[46,25.431,1139,25.431,7828,48.733]],["name/281-7",[]],["text/281-7",[]],["component/281-7",[]],["title/281-8",[94,24.015,642,28.471,866,20.758,965,28.471]],["name/281-8",[]],["text/281-8",[]],["component/281-8",[]],["title/281-9",[94,27.627,197,22.486,1354,44.436]],["name/281-9",[]],["text/281-9",[]],["component/281-9",[]],["title/281-10",[866,20.758,1007,29.369,1061,23.267,2925,26.79]],["name/281-10",[]],["text/281-10",[]],["component/281-10",[]],["title/281-11",[7550,66.894]],["name/281-11",[]],["text/281-11",[]],["component/281-11",[]],["title/281",[36,21.067,152,17.748,197,17.286,866,18.358,1007,25.973]],["name/281",[197,0.52,866,0.553,1007,0.782]],["text/281",[1,0.979,2,1.85,4,1.695,6,1.302,9,0.247,10,1.545,11,0.525,12,0.58,15,0.312,22,0.502,26,0.501,36,1.111,37,0.325,38,2.076,43,0.931,44,0.466,45,1.235,46,2.628,49,1.992,51,0.879,52,0.824,57,1.439,62,0.192,63,1.488,66,1.283,67,0.374,69,1.034,70,2.032,71,2.052,78,0.69,80,0.804,83,1.034,94,1.736,95,0.666,96,1.179,98,0.324,100,0.334,106,3.397,107,0.331,114,0.349,115,0.985,131,0.466,136,0.422,141,0.628,144,0.879,148,1.344,149,0.947,152,2.844,153,0.669,157,0.509,158,0.444,161,0.903,163,1.709,167,3.25,170,1.18,176,0.786,177,0.406,178,0.572,184,0.931,185,0.409,186,0.44,194,0.683,195,0.471,197,2.832,200,0.428,203,1.049,204,0.871,205,1.547,211,2.229,214,0.525,215,0.393,220,0.457,221,0.334,222,1.674,223,0.541,224,0.31,225,0.461,229,0.622,232,0.283,234,3.59,244,2.067,245,0.788,250,0.349,251,1.344,253,0.541,257,1.992,260,1.54,264,0.425,276,0.401,281,0.308,283,0.545,285,0.81,286,0.338,287,2.144,289,2.309,290,0.304,291,1.072,298,0.444,299,0.602,301,1.776,311,0.791,315,0.799,316,0.376,317,0.328,324,1.633,326,1.124,327,0.409,328,1.968,329,0.744,332,0.385,334,2.229,336,0.744,337,0.409,338,0.969,341,0.482,344,1.47,355,1.111,370,0.822,377,0.448,378,0.554,380,0.607,400,0.73,403,0.534,404,0.744,406,0.37,408,0.584,418,2.281,419,0.401,421,2.805,422,2.472,427,0.457,430,0.502,432,0.412,487,1.348,496,0.495,504,0.613,505,0.457,511,1.627,513,0.378,514,0.331,538,1.792,539,0.66,540,0.457,541,0.804,549,1.507,553,1.359,556,2.777,560,0.385,563,3.867,568,0.36,571,0.95,581,1.725,615,0.403,622,1.822,635,4.482,642,0.726,648,2.303,655,0.471,665,0.448,672,0.326,674,0.432,684,0.422,691,0.824,695,0.509,696,1.868,702,0.683,708,0.44,709,2.142,712,0.764,714,0.457,724,0.403,731,0.415,734,0.673,735,2.093,740,0.418,746,0.828,749,1.424,760,1.529,766,0.383,774,0.385,776,2.399,783,2.014,789,0.452,799,0.436,802,0.635,805,1.243,809,0.466,813,3.294,818,0.717,822,0.931,832,1.993,840,1.247,841,2.265,846,0.676,866,2.643,869,0.488,875,0.444,876,0.909,879,0.595,884,0.436,886,1.515,890,3.114,892,0.979,909,1.458,910,0.534,917,0.502,923,1.93,924,0.448,926,0.436,928,1.236,931,0.395,934,0.406,935,1.211,936,1.288,938,0.817,944,0.488,948,0.466,949,0.854,951,2.047,957,0.383,965,1.591,967,1.169,981,0.566,983,0.461,997,4.091,998,3.218,1001,0.422,1007,5.702,1008,1.134,1010,1.201,1011,1.933,1012,0.444,1022,1.97,1025,0.633,1029,2.324,1030,2.075,1038,1.3,1045,0.534,1058,0.368,1061,2.963,1063,0.409,1070,0.406,1072,2.323,1079,0.39,1105,0.945,1130,0.968,1135,0.461,1139,2.05,1148,0.415,1154,2.212,1166,0.525,1167,1.753,1175,0.466,1183,0.92,1185,0.831,1186,1.949,1189,0.509,1194,3.063,1208,0.412,1214,0.879,1216,1.036,1220,2.949,1224,0.662,1229,0.956,1230,2.097,1232,1.018,1235,0.457,1241,0.769,1271,0.662,1290,2.159,1293,0.943,1297,0.482,1300,3.22,1301,1.247,1306,1.663,1321,0.466,1324,0.372,1343,0.889,1352,0.477,1354,0.985,1370,1.152,1393,0.495,1396,1.018,1397,0.428,1404,0.879,1416,0.383,1429,0.726,1451,0.495,1457,0.466,1462,1.592,1503,0.554,1504,0.534,1531,1.08,1564,0.482,1567,0.544,1597,0.81,1648,0.613,1655,0.879,1670,0.909,1676,0.477,1734,0.554,1776,1.036,1784,0.516,1835,0.495,1838,0.635,1849,3.56,1866,1.332,1888,0.495,1892,1.801,1914,1.39,1922,0.482,1926,1.118,1932,0.635,1940,0.595,1949,0.698,1974,0.477,1977,0.899,2009,0.698,2022,0.509,2026,0.406,2047,0.698,2100,0.436,2117,0.566,2265,1.411,2306,0.534,2400,0.436,2404,0.566,2417,1.211,2427,0.554,2452,2.353,2456,0.525,2460,0.613,2496,0.635,2630,0.613,2661,1.169,2686,0.534,2841,0.985,2925,1.726,2987,0.534,2995,0.502,3124,3.703,3153,0.516,3299,0.544,3583,1.39,3701,1.169,3816,0.635,4130,0.698,4720,0.613,4790,0.58,4821,0.58,4822,0.613,4828,1.262,4924,0.635,4990,0.662,5439,0.516,5495,0.525,5787,0.635,5806,0.698,6093,0.448,6256,1.135,7001,0.698,7151,0.698,7281,0.595,7282,0.566,7283,0.662,7562,0.698,7583,0.635,7584,0.662,7594,0.698,7730,0.698,7828,3.063,7832,2.768,7834,1.211,7836,3.06,7837,2.435,7841,1.332,7871,2.435,7883,2.654,7884,1.735,7886,1.332,7943,1.262,7947,0.754,7948,0.754,7949,0.754,7950,4.686,7951,0.754,7952,0.754,7953,0.754,7954,0.754,7955,0.754,7956,0.754,7957,1.437,7958,0.754,7959,0.754,7960,0.754,7961,0.754,7962,0.754,7963,0.754,7964,0.754,7965,0.754,7966,0.754,7967,0.754,7968,0.754,7969,0.754,7970,0.754,7971,0.754,7972,0.754,7973,1.437,7974,3.15,7975,0.754,7976,0.754,7977,0.754,7978,0.754,7979,0.754,7980,0.698,7981,0.754,7982,0.754,7983,0.754,7984,0.754,7985,0.754,7986,0.754]],["component/281",[446,1.567,7642,1.987]],["title/282",[1127,60.891]],["name/282",[3,1.542]],["text/282",[1,1.908,2,2.836,4,3.026,29,3.999,34,2.451,67,3.61,70,3.517,71,1.963,78,3.493,84,3.815,149,2.621,152,3.515,154,3.111,158,4.282,194,3.457,197,2.522,200,5.613,257,2.605,287,2.804,318,4.91,323,4.243,326,3.111,328,3.512,400,3.696,408,4.014,446,3.475,513,3.652,521,4.5,522,4.601,750,3.55,760,4.792,823,3.339,839,4.069,875,4.282,892,3.457,934,3.92,983,7.358,990,9.15,993,4.984,1007,5.144,1008,5.439,1126,4.282,1409,4.007,7250,5.746,7987,7.273]],["component/282",[446,1.567,7642,1.987]],["title/283-1",[696,39.266,2925,36.276]],["name/283-1",[]],["text/283-1",[]],["component/283-1",[]],["title/283-2",[234,23.9,2527,43.759]],["name/283-2",[]],["text/283-2",[]],["component/283-2",[]],["title/283-3",[71,17.5,5495,45.151,7831,54.639]],["name/283-3",[]],["text/283-3",[]],["component/283-3",[]],["title/283-4",[1,6.426,34,10.051,257,14.502,338,19.047,635,19.444,1007,21.095,1061,16.712]],["name/283-4",[]],["text/283-4",[]],["component/283-4",[]],["title/283-5",[234,23.9,7695,67.059]],["name/283-5",[]],["text/283-5",[]],["component/283-5",[]],["title/283-6",[38,18.646,7695,67.059]],["name/283-6",[]],["text/283-6",[]],["component/283-6",[]],["title/283-7",[7550,66.894]],["name/283-7",[]],["text/283-7",[]],["component/283-7",[]],["title/283",[224,23.179,1007,29.369,1061,23.267,2925,26.79]],["name/283",[197,0.403,696,0.598,1007,0.606,2925,0.553]],["text/283",[0,0.775,1,1.216,4,1.591,10,0.692,34,1.728,36,1.616,38,2.139,39,1.489,46,1.5,49,2.193,56,1.161,63,1.168,70,2.414,71,2.363,78,1.049,87,1.532,90,3.02,93,1.45,94,1.629,97,1.285,106,2.106,109,1.096,114,1.012,126,0.901,144,1.337,148,1.955,149,0.787,152,1.816,161,1.678,163,1.603,167,2.105,170,1.252,176,1.194,197,2.414,203,0.872,211,1.844,215,1.138,222,1.902,223,1.44,224,2.097,225,1.337,229,0.946,232,0.82,233,0.853,234,3.602,241,2.71,251,1.955,257,2.193,260,0.825,264,1.231,266,2.091,279,1.285,281,2.082,283,0.828,287,0.842,311,0.839,313,0.912,315,1.484,324,2.453,326,2.182,337,1.185,338,1.799,341,1.398,345,2.675,355,1.616,362,1.606,370,3.057,373,2.448,395,1.636,404,1.13,408,0.888,419,1.161,487,0.934,495,1.06,500,3.112,513,2.561,514,0.958,538,1.078,549,1.252,563,2.965,568,1.043,635,4.764,640,3.02,642,3.868,695,1.474,696,3.581,709,0.895,722,0.872,735,1.913,740,5.105,742,1.103,748,1.054,749,2.401,750,1.066,753,3.894,755,1.241,760,2.476,782,1.918,783,1.749,810,1.138,813,0.946,818,1.09,823,3.195,831,1.274,832,1.381,841,2.209,866,1.408,874,1.918,890,1.526,892,1.817,910,1.546,924,2.272,948,1.351,951,1.92,965,2.576,967,3.112,981,2.874,993,1.496,997,2.005,998,2.219,1001,4.285,1007,3.627,1008,2.81,1061,2.873,1072,1.13,1105,1.755,1145,1.496,1151,1.274,1167,1.846,1220,1.096,1233,2.545,1368,1.297,1373,1.323,1404,1.337,1419,1.415,1425,1.274,1428,1.546,1429,1.103,1445,1.725,1530,1.606,1564,1.398,1576,1.241,1600,1.606,1655,1.337,1664,1.725,1696,3.752,1697,2.478,1699,1.575,1775,1.496,1849,1.398,1910,1.297,1971,1.777,2024,1.453,2100,1.263,2222,2.813,2358,2.854,2527,3.511,2621,1.496,2655,1.297,2925,4.162,2967,1.918,3143,2.024,3225,1.606,3299,1.575,3583,5.911,4356,1.725,4359,1.641,4720,1.777,4804,3.112,4805,2.024,4807,4.727,4832,1.725,4978,1.606,5310,3.673,5439,1.496,5495,3.552,5920,1.918,6093,4.136,6095,3.222,6364,1.606,6370,1.68,6371,1.725,6496,3.874,6555,4.029,6765,1.641,7282,2.874,7828,4.602,7831,4.298,7884,1.84,7907,2.024,7908,2.024,7909,2.024,7910,2.024,7911,2.024,7925,3.544,7928,2.024,7950,3.222,7980,2.024,7988,2.183,7989,5.1,7990,2.183,7991,2.183,7992,2.183,7993,2.183,7994,2.183,7995,2.183,7996,2.183,7997,2.183]],["component/283",[446,1.567,7642,1.987]],["title/284-1",[7211,81.486]],["name/284-1",[]],["text/284-1",[]],["component/284-1",[]],["title/284-2",[62,16.531,185,35.2,195,40.557]],["name/284-2",[]],["text/284-2",[]],["component/284-2",[]],["title/284-3",[185,35.2,195,40.557,580,47.7]],["name/284-3",[]],["text/284-3",[]],["component/284-3",[]],["title/284-4",[26,14.121,62,10.321,185,21.977,195,25.322,224,16.648,746,16.28,761,16.523]],["name/284-4",[]],["text/284-4",[]],["component/284-4",[]],["title/284-5",[70,22.331,224,31.386]],["name/284-5",[]],["text/284-5",[]],["component/284-5",[]],["title/284",[70,14.585,185,27.059,195,31.178,224,20.499,402,27.672]],["name/284",[185,0.631,195,0.727,224,0.478,591,0.727]],["text/284",[1,1.609,18,0.442,26,2.881,34,2.516,36,1.334,38,1.279,39,1.672,49,2.16,56,0.935,57,0.804,62,1.538,63,1.599,66,0.858,69,0.692,70,2.733,71,2.229,74,1.268,80,1.766,83,0.692,93,1.627,95,0.815,100,1.9,107,0.772,114,0.815,121,1.389,131,1.088,136,0.984,141,0.768,146,1.655,149,4.228,154,1.35,163,0.737,167,4.574,169,0.863,182,1.17,185,6.17,186,4.556,187,1.294,195,5.167,197,1.816,203,1.26,205,1.858,216,1.323,218,1.429,222,0.656,223,1.617,224,4.069,225,1.932,226,4.485,232,1.185,233,0.687,234,1.344,239,1.482,241,3.457,251,3.084,253,1.189,254,1.1,257,1.13,260,0.664,266,0.962,270,1.482,272,0.899,280,2.773,281,0.718,283,1.627,291,0.718,311,3.7,324,0.705,328,1.524,336,1.141,343,3.141,355,0.743,370,1.714,375,0.941,379,0.804,402,0.976,404,1.634,406,0.863,412,1.545,413,1.545,418,1.604,419,2.783,421,3.939,422,1.492,445,1.187,499,5.248,502,1.666,549,1.809,563,1.829,571,1.456,580,1.294,603,1,605,1.268,609,1.294,615,1.689,622,1.825,665,1.045,677,0.922,692,1.126,709,1.293,716,1.008,721,1.033,731,0.969,746,1.726,753,2.402,756,1.594,760,2.084,761,2.978,764,2.942,766,0.894,772,0.84,783,1.082,800,1.809,821,0.935,851,6.357,854,1.677,862,1.1,866,1.162,893,2.568,906,1.63,909,1.245,918,0.858,947,0.948,949,1.045,967,7.049,993,1.205,997,0.922,1001,0.984,1007,4.069,1008,6.103,1054,1.585,1069,1.126,1134,0.962,1151,1.841,1167,1.524,1208,0.962,1255,0.969,1293,2.072,1295,1.726,1475,1.155,1483,1.389,1492,1.14,1528,1.353,1556,1.389,1579,1.245,1613,1.126,1646,1.322,1684,1.112,1730,1.205,1767,1.205,1888,1.155,2131,1.431,2256,1.389,2265,1.205,2358,1.766,2527,1.008,2671,1.268,3303,1.63,3720,2.493,3896,1.545,4785,1.63,5310,1.055,5629,7.6,6248,1.389,6364,1.294,6496,1.112,6765,2.372,7152,2.925,7153,4.853,7155,2.925,7641,3.617,7817,1.63,7818,1.63,7998,3.156,7999,1.758,8000,1.758,8001,1.758,8002,1.758,8003,1.758,8004,1.758,8005,1.758,8006,1.758,8007,1.758,8008,1.758,8009,1.758,8010,1.758,8011,1.758,8012,3.156,8013,1.758,8014,1.758,8015,4.293,8016,4.293,8017,1.758,8018,1.758,8019,1.758,8020,6.031,8021,1.758,8022,1.758]],["component/284",[446,1.567,7642,1.987]],["title/285-1",[1,7.912,2,14.317,62,12.708,500,25.331,746,20.045]],["name/285-1",[]],["text/285-1",[]],["component/285-1",[]],["title/285-2",[197,22.486,234,20.305,8023,60.097]],["name/285-2",[]],["text/285-2",[]],["component/285-2",[]],["title/285-3",[709,31.267,1267,60.293]],["name/285-3",[]],["text/285-3",[]],["component/285-3",[]],["title/285-4",[234,20.305,500,32.951,735,20.254]],["name/285-4",[]],["text/285-4",[]],["component/285-4",[]],["title/285-5",[338,35.908,500,38.785]],["name/285-5",[]],["text/285-5",[]],["component/285-5",[]],["title/285",[234,20.305,500,32.951,735,20.254]],["name/285",[234,0.47,500,0.763,1910,0.892]],["text/285",[1,1.465,2,1.99,4,1.374,10,1.98,13,1.157,15,0.767,18,0.83,26,0.645,29,0.749,36,1.89,37,1.929,38,1.693,43,1.199,46,2.132,49,2.236,52,1.061,56,0.983,57,1.509,62,0.472,66,0.903,70,2.027,71,0.891,83,1.3,87,1.323,105,1.07,106,1.819,109,0.929,139,2.299,148,1.688,149,0.667,152,2.677,154,0.791,156,1.559,161,1.449,162,0.964,163,1.875,166,0.845,167,3.471,169,0.908,184,1.199,194,1.569,197,2.785,203,0.739,211,3.065,216,2.905,218,2.025,224,3.091,229,0.801,232,0.694,234,3.475,241,1.462,244,1.401,245,1.264,251,3.192,253,0.697,257,1.183,264,2.522,285,1.043,290,0.747,301,1.862,311,0.711,316,1.648,324,2.178,328,1.594,336,1.194,338,3.537,341,1.184,345,2.375,355,1.89,357,2.976,370,1.318,373,1.184,379,2.044,380,0.782,404,0.958,406,1.621,410,1.39,418,2.762,421,3.151,422,2.57,487,1.413,498,0.918,500,6.756,514,0.812,528,1.506,538,0.913,540,1.121,548,1.019,550,0.903,553,1.236,555,0.849,556,0.875,563,3.203,571,2.063,580,1.361,635,0.888,674,3.972,678,1.019,684,1.035,691,1.893,702,2.126,709,1.353,735,2.508,746,0.744,761,0.755,764,1.268,783,0.634,809,1.144,813,1.43,818,0.923,820,1.688,823,3.181,841,0.801,846,1.554,851,7.348,866,1.647,872,1.981,880,1.361,890,2.766,892,1.569,938,1.877,950,1.157,952,1.423,973,2.14,983,1.132,985,1.361,993,1.268,997,0.97,998,1.946,1007,4.626,1008,1.819,1027,1.755,1030,3.613,1058,1.612,1072,0.958,1139,2.132,1145,1.268,1151,2.609,1154,1.004,1175,2.043,1180,1.043,1208,1.012,1220,2.729,1259,1.027,1267,6.699,1274,3.06,1278,1.625,1282,1.625,1306,0.977,1324,4.185,1475,2.936,1482,2.541,1491,5.784,1503,1.361,1531,1.732,1551,1.714,1564,1.184,1576,1.052,1584,1.361,1655,1.132,1657,1.461,1696,1.361,1783,2.382,1840,2.901,1888,1.215,1910,5.039,2272,1.506,2527,1.893,2529,1.39,2657,1.559,2870,1.559,3299,1.334,3391,1.559,3479,1.559,3896,2.901,4223,1.625,4538,1.714,5536,1.559,6369,2.482,6371,1.461,6491,1.625,7174,3.06,7676,2.688,7828,2.482,7836,1.559,7880,1.714,7912,3.06,7950,6.334,8023,5.038,8024,1.85,8025,3.302,8026,1.85,8027,1.85,8028,1.85,8029,1.85,8030,1.85,8031,3.302,8032,1.85,8033,3.302,8034,1.85]],["component/285",[446,1.567,7642,1.987]],["title/286-1",[41,49.637]],["name/286-1",[]],["text/286-1",[]],["component/286-1",[]],["title/286-2",[102,51.094]],["name/286-2",[]],["text/286-2",[]],["component/286-2",[]],["title/286-3",[511,33.628]],["name/286-3",[]],["text/286-3",[]],["component/286-3",[]],["title/286",[131,40.115,539,29.77,556,30.662]],["name/286",[8035,3.59]],["text/286",[1,0.569,21,2.112,34,0.891,38,3.174,43,2.325,49,1.285,68,1.751,71,1.57,83,3.321,126,1.481,130,2.174,131,6.739,152,1.277,153,2.71,161,2.552,165,5.137,167,3.745,178,1.427,221,2.574,223,1.351,232,1.347,234,1.821,286,2.609,287,3.253,313,1.498,421,4.218,422,1.696,491,1.882,511,2.109,550,2.839,552,1.823,556,4.385,560,3.751,562,1.869,734,1.679,746,1.443,749,2.281,772,4.431,773,3.364,801,2.132,808,2.093,818,1.791,843,2.306,866,1.321,876,3.68,890,2.929,919,2.132,997,3.848,1007,3.031,1008,5.471,1029,3.751,1030,2.478,1058,2.839,1061,1.481,1154,3.158,1176,1.751,1180,2.023,1241,4.516,1260,3.424,1350,3.871,1357,2.174,1436,2.639,1487,2.459,1528,4.476,1597,6.348,1703,3.152,1732,2.92,1775,2.459,1849,3.724,1894,3.023,1967,2.459,1971,7.548,2065,2.92,2102,2.498,2348,7.033,2391,6.182,2393,3.325,2396,3.724,2430,4.589,2456,4.05,2533,6.666,2665,3.152,3042,4.372,3790,3.023,6245,3.325,7828,4.372,7832,3.152,7834,3.023,7855,3.152,8036,7.336,8037,3.588,8038,7.336,8039,3.588,8040,8.438,8041,5.817,8042,3.588,8043,3.588,8044,3.588,8045,3.588,8046,3.588]],["component/286",[989,3.575]],["title/287",[9,24.975,989,53.145]],["name/287",[3,1.542]],["text/287",[1,1.269,9,3.845,38,2.569,41,4.278,57,3.653,71,2.157,102,4.404,106,4.404,130,4.843,170,4.583,194,3.799,245,3.061,287,3.082,340,5.057,511,2.898,512,3.902,556,3.78,563,5.007,746,3.214,767,3.687,804,4.545,809,4.945,826,5.248,865,4.038,866,2.944,890,3.191,989,7.322,995,5.32,996,7.023,997,5.515,1014,6.736,1063,4.339,1072,4.138,1180,4.508,1260,4.706,1706,7.408,1775,5.478,2265,5.478,4790,6.151,5070,7.023,5538,6.008,7245,7.023]],["component/287",[989,3.575]],["title/288-1",[41,49.637]],["name/288-1",[]],["text/288-1",[]],["component/288-1",[]],["title/288-2",[102,51.094]],["name/288-2",[]],["text/288-2",[]],["component/288-2",[]],["title/288-3",[511,33.628]],["name/288-3",[]],["text/288-3",[]],["component/288-3",[]],["title/288",[4156,71.363]],["name/288",[4156,2.763]],["text/288",[8,2.59,15,1.897,38,1.723,83,2.776,120,1.89,141,2,152,2.512,165,1.89,167,4.565,178,2.806,234,1.434,286,2.054,287,1.765,298,4.153,310,2.522,327,2.485,330,3.242,400,2.326,421,4.749,422,2.165,541,2.561,571,2.112,634,3.946,724,5.589,776,2.695,793,2.695,840,2.774,857,2.863,901,4.631,951,2.299,973,4.572,986,3.441,1007,6.344,1008,5.753,1029,4.642,1030,1.95,1058,4.719,1131,3.523,1132,3.858,1135,2.802,1139,3.375,1151,2.671,1154,2.485,1178,2.931,1180,4.853,1186,4.364,1189,4.762,1194,5.301,1260,4.153,1366,3.188,1489,4.671,1531,2.401,1716,2.967,1913,3.726,2185,3.047,2274,3.188,2276,3.242,2348,3.242,2427,3.368,2456,6.732,2706,3.858,4156,6.621,4305,3.726,4924,3.858,5324,4.243,7628,4.022,7838,10.099,8047,9.678,8048,4.578,8049,9.668,8050,4.243,8051,4.243,8052,4.243,8053,4.243,8054,4.578,8055,4.578,8056,4.578,8057,4.243,8058,6.538,8059,4.243,8060,4.578,8061,4.578]],["component/288",[989,3.575]],["title/289-1",[41,49.637]],["name/289-1",[]],["text/289-1",[]],["component/289-1",[]],["title/289-2",[102,51.094]],["name/289-2",[]],["text/289-2",[]],["component/289-2",[]],["title/289-3",[511,33.628]],["name/289-3",[]],["text/289-3",[]],["component/289-3",[]],["title/289-4",[234,23.9,841,33.061]],["name/289-4",[]],["text/289-4",[]],["component/289-4",[]],["title/289-5",[211,20.375,234,17.65,556,26.653,1487,38.626]],["name/289-5",[]],["text/289-5",[]],["component/289-5",[]],["title/289",[234,17.65,556,26.653,560,28.818,1487,38.626]],["name/289",[8062,3.59]],["text/289",[7,1.736,10,0.935,38,2.206,46,2.936,57,1.348,63,0.901,71,0.796,83,2.946,120,1.218,122,1.213,124,1.381,149,1.063,152,1.762,157,1.991,161,1.294,167,4.182,178,2.543,183,1.323,203,1.178,207,3.874,211,2.706,214,2.054,215,1.537,222,1.1,223,1.864,234,3.278,245,1.129,257,1.057,286,1.323,287,4.035,290,1.19,298,3.764,299,2.075,310,1.625,313,1.232,315,1.921,324,1.182,370,1.976,395,1.262,421,3.405,422,3.944,439,1.991,498,1.464,538,2.442,542,1.721,552,1.499,553,2.801,555,1.354,556,5.488,560,2.53,563,2.724,582,1.557,635,2.377,702,1.402,724,3.422,734,1.381,735,0.921,742,2.5,776,2.913,785,2.734,841,2.769,866,1.823,872,1.77,886,2.17,892,1.402,899,1.991,915,1.65,919,2.941,951,1.481,973,4.144,997,2.595,998,1.283,1007,6.047,1008,3.522,1025,1.3,1029,4.014,1030,2.109,1038,2.043,1058,2.415,1061,1.218,1069,1.888,1130,1.086,1133,2.401,1135,1.806,1137,2.631,1139,2.936,1154,2.686,1175,1.825,1176,1.44,1180,4.222,1186,1.825,1189,1.991,1194,2.217,1197,3.294,1230,2.546,1306,1.557,1416,1.499,1487,3.391,1488,1.601,1489,2.686,1574,1.866,1606,2.021,1655,1.806,1703,2.592,1708,3.719,1726,1.888,1849,3.168,1852,1.963,1875,4.703,1892,2.021,1894,2.485,1932,2.485,2096,2.089,2102,2.054,2367,2.27,2456,5.808,2664,3.719,2706,2.485,2757,2.089,2925,1.402,3042,2.217,4156,8.319,4305,2.401,4451,2.734,4902,2.734,6258,2.734,7628,2.592,7834,2.485,7836,4.17,7838,5.617,7883,2.485,7884,2.485,7950,5.387,8047,2.734,8050,2.734,8051,2.734,8052,2.734,8053,2.734,8057,2.734,8058,2.734,8059,2.734,8063,6.938,8064,6.393,8065,4.949,8066,2.949,8067,2.949,8068,2.734,8069,2.949,8070,2.949,8071,2.949,8072,2.949]],["component/289",[989,3.575]],["title/290-1",[41,49.637]],["name/290-1",[]],["text/290-1",[]],["component/290-1",[]],["title/290-2",[102,51.094]],["name/290-2",[]],["text/290-2",[]],["component/290-2",[]],["title/290-3",[511,33.628]],["name/290-3",[]],["text/290-3",[]],["component/290-3",[]],["title/290-4",[183,29.086,550,31.649,997,34.008]],["name/290-4",[]],["text/290-4",[]],["component/290-4",[]],["title/290-5",[550,31.649,783,22.231,997,34.008]],["name/290-5",[]],["text/290-5",[]],["component/290-5",[]],["title/290",[556,26.653,560,28.818,760,27.361,804,32.047]],["name/290",[8073,3.59]],["text/290",[10,1.237,38,2.163,46,1.529,57,1.782,71,1.052,83,4.673,88,4.331,110,3.426,126,1.61,152,2.763,153,1.817,161,1.711,163,1.635,167,4.308,183,2.79,203,1.557,222,2.32,223,1.469,232,1.464,281,1.592,286,1.749,287,2.398,299,2.608,311,1.498,313,2.598,315,1.514,336,1.41,340,2.467,342,2.387,344,2.182,370,1.557,395,1.668,421,4.027,422,2.941,433,2.672,550,3.787,553,1.459,556,5.312,560,3.967,563,2.65,724,2.087,740,2.165,749,1.529,760,5.005,773,2.255,776,3.662,783,2.66,804,5.501,841,1.689,854,4.124,866,1.436,886,2.869,890,2.483,892,1.853,898,2.595,915,2.182,919,2.317,937,2.595,951,1.958,997,5.074,1005,3.001,1007,5.637,1029,4.81,1030,2.65,1038,3.203,1058,1.903,1061,2.568,1125,2.439,1154,3.377,1176,1.903,1180,2.199,1360,2.869,1463,3.174,1487,4.263,1597,2.199,1605,3.081,1661,2.762,1892,2.672,1924,2.032,2010,2.363,2022,2.632,2089,3.001,2367,3.001,2396,2.496,2456,4.331,2787,5.708,2988,2.439,3042,2.931,3124,4.406,3790,3.286,4931,3.426,7278,2.439,7583,5.241,7828,4.675,7855,3.426,7856,3.614,7883,3.286,7887,3.614,7888,3.614,7889,3.614,7943,3.426,8063,7.191,8068,3.614,8074,3.9,8075,3.9,8076,3.9,8077,3.9,8078,3.9,8079,3.9,8080,8.855,8081,3.9,8082,3.9]],["component/290",[989,3.575]]],"invertedIndex":[["",{"_index":167,"title":{"46":{},"72":{}},"name":{},"text":{"2":{},"3":{},"5":{},"14":{},"15":{},"17":{},"18":{},"20":{},"22":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"57":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"68":{},"69":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"94":{},"96":{},"97":{},"99":{},"101":{},"102":{},"104":{},"105":{},"106":{},"108":{},"110":{},"113":{},"115":{},"121":{},"128":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"159":{},"162":{},"164":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"177":{},"178":{},"179":{},"180":{},"181":{},"185":{},"189":{},"190":{},"191":{},"192":{},"193":{},"195":{},"196":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"206":{},"208":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"220":{},"255":{},"262":{},"270":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["0",{"_index":674,"title":{},"name":{},"text":{"3":{},"14":{},"18":{},"31":{},"57":{},"67":{},"104":{},"106":{},"145":{},"147":{},"166":{},"169":{},"170":{},"178":{},"179":{},"191":{},"192":{},"198":{},"199":{},"203":{},"212":{},"216":{},"217":{},"219":{},"260":{},"261":{},"262":{},"281":{},"285":{}},"component":{}}],["0.0",{"_index":8003,"title":{},"name":{},"text":{"284":{}},"component":{}}],["0.0.1",{"_index":7816,"title":{},"name":{},"text":{"279":{}},"component":{}}],["0.0.2",{"_index":7674,"title":{},"name":{},"text":{"270":{}},"component":{}}],["0.03",{"_index":6848,"title":{},"name":{},"text":{"179":{}},"component":{}}],["0.1.0",{"_index":5645,"title":{},"name":{},"text":{"107":{}},"component":{}}],["0.10",{"_index":7484,"title":{},"name":{},"text":{"215":{}},"component":{}}],["0.10.0",{"_index":7473,"title":{"215-5":{}},"name":{},"text":{},"component":{}}],["0.11.0",{"_index":7471,"title":{"215-1":{}},"name":{},"text":{},"component":{}}],["0.120",{"_index":8034,"title":{},"name":{},"text":{"285":{}},"component":{}}],["0.53",{"_index":6461,"title":{},"name":{},"text":{"151":{}},"component":{}}],["0.6.2",{"_index":7482,"title":{"215-21":{}},"name":{},"text":{},"component":{}}],["0.7",{"_index":7500,"title":{},"name":{},"text":{"215":{}},"component":{}}],["0.7.0",{"_index":7480,"title":{"215-17":{}},"name":{},"text":{},"component":{}}],["0.8",{"_index":2983,"title":{},"name":{},"text":{"58":{},"215":{}},"component":{}}],["0.8.0",{"_index":7478,"title":{"215-13":{}},"name":{},"text":{},"component":{}}],["0.9",{"_index":7487,"title":{},"name":{},"text":{"215":{}},"component":{}}],["0.9.0",{"_index":7475,"title":{"215-9":{}},"name":{},"text":{},"component":{}}],["0001",{"_index":6188,"title":{},"name":{},"text":{"143":{}},"component":{}}],["01",{"_index":7477,"title":{"215-9":{}},"name":{},"text":{},"component":{}}],["0100",{"_index":7528,"title":{},"name":{},"text":{"219":{}},"component":{}}],["01t10:15:30.00z",{"_index":5187,"title":{},"name":{},"text":{"88":{}},"component":{}}],["02",{"_index":7474,"title":{"215-5":{}},"name":{},"text":{},"component":{}}],["0397a9d5ba94",{"_index":7786,"title":{},"name":{},"text":{"277":{}},"component":{}}],["04",{"_index":7483,"title":{"215-21":{}},"name":{},"text":{"280":{}},"component":{}}],["07",{"_index":7472,"title":{"215-1":{}},"name":{},"text":{},"component":{}}],["08",{"_index":7481,"title":{"215-17":{}},"name":{},"text":{},"component":{}}],["09",{"_index":7479,"title":{"215-13":{}},"name":{},"text":{"217":{}},"component":{}}],["0ea84862944b",{"_index":7923,"title":{},"name":{},"text":{"280":{}},"component":{}}],["0s",{"_index":7432,"title":{},"name":{},"text":{"206":{}},"component":{}}],["1",{"_index":421,"title":{"33-2":{},"33-6":{},"88-23":{},"237-1":{}},"name":{"74":{}},"text":{"3":{},"14":{},"17":{},"18":{},"20":{},"22":{},"24":{},"31":{},"34":{},"35":{},"38":{},"44":{},"46":{},"47":{},"51":{},"56":{},"58":{},"63":{},"64":{},"67":{},"69":{},"71":{},"72":{},"77":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"102":{},"106":{},"115":{},"140":{},"149":{},"151":{},"154":{},"156":{},"166":{},"177":{},"179":{},"191":{},"192":{},"201":{},"202":{},"203":{},"211":{},"212":{},"217":{},"260":{},"261":{},"262":{},"273":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["1\",context=\"mycontext\",fromtierlevel=\"0\",type=\"ev",{"_index":6455,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1\",context=\"mycontext\",fromtierlevel=\"0\",type=\"event\",}10.0",{"_index":6458,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1\",context=\"mycontext\",fromtierlevel=\"1\",type=\"snapshot",{"_index":6460,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1,tenant",{"_index":5699,"title":{},"name":{},"text":{"115":{}},"component":{}}],["1.0",{"_index":2474,"title":{},"name":{},"text":{"44":{},"172":{}},"component":{}}],["1.0.0",{"_index":5646,"title":{},"name":{},"text":{"107":{}},"component":{}}],["1.3.jar",{"_index":6736,"title":{},"name":{},"text":{"172":{}},"component":{}}],["1.4.14",{"_index":4300,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.16",{"_index":4301,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.17",{"_index":4265,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.18",{"_index":4263,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1.4.4.jar",{"_index":6739,"title":{},"name":{},"text":{"172":{}},"component":{}}],["1.6",{"_index":7772,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1.65.1",{"_index":6010,"title":{},"name":{},"text":{"140":{},"141":{}},"component":{}}],["1.7.3",{"_index":7743,"title":{},"name":{},"text":{"276":{}},"component":{}}],["1.9.jar",{"_index":6728,"title":{},"name":{},"text":{"172":{}},"component":{}}],["1.intern",{"_index":6405,"title":{},"name":{},"text":{"149":{}},"component":{}}],["1.jar",{"_index":6607,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["1.mydomain.net",{"_index":7221,"title":{},"name":{},"text":{"199":{}},"component":{}}],["1/0",{"_index":8002,"title":{},"name":{},"text":{"284":{}},"component":{}}],["10",{"_index":628,"title":{},"name":{},"text":{"3":{},"38":{},"63":{},"88":{},"102":{},"115":{},"163":{},"179":{},"191":{},"195":{},"196":{},"202":{},"203":{},"250":{},"261":{},"274":{}},"component":{}}],["100",{"_index":745,"title":{},"name":{},"text":{"5":{},"34":{},"38":{},"42":{},"57":{},"72":{},"77":{},"94":{},"96":{},"128":{},"145":{},"147":{},"179":{},"193":{},"206":{},"211":{},"219":{},"250":{},"261":{},"262":{}},"component":{}}],["1000",{"_index":1905,"title":{},"name":{},"text":{"34":{},"38":{},"88":{},"99":{},"102":{},"143":{},"147":{},"163":{},"179":{}},"component":{}}],["1000/minut",{"_index":7638,"title":{},"name":{},"text":{"262":{}},"component":{}}],["10000",{"_index":6541,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["1000000",{"_index":7173,"title":{},"name":{},"text":{"193":{}},"component":{}}],["10001",{"_index":6182,"title":{},"name":{},"text":{"143":{}},"component":{}}],["10002",{"_index":6183,"title":{},"name":{},"text":{"143":{}},"component":{}}],["10003",{"_index":6187,"title":{},"name":{},"text":{"143":{}},"component":{}}],["10007",{"_index":6185,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1001",{"_index":252,"title":{},"name":{},"text":{"3":{},"143":{},"191":{}},"component":{}}],["1002",{"_index":6119,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1003",{"_index":6120,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1004",{"_index":3817,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["1024",{"_index":4994,"title":{},"name":{},"text":{"86":{}},"component":{}}],["1035",{"_index":4412,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1040",{"_index":4410,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1042",{"_index":4409,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1044f17e2323",{"_index":7769,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1056",{"_index":3767,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1077",{"_index":4406,"title":{},"name":{},"text":{"67":{}},"component":{}}],["10m",{"_index":6379,"title":{},"name":{},"text":{"148":{}},"component":{}}],["11",{"_index":6008,"title":{},"name":{},"text":{"140":{},"202":{}},"component":{}}],["11.0",{"_index":6456,"title":{},"name":{},"text":{"151":{}},"component":{}}],["110",{"_index":7507,"title":{},"name":{},"text":{"216":{}},"component":{}}],["1100",{"_index":6121,"title":{},"name":{},"text":{"143":{}},"component":{}}],["11000",{"_index":6190,"title":{},"name":{},"text":{"143":{}},"component":{}}],["11001",{"_index":6191,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1106",{"_index":3447,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1123",{"_index":3440,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1125",{"_index":3514,"title":{},"name":{},"text":{"66":{}},"component":{}}],["113.5",{"_index":7775,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1169",{"_index":3811,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1184",{"_index":3551,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1187",{"_index":4377,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1193",{"_index":3676,"title":{},"name":{},"text":{"66":{}},"component":{}}],["12",{"_index":5186,"title":{},"name":{},"text":{"88":{},"202":{}},"component":{}}],["1200",{"_index":3756,"title":{},"name":{},"text":{"66":{}},"component":{}}],["120000",{"_index":6867,"title":{},"name":{},"text":{"179":{}},"component":{}}],["1211",{"_index":4151,"title":{},"name":{},"text":{"67":{}},"component":{}}],["123",{"_index":4460,"title":{},"name":{},"text":{"69":{}},"component":{}}],["1230",{"_index":4403,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1231",{"_index":4404,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1234",{"_index":7174,"title":{},"name":{},"text":{"193":{},"285":{}},"component":{}}],["1264",{"_index":4401,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1274",{"_index":4399,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1280",{"_index":3673,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1287",{"_index":4398,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1293",{"_index":4405,"title":{},"name":{},"text":{"67":{}},"component":{}}],["13",{"_index":7296,"title":{},"name":{},"text":{"202":{}},"component":{}}],["1300",{"_index":6122,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1301",{"_index":6123,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1302",{"_index":6124,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1304",{"_index":6125,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1305",{"_index":6126,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1315",{"_index":3803,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1323",{"_index":4400,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1325",{"_index":3806,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1333",{"_index":3801,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1338",{"_index":3775,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1363",{"_index":4392,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1371",{"_index":4396,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1372",{"_index":4394,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1377",{"_index":1272,"title":{},"name":{},"text":{"22":{}},"component":{}}],["1391",{"_index":3780,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1394",{"_index":3778,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1397",{"_index":4391,"title":{},"name":{},"text":{"67":{}},"component":{}}],["14",{"_index":7297,"title":{},"name":{},"text":{"202":{}},"component":{}}],["140",{"_index":7604,"title":{},"name":{},"text":{"250":{}},"component":{}}],["1400",{"_index":6127,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1408",{"_index":4388,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1410",{"_index":4386,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1416",{"_index":4389,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1425",{"_index":4385,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1427",{"_index":3671,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1428",{"_index":3783,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1438",{"_index":3787,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1447",{"_index":3779,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1450",{"_index":4374,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1454",{"_index":4382,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1457",{"_index":4383,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1458",{"_index":3446,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1459",{"_index":4384,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1466",{"_index":3548,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1469",{"_index":3759,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1475",{"_index":3670,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1482",{"_index":4363,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1484",{"_index":4360,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1485",{"_index":4364,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1487",{"_index":4371,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1488",{"_index":4367,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1490",{"_index":3537,"title":{},"name":{},"text":{"66":{}},"component":{}}],["15",{"_index":6853,"title":{"215-1":{},"215-13":{}},"name":{},"text":{"179":{},"202":{}},"component":{}}],["15.12mb",{"_index":7766,"title":{},"name":{},"text":{"277":{}},"component":{}}],["15.12mb/79.56mb",{"_index":7770,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1500",{"_index":6128,"title":{},"name":{},"text":{"143":{},"147":{}},"component":{}}],["15000",{"_index":6935,"title":{},"name":{},"text":{"179":{}},"component":{}}],["1509",{"_index":3430,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1510",{"_index":4350,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1536f297fd7e.mock.pstmn.io/list",{"_index":7294,"title":{},"name":{},"text":{"202":{}},"component":{}}],["155",{"_index":7285,"title":{},"name":{},"text":{"202":{}},"component":{}}],["1595",{"_index":4349,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1597",{"_index":4345,"title":{},"name":{},"text":{"67":{}},"component":{}}],["16",{"_index":6917,"title":{"215-5":{}},"name":{},"text":{"179":{},"202":{},"260":{}},"component":{}}],["1607",{"_index":4337,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1612",{"_index":4341,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1621",{"_index":3764,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1629",{"_index":3668,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1630",{"_index":3464,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1645",{"_index":3534,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1646",{"_index":3626,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1656",{"_index":3760,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1660",{"_index":3768,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1665",{"_index":4321,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1666",{"_index":4322,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1669",{"_index":3667,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1674",{"_index":4324,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1680",{"_index":4326,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1683",{"_index":4330,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1689",{"_index":4311,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1691",{"_index":3663,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1695",{"_index":4317,"title":{},"name":{},"text":{"67":{}},"component":{}}],["16b7152",{"_index":4313,"title":{},"name":{},"text":{"67":{}},"component":{}}],["17",{"_index":1602,"title":{},"name":{},"text":{"31":{},"124":{},"140":{}},"component":{}}],["1700",{"_index":6129,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1711",{"_index":3628,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1712",{"_index":3757,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1723",{"_index":3660,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1733",{"_index":3769,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1742",{"_index":4290,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1771",{"_index":4293,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1772",{"_index":3547,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1778",{"_index":4295,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1786",{"_index":4298,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1792",{"_index":4296,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1796",{"_index":3659,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1797",{"_index":3658,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1821",{"_index":4285,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1826",{"_index":3486,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1828",{"_index":3365,"title":{},"name":{},"text":{"66":{}},"component":{}}],["183",{"_index":5908,"title":{},"name":{},"text":{"126":{}},"component":{}}],["1830",{"_index":3657,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1842",{"_index":4288,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1853",{"_index":4281,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1854",{"_index":4284,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1866",{"_index":4280,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1889",{"_index":3655,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1892",{"_index":4269,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1895",{"_index":4272,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1898",{"_index":3651,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1899",{"_index":3654,"title":{},"name":{},"text":{"66":{}},"component":{}}],["19",{"_index":7476,"title":{"215-9":{},"215-21":{}},"name":{},"text":{},"component":{}}],["1900",{"_index":6130,"title":{},"name":{},"text":{"143":{}},"component":{}}],["1901",{"_index":3650,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1905",{"_index":3648,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["1910",{"_index":3647,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1915",{"_index":3645,"title":{},"name":{},"text":{"66":{}},"component":{}}],["192",{"_index":5907,"title":{},"name":{},"text":{"126":{}},"component":{}}],["192.4",{"_index":7777,"title":{},"name":{},"text":{"277":{}},"component":{}}],["192.8",{"_index":7780,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1920",{"_index":3724,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1929",{"_index":3546,"title":{},"name":{},"text":{"66":{}},"component":{}}],["193",{"_index":5906,"title":{},"name":{},"text":{"126":{}},"component":{}}],["1930",{"_index":3544,"title":{},"name":{},"text":{"66":{}},"component":{}}],["194.9",{"_index":7773,"title":{},"name":{},"text":{"277":{}},"component":{}}],["1963",{"_index":4253,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1964",{"_index":3517,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1967",{"_index":3531,"title":{},"name":{},"text":{"66":{}},"component":{}}],["197",{"_index":5905,"title":{},"name":{},"text":{"126":{}},"component":{}}],["1970/01/01",{"_index":7181,"title":{},"name":{},"text":{"194":{}},"component":{}}],["1974",{"_index":3640,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1975",{"_index":3641,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1981",{"_index":4196,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1986",{"_index":3540,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1987",{"_index":3638,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1989",{"_index":3542,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1992",{"_index":3539,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1995",{"_index":3536,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1997",{"_index":3533,"title":{},"name":{},"text":{"66":{}},"component":{}}],["1999",{"_index":4255,"title":{},"name":{},"text":{"67":{}},"component":{}}],["1d",{"_index":6473,"title":{},"name":{},"text":{"151":{}},"component":{}}],["1ee6",{"_index":7908,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["1gi",{"_index":637,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["1m",{"_index":6378,"title":{},"name":{},"text":{"148":{}},"component":{}}],["2",{"_index":422,"title":{"32-4":{},"33-3":{},"33-7":{},"88-24":{},"237-2":{}},"name":{},"text":{"3":{},"14":{},"17":{},"20":{},"24":{},"34":{},"35":{},"38":{},"39":{},"46":{},"47":{},"51":{},"56":{},"63":{},"64":{},"66":{},"69":{},"71":{},"72":{},"77":{},"82":{},"84":{},"85":{},"88":{},"138":{},"141":{},"144":{},"149":{},"150":{},"154":{},"157":{},"166":{},"177":{},"178":{},"191":{},"192":{},"198":{},"200":{},"201":{},"202":{},"203":{},"211":{},"261":{},"262":{},"273":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["2,tenant",{"_index":5700,"title":{},"name":{},"text":{"115":{}},"component":{}}],["2.0",{"_index":2475,"title":{},"name":{},"text":{"44":{},"175":{}},"component":{}}],["2.0.1.final.jar",{"_index":6755,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.1.6.release.jar",{"_index":6748,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.1.jar",{"_index":6732,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.2.jar",{"_index":6734,"title":{},"name":{},"text":{"172":{}},"component":{}}],["2.3.4.release.jar",{"_index":6609,"title":{},"name":{},"text":{"170":{}},"component":{}}],["2.6.0",{"_index":4256,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2.intern",{"_index":6410,"title":{},"name":{},"text":{"149":{}},"component":{}}],["2.mydomain.net",{"_index":7222,"title":{},"name":{},"text":{"199":{}},"component":{}}],["2.x",{"_index":3398,"title":{},"name":{},"text":{"66":{}},"component":{}}],["20",{"_index":815,"title":{},"name":{},"text":{"5":{},"38":{},"72":{},"179":{}},"component":{}}],["200",{"_index":2222,"title":{},"name":{},"text":{"38":{},"141":{},"145":{},"179":{},"185":{},"262":{},"273":{},"280":{},"283":{}},"component":{}}],["2000",{"_index":6131,"title":{},"name":{},"text":{"143":{},"147":{},"179":{}},"component":{}}],["2001",{"_index":3530,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2002",{"_index":6132,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2008",{"_index":3635,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2016",{"_index":1442,"title":{},"name":{},"text":{"29":{},"66":{}},"component":{}}],["2020",{"_index":3529,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2021",{"_index":3504,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["2022",{"_index":3721,"title":{},"name":{},"text":{"66":{},"217":{}},"component":{}}],["2023",{"_index":137,"title":{"215-13":{},"215-17":{},"215-21":{}},"name":{},"text":{"2":{}},"component":{}}],["2023.0",{"_index":5999,"title":{"140-24":{}},"name":{},"text":{"138":{},"140":{}},"component":{}}],["2023.0.0",{"_index":6041,"title":{},"name":{},"text":{"140":{},"206":{}},"component":{}}],["2023.1",{"_index":212,"title":{"140-14":{},"141-22":{}},"name":{},"text":{"3":{},"138":{},"140":{},"173":{},"191":{},"192":{}},"component":{}}],["2023.1.0",{"_index":6265,"title":{},"name":{},"text":{"145":{}},"component":{}}],["2023.1.1",{"_index":397,"title":{"141-25":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["2023.1.2",{"_index":6073,"title":{"141-23":{}},"name":{},"text":{},"component":{}}],["2023.2",{"_index":293,"title":{"140-9":{},"141-10":{}},"name":{},"text":{"3":{},"138":{},"140":{},"191":{}},"component":{}}],["2023.2.0",{"_index":282,"title":{},"name":{},"text":{"3":{},"67":{},"141":{},"176":{},"186":{},"191":{}},"component":{}}],["2023.2.1",{"_index":6072,"title":{"141-20":{}},"name":{},"text":{"141":{}},"component":{}}],["2023.2.10",{"_index":6063,"title":{"141-11":{}},"name":{},"text":{},"component":{}}],["2023.2.2",{"_index":6071,"title":{"141-19":{}},"name":{},"text":{},"component":{}}],["2023.2.3",{"_index":6070,"title":{"141-18":{}},"name":{},"text":{},"component":{}}],["2023.2.4",{"_index":6069,"title":{"141-17":{}},"name":{},"text":{"141":{}},"component":{}}],["2023.2.5",{"_index":6068,"title":{"141-16":{}},"name":{},"text":{},"component":{}}],["2023.2.6",{"_index":6067,"title":{"141-15":{}},"name":{},"text":{},"component":{}}],["2023.2.7",{"_index":6066,"title":{"141-14":{}},"name":{},"text":{},"component":{}}],["2023.2.8",{"_index":6065,"title":{"141-13":{}},"name":{},"text":{},"component":{}}],["2023.2.9",{"_index":6064,"title":{"141-12":{}},"name":{},"text":{},"component":{}}],["2024",{"_index":150,"title":{"215-1":{},"215-5":{},"215-9":{}},"name":{},"text":{"2":{},"280":{}},"component":{}}],["2024.0",{"_index":693,"title":{"140-6":{}},"name":{},"text":{"4":{},"138":{},"140":{}},"component":{}}],["2024.0.0",{"_index":685,"title":{"4":{}},"name":{},"text":{"4":{},"186":{}},"component":{}}],["2024.0.1",{"_index":6062,"title":{"141-9":{}},"name":{},"text":{},"component":{}}],["2024.0.2",{"_index":6061,"title":{"141-8":{}},"name":{},"text":{},"component":{}}],["2024.0.3",{"_index":6060,"title":{"141-7":{}},"name":{},"text":{},"component":{}}],["2024.0.4",{"_index":6059,"title":{"141-6":{}},"name":{},"text":{},"component":{}}],["2024.1",{"_index":5394,"title":{"140-1":{},"141-1":{}},"name":{},"text":{"89":{},"138":{}},"component":{}}],["2024.1.0",{"_index":6009,"title":{},"name":{},"text":{"140":{}},"component":{}}],["2024.1.1",{"_index":6058,"title":{"141-5":{}},"name":{},"text":{},"component":{}}],["2024.1.2",{"_index":6057,"title":{"141-4":{}},"name":{},"text":{},"component":{}}],["2024.1.3",{"_index":6056,"title":{"141-3":{}},"name":{},"text":{},"component":{}}],["2024.1.4",{"_index":6055,"title":{"141-2":{}},"name":{},"text":{},"component":{}}],["2028",{"_index":3633,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2033",{"_index":3631,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2037",{"_index":4199,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2038",{"_index":4243,"title":{},"name":{},"text":{"67":{}},"component":{}}],["204",{"_index":7492,"title":{},"name":{},"text":{"215":{}},"component":{}}],["2040",{"_index":4244,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2041",{"_index":4198,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2045",{"_index":3525,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2051",{"_index":4248,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2052",{"_index":4245,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2061",{"_index":3629,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2062",{"_index":3627,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2063",{"_index":3625,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2065",{"_index":3623,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2066",{"_index":3621,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2067",{"_index":4237,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2071",{"_index":3523,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2073",{"_index":3619,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2074",{"_index":3412,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2082",{"_index":4234,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2088",{"_index":3719,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2093",{"_index":3617,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2095",{"_index":3618,"title":{},"name":{},"text":{"66":{}},"component":{}}],["20xx.2",{"_index":5998,"title":{},"name":{},"text":{"138":{}},"component":{}}],["20xx.{0..2}.0",{"_index":5996,"title":{},"name":{},"text":{"138":{}},"component":{}}],["21",{"_index":7817,"title":{},"name":{},"text":{"279":{},"284":{}},"component":{}}],["2100",{"_index":6135,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2101",{"_index":3616,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2105",{"_index":3614,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2106",{"_index":3612,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2107",{"_index":6136,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2108",{"_index":6138,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2110",{"_index":3521,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2115",{"_index":3718,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2116",{"_index":3717,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2124",{"_index":3715,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2125",{"_index":3520,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2127",{"_index":4229,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2129",{"_index":3462,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2130",{"_index":3519,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2136",{"_index":3610,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2139",{"_index":3609,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2140",{"_index":3608,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2141",{"_index":3516,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2144",{"_index":3513,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2146",{"_index":3512,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2148",{"_index":3607,"title":{},"name":{},"text":{"66":{}},"component":{}}],["215.7",{"_index":7787,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2154",{"_index":4225,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2156",{"_index":3511,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2168",{"_index":4226,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2170",{"_index":3605,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2171",{"_index":3603,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2173",{"_index":3602,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2174",{"_index":3601,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2177",{"_index":4222,"title":{},"name":{},"text":{"67":{}},"component":{}}],["218.0",{"_index":7785,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2180",{"_index":3713,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2182",{"_index":3509,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2183",{"_index":3508,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2192",{"_index":3445,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2197",{"_index":3599,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2198",{"_index":3501,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2200",{"_index":6139,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2206",{"_index":3597,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2209",{"_index":3596,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2210",{"_index":4215,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2212",{"_index":3595,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2213",{"_index":3594,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2215",{"_index":3710,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2218",{"_index":3709,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2222",{"_index":3592,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2223",{"_index":3708,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2225",{"_index":4220,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2228",{"_index":3387,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2237",{"_index":3706,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2238",{"_index":3704,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2239",{"_index":3506,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2240",{"_index":3703,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2242",{"_index":4207,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2243",{"_index":4192,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2244",{"_index":3589,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2245",{"_index":4210,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2246",{"_index":4209,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2248",{"_index":4208,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2250",{"_index":3587,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2254",{"_index":3700,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2256",{"_index":4206,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2257",{"_index":4205,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2258",{"_index":3505,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2259",{"_index":3586,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2262",{"_index":3585,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2263",{"_index":4204,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2264",{"_index":3584,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2265",{"_index":3580,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2266",{"_index":3577,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2268",{"_index":3696,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2269",{"_index":3698,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2270",{"_index":3576,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2274",{"_index":4202,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2275",{"_index":4201,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2276",{"_index":4197,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2277",{"_index":4200,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2280",{"_index":3574,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2285",{"_index":4195,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2286",{"_index":4194,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2287",{"_index":4193,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2289",{"_index":4189,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2290",{"_index":4178,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2291",{"_index":4191,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2292",{"_index":4179,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2293",{"_index":4188,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2294",{"_index":3503,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2295",{"_index":3572,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2298",{"_index":4186,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2299",{"_index":4185,"title":{},"name":{},"text":{"67":{}},"component":{}}],["22t173839.200.json",{"_index":7940,"title":{},"name":{},"text":{"280":{}},"component":{}}],["22t21:37:00.000+00:00",{"_index":7519,"title":{},"name":{},"text":{"217":{}},"component":{}}],["22t21:37:01.000+00:00",{"_index":7522,"title":{},"name":{},"text":{"217":{}},"component":{}}],["2300",{"_index":4184,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2301",{"_index":3502,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2302",{"_index":6140,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2303",{"_index":6141,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2304",{"_index":6142,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2305",{"_index":4182,"title":{},"name":{},"text":{"67":{},"143":{}},"component":{}}],["2306",{"_index":6143,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2307",{"_index":3498,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2308",{"_index":3570,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2309",{"_index":3695,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2310",{"_index":6145,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2311",{"_index":4180,"title":{},"name":{},"text":{"67":{},"143":{}},"component":{}}],["2312",{"_index":3499,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2317",{"_index":3692,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2319",{"_index":3694,"title":{},"name":{},"text":{"66":{}},"component":{}}],["232",{"_index":5782,"title":{},"name":{},"text":{"119":{}},"component":{}}],["2320",{"_index":3569,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2321",{"_index":3567,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2328",{"_index":3563,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2330",{"_index":3562,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2331",{"_index":3689,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2332",{"_index":3691,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2333",{"_index":3688,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2336",{"_index":3687,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2340",{"_index":3686,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2341",{"_index":3683,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2342",{"_index":3561,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2343",{"_index":3685,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2344",{"_index":3560,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2345",{"_index":3558,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2346",{"_index":3557,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2347",{"_index":3682,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2348",{"_index":3497,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2350",{"_index":3368,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2351",{"_index":3436,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2353",{"_index":3556,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2354",{"_index":3555,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2356",{"_index":3554,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2360",{"_index":3553,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2364",{"_index":4173,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2367",{"_index":4171,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2368",{"_index":4177,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2369",{"_index":4175,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2370",{"_index":4172,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2382",{"_index":4167,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2383",{"_index":3470,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2389",{"_index":4159,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2389b0240d5b",{"_index":7783,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2390",{"_index":4168,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2393",{"_index":4154,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2396",{"_index":4164,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2398",{"_index":4165,"title":{},"name":{},"text":{"67":{}},"component":{}}],["24",{"_index":4812,"title":{},"name":{},"text":{"79":{},"179":{}},"component":{}}],["2400",{"_index":3480,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2401",{"_index":4163,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2403",{"_index":3386,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2404",{"_index":3482,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2407",{"_index":4161,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2409",{"_index":4158,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2411",{"_index":4146,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2412",{"_index":4155,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2413",{"_index":4153,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2414",{"_index":4144,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2418",{"_index":3481,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2420",{"_index":3422,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2421",{"_index":3418,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2423",{"_index":4152,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2424",{"_index":4150,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2426",{"_index":4149,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2427",{"_index":3328,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2428",{"_index":4147,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2431",{"_index":4136,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2433",{"_index":4142,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2434",{"_index":4139,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2436",{"_index":4135,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2441",{"_index":4134,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2444",{"_index":4097,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2445",{"_index":4120,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2446",{"_index":4098,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2448",{"_index":4132,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2449",{"_index":4112,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2451",{"_index":4129,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2453",{"_index":3385,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2454",{"_index":4126,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2455",{"_index":4128,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2456",{"_index":4101,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2458",{"_index":4125,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2459",{"_index":4122,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2461",{"_index":3384,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2462",{"_index":4118,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2463",{"_index":4119,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2464",{"_index":4110,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2465",{"_index":4116,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2466",{"_index":4104,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2468",{"_index":4113,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2469",{"_index":4111,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2470",{"_index":4100,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2472",{"_index":4109,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2473",{"_index":4105,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2474",{"_index":4106,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2475",{"_index":3488,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2476",{"_index":3434,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2481",{"_index":4094,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2482",{"_index":4096,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2483",{"_index":4093,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2485",{"_index":4091,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2486",{"_index":4080,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2487",{"_index":3476,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2497",{"_index":4089,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2498",{"_index":3444,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2499",{"_index":3443,"title":{},"name":{},"text":{"66":{}},"component":{}}],["25",{"_index":7639,"title":{},"name":{},"text":{"262":{}},"component":{}}],["250",{"_index":6328,"title":{},"name":{},"text":{"147":{},"261":{}},"component":{}}],["2500",{"_index":6146,"title":{},"name":{},"text":{"143":{},"179":{}},"component":{}}],["2501",{"_index":6147,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2502",{"_index":6148,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2507",{"_index":3417,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2509",{"_index":3442,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2510",{"_index":3474,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2511",{"_index":6149,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2512",{"_index":4088,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2514",{"_index":4084,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2517",{"_index":4086,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2525",{"_index":4085,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2526",{"_index":3473,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2527",{"_index":3441,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2528",{"_index":4083,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2530",{"_index":3469,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2531",{"_index":4082,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2532",{"_index":4078,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2533",{"_index":4081,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2536",{"_index":3467,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2544",{"_index":3466,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2545",{"_index":3439,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2547",{"_index":3437,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2548",{"_index":3435,"title":{},"name":{},"text":{"66":{}},"component":{}}],["255",{"_index":4806,"title":{},"name":{},"text":{"79":{},"141":{}},"component":{}}],["2550",{"_index":3465,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2551",{"_index":3433,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2552",{"_index":3463,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2555",{"_index":4053,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2561",{"_index":3453,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2562",{"_index":3461,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2564",{"_index":3415,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2566",{"_index":3460,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2569",{"_index":3414,"title":{},"name":{},"text":{"66":{}},"component":{}}],["256mb",{"_index":6855,"title":{},"name":{},"text":{"179":{}},"component":{}}],["2574",{"_index":3456,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2575",{"_index":3413,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2578",{"_index":3452,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2581",{"_index":3380,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2582",{"_index":3383,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2584",{"_index":4064,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2585",{"_index":4062,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2586",{"_index":4059,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2587",{"_index":3411,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2591",{"_index":4058,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2592",{"_index":4055,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2595",{"_index":4076,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2596",{"_index":4037,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2597",{"_index":4036,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2598",{"_index":3410,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2604",{"_index":4048,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2606",{"_index":3408,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2607",{"_index":4051,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2608",{"_index":3379,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2610",{"_index":6189,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2611",{"_index":4038,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2612",{"_index":4075,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2613",{"_index":4047,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2617",{"_index":4045,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2620",{"_index":4043,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2621",{"_index":4074,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2622",{"_index":3407,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2624",{"_index":4044,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2625",{"_index":4040,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2626",{"_index":4042,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2628",{"_index":3404,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2629",{"_index":3405,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2630",{"_index":4034,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2631",{"_index":4029,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2633",{"_index":3403,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2635",{"_index":4035,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2637",{"_index":4032,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2638",{"_index":4003,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2639",{"_index":3374,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2640",{"_index":3376,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2644",{"_index":4024,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2650",{"_index":3402,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2656",{"_index":3377,"title":{},"name":{},"text":{"66":{}},"component":{}}],["266.7",{"_index":7771,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2660",{"_index":3401,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2661",{"_index":3375,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2662",{"_index":3400,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2663",{"_index":3399,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2669",{"_index":4023,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2675",{"_index":4028,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2678",{"_index":4027,"title":{},"name":{},"text":{"67":{}},"component":{}}],["268.9",{"_index":7768,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2683",{"_index":3424,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2686",{"_index":4026,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2688",{"_index":4025,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2689",{"_index":3360,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2690",{"_index":4022,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2694",{"_index":4073,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2695",{"_index":4021,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2696",{"_index":4072,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2698",{"_index":4071,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2700",{"_index":3397,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2701",{"_index":6150,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2704",{"_index":4068,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2708",{"_index":3373,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2709",{"_index":3421,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2714",{"_index":4065,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2716",{"_index":4067,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2721",{"_index":3396,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2722",{"_index":3371,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2724",{"_index":3394,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2726",{"_index":4020,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2727",{"_index":3393,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2729",{"_index":3370,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2736",{"_index":4019,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2742",{"_index":3348,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2743",{"_index":3369,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2744",{"_index":3367,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2745",{"_index":3364,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2750",{"_index":3363,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2751",{"_index":4017,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2752",{"_index":4009,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2753",{"_index":3361,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2755",{"_index":3390,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2756",{"_index":4015,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2757",{"_index":3392,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2759",{"_index":4012,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2763",{"_index":3389,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2769",{"_index":3347,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2776",{"_index":3327,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2777",{"_index":3326,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2778",{"_index":3310,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2780",{"_index":3346,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2783",{"_index":3354,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2785",{"_index":4002,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2790",{"_index":3324,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2792",{"_index":4008,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2794",{"_index":4007,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2795",{"_index":4006,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2796",{"_index":4001,"title":{},"name":{},"text":{"67":{}},"component":{}}],["28",{"_index":4813,"title":{},"name":{},"text":{"79":{}},"component":{}}],["2800",{"_index":6151,"title":{},"name":{},"text":{"143":{}},"component":{}}],["2801",{"_index":3323,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["2802",{"_index":3998,"title":{},"name":{},"text":{"67":{},"143":{}},"component":{}}],["2803",{"_index":3322,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2804",{"_index":3997,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2805",{"_index":3345,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2807",{"_index":3321,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2809",{"_index":3989,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2810",{"_index":3343,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2814",{"_index":3996,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2815",{"_index":3319,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2817",{"_index":3342,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2818",{"_index":3340,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2819",{"_index":3317,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2820",{"_index":3988,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2824",{"_index":3339,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2826",{"_index":3338,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2827",{"_index":3994,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2828",{"_index":3992,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2829",{"_index":3337,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2830",{"_index":3336,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2833",{"_index":3352,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2834",{"_index":3335,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2835",{"_index":3316,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2843",{"_index":3331,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2844",{"_index":3980,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2845",{"_index":3983,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2846",{"_index":3984,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2852",{"_index":3981,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2853",{"_index":3332,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2855",{"_index":3975,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2862",{"_index":3350,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2866",{"_index":3330,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2868",{"_index":3315,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2869",{"_index":3978,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2870",{"_index":3977,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2871",{"_index":3982,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2883",{"_index":3290,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2888",{"_index":3973,"title":{},"name":{},"text":{"67":{}},"component":{}}],["29.19mb",{"_index":7781,"title":{},"name":{},"text":{"277":{}},"component":{}}],["29.19mb/55.7mb",{"_index":7784,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2900",{"_index":3962,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2903",{"_index":3964,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2908",{"_index":3970,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2909",{"_index":3963,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2910",{"_index":3288,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2913",{"_index":3974,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2914",{"_index":3969,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2917",{"_index":3961,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2936",{"_index":3967,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2944",{"_index":3285,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2947",{"_index":3958,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2948",{"_index":3273,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2955",{"_index":3953,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2957",{"_index":3954,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2958",{"_index":3943,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2960",{"_index":3952,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2963",{"_index":3950,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2964",{"_index":3948,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2974",{"_index":3941,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2976",{"_index":3933,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2977",{"_index":3940,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2978",{"_index":3284,"title":{},"name":{},"text":{"66":{}},"component":{}}],["2985",{"_index":3938,"title":{},"name":{},"text":{"67":{}},"component":{}}],["2986",{"_index":3935,"title":{},"name":{},"text":{"67":{}},"component":{}}],["29e6b66d6884",{"_index":7779,"title":{},"name":{},"text":{"277":{}},"component":{}}],["2be7f236dde6",{"_index":7518,"title":{},"name":{},"text":{"217":{}},"component":{}}],["2cd6",{"_index":7936,"title":{},"name":{},"text":{"280":{}},"component":{}}],["2d4a49de79de.mock.pstmn.io/card",{"_index":7304,"title":{},"name":{},"text":{"202":{}},"component":{}}],["2s",{"_index":7419,"title":{},"name":{},"text":{"206":{}},"component":{}}],["3",{"_index":418,"title":{"33-4":{},"33-8":{},"88-25":{},"237-3":{}},"name":{},"text":{"3":{},"14":{},"17":{},"20":{},"24":{},"33":{},"34":{},"35":{},"39":{},"47":{},"56":{},"63":{},"66":{},"69":{},"71":{},"77":{},"82":{},"85":{},"88":{},"111":{},"115":{},"124":{},"144":{},"149":{},"154":{},"157":{},"166":{},"177":{},"179":{},"191":{},"199":{},"200":{},"201":{},"202":{},"203":{},"208":{},"237":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["3.1.6",{"_index":3968,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3.2.2",{"_index":5982,"title":{},"name":{},"text":{"133":{}},"component":{}}],["3.3",{"_index":434,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["3.3.0",{"_index":7819,"title":{},"name":{},"text":{"279":{}},"component":{}}],["3.8.1.jar",{"_index":6730,"title":{},"name":{},"text":{"172":{}},"component":{}}],["3.8.6",{"_index":3568,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3.intern",{"_index":6411,"title":{},"name":{},"text":{"149":{}},"component":{}}],["3.mydomain.net",{"_index":7223,"title":{},"name":{},"text":{"199":{}},"component":{}}],["3.x",{"_index":3812,"title":{},"name":{},"text":{"66":{}},"component":{}}],["30",{"_index":626,"title":{},"name":{},"text":{"3":{},"17":{},"22":{},"40":{},"74":{},"88":{},"102":{},"142":{},"179":{},"191":{},"206":{}},"component":{}}],["300",{"_index":6905,"title":{},"name":{},"text":{"179":{},"262":{}},"component":{}}],["3000",{"_index":5615,"title":{},"name":{},"text":{"104":{},"179":{}},"component":{}}],["30000",{"_index":6936,"title":{},"name":{},"text":{"179":{}},"component":{}}],["300000",{"_index":6892,"title":{},"name":{},"text":{"179":{}},"component":{}}],["3004",{"_index":6160,"title":{},"name":{},"text":{"143":{}},"component":{}}],["3005",{"_index":6161,"title":{},"name":{},"text":{"143":{}},"component":{}}],["3007",{"_index":3278,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3009",{"_index":3281,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3028",{"_index":3277,"title":{},"name":{},"text":{"66":{}},"component":{}}],["303",{"_index":2733,"title":{},"name":{},"text":{"51":{}},"component":{}}],["3030",{"_index":3272,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3032",{"_index":3297,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3041",{"_index":3294,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3043",{"_index":3274,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3046",{"_index":3292,"title":{},"name":{},"text":{"66":{}},"component":{}}],["3054",{"_index":3928,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3078",{"_index":3926,"title":{},"name":{},"text":{"67":{}},"component":{}}],["30_000",{"_index":1158,"title":{},"name":{},"text":{"17":{}},"component":{}}],["31",{"_index":1283,"title":{},"name":{},"text":{"22":{}},"component":{}}],["3117",{"_index":3924,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3119",{"_index":3922,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3123",{"_index":3919,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3124",{"_index":3921,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3126",{"_index":3930,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3130",{"_index":3929,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3149",{"_index":3895,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3156",{"_index":3910,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3157",{"_index":3905,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3158",{"_index":3907,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3160",{"_index":3904,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3161",{"_index":3897,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3163",{"_index":3903,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3164",{"_index":3900,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3171",{"_index":3890,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3173",{"_index":3914,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3176",{"_index":3912,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3183",{"_index":3894,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3193",{"_index":3888,"title":{},"name":{},"text":{"67":{}},"component":{}}],["3196",{"_index":3889,"title":{},"name":{},"text":{"67":{}},"component":{}}],["31c70e9d0593.mock.pstmn.io/gift",{"_index":7276,"title":{},"name":{},"text":{"202":{}},"component":{}}],["32767",{"_index":6133,"title":{},"name":{},"text":{"143":{},"179":{}},"component":{}}],["32kb",{"_index":6941,"title":{},"name":{},"text":{"179":{}},"component":{}}],["34",{"_index":7942,"title":{},"name":{},"text":{"280":{}},"component":{}}],["34m",{"_index":7941,"title":{},"name":{},"text":{"280":{}},"component":{}}],["36",{"_index":4807,"title":{},"name":{},"text":{"79":{},"283":{}},"component":{}}],["3600000",{"_index":6939,"title":{},"name":{},"text":{"179":{}},"component":{}}],["389",{"_index":6614,"title":{},"name":{},"text":{"170":{}},"component":{}}],["3a38",{"_index":7931,"title":{},"name":{},"text":{"280":{}},"component":{}}],["3s",{"_index":7429,"title":{},"name":{},"text":{"206":{}},"component":{}}],["4",{"_index":205,"title":{},"name":{"33":{}},"text":{"3":{},"5":{},"20":{},"24":{},"34":{},"38":{},"56":{},"57":{},"63":{},"72":{},"82":{},"85":{},"88":{},"89":{},"140":{},"157":{},"179":{},"191":{},"201":{},"202":{},"203":{},"279":{},"280":{},"281":{},"284":{}},"component":{}}],["4.0",{"_index":3268,"title":{"66-42":{},"67-141":{}},"name":{},"text":{"65":{},"66":{},"67":{}},"component":{}}],["4.0.1",{"_index":3886,"title":{"67-145":{}},"name":{},"text":{},"component":{}}],["4.0.2",{"_index":3885,"title":{"67-144":{}},"name":{},"text":{},"component":{}}],["4.0.3",{"_index":3884,"title":{"67-143":{}},"name":{},"text":{},"component":{}}],["4.0.4",{"_index":3883,"title":{"67-142":{}},"name":{},"text":{},"component":{}}],["4.1",{"_index":3267,"title":{"66-39":{},"67-138":{}},"name":{},"text":{"65":{}},"component":{}}],["4.1.1",{"_index":3882,"title":{"67-140":{}},"name":{},"text":{},"component":{}}],["4.1.2",{"_index":3881,"title":{"67-139":{}},"name":{},"text":{},"component":{}}],["4.10",{"_index":3260,"title":{"66-1":{},"67-1":{},"93-1":{},"95-1":{},"103-1":{},"109-1":{},"112-1":{},"122-1":{},"126-1":{},"131-1":{},"134-1":{}},"name":{},"text":{"65":{},"126":{},"134":{},"140":{}},"component":{}}],["4.10.0",{"_index":5428,"title":{"98-1":{},"119-1":{}},"name":{},"text":{"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{}},"component":{}}],["4.10.1",{"_index":3829,"title":{"67-11":{},"119-7":{},"126-3":{}},"name":{},"text":{},"component":{}}],["4.10.2",{"_index":3828,"title":{"67-6":{},"119-6":{}},"name":{},"text":{},"component":{}}],["4.10.3",{"_index":3827,"title":{"67-2":{},"119-3":{}},"name":{},"text":{},"component":{}}],["4.2",{"_index":3266,"title":{"66-36":{},"67-135":{}},"name":{},"text":{"65":{},"150":{}},"component":{}}],["4.2.1",{"_index":3880,"title":{"67-137":{}},"name":{},"text":{"189":{}},"component":{}}],["4.2.2",{"_index":3879,"title":{"67-136":{}},"name":{},"text":{"67":{}},"component":{}}],["4.3",{"_index":3265,"title":{"66-33":{},"67-129":{}},"name":{},"text":{"65":{},"66":{},"67":{},"142":{},"149":{},"156":{},"192":{}},"component":{}}],["4.3.1",{"_index":3878,"title":{"67-134":{}},"name":{},"text":{},"component":{}}],["4.3.2",{"_index":3877,"title":{"67-133":{}},"name":{},"text":{},"component":{}}],["4.3.3",{"_index":3876,"title":{"67-132":{}},"name":{},"text":{"67":{}},"component":{}}],["4.3.4",{"_index":3875,"title":{"67-131":{}},"name":{},"text":{"67":{}},"component":{}}],["4.3.5",{"_index":3874,"title":{"67-130":{}},"name":{},"text":{},"component":{}}],["4.4",{"_index":3264,"title":{"66-30":{},"67-119":{}},"name":{},"text":{"65":{},"66":{},"67":{},"133":{},"140":{},"147":{},"150":{},"156":{}},"component":{}}],["4.4.1",{"_index":3873,"title":{"67-128":{}},"name":{},"text":{},"component":{}}],["4.4.10",{"_index":6951,"title":{},"name":{},"text":{"179":{}},"component":{}}],["4.4.14",{"_index":6869,"title":{},"name":{},"text":{"179":{}},"component":{}}],["4.4.2",{"_index":3872,"title":{"67-127":{}},"name":{},"text":{},"component":{}}],["4.4.3",{"_index":3871,"title":{"67-126":{}},"name":{},"text":{"67":{}},"component":{}}],["4.4.4",{"_index":3870,"title":{"67-125":{}},"name":{},"text":{"67":{}},"component":{}}],["4.4.5",{"_index":3869,"title":{"67-124":{}},"name":{},"text":{},"component":{}}],["4.4.6",{"_index":3868,"title":{"67-123":{}},"name":{},"text":{"67":{}},"component":{}}],["4.4.7",{"_index":3867,"title":{"67-122":{}},"name":{},"text":{"67":{},"179":{}},"component":{}}],["4.4.8",{"_index":3866,"title":{"67-121":{}},"name":{},"text":{"67":{},"179":{}},"component":{}}],["4.4.9",{"_index":3865,"title":{"67-120":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5",{"_index":3263,"title":{"66-27":{},"67-94":{}},"name":{},"text":{"65":{},"66":{},"67":{},"148":{},"170":{},"172":{}},"component":{}}],["4.5.1",{"_index":3864,"title":{"67-118":{}},"name":{},"text":{"170":{}},"component":{}}],["4.5.1.jar",{"_index":6605,"title":{},"name":{},"text":{"170":{}},"component":{}}],["4.5.10",{"_index":3855,"title":{"67-109":{}},"name":{},"text":{},"component":{}}],["4.5.11",{"_index":3854,"title":{"67-106":{}},"name":{},"text":{},"component":{}}],["4.5.12",{"_index":3853,"title":{"67-104":{}},"name":{},"text":{"142":{}},"component":{}}],["4.5.13",{"_index":3852,"title":{"67-100":{}},"name":{},"text":{"67":{},"170":{}},"component":{}}],["4.5.14",{"_index":3851,"title":{"67-98":{}},"name":{},"text":{},"component":{}}],["4.5.15",{"_index":3850,"title":{"67-95":{}},"name":{},"text":{},"component":{}}],["4.5.17",{"_index":6114,"title":{},"name":{},"text":{"142":{}},"component":{}}],["4.5.2",{"_index":3863,"title":{"67-117":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.3",{"_index":3862,"title":{"67-116":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.4",{"_index":3861,"title":{"67-115":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.5",{"_index":3860,"title":{"67-114":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.6",{"_index":3859,"title":{"67-113":{}},"name":{},"text":{"67":{}},"component":{}}],["4.5.7",{"_index":3858,"title":{"67-112":{}},"name":{},"text":{},"component":{}}],["4.5.8",{"_index":3857,"title":{"67-111":{}},"name":{},"text":{},"component":{}}],["4.5.9",{"_index":3856,"title":{"67-110":{}},"name":{},"text":{"67":{}},"component":{}}],["4.6",{"_index":1402,"title":{"66-22":{},"67-65":{},"144-6":{}},"name":{},"text":{"28":{},"65":{},"66":{},"67":{},"117":{},"144":{}},"component":{}}],["4.6.0",{"_index":1718,"title":{},"name":{},"text":{"32":{},"46":{},"66":{},"67":{},"163":{},"257":{}},"component":{}}],["4.6.1",{"_index":3849,"title":{"67-91":{}},"name":{},"text":{"144":{}},"component":{}}],["4.6.11",{"_index":284,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["4.6.2",{"_index":3848,"title":{"67-86":{}},"name":{},"text":{},"component":{}}],["4.6.3",{"_index":3847,"title":{"67-82":{}},"name":{},"text":{},"component":{}}],["4.6.4",{"_index":3846,"title":{"67-79":{}},"name":{},"text":{},"component":{}}],["4.6.5",{"_index":3845,"title":{"67-76":{}},"name":{},"text":{},"component":{}}],["4.6.6",{"_index":3844,"title":{"67-73":{}},"name":{},"text":{},"component":{}}],["4.6.7",{"_index":3843,"title":{"67-70":{}},"name":{},"text":{},"component":{}}],["4.6.8",{"_index":3842,"title":{"67-66":{}},"name":{},"text":{},"component":{}}],["4.6.x",{"_index":1779,"title":{},"name":{},"text":{"33":{}},"component":{}}],["4.7",{"_index":1401,"title":{"33":{},"66-17":{},"67-41":{}},"name":{},"text":{"28":{},"33":{},"65":{},"66":{},"67":{}},"component":{}}],["4.7.0",{"_index":1778,"title":{},"name":{},"text":{"33":{}},"component":{}}],["4.7.1",{"_index":3841,"title":{"67-62":{}},"name":{},"text":{},"component":{}}],["4.7.2",{"_index":3840,"title":{"67-57":{}},"name":{},"text":{},"component":{}}],["4.7.3",{"_index":3839,"title":{"67-53":{}},"name":{},"text":{},"component":{}}],["4.7.4",{"_index":3838,"title":{"67-49":{}},"name":{},"text":{},"component":{}}],["4.7.5",{"_index":3837,"title":{"67-46":{}},"name":{},"text":{},"component":{}}],["4.7.6",{"_index":3836,"title":{"67-42":{}},"name":{},"text":{},"component":{}}],["4.7.x",{"_index":1789,"title":{},"name":{},"text":{"33":{},"97":{}},"component":{}}],["4.8",{"_index":3262,"title":{"66-12":{},"67-28":{}},"name":{},"text":{"65":{},"97":{}},"component":{}}],["4.8.0",{"_index":5903,"title":{},"name":{},"text":{"123":{}},"component":{}}],["4.8.1",{"_index":3835,"title":{"67-37":{}},"name":{},"text":{},"component":{}}],["4.8.2",{"_index":3834,"title":{"67-33":{}},"name":{},"text":{},"component":{}}],["4.8.3",{"_index":3833,"title":{"67-29":{}},"name":{},"text":{},"component":{}}],["4.9",{"_index":3261,"title":{"66-6":{},"67-15":{}},"name":{},"text":{"65":{},"66":{},"67":{}},"component":{}}],["4.9.1",{"_index":3832,"title":{"67-23":{}},"name":{},"text":{},"component":{}}],["4.9.2",{"_index":3831,"title":{"67-20":{}},"name":{},"text":{},"component":{}}],["4.9.3",{"_index":3830,"title":{"67-16":{}},"name":{},"text":{},"component":{}}],["4.9.4",{"_index":7793,"title":{},"name":{},"text":{"278":{}},"component":{}}],["4.x",{"_index":1543,"title":{},"name":{},"text":{"30":{},"66":{},"67":{}},"component":{}}],["4.x.i",{"_index":5993,"title":{},"name":{},"text":{"137":{}},"component":{}}],["40",{"_index":7602,"title":{},"name":{},"text":{"250":{}},"component":{}}],["400",{"_index":7495,"title":{},"name":{},"text":{"215":{}},"component":{}}],["4000",{"_index":6152,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4001",{"_index":6153,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4002",{"_index":6154,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4003",{"_index":6155,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4004",{"_index":6162,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4005",{"_index":6156,"title":{},"name":{},"text":{"143":{}},"component":{}}],["4083",{"_index":7292,"title":{},"name":{},"text":{"202":{}},"component":{}}],["409",{"_index":7503,"title":{},"name":{},"text":{"215":{}},"component":{}}],["4096",{"_index":2180,"title":{},"name":{},"text":{"38":{}},"component":{}}],["4102",{"_index":7937,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4140",{"_index":7921,"title":{},"name":{},"text":{"280":{}},"component":{}}],["42",{"_index":2634,"title":{},"name":{},"text":{"47":{}},"component":{}}],["43859",{"_index":4231,"title":{},"name":{},"text":{"67":{}},"component":{}}],["4452",{"_index":7916,"title":{},"name":{},"text":{"280":{}},"component":{}}],["45",{"_index":4820,"title":{},"name":{},"text":{"79":{}},"component":{}}],["4565",{"_index":7302,"title":{},"name":{},"text":{"202":{}},"component":{}}],["4583",{"_index":7274,"title":{},"name":{},"text":{"202":{}},"component":{}}],["4788",{"_index":7516,"title":{},"name":{},"text":{"217":{}},"component":{}}],["497",{"_index":7929,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4c37",{"_index":7932,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4e0a",{"_index":7909,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["4e32",{"_index":6564,"title":{},"name":{},"text":{"166":{}},"component":{}}],["4ee11ca7",{"_index":7930,"title":{},"name":{},"text":{"280":{}},"component":{}}],["4mb",{"_index":7388,"title":{},"name":{},"text":{"206":{}},"component":{}}],["5",{"_index":622,"title":{},"name":{},"text":{"3":{},"14":{},"20":{},"24":{},"29":{},"34":{},"63":{},"72":{},"79":{},"82":{},"85":{},"88":{},"121":{},"151":{},"163":{},"179":{},"191":{},"201":{},"202":{},"203":{},"216":{},"245":{},"261":{},"274":{},"279":{},"280":{},"281":{},"284":{}},"component":{}}],["5.0",{"_index":1552,"title":{},"name":{},"text":{"30":{}},"component":{}}],["5.1.5.release.jar",{"_index":6749,"title":{},"name":{},"text":{"172":{}},"component":{}}],["5.268",{"_index":7446,"title":{},"name":{},"text":{"208":{}},"component":{}}],["5.4.7.jar",{"_index":6610,"title":{},"name":{},"text":{"170":{}},"component":{}}],["50",{"_index":1459,"title":{},"name":{},"text":{"29":{},"79":{},"147":{},"179":{},"250":{}},"component":{}}],["500",{"_index":4355,"title":{},"name":{},"text":{"67":{},"77":{},"147":{},"163":{},"179":{}},"component":{}}],["5000",{"_index":5193,"title":{},"name":{},"text":{"88":{},"99":{},"143":{},"163":{},"179":{}},"component":{}}],["5002",{"_index":6157,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5004",{"_index":6163,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5005",{"_index":6164,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5006",{"_index":6158,"title":{},"name":{},"text":{"143":{}},"component":{}}],["5007",{"_index":6159,"title":{},"name":{},"text":{"143":{}},"component":{}}],["502",{"_index":7502,"title":{},"name":{},"text":{"215":{}},"component":{}}],["5110",{"_index":7511,"title":{},"name":{},"text":{"216":{}},"component":{}}],["512",{"_index":6007,"title":{},"name":{},"text":{"140":{}},"component":{}}],["547a47fa",{"_index":7919,"title":{},"name":{},"text":{"280":{}},"component":{}}],["55",{"_index":7308,"title":{},"name":{},"text":{"203":{}},"component":{}}],["55.7mb",{"_index":7782,"title":{},"name":{},"text":{"277":{}},"component":{}}],["552d4cdb84db",{"_index":7939,"title":{},"name":{},"text":{"280":{}},"component":{}}],["562l",{"_index":6293,"title":{},"name":{},"text":{"145":{}},"component":{}}],["573b",{"_index":7920,"title":{},"name":{},"text":{"280":{}},"component":{}}],["591",{"_index":7994,"title":{},"name":{},"text":{"283":{}},"component":{}}],["591m",{"_index":7993,"title":{},"name":{},"text":{"283":{}},"component":{}}],["5ecb2c4d23ec",{"_index":6566,"title":{},"name":{},"text":{"166":{}},"component":{}}],["5gi",{"_index":636,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["5h",{"_index":6474,"title":{},"name":{},"text":{"151":{}},"component":{}}],["5s",{"_index":7437,"title":{},"name":{},"text":{"206":{}},"component":{}}],["6",{"_index":1293,"title":{},"name":{},"text":{"23":{},"24":{},"29":{},"33":{},"34":{},"63":{},"79":{},"85":{},"201":{},"202":{},"203":{},"261":{},"279":{},"280":{},"281":{},"284":{}},"component":{}}],["6.0.5",{"_index":4033,"title":{},"name":{},"text":{"67":{}},"component":{}}],["6.321",{"_index":7447,"title":{},"name":{},"text":{"208":{}},"component":{}}],["60",{"_index":2159,"title":{},"name":{},"text":{"38":{},"87":{},"88":{}},"component":{}}],["6000",{"_index":6179,"title":{},"name":{},"text":{"143":{}},"component":{}}],["6001",{"_index":6180,"title":{},"name":{},"text":{"143":{}},"component":{}}],["6002",{"_index":6181,"title":{},"name":{},"text":{"143":{}},"component":{}}],["602",{"_index":3678,"title":{},"name":{},"text":{"66":{}},"component":{}}],["6100",{"_index":6165,"title":{},"name":{},"text":{"143":{}},"component":{}}],["6101",{"_index":6166,"title":{},"name":{},"text":{"143":{}},"component":{}}],["69132",{"_index":8014,"title":{},"name":{},"text":{"284":{}},"component":{}}],["6e531a6cf173243adf9519905f42cbec0a334238",{"_index":3716,"title":{},"name":{},"text":{"66":{}},"component":{}}],["7",{"_index":1776,"title":{},"name":{"33":{}},"text":{"34":{},"85":{},"147":{},"179":{},"201":{},"202":{},"203":{},"279":{},"281":{}},"component":{}}],["7000",{"_index":6167,"title":{},"name":{},"text":{"143":{}},"component":{}}],["70f9be2efb6",{"_index":7789,"title":{},"name":{},"text":{"277":{}},"component":{}}],["719",{"_index":3677,"title":{},"name":{},"text":{"66":{}},"component":{}}],["75.69mb",{"_index":7788,"title":{},"name":{},"text":{"277":{}},"component":{}}],["75.69mb/79.56mb",{"_index":7790,"title":{},"name":{},"text":{"277":{}},"component":{}}],["782",{"_index":3489,"title":{},"name":{},"text":{"66":{}},"component":{}}],["79.56mb",{"_index":7767,"title":{},"name":{},"text":{"277":{}},"component":{}}],["7ae84cee97a8",{"_index":7774,"title":{},"name":{},"text":{"277":{}},"component":{}}],["7c78946494",{"_index":7457,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["7ed31eaf5ef8",{"_index":7776,"title":{},"name":{},"text":{"277":{}},"component":{}}],["8",{"_index":4978,"title":{},"name":{},"text":{"85":{},"179":{},"201":{},"202":{},"203":{},"261":{},"262":{},"279":{},"283":{}},"component":{}}],["8.23.1.jar",{"_index":6747,"title":{},"name":{},"text":{"172":{}},"component":{}}],["8/14",{"_index":7765,"title":{},"name":{},"text":{"277":{}},"component":{}}],["80",{"_index":816,"title":{},"name":{},"text":{"5":{},"58":{},"262":{}},"component":{}}],["8024",{"_index":609,"title":{},"name":{},"text":{"3":{},"149":{},"179":{},"191":{},"192":{},"199":{},"201":{},"206":{},"284":{}},"component":{}}],["8024/8124",{"_index":7168,"title":{},"name":{},"text":{"192":{}},"component":{}}],["8024/tcp",{"_index":351,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8024:8024",{"_index":412,"title":{},"name":{},"text":{"3":{},"191":{},"284":{}},"component":{}}],["8025:8024",{"_index":450,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8026:8024",{"_index":456,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8080",{"_index":7260,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["8081",{"_index":7259,"title":{},"name":{},"text":{"201":{},"203":{}},"component":{}}],["8123",{"_index":3707,"title":{},"name":{},"text":{"66":{}},"component":{}}],["8124",{"_index":605,"title":{},"name":{},"text":{"3":{},"66":{},"145":{},"149":{},"166":{},"179":{},"191":{},"192":{},"208":{},"284":{}},"component":{}}],["8124/tcp",{"_index":352,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8124:8124",{"_index":413,"title":{},"name":{},"text":{"3":{},"191":{},"284":{}},"component":{}}],["8125:8124",{"_index":451,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8126:8124",{"_index":457,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8224",{"_index":6407,"title":{},"name":{},"text":{"149":{},"154":{},"166":{},"178":{},"179":{},"192":{}},"component":{}}],["8224/tcp",{"_index":353,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8224:8224",{"_index":444,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8225:8224",{"_index":452,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8226:8224",{"_index":458,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["8231323",{"_index":2894,"title":{},"name":{},"text":{"56":{}},"component":{}}],["8427681b",{"_index":7907,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["85",{"_index":4278,"title":{},"name":{},"text":{"67":{}},"component":{}}],["8601",{"_index":4809,"title":{},"name":{},"text":{"79":{},"215":{}},"component":{}}],["86ba",{"_index":6565,"title":{},"name":{},"text":{"166":{}},"component":{}}],["874",{"_index":4397,"title":{},"name":{},"text":{"67":{}},"component":{}}],["880",{"_index":3552,"title":{},"name":{},"text":{"66":{}},"component":{}}],["883",{"_index":4419,"title":{},"name":{},"text":{"67":{}},"component":{}}],["8888",{"_index":7136,"title":{},"name":{},"text":{"188":{}},"component":{}}],["88af",{"_index":7922,"title":{},"name":{},"text":{"280":{}},"component":{}}],["8kb",{"_index":4829,"title":{},"name":{},"text":{"79":{}},"component":{}}],["9",{"_index":4980,"title":{},"name":{},"text":{"85":{},"147":{},"178":{},"202":{},"203":{}},"component":{}}],["9.0.21.jar",{"_index":6753,"title":{},"name":{},"text":{"172":{}},"component":{}}],["9.1.3.jar",{"_index":6743,"title":{},"name":{},"text":{"172":{}},"component":{}}],["90",{"_index":7581,"title":{},"name":{},"text":{"242":{},"261":{}},"component":{}}],["9000",{"_index":6168,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9001",{"_index":6171,"title":{},"name":{},"text":{"143":{}},"component":{}}],["901aa5c",{"_index":7514,"title":{},"name":{},"text":{"217":{}},"component":{}}],["903",{"_index":4417,"title":{},"name":{},"text":{"67":{}},"component":{}}],["904",{"_index":4418,"title":{},"name":{},"text":{"67":{}},"component":{}}],["9100",{"_index":6172,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9101",{"_index":6173,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9102",{"_index":6174,"title":{},"name":{},"text":{"143":{}},"component":{}}],["913",{"_index":4414,"title":{},"name":{},"text":{"67":{}},"component":{}}],["9200",{"_index":6176,"title":{},"name":{},"text":{"143":{}},"component":{}}],["932",{"_index":3810,"title":{},"name":{},"text":{"66":{}},"component":{}}],["945",{"_index":3820,"title":{},"name":{},"text":{"66":{}},"component":{}}],["947",{"_index":3450,"title":{},"name":{},"text":{"66":{}},"component":{}}],["9500",{"_index":6178,"title":{},"name":{},"text":{"143":{}},"component":{}}],["950e",{"_index":6563,"title":{},"name":{},"text":{"166":{}},"component":{}}],["9584",{"_index":7933,"title":{},"name":{},"text":{"280":{}},"component":{}}],["961",{"_index":3819,"title":{},"name":{},"text":{"66":{}},"component":{}}],["964b",{"_index":7291,"title":{},"name":{},"text":{"202":{}},"component":{}}],["967",{"_index":4413,"title":{},"name":{},"text":{"67":{}},"component":{}}],["97f2",{"_index":7517,"title":{},"name":{},"text":{"217":{}},"component":{}}],["9900",{"_index":6177,"title":{},"name":{},"text":{"143":{}},"component":{}}],["9ee97334f60b",{"_index":7778,"title":{},"name":{},"text":{"277":{}},"component":{}}],["9f4572c0",{"_index":7914,"title":{},"name":{},"text":{"280":{}},"component":{}}],["_",{"_index":5629,"title":{},"name":{},"text":{"105":{},"192":{},"215":{},"284":{}},"component":{}}],["_\"\"_",{"_index":6822,"title":{},"name":{},"text":{"179":{}},"component":{}}],["_(_)_",{"_index":8006,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_*the",{"_index":7167,"title":{},"name":{},"text":{"192":{}},"component":{}}],["_\\/_/\\_\\___/|_",{"_index":7156,"title":{},"name":{},"text":{"192":{}},"component":{}}],["_\\__",{"_index":8009,"title":{},"name":{},"text":{"284":{}},"component":{}}],["__",{"_index":7153,"title":{},"name":{},"text":{"192":{},"284":{}},"component":{}}],["___",{"_index":7155,"title":{},"name":{},"text":{"192":{},"284":{}},"component":{}}],["___'_",{"_index":8005,"title":{},"name":{},"text":{"284":{}},"component":{}}],["____",{"_index":7152,"title":{},"name":{},"text":{"192":{},"284":{}},"component":{}}],["_____",{"_index":7154,"title":{},"name":{},"text":{"192":{}},"component":{}}],["___|_",{"_index":7158,"title":{},"name":{},"text":{"192":{}},"component":{}}],["__axon",{"_index":5601,"title":{},"name":{},"text":{"104":{}},"component":{}}],["__axon_token_store_upd",{"_index":5534,"title":{},"name":{},"text":{"99":{}},"component":{}}],["__|_",{"_index":8007,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_admin",{"_index":6109,"title":{},"name":{},"text":{"142":{},"147":{},"154":{},"156":{},"157":{},"166":{},"169":{},"177":{},"178":{},"185":{},"192":{},"206":{}},"component":{}}],["_select",{"_index":7239,"title":{},"name":{},"text":{"199":{}},"component":{}}],["_{role_name}@{context_nam",{"_index":6580,"title":{},"name":{},"text":{"168":{}},"component":{}}],["_|==============|___/=/_/_/_",{"_index":8010,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_|_",{"_index":8008,"title":{},"name":{},"text":{"284":{}},"component":{}}],["_|____",{"_index":7157,"title":{},"name":{},"text":{"192":{}},"component":{}}],["a.k.a",{"_index":5882,"title":{},"name":{},"text":{"121":{},"224":{}},"component":{}}],["a36b",{"_index":7303,"title":{},"name":{},"text":{"202":{}},"component":{}}],["a6bc",{"_index":7275,"title":{},"name":{},"text":{"202":{}},"component":{}}],["abcd",{"_index":7202,"title":{},"name":{},"text":{"196":{}},"component":{}}],["abil",{"_index":129,"title":{},"name":{},"text":{"2":{},"5":{},"18":{},"51":{},"55":{},"67":{},"88":{},"103":{},"117":{},"140":{},"151":{},"229":{},"230":{}},"component":{}}],["abnorm",{"_index":7693,"title":{},"name":{},"text":{"273":{}},"component":{}}],["abort",{"_index":5158,"title":{},"name":{},"text":{"88":{}},"component":{}}],["abov",{"_index":420,"title":{},"name":{},"text":{"3":{},"4":{},"33":{},"34":{},"35":{},"36":{},"42":{},"43":{},"63":{},"64":{},"72":{},"76":{},"77":{},"84":{},"85":{},"88":{},"99":{},"121":{},"132":{},"147":{},"149":{},"154":{},"168":{},"172":{},"174":{},"177":{},"191":{},"192":{},"201":{},"203":{},"211":{},"216":{},"217":{},"219":{},"239":{},"244":{},"270":{},"274":{},"276":{}},"component":{}}],["absenc",{"_index":1935,"title":{},"name":{},"text":{"35":{},"46":{},"51":{},"60":{},"66":{},"67":{},"88":{}},"component":{}}],["absolut",{"_index":6254,"title":{},"name":{},"text":{"145":{}},"component":{}}],["abstract",{"_index":1290,"title":{"44-2":{}},"name":{},"text":{"23":{},"34":{},"36":{},"44":{},"49":{},"63":{},"69":{},"71":{},"72":{},"77":{},"81":{},"281":{}},"component":{}}],["abstractannotatedaggregateroot",{"_index":4771,"title":{},"name":{},"text":{"77":{}},"component":{}}],["abstractannotationhandlerbeanpostprocessor",{"_index":4259,"title":{},"name":{},"text":{"67":{}},"component":{}}],["abstractcacheadapt",{"_index":4780,"title":{},"name":{},"text":{"77":{}},"component":{}}],["abstractdeadlinemanagertestsuit",{"_index":3406,"title":{},"name":{},"text":{"66":{}},"component":{}}],["abstractdependencyinjectionspringcontexttest",{"_index":4819,"title":{},"name":{},"text":{"79":{}},"component":{}}],["abstractmethodpropertyaccessstrategi",{"_index":3923,"title":{},"name":{},"text":{"67":{}},"component":{}}],["abstractrepositori",{"_index":4000,"title":{},"name":{},"text":{"67":{}},"component":{}}],["abstractsagaentri",{"_index":1827,"title":{},"name":{},"text":{"33":{}},"component":{}}],["abstractsagamanag",{"_index":3087,"title":{},"name":{},"text":{"59":{}},"component":{}}],["abstractsnapshott",{"_index":4351,"title":{},"name":{},"text":{"67":{},"77":{}},"component":{}}],["abstracttokenentri",{"_index":1823,"title":{},"name":{},"text":{"33":{}},"component":{}}],["abuijz",{"_index":3357,"title":{},"name":{},"text":{"66":{},"67":{},"126":{}},"component":{}}],["accept",{"_index":822,"title":{"280-9":{}},"name":{},"text":{"5":{},"38":{},"69":{},"72":{},"74":{},"88":{},"128":{},"144":{},"145":{},"166":{},"170":{},"179":{},"237":{},"244":{},"280":{},"281":{}},"component":{}}],["acceptallcommandsdiscoverymod",{"_index":5923,"title":{},"name":{},"text":{"127":{}},"component":{}}],["access",{"_index":93,"title":{"166":{},"167":{},"169":{},"173":{},"174":{},"204":{},"228":{},"233":{},"236":{},"5-10":{},"145-21":{},"172-5":{},"178-3":{},"192-11":{},"204-1":{},"247-2":{},"270-2":{}},"name":{"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"204":{},"228":{},"233":{}},"text":{"2":{},"3":{},"5":{},"20":{},"23":{},"24":{},"27":{},"35":{},"36":{},"38":{},"39":{},"43":{},"46":{},"48":{},"52":{},"53":{},"61":{},"64":{},"66":{},"67":{},"69":{},"71":{},"77":{},"82":{},"87":{},"88":{},"114":{},"115":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"151":{},"156":{},"161":{},"162":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"188":{},"191":{},"192":{},"199":{},"204":{},"206":{},"208":{},"211":{},"212":{},"214":{},"226":{},"228":{},"230":{},"231":{},"232":{},"235":{},"237":{},"241":{},"244":{},"246":{},"247":{},"249":{},"254":{},"255":{},"257":{},"270":{},"273":{},"274":{},"276":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["accesscontrol.admin",{"_index":6894,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.cach",{"_index":6890,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.en",{"_index":6889,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.intern",{"_index":6893,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.systemtokenfil",{"_index":6895,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accesscontrol.token",{"_index":6834,"title":{},"name":{},"text":{"179":{}},"component":{}}],["accessmod",{"_index":632,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["accessor",{"_index":1933,"title":{},"name":{},"text":{"35":{},"72":{},"84":{},"280":{}},"component":{}}],["accident",{"_index":4378,"title":{},"name":{},"text":{"67":{},"80":{},"82":{},"88":{}},"component":{}}],["accommod",{"_index":1673,"title":{},"name":{},"text":{"31":{},"46":{},"67":{},"76":{},"165":{}},"component":{}}],["accompani",{"_index":3684,"title":{},"name":{},"text":{"66":{},"88":{}},"component":{}}],["accomplish",{"_index":7251,"title":{},"name":{},"text":{"201":{},"202":{},"203":{}},"component":{}}],["accord",{"_index":157,"title":{},"name":{},"text":{"2":{},"33":{},"67":{},"99":{},"120":{},"145":{},"151":{},"221":{},"232":{},"234":{},"274":{},"280":{},"281":{},"289":{}},"component":{}}],["accordingli",{"_index":899,"title":{},"name":{},"text":{"6":{},"42":{},"66":{},"72":{},"76":{},"89":{},"115":{},"154":{},"161":{},"165":{},"177":{},"180":{},"280":{},"289":{}},"component":{}}],["accordinglu",{"_index":7946,"title":{},"name":{},"text":{"280":{}},"component":{}}],["account",{"_index":723,"title":{"5-2":{},"169-2":{},"169-4":{},"173-2":{},"237-1":{},"263-1":{}},"name":{"237":{}},"text":{"5":{},"6":{},"31":{},"36":{},"39":{},"49":{},"64":{},"66":{},"67":{},"76":{},"79":{},"85":{},"87":{},"88":{},"102":{},"127":{},"132":{},"141":{},"165":{},"166":{},"167":{},"169":{},"170":{},"172":{},"173":{},"174":{},"199":{},"237":{},"247":{},"261":{},"263":{},"267":{},"268":{},"269":{},"276":{},"277":{}},"component":{}}],["account(registeraccountcommand,deadlinemanag",{"_index":3115,"title":{},"name":{},"text":{"59":{}},"component":{}}],["accountregisteredev",{"_index":3010,"title":{},"name":{},"text":{"59":{}},"component":{}}],["accumul",{"_index":6510,"title":{},"name":{},"text":{"157":{}},"component":{}}],["achiev",{"_index":1010,"title":{},"name":{},"text":{"8":{},"13":{},"30":{},"31":{},"34":{},"35":{},"38":{},"42":{},"46":{},"51":{},"56":{},"58":{},"63":{},"66":{},"79":{},"80":{},"88":{},"99":{},"100":{},"101":{},"102":{},"144":{},"162":{},"211":{},"220":{},"226":{},"281":{}},"component":{}}],["ack",{"_index":5416,"title":{},"name":{},"text":{"90":{},"143":{}},"component":{}}],["acknowledg",{"_index":5395,"title":{},"name":{},"text":{"89":{},"102":{},"143":{},"144":{},"151":{},"156":{}},"component":{}}],["acount",{"_index":6785,"title":{},"name":{},"text":{"174":{}},"component":{}}],["acquir",{"_index":7628,"title":{},"name":{},"text":{"261":{},"288":{},"289":{}},"component":{}}],["acquisit",{"_index":8049,"title":{},"name":{},"text":{"288":{}},"component":{}}],["act",{"_index":862,"title":{},"name":{},"text":{"5":{},"6":{},"35":{},"36":{},"38":{},"55":{},"59":{},"82":{},"83":{},"87":{},"88":{},"92":{},"94":{},"115":{},"130":{},"156":{},"260":{},"266":{},"280":{},"284":{}},"component":{}}],["action",{"_index":924,"title":{},"name":{},"text":{"6":{},"40":{},"41":{},"51":{},"52":{},"53":{},"59":{},"63":{},"66":{},"69":{},"88":{},"141":{},"143":{},"145":{},"186":{},"246":{},"250":{},"260":{},"261":{},"262":{},"270":{},"271":{},"274":{},"281":{},"283":{}},"component":{}}],["activ",{"_index":169,"title":{"275":{},"148-5":{},"156-2":{},"170-3":{},"232-2":{}},"name":{"275":{}},"text":{"2":{},"5":{},"30":{},"38":{},"39":{},"40":{},"53":{},"54":{},"57":{},"58":{},"59":{},"62":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"82":{},"88":{},"99":{},"120":{},"142":{},"143":{},"145":{},"148":{},"154":{},"156":{},"157":{},"170":{},"172":{},"177":{},"178":{},"179":{},"186":{},"189":{},"243":{},"244":{},"246":{},"261":{},"264":{},"273":{},"275":{},"276":{},"284":{},"285":{}},"component":{}}],["activate_plugin",{"_index":6706,"title":{},"name":{},"text":{"171":{}},"component":{}}],["active_backup",{"_index":6365,"title":{},"name":{},"text":{"147":{},"156":{},"157":{},"178":{}},"component":{}}],["activedirectori",{"_index":6627,"title":{},"name":{},"text":{"170":{}},"component":{}}],["activetransform",{"_index":6298,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation#cancel",{"_index":6303,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation#startappli",{"_index":6302,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation#transform(transform",{"_index":6301,"title":{},"name":{},"text":{"145":{}},"component":{}}],["activetransformation.transform(transform",{"_index":6307,"title":{},"name":{},"text":{"145":{}},"component":{}}],["actual",{"_index":582,"title":{},"name":{},"text":{"3":{},"34":{},"36":{},"38":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"83":{},"84":{},"94":{},"99":{},"102":{},"113":{},"127":{},"151":{},"161":{},"172":{},"191":{},"213":{},"218":{},"224":{},"289":{}},"component":{}}],["actuat",{"_index":2887,"title":{"185":{},"54-1":{}},"name":{"185":{}},"text":{"54":{},"55":{},"66":{},"185":{},"190":{}},"component":{}}],["actuator/env",{"_index":7026,"title":{},"name":{},"text":{"185":{}},"component":{}}],["actuator/health",{"_index":7021,"title":{},"name":{},"text":{"185":{},"187":{}},"component":{}}],["actuator/health/readi",{"_index":6096,"title":{},"name":{},"text":{"141":{}},"component":{}}],["actuator/info",{"_index":620,"title":{},"name":{},"text":{"3":{},"185":{},"191":{},"215":{}},"component":{}}],["actuator/logg",{"_index":7025,"title":{},"name":{},"text":{"185":{}},"component":{}}],["actuator/metr",{"_index":7023,"title":{},"name":{},"text":{"185":{},"186":{}},"component":{}}],["actuator/prometheu",{"_index":2926,"title":{},"name":{},"text":{"57":{},"185":{}},"component":{}}],["actuator`url",{"_index":7020,"title":{},"name":{},"text":{"185":{}},"component":{}}],["ad",{"_index":379,"title":{"5-7":{},"270-1":{},"278-3":{}},"name":{},"text":{"3":{},"12":{},"18":{},"20":{},"25":{},"29":{},"30":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"49":{},"51":{},"59":{},"66":{},"67":{},"72":{},"77":{},"79":{},"86":{},"87":{},"88":{},"89":{},"91":{},"104":{},"108":{},"114":{},"115":{},"121":{},"123":{},"124":{},"126":{},"127":{},"141":{},"143":{},"147":{},"150":{},"151":{},"154":{},"156":{},"170":{},"174":{},"178":{},"179":{},"191":{},"192":{},"257":{},"262":{},"265":{},"270":{},"271":{},"272":{},"273":{},"276":{},"278":{},"279":{},"280":{},"284":{},"285":{}},"component":{}}],["adapt",{"_index":1493,"title":{},"name":{},"text":{"30":{},"66":{},"77":{},"92":{},"264":{}},"component":{}}],["add",{"_index":163,"title":{"275":{},"5-12":{},"15-2":{},"276-2":{},"279-7":{}},"name":{"270":{}},"text":{"2":{},"3":{},"5":{},"15":{},"18":{},"24":{},"30":{},"31":{},"35":{},"39":{},"40":{},"44":{},"46":{},"47":{},"51":{},"53":{},"56":{},"59":{},"66":{},"67":{},"69":{},"71":{},"79":{},"82":{},"84":{},"86":{},"88":{},"89":{},"102":{},"103":{},"104":{},"109":{},"115":{},"121":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"149":{},"151":{},"156":{},"157":{},"161":{},"166":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"178":{},"180":{},"185":{},"191":{},"192":{},"198":{},"202":{},"221":{},"228":{},"231":{},"254":{},"255":{},"260":{},"262":{},"269":{},"270":{},"272":{},"273":{},"276":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"290":{}},"component":{}}],["add/assign",{"_index":7619,"title":{},"name":{},"text":{"255":{}},"component":{}}],["add_node_to_clust",{"_index":6707,"title":{},"name":{},"text":{"171":{}},"component":{}}],["add_node_to_context",{"_index":6708,"title":{},"name":{},"text":{"171":{}},"component":{}}],["add_node_to_replication_group",{"_index":6709,"title":{},"name":{},"text":{"171":{}},"component":{}}],["add_plugin",{"_index":6710,"title":{},"name":{},"text":{"171":{}},"component":{}}],["addelement(\"descript",{"_index":2487,"title":{},"name":{},"text":{"44":{}},"component":{}}],["addgroup",{"_index":356,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["addit",{"_index":166,"title":{"192-8":{},"232-3":{}},"name":{},"text":{"2":{},"3":{},"6":{},"20":{},"26":{},"29":{},"30":{},"31":{},"34":{},"38":{},"40":{},"44":{},"47":{},"49":{},"51":{},"52":{},"59":{},"66":{},"67":{},"72":{},"86":{},"88":{},"99":{},"104":{},"105":{},"106":{},"108":{},"123":{},"124":{},"127":{},"140":{},"142":{},"147":{},"150":{},"151":{},"156":{},"157":{},"163":{},"168":{},"174":{},"178":{},"179":{},"191":{},"192":{},"199":{},"208":{},"212":{},"213":{},"216":{},"217":{},"218":{},"219":{},"235":{},"239":{},"242":{},"243":{},"246":{},"254":{},"261":{},"273":{},"274":{},"278":{},"280":{},"285":{}},"component":{}}],["addition",{"_index":1150,"title":{},"name":{},"text":{"17":{},"31":{},"46":{},"49":{},"51":{},"57":{},"67":{},"72":{},"76":{},"88":{},"102":{},"111":{},"121":{},"127":{},"140":{},"151":{},"202":{},"203":{},"260":{}},"component":{}}],["addmessagesource(\"eventsourcea",{"_index":5367,"title":{},"name":{},"text":{"88":{}},"component":{}}],["addmessagesource(\"eventsourceb",{"_index":5368,"title":{},"name":{},"text":{"88":{}},"component":{}}],["addnodetoreplicationgroup(joinreplicationgroup",{"_index":6992,"title":{},"name":{},"text":{"180":{}},"component":{}}],["addr=glob",{"_index":5460,"title":{},"name":{},"text":{"96":{}},"component":{}}],["address",{"_index":1464,"title":{},"name":{},"text":{"29":{},"30":{},"37":{},"49":{},"66":{},"67":{},"69":{},"96":{},"101":{},"140":{},"143":{},"146":{},"155":{},"172":{},"174":{},"183":{},"199":{},"221":{},"247":{},"262":{}},"component":{}}],["addresschangedev",{"_index":2675,"title":{},"name":{},"text":{"49":{}},"component":{}}],["addresscorrectedev",{"_index":2677,"title":{},"name":{},"text":{"49":{}},"component":{}}],["addus",{"_index":359,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["adher",{"_index":4092,"title":{},"name":{},"text":{"67":{},"140":{}},"component":{}}],["adjust",{"_index":219,"title":{"140-19":{}},"name":{},"text":{"3":{},"29":{},"33":{},"36":{},"44":{},"46":{},"66":{},"67":{},"76":{},"77":{},"79":{},"85":{},"87":{},"88":{},"99":{},"101":{},"104":{},"130":{},"138":{},"140":{},"165":{},"191":{},"192":{},"199":{},"220":{},"250":{},"255":{},"262":{},"274":{}},"component":{}}],["admin",{"_index":836,"title":{"192-7":{}},"name":{},"text":{"5":{},"141":{},"144":{},"147":{},"154":{},"157":{},"161":{},"167":{},"168":{},"169":{},"171":{},"172":{},"173":{},"174":{},"178":{},"192":{},"199":{},"201":{},"202":{},"203":{},"208":{},"255":{}},"component":{}}],["admin/default",{"_index":6481,"title":{},"name":{},"text":{"154":{}},"component":{}}],["admin@_admin",{"_index":7325,"title":{},"name":{},"text":{"204":{}},"component":{}}],["admin@context",{"_index":7327,"title":{},"name":{},"text":{"204":{}},"component":{}}],["admin_",{"_index":6323,"title":{},"name":{},"text":{"147":{}},"component":{}}],["admin_staff",{"_index":6637,"title":{},"name":{},"text":{"170":{}},"component":{}}],["adminactionresult",{"_index":6966,"title":{},"name":{},"text":{"180":{}},"component":{}}],["adminchannel",{"_index":6202,"title":{},"name":{},"text":{"144":{}},"component":{}}],["adminchannel().pauseeventprocessor(eventprocessornam",{"_index":6211,"title":{},"name":{},"text":{"144":{}},"component":{}}],["adminchannel().starteventprocessor(eventprocessornam",{"_index":6214,"title":{},"name":{},"text":{"144":{}},"component":{}}],["administ",{"_index":5995,"title":{},"name":{},"text":{"137":{},"148":{},"169":{}},"component":{}}],["administr",{"_index":5994,"title":{"146":{},"148-2":{},"180-1":{},"180-2":{},"180-3":{},"180-4":{},"180-5":{}},"name":{},"text":{"137":{},"143":{},"144":{},"146":{},"154":{},"169":{},"170":{},"173":{},"177":{},"192":{},"199":{},"204":{},"227":{},"228":{},"229":{},"230":{},"231":{},"236":{}},"component":{}}],["adminnod",{"_index":7161,"title":{},"name":{},"text":{"192":{}},"component":{}}],["advanc",{"_index":1024,"title":{"14":{},"18":{},"115-11":{}},"name":{"14":{},"18":{}},"text":{"21":{},"31":{},"67":{},"74":{},"115":{},"140":{},"154":{},"177":{},"192":{},"227":{},"236":{},"250":{},"280":{}},"component":{}}],["advantag",{"_index":933,"title":{},"name":{},"text":{"6":{},"38":{},"39":{},"40":{},"46":{},"51":{},"83":{}},"component":{}}],["advis",{"_index":1965,"title":{},"name":{},"text":{"35":{},"88":{}},"component":{}}],["af",{"_index":3291,"title":{},"name":{},"text":{"66":{}},"component":{}}],["af93",{"_index":7293,"title":{},"name":{},"text":{"202":{}},"component":{}}],["affect",{"_index":964,"title":{},"name":{},"text":{"6":{},"38":{},"44":{},"79":{},"145":{},"156":{},"179":{},"274":{}},"component":{}}],["aforement",{"_index":3790,"title":{},"name":{},"text":{"66":{},"79":{},"286":{},"290":{}},"component":{}}],["afourtheventwithsomespecialth",{"_index":4625,"title":{},"name":{},"text":{"72":{}},"component":{}}],["aftercommit",{"_index":2851,"title":{},"name":{},"text":{"53":{}},"component":{}}],["ag",{"_index":1444,"title":{},"name":{},"text":{"29":{},"67":{},"151":{}},"component":{}}],["again",{"_index":381,"title":{},"name":{},"text":{"3":{},"5":{},"14":{},"17":{},"66":{},"77":{},"79":{},"86":{},"87":{},"88":{},"144":{},"145":{},"148":{},"151":{},"154":{},"156":{},"168":{},"178":{},"191":{},"192":{},"201":{},"202":{},"217":{},"221":{},"260":{},"273":{},"274":{},"280":{}},"component":{}}],["against",{"_index":1963,"title":{},"name":{},"text":{"35":{},"36":{},"38":{},"57":{},"63":{},"69":{},"72":{},"74":{},"88":{},"145":{},"192":{},"262":{},"280":{}},"component":{}}],["agent",{"_index":3047,"title":{},"name":{},"text":{"59":{},"199":{}},"component":{}}],["aggerg",{"_index":7574,"title":{},"name":{},"text":{"239":{}},"component":{}}],["aggreement",{"_index":7570,"title":{},"name":{},"text":{"237":{}},"component":{}}],["aggreg",{"_index":1139,"title":{"80":{},"81":{},"82":{},"84":{},"85":{},"205":{},"239":{},"35-1":{},"35-4":{},"36-1":{},"36-6":{},"42-1":{},"42-2":{},"72-8":{},"77-9":{},"80-1":{},"81-1":{},"82-1":{},"82-2":{},"239-1":{},"239-2":{},"261-5":{},"274-22":{},"274-23":{},"274-24":{},"274-27":{},"281-5":{},"281-7":{}},"name":{"80":{},"81":{},"82":{},"84":{},"85":{},"205":{},"239":{}},"text":{"16":{},"18":{},"19":{},"20":{},"21":{},"24":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"41":{},"42":{},"44":{},"46":{},"49":{},"51":{},"52":{},"55":{},"59":{},"62":{},"66":{},"67":{},"72":{},"74":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"88":{},"94":{},"97":{},"100":{},"101":{},"102":{},"111":{},"126":{},"141":{},"143":{},"147":{},"151":{},"163":{},"179":{},"186":{},"194":{},"203":{},"217":{},"224":{},"239":{},"244":{},"249":{},"250":{},"261":{},"262":{},"274":{},"280":{},"281":{},"285":{},"288":{},"289":{}},"component":{}}],["aggregate#execute(consum",{"_index":2001,"title":{},"name":{},"text":{"35":{}},"component":{}}],["aggregate(cach",{"_index":4797,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregate(repositori",{"_index":2040,"title":{},"name":{},"text":{"36":{}},"component":{}}],["aggregate(snapshotfilt",{"_index":4764,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregate(snapshottriggerdefinit",{"_index":4749,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregate/ent",{"_index":2754,"title":{},"name":{},"text":{"51":{}},"component":{}}],["aggregate/saga",{"_index":2282,"title":{},"name":{},"text":{"39":{}},"component":{}}],["aggregate_id",{"_index":5969,"title":{},"name":{},"text":{"132":{}},"component":{}}],["aggregateannotationcommandhandl",{"_index":3891,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregateconfigur",{"_index":3781,"title":{},"name":{},"text":{"66":{},"77":{},"81":{}},"component":{}}],["aggregateconfiguration#aggregatefactori",{"_index":4738,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregateconfiguration`",{"_index":4739,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregateconfigurer#withsubtypes(class",{"_index":3788,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aggregateconfigurer#withsubtypes(set",{"_index":4895,"title":{},"name":{},"text":{"81":{}},"component":{}}],["aggregateconfigurer.defaultconfiguration(giftcard.class",{"_index":2031,"title":{},"name":{},"text":{"36":{},"77":{},"81":{}},"component":{}}],["aggregatecreationpolici",{"_index":1989,"title":{},"name":{},"text":{"35":{}},"component":{}}],["aggregatecreationpolicy#alway",{"_index":4395,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatefactori",{"_index":2005,"title":{"36-9":{}},"name":{},"text":{"36":{},"67":{},"72":{},"77":{}},"component":{}}],["aggregateid",{"_index":4881,"title":{},"name":{},"text":{"80":{},"203":{},"212":{},"217":{}},"component":{}}],["aggregateidentifi",{"_index":1229,"title":{},"name":{},"text":{"20":{},"34":{},"35":{},"36":{},"52":{},"59":{},"79":{},"81":{},"82":{},"84":{},"85":{},"111":{},"193":{},"194":{},"281":{}},"component":{}}],["aggregateidentifierspanattributesprovid",{"_index":3024,"title":{},"name":{},"text":{"59":{}},"component":{}}],["aggregatelifecycl",{"_index":2377,"title":{},"name":{},"text":{"42":{},"82":{}},"component":{}}],["aggregatelifecycle#appli",{"_index":2381,"title":{},"name":{},"text":{"42":{},"82":{}},"component":{}}],["aggregatelifecycle#apply(object",{"_index":2378,"title":{},"name":{},"text":{"42":{},"82":{},"85":{}},"component":{}}],["aggregatelifecycle#createnew(class",{"_index":4877,"title":{},"name":{},"text":{"80":{}},"component":{}}],["aggregatelifecycle.appli",{"_index":2047,"title":{},"name":{},"text":{"36":{},"281":{}},"component":{}}],["aggregatelifecycle.isl",{"_index":4918,"title":{},"name":{},"text":{"82":{}},"component":{}}],["aggregatelifecycle.markdelet",{"_index":2027,"title":{},"name":{},"text":{"36":{}},"component":{}}],["aggregateloadtimesnapshottriggerdefinit",{"_index":4346,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatememb",{"_index":4305,"title":{},"name":{},"text":{"67":{},"84":{},"85":{},"288":{},"289":{}},"component":{}}],["aggregatemember(eventforwardingmod",{"_index":4956,"title":{},"name":{},"text":{"84":{}},"component":{}}],["aggregatemember(typ",{"_index":4943,"title":{},"name":{},"text":{"84":{}},"component":{}}],["aggregatemodel",{"_index":3913,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatenotfoundexcept",{"_index":4211,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatesequencenumb",{"_index":7176,"title":{},"name":{},"text":{"193":{},"194":{},"198":{}},"component":{}}],["aggregatesnapshot",{"_index":4733,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregatesnapshott",{"_index":4732,"title":{},"name":{},"text":{"77":{}},"component":{}}],["aggregatestreamcreationexcept",{"_index":3800,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aggregatetest",{"_index":4542,"title":{},"name":{},"text":{"72":{}},"component":{}}],["aggregatetestfixtur",{"_index":1267,"title":{"285-3":{}},"name":{},"text":{"22":{},"66":{},"67":{},"72":{},"285":{}},"component":{}}],["aggregatetestfixture.andgivencurrenttim",{"_index":4052,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aggregatetestfixture<>(bike.class",{"_index":8026,"title":{},"name":{},"text":{"285":{}},"component":{}}],["aggregatetestfixture<>(expiringgiftcard.class",{"_index":1281,"title":{},"name":{},"text":{"22":{}},"component":{}}],["aggregatetestfixture<>(giftcard.class",{"_index":4535,"title":{},"name":{},"text":{"72":{}},"component":{}}],["aggregatetyp",{"_index":7175,"title":{},"name":{},"text":{"193":{},"194":{},"196":{},"203":{},"212":{},"217":{}},"component":{}}],["aggregatevers",{"_index":4894,"title":{},"name":{},"text":{"81":{}},"component":{}}],["aggregate’",{"_index":1257,"title":{},"name":{},"text":{"20":{},"35":{},"36":{},"38":{},"42":{},"49":{},"51":{},"66":{},"72":{},"77":{},"82":{}},"component":{}}],["ago",{"_index":5326,"title":{},"name":{},"text":{"88":{}},"component":{}}],["agreg",{"_index":7576,"title":{},"name":{},"text":{"239":{}},"component":{}}],["ahaead",{"_index":7150,"title":{},"name":{},"text":{"191":{}},"component":{}}],["ahead",{"_index":519,"title":{"124":{},"30-33":{}},"name":{},"text":{"3":{},"5":{},"30":{},"123":{}},"component":{}}],["aid",{"_index":930,"title":{},"name":{},"text":{"6":{},"140":{},"230":{},"240":{}},"component":{}}],["aim",{"_index":1504,"title":{},"name":{},"text":{"30":{},"57":{},"66":{},"67":{},"140":{},"151":{},"227":{},"236":{},"279":{},"280":{},"281":{}},"component":{}}],["aisw",{"_index":7564,"title":{},"name":{},"text":{"235":{}},"component":{}}],["aka",{"_index":5925,"title":{},"name":{},"text":{"127":{}},"component":{}}],["albeit",{"_index":1539,"title":{},"name":{},"text":{"30":{},"69":{},"101":{}},"component":{}}],["alert",{"_index":2891,"title":{"239-2":{},"242-2":{},"245-2":{},"246-2":{},"262-5":{},"273-5":{},"273-6":{}},"name":{},"text":{"55":{},"58":{},"239":{},"242":{},"244":{},"245":{},"246":{},"249":{},"250":{},"259":{},"260":{},"262":{},"269":{},"273":{},"274":{}},"component":{}}],["algorithm",{"_index":7536,"title":{},"name":{},"text":{"221":{},"273":{}},"component":{}}],["alia",{"_index":1653,"title":{},"name":{},"text":{"31":{},"176":{},"179":{}},"component":{}}],["alias",{"_index":1572,"title":{},"name":{},"text":{"31":{},"46":{}},"component":{}}],["align",{"_index":2344,"title":{},"name":{},"text":{"40":{},"66":{},"67":{},"72":{},"138":{},"140":{},"280":{}},"component":{}}],["aliv",{"_index":4369,"title":{},"name":{},"text":{"67":{},"179":{},"189":{}},"component":{}}],["allevi",{"_index":5381,"title":{},"name":{},"text":{"89":{},"120":{}},"component":{}}],["alloc",{"_index":970,"title":{},"name":{},"text":{"6":{},"179":{}},"component":{}}],["allow",{"_index":232,"title":{"206-38":{}},"name":{},"text":{"3":{},"5":{},"6":{},"15":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"81":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"101":{},"105":{},"106":{},"115":{},"121":{},"127":{},"128":{},"133":{},"138":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"162":{},"163":{},"169":{},"170":{},"172":{},"173":{},"174":{},"178":{},"179":{},"182":{},"191":{},"192":{},"199":{},"203":{},"204":{},"206":{},"211":{},"221":{},"226":{},"228":{},"234":{},"235":{},"237":{},"239":{},"242":{},"243":{},"244":{},"246":{},"257":{},"260":{},"261":{},"263":{},"264":{},"267":{},"268":{},"269":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"290":{}},"component":{}}],["allow(domaineventdata",{"_index":4759,"title":{},"name":{},"text":{"77":{}},"component":{}}],["allowreplay",{"_index":5347,"title":{},"name":{},"text":{"88":{}},"component":{}}],["alon",{"_index":2312,"title":{},"name":{},"text":{"39":{},"262":{}},"component":{}}],["along",{"_index":5538,"title":{},"name":{},"text":{"100":{},"104":{},"178":{},"192":{},"244":{},"257":{},"274":{},"287":{}},"component":{}}],["alongsid",{"_index":1911,"title":{},"name":{},"text":{"34":{},"51":{},"64":{},"87":{},"102":{}},"component":{}}],["alreadi",{"_index":702,"title":{"5-7":{},"145-25":{}},"name":{},"text":{"4":{},"5":{},"14":{},"17":{},"18":{},"32":{},"33":{},"49":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"79":{},"84":{},"88":{},"94":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"154":{},"156":{},"161":{},"180":{},"184":{},"189":{},"192":{},"203":{},"211":{},"237":{},"238":{},"241":{},"250":{},"260":{},"263":{},"266":{},"267":{},"268":{},"269":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"285":{},"289":{}},"component":{}}],["alter",{"_index":2718,"title":{},"name":{},"text":{"51":{},"79":{},"82":{},"127":{},"151":{},"280":{}},"component":{}}],["altern",{"_index":1488,"title":{},"name":{},"text":{"30":{},"34":{},"36":{},"38":{},"39":{},"40":{},"46":{},"66":{},"69":{},"71":{},"72":{},"79":{},"82":{},"88":{},"89":{},"91":{},"94":{},"97":{},"100":{},"106":{},"111":{},"115":{},"129":{},"140":{},"170":{},"172":{},"179":{},"202":{},"203":{},"221":{},"250":{},"263":{},"267":{},"268":{},"279":{},"289":{}},"component":{}}],["although",{"_index":176,"title":{},"name":{},"text":{"2":{},"3":{},"15":{},"23":{},"29":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"46":{},"49":{},"53":{},"67":{},"69":{},"72":{},"79":{},"87":{},"89":{},"97":{},"99":{},"120":{},"130":{},"142":{},"153":{},"169":{},"173":{},"191":{},"200":{},"274":{},"279":{},"280":{},"281":{},"283":{}},"component":{}}],["altogeth",{"_index":1136,"title":{},"name":{},"text":{"16":{},"31":{},"38":{},"51":{},"77":{},"86":{},"94":{},"127":{},"151":{}},"component":{}}],["altuntasfatih",{"_index":3728,"title":{},"name":{},"text":{"66":{}},"component":{}}],["alway",{"_index":173,"title":{},"name":{},"text":{"2":{},"14":{},"15":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"66":{},"67":{},"69":{},"71":{},"75":{},"79":{},"88":{},"94":{},"102":{},"104":{},"111":{},"127":{},"141":{},"145":{},"151":{},"154":{},"166":{},"172":{},"174":{},"177":{},"185":{},"192":{},"198":{},"215":{},"261":{},"262":{},"273":{},"280":{}},"component":{}}],["amazon",{"_index":5434,"title":{},"name":{},"text":{"94":{}},"component":{}}],["ambigu",{"_index":3559,"title":{},"name":{},"text":{"66":{}},"component":{}}],["america",{"_index":7559,"title":{},"name":{},"text":{"234":{}},"component":{}}],["amongst",{"_index":2223,"title":{},"name":{},"text":{"38":{}},"component":{}}],["amount",{"_index":789,"title":{},"name":{},"text":{"5":{},"18":{},"21":{},"22":{},"35":{},"38":{},"39":{},"41":{},"63":{},"77":{},"88":{},"151":{},"156":{},"163":{},"179":{},"203":{},"206":{},"211":{},"216":{},"257":{},"261":{},"274":{},"276":{},"281":{}},"component":{}}],["ampq",{"_index":5417,"title":{"91":{}},"name":{},"text":{},"component":{}}],["amqp",{"_index":27,"title":{"90":{},"92":{},"93":{},"30-16":{},"30-17":{}},"name":{},"text":{"1":{},"30":{},"46":{},"89":{},"90":{},"91":{},"92":{},"93":{}},"component":{"90":{},"91":{},"92":{},"93":{}}}],["amsterdam",{"_index":8031,"title":{},"name":{},"text":{"285":{}},"component":{}}],["anal",{"_index":7649,"title":{},"name":{},"text":{"264":{}},"component":{}}],["analys",{"_index":5979,"title":{},"name":{},"text":{"133":{}},"component":{}}],["analysi",{"_index":7955,"title":{},"name":{},"text":{"281":{}},"component":{}}],["analyz",{"_index":802,"title":{},"name":{},"text":{"5":{},"56":{},"145":{},"281":{}},"component":{}}],["anatomi",{"_index":2628,"title":{"47":{}},"name":{"47":{}},"text":{},"component":{}}],["anchor",{"_index":3366,"title":{},"name":{},"text":{"66":{}},"component":{}}],["and(\"otherkey",{"_index":2635,"title":{},"name":{},"text":{"47":{}},"component":{}}],["and(message.getmetadata().entryset().stream",{"_index":2944,"title":{},"name":{},"text":{"57":{}},"component":{}}],["and/or",{"_index":1589,"title":{},"name":{},"text":{"31":{},"38":{},"39":{},"66":{},"72":{},"87":{},"163":{},"237":{},"279":{}},"component":{}}],["andeventavailabilitytimeout(2000",{"_index":5198,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andgiven",{"_index":4571,"title":{},"name":{},"text":{"72":{}},"component":{}}],["andgivencommand",{"_index":1200,"title":{},"name":{},"text":{"18":{},"72":{}},"component":{}}],["andgivencommands(new",{"_index":1277,"title":{},"name":{},"text":{"22":{}},"component":{}}],["andgivencurrenttim",{"_index":4050,"title":{},"name":{},"text":{"67":{}},"component":{}}],["andinitialsegmentscount(2",{"_index":5233,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andinitialsegmentscount(4",{"_index":5259,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andinitialtrackingtoken(streamablemessagesource::createheadtoken",{"_index":5177,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andinitialtrackingtoken(streamablemessagesource::createtailtoken",{"_index":5180,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andmetadata",{"_index":2643,"title":{},"name":{},"text":{"47":{}},"component":{}}],["andmetadata(singletonmap(\"otherkey",{"_index":2639,"title":{},"name":{},"text":{"47":{}},"component":{}}],["andnomor",{"_index":4626,"title":{},"name":{},"text":{"72":{}},"component":{}}],["andthen(runn",{"_index":2385,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andthenapply(suppli",{"_index":2383,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andthenapplyif(suppli",{"_index":2386,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andthenif(suppli",{"_index":2387,"title":{},"name":{},"text":{"42":{}},"component":{}}],["andtokenclaiminterval(1000",{"_index":5197,"title":{},"name":{},"text":{"88":{}},"component":{}}],["andye2004",{"_index":3741,"title":{},"name":{},"text":{"66":{}},"component":{}}],["anew",{"_index":5324,"title":{},"name":{},"text":{"88":{},"288":{}},"component":{}}],["anim",{"_index":7733,"title":{},"name":{},"text":{"274":{}},"component":{}}],["annot",{"_index":648,"title":{"27":{},"52":{},"48-2":{},"51-5":{},"51-13":{},"79-3":{}},"name":{"52":{}},"text":{"3":{},"5":{},"10":{},"12":{},"20":{},"24":{},"25":{},"27":{},"29":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"44":{},"46":{},"48":{},"51":{},"52":{},"53":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"87":{},"88":{},"111":{},"124":{},"127":{},"128":{},"172":{},"191":{},"239":{},"278":{},"280":{},"281":{}},"component":{"27":{}}}],["annotatedaggreg",{"_index":2049,"title":{},"name":{},"text":{"36":{}},"component":{}}],["annotatedaggregatemetamodelfactory.annotatedaggregatemodel",{"_index":4347,"title":{},"name":{},"text":{"67":{}},"component":{}}],["annotatedmessagehandlingmemb",{"_index":3763,"title":{},"name":{},"text":{"66":{}},"component":{}}],["annotatedsagamanag",{"_index":4478,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["annotatedsagarepositori",{"_index":4480,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["annotationattribut",{"_index":1392,"title":{},"name":{},"text":{"27":{}},"component":{}}],["annotationcommandtargetresolv",{"_index":4115,"title":{},"name":{},"text":{"67":{}},"component":{}}],["annotationrevisionresolv",{"_index":2438,"title":{},"name":{},"text":{"44":{}},"component":{}}],["annotationroutingstrategi",{"_index":2232,"title":{},"name":{},"text":{"38":{},"127":{},"128":{}},"component":{}}],["annotationtype(customroutingannotation.class",{"_index":2243,"title":{},"name":{},"text":{"38":{}},"component":{}}],["annotationutils#findannotationattributes(annotatedel",{"_index":1391,"title":{},"name":{},"text":{"27":{}},"component":{}}],["annotation’",{"_index":1390,"title":{},"name":{},"text":{"27":{},"67":{}},"component":{}}],["announc",{"_index":3496,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["anoth",{"_index":734,"title":{"80":{},"5-7":{},"80-1":{}},"name":{"80":{}},"text":{"6":{},"14":{},"29":{},"30":{},"31":{},"33":{},"35":{},"37":{},"38":{},"40":{},"42":{},"44":{},"46":{},"48":{},"50":{},"53":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"80":{},"83":{},"87":{},"88":{},"89":{},"94":{},"121":{},"130":{},"132":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"154":{},"156":{},"168":{},"176":{},"178":{},"192":{},"244":{},"250":{},"255":{},"260":{},"265":{},"273":{},"274":{},"277":{},"280":{},"281":{},"286":{},"289":{}},"component":{}}],["answer",{"_index":60,"title":{},"name":{},"text":{"2":{},"5":{},"280":{}},"component":{}}],["anti",{"_index":2625,"title":{},"name":{},"text":{"46":{}},"component":{}}],["anticip",{"_index":5284,"title":{},"name":{},"text":{"88":{},"140":{}},"component":{}}],["anymor",{"_index":1724,"title":{},"name":{},"text":{"32":{},"67":{},"154":{},"215":{}},"component":{}}],["anyon",{"_index":7229,"title":{},"name":{},"text":{"199":{}},"component":{}}],["anyth",{"_index":1600,"title":{},"name":{},"text":{"31":{},"40":{},"46":{},"127":{},"145":{},"185":{},"249":{},"270":{},"283":{}},"component":{}}],["anytim",{"_index":6264,"title":{},"name":{},"text":{"145":{},"154":{},"177":{}},"component":{}}],["anyway",{"_index":874,"title":{},"name":{},"text":{"6":{},"260":{},"283":{}},"component":{}}],["anywher",{"_index":838,"title":{},"name":{},"text":{"5":{},"198":{}},"component":{}}],["aot",{"_index":28,"title":{"126":{}},"name":{},"text":{"1":{},"30":{},"66":{},"67":{},"123":{},"124":{},"126":{}},"component":{"123":{},"124":{},"125":{},"126":{}}}],["apach",{"_index":103,"title":{},"name":{},"text":{"2":{},"66":{},"100":{},"133":{}},"component":{}}],["apart",{"_index":6343,"title":{},"name":{},"text":{"147":{},"148":{},"169":{},"235":{},"245":{},"274":{}},"component":{}}],["api",{"_index":1130,"title":{"136":{},"139":{},"166":{},"180":{},"182":{},"224":{},"31-2":{},"57-2":{},"57-5":{},"57-6":{},"59-2":{},"59-6":{},"59-12":{},"59-23":{},"69-12":{},"69-14":{},"71-2":{},"75-2":{},"76-4":{},"77-3":{},"77-7":{},"77-11":{},"88-30":{},"89-2":{},"89-4":{},"89-10":{},"144-4":{},"145-19":{},"145-26":{},"147-10":{},"166-1":{},"166-2":{},"204-1":{},"211-6":{},"212-7":{},"214-6":{},"224-1":{},"224-2":{},"224-3":{},"224-4":{},"278-3":{},"279-6":{}},"name":{"136":{},"139":{},"166":{},"180":{},"182":{}},"text":{"16":{},"24":{},"27":{},"30":{},"31":{},"34":{},"36":{},"38":{},"43":{},"44":{},"46":{},"50":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"82":{},"86":{},"87":{},"88":{},"99":{},"101":{},"107":{},"120":{},"121":{},"127":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"156":{},"165":{},"166":{},"168":{},"169":{},"172":{},"173":{},"174":{},"175":{},"181":{},"182":{},"189":{},"192":{},"199":{},"202":{},"204":{},"206":{},"207":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"260":{},"278":{},"279":{},"280":{},"281":{},"289":{}},"component":{}}],["api.thi",{"_index":6026,"title":{},"name":{},"text":{"140":{}},"component":{}}],["api/pom.xml",{"_index":7795,"title":{},"name":{},"text":{"278":{},"279":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/bikestatus.java",{"_index":7835,"title":{},"name":{},"text":{"280":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/bikestatusnamedqueries.java",{"_index":7862,"title":{},"name":{},"text":{"280":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/rentalstatus.java",{"_index":7840,"title":{},"name":{},"text":{"280":{}},"component":{}}],["api/src/main/java/io/axoniq/demo/bikerental/coreapi/retnal/registerbikecommand.java",{"_index":7953,"title":{},"name":{},"text":{"281":{}},"component":{}}],["apivers",{"_index":586,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["api’",{"_index":5498,"title":{},"name":{},"text":{"99":{},"107":{}},"component":{}}],["aplic",{"_index":7654,"title":{},"name":{},"text":{"265":{}},"component":{}}],["apm",{"_index":3007,"title":{},"name":{},"text":{"59":{},"133":{}},"component":{}}],["app",{"_index":591,"title":{"168-1":{},"172-3":{},"276-3":{}},"name":{"274":{},"276":{},"284":{}},"text":{"3":{},"5":{},"66":{},"89":{},"128":{},"168":{},"172":{},"174":{},"191":{},"201":{},"202":{},"203":{},"234":{},"262":{}},"component":{}}],["appar",{"_index":3965,"title":{},"name":{},"text":{"67":{},"84":{}},"component":{}}],["appear",{"_index":3675,"title":{},"name":{},"text":{"66":{},"72":{},"74":{},"221":{},"274":{}},"component":{}}],["append",{"_index":2428,"title":{},"name":{},"text":{"44":{},"46":{},"69":{},"72":{},"145":{},"151":{},"179":{},"186":{},"199":{}},"component":{}}],["append_ev",{"_index":6692,"title":{},"name":{},"text":{"171":{}},"component":{}}],["append_snapshot",{"_index":6693,"title":{},"name":{},"text":{"171":{}},"component":{}}],["appender.deleteevent(100l",{"_index":6294,"title":{},"name":{},"text":{"145":{}},"component":{}}],["appender.replaceevent(562l",{"_index":6295,"title":{},"name":{},"text":{"145":{}},"component":{}}],["appender.replaceevent(eventwithtoken.gettoken",{"_index":6282,"title":{},"name":{},"text":{"145":{}},"component":{}}],["appendev",{"_index":4411,"title":{},"name":{},"text":{"67":{}},"component":{}}],["appendic",{"_index":3293,"title":{},"name":{},"text":{"66":{}},"component":{}}],["appli",{"_index":638,"title":{"35-3":{},"145-12":{}},"name":{},"text":{"3":{},"30":{},"32":{},"35":{},"36":{},"42":{},"44":{},"49":{},"51":{},"59":{},"67":{},"77":{},"80":{},"82":{},"83":{},"84":{},"85":{},"86":{},"89":{},"121":{},"141":{},"145":{},"154":{},"156":{},"168":{},"177":{},"178":{},"179":{},"191":{},"198":{},"206":{},"209":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"261":{},"273":{}},"component":{}}],["applic",{"_index":70,"title":{"168":{},"229":{},"245":{},"267":{},"271":{},"272":{},"274":{},"275":{},"276":{},"284":{},"5-3":{},"5-5":{},"39-3":{},"178-7":{},"180-4":{},"186-5":{},"201-4":{},"203-2":{},"206-30":{},"221-9":{},"237-3":{},"241-1":{},"241-2":{},"245-1":{},"245-2":{},"261-6":{},"269-2":{},"270-1":{},"273-2":{},"274-2":{},"274-3":{},"274-6":{},"274-10":{},"274-21":{},"276-4":{},"276-5":{},"277-2":{},"277-3":{},"284-5":{}},"name":{"229":{}},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"10":{},"12":{},"13":{},"16":{},"17":{},"19":{},"20":{},"23":{},"24":{},"25":{},"28":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"52":{},"53":{},"54":{},"55":{},"56":{},"58":{},"59":{},"61":{},"62":{},"66":{},"67":{},"69":{},"71":{},"73":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"99":{},"111":{},"114":{},"115":{},"117":{},"120":{},"123":{},"124":{},"126":{},"127":{},"128":{},"133":{},"140":{},"141":{},"143":{},"144":{},"147":{},"150":{},"154":{},"157":{},"161":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"185":{},"186":{},"187":{},"189":{},"191":{},"192":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"210":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"224":{},"227":{},"228":{},"229":{},"230":{},"231":{},"234":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}},"component":{}}],["application'",{"_index":4767,"title":{},"name":{},"text":{"77":{}},"component":{}}],["application.properti",{"_index":2611,"title":{},"name":{},"text":{"46":{},"88":{},"90":{},"104":{},"115":{},"276":{}},"component":{}}],["application.properties`und",{"_index":6515,"title":{},"name":{},"text":{"161":{}},"component":{}}],["application/json",{"_index":7270,"title":{},"name":{},"text":{"202":{},"203":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"280":{}},"component":{}}],["application/us",{"_index":6587,"title":{},"name":{},"text":{"169":{}},"component":{}}],["application/vnd.axoniq.event.list+json",{"_index":7465,"title":{},"name":{},"text":{"212":{},"217":{}},"component":{}}],["application/xml",{"_index":7310,"title":{},"name":{},"text":{"203":{},"216":{},"219":{}},"component":{}}],["applicationadminservic",{"_index":6994,"title":{},"name":{},"text":{"180":{}},"component":{}}],["applicationcontext",{"_index":5454,"title":{},"name":{},"text":{"96":{}},"component":{}}],["applicationoverview",{"_index":6996,"title":{},"name":{},"text":{"180":{}},"component":{}}],["applications/modul",{"_index":7741,"title":{},"name":{},"text":{"276":{}},"component":{}}],["application’",{"_index":1396,"title":{},"name":{},"text":{"28":{},"38":{},"49":{},"59":{},"69":{},"71":{},"88":{},"270":{},"274":{},"277":{},"281":{}},"component":{}}],["apply()`invoc",{"_index":1973,"title":{},"name":{},"text":{"35":{}},"component":{}}],["apply(new",{"_index":1189,"title":{},"name":{},"text":{"18":{},"20":{},"35":{},"36":{},"39":{},"42":{},"72":{},"80":{},"82":{},"84":{},"85":{},"281":{},"288":{},"289":{}},"component":{}}],["apply(object",{"_index":2380,"title":{},"name":{},"text":{"42":{},"82":{}},"component":{}}],["apply(…​).andthenappli",{"_index":1978,"title":{},"name":{},"text":{"35":{}},"component":{}}],["applymor",{"_index":2382,"title":{},"name":{},"text":{"42":{},"66":{}},"component":{}}],["applysnapshot(mysnapshotev",{"_index":4773,"title":{},"name":{},"text":{"77":{}},"component":{}}],["approach",{"_index":488,"title":{},"name":{},"text":{"3":{},"15":{},"16":{},"17":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"46":{},"50":{},"51":{},"53":{},"54":{},"60":{},"63":{},"64":{},"66":{},"67":{},"71":{},"75":{},"77":{},"82":{},"86":{},"87":{},"88":{},"89":{},"91":{},"94":{},"99":{},"100":{},"102":{},"120":{},"129":{},"140":{},"144":{},"145":{},"150":{},"151":{},"163":{},"165":{},"191":{},"202":{},"211":{}},"component":{}}],["appropri",{"_index":910,"title":{},"name":{},"text":{"6":{},"49":{},"57":{},"69":{},"71":{},"74":{},"88":{},"151":{},"203":{},"281":{},"283":{}},"component":{}}],["approv",{"_index":3457,"title":{},"name":{},"text":{"66":{}},"component":{}}],["apps/v1",{"_index":587,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["apt",{"_index":7243,"title":{},"name":{},"text":{"199":{}},"component":{}}],["arbitrari",{"_index":4723,"title":{},"name":{},"text":{"77":{}},"component":{}}],["arc",{"_index":7734,"title":{},"name":{},"text":{"274":{}},"component":{}}],["archetype:gener",{"_index":7802,"title":{},"name":{},"text":{"279":{}},"component":{}}],["archetypeartifactid",{"_index":7813,"title":{},"name":{},"text":{"279":{}},"component":{}}],["archetypegroupid",{"_index":7811,"title":{},"name":{},"text":{"279":{}},"component":{}}],["archetypevers",{"_index":7814,"title":{},"name":{},"text":{"279":{}},"component":{}}],["architectur",{"_index":869,"title":{"6":{},"153":{},"6-2":{},"200-2":{}},"name":{},"text":{"6":{},"7":{},"36":{},"72":{},"100":{},"120":{},"153":{},"200":{},"266":{},"274":{},"280":{},"281":{}},"component":{"6":{}}}],["archiv",{"_index":4752,"title":{},"name":{},"text":{"77":{},"151":{},"170":{},"172":{},"192":{}},"component":{}}],["area",{"_index":2374,"title":{},"name":{},"text":{"42":{},"88":{},"154":{},"164":{},"178":{},"179":{},"181":{},"204":{},"239":{},"274":{}},"component":{}}],["aren’t",{"_index":1591,"title":{},"name":{},"text":{"31":{},"69":{},"74":{},"88":{}},"component":{}}],["arg",{"_index":2053,"title":{},"name":{},"text":{"36":{},"67":{},"82":{},"85":{},"128":{}},"component":{}}],["arguabl",{"_index":2398,"title":{},"name":{},"text":{"43":{},"79":{},"127":{}},"component":{}}],["argument",{"_index":1300,"title":{},"name":{},"text":{"23":{},"69":{},"71":{},"145":{},"280":{},"281":{}},"component":{}}],["argumentclass2",{"_index":3113,"title":{},"name":{},"text":{"59":{}},"component":{}}],["aris",{"_index":3761,"title":{},"name":{},"text":{"66":{},"88":{},"270":{}},"component":{}}],["arithmet",{"_index":7172,"title":{"193-3":{}},"name":{},"text":{},"component":{}}],["arm64",{"_index":3906,"title":{},"name":{},"text":{"67":{}},"component":{}}],["arnaud",{"_index":3737,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aros",{"_index":2873,"title":{},"name":{},"text":{"53":{}},"component":{}}],["around",{"_index":883,"title":{},"name":{},"text":{"6":{},"31":{},"46":{},"50":{},"51":{},"53":{},"66":{},"67":{},"68":{},"69":{},"72":{},"75":{},"79":{},"84":{},"88":{},"100":{},"121":{},"127":{},"140":{},"144":{},"164":{},"179":{},"190":{},"274":{}},"component":{}}],["arrang",{"_index":7572,"title":{},"name":{},"text":{"238":{},"274":{}},"component":{}}],["array",{"_index":1665,"title":{},"name":{},"text":{"31":{},"64":{},"79":{},"149":{}},"component":{}}],["arraylist",{"_index":4931,"title":{},"name":{},"text":{"84":{},"85":{},"290":{}},"component":{}}],["arrays.aslist",{"_index":2696,"title":{},"name":{},"text":{"50":{},"59":{}},"component":{}}],["arriv",{"_index":4431,"title":{},"name":{},"text":{"68":{},"74":{},"77":{},"79":{},"84":{},"121":{},"202":{},"211":{}},"component":{}}],["arrow",{"_index":777,"title":{},"name":{},"text":{"5":{},"274":{}},"component":{}}],["arrow’",{"_index":787,"title":{},"name":{},"text":{"5":{}},"component":{}}],["articl",{"_index":516,"title":{},"name":{},"text":{"3":{},"191":{},"274":{},"276":{}},"component":{}}],["artifact",{"_index":147,"title":{"140-23":{}},"name":{},"text":{"2":{},"3":{},"30":{},"104":{},"114":{},"121":{},"138":{},"140":{},"176":{},"191":{},"192":{},"278":{}},"component":{}}],["artifactid",{"_index":2444,"title":{},"name":{},"text":{"44":{},"46":{},"279":{}},"component":{}}],["asdomaineventmessag",{"_index":3620,"title":{},"name":{},"text":{"66":{}},"component":{}}],["aseventmessag",{"_index":2679,"title":{},"name":{},"text":{"49":{}},"component":{}}],["aseventmessage(\"mypayload",{"_index":2637,"title":{},"name":{},"text":{"47":{}},"component":{}}],["asia",{"_index":7561,"title":{},"name":{},"text":{"234":{}},"component":{}}],["asid",{"_index":2668,"title":{},"name":{},"text":{"49":{}},"component":{}}],["ask",{"_index":985,"title":{"7-3":{}},"name":{},"text":{"120":{},"172":{},"247":{},"260":{},"265":{},"274":{},"276":{},"285":{}},"component":{}}],["aslist",{"_index":6390,"title":{},"name":{},"text":{"148":{}},"component":{}}],["aslv2",{"_index":4046,"title":{},"name":{},"text":{"67":{}},"component":{}}],["aspect",{"_index":518,"title":{},"name":{},"text":{"3":{},"34":{},"63":{},"76":{},"79":{},"87":{},"88":{},"89":{},"145":{},"146":{},"159":{},"165":{},"183":{},"190":{},"191":{},"192":{},"221":{},"237":{}},"component":{}}],["assert",{"_index":3391,"title":{},"name":{},"text":{"66":{},"67":{},"72":{},"285":{}},"component":{}}],["assertequals(1",{"_index":4545,"title":{},"name":{},"text":{"72":{}},"component":{}}],["assertionerror",{"_index":4588,"title":{},"name":{},"text":{"72":{}},"component":{}}],["asset",{"_index":6049,"title":{},"name":{},"text":{"140":{}},"component":{}}],["assign",{"_index":2100,"title":{"87-1":{},"87-2":{},"169-3":{}},"name":{},"text":{"38":{},"43":{},"67":{},"69":{},"87":{},"88":{},"89":{},"99":{},"104":{},"143":{},"147":{},"156":{},"157":{},"162":{},"169":{},"172":{},"173":{},"178":{},"192":{},"221":{},"254":{},"255":{},"280":{},"281":{},"283":{}},"component":{}}],["assign/chang",{"_index":7611,"title":{},"name":{},"text":{"255":{}},"component":{}}],["assign/un",{"_index":7610,"title":{},"name":{},"text":{"255":{}},"component":{}}],["assignhandlerinstancesmatching(str",{"_index":5064,"title":{},"name":{},"text":{"87":{}},"component":{}}],["assignhandlertypesmatch",{"_index":5589,"title":{},"name":{},"text":{"102":{}},"component":{}}],["assignhandlertypesmatching(str",{"_index":5066,"title":{},"name":{},"text":{"87":{}},"component":{}}],["assignprocessinggroup(funct",{"_index":5068,"title":{},"name":{},"text":{"87":{}},"component":{}}],["assignprocessinggroup(str",{"_index":5067,"title":{},"name":{},"text":{"87":{}},"component":{}}],["associ",{"_index":925,"title":{"68":{}},"name":{"68":{}},"text":{"6":{},"37":{},"45":{},"62":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"86":{},"115":{},"147":{},"154":{},"172":{},"178":{},"224":{},"242":{},"244":{},"245":{},"274":{}},"component":{}}],["associatewith(str",{"_index":4427,"title":{},"name":{},"text":{"68":{}},"component":{}}],["association_value_entri",{"_index":1833,"title":{},"name":{},"text":{"33":{}},"component":{}}],["associationkey",{"_index":4802,"title":{},"name":{},"text":{"79":{}},"component":{}}],["associationproperti",{"_index":3652,"title":{},"name":{},"text":{"66":{},"69":{}},"component":{}}],["associationresolv",{"_index":4056,"title":{},"name":{},"text":{"67":{}},"component":{}}],["associations.key",{"_index":5672,"title":{},"name":{},"text":{"111":{}},"component":{}}],["associations.valu",{"_index":5673,"title":{},"name":{},"text":{"111":{}},"component":{}}],["associationvalu",{"_index":4458,"title":{},"name":{},"text":{"69":{},"79":{}},"component":{}}],["associationvalue`",{"_index":4457,"title":{},"name":{},"text":{"69":{}},"component":{}}],["associationvalueentri",{"_index":4800,"title":{},"name":{},"text":{"79":{}},"component":{}}],["assum",{"_index":263,"title":{},"name":{},"text":{"3":{},"30":{},"34":{},"43":{},"64":{},"67":{},"80":{},"88":{},"104":{},"191":{},"192":{}},"component":{}}],["async",{"_index":5791,"title":{},"name":{},"text":{"120":{}},"component":{}}],["asyncfetch",{"_index":5487,"title":{"104-9":{}},"name":{},"text":{"99":{},"104":{}},"component":{}}],["asyncfetcher.build",{"_index":5490,"title":{},"name":{},"text":{"99":{}},"component":{}}],["asynchron",{"_index":877,"title":{"144-6":{}},"name":{},"text":{"6":{},"34":{},"38":{},"53":{},"59":{},"61":{},"63":{},"88":{},"120":{},"133":{},"144":{},"260":{}},"component":{}}],["asynchronouscommandbu",{"_index":2070,"title":{"38-9":{}},"name":{},"text":{"38":{}},"component":{}}],["asynchronouscommandbus(transactionmanag",{"_index":2166,"title":{},"name":{},"text":{"38":{}},"component":{}}],["asynchronouscommandbus.class",{"_index":2165,"title":{},"name":{},"text":{"38":{}},"component":{}}],["atom",{"_index":2591,"title":{},"name":{},"text":{"46":{},"53":{},"88":{},"145":{}},"component":{}}],["attach",{"_index":1684,"title":{},"name":{},"text":{"31":{},"38":{},"39":{},"42":{},"44":{},"46":{},"49":{},"51":{},"52":{},"53":{},"66":{},"72":{},"86":{},"87":{},"105":{},"106":{},"108":{},"274":{},"284":{}},"component":{}}],["attemp",{"_index":6144,"title":{},"name":{},"text":{"143":{}},"component":{}}],["attempt",{"_index":1296,"title":{},"name":{},"text":{"23":{},"31":{},"66":{},"69":{},"72":{},"88":{},"96":{},"141":{},"143":{},"172":{},"179":{},"206":{}},"component":{}}],["attribut",{"_index":1343,"title":{"59-11":{},"86-7":{}},"name":{},"text":{"24":{},"27":{},"36":{},"49":{},"51":{},"59":{},"63":{},"66":{},"67":{},"69":{},"77":{},"79":{},"86":{},"88":{},"170":{},"185":{},"215":{},"280":{},"281":{}},"component":{}}],["audienc",{"_index":7210,"title":{"199-2":{},"227-2":{},"236-2":{}},"name":{},"text":{},"component":{}}],["audit",{"_index":932,"title":{},"name":{},"text":{"6":{},"36":{},"49":{},"51":{},"140":{}},"component":{}}],["auditinginterceptor",{"_index":2740,"title":{},"name":{},"text":{"51":{}},"component":{}}],["aut",{"_index":5783,"title":{},"name":{},"text":{"119":{}},"component":{}}],["authcorrelationdataprovid",{"_index":2699,"title":{},"name":{},"text":{"50":{}},"component":{}}],["authcorrelationdataprovider(funct",{"_index":2701,"title":{},"name":{},"text":{"50":{}},"component":{}}],["authent",{"_index":127,"title":{"247":{},"172-3":{},"172-4":{},"206-18":{}},"name":{"247":{}},"text":{"2":{},"51":{},"141":{},"143":{},"147":{},"156":{},"166":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"175":{},"178":{},"179":{},"185":{},"186":{},"192":{},"204":{},"206":{},"208":{},"226":{},"233":{},"237":{},"247":{},"250":{},"254":{}},"component":{}}],["author",{"_index":128,"title":{"206-18":{}},"name":{},"text":{"2":{},"8":{},"13":{},"148":{},"170":{},"176":{},"185":{},"215":{},"247":{},"254":{}},"component":{}}],["auto",{"_index":1455,"title":{"32-1":{},"32-4":{},"32-5":{},"57-3":{},"57-7":{},"57-8":{},"59-3":{},"59-7":{},"59-13":{},"59-14":{},"59-19":{},"59-24":{},"69-13":{},"69-15":{},"71-3":{},"75-3":{},"76-5":{},"77-4":{},"77-8":{},"77-12":{},"79-2":{},"89-3":{},"89-5":{},"89-6":{},"89-11":{},"89-12":{},"192-9":{}},"name":{},"text":{"29":{},"30":{},"32":{},"36":{},"39":{},"40":{},"46":{},"59":{},"66":{},"67":{},"69":{},"79":{},"88":{},"94":{},"97":{},"99":{},"104":{},"114":{},"140":{},"179":{},"180":{},"189":{},"216":{}},"component":{}}],["auto_rebalance_processor",{"_index":6678,"title":{},"name":{},"text":{"171":{}},"component":{}}],["autoclust",{"_index":431,"title":{},"name":{},"text":{"3":{},"154":{},"191":{}},"component":{}}],["autocluster.context",{"_index":6886,"title":{},"name":{},"text":{"179":{}},"component":{}}],["autocluster.first",{"_index":6885,"title":{},"name":{},"text":{"179":{}},"component":{}}],["autocommit",{"_index":2864,"title":{},"name":{},"text":{"53":{}},"component":{}}],["autoconfig",{"_index":4141,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autoconfigur",{"_index":1107,"title":{},"name":{},"text":{"15":{},"24":{},"32":{},"50":{},"59":{},"66":{},"67":{},"68":{},"114":{},"128":{},"150":{}},"component":{}}],["autoconfigurationpackages#get(beanfactori",{"_index":4252,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autoconfigureaft",{"_index":3946,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autoconfigurebefor",{"_index":3945,"title":{},"name":{},"text":{"67":{}},"component":{}}],["autom",{"_index":1775,"title":{"33-10":{},"274-19":{}},"name":{},"text":{"33":{},"44":{},"66":{},"154":{},"226":{},"246":{},"260":{},"274":{},"283":{},"286":{},"287":{}},"component":{}}],["automat",{"_index":218,"title":{"154-3":{},"260-6":{}},"name":{},"text":{"3":{},"15":{},"17":{},"19":{},"26":{},"27":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"50":{},"51":{},"53":{},"59":{},"61":{},"63":{},"66":{},"67":{},"68":{},"69":{},"76":{},"77":{},"79":{},"81":{},"86":{},"88":{},"90":{},"96":{},"99":{},"104":{},"111":{},"114":{},"115":{},"116":{},"121":{},"128":{},"138":{},"140":{},"142":{},"147":{},"151":{},"154":{},"167":{},"176":{},"177":{},"179":{},"180":{},"191":{},"192":{},"247":{},"249":{},"250":{},"259":{},"260":{},"262":{},"274":{},"284":{},"285":{}},"component":{}}],["automaticaccountcommanddispatcher.dispatch",{"_index":3011,"title":{},"name":{},"text":{"59":{}},"component":{}}],["autosc",{"_index":7615,"title":{},"name":{},"text":{"255":{}},"component":{}}],["autowir",{"_index":3042,"title":{},"name":{},"text":{"59":{},"67":{},"69":{},"96":{},"97":{},"286":{},"289":{},"290":{}},"component":{}}],["avail",{"_index":178,"title":{"221":{},"206-50":{},"220-2":{},"262-9":{}},"name":{},"text":{"2":{},"3":{},"8":{},"13":{},"15":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"46":{},"49":{},"51":{},"53":{},"54":{},"59":{},"62":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"79":{},"83":{},"86":{},"88":{},"91":{},"94":{},"97":{},"99":{},"100":{},"101":{},"114":{},"115":{},"120":{},"121":{},"129":{},"132":{},"137":{},"140":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"157":{},"163":{},"176":{},"178":{},"179":{},"182":{},"185":{},"186":{},"187":{},"189":{},"191":{},"192":{},"197":{},"199":{},"201":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"220":{},"221":{},"224":{},"226":{},"250":{},"260":{},"261":{},"262":{},"267":{},"268":{},"273":{},"274":{},"277":{},"280":{},"281":{},"286":{},"288":{},"289":{}},"component":{}}],["availabilityupdatedev",{"_index":8042,"title":{},"name":{},"text":{"286":{}},"component":{}}],["averag",{"_index":2985,"title":{},"name":{},"text":{"58":{},"186":{},"197":{},"273":{},"274":{}},"component":{}}],["avg",{"_index":7207,"title":{},"name":{},"text":{"197":{}},"component":{}}],["avoid",{"_index":1646,"title":{},"name":{},"text":{"31":{},"79":{},"94":{},"102":{},"154":{},"177":{},"279":{},"284":{}},"component":{}}],["await",{"_index":3911,"title":{},"name":{},"text":{"67":{}},"component":{}}],["awaitforstatus(str",{"_index":6217,"title":{},"name":{},"text":{"144":{}},"component":{}}],["awar",{"_index":911,"title":{},"name":{},"text":{"6":{},"20":{},"31":{},"34":{},"36":{},"44":{},"66":{},"69":{},"71":{},"77":{},"88":{},"145":{},"146":{}},"component":{}}],["away",{"_index":5430,"title":{},"name":{},"text":{"94":{},"244":{}},"component":{}}],["awkward",{"_index":5642,"title":{},"name":{},"text":{"107":{}},"component":{}}],["axoframework",{"_index":7696,"title":{},"name":{},"text":{"273":{}},"component":{}}],["axon",{"_index":1,"title":{"1":{},"2":{},"3":{},"4":{},"10":{},"11":{},"16":{},"33":{},"135":{},"136":{},"139":{},"148":{},"161":{},"168":{},"169":{},"170":{},"172":{},"173":{},"186":{},"191":{},"192":{},"199":{},"200":{},"207":{},"232":{},"251":{},"252":{},"256":{},"279":{},"2-1":{},"2-2":{},"2-3":{},"2-4":{},"2-5":{},"2-6":{},"2-7":{},"3-13":{},"5-4":{},"12-1":{},"12-2":{},"30-2":{},"30-3":{},"30-4":{},"30-5":{},"30-6":{},"30-7":{},"30-8":{},"30-9":{},"30-10":{},"30-11":{},"30-12":{},"30-13":{},"30-14":{},"30-16":{},"30-17":{},"30-18":{},"30-19":{},"30-20":{},"30-21":{},"30-22":{},"30-23":{},"30-24":{},"30-25":{},"30-26":{},"30-27":{},"30-28":{},"30-29":{},"30-30":{},"30-31":{},"30-32":{},"30-33":{},"30-34":{},"30-35":{},"30-36":{},"30-37":{},"30-38":{},"31-2":{},"32-3":{},"40-5":{},"46-3":{},"54-1":{},"57-2":{},"57-5":{},"57-6":{},"59-2":{},"59-6":{},"59-12":{},"59-23":{},"59-27":{},"59-28":{},"59-38":{},"59-39":{},"59-41":{},"59-42":{},"59-44":{},"59-45":{},"69-12":{},"69-14":{},"71-2":{},"75-2":{},"76-2":{},"76-4":{},"77-3":{},"77-7":{},"77-11":{},"88-24":{},"89-2":{},"89-4":{},"89-10":{},"140-23":{},"142-3":{},"144-3":{},"144-5":{},"144-6":{},"145-18":{},"145-27":{},"147-2":{},"150-5":{},"151-2":{},"163-2":{},"165-2":{},"168-1":{},"169-1":{},"169-2":{},"170-4":{},"173-1":{},"173-2":{},"191-6":{},"192-2":{},"192-6":{},"199-1":{},"199-7":{},"200-1":{},"200-2":{},"201-3":{},"201-5":{},"201-6":{},"202-5":{},"202-9":{},"202-13":{},"203-3":{},"203-4":{},"203-5":{},"204-1":{},"206-2":{},"206-6":{},"208-1":{},"208-3":{},"211-5":{},"211-6":{},"212-6":{},"212-7":{},"214-5":{},"214-6":{},"221-7":{},"226-3":{},"232-1":{},"232-2":{},"232-3":{},"241-1":{},"269-2":{},"269-3":{},"270-1":{},"270-2":{},"278-2":{},"278-3":{},"283-4":{},"285-1":{}},"name":{"10":{},"11":{},"161":{},"186":{},"251":{},"252":{},"256":{},"270":{},"279":{}},"text":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"19":{},"20":{},"23":{},"24":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"107":{},"109":{},"111":{},"112":{},"114":{},"115":{},"117":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"126":{},"128":{},"129":{},"131":{},"133":{},"134":{},"137":{},"138":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"153":{},"154":{},"155":{},"156":{},"157":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"191":{},"192":{},"194":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"226":{},"227":{},"228":{},"232":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"241":{},"242":{},"245":{},"246":{},"249":{},"250":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{}},"component":{"1":{},"3":{},"4":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["axon.amqp.exchange=exchangenam",{"_index":5414,"title":{},"name":{},"text":{"90":{}},"component":{}}],["axon.amqp.transact",{"_index":5415,"title":{},"name":{},"text":{"90":{}},"component":{}}],["axon.applicationcommandqueue.s",{"_index":7101,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationqueryqueue.s",{"_index":7108,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.duration.connect",{"_index":7090,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.saturation.connected.count",{"_index":7092,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.throughput.connect.count",{"_index":7091,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applications.throughput.disconnect.count",{"_index":7093,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationsubscriptionmetricregistry.act",{"_index":7125,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationsubscriptionmetricregistry.tot",{"_index":7123,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.applicationsubscriptionmetricregistry.upd",{"_index":7124,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.authentication.error.count",{"_index":7094,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.axonserver.cert",{"_index":6804,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axon.axonserver.context",{"_index":5704,"title":{},"name":{},"text":{"115":{},"147":{}},"component":{}}],["axon.axonserver.contexts=ten",{"_index":5698,"title":{},"name":{},"text":{"115":{}},"component":{}}],["axon.axonserver.disableeventblacklisting=tru",{"_index":4719,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axon.axonserver.en",{"_index":1762,"title":{},"name":{},"text":{"32":{},"40":{}},"component":{}}],["axon.axonserver.eventhandling.processors.[processor",{"_index":5291,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.axonserver.eventhandling.processors.mi",{"_index":5295,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.axonserver.heartbeat.enabled=fals",{"_index":7147,"title":{},"name":{},"text":{"189":{}},"component":{}}],["axon.axonserver.initi",{"_index":6532,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axon.axonserver.new",{"_index":6535,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axon.axonserver.nr",{"_index":6534,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axon.axonserver.persist",{"_index":5407,"title":{},"name":{},"text":{"89":{}},"component":{}}],["axon.axonserver.ssl",{"_index":6803,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axon.axonserver.token",{"_index":6569,"title":{},"name":{},"text":{"168":{}},"component":{}}],["axon.axonserver.token=[token",{"_index":6581,"title":{},"name":{},"text":{"168":{}},"component":{}}],["axon.command",{"_index":7099,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.act",{"_index":7100,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.count",{"_index":7095,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.dur",{"_index":7040,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.duration.handl",{"_index":7041,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.error.count",{"_index":7042,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.rate.fifteenminuter",{"_index":7098,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.rate.fiveminuter",{"_index":7097,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.rate.oneminuter",{"_index":7096,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.saturation.active.count",{"_index":7044,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.saturation.queued.count",{"_index":7043,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.count",{"_index":7035,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.rate.fifteenminuter",{"_index":7038,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.rate.fiveminuter",{"_index":7037,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.commands.throughput.rate.oneminuter",{"_index":7036,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.distributed.enabled=tru",{"_index":2270,"title":{},"name":{},"text":{"38":{},"96":{},"128":{}},"component":{}}],["axon.distributed.jgroup",{"_index":5456,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.bind",{"_index":5459,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.clust",{"_index":5462,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.configur",{"_index":5464,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.gossip.auto",{"_index":5468,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.jgroups.gossip.hosts=localhost[12001",{"_index":5467,"title":{},"name":{},"text":{"96":{}},"component":{}}],["axon.distributed.load",{"_index":5457,"title":{},"name":{},"text":{"96":{},"128":{}},"component":{}}],["axon.distributed.spr",{"_index":5950,"title":{},"name":{},"text":{"128":{}},"component":{}}],["axon.ev",{"_index":5511,"title":{},"name":{},"text":{"99":{},"102":{}},"component":{}}],["axon.event.count",{"_index":7109,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.event.rate.fifteenminuter",{"_index":7112,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.event.rate.fiveminuter",{"_index":7111,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.event.rate.oneminuter",{"_index":7110,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.eventhandling.processors.first.dlq.enabled=tru",{"_index":1108,"title":{},"name":{},"text":{"15":{}},"component":{}}],["axon.eventhandling.processors.mi",{"_index":5004,"title":{},"name":{},"text":{"86":{},"88":{},"89":{}},"component":{}}],["axon.eventhandling.processors.name.source=myqueuemessagesourc",{"_index":5427,"title":{},"name":{},"text":{"92":{}},"component":{}}],["axon.eventhandling.processors[my.processor].mode=pool",{"_index":5152,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.eventhandling.processors[my.processor].mode=subscrib",{"_index":5392,"title":{},"name":{},"text":{"89":{}},"component":{}}],["axon.eventhandling.processors[my.processor].mode=track",{"_index":5135,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.eventhandling.processors[my.processor].source=eventbu",{"_index":5393,"title":{},"name":{},"text":{"89":{}},"component":{}}],["axon.eventhandling.processors[my.processor].source=eventstor",{"_index":5136,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.eventhandling.tokenstore.claim",{"_index":5205,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axon.events.append.dur",{"_index":7063,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.error.count",{"_index":7064,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.saturation.active.count",{"_index":7065,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.count",{"_index":7059,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.rate.fifteenminuter",{"_index":7062,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.rate.fiveminuter",{"_index":7061,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.append.throughput.rate.oneminuter",{"_index":7060,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.dur",{"_index":7070,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.error.count",{"_index":7071,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.saturation.active.count",{"_index":7072,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.count",{"_index":7066,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.rate.fifteenminuter",{"_index":7069,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.rate.fiveminuter",{"_index":7068,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.events.read.aggregate.throughput.rate.oneminuter",{"_index":7067,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.extension.tracing.en",{"_index":5965,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.extension.tracing.span.commandtags=message_id",{"_index":5974,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.extension.tracing.span.eventtags=message_id",{"_index":5975,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.extension.tracing.span.querytags=message_id",{"_index":5976,"title":{},"name":{},"text":{"132":{}},"component":{}}],["axon.globalsubscriptionmetricregistry.act",{"_index":7119,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.globalsubscriptionmetricregistry.tot",{"_index":7117,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.globalsubscriptionmetricregistry.upd",{"_index":7118,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.kafka",{"_index":5604,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.consum",{"_index":5608,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.consumer.ev",{"_index":5616,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.fetcher.pol",{"_index":5603,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.messag",{"_index":5595,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.produc",{"_index":5607,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.producer.ev",{"_index":5602,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.producer.transact",{"_index":5599,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.kafka.publisher.confirm",{"_index":5598,"title":{},"name":{},"text":{"104":{}},"component":{}}],["axon.metrics.auto",{"_index":2918,"title":{},"name":{},"text":{"57":{}},"component":{}}],["axon.metrics.micrometer.dimensional=tru",{"_index":2930,"title":{},"name":{},"text":{"57":{}},"component":{}}],["axon.mongo.databas",{"_index":5688,"title":{},"name":{},"text":{"114":{}},"component":{}}],["axon.multi",{"_index":5708,"title":{},"name":{},"text":{"115":{},"116":{}},"component":{}}],["axon.queri",{"_index":7106,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.act",{"_index":7107,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.count",{"_index":7102,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.dur",{"_index":7050,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.duration.handl",{"_index":7051,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.error.count",{"_index":7052,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.rate.fifteenminuter",{"_index":7105,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.rate.fiveminuter",{"_index":7104,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.rate.oneminuter",{"_index":7103,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.saturation.active.count",{"_index":7054,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.saturation.queued.count",{"_index":7053,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.dur",{"_index":7056,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.saturation.act",{"_index":7058,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.throughput.tot",{"_index":7055,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.subscriptionquery.throughput.upd",{"_index":7057,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.count",{"_index":7046,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.rate.fifteenminuter",{"_index":7049,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.rate.fiveminuter",{"_index":7048,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.queries.throughput.rate.oneminuter",{"_index":7047,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.querysubscriptionmetricregistry.act",{"_index":7122,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.querysubscriptionmetricregistry.tot",{"_index":7120,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.querysubscriptionmetricregistry.upd",{"_index":7121,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.serializer.ev",{"_index":1631,"title":{},"name":{},"text":{"31":{}},"component":{}}],["axon.serializer.events*=jackson",{"_index":6521,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axon.serializer.events=jackson",{"_index":2613,"title":{},"name":{},"text":{"46":{}},"component":{}}],["axon.serializer.gener",{"_index":1630,"title":{},"name":{},"text":{"31":{}},"component":{}}],["axon.serializer.messag",{"_index":1632,"title":{},"name":{},"text":{"31":{}},"component":{}}],["axon.server.en",{"_index":2254,"title":{},"name":{},"text":{"38":{}},"component":{}}],["axon.snapshot.count",{"_index":7113,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshot.rate.fifteenminuter",{"_index":7116,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshot.rate.fiveminuter",{"_index":7115,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshot.rate.oneminuter",{"_index":7114,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.dur",{"_index":7077,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.error.count",{"_index":7078,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.saturation.active.count",{"_index":7079,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.count",{"_index":7073,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.rate.fifteenminuter",{"_index":7076,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.rate.fiveminuter",{"_index":7075,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.append.throughput.rate.oneminuter",{"_index":7074,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.dur",{"_index":7084,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.error.count",{"_index":7085,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.saturation.active.count",{"_index":7086,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.count",{"_index":7080,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.rate.fifteenminuter",{"_index":7083,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.rate.fiveminuter",{"_index":7082,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.snapshots.read.throughput.rate.oneminuter",{"_index":7081,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tags.computeregion=europ",{"_index":6426,"title":{},"name":{},"text":{"150":{}},"component":{}}],["axon.tasks.dur",{"_index":7089,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tasks.error.count",{"_index":7088,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tasks.saturation.scheduled.count",{"_index":7087,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axon.tracing.attributeproviders.aggregateidentifi",{"_index":3055,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.messageid",{"_index":3056,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.messagenam",{"_index":3057,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.messagetyp",{"_index":3058,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.metadata",{"_index":3060,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.attributeproviders.payloadtyp",{"_index":3059,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.tracing.showeventsourcinghandl",{"_index":3053,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon.vers",{"_index":2253,"title":{},"name":{},"text":{"38":{},"46":{},"61":{},"278":{}},"component":{}}],["axon_aggregate_identifi",{"_index":3025,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_ee_server_hom",{"_index":6516,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axon_message_id",{"_index":3027,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_message_nam",{"_index":3029,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_message_typ",{"_index":3031,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_metadata_{key",{"_index":3036,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_payload_typ",{"_index":3034,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axon_se_server_home}/data/default",{"_index":6528,"title":{},"name":{},"text":{"162":{}},"component":{}}],["axon_server_url}/swagg",{"_index":7012,"title":{},"name":{},"text":{"182":{}},"component":{}}],["axonautoconfigur",{"_index":1758,"title":{},"name":{},"text":{"32":{}},"component":{}}],["axonconfig",{"_index":1056,"title":{},"name":{},"text":{"14":{},"15":{},"24":{},"38":{},"43":{},"44":{},"46":{},"59":{},"61":{},"69":{},"76":{},"77":{},"81":{},"86":{},"87":{},"88":{},"89":{},"110":{},"113":{},"189":{}},"component":{}}],["axonconfig.eventprocessingconfigur",{"_index":4705,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axonconfigur",{"_index":2011,"title":{},"name":{},"text":{"36":{},"60":{},"147":{}},"component":{}}],["axonconfigurationexcept",{"_index":4307,"title":{},"name":{},"text":{"67":{}},"component":{}}],["axondbschedulerautoconfigur",{"_index":3333,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonframework",{"_index":1022,"title":{"270":{},"278":{}},"name":{"278":{}},"text":{"10":{},"12":{},"40":{},"67":{},"69":{},"71":{},"221":{},"265":{},"268":{},"270":{},"272":{},"273":{},"277":{},"278":{},"279":{},"280":{},"281":{}},"component":{}}],["axonframeworkvers",{"_index":3052,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonframwork",{"_index":7671,"title":{},"name":{},"text":{"270":{}},"component":{}}],["axoniq",{"_index":9,"title":{"5":{},"8":{},"13":{},"227":{},"231":{},"233":{},"234":{},"236":{},"238":{},"241":{},"249":{},"255":{},"263":{},"267":{},"271":{},"274":{},"276":{},"287":{},"5-1":{},"5-3":{},"5-4":{},"5-5":{},"5-7":{},"5-13":{},"5-14":{},"5-15":{},"8-1":{},"13-1":{},"88-23":{},"201-2":{},"227-1":{},"232-1":{},"232-2":{},"236-1":{},"263-1":{},"269-1":{},"276-1":{},"276-2":{},"276-3":{},"276-4":{},"276-5":{}},"name":{"263":{},"274":{}},"text":{"1":{},"3":{},"5":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"17":{},"28":{},"46":{},"49":{},"55":{},"66":{},"77":{},"86":{},"88":{},"137":{},"143":{},"154":{},"166":{},"168":{},"169":{},"173":{},"177":{},"187":{},"191":{},"192":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"227":{},"230":{},"232":{},"233":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"281":{},"287":{}},"component":{"5":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{}}}],["axoniq.axonserv",{"_index":6827,"title":{},"name":{},"text":{"179":{}},"component":{}}],["axoniq.axonserver.accesscontrol.admin",{"_index":6783,"title":{},"name":{},"text":{"173":{},"204":{}},"component":{}}],["axoniq.axonserver.accesscontrol.en",{"_index":6582,"title":{},"name":{},"text":{"169":{},"170":{},"172":{},"173":{}},"component":{}}],["axoniq.axonserver.accesscontrol.enabled=tru",{"_index":507,"title":{},"name":{},"text":{"3":{},"170":{},"174":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.intern",{"_index":508,"title":{},"name":{},"text":{"3":{},"169":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.sam",{"_index":6087,"title":{},"name":{},"text":{"141":{}},"component":{}}],["axoniq.axonserver.accesscontrol.systemtokenfil",{"_index":6583,"title":{},"name":{},"text":{"169":{}},"component":{}}],["axoniq.axonserver.accesscontrol.systemtokenfile=./config/axonserver.token",{"_index":387,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.systemtokenfile=/axonserver/config/axonserver.tok",{"_index":510,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.accesscontrol.token",{"_index":6782,"title":{},"name":{},"text":{"173":{},"204":{}},"component":{}}],["axoniq.axonserver.autocluster.context",{"_index":6488,"title":{},"name":{},"text":{"154":{},"192":{}},"component":{}}],["axoniq.axonserver.autocluster.contexts=_admin,default",{"_index":493,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.autocluster.contexts=context1,context2",{"_index":6487,"title":{},"name":{},"text":{"154":{}},"component":{}}],["axoniq.axonserver.autocluster.contexts=default",{"_index":6038,"title":{},"name":{},"text":{"140":{}},"component":{}}],["axoniq.axonserver.autocluster.first",{"_index":6037,"title":{},"name":{},"text":{"140":{},"154":{},"192":{}},"component":{}}],["axoniq.axonserver.autocluster.first=axonserv",{"_index":492,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.autocluster.first=intern",{"_index":6485,"title":{},"name":{},"text":{"154":{}},"component":{}}],["axoniq.axonserver.clustertemplate.path:/mypath/clust",{"_index":6493,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["axoniq.axonserver.commandflowcontrol.initi",{"_index":6540,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.commandflowcontrol.new",{"_index":6543,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.commandflowcontrol.nr",{"_index":6542,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.configdb",{"_index":710,"title":{},"name":{},"text":{"4":{}},"component":{}}],["axoniq.axonserver.controldb",{"_index":297,"title":{},"name":{},"text":{"3":{},"4":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.activedirectori",{"_index":6628,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.activedirectory=tru",{"_index":6631,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.addomain",{"_index":6629,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.addomain=demo.io",{"_index":6633,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.allow",{"_index":6642,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.en",{"_index":6611,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.enabled=tru",{"_index":6630,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.group",{"_index":6625,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.initialbindpassword",{"_index":6621,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.initialbinduserdn",{"_index":6617,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.rol",{"_index":6636,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.roles.admin_staff=admin@_admin",{"_index":6639,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.roles.axonadmin=admin@_admin",{"_index":6635,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.roles.ship_crew=use_context@default",{"_index":6640,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.search",{"_index":6622,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.searchfilter=(&(objectclass=user)(samaccountname=\\{1",{"_index":6634,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.serv",{"_index":6612,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.servername=mi",{"_index":6632,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.trust",{"_index":6097,"title":{},"name":{},"text":{"141":{}},"component":{}}],["axoniq.axonserver.enterprise.ldap.us",{"_index":6641,"title":{},"name":{},"text":{"170":{}},"component":{}}],["axoniq.axonserver.enterprise.licensedirectori",{"_index":265,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.enterprise.licensedirectory=./config",{"_index":386,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.author",{"_index":6758,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.en",{"_index":6756,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.forceoidclogout",{"_index":6770,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.mod",{"_index":6757,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.request",{"_index":6764,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.enterprise.oauth2.usernam",{"_index":6762,"title":{},"name":{},"text":{"172":{}},"component":{}}],["axoniq.axonserver.ev",{"_index":6089,"title":{},"name":{},"text":{"141":{},"145":{}},"component":{}}],["axoniq.axonserver.event.aggregate.prefetch",{"_index":6536,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.event.ev",{"_index":6539,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.event.glob",{"_index":6084,"title":{},"name":{},"text":{"141":{}},"component":{}}],["axoniq.axonserver.event.storag",{"_index":294,"title":{},"name":{},"text":{"3":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.event.storage=./ev",{"_index":382,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.event.storage]/[context",{"_index":6325,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axoniq.axonserver.event.storages.slow_disk=/hhd2/eventstor",{"_index":6441,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.event.storages.{storag",{"_index":6436,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.events.storag",{"_index":6321,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axoniq.axonserver.forc",{"_index":6500,"title":{},"name":{},"text":{"156":{}},"component":{}}],["axoniq.axonserver.heartbeat.enabled=tru",{"_index":7139,"title":{},"name":{},"text":{"189":{}},"component":{}}],["axoniq.axonserver.hostnam",{"_index":7170,"title":{},"name":{},"text":{"192":{}},"component":{}}],["axoniq.axonserver.legaci",{"_index":7126,"title":{},"name":{},"text":{"186":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.en",{"_index":7130,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.jaeg",{"_index":7131,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.prometheu",{"_index":7132,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.metrics.grpc.z",{"_index":7133,"title":{},"name":{},"text":{"188":{}},"component":{}}],["axoniq.axonserver.nam",{"_index":7169,"title":{},"name":{},"text":{"192":{}},"component":{}}],["axoniq.axonserver.pid",{"_index":389,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.plugin",{"_index":300,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.preview.persist",{"_index":6019,"title":{},"name":{},"text":{"140":{}},"component":{}}],["axoniq.axonserver.queryflowcontrol.initi",{"_index":6544,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.queryflowcontrol.new",{"_index":6546,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.queryflowcontrol.nr",{"_index":6545,"title":{},"name":{},"text":{"163":{}},"component":{}}],["axoniq.axonserver.recoveryfil",{"_index":6403,"title":{},"name":{},"text":{"149":{}},"component":{}}],["axoniq.axonserver.replication.log",{"_index":384,"title":{},"name":{},"text":{"3":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.replication.min",{"_index":6503,"title":{},"name":{},"text":{"156":{}},"component":{}}],["axoniq.axonserver.serv",{"_index":6517,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.axonserver.snapshot.storag",{"_index":296,"title":{},"name":{},"text":{"3":{},"147":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.snapshot.storage=./ev",{"_index":383,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.snapshot.storage]/[context",{"_index":6338,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axoniq.axonserver.snapshot.storages.slow_disk=/hhd2/eventstor",{"_index":6442,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.snapshot.storages.{storag",{"_index":6438,"title":{},"name":{},"text":{"151":{}},"component":{}}],["axoniq.axonserver.ssl.cert",{"_index":6796,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.ssl.en",{"_index":6795,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.ssl.intern",{"_index":6798,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.ssl.priv",{"_index":6797,"title":{},"name":{},"text":{"176":{}},"component":{}}],["axoniq.axonserver.standalon",{"_index":407,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq.axonserver.standalone=tru",{"_index":411,"title":{},"name":{},"text":{"3":{},"141":{},"191":{},"192":{}},"component":{}}],["axoniq.axonserver.tags.computeregion=europ",{"_index":6421,"title":{},"name":{},"text":{"150":{}},"component":{}}],["axoniq.axonserver.tags.networkspeed=fast",{"_index":6422,"title":{},"name":{},"text":{"150":{}},"component":{}}],["axoniq.axonserver.transformation.storag",{"_index":6262,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axoniq.console.appl",{"_index":7749,"title":{},"name":{},"text":{"276":{}},"component":{}}],["axoniq.console.credenti",{"_index":7746,"title":{},"name":{},"text":{"276":{}},"component":{}}],["axoniq.console.dlq",{"_index":7751,"title":{},"name":{},"text":{"276":{}},"component":{}}],["axoniq.datasource.eventstore.password",{"_index":6520,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.datasource.eventstore.url",{"_index":6518,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.datasource.eventstore.usernam",{"_index":6519,"title":{},"name":{},"text":{"161":{}},"component":{}}],["axoniq.licens",{"_index":483,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq/axonserv",{"_index":701,"title":{},"name":{},"text":{"4":{},"140":{}},"component":{}}],["axoniq/axonserver:2023.1",{"_index":235,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq/axonserver:2023.1.0",{"_index":6036,"title":{},"name":{},"text":{"140":{}},"component":{}}],["axoniq/axonserver:latest",{"_index":280,"title":{},"name":{},"text":{"3":{},"191":{},"284":{}},"component":{}}],["axoniq/synaps",{"_index":7499,"title":{},"name":{},"text":{"215":{}},"component":{}}],["axoniq_axonserver_standalon",{"_index":8000,"title":{},"name":{},"text":{"284":{}},"component":{}}],["axoniq_axonserver_standalone=tru",{"_index":7999,"title":{},"name":{},"text":{"284":{}},"component":{}}],["axoniq_licens",{"_index":611,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniq_license=/axonserver/config/axoniq.licens",{"_index":443,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axoniqconsol",{"_index":7650,"title":{},"name":{},"text":{"264":{}},"component":{}}],["axoniq’",{"_index":7552,"title":{},"name":{},"text":{"230":{},"240":{}},"component":{}}],["axonquickstart.zip",{"_index":7253,"title":{},"name":{},"text":{"201":{}},"component":{}}],["axonserv",{"_index":226,"title":{"199-8":{},"206-25":{}},"name":{},"text":{"3":{},"4":{},"38":{},"46":{},"61":{},"67":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"154":{},"156":{},"161":{},"164":{},"168":{},"169":{},"174":{},"177":{},"178":{},"179":{},"181":{},"185":{},"190":{},"191":{},"192":{},"199":{},"206":{},"220":{},"221":{},"226":{},"284":{}},"component":{}}],["axonserver.jar",{"_index":339,"title":{},"name":{},"text":{"3":{},"4":{},"191":{},"192":{}},"component":{}}],["axonserver.properti",{"_index":258,"title":{},"name":{},"text":{"3":{},"4":{},"148":{},"154":{},"168":{},"174":{},"176":{},"179":{},"185":{},"188":{},"191":{},"192":{}},"component":{}}],["axonserver.token",{"_index":484,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver.yml",{"_index":6815,"title":{},"name":{},"text":{"179":{}},"component":{}}],["axonserver/axonserv",{"_index":7255,"title":{},"name":{},"text":{"201":{}},"component":{}}],["axonserver/config",{"_index":188,"title":{"3-3":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/config/axoniq.licens",{"_index":440,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/config/axonserver.properti",{"_index":441,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/config/axonserver.token",{"_index":442,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/data",{"_index":189,"title":{"3-4":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/data/axonserver.log",{"_index":309,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/ev",{"_index":190,"title":{"3-5":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/ext",{"_index":192,"title":{"3-7":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/licens",{"_index":617,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/license/axoniq.licens",{"_index":561,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/log",{"_index":191,"title":{"3-6":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/plugin",{"_index":193,"title":{"3-8":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/plugins/bundl",{"_index":303,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/plugins/cach",{"_index":306,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/secur",{"_index":616,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver/security/token.txt",{"_index":565,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserver:axonserv",{"_index":365,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["axonserveractuatorautoconfigurationi",{"_index":4145,"title":{},"name":{},"text":{"67":{}},"component":{}}],["axonserverautoconfigur",{"_index":1757,"title":{},"name":{},"text":{"32":{}},"component":{}}],["axonservercommandbu",{"_index":2073,"title":{"38-15":{}},"name":{},"text":{"38":{},"59":{},"67":{},"115":{},"261":{}},"component":{}}],["axonservercommandbus.dispatch(${commandnam",{"_index":3066,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonservercommandbus.handle(${commandnam",{"_index":3067,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverconfig",{"_index":4716,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axonserverconfig.setdisableeventblacklisting(tru",{"_index":4717,"title":{},"name":{},"text":{"76":{}},"component":{}}],["axonserverconfigur",{"_index":3318,"title":{},"name":{},"text":{"66":{},"67":{},"76":{},"189":{}},"component":{}}],["axonserverconfiguration#isforcereadfromlead",{"_index":4365,"title":{},"name":{},"text":{"67":{}},"component":{}}],["axonserverconfiguration.builder().context(othercontext).build",{"_index":6345,"title":{},"name":{},"text":{"147":{}},"component":{}}],["axonserverconfiguration.heartbeatconfigur",{"_index":7142,"title":{},"name":{},"text":{"189":{}},"component":{}}],["axonserverconnect",{"_index":6267,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnection#disconnect",{"_index":6272,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnection#isconnect",{"_index":6273,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactori",{"_index":6203,"title":{},"name":{},"text":{"144":{},"145":{}},"component":{}}],["axonserverconnectionfactory#connect(context",{"_index":6271,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactory#forcli",{"_index":6266,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactory.forclient(\"ev",{"_index":6268,"title":{},"name":{},"text":{"145":{}},"component":{}}],["axonserverconnectionfactory.forclient(componentname).build",{"_index":6205,"title":{},"name":{},"text":{"144":{}},"component":{}}],["axonserverconnectionmanag",{"_index":2368,"title":{},"name":{},"text":{"40":{},"54":{},"66":{},"67":{},"147":{}},"component":{}}],["axonservercontain",{"_index":3388,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["axonservereecontain",{"_index":3526,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonservereventschedul",{"_index":2342,"title":{},"name":{},"text":{"40":{},"66":{},"115":{}},"component":{}}],["axonservereventstor",{"_index":2514,"title":{},"name":{},"text":{"46":{},"67":{},"115":{}},"component":{}}],["axonservereventstore#createstreamablemessagesourceforcontext(str",{"_index":2622,"title":{},"name":{},"text":{"46":{}},"component":{}}],["axonservereventstorefactori",{"_index":3320,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonserverhealthind",{"_index":3518,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonserverquerybu",{"_index":3122,"title":{"61-3":{}},"name":{},"text":{"61":{},"67":{},"115":{},"261":{}},"component":{}}],["axonserverquerybus.query(${querynam",{"_index":3094,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverquerybus.responseprocessingtask(${querynam",{"_index":3097,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverquerybus.scattergather(${querynam",{"_index":3101,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserverquerybus.streamingquery(${querynam",{"_index":3099,"title":{},"name":{},"text":{"59":{}},"component":{}}],["axonserversecontain",{"_index":3527,"title":{},"name":{},"text":{"66":{}},"component":{}}],["axonstartedev",{"_index":1772,"title":{},"name":{},"text":{"32":{}},"component":{}}],["axonsynaps",{"_index":7485,"title":{},"name":{},"text":{"215":{}},"component":{}}],["axonsynapse.properti",{"_index":7443,"title":{},"name":{},"text":{"208":{}},"component":{}}],["axonthreadfactory(\"coordin",{"_index":5268,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axonthreadfactory(\"work",{"_index":5271,"title":{},"name":{},"text":{"88":{}},"component":{}}],["axonus",{"_index":2744,"title":{},"name":{},"text":{"51":{}},"component":{}}],["axonuser\".equals(userid",{"_index":2752,"title":{},"name":{},"text":{"51":{}},"component":{}}],["axon’",{"_index":1454,"title":{"278-1":{}},"name":{},"text":{"29":{},"31":{},"32":{},"34":{},"44":{},"46":{},"51":{},"59":{},"66":{},"67":{},"72":{},"76":{},"77":{},"87":{},"89":{},"99":{},"100":{},"102":{},"105":{},"106":{},"107":{},"108":{},"147":{}},"component":{}}],["azzazzel",{"_index":3426,"title":{},"name":{},"text":{"66":{}},"component":{}}],["b",{"_index":1971,"title":{},"name":{},"text":{"35":{},"156":{},"280":{},"283":{},"286":{}},"component":{}}],["b281",{"_index":7515,"title":{},"name":{},"text":{"217":{}},"component":{}}],["b328",{"_index":7301,"title":{},"name":{},"text":{"202":{}},"component":{}}],["b5d8",{"_index":7910,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["b887",{"_index":7938,"title":{},"name":{},"text":{"280":{}},"component":{}}],["back",{"_index":136,"title":{"63-6":{}},"name":{},"text":{"2":{},"29":{},"33":{},"38":{},"46":{},"51":{},"53":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"79":{},"85":{},"86":{},"88":{},"89":{},"101":{},"141":{},"142":{},"143":{},"145":{},"157":{},"203":{},"206":{},"219":{},"280":{},"281":{},"284":{}},"component":{}}],["backbon",{"_index":7214,"title":{},"name":{},"text":{"199":{}},"component":{}}],["backend",{"_index":657,"title":{},"name":{},"text":{"3":{},"191":{},"206":{},"220":{},"226":{}},"component":{}}],["background",{"_index":1732,"title":{},"name":{},"text":{"32":{},"34":{},"141":{},"145":{},"286":{}},"component":{}}],["backofficeaccount",{"_index":2059,"title":{},"name":{},"text":{"36":{}},"component":{}}],["backpressur",{"_index":3217,"title":{},"name":{},"text":{"63":{},"121":{},"163":{},"179":{}},"component":{}}],["backup",{"_index":6046,"title":{"142":{},"143-6":{},"156-1":{},"156-2":{},"156-3":{}},"name":{"142":{}},"text":{"140":{},"142":{},"143":{},"146":{},"151":{},"156":{},"157":{},"179":{}},"component":{}}],["backup_nod",{"_index":6101,"title":{},"name":{},"text":{"142":{}},"component":{}}],["backward",{"_index":1720,"title":{},"name":{},"text":{"32":{},"44":{},"130":{}},"component":{}}],["bad",{"_index":4648,"title":{},"name":{},"text":{"72":{},"142":{},"215":{},"221":{}},"component":{}}],["badg",{"_index":7636,"title":{},"name":{},"text":{"262":{}},"component":{}}],["balanc",{"_index":3362,"title":{"260-6":{}},"name":{},"text":{"66":{},"67":{},"88":{},"111":{},"151":{},"179":{},"180":{},"189":{},"202":{},"203":{},"206":{},"215":{},"220":{},"221":{},"246":{},"250":{},"260":{},"274":{}},"component":{}}],["balancing=tru",{"_index":5297,"title":{},"name":{},"text":{"88":{}},"component":{}}],["barbequ",{"_index":3730,"title":{},"name":{},"text":{"66":{}},"component":{}}],["base",{"_index":69,"title":{"277":{},"77-9":{},"150-1":{},"151-10":{},"151-11":{},"269-2":{}},"name":{"277":{}},"text":{"2":{},"3":{},"5":{},"17":{},"19":{},"23":{},"24":{},"25":{},"28":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"56":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"97":{},"100":{},"102":{},"108":{},"111":{},"115":{},"121":{},"130":{},"140":{},"144":{},"150":{},"151":{},"154":{},"156":{},"160":{},"162":{},"163":{},"169":{},"170":{},"173":{},"175":{},"177":{},"179":{},"184":{},"191":{},"192":{},"194":{},"202":{},"215":{},"216":{},"237":{},"241":{},"244":{},"245":{},"246":{},"260":{},"261":{},"262":{},"263":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["bash",{"_index":6807,"title":{},"name":{},"text":{"178":{}},"component":{}}],["basi",{"_index":3762,"title":{},"name":{},"text":{"66":{},"88":{},"94":{}},"component":{}}],["basic",{"_index":677,"title":{"7":{},"154":{},"8-2":{},"13-2":{},"82-1":{},"193-1":{},"199-5":{}},"name":{"7":{},"154":{}},"text":{"3":{},"8":{},"13":{},"21":{},"30":{},"36":{},"44":{},"67":{},"77":{},"82":{},"144":{},"145":{},"148":{},"154":{},"155":{},"166":{},"169":{},"173":{},"177":{},"185":{},"190":{},"191":{},"192":{},"193":{},"199":{},"201":{},"237":{},"247":{},"250":{},"274":{},"280":{},"284":{}},"component":{}}],["batch",{"_index":2555,"title":{},"name":{},"text":{"46":{},"67":{},"78":{},"88":{},"89":{},"163":{},"179":{},"212":{},"215":{},"261":{},"274":{}},"component":{}}],["batchsiz",{"_index":7468,"title":{},"name":{},"text":{"212":{}},"component":{}}],["batchsize/2",{"_index":3662,"title":{},"name":{},"text":{"66":{}},"component":{}}],["bd31",{"_index":7917,"title":{},"name":{},"text":{"280":{}},"component":{}}],["be",{"_index":742,"title":{"5-14":{}},"name":{},"text":{"6":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"46":{},"49":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"60":{},"63":{},"66":{},"67":{},"72":{},"77":{},"79":{},"82":{},"83":{},"85":{},"88":{},"101":{},"140":{},"142":{},"145":{},"148":{},"151":{},"153":{},"156":{},"157":{},"179":{},"185":{},"192":{},"243":{},"257":{},"260":{},"261":{},"273":{},"283":{},"289":{}},"component":{}}],["bean",{"_index":1088,"title":{"59-13":{},"59-14":{}},"name":{},"text":{"15":{},"20":{},"24":{},"31":{},"32":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"50":{},"51":{},"52":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"69":{},"71":{},"75":{},"76":{},"77":{},"86":{},"87":{},"88":{},"89":{},"92":{},"110":{},"113":{},"115":{},"126":{},"128":{},"147":{}},"component":{}}],["beandefinit",{"_index":4030,"title":{},"name":{},"text":{"67":{}},"component":{}}],["beanvalidationinterceptor",{"_index":2735,"title":{},"name":{},"text":{"51":{}},"component":{}}],["bearer",{"_index":7329,"title":{},"name":{},"text":{"204":{}},"component":{}}],["becom",{"_index":327,"title":{},"name":{},"text":{"3":{},"25":{},"27":{},"29":{},"31":{},"32":{},"35":{},"38":{},"39":{},"40":{},"41":{},"46":{},"48":{},"55":{},"58":{},"59":{},"62":{},"66":{},"67":{},"69":{},"79":{},"87":{},"88":{},"89":{},"140":{},"151":{},"154":{},"156":{},"178":{},"185":{},"191":{},"192":{},"244":{},"262":{},"281":{},"288":{}},"component":{}}],["befor",{"_index":571,"title":{},"name":{},"text":{"3":{},"4":{},"5":{},"17":{},"18":{},"32":{},"34":{},"38":{},"46":{},"51":{},"53":{},"55":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"82":{},"86":{},"88":{},"94":{},"101":{},"123":{},"130":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"148":{},"149":{},"151":{},"168":{},"173":{},"179":{},"180":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"226":{},"232":{},"244":{},"247":{},"260":{},"262":{},"263":{},"266":{},"277":{},"279":{},"280":{},"281":{},"284":{},"285":{},"288":{}},"component":{}}],["beforeeach",{"_index":1274,"title":{},"name":{},"text":{"22":{},"285":{}},"component":{}}],["beforehand",{"_index":7220,"title":{},"name":{},"text":{"199":{}},"component":{}}],["begin",{"_index":330,"title":{},"name":{},"text":{"3":{},"30":{},"67":{},"88":{},"154":{},"176":{},"191":{},"233":{},"268":{},"279":{},"288":{}},"component":{}}],["behalf",{"_index":7508,"title":{},"name":{},"text":{"216":{},"217":{},"219":{}},"component":{}}],["behav",{"_index":2996,"title":{},"name":{},"text":{"59":{},"67":{},"145":{},"163":{},"264":{},"270":{},"273":{},"274":{},"277":{}},"component":{}}],["behavior",{"_index":1027,"title":{"66-7":{}},"name":{},"text":{"14":{},"16":{},"25":{},"28":{},"29":{},"35":{},"36":{},"38":{},"46":{},"49":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"79":{},"86":{},"87":{},"88":{},"115":{},"163":{},"172":{},"202":{},"241":{},"244":{},"246":{},"266":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"276":{},"277":{},"285":{}},"component":{}}],["behaviour",{"_index":1265,"title":{"144-6":{}},"name":{},"text":{"22":{},"48":{},"67":{},"69":{},"84":{},"87":{},"101":{},"238":{},"264":{}},"component":{}}],["behind",{"_index":1020,"title":{},"name":{},"text":{"8":{},"13":{},"57":{},"66":{},"80":{},"141":{},"185":{}},"component":{}}],["believ",{"_index":6243,"title":{},"name":{},"text":{"145":{}},"component":{}}],["belong",{"_index":371,"title":{},"name":{},"text":{"3":{},"44":{},"46":{},"67":{},"84":{},"86":{},"87":{},"88":{},"115":{},"133":{},"142":{},"191":{}},"component":{}}],["below",{"_index":313,"title":{},"name":{},"text":{"3":{},"14":{},"28":{},"30":{},"32":{},"33":{},"37":{},"38":{},"41":{},"45":{},"46":{},"49":{},"51":{},"55":{},"61":{},"62":{},"63":{},"64":{},"66":{},"70":{},"72":{},"73":{},"74":{},"77":{},"78":{},"79":{},"86":{},"87":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"137":{},"138":{},"147":{},"154":{},"157":{},"159":{},"163":{},"164":{},"169":{},"175":{},"177":{},"178":{},"179":{},"181":{},"182":{},"185":{},"191":{},"192":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"228":{},"232":{},"237":{},"238":{},"245":{},"246":{},"249":{},"250":{},"257":{},"260":{},"261":{},"262":{},"274":{},"276":{},"277":{},"280":{},"283":{},"286":{},"289":{},"290":{}},"component":{}}],["benefici",{"_index":4496,"title":{},"name":{},"text":{"69":{},"71":{},"81":{},"86":{},"87":{},"88":{},"89":{},"111":{},"125":{}},"component":{}}],["benefit",{"_index":948,"title":{},"name":{},"text":{"6":{},"31":{},"32":{},"44":{},"67":{},"69":{},"71":{},"72":{},"84":{},"88":{},"99":{},"120":{},"162":{},"263":{},"264":{},"265":{},"274":{},"275":{},"277":{},"281":{},"283":{}},"component":{}}],["besid",{"_index":1509,"title":{},"name":{},"text":{"30":{},"39":{},"46":{},"47":{},"49":{},"58":{},"72":{},"91":{},"94":{},"99":{},"100":{},"124":{},"129":{},"147":{}},"component":{}}],["best",{"_index":530,"title":{},"name":{},"text":{"3":{},"15":{},"19":{},"25":{},"31":{},"34":{},"36":{},"38":{},"52":{},"53":{},"59":{},"66":{},"72":{},"77":{},"79":{},"111":{},"151":{},"156":{},"191":{},"200":{},"232":{},"234":{},"268":{}},"component":{}}],["beta",{"_index":4376,"title":{},"name":{},"text":{"67":{}},"component":{}}],["better",{"_index":1261,"title":{},"name":{},"text":{"21":{},"31":{},"38":{},"40":{},"66":{},"67":{},"72":{},"77":{},"140":{},"145":{},"264":{},"274":{}},"component":{}}],["between",{"_index":91,"title":{"130":{},"88-20":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"19":{},"29":{},"30":{},"31":{},"36":{},"38":{},"40":{},"44":{},"46":{},"47":{},"49":{},"51":{},"57":{},"58":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"86":{},"88":{},"92":{},"94":{},"101":{},"104":{},"111":{},"132":{},"141":{},"143":{},"145":{},"147":{},"150":{},"151":{},"154":{},"156":{},"157":{},"163":{},"169":{},"175":{},"176":{},"179":{},"185":{},"191":{},"192":{},"193":{},"195":{},"199":{},"200":{},"202":{},"206":{},"210":{},"216":{},"221":{},"226":{},"243":{},"261":{},"274":{},"279":{}},"component":{}}],["bewar",{"_index":4754,"title":{},"name":{},"text":{"77":{}},"component":{}}],["beyond",{"_index":1968,"title":{},"name":{},"text":{"35":{},"46":{},"59":{},"94":{},"142":{},"189":{},"244":{}},"component":{}}],["bi",{"_index":4390,"title":{},"name":{},"text":{"67":{}},"component":{}}],["bia",{"_index":3824,"title":{},"name":{},"text":{"66":{}},"component":{}}],["biconsum",{"_index":6275,"title":{},"name":{},"text":{"145":{}},"component":{}}],["bifunct",{"_index":2723,"title":{},"name":{},"text":{"51":{},"101":{},"121":{}},"component":{}}],["big",{"_index":504,"title":{},"name":{},"text":{"3":{},"77":{},"120":{},"191":{},"281":{}},"component":{}}],["bigger",{"_index":1461,"title":{},"name":{},"text":{"29":{},"38":{},"239":{}},"component":{}}],["biggest",{"_index":1410,"title":{},"name":{},"text":{"29":{},"40":{}},"component":{}}],["bike",{"_index":1007,"title":{"277":{},"281":{},"283":{},"280-7":{},"281-2":{},"281-5":{},"281-10":{},"283-4":{}},"name":{"275":{},"280":{},"281":{},"283":{}},"text":{"8":{},"13":{},"237":{},"238":{},"241":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["bike(registerbikecommand",{"_index":7962,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikecreatedev",{"_index":8040,"title":{},"name":{},"text":{"286":{}},"component":{}}],["bikecreatedevent(event.bikeid",{"_index":8044,"title":{},"name":{},"text":{"286":{}},"component":{}}],["bikeeventpublish",{"_index":8043,"title":{},"name":{},"text":{"286":{}},"component":{}}],["bikeid",{"_index":7836,"title":{},"name":{},"text":{"280":{},"281":{},"285":{},"289":{}},"component":{}}],["bikeproject",{"_index":8076,"title":{},"name":{},"text":{"290":{}},"component":{}}],["bikeregisteredev",{"_index":7828,"title":{"280-4":{},"281-7":{}},"name":{},"text":{"280":{},"281":{},"283":{},"285":{},"286":{},"290":{}},"component":{}}],["bikeregisteredevent(\"bikeid",{"_index":8032,"title":{},"name":{},"text":{"285":{}},"component":{}}],["bikeregisteredevent(command.bikeid",{"_index":7965,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikereleasedevent(command.bikeid",{"_index":8056,"title":{},"name":{},"text":{"288":{}},"component":{}}],["bikerent",{"_index":7642,"title":{},"name":{},"text":{},"component":{"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}}}],["bikerentaldatagener",{"_index":7974,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikerequestedev",{"_index":7715,"title":{},"name":{},"text":{"274":{}},"component":{}}],["bikereservedev",{"_index":8065,"title":{},"name":{},"text":{"289":{}},"component":{}}],["bikereservedevent(command.bikeid",{"_index":8053,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["bikes.add(new",{"_index":8077,"title":{},"name":{},"text":{"290":{}},"component":{}}],["bikes.stream().tolist",{"_index":8079,"title":{},"name":{},"text":{"290":{}},"component":{}}],["bikes/{bikeid",{"_index":7903,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikes?biketype={biketype}&location={c",{"_index":7979,"title":{},"name":{},"text":{"281":{}},"component":{}}],["bikestatu",{"_index":7826,"title":{"280-1":{},"280-2":{},"280-3":{}},"name":{},"text":{"280":{}},"component":{}}],["bikestatus(event.bikeid",{"_index":7856,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["bikestatus.class",{"_index":7902,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueri",{"_index":7863,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueries.find_al",{"_index":7868,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueries.find_avail",{"_index":7872,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusnamedqueries.find_on",{"_index":7876,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusproject",{"_index":7848,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusprojection(bikestatusrepostori",{"_index":7852,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepositori",{"_index":7851,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.findal",{"_index":7869,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.findallbybiketypeandstatus(biketyp",{"_index":7874,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.findbyid(bikeid).orelse(nul",{"_index":7878,"title":{},"name":{},"text":{"280":{}},"component":{}}],["bikestatusrepository.save(bikestatu",{"_index":7859,"title":{},"name":{},"text":{"280":{}},"component":{}}],["biketest",{"_index":8023,"title":{"285-2":{}},"name":{},"text":{"285":{}},"component":{}}],["biketyp",{"_index":7837,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["bill",{"_index":795,"title":{"30-38":{},"250-4":{},"278-1":{}},"name":{},"text":{"5":{},"30":{},"250":{},"254":{},"278":{}},"component":{}}],["bin.zip",{"_index":6601,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["binari",{"_index":1474,"title":{"192-1":{}},"name":{},"text":{"30":{},"40":{},"124":{}},"component":{}}],["binaryjdbctype.inst",{"_index":4860,"title":{},"name":{},"text":{"79":{}},"component":{}}],["bind",{"_index":466,"title":{},"name":{},"text":{"3":{},"46":{},"53":{},"67":{},"90":{},"96":{},"170":{},"191":{},"201":{}},"component":{}}],["bird’",{"_index":7662,"title":{},"name":{},"text":{"266":{}},"component":{}}],["bit",{"_index":3777,"title":{},"name":{},"text":{"66":{},"115":{},"144":{},"237":{},"264":{},"273":{},"276":{},"280":{}},"component":{}}],["black",{"_index":6427,"title":{"151-5":{}},"name":{},"text":{"151":{}},"component":{}}],["blackdread",{"_index":3428,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["blacklist",{"_index":4702,"title":{"76-3":{}},"name":{},"text":{"76":{},"179":{},"260":{}},"component":{}}],["blob",{"_index":1422,"title":{},"name":{},"text":{"29":{},"79":{}},"component":{}}],["block",{"_index":826,"title":{},"name":{},"text":{"5":{},"6":{},"30":{},"36":{},"38":{},"51":{},"53":{},"66":{},"67":{},"72":{},"88":{},"120":{},"130":{},"211":{},"280":{},"287":{}},"component":{}}],["blockedpayload",{"_index":5884,"title":{},"name":{},"text":{"121":{}},"component":{}}],["blocker",{"_index":5380,"title":{},"name":{},"text":{"89":{}},"component":{}}],["blockingwaitstrategi",{"_index":2190,"title":{},"name":{},"text":{"38":{}},"component":{}}],["blog",{"_index":515,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["blogpost",{"_index":7643,"title":{},"name":{"264":{}},"text":{},"component":{}}],["bloom",{"_index":6334,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["bloom_filter_index",{"_index":6332,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["blue",{"_index":781,"title":{},"name":{},"text":{"5":{},"232":{},"274":{}},"component":{}}],["bodi",{"_index":7282,"title":{},"name":{},"text":{"202":{},"211":{},"212":{},"214":{},"215":{},"217":{},"281":{},"283":{}},"component":{}}],["bom",{"_index":1478,"title":{"278-1":{}},"name":{},"text":{"30":{},"38":{},"66":{},"67":{},"278":{}},"component":{}}],["book",{"_index":1002,"title":{},"name":{},"text":{"8":{},"13":{},"147":{},"195":{}},"component":{}}],["book[*].titl",{"_index":7200,"title":{},"name":{},"text":{"195":{}},"component":{}}],["boolean",{"_index":1232,"title":{},"name":{},"text":{"20":{},"24":{},"44":{},"58":{},"68":{},"72":{},"84":{},"86":{},"121":{},"144":{},"281":{}},"component":{}}],["boot",{"_index":761,"title":{"32":{},"30-9":{},"30-17":{},"30-20":{},"30-22":{},"30-24":{},"30-28":{},"30-30":{},"30-32":{},"30-35":{},"30-37":{},"31-3":{},"31-4":{},"31-5":{},"32-3":{},"32-4":{},"32-5":{},"54-1":{},"57-3":{},"57-7":{},"57-8":{},"59-3":{},"59-7":{},"59-13":{},"59-14":{},"59-19":{},"59-24":{},"69-13":{},"69-15":{},"71-3":{},"75-3":{},"76-5":{},"77-4":{},"77-8":{},"77-12":{},"89-3":{},"89-5":{},"89-6":{},"89-11":{},"89-12":{},"284-4":{}},"name":{"32":{}},"text":{"5":{},"28":{},"30":{},"32":{},"33":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"50":{},"54":{},"55":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"68":{},"69":{},"71":{},"86":{},"87":{},"88":{},"94":{},"96":{},"104":{},"114":{},"119":{},"121":{},"124":{},"126":{},"128":{},"129":{},"133":{},"147":{},"150":{},"172":{},"176":{},"185":{},"189":{},"215":{},"237":{},"276":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["bootstrap",{"_index":5610,"title":{"278":{}},"name":{"278":{}},"text":{"104":{},"278":{},"279":{}},"component":{}}],["bootstrapserv",{"_index":5605,"title":{},"name":{},"text":{"104":{}},"component":{}}],["boot’",{"_index":7998,"title":{},"name":{},"text":{"284":{}},"component":{}}],["both",{"_index":95,"title":{},"name":{},"text":{"2":{},"3":{},"19":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"42":{},"44":{},"46":{},"48":{},"50":{},"51":{},"52":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"82":{},"83":{},"84":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"101":{},"125":{},"127":{},"129":{},"140":{},"142":{},"144":{},"145":{},"150":{},"151":{},"163":{},"170":{},"174":{},"176":{},"179":{},"191":{},"201":{},"211":{},"212":{},"214":{},"224":{},"234":{},"235":{},"260":{},"276":{},"280":{},"281":{},"284":{}},"component":{}}],["bother",{"_index":1477,"title":{},"name":{},"text":{"30":{}},"component":{}}],["bottleneck",{"_index":960,"title":{},"name":{},"text":{"6":{},"243":{},"249":{},"263":{},"264":{},"265":{},"266":{},"273":{}},"component":{}}],["bottom",{"_index":7575,"title":{},"name":{},"text":{"239":{},"245":{},"246":{},"274":{},"280":{}},"component":{}}],["bound",{"_index":2348,"title":{},"name":{},"text":{"40":{},"46":{},"53":{},"64":{},"67":{},"96":{},"176":{},"192":{},"250":{},"286":{},"288":{}},"component":{}}],["boundari",{"_index":2135,"title":{},"name":{},"text":{"38":{},"46":{},"82":{},"151":{}},"component":{}}],["box",{"_index":79,"title":{},"name":{},"text":{"2":{},"31":{},"36":{},"46":{},"53":{},"56":{},"59":{},"61":{},"64":{},"71":{},"77":{},"84":{},"88":{},"91":{},"104":{},"115":{},"117":{},"156":{},"274":{},"277":{}},"component":{}}],["breach",{"_index":6447,"title":{},"name":{},"text":{"151":{}},"component":{}}],["break",{"_index":1584,"title":{"66-7":{}},"name":{},"text":{"31":{},"33":{},"66":{},"67":{},"86":{},"99":{},"215":{},"285":{}},"component":{}}],["breakdown",{"_index":7627,"title":{},"name":{},"text":{"261":{}},"component":{}}],["breviti",{"_index":1234,"title":{},"name":{},"text":{"20":{},"51":{},"81":{}},"component":{}}],["bridg",{"_index":2221,"title":{},"name":{},"text":{"38":{},"92":{},"200":{},"210":{}},"component":{}}],["briefli",{"_index":7757,"title":{},"name":{},"text":{"276":{}},"component":{}}],["bring",{"_index":981,"title":{},"name":{},"text":{"6":{},"67":{},"82":{},"102":{},"140":{},"239":{},"281":{},"283":{}},"component":{}}],["broadcast",{"_index":6052,"title":{},"name":{},"text":{"140":{}},"component":{}}],["broader",{"_index":6028,"title":{},"name":{},"text":{"140":{}},"component":{}}],["broken",{"_index":3295,"title":{},"name":{},"text":{"66":{},"79":{},"271":{}},"component":{}}],["broker",{"_index":1528,"title":{},"name":{},"text":{"30":{},"46":{},"91":{},"277":{},"280":{},"284":{},"286":{}},"component":{}}],["brought",{"_index":4257,"title":{},"name":{},"text":{"67":{}},"component":{}}],["brows",{"_index":7307,"title":{},"name":{},"text":{"203":{}},"component":{}}],["browser",{"_index":6765,"title":{},"name":{},"text":{"172":{},"199":{},"201":{},"208":{},"270":{},"273":{},"283":{},"284":{}},"component":{}}],["bu",{"_index":904,"title":{"46":{},"38-7":{},"38-11":{},"46-1":{},"61-2":{},"63-1":{}},"name":{},"text":{"6":{},"32":{},"34":{},"36":{},"38":{},"42":{},"45":{},"46":{},"49":{},"51":{},"59":{},"61":{},"63":{},"72":{},"77":{},"88":{},"89":{},"92":{},"94":{},"102":{},"115":{},"121":{},"127":{},"129":{},"130":{},"262":{},"273":{},"274":{},"280":{}},"component":{}}],["bubbl",{"_index":4948,"title":{},"name":{},"text":{"84":{},"87":{},"89":{}},"component":{}}],["bucket",{"_index":6251,"title":{},"name":{},"text":{"145":{}},"component":{}}],["buffer",{"_index":2176,"title":{},"name":{},"text":{"38":{},"53":{},"63":{},"99":{},"121":{},"143":{},"163":{},"179":{}},"component":{}}],["buffercapac",{"_index":5524,"title":{},"name":{},"text":{"99":{}},"component":{}}],["bufferfactori",{"_index":5526,"title":{},"name":{},"text":{"99":{}},"component":{}}],["buffersize(4096",{"_index":2213,"title":{},"name":{},"text":{"38":{}},"component":{}}],["bug",{"_index":3270,"title":{"66-4":{},"66-10":{},"66-15":{},"66-20":{},"66-25":{},"66-29":{},"66-32":{},"66-35":{},"66-38":{},"66-41":{},"66-44":{},"67-4":{},"67-9":{},"67-13":{},"67-18":{},"67-21":{},"67-25":{},"67-31":{},"67-35":{},"67-39":{},"67-44":{},"67-47":{},"67-51":{},"67-55":{},"67-60":{},"67-63":{},"67-68":{},"67-71":{},"67-74":{},"67-77":{},"67-80":{},"67-84":{},"67-89":{},"67-93":{},"67-97":{},"67-99":{},"67-103":{},"67-105":{},"67-108":{},"119-4":{},"126-4":{},"140-3":{},"140-21":{},"141-21":{},"141-24":{},"141-27":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{}},"name":{},"text":{"66":{},"67":{},"140":{},"141":{},"145":{},"260":{}},"component":{}}],["build",{"_index":194,"title":{"3-9":{},"191-2":{}},"name":{},"text":{"3":{},"5":{},"7":{},"8":{},"13":{},"15":{},"20":{},"28":{},"30":{},"31":{},"34":{},"36":{},"38":{},"39":{},"40":{},"46":{},"49":{},"51":{},"53":{},"59":{},"61":{},"63":{},"66":{},"69":{},"72":{},"86":{},"87":{},"88":{},"94":{},"97":{},"99":{},"101":{},"102":{},"110":{},"113":{},"120":{},"123":{},"128":{},"144":{},"145":{},"191":{},"201":{},"210":{},"260":{},"267":{},"268":{},"269":{},"273":{},"274":{},"276":{},"279":{},"280":{},"281":{},"282":{},"285":{},"287":{}},"component":{}}],["build(str",{"_index":5098,"title":{},"name":{},"text":{"87":{}},"component":{}}],["buildconfigur",{"_index":2913,"title":{},"name":{},"text":{"57":{}},"component":{}}],["buildcontext",{"_index":2459,"title":{},"name":{},"text":{"44":{}},"component":{}}],["builder",{"_index":1082,"title":{"87-9":{}},"name":{},"text":{"15":{},"20":{},"31":{},"38":{},"40":{},"46":{},"49":{},"59":{},"66":{},"67":{},"88":{},"97":{},"99":{},"101":{},"102":{},"147":{}},"component":{}}],["builder.coordinatorexecutor(coordinatorexecutorbuild",{"_index":5272,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.initialsegmentcount(32",{"_index":5236,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.initialtoken",{"_index":5189,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.initialtoken(messagesourc",{"_index":5182,"title":{},"name":{},"text":{"88":{}},"component":{}}],["builder.tokenclaiminterval(2000",{"_index":5200,"title":{},"name":{},"text":{"88":{}},"component":{}}],["buildmultistreamablemessagesourc",{"_index":5362,"title":{},"name":{},"text":{"88":{}},"component":{}}],["buildscript",{"_index":1544,"title":{},"name":{},"text":{"30":{}},"component":{}}],["buildseri",{"_index":1678,"title":{},"name":{},"text":{"31":{}},"component":{}}],["built",{"_index":119,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"52":{},"88":{},"100":{},"111":{},"144":{},"191":{},"227":{},"236":{},"237":{},"246":{},"263":{},"264":{},"267":{},"269":{},"276":{}},"component":{}}],["bulk",{"_index":2060,"title":{},"name":{},"text":{"36":{}},"component":{}}],["bulki",{"_index":1453,"title":{},"name":{},"text":{"29":{}},"component":{}}],["bullet",{"_index":4909,"title":{},"name":{},"text":{"82":{},"84":{}},"component":{}}],["bunch",{"_index":2623,"title":{},"name":{},"text":{"46":{},"206":{}},"component":{}}],["bundl",{"_index":1371,"title":{},"name":{},"text":{"26":{},"148":{},"178":{}},"component":{}}],["bus/ev",{"_index":2519,"title":{},"name":{},"text":{"46":{}},"component":{}}],["bus/stor",{"_index":2518,"title":{},"name":{},"text":{"46":{}},"component":{}}],["buse",{"_index":1771,"title":{},"name":{},"text":{"32":{},"38":{},"66":{},"245":{},"274":{}},"component":{}}],["busi",{"_index":1180,"title":{"35-2":{}},"name":{},"text":{"18":{},"31":{},"34":{},"35":{},"38":{},"45":{},"49":{},"53":{},"58":{},"69":{},"70":{},"72":{},"77":{},"82":{},"84":{},"85":{},"87":{},"140":{},"145":{},"151":{},"261":{},"274":{},"279":{},"280":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{}},"component":{}}],["buss",{"_index":4498,"title":{},"name":{},"text":{"69":{}},"component":{}}],["busybox",{"_index":346,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["busyspinwaitstrategi",{"_index":2186,"title":{},"name":{},"text":{"38":{}},"component":{}}],["button",{"_index":5310,"title":{},"name":{},"text":{"88":{},"154":{},"165":{},"177":{},"232":{},"235":{},"237":{},"239":{},"242":{},"244":{},"245":{},"246":{},"247":{},"250":{},"257":{},"260":{},"262":{},"270":{},"273":{},"274":{},"276":{},"277":{},"283":{},"284":{}},"component":{}}],["buy",{"_index":4463,"title":{},"name":{},"text":{"69":{}},"component":{}}],["buyorderid",{"_index":4464,"title":{},"name":{},"text":{"69":{}},"component":{}}],["bydefaultassignhandlerinstancesto(funct",{"_index":5062,"title":{},"name":{},"text":{"87":{}},"component":{}}],["bydefaultassignhandlertypesto(funct",{"_index":5063,"title":{},"name":{},"text":{"87":{}},"component":{}}],["bydefaultassignto(str",{"_index":5061,"title":{},"name":{},"text":{"87":{}},"component":{}}],["bypass",{"_index":6484,"title":{},"name":{},"text":{"154":{}},"component":{}}],["bystam",{"_index":3307,"title":{},"name":{},"text":{"66":{}},"component":{}}],["byte",{"_index":1664,"title":{},"name":{},"text":{"31":{},"79":{},"101":{},"104":{},"280":{},"283":{}},"component":{}}],["bytea",{"_index":1435,"title":{"79-6":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["byteaenforcedpostgressqldialect",{"_index":4844,"title":{},"name":{},"text":{"79":{}},"component":{}}],["bytearrayinputstream",{"_index":1663,"title":{},"name":{},"text":{"31":{}},"component":{}}],["bytearrayoutputstream",{"_index":1662,"title":{},"name":{},"text":{"31":{}},"component":{}}],["bytebuff",{"_index":6852,"title":{},"name":{},"text":{"179":{}},"component":{}}],["c",{"_index":74,"title":{},"name":{},"text":{"2":{},"69":{},"71":{},"76":{},"147":{},"148":{},"156":{},"178":{},"200":{},"284":{}},"component":{}}],["c09d",{"_index":7915,"title":{},"name":{},"text":{"280":{}},"component":{}}],["c524b9ed553d",{"_index":7911,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["c61a95b",{"_index":4316,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ca",{"_index":6579,"title":{},"name":{},"text":{"168":{},"174":{}},"component":{}}],["cach",{"_index":304,"title":{"69-10":{},"71-8":{},"77-10":{}},"name":{},"text":{"3":{},"15":{},"36":{},"38":{},"46":{},"66":{},"67":{},"69":{},"71":{},"77":{},"94":{},"99":{},"148":{},"179":{},"191":{},"216":{}},"component":{}}],["cache#computeifpres",{"_index":4131,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cachedthreadpool",{"_index":2194,"title":{},"name":{},"text":{"38":{}},"component":{}}],["cachingeventsourcingrepositori",{"_index":2063,"title":{},"name":{},"text":{"36":{}},"component":{}}],["cachingsagastor",{"_index":4123,"title":{},"name":{},"text":{"67":{},"69":{},"71":{}},"component":{}}],["calcul",{"_index":2268,"title":{},"name":{},"text":{"38":{},"58":{},"66":{},"67":{},"88":{},"151":{},"197":{},"280":{}},"component":{}}],["calendar",{"_index":1003,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["california",{"_index":860,"title":{},"name":{},"text":{"5":{}},"component":{}}],["call",{"_index":161,"title":{"64-2":{}},"name":{},"text":{"2":{},"4":{},"6":{},"8":{},"13":{},"15":{},"18":{},"20":{},"23":{},"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"46":{},"50":{},"51":{},"52":{},"53":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"76":{},"77":{},"79":{},"80":{},"82":{},"85":{},"86":{},"87":{},"88":{},"94":{},"99":{},"104":{},"108":{},"111":{},"115":{},"121":{},"141":{},"142":{},"144":{},"145":{},"147":{},"149":{},"151":{},"157":{},"161":{},"165":{},"178":{},"189":{},"192":{},"199":{},"211":{},"221":{},"260":{},"262":{},"274":{},"279":{},"280":{},"281":{},"283":{},"285":{},"286":{},"289":{},"290":{}},"component":{}}],["callabl",{"_index":4878,"title":{},"name":{},"text":{"80":{},"82":{}},"component":{}}],["callback",{"_index":1876,"title":{},"name":{},"text":{"34":{},"38":{},"53":{},"66":{},"74":{}},"component":{}}],["callbackbehavior",{"_index":4679,"title":{},"name":{},"text":{"74":{}},"component":{}}],["callback’",{"_index":2201,"title":{},"name":{},"text":{"38":{}},"component":{}}],["caller",{"_index":2125,"title":{},"name":{},"text":{"38":{},"59":{},"121":{},"145":{},"178":{}},"component":{}}],["calll",{"_index":7893,"title":{},"name":{},"text":{"280":{}},"component":{}}],["camelcas",{"_index":6819,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cancel",{"_index":1178,"title":{"63-7":{}},"name":{},"text":{"18":{},"39":{},"40":{},"41":{},"53":{},"59":{},"63":{},"67":{},"97":{},"115":{},"121":{},"140":{},"145":{},"163":{},"250":{},"254":{},"288":{}},"component":{}}],["cancel_scheduled_ev",{"_index":6694,"title":{},"name":{},"text":{"171":{}},"component":{}}],["cancelal",{"_index":2294,"title":{},"name":{},"text":{"39":{},"66":{},"97":{}},"component":{}}],["cancelall(str",{"_index":2289,"title":{},"name":{},"text":{"39":{}},"component":{}}],["cancelallwithinscop",{"_index":3416,"title":{},"name":{},"text":{"66":{}},"component":{}}],["cancelallwithinscope(str",{"_index":2291,"title":{},"name":{},"text":{"39":{}},"component":{}}],["cancelmydeadline(str",{"_index":2287,"title":{},"name":{},"text":{"39":{}},"component":{}}],["candid",{"_index":4694,"title":{},"name":{},"text":{"75":{},"179":{}},"component":{}}],["cane",{"_index":3135,"title":{},"name":{},"text":{"62":{}},"component":{}}],["canhandle(@nonnul",{"_index":1345,"title":{},"name":{},"text":{"24":{}},"component":{}}],["cannotconvertbetweentypesexcept",{"_index":4339,"title":{},"name":{},"text":{"67":{}},"component":{}}],["canregisterbik",{"_index":8028,"title":{},"name":{},"text":{"285":{}},"component":{}}],["canupcast",{"_index":1702,"title":{},"name":{},"text":{"31":{},"44":{}},"component":{}}],["canupcast(intermediateeventrepresent",{"_index":2480,"title":{},"name":{},"text":{"44":{}},"component":{}}],["can’t",{"_index":5787,"title":{},"name":{},"text":{"120":{},"124":{},"215":{},"281":{}},"component":{}}],["capabilitydiscoverymod",{"_index":5915,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["capabilitydiscoverymode(capabilitydiscoverymod",{"_index":5940,"title":{},"name":{},"text":{"128":{}},"component":{}}],["capabilitydiscoverymode(resttempl",{"_index":5930,"title":{},"name":{},"text":{"128":{}},"component":{}}],["capabl",{"_index":84,"title":{},"name":{},"text":{"2":{},"28":{},"30":{},"34":{},"37":{},"38":{},"41":{},"43":{},"45":{},"46":{},"50":{},"51":{},"59":{},"62":{},"69":{},"70":{},"71":{},"73":{},"77":{},"78":{},"82":{},"84":{},"85":{},"88":{},"127":{},"128":{},"133":{},"137":{},"140":{},"146":{},"147":{},"156":{},"174":{},"190":{},"200":{},"228":{},"231":{},"238":{},"265":{},"274":{},"282":{}},"component":{}}],["capac",{"_index":2899,"title":{},"name":{},"text":{"57":{},"58":{},"99":{},"179":{},"246":{},"260":{},"261":{},"273":{},"274":{}},"component":{}}],["capacity/gaug",{"_index":2959,"title":{},"name":{},"text":{"57":{}},"component":{}}],["capacitymonitor",{"_index":2902,"title":{},"name":{},"text":{"57":{},"66":{}},"component":{}}],["capacitymonitor.buildmonitor",{"_index":2961,"title":{},"name":{},"text":{"57":{}},"component":{}}],["capacitymonitor1minut",{"_index":2960,"title":{},"name":{},"text":{"57":{}},"component":{}}],["captur",{"_index":2674,"title":{},"name":{},"text":{"49":{},"77":{},"202":{},"273":{}},"component":{}}],["card",{"_index":727,"title":{"5-6":{}},"name":{},"text":{"5":{},"18":{},"21":{},"40":{},"63":{},"64":{},"81":{},"82":{},"84":{},"85":{},"202":{},"203":{},"216":{},"249":{},"250":{}},"component":{}}],["card_id",{"_index":1270,"title":{},"name":{},"text":{"22":{}},"component":{}}],["cardid",{"_index":1856,"title":{},"name":{},"text":{"34":{},"35":{},"203":{}},"component":{}}],["cardin",{"_index":6469,"title":{},"name":{},"text":{"151":{}},"component":{}}],["cardissuedev",{"_index":2820,"title":{},"name":{},"text":{"51":{},"106":{},"108":{}},"component":{}}],["cardissuedevent(\"cardid",{"_index":2394,"title":{},"name":{},"text":{"42":{},"72":{}},"component":{}}],["cardissuedevent(cmd.getcardid",{"_index":1944,"title":{},"name":{},"text":{"35":{},"36":{},"42":{},"82":{}},"component":{}}],["cardissuedevent(v",{"_index":5664,"title":{},"name":{},"text":{"108":{}},"component":{}}],["cardissuedevent.class",{"_index":2821,"title":{},"name":{},"text":{"51":{}},"component":{}}],["cardissuedevent::class",{"_index":5637,"title":{},"name":{},"text":{"106":{}},"component":{}}],["cardredeemedevent(\"cardid",{"_index":4540,"title":{},"name":{},"text":{"72":{}},"component":{}}],["cardredeemedevent(giftcardid",{"_index":1190,"title":{},"name":{},"text":{"18":{}},"component":{}}],["cardredeemedevent(id",{"_index":1947,"title":{},"name":{},"text":{"35":{},"84":{},"85":{}},"component":{}}],["cardredeemedevent.class",{"_index":2791,"title":{},"name":{},"text":{"51":{}},"component":{}}],["cardreimbursedevent(cmd.getcardid",{"_index":4947,"title":{},"name":{},"text":{"84":{}},"component":{}}],["cardreplaycontext",{"_index":5354,"title":{},"name":{},"text":{"88":{}},"component":{}}],["cardrepositori",{"_index":3210,"title":{},"name":{},"text":{"63":{}},"component":{}}],["cardrepository.findal",{"_index":3208,"title":{},"name":{},"text":{"63":{}},"component":{}}],["cardsummari",{"_index":3117,"title":{},"name":{},"text":{"60":{},"63":{},"64":{}},"component":{}}],["cardsummary.class",{"_index":3159,"title":{},"name":{},"text":{"63":{}},"component":{}}],["cardsummaryid",{"_index":3235,"title":{},"name":{},"text":{"64":{}},"component":{}}],["cardsummaryproject",{"_index":2786,"title":{},"name":{},"text":{"51":{},"60":{},"63":{},"64":{},"88":{},"108":{}},"component":{}}],["cardsummarystorag",{"_index":3239,"title":{},"name":{},"text":{"64":{}},"component":{}}],["cardsummarystorage.get(query.getcardsummaryid",{"_index":3240,"title":{},"name":{},"text":{"64":{}},"component":{}}],["care",{"_index":248,"title":{},"name":{},"text":{"3":{},"38":{},"49":{},"87":{},"145":{},"147":{},"191":{},"219":{}},"component":{}}],["careful",{"_index":6315,"title":{},"name":{},"text":{"145":{}},"component":{}}],["carefulli",{"_index":333,"title":{},"name":{},"text":{"3":{},"31":{},"156":{},"191":{}},"component":{}}],["carri",{"_index":1931,"title":{},"name":{},"text":{"35":{},"38":{},"44":{},"47":{},"49":{},"66":{},"67":{},"82":{}},"component":{}}],["cascad",{"_index":974,"title":{},"name":{},"text":{"6":{},"85":{}},"component":{}}],["cascadetype.al",{"_index":4973,"title":{},"name":{},"text":{"85":{}},"component":{}}],["case",{"_index":324,"title":{"14":{},"18":{},"151-7":{}},"name":{},"text":{"3":{},"15":{},"18":{},"19":{},"21":{},"24":{},"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"46":{},"47":{},"49":{},"50":{},"51":{},"52":{},"53":{},"58":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"80":{},"81":{},"83":{},"84":{},"87":{},"88":{},"89":{},"102":{},"108":{},"111":{},"115":{},"121":{},"124":{},"128":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"149":{},"150":{},"151":{},"156":{},"161":{},"163":{},"168":{},"172":{},"174":{},"176":{},"178":{},"179":{},"184":{},"185":{},"191":{},"192":{},"202":{},"203":{},"208":{},"211":{},"212":{},"214":{},"219":{},"224":{},"237":{},"238":{},"241":{},"250":{},"260":{},"261":{},"266":{},"268":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"284":{},"285":{},"289":{}},"component":{}}],["cast",{"_index":2107,"title":{},"name":{},"text":{"38":{},"44":{},"115":{}},"component":{}}],["caster",{"_index":6250,"title":{},"name":{},"text":{"145":{}},"component":{}}],["casttype(int",{"_index":4850,"title":{},"name":{},"text":{"79":{}},"component":{}}],["catalogu",{"_index":996,"title":{},"name":{},"text":{"8":{},"13":{},"287":{}},"component":{}}],["catch",{"_index":2796,"title":{},"name":{},"text":{"51":{},"53":{},"66":{},"67":{},"68":{},"87":{},"99":{},"141":{}},"component":{}}],["categori",{"_index":7589,"title":{},"name":{},"text":{"244":{},"265":{},"272":{},"273":{},"274":{}},"component":{}}],["cater",{"_index":7548,"title":{},"name":{},"text":{"227":{},"236":{}},"component":{}}],["caught",{"_index":2971,"title":{},"name":{},"text":{"58":{},"67":{},"87":{},"88":{},"179":{}},"component":{}}],["caughtup",{"_index":4070,"title":{},"name":{},"text":{"67":{}},"component":{}}],["caus",{"_index":1035,"title":{},"name":{},"text":{"14":{},"16":{},"29":{},"38":{},"47":{},"49":{},"53":{},"56":{},"63":{},"66":{},"67":{},"77":{},"86":{},"87":{},"88":{},"126":{},"127":{},"141":{},"142":{},"144":{},"149":{},"168":{},"174":{},"215":{},"257":{},"260":{},"264":{},"266":{},"268":{},"269":{},"270":{},"274":{},"277":{}},"component":{}}],["causat",{"_index":3021,"title":{},"name":{},"text":{"59":{}},"component":{}}],["caution",{"_index":6443,"title":{},"name":{},"text":{"151":{},"178":{}},"component":{}}],["caveat",{"_index":2293,"title":{},"name":{},"text":{"39":{},"151":{}},"component":{}}],["cbor",{"_index":3325,"title":{},"name":{},"text":{"66":{}},"component":{}}],["ccpa",{"_index":863,"title":{},"name":{},"text":{"5":{}},"component":{}}],["cd",{"_index":7254,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["cdi",{"_index":1470,"title":{"30-18":{}},"name":{},"text":{"30":{}},"component":{}}],["center",{"_index":6498,"title":{},"name":{},"text":{"156":{},"246":{},"274":{}},"component":{}}],["central",{"_index":905,"title":{},"name":{},"text":{"6":{},"30":{},"121":{},"201":{},"274":{}},"component":{}}],["centric",{"_index":2898,"title":{},"name":{},"text":{"57":{}},"component":{}}],["cert",{"_index":6799,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["certain",{"_index":1264,"title":{},"name":{},"text":{"21":{},"32":{},"34":{},"36":{},"39":{},"41":{},"42":{},"46":{},"47":{},"49":{},"59":{},"62":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"88":{},"102":{},"114":{},"115":{},"124":{},"132":{},"145":{},"151":{},"156":{},"262":{},"269":{},"270":{},"271":{},"274":{},"276":{},"280":{}},"component":{}}],["certainti",{"_index":2657,"title":{},"name":{},"text":{"48":{},"66":{},"77":{},"285":{}},"component":{}}],["certif",{"_index":489,"title":{"140-10":{}},"name":{},"text":{"3":{},"140":{},"141":{},"168":{},"174":{},"176":{},"178":{},"179":{},"191":{},"206":{}},"component":{}}],["cfd7304a",{"_index":6562,"title":{},"name":{},"text":{"166":{}},"component":{}}],["chain",{"_index":1695,"title":{"206-5":{}},"name":{},"text":{"31":{},"34":{},"44":{},"46":{},"50":{},"51":{},"52":{},"63":{},"67":{},"101":{},"133":{},"176":{},"179":{},"215":{}},"component":{}}],["chain’",{"_index":1707,"title":{},"name":{},"text":{"31":{}},"component":{}}],["challeng",{"_index":1407,"title":{},"name":{},"text":{"29":{},"48":{},"265":{}},"component":{}}],["chanc",{"_index":1607,"title":{},"name":{},"text":{"31":{},"66":{},"76":{},"88":{},"128":{},"157":{},"244":{}},"component":{}}],["chang",{"_index":287,"title":{"35-2":{},"66-7":{},"79-4":{},"140-4":{},"156-6":{},"250-3":{}},"name":{},"text":{"3":{},"4":{},"6":{},"10":{},"12":{},"14":{},"16":{},"17":{},"18":{},"20":{},"21":{},"25":{},"31":{},"33":{},"35":{},"36":{},"37":{},"38":{},"44":{},"46":{},"47":{},"49":{},"53":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"93":{},"94":{},"95":{},"98":{},"101":{},"103":{},"104":{},"107":{},"109":{},"112":{},"119":{},"120":{},"122":{},"123":{},"124":{},"126":{},"127":{},"128":{},"131":{},"134":{},"140":{},"142":{},"143":{},"145":{},"147":{},"149":{},"151":{},"156":{},"157":{},"165":{},"168":{},"174":{},"178":{},"179":{},"180":{},"191":{},"192":{},"197":{},"206":{},"221":{},"226":{},"232":{},"239":{},"250":{},"254":{},"255":{},"260":{},"262":{},"268":{},"269":{},"270":{},"273":{},"274":{},"280":{},"281":{},"282":{},"283":{},"286":{},"287":{},"288":{},"289":{},"290":{}},"component":{}}],["changelist",{"_index":4309,"title":{},"name":{},"text":{"67":{}},"component":{}}],["changepend",{"_index":6560,"title":{},"name":{},"text":{"166":{},"169":{},"192":{}},"component":{}}],["channel",{"_index":1494,"title":{},"name":{},"text":{"30":{},"90":{},"92":{},"94":{},"144":{},"262":{}},"component":{}}],["channel(channel",{"_index":5443,"title":{},"name":{},"text":{"94":{}},"component":{}}],["chao",{"_index":7670,"title":{},"name":{},"text":{"270":{},"272":{}},"component":{}}],["chapter",{"_index":2426,"title":{},"name":{},"text":{"44":{},"52":{},"64":{},"72":{},"82":{},"84":{},"86":{},"88":{},"145":{}},"component":{}}],["charact",{"_index":1640,"title":{},"name":{},"text":{"31":{},"36":{},"67":{},"79":{},"141":{},"195":{}},"component":{}}],["characterist",{"_index":2131,"title":{},"name":{},"text":{"38":{},"46":{},"102":{},"164":{},"284":{}},"component":{}}],["charg",{"_index":1585,"title":{},"name":{},"text":{"31":{},"38":{},"44":{},"50":{},"51":{},"52":{},"64":{},"67":{},"87":{},"88":{},"127":{},"130":{},"199":{},"249":{},"250":{},"259":{}},"component":{}}],["check",{"_index":823,"title":{"145-22":{},"199-6":{}},"name":{},"text":{"5":{},"18":{},"20":{},"22":{},"24":{},"29":{},"30":{},"31":{},"38":{},"44":{},"46":{},"48":{},"49":{},"51":{},"56":{},"58":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"82":{},"83":{},"84":{},"87":{},"88":{},"90":{},"99":{},"102":{},"115":{},"127":{},"141":{},"144":{},"145":{},"147":{},"148":{},"156":{},"161":{},"162":{},"165":{},"167":{},"168":{},"169":{},"174":{},"176":{},"178":{},"179":{},"185":{},"189":{},"199":{},"218":{},"249":{},"259":{},"262":{},"273":{},"274":{},"276":{},"280":{},"282":{},"283":{},"285":{}},"component":{}}],["checkbox",{"_index":7684,"title":{},"name":{},"text":{"270":{},"274":{}},"component":{}}],["checker",{"_index":6928,"title":{},"name":{},"text":{"179":{}},"component":{}}],["child",{"_index":2755,"title":{},"name":{},"text":{"51":{},"59":{},"66":{},"80":{},"81":{},"84":{}},"component":{}}],["childaggreg",{"_index":4872,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregate(str",{"_index":4880,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregate.class",{"_index":4876,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregatecreatedev",{"_index":4883,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childaggregatecreatedevent(aggregateid",{"_index":4882,"title":{},"name":{},"text":{"80":{}},"component":{}}],["childent",{"_index":4323,"title":{},"name":{},"text":{"67":{}},"component":{}}],["children",{"_index":4896,"title":{},"name":{},"text":{"81":{}},"component":{}}],["choic",{"_index":1212,"title":{},"name":{},"text":{"19":{},"29":{},"35":{},"36":{},"58":{},"59":{},"69":{},"71":{},"72":{},"88":{},"102":{},"129":{},"145":{},"247":{}},"component":{}}],["choos",{"_index":679,"title":{},"name":{},"text":{"3":{},"5":{},"15":{},"19":{},"27":{},"31":{},"36":{},"38":{},"44":{},"46":{},"51":{},"53":{},"63":{},"66":{},"69":{},"71":{},"77":{},"87":{},"88":{},"94":{},"127":{},"140":{},"142":{},"145":{},"151":{},"156":{},"169":{},"172":{},"191":{},"232":{},"238":{},"239":{},"250":{},"260":{},"263":{},"267":{},"268":{},"276":{},"277":{}},"component":{}}],["choosen",{"_index":7891,"title":{},"name":{},"text":{"280":{}},"component":{}}],["chose",{"_index":1582,"title":{},"name":{},"text":{"31":{},"120":{},"140":{}},"component":{}}],["chosen",{"_index":2404,"title":{},"name":{},"text":{"43":{},"64":{},"88":{},"144":{},"150":{},"260":{},"274":{},"281":{}},"component":{}}],["chown",{"_index":363,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["chown=axonserv",{"_index":369,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["christian",{"_index":3743,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["chronounit.days).truncatedto(chronounit.day",{"_index":1243,"title":{},"name":{},"text":{"20":{}},"component":{}}],["chunk",{"_index":3214,"title":{},"name":{},"text":{"63":{},"79":{},"179":{}},"component":{}}],["circl",{"_index":7732,"title":{},"name":{},"text":{"274":{}},"component":{}}],["circular",{"_index":4261,"title":{},"name":{},"text":{"67":{}},"component":{}}],["circumst",{"_index":2399,"title":{},"name":{},"text":{"43":{},"46":{},"49":{},"64":{},"72":{}},"component":{}}],["citi",{"_index":7912,"title":{},"name":{},"text":{"280":{},"285":{}},"component":{}}],["claim",{"_index":2185,"title":{"88-9":{}},"name":{},"text":{"38":{},"66":{},"67":{},"79":{},"88":{},"114":{},"144":{},"180":{},"246":{},"260":{},"261":{},"262":{},"274":{},"288":{}},"component":{}}],["claimextensionthreshold",{"_index":5195,"title":{},"name":{},"text":{"88":{}},"component":{}}],["claimextensionthreshold(3000",{"_index":5201,"title":{},"name":{},"text":{"88":{}},"component":{}}],["claimtimeout",{"_index":3372,"title":{},"name":{},"text":{"66":{},"88":{}},"component":{}}],["clarif",{"_index":2114,"title":{},"name":{},"text":{"38":{}},"component":{}}],["clarifi",{"_index":4039,"title":{},"name":{},"text":{"67":{},"88":{}},"component":{}}],["clariti",{"_index":3255,"title":{},"name":{},"text":{"64":{},"86":{},"140":{}},"component":{}}],["class",{"_index":1030,"title":{"31-3":{},"280-3":{},"281-5":{}},"name":{},"text":{"14":{},"15":{},"17":{},"20":{},"22":{},"23":{},"24":{},"26":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"97":{},"99":{},"101":{},"102":{},"105":{},"106":{},"108":{},"110":{},"113":{},"115":{},"121":{},"128":{},"132":{},"144":{},"147":{},"148":{},"179":{},"189":{},"239":{},"276":{},"279":{},"280":{},"281":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["classcastexcept",{"_index":2108,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["classic",{"_index":3899,"title":{},"name":{},"text":{"67":{}},"component":{}}],["classifi",{"_index":6432,"title":{},"name":{},"text":{"151":{}},"component":{}}],["classload",{"_index":1303,"title":{},"name":{},"text":{"23":{},"26":{},"66":{}},"component":{}}],["classnotfoundexcept",{"_index":4174,"title":{},"name":{},"text":{"67":{}},"component":{}}],["classpath",{"_index":1299,"title":{},"name":{},"text":{"23":{},"30":{},"32":{},"46":{},"51":{},"57":{},"66":{},"69":{},"79":{},"91":{},"94":{},"100":{},"120":{},"129":{},"144":{},"163":{},"276":{}},"component":{}}],["claus",{"_index":4530,"title":{},"name":{},"text":{"72":{}},"component":{}}],["clazz",{"_index":5590,"title":{},"name":{},"text":{"102":{}},"component":{}}],["clazz.isassignablefrom(kafkaeventpublisher.class",{"_index":5591,"title":{},"name":{},"text":{"102":{}},"component":{}}],["clean",{"_index":2848,"title":{"145-14":{}},"name":{},"text":{"53":{},"66":{},"88":{},"140":{},"141":{},"145":{},"154":{},"177":{},"179":{}},"component":{}}],["clean/uniniti",{"_index":6479,"title":{},"name":{},"text":{"154":{}},"component":{}}],["cleaner",{"_index":1533,"title":{},"name":{},"text":{"30":{},"35":{},"88":{}},"component":{}}],["cleanup",{"_index":2881,"title":{},"name":{},"text":{"53":{},"67":{},"179":{}},"component":{}}],["clear",{"_index":922,"title":{},"name":{},"text":{"6":{},"46":{},"49":{},"59":{},"66":{},"67":{},"69":{},"72":{},"79":{},"88":{},"94":{},"141":{},"157":{},"179":{},"260":{},"264":{}},"component":{}}],["clearer",{"_index":2654,"title":{},"name":{},"text":{"48":{}},"component":{}}],["clearli",{"_index":2076,"title":{},"name":{},"text":{"38":{},"46":{},"66":{},"74":{},"82":{},"156":{},"272":{}},"component":{}}],["cli",{"_index":485,"title":{"167":{},"168-1":{},"174-1":{}},"name":{"167":{}},"text":{"3":{},"140":{},"143":{},"147":{},"166":{},"167":{},"168":{},"169":{},"172":{},"173":{},"174":{},"175":{},"191":{},"192":{}},"component":{}}],["cli.jar",{"_index":396,"title":{},"name":{},"text":{"3":{},"147":{},"148":{},"156":{},"168":{},"169":{},"174":{},"178":{},"191":{},"192":{}},"component":{}}],["click",{"_index":753,"title":{},"name":{},"text":{"5":{},"29":{},"59":{},"88":{},"156":{},"165":{},"201":{},"231":{},"232":{},"235":{},"237":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"250":{},"257":{},"260":{},"262":{},"267":{},"270":{},"273":{},"274":{},"276":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["clickabl",{"_index":7634,"title":{},"name":{},"text":{"262":{}},"component":{}}],["client",{"_index":395,"title":{"168":{},"140-17":{},"143-1":{},"150-6":{},"168-1":{},"176-1":{},"206-30":{},"221-9":{},"224-2":{},"224-3":{},"224-4":{},"274-4":{},"276-2":{}},"name":{"168":{},"222":{},"223":{}},"text":{"3":{},"5":{},"38":{},"39":{},"46":{},"49":{},"60":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"76":{},"89":{},"99":{},"102":{},"104":{},"120":{},"133":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"149":{},"150":{},"154":{},"156":{},"157":{},"162":{},"163":{},"166":{},"167":{},"168":{},"172":{},"175":{},"176":{},"179":{},"180":{},"186":{},"189":{},"191":{},"192":{},"204":{},"206":{},"207":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"219":{},"221":{},"224":{},"229":{},"245":{},"257":{},"274":{},"276":{},"283":{},"289":{},"290":{}},"component":{}}],["client.vers",{"_index":7745,"title":{},"name":{},"text":{"276":{}},"component":{}}],["clientauthenticationid",{"_index":7493,"title":{},"name":{},"text":{"215":{}},"component":{}}],["clientid",{"_index":1650,"title":{},"name":{},"text":{"31":{},"202":{},"211":{},"212":{},"214":{}},"component":{}}],["clientinstance.getisrun",{"_index":6227,"title":{},"name":{},"text":{"144":{}},"component":{}}],["clipboard",{"_index":6091,"title":{},"name":{},"text":{"141":{}},"component":{}}],["clob",{"_index":1423,"title":{},"name":{},"text":{"29":{},"79":{}},"component":{}}],["clock",{"_index":2314,"title":{},"name":{},"text":{"39":{},"74":{}},"component":{}}],["clock.systemutc",{"_index":2317,"title":{},"name":{},"text":{"39":{}},"component":{}}],["close",{"_index":1676,"title":{},"name":{},"text":{"31":{},"63":{},"66":{},"67":{},"68":{},"69":{},"88":{},"99":{},"102":{},"121":{},"140":{},"141":{},"142":{},"151":{},"179":{},"206":{},"215":{},"260":{},"281":{}},"component":{}}],["closedloopgiftcard",{"_index":4890,"title":{},"name":{},"text":{"81":{}},"component":{}}],["closest",{"_index":4334,"title":{},"name":{},"text":{"67":{}},"component":{}}],["closetimeout",{"_index":5565,"title":{},"name":{},"text":{"102":{}},"component":{}}],["closetimeout(closetimeout",{"_index":5569,"title":{},"name":{},"text":{"102":{}},"component":{}}],["closur",{"_index":3582,"title":{},"name":{},"text":{"66":{}},"component":{}}],["cloud",{"_index":30,"title":{"129":{},"131":{},"30-34":{},"30-35":{}},"name":{},"text":{"1":{},"5":{},"30":{},"38":{},"94":{},"101":{},"117":{},"127":{},"128":{},"129":{},"131":{},"150":{},"189":{},"199":{},"206":{}},"component":{"127":{},"128":{},"129":{},"130":{},"131":{}}}],["cloud.en",{"_index":5954,"title":{},"name":{},"text":{"128":{}},"component":{}}],["cloud.mode=rest",{"_index":5951,"title":{},"name":{},"text":{"128":{}},"component":{}}],["cloud.rest",{"_index":5952,"title":{},"name":{},"text":{"128":{}},"component":{}}],["cloud_ev",{"_index":5596,"title":{},"name":{},"text":{"104":{}},"component":{}}],["cloudev",{"_index":5597,"title":{},"name":{},"text":{"104":{}},"component":{}}],["cloudeventkafkamessageconvert",{"_index":5554,"title":{},"name":{},"text":{"101":{},"104":{}},"component":{}}],["cloud’",{"_index":5910,"title":{},"name":{},"text":{"127":{}},"component":{}}],["cluster",{"_index":99,"title":{"154":{},"155":{},"177":{},"140-18":{},"142-3":{},"143-8":{},"145-15":{},"154-4":{},"178-8":{},"192-3":{},"192-4":{},"192-5":{},"192-9":{},"199-5":{},"232-3":{}},"name":{"154":{},"177":{}},"text":{"2":{},"3":{},"4":{},"5":{},"40":{},"82":{},"94":{},"96":{},"127":{},"137":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"149":{},"151":{},"154":{},"155":{},"156":{},"157":{},"161":{},"162":{},"163":{},"167":{},"169":{},"170":{},"172":{},"174":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"185":{},"187":{},"191":{},"192":{},"199":{},"221":{},"232":{},"241":{},"250":{},"262":{}},"component":{}}],["cluster.auto",{"_index":6933,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.balanc",{"_index":6934,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.command",{"_index":6945,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.connect",{"_index":6927,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.metr",{"_index":6929,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.queri",{"_index":6944,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster.rebal",{"_index":6931,"title":{},"name":{},"text":{"179":{}},"component":{}}],["cluster/context",{"_index":429,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["clusterip",{"_index":645,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["clusternam",{"_index":5436,"title":{},"name":{},"text":{"94":{}},"component":{}}],["clustername(\"mycommandbu",{"_index":5444,"title":{},"name":{},"text":{"94":{}},"component":{}}],["cluster’",{"_index":6490,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["clutter",{"_index":6054,"title":{},"name":{},"text":{"140":{}},"component":{}}],["cmd",{"_index":1929,"title":{},"name":{},"text":{"35":{},"36":{},"39":{},"42":{},"82":{},"84":{},"85":{}},"component":{}}],["cmd.getamount",{"_index":1945,"title":{},"name":{},"text":{"35":{},"36":{},"42":{},"82":{},"84":{},"85":{}},"component":{}}],["cmd.gettransactionid",{"_index":1948,"title":{},"name":{},"text":{"35":{},"84":{},"85":{}},"component":{}}],["cmdmsg",{"_index":1862,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg",{"_index":1863,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg.exceptionresult",{"_index":1865,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg.getpayload",{"_index":1867,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cmdresultmsg.isexcept",{"_index":1864,"title":{},"name":{},"text":{"34":{}},"component":{}}],["cn=admin,dc=demo,dc=io",{"_index":6620,"title":{},"name":{},"text":{"170":{}},"component":{}}],["coda",{"_index":1499,"title":{},"name":{},"text":{"30":{}},"component":{}}],["code",{"_index":1072,"title":{"143":{}},"name":{"143":{}},"text":{"15":{},"16":{},"30":{},"33":{},"34":{},"37":{},"46":{},"51":{},"57":{},"62":{},"63":{},"66":{},"68":{},"72":{},"74":{},"77":{},"82":{},"85":{},"140":{},"143":{},"144":{},"145":{},"150":{},"166":{},"176":{},"177":{},"181":{},"185":{},"202":{},"216":{},"217":{},"219":{},"261":{},"274":{},"275":{},"279":{},"280":{},"281":{},"283":{},"285":{},"287":{}},"component":{}}],["codebas",{"_index":1828,"title":{},"name":{},"text":{"33":{}},"component":{}}],["codedrivenmitch",{"_index":3358,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["cohes",{"_index":881,"title":{},"name":{},"text":{"6":{}},"component":{}}],["cold",{"_index":6434,"title":{},"name":{},"text":{"151":{}},"component":{}}],["collabor",{"_index":4840,"title":{},"name":{},"text":{"79":{},"88":{}},"component":{}}],["colleagu",{"_index":7659,"title":{},"name":{},"text":{"265":{},"277":{}},"component":{}}],["collect",{"_index":992,"title":{},"name":{},"text":{"8":{},"10":{},"11":{},"13":{},"15":{},"24":{},"30":{},"31":{},"44":{},"46":{},"57":{},"59":{},"64":{},"66":{},"67":{},"69":{},"71":{},"84":{},"86":{},"88":{},"99":{},"111":{},"114":{},"141":{},"145":{},"179":{},"186":{},"187":{},"199":{},"202":{},"237":{},"238":{},"241":{},"261":{},"262":{},"264":{},"274":{},"276":{},"280":{}},"component":{}}],["collect(collectors.tolist",{"_index":2948,"title":{},"name":{},"text":{"57":{}},"component":{}}],["collections.emptymap",{"_index":3040,"title":{},"name":{},"text":{"59":{}},"component":{}}],["collector",{"_index":3048,"title":{},"name":{},"text":{"59":{},"140":{},"179":{},"261":{}},"component":{}}],["color",{"_index":779,"title":{},"name":{},"text":{"5":{}},"component":{}}],["column",{"_index":1419,"title":{"79-3":{},"79-6":{}},"name":{},"text":{"29":{},"66":{},"67":{},"68":{},"79":{},"88":{},"140":{},"242":{},"246":{},"255":{},"257":{},"260":{},"273":{},"274":{},"283":{}},"component":{}}],["columntype(int",{"_index":4846,"title":{},"name":{},"text":{"79":{}},"component":{}}],["com.fasterxml.jackson.databind.jsonnod",{"_index":5633,"title":{},"name":{},"text":{"106":{}},"component":{}}],["com.fasterxml.jackson.databind.jsonnode.class",{"_index":2490,"title":{},"name":{},"text":{"44":{}},"component":{}}],["coma",{"_index":5697,"title":{},"name":{},"text":{"115":{}},"component":{}}],["comand",{"_index":8055,"title":{},"name":{},"text":{"288":{}},"component":{}}],["combin",{"_index":1134,"title":{"46-10":{},"59-5":{}},"name":{},"text":{"16":{},"29":{},"33":{},"34":{},"44":{},"49":{},"50":{},"51":{},"57":{},"60":{},"61":{},"63":{},"67":{},"72":{},"79":{},"82":{},"88":{},"89":{},"94":{},"99":{},"100":{},"111":{},"119":{},"129":{},"140":{},"147":{},"151":{},"167":{},"178":{},"189":{},"204":{},"206":{},"284":{}},"component":{}}],["come",{"_index":1430,"title":{},"name":{},"text":{"29":{},"31":{},"36":{},"38":{},"39":{},"44":{},"46":{},"47":{},"48":{},"51":{},"53":{},"57":{},"59":{},"60":{},"61":{},"64":{},"66":{},"67":{},"72":{},"77":{},"79":{},"87":{},"88":{},"94":{},"99":{},"127":{},"151":{},"156":{},"157":{},"192":{},"206":{},"224":{},"260":{},"264":{},"270":{},"271":{},"274":{},"280":{}},"component":{}}],["comfort",{"_index":172,"title":{},"name":{},"text":{"2":{}},"component":{}}],["comma",{"_index":5466,"title":{},"name":{},"text":{"96":{},"147":{},"161":{},"168":{},"172":{},"174":{},"178":{},"192":{},"206":{},"208":{}},"component":{}}],["command",{"_index":234,"title":{"34":{},"35":{},"37":{},"72":{},"75":{},"105":{},"127":{},"130":{},"178":{},"211":{},"216":{},"285":{},"289":{},"34-3":{},"35-1":{},"35-4":{},"35-5":{},"36-2":{},"36-3":{},"38-6":{},"38-7":{},"38-11":{},"49-1":{},"51-1":{},"51-2":{},"51-4":{},"52-1":{},"59-26":{},"72-1":{},"72-6":{},"75-1":{},"84-1":{},"121-2":{},"143-3":{},"147-7":{},"178-4":{},"179-2":{},"186-1":{},"202-3":{},"202-5":{},"203-3":{},"211-4":{},"211-5":{},"211-6":{},"221-3":{},"280-14":{},"281-3":{},"281-4":{},"281-6":{},"283-2":{},"283-5":{},"285-2":{},"285-4":{},"289-4":{},"289-5":{}},"name":{"34":{},"35":{},"72":{},"75":{},"105":{},"127":{},"130":{},"178":{},"211":{},"216":{},"285":{}},"text":{"3":{},"5":{},"18":{},"20":{},"23":{},"24":{},"27":{},"28":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"42":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"72":{},"73":{},"74":{},"75":{},"77":{},"78":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"88":{},"94":{},"97":{},"105":{},"107":{},"115":{},"121":{},"126":{},"127":{},"128":{},"129":{},"130":{},"132":{},"133":{},"140":{},"143":{},"147":{},"148":{},"150":{},"154":{},"156":{},"157":{},"161":{},"168":{},"169":{},"173":{},"174":{},"178":{},"179":{},"181":{},"185":{},"186":{},"191":{},"192":{},"194":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"208":{},"209":{},"211":{},"213":{},"214":{},"215":{},"216":{},"218":{},"219":{},"221":{},"224":{},"242":{},"243":{},"261":{},"262":{},"266":{},"270":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{}},"component":{}}],["command.amount",{"_index":1191,"title":{},"name":{},"text":{"18":{},"20":{}},"component":{}}],["command.biketyp",{"_index":7966,"title":{},"name":{},"text":{"281":{}},"component":{}}],["command.daysvalid",{"_index":1239,"title":{},"name":{},"text":{"20":{}},"component":{}}],["command.loc",{"_index":7967,"title":{},"name":{},"text":{"281":{}},"component":{}}],["command/queri",{"_index":2660,"title":{},"name":{},"text":{"48":{}},"component":{}}],["commandbodi",{"_index":5808,"title":{},"name":{},"text":{"121":{}},"component":{}}],["commandbu",{"_index":1497,"title":{"34-1":{}},"name":{},"text":{"30":{},"34":{},"38":{},"51":{},"53":{},"57":{},"59":{},"69":{},"74":{},"94":{},"115":{},"128":{},"130":{},"245":{},"261":{}},"component":{}}],["commandbus#dispatch(commandmessag",{"_index":1874,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus().registerhandlerinterceptor",{"_index":2217,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandbus(commandbu",{"_index":2129,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandbus.dispatch",{"_index":1860,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus.dispatch(commandmessag",{"_index":1881,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus.dispatch(genericcommandmessage.ascommandmessage(new",{"_index":1857,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbus.registerdispatchinterceptor(new",{"_index":2729,"title":{},"name":{},"text":{"51":{}},"component":{}}],["commandbus.registerhandlerinterceptor",{"_index":2143,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandbus.registerhandlerinterceptor(new",{"_index":2214,"title":{},"name":{},"text":{"38":{},"51":{}},"component":{}}],["commandbus.subscribe(anothercommandtype.class.getnam",{"_index":5450,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commandbus.subscribe(commandtype.class.getnam",{"_index":5448,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commandbus.updateloadfactor(150",{"_index":5452,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commandbus/commandgateway",{"_index":1920,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandbusclass}.dispatch(${commandnam",{"_index":3068,"title":{},"name":{},"text":{"59":{}},"component":{}}],["commandbusclass}.handle(${commandnam",{"_index":3069,"title":{},"name":{},"text":{"59":{}},"component":{}}],["commandbusconfigur",{"_index":2726,"title":{},"name":{},"text":{"51":{}},"component":{}}],["commandbusconnector",{"_index":2266,"title":{},"name":{},"text":{"38":{},"94":{},"128":{},"129":{},"130":{}},"component":{}}],["commandbuscorrelationconfigurermodul",{"_index":2153,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandcallback",{"_index":1854,"title":{"38-5":{}},"name":{},"text":{"34":{},"38":{},"66":{},"105":{}},"component":{}}],["commandcallback`",{"_index":2088,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commanddispatch",{"_index":1868,"title":{},"name":{},"text":{"34":{},"121":{}},"component":{}}],["commanddispatcher(priv",{"_index":5623,"title":{},"name":{},"text":{"105":{}},"component":{}}],["commanddispatchinterceptor",{"_index":2067,"title":{"38-4":{}},"name":{},"text":{},"component":{}}],["commanddispatchinterceptor`",{"_index":2087,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandexecutionexcept",{"_index":2110,"title":{},"name":{},"text":{"38":{},"48":{}},"component":{}}],["commandgateway",{"_index":1849,"title":{"34-2":{},"38-1":{},"38-2":{},"105-1":{}},"name":{},"text":{"34":{},"38":{},"66":{},"67":{},"68":{},"69":{},"88":{},"105":{},"133":{},"280":{},"281":{},"283":{},"286":{},"289":{}},"component":{}}],["commandgateway#send",{"_index":4235,"title":{},"name":{},"text":{"67":{},"130":{}},"component":{}}],["commandgateway#send(object",{"_index":1897,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandgateway#sendandwait",{"_index":4236,"title":{},"name":{},"text":{"67":{}},"component":{}}],["commandgateway#sendandwait(object",{"_index":1907,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandgateway.send",{"_index":5627,"title":{},"name":{},"text":{"105":{}},"component":{}}],["commandgateway.send(new",{"_index":1894,"title":{},"name":{},"text":{"34":{},"68":{},"286":{},"289":{}},"component":{}}],["commandgateway.send(registerbikecommand",{"_index":7985,"title":{},"name":{},"text":{"281":{}},"component":{}}],["commandgateway.sendandwait(commandpayload",{"_index":1904,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandgateway.sendandwait(new",{"_index":3178,"title":{},"name":{},"text":{"63":{}},"component":{}}],["commandgatewayfactori",{"_index":2068,"title":{"38-6":{}},"name":{},"text":{"38":{}},"component":{}}],["commandgatewayfactory.build",{"_index":2128,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandhandl",{"_index":1186,"title":{},"name":{},"text":{"18":{},"20":{},"27":{},"34":{},"35":{},"36":{},"42":{},"52":{},"66":{},"72":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"97":{},"280":{},"281":{},"288":{},"289":{}},"component":{}}],["commandhandler(payloadtyp",{"_index":1378,"title":{},"name":{},"text":{"27":{}},"component":{}}],["commandhandler`",{"_index":4888,"title":{},"name":{},"text":{"81":{}},"component":{}}],["commandhandlerinterceptor",{"_index":2715,"title":{"51-5":{}},"name":{},"text":{"51":{},"52":{},"67":{}},"component":{}}],["commandhandlerinterceptor`",{"_index":2133,"title":{},"name":{},"text":{"38":{},"81":{}},"component":{}}],["commandhandlingexcept",{"_index":4289,"title":{},"name":{},"text":{"67":{}},"component":{}}],["commandlin",{"_index":6570,"title":{},"name":{},"text":{"168":{}},"component":{}}],["commandloadfactorprovid",{"_index":2257,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandmessag",{"_index":1322,"title":{},"name":{},"text":{"24":{},"34":{},"38":{},"49":{},"50":{},"51":{},"52":{},"72":{},"105":{}},"component":{}}],["commandmessage`",{"_index":2095,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandmessage’",{"_index":2235,"title":{},"name":{},"text":{"38":{}},"component":{}}],["commandnam",{"_index":1381,"title":{},"name":{},"text":{"27":{},"35":{},"211":{}},"component":{}}],["commandnamepattern",{"_index":2756,"title":{},"name":{},"text":{"51":{}},"component":{}}],["commandpayload",{"_index":1902,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandpublish",{"_index":5811,"title":{},"name":{},"text":{"121":{}},"component":{}}],["commandresult",{"_index":1866,"title":{},"name":{},"text":{"34":{},"281":{}},"component":{}}],["commandresultmessag",{"_index":1878,"title":{},"name":{},"text":{"34":{},"38":{},"66":{},"72":{}},"component":{}}],["commandresultmessage#exceptionresult",{"_index":1884,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandresultmessage#getpayload",{"_index":1885,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandresultmessage#isexcept",{"_index":1883,"title":{},"name":{},"text":{"34":{}},"component":{}}],["commandrout",{"_index":2267,"title":{},"name":{},"text":{"38":{},"94":{},"128":{},"129":{}},"component":{}}],["commandrouter(commandrout",{"_index":5948,"title":{},"name":{},"text":{"128":{}},"component":{}}],["commandrouter(connector",{"_index":5447,"title":{},"name":{},"text":{"94":{}},"component":{}}],["commands.wait",{"_index":7027,"title":{},"name":{},"text":{"185":{}},"component":{}}],["commands/ev",{"_index":4672,"title":{},"name":{},"text":{"73":{}},"component":{}}],["commands/queries/ev",{"_index":1581,"title":{},"name":{},"text":{"31":{},"156":{},"190":{}},"component":{}}],["commands=tru",{"_index":5956,"title":{},"name":{},"text":{"128":{}},"component":{}}],["commandtargetresolv",{"_index":1960,"title":{},"name":{},"text":{"35":{},"66":{},"72":{}},"component":{}}],["commandvalid",{"_index":3784,"title":{},"name":{},"text":{"66":{}},"component":{}}],["command’",{"_index":2758,"title":{},"name":{},"text":{"51":{},"72":{}},"component":{}}],["commenc",{"_index":8048,"title":{},"name":{},"text":{"288":{}},"component":{}}],["comment",{"_index":1895,"title":{},"name":{},"text":{"34":{},"82":{},"84":{},"85":{},"235":{}},"component":{}}],["commerci",{"_index":5992,"title":{},"name":{},"text":{"137":{}},"component":{}}],["commit",{"_index":2081,"title":{},"name":{},"text":{"38":{},"46":{},"51":{},"53":{},"59":{},"66":{},"67":{},"79":{},"87":{},"88":{},"102":{},"104":{},"142":{},"143":{},"156":{},"157":{},"179":{},"230":{},"240":{},"261":{},"262":{},"274":{}},"component":{}}],["common",{"_index":340,"title":{},"name":{},"text":{"3":{},"30":{},"49":{},"50":{},"62":{},"67":{},"84":{},"87":{},"99":{},"121":{},"124":{},"151":{},"172":{},"178":{},"179":{},"191":{},"279":{},"287":{},"290":{}},"component":{}}],["commonli",{"_index":4614,"title":{},"name":{},"text":{"72":{},"82":{},"179":{}},"component":{}}],["commun",{"_index":170,"title":{},"name":{},"text":{"2":{},"6":{},"8":{},"13":{},"19":{},"38":{},"45":{},"46":{},"47":{},"49":{},"66":{},"94":{},"141":{},"176":{},"179":{},"192":{},"199":{},"200":{},"201":{},"203":{},"208":{},"224":{},"264":{},"265":{},"278":{},"279":{},"281":{},"283":{},"287":{}},"component":{}}],["compact",{"_index":319,"title":{"145-9":{},"145-23":{}},"name":{},"text":{"3":{},"31":{},"46":{},"99":{},"142":{},"145":{},"179":{},"191":{}},"component":{}}],["compani",{"_index":7569,"title":{},"name":{},"text":{"237":{}},"component":{}}],["companion",{"_index":5991,"title":{},"name":{},"text":{"137":{}},"component":{}}],["companynam",{"_index":2472,"title":{},"name":{},"text":{"44":{}},"component":{}}],["compar",{"_index":1252,"title":{},"name":{},"text":{"20":{},"36":{},"38":{},"40":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"72":{},"88":{},"151":{},"156":{},"192":{},"244":{}},"component":{}}],["comparison",{"_index":4426,"title":{},"name":{},"text":{"68":{},"72":{},"193":{}},"component":{}}],["compat",{"_index":14,"title":{"163-2":{}},"name":{},"text":{"1":{},"2":{},"4":{},"30":{},"32":{},"44":{},"46":{},"66":{},"92":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"122":{},"126":{},"130":{},"131":{},"134":{},"137":{},"150":{},"176":{}},"component":{}}],["compens",{"_index":4449,"title":{},"name":{},"text":{"69":{},"88":{}},"component":{}}],["compet",{"_index":5287,"title":{},"name":{},"text":{"88":{}},"component":{}}],["compil",{"_index":3205,"title":{"123":{}},"name":{"123":{}},"text":{"63":{},"66":{},"123":{},"124":{},"125":{},"126":{}},"component":{}}],["complain",{"_index":1384,"title":{},"name":{},"text":{"27":{}},"component":{}}],["complaint",{"_index":2489,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complaintev",{"_index":2471,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complaintevent0_to_1upcast",{"_index":2500,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complaintevent1_to_2upcast",{"_index":2476,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complainteventupcasteron",{"_index":2507,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complainteventupcastertwo",{"_index":2508,"title":{},"name":{},"text":{"44":{}},"component":{}}],["complement",{"_index":1510,"title":{"151-19":{}},"name":{},"text":{"30":{},"37":{},"62":{},"72":{},"151":{}},"component":{}}],["complet",{"_index":400,"title":{},"name":{},"text":{"3":{},"8":{},"13":{},"31":{},"32":{},"34":{},"43":{},"44":{},"52":{},"53":{},"58":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"73":{},"76":{},"88":{},"102":{},"140":{},"141":{},"142":{},"143":{},"145":{},"151":{},"157":{},"162":{},"177":{},"179":{},"182":{},"186":{},"191":{},"192":{},"202":{},"203":{},"224":{},"263":{},"274":{},"277":{},"279":{},"281":{},"282":{},"288":{}},"component":{}}],["completablefutur",{"_index":1892,"title":{},"name":{},"text":{"34":{},"38":{},"63":{},"76":{},"88":{},"108":{},"121":{},"130":{},"145":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["completablefuture::get",{"_index":7894,"title":{},"name":{},"text":{"280":{}},"component":{}}],["completablefuture`",{"_index":6304,"title":{},"name":{},"text":{"145":{}},"component":{}}],["complete=\"fals",{"_index":4824,"title":{},"name":{},"text":{"79":{}},"component":{}}],["completionstag",{"_index":2105,"title":{},"name":{},"text":{"38":{}},"component":{}}],["complex",{"_index":115,"title":{},"name":{},"text":{"2":{},"3":{},"15":{},"63":{},"67":{},"72":{},"84":{},"87":{},"191":{},"264":{},"279":{},"280":{},"281":{}},"component":{}}],["compli",{"_index":858,"title":{},"name":{},"text":{"5":{}},"component":{}}],["complic",{"_index":7949,"title":{},"name":{},"text":{"281":{}},"component":{}}],["compon",{"_index":890,"title":{"118":{},"269":{},"59-25":{},"104-1":{},"104-3":{},"104-7":{},"206-10":{},"206-13":{},"274-7":{}},"name":{"118":{},"269":{}},"text":{"6":{},"15":{},"17":{},"20":{},"24":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"86":{},"87":{},"88":{},"89":{},"91":{},"94":{},"100":{},"102":{},"104":{},"114":{},"115":{},"117":{},"118":{},"120":{},"121":{},"127":{},"128":{},"129":{},"140":{},"144":{},"147":{},"165":{},"180":{},"185":{},"202":{},"206":{},"211":{},"212":{},"214":{},"242":{},"243":{},"244":{},"245":{},"246":{},"260":{},"263":{},"264":{},"266":{},"273":{},"274":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{},"286":{},"287":{},"290":{}},"component":{}}],["componentloc",{"_index":3979,"title":{},"name":{},"text":{"67":{}},"component":{}}],["componentnam",{"_index":2939,"title":{},"name":{},"text":{"57":{},"87":{},"144":{},"202":{},"211":{},"212":{},"214":{}},"component":{}}],["componentscan",{"_index":4250,"title":{},"name":{},"text":{"67":{}},"component":{}}],["componenttyp",{"_index":2938,"title":{},"name":{},"text":{"57":{},"87":{}},"component":{}}],["component’",{"_index":7730,"title":{},"name":{},"text":{"274":{},"281":{}},"component":{}}],["compos",{"_index":195,"title":{"284":{},"3-10":{},"191-3":{},"284-2":{},"284-3":{},"284-4":{}},"name":{"284":{}},"text":{"3":{},"66":{},"72":{},"140":{},"145":{},"191":{},"237":{},"266":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["compose.yaml",{"_index":7641,"title":{},"name":{},"text":{"263":{},"267":{},"277":{},"284":{}},"component":{}}],["compose.yml",{"_index":7763,"title":{},"name":{},"text":{"277":{},"280":{}},"component":{}}],["comprehens",{"_index":6021,"title":{},"name":{},"text":{"140":{},"227":{},"236":{},"262":{},"264":{},"266":{},"269":{},"274":{}},"component":{}}],["compress",{"_index":4830,"title":{},"name":{},"text":{"79":{},"172":{}},"component":{}}],["compris",{"_index":4308,"title":{},"name":{},"text":{"67":{}},"component":{}}],["comput",{"_index":2172,"title":{},"name":{},"text":{"38":{},"117":{},"164":{},"199":{}},"component":{}}],["computeifpres",{"_index":4124,"title":{},"name":{},"text":{"67":{}},"component":{}}],["computeregion=asia",{"_index":6418,"title":{},"name":{},"text":{"150":{}},"component":{}}],["computeregion=europ",{"_index":6417,"title":{},"name":{},"text":{"150":{}},"component":{}}],["con",{"_index":5239,"title":{},"name":{},"text":{"88":{},"263":{},"267":{}},"component":{}}],["concat(listdata",{"_index":7187,"title":{},"name":{},"text":{"195":{}},"component":{}}],["concaten",{"_index":5826,"title":{},"name":{},"text":{"121":{},"195":{}},"component":{}}],["concatwith(result.upd",{"_index":5837,"title":{},"name":{},"text":{"121":{}},"component":{}}],["concept",{"_index":884,"title":{"49":{},"7-1":{}},"name":{},"text":{"6":{},"8":{},"12":{},"13":{},"28":{},"34":{},"36":{},"37":{},"38":{},"41":{},"44":{},"46":{},"48":{},"49":{},"53":{},"62":{},"68":{},"75":{},"82":{},"84":{},"87":{},"145":{},"153":{},"192":{},"264":{},"281":{}},"component":{}}],["conceptu",{"_index":1399,"title":{},"name":{},"text":{"28":{},"47":{},"69":{},"71":{},"88":{},"220":{}},"component":{}}],["concern",{"_index":1511,"title":{},"name":{},"text":{"30":{},"37":{},"62":{},"63":{},"67":{},"70":{},"86":{},"89":{},"102":{},"140":{},"144":{}},"component":{}}],["concess",{"_index":4310,"title":{},"name":{},"text":{"67":{}},"component":{}}],["conclud",{"_index":5208,"title":{},"name":{},"text":{"88":{},"145":{}},"component":{}}],["conclus",{"_index":7550,"title":{"230":{},"240":{},"265":{},"270-3":{},"280-16":{},"281-11":{},"283-7":{}},"name":{"230":{},"240":{},"265":{}},"text":{},"component":{}}],["concret",{"_index":1686,"title":{},"name":{},"text":{"31":{},"32":{},"46":{},"48":{},"49":{},"88":{}},"component":{}}],["concurr",{"_index":959,"title":{"211-7":{}},"name":{},"text":{"6":{},"31":{},"36":{},"38":{},"46":{},"67":{},"69":{},"71":{},"77":{},"88":{},"151":{},"211":{},"215":{}},"component":{}}],["concurrencyexcept",{"_index":2534,"title":{},"name":{},"text":{"46":{},"66":{}},"component":{}}],["concurrencyexception`",{"_index":3797,"title":{},"name":{},"text":{"66":{}},"component":{}}],["concurrenthashmap",{"_index":4054,"title":{},"name":{},"text":{"67":{}},"component":{}}],["condit",{"_index":958,"title":{"151-8":{},"244-2":{},"262-2":{},"262-3":{},"262-4":{}},"name":{},"text":{"6":{},"32":{},"42":{},"48":{},"66":{},"84":{},"88":{},"140":{},"141":{},"143":{},"151":{},"215":{},"239":{},"242":{},"244":{},"245":{},"246":{},"262":{},"273":{}},"component":{}}],["condition",{"_index":4453,"title":{},"name":{},"text":{"69":{},"84":{},"151":{}},"component":{}}],["conditionalonbean",{"_index":3483,"title":{},"name":{},"text":{"66":{}},"component":{}}],["conditionalonclass",{"_index":3697,"title":{},"name":{},"text":{"66":{}},"component":{}}],["conditionalonmissingbean",{"_index":1089,"title":{},"name":{},"text":{"15":{},"66":{},"67":{}},"component":{}}],["conditionalonmissingbean(eventbus.class",{"_index":1766,"title":{},"name":{},"text":{"32":{}},"component":{}}],["condition’",{"_index":7635,"title":{},"name":{},"text":{"262":{}},"component":{}}],["conf",{"_index":5078,"title":{},"name":{},"text":{"87":{},"88":{},"89":{}},"component":{}}],["config",{"_index":572,"title":{},"name":{"96":{},"110":{},"113":{},"114":{},"128":{},"132":{},"220":{}},"text":{"3":{},"14":{},"15":{},"17":{},"38":{},"43":{},"61":{},"75":{},"86":{},"88":{},"110":{},"114":{},"179":{},"189":{},"191":{},"273":{}},"component":{}}],["config.commandbus().registerhandlerinterceptor",{"_index":2155,"title":{},"name":{},"text":{"38":{}},"component":{}}],["config.deadletterqueue(processinggroup",{"_index":5026,"title":{},"name":{},"text":{"86":{}},"component":{}}],["config.eventprocessors().keyset",{"_index":1161,"title":{},"name":{},"text":{"17":{}},"component":{}}],["config.sequenceddeadletterprocessor(processinggroup",{"_index":5014,"title":{},"name":{},"text":{"86":{}},"component":{}}],["config.sequenceddeadletterprocessor(processinggroup).ifpres",{"_index":1162,"title":{},"name":{},"text":{"17":{}},"component":{}}],["config.snapshott",{"_index":4745,"title":{},"name":{},"text":{"77":{}},"component":{}}],["config/axonserver.properti",{"_index":6824,"title":{},"name":{},"text":{"179":{}},"component":{}}],["configdb",{"_index":698,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configdb.mv.db",{"_index":700,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configdb;defrag_always=tru",{"_index":707,"title":{},"name":{},"text":{"4":{}},"component":{}}],["configmap",{"_index":199,"title":{"3-12":{},"191-5":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["configmap/axonserv",{"_index":579,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["configtoken",{"_index":4361,"title":{},"name":{},"text":{"67":{}},"component":{}}],["configur",{"_index":62,"title":{"36":{},"60":{},"96":{},"104":{},"110":{},"113":{},"114":{},"115":{},"128":{},"132":{},"135":{},"181":{},"206":{},"220":{},"4-2":{},"30-6":{},"31-2":{},"31-3":{},"32-1":{},"32-4":{},"32-5":{},"36-1":{},"38-2":{},"38-16":{},"39-4":{},"40-7":{},"44-4":{},"50-6":{},"57-2":{},"57-3":{},"57-5":{},"57-6":{},"57-7":{},"57-8":{},"59-2":{},"59-3":{},"59-6":{},"59-7":{},"59-12":{},"59-13":{},"59-14":{},"59-16":{},"59-19":{},"59-20":{},"59-23":{},"59-24":{},"69-11":{},"69-12":{},"69-13":{},"69-14":{},"69-15":{},"71-2":{},"71-3":{},"75-2":{},"75-3":{},"76-4":{},"76-5":{},"77-3":{},"77-4":{},"77-7":{},"77-8":{},"77-11":{},"77-12":{},"86-4":{},"86-5":{},"87-8":{},"88-1":{},"88-2":{},"88-3":{},"88-7":{},"88-17":{},"89-1":{},"89-2":{},"89-3":{},"89-4":{},"89-5":{},"89-6":{},"89-9":{},"89-10":{},"89-11":{},"89-12":{},"102-1":{},"104-11":{},"115-1":{},"115-2":{},"115-11":{},"121-1":{},"148-4":{},"151-6":{},"151-20":{},"154-6":{},"170-2":{},"172-2":{},"172-3":{},"172-4":{},"172-5":{},"176-1":{},"177-2":{},"179-1":{},"179-5":{},"202-5":{},"202-9":{},"202-13":{},"206-1":{},"208-2":{},"274-6":{},"274-12":{},"276-3":{},"278-1":{},"279-3":{},"284-2":{},"284-4":{},"285-1":{}},"name":{"36":{},"60":{},"104":{},"115":{},"135":{},"179":{},"206":{}},"text":{"2":{},"3":{},"4":{},"5":{},"8":{},"13":{},"14":{},"15":{},"16":{},"17":{},"20":{},"21":{},"24":{},"26":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"55":{},"57":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"79":{},"81":{},"82":{},"86":{},"87":{},"88":{},"89":{},"90":{},"92":{},"94":{},"96":{},"99":{},"100":{},"102":{},"104":{},"110":{},"111":{},"113":{},"114":{},"115":{},"119":{},"121":{},"127":{},"128":{},"130":{},"132":{},"133":{},"140":{},"141":{},"142":{},"143":{},"144":{},"146":{},"147":{},"148":{},"150":{},"151":{},"154":{},"156":{},"157":{},"163":{},"164":{},"165":{},"167":{},"169":{},"170":{},"172":{},"174":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"189":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"215":{},"220":{},"221":{},"226":{},"227":{},"228":{},"232":{},"236":{},"237":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"261":{},"262":{},"263":{},"265":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["configuration#configurecorrelationdataprovid",{"_index":2711,"title":{},"name":{},"text":{"50":{}},"component":{}}],["configuration#onshutdown",{"_index":3793,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configuration#onstart",{"_index":3792,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configuration(producerconfigur",{"_index":5571,"title":{},"name":{},"text":{"102":{}},"component":{}}],["configuration.enabled=tru",{"_index":2919,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configuration.eventprocessingconfigur",{"_index":5725,"title":{},"name":{},"text":{"115":{},"144":{}},"component":{}}],["configuration.sequenceddeadletterprocessor",{"_index":5737,"title":{},"name":{},"text":{"115":{}},"component":{}}],["configuration.spanfactory().registerspanattributeprovider(new",{"_index":3041,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurationlisten",{"_index":6382,"title":{},"name":{},"text":{"148":{}},"component":{}}],["configurationresourceinjector",{"_index":4474,"title":{},"name":{},"text":{"69":{}},"component":{}}],["configurationscopeawareprovider(configur",{"_index":1225,"title":{},"name":{},"text":{"20":{},"39":{}},"component":{}}],["configure(configur",{"_index":3002,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configure(eventprocessingconfigur",{"_index":5087,"title":{},"name":{},"text":{"87":{}},"component":{}}],["configure_plugin",{"_index":6711,"title":{},"name":{},"text":{"171":{}},"component":{}}],["configureaggreg",{"_index":2030,"title":{},"name":{},"text":{"36":{}},"component":{}}],["configureaggregate(giftcard.class",{"_index":2007,"title":{},"name":{},"text":{"36":{}},"component":{}}],["configureaggregate(giftcardconfigur",{"_index":4746,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configureaggregatewithcache(configur",{"_index":4794,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configureasynchronouscommandbus(configur",{"_index":2163,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurecache(config",{"_index":4795,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configurecommandbu",{"_index":2727,"title":{},"name":{},"text":{"51":{}},"component":{}}],["configurecorrelationdataproviders(config",{"_index":2712,"title":{},"name":{},"text":{"50":{}},"component":{}}],["configuredeadletterqueue(eventprocessingconfigur",{"_index":1116,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["configuredefaultmetrics(configur",{"_index":2914,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configuredisruptorcommandbus(configur",{"_index":2211,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configureenqueuepolicy(eventprocessingconfigur",{"_index":1059,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["configureeventbus(eventstorageengin",{"_index":2767,"title":{},"name":{},"text":{"51":{}},"component":{}}],["configureeventhandler(configur",{"_index":2418,"title":{},"name":{},"text":{"43":{}},"component":{}}],["configureeventprocessing(configur",{"_index":2775,"title":{},"name":{},"text":{"51":{}},"component":{}}],["configureeventserializer(c",{"_index":2609,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configureeventserializer(configur",{"_index":1628,"title":{},"name":{},"text":{"31":{}},"component":{}}],["configureinitialtrackingtoken(eventprocessingconfigur",{"_index":5176,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configureinmemoryeventstorage(configur",{"_index":2604,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configurejdbceventstorag",{"_index":2570,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configuremessageserializer(configur",{"_index":1627,"title":{},"name":{},"text":{"31":{}},"component":{}}],["configuremongoeventstorage(configur",{"_index":2596,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configuremysaga(eventprocessingconfigur",{"_index":4502,"title":{},"name":{},"text":{"69":{}},"component":{}}],["configurepooledstreamingprocessor(eventprocessingconfigur",{"_index":5375,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configurepooledstreamingprocessors(eventprocessingconfigur",{"_index":5145,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configureprocessinggrouperrorhandling(eventprocessingconfigur",{"_index":5075,"title":{},"name":{},"text":{"87":{}},"component":{}}],["configureprocessordefault(eventprocessingconfigur",{"_index":5122,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["configurequerybus(configur",{"_index":3127,"title":{},"name":{},"text":{"61":{}},"component":{}}],["configurer#oniniti",{"_index":3791,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configurer#registerhandlerenhancerdefinit",{"_index":3438,"title":{},"name":{},"text":{"66":{}},"component":{}}],["configurer.configureaggregate(giftcardconfigur",{"_index":4796,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configurer.configurecommandbus(config",{"_index":2140,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.configureembeddedeventstore(config",{"_index":2572,"title":{},"name":{},"text":{"46":{}},"component":{}}],["configurer.configuremessagemonitor(commandbus.class",{"_index":2965,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configuremessagemonitor(eventstore.class",{"_index":2953,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configuremessagemonitor(querybus.class",{"_index":2966,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configuremessagemonitor(trackingeventprocessor.class",{"_index":2962,"title":{},"name":{},"text":{"57":{}},"component":{}}],["configurer.configurequerybu",{"_index":3128,"title":{},"name":{},"text":{"61":{}},"component":{}}],["configurer.configureserializer(configur",{"_index":1626,"title":{},"name":{},"text":{"31":{}},"component":{}}],["configurer.configurespanfactory(c",{"_index":3063,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurer.configurespanfactory(configur",{"_index":3003,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurer.defaultconfigur",{"_index":3061,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurer.eventprocess",{"_index":2422,"title":{},"name":{},"text":{"43":{},"51":{},"86":{},"88":{},"89":{}},"component":{}}],["configurer.eventprocessing().registerdeadletterqueu",{"_index":4993,"title":{},"name":{},"text":{"86":{},"110":{}},"component":{}}],["configurer.eventprocessing().registerdeadletterqueueprovid",{"_index":5003,"title":{},"name":{},"text":{"86":{}},"component":{}}],["configurer.eventprocessing(eventprocessingconfigur",{"_index":4518,"title":{},"name":{},"text":{"71":{}},"component":{}}],["configurer.eventprocessing(eventprocessingconfigurer::usingpooledstreamingeventprocessor",{"_index":5143,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configurer.eventprocessing(eventprocessingconfigurer::usingsubscribingeventprocessor",{"_index":5384,"title":{},"name":{},"text":{"89":{}},"component":{}}],["configurer.eventprocessing(process",{"_index":5091,"title":{},"name":{},"text":{"87":{}},"component":{}}],["configurer.eventprocessing(processingconfigur",{"_index":5080,"title":{},"name":{},"text":{"87":{},"88":{}},"component":{}}],["configurer.oniniti",{"_index":2154,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.oninitialize(config",{"_index":2216,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.registercompon",{"_index":4475,"title":{},"name":{},"text":{"69":{}},"component":{}}],["configurer.registercomponent(axonserverconfiguration.class",{"_index":7141,"title":{},"name":{},"text":{"189":{}},"component":{}}],["configurer.registercomponent(routingstrategy.class",{"_index":2250,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configurer.registercomponent(sagastore.class",{"_index":4521,"title":{},"name":{},"text":{"71":{}},"component":{}}],["configurer.registerdeadletterpolicy(\"mi",{"_index":1060,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["configurer.registereventhandl",{"_index":2419,"title":{},"name":{},"text":{"43":{}},"component":{}}],["configurer.registereventupcaster(config",{"_index":2499,"title":{},"name":{},"text":{"44":{}},"component":{}}],["configurer.registerhandlerenhancerdefinition(config",{"_index":1356,"title":{},"name":{},"text":{"24":{}},"component":{}}],["configurer.registermessagehandl",{"_index":2421,"title":{},"name":{},"text":{"43":{}},"component":{}}],["configurer.registermodule(kafkamessagesourceconfigur",{"_index":5505,"title":{},"name":{},"text":{"99":{}},"component":{}}],["configurerepository(c",{"_index":2032,"title":{},"name":{},"text":{"36":{}},"component":{}}],["configurermodul",{"_index":2152,"title":{},"name":{},"text":{"38":{},"57":{},"67":{},"86":{},"87":{},"88":{},"89":{},"110":{}},"component":{}}],["configurermodule.ord",{"_index":3986,"title":{},"name":{},"text":{"67":{}},"component":{}}],["configureroutingstrategy(configur",{"_index":2248,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configuresegmentcount(eventprocessingconfigur",{"_index":5231,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuresequencingpolicy(eventprocessingconfigur",{"_index":5245,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuresimplecommandbus(configur",{"_index":2139,"title":{},"name":{},"text":{"38":{}},"component":{}}],["configuresnapshotfilter(config",{"_index":4762,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configuresnapshottrigger(config",{"_index":4744,"title":{},"name":{},"text":{"77":{}},"component":{}}],["configurespanfactory(c",{"_index":3062,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurespanfactory(spanfactori",{"_index":3043,"title":{},"name":{},"text":{"59":{}},"component":{}}],["configurestreamablekafkasource(eventprocessingconfigur",{"_index":5529,"title":{},"name":{},"text":{"99":{}},"component":{}}],["configuresubscribablekafkasource(eventprocessingconfigur",{"_index":5519,"title":{},"name":{},"text":{"99":{}},"component":{}}],["configuresubscribingprocessors(eventprocessingconfigur",{"_index":5386,"title":{},"name":{},"text":{"89":{}},"component":{}}],["configuretags(config",{"_index":6424,"title":{},"name":{},"text":{"150":{}},"component":{}}],["configurethreadcount(eventprocessingconfigur",{"_index":5257,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuretokenclaimvalues(eventprocessingconfigur",{"_index":5196,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuretrackingprocessor(eventprocessingconfigur",{"_index":5373,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configuretrackingprocessors(eventprocessingconfigur",{"_index":5127,"title":{},"name":{},"text":{"88":{}},"component":{}}],["configureupcasters(configur",{"_index":2497,"title":{},"name":{},"text":{"44":{}},"component":{}}],["confirm",{"_index":901,"title":{"202-6":{},"202-10":{},"202-14":{}},"name":{},"text":{"6":{},"40":{},"49":{},"102":{},"104":{},"143":{},"156":{},"157":{},"179":{},"185":{},"203":{},"237":{},"288":{}},"component":{}}],["confirmationmod",{"_index":5558,"title":{},"name":{},"text":{"102":{}},"component":{}}],["confirmationmode(confirmationmod",{"_index":5572,"title":{},"name":{},"text":{"102":{}},"component":{}}],["confirmpaymentcommand",{"_index":7712,"title":{},"name":{},"text":{"274":{}},"component":{}}],["conflict",{"_index":2020,"title":{"83":{}},"name":{"83":{}},"text":{"36":{},"46":{},"52":{},"67":{},"83":{},"201":{},"215":{}},"component":{}}],["conflictresolv",{"_index":2825,"title":{},"name":{},"text":{"52":{},"83":{}},"component":{}}],["confus",{"_index":3770,"title":{},"name":{},"text":{"66":{},"179":{}},"component":{}}],["congratul",{"_index":7756,"title":{},"name":{},"text":{"276":{},"277":{}},"component":{}}],["conjunct",{"_index":2827,"title":{},"name":{},"text":{"52":{},"66":{},"67":{},"107":{},"140":{},"144":{},"179":{}},"component":{}}],["connect",{"_index":233,"title":{"236":{},"267":{},"5-3":{},"145-18":{},"150-2":{},"172-4":{},"186-5":{},"206-2":{},"206-6":{},"206-25":{},"206-30":{},"206-32":{},"232-1":{},"237-3":{},"241-1":{},"241-2":{},"276-4":{}},"name":{},"text":{"3":{},"5":{},"30":{},"34":{},"38":{},"46":{},"53":{},"54":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"76":{},"88":{},"89":{},"94":{},"96":{},"99":{},"115":{},"117":{},"121":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"149":{},"150":{},"154":{},"156":{},"157":{},"161":{},"163":{},"168":{},"170":{},"172":{},"174":{},"178":{},"179":{},"180":{},"185":{},"186":{},"189":{},"191":{},"192":{},"199":{},"201":{},"206":{},"208":{},"215":{},"216":{},"217":{},"219":{},"221":{},"226":{},"228":{},"232":{},"237":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"247":{},"250":{},"260":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"272":{},"274":{},"275":{},"276":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["connection.eventchannel",{"_index":6277,"title":{},"name":{},"text":{"145":{}},"component":{}}],["connection.eventtransformationchannel",{"_index":6284,"title":{},"name":{},"text":{"145":{}},"component":{}}],["connectiondetail",{"_index":3351,"title":{},"name":{},"text":{"66":{}},"component":{}}],["connectionfactori",{"_index":6204,"title":{},"name":{},"text":{"144":{}},"component":{}}],["connectionfactory.connect(contextname).adminchannel",{"_index":6206,"title":{},"name":{},"text":{"144":{}},"component":{}}],["connectionprovid",{"_index":2567,"title":{},"name":{},"text":{"46":{},"69":{},"71":{}},"component":{}}],["connectionprovider(connectionprovid",{"_index":2574,"title":{},"name":{},"text":{"46":{}},"component":{}}],["connection’",{"_index":2889,"title":{},"name":{},"text":{"54":{}},"component":{}}],["connector",{"_index":1465,"title":{"253":{},"30-7":{},"144-5":{}},"name":{},"text":{"30":{},"38":{},"46":{},"61":{},"66":{},"67":{},"94":{},"96":{},"129":{},"144":{},"145":{},"168":{},"257":{}},"component":{}}],["connector(commandbusconnector",{"_index":5949,"title":{},"name":{},"text":{"128":{}},"component":{}}],["connector(connector",{"_index":5446,"title":{},"name":{},"text":{"94":{}},"component":{}}],["connector.connect",{"_index":5449,"title":{},"name":{},"text":{"94":{}},"component":{}}],["consciou",{"_index":2650,"title":{},"name":{},"text":{"48":{}},"component":{}}],["conscious",{"_index":2624,"title":{},"name":{},"text":{"46":{}},"component":{}}],["consensu",{"_index":6507,"title":{"157-2":{}},"name":{},"text":{},"component":{}}],["consequ",{"_index":4266,"title":{"88-12":{}},"name":{},"text":{"67":{},"85":{},"86":{},"88":{},"115":{},"157":{},"280":{}},"component":{}}],["consid",{"_index":541,"title":{},"name":{},"text":{"3":{},"31":{},"34":{},"38":{},"43":{},"44":{},"47":{},"49":{},"53":{},"59":{},"63":{},"67":{},"69":{},"72":{},"77":{},"79":{},"83":{},"86":{},"87":{},"88":{},"96":{},"145":{},"150":{},"151":{},"188":{},"191":{},"226":{},"244":{},"261":{},"280":{},"281":{},"288":{}},"component":{}}],["consider",{"_index":1393,"title":{"102-2":{},"145-12":{},"145-15":{},"176-2":{},"281-1":{}},"name":{},"text":{"27":{},"34":{},"46":{},"79":{},"84":{},"88":{},"145":{},"164":{},"221":{},"280":{},"281":{}},"component":{}}],["consist",{"_index":916,"title":{},"name":{},"text":{"6":{},"30":{},"31":{},"35":{},"38":{},"44":{},"47":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"82":{},"86":{},"87":{},"102":{},"127":{},"142":{},"216":{},"221":{},"244":{},"254":{},"261":{},"274":{},"280":{}},"component":{}}],["consistenthash",{"_index":5437,"title":{},"name":{},"text":{"94":{},"128":{}},"component":{}}],["consistenthash.equ",{"_index":3588,"title":{},"name":{},"text":{"66":{}},"component":{}}],["consistenthashchangelisten",{"_index":5926,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["consol",{"_index":721,"title":{"5":{},"227":{},"231":{},"233":{},"234":{},"236":{},"238":{},"241":{},"249":{},"255":{},"263":{},"267":{},"271":{},"274":{},"276":{},"5-1":{},"5-3":{},"5-4":{},"5-5":{},"5-7":{},"5-13":{},"5-14":{},"5-15":{},"88-23":{},"88-27":{},"227-1":{},"232-1":{},"232-2":{},"236-1":{},"263-1":{},"269-1":{},"270-2":{},"276-1":{},"276-2":{},"276-3":{},"276-4":{},"276-5":{}},"name":{"263":{},"274":{},"276":{}},"text":{"5":{},"7":{},"8":{},"9":{},"10":{},"12":{},"13":{},"17":{},"28":{},"49":{},"55":{},"66":{},"77":{},"86":{},"88":{},"141":{},"147":{},"156":{},"161":{},"162":{},"172":{},"174":{},"178":{},"179":{},"192":{},"199":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"284":{}},"component":{"5":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{}}}],["console'",{"_index":5309,"title":{},"name":{},"text":{"88":{}},"component":{}}],["console_faq",{"_index":743,"title":{},"name":{"5":{}},"text":{},"component":{}}],["console’",{"_index":6810,"title":{},"name":{},"text":{"178":{},"247":{},"274":{}},"component":{}}],["consolid",{"_index":7567,"title":{"250-4":{}},"name":{},"text":{"235":{},"250":{},"254":{}},"component":{}}],["constant",{"_index":3287,"title":{},"name":{},"text":{"66":{},"280":{}},"component":{}}],["constantli",{"_index":4721,"title":{},"name":{},"text":{"77":{}},"component":{}}],["constitut",{"_index":4963,"title":{},"name":{},"text":{"85":{}},"component":{}}],["constraint",{"_index":2528,"title":{"198":{}},"name":{"198":{}},"text":{"46":{},"81":{},"198":{}},"component":{}}],["construct",{"_index":207,"title":{},"name":{},"text":{"3":{},"20":{},"29":{},"33":{},"36":{},"38":{},"44":{},"46":{},"49":{},"59":{},"66":{},"67":{},"69":{},"71":{},"86":{},"87":{},"88":{},"94":{},"96":{},"99":{},"142":{},"191":{},"289":{}},"component":{}}],["constructor",{"_index":1301,"title":{},"name":{},"text":{"23":{},"31":{},"34":{},"35":{},"36":{},"40":{},"42":{},"44":{},"49":{},"50":{},"51":{},"57":{},"67":{},"69":{},"71":{},"72":{},"77":{},"80":{},"81":{},"82":{},"84":{},"85":{},"281":{}},"component":{}}],["consul",{"_index":5961,"title":{},"name":{},"text":{"129":{}},"component":{}}],["consult",{"_index":4497,"title":{},"name":{},"text":{"69":{},"71":{},"87":{},"199":{}},"component":{}}],["consum",{"_index":773,"title":{"99":{},"99-1":{},"99-2":{},"104-7":{}},"name":{"99":{}},"text":{"5":{},"6":{},"16":{},"36":{},"59":{},"63":{},"67":{},"69":{},"72":{},"88":{},"99":{},"100":{},"101":{},"102":{},"104":{},"115":{},"151":{},"163":{},"200":{},"260":{},"274":{},"286":{},"290":{}},"component":{}}],["consumerconfigur",{"_index":5484,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumercount",{"_index":5508,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumercount(consumercount",{"_index":5517,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerfactori",{"_index":5479,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerfactory(consumerfactori",{"_index":5513,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerfactory(map",{"_index":5483,"title":{},"name":{},"text":{"99":{}},"component":{}}],["consumerrecord",{"_index":5542,"title":{},"name":{},"text":{"101":{}},"component":{}}],["consumpt",{"_index":4170,"title":{},"name":{},"text":{"67":{},"99":{},"101":{},"102":{}},"component":{}}],["contact",{"_index":7401,"title":{},"name":{},"text":{"206":{}},"component":{}}],["contactmovedev",{"_index":2676,"title":{},"name":{},"text":{"49":{}},"component":{}}],["contain",{"_index":311,"title":{},"name":{},"text":{"3":{},"4":{},"6":{},"8":{},"13":{},"24":{},"26":{},"29":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"101":{},"102":{},"111":{},"121":{},"140":{},"141":{},"142":{},"143":{},"147":{},"148":{},"149":{},"151":{},"153":{},"154":{},"156":{},"157":{},"159":{},"161":{},"162":{},"165":{},"174":{},"176":{},"177":{},"178":{},"179":{},"187":{},"191":{},"192":{},"195":{},"196":{},"198":{},"201":{},"204":{},"206":{},"208":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"218":{},"219":{},"224":{},"232":{},"235":{},"241":{},"244":{},"245":{},"262":{},"274":{},"276":{},"277":{},"279":{},"281":{},"283":{},"284":{},"285":{},"290":{}},"component":{}}],["containermanagedentitymanagerprovid",{"_index":2540,"title":{},"name":{},"text":{"46":{}},"component":{}}],["containerport",{"_index":604,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["containingclassname.methodname(argumentclass1",{"_index":3112,"title":{},"name":{},"text":{"59":{}},"component":{}}],["content",{"_index":1001,"title":{},"name":{},"text":{"8":{},"13":{},"23":{},"26":{},"31":{},"38":{},"60":{},"69":{},"145":{},"148":{},"194":{},"202":{},"203":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"232":{},"245":{},"257":{},"261":{},"272":{},"274":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["contenttypeconvert",{"_index":1562,"title":{"31-14":{}},"name":{},"text":{"31":{},"66":{}},"component":{}}],["context",{"_index":165,"title":{"147":{},"209":{},"32-2":{},"140-28":{},"145-22":{},"147-3":{},"147-4":{},"147-6":{},"147-8":{},"151-6":{},"151-7":{},"178-10":{},"180-2":{},"206-15":{}},"name":{"147":{},"209":{}},"text":{"2":{},"3":{},"6":{},"15":{},"20":{},"23":{},"24":{},"30":{},"32":{},"36":{},"38":{},"39":{},"41":{},"43":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"54":{},"66":{},"67":{},"69":{},"76":{},"77":{},"80":{},"88":{},"115":{},"121":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"162":{},"166":{},"168":{},"169":{},"170":{},"177":{},"178":{},"179":{},"180":{},"182":{},"185":{},"187":{},"191":{},"192":{},"204":{},"206":{},"208":{},"209":{},"215":{},"216":{},"217":{},"219":{},"226":{},"235":{},"239":{},"249":{},"250":{},"273":{},"274":{},"286":{},"288":{}},"component":{}}],["context.tenantid().startswith(\"ten",{"_index":5703,"title":{},"name":{},"text":{"115":{}},"component":{}}],["context/appl",{"_index":6573,"title":{},"name":{},"text":{"168":{}},"component":{}}],["context_admin",{"_index":6589,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["context_adminv",{"_index":6723,"title":{},"name":{},"text":{"171":{}},"component":{}}],["contextadminservic",{"_index":6975,"title":{},"name":{},"text":{"180":{}},"component":{}}],["contextawareeventmultiupcast",{"_index":2461,"title":{},"name":{},"text":{"44":{}},"component":{}}],["contextawaresingleeventupcast",{"_index":2458,"title":{},"name":{},"text":{"44":{}},"component":{}}],["contextnam",{"_index":6207,"title":{},"name":{},"text":{"144":{},"192":{}},"component":{}}],["contextoverview",{"_index":6977,"title":{},"name":{},"text":{"180":{}},"component":{}}],["contexts_",{"_index":6322,"title":{},"name":{},"text":{"147":{}},"component":{}}],["contextu",{"_index":2297,"title":{},"name":{},"text":{"39":{}},"component":{}}],["contextupd",{"_index":6983,"title":{},"name":{},"text":{"180":{}},"component":{}}],["continu",{"_index":954,"title":{},"name":{},"text":{"6":{},"15":{},"16":{},"34":{},"51":{},"62":{},"63":{},"69":{},"83":{},"86":{},"87":{},"102":{},"145":{},"154":{},"172":{},"202":{},"203":{},"237":{},"244":{},"247":{},"271":{},"276":{},"277":{}},"component":{}}],["contrari",{"_index":4450,"title":{},"name":{},"text":{"69":{}},"component":{}}],["contrast",{"_index":2097,"title":{},"name":{},"text":{"38":{},"144":{},"151":{},"169":{}},"component":{}}],["contribut",{"_index":3815,"title":{},"name":{},"text":{"66":{}},"component":{}}],["contributetypes(typecontribut",{"_index":4852,"title":{},"name":{},"text":{"79":{}},"component":{}}],["contributor",{"_index":3271,"title":{"66-5":{},"66-11":{},"66-16":{},"66-21":{},"66-26":{},"67-5":{},"67-10":{},"67-14":{},"67-19":{},"67-22":{},"67-27":{},"67-32":{},"67-36":{},"67-40":{},"67-45":{},"67-48":{},"67-52":{},"67-56":{},"67-61":{},"67-64":{},"67-69":{},"67-72":{},"67-75":{},"67-78":{},"67-81":{},"67-85":{},"67-90":{},"119-5":{},"126-5":{}},"name":{},"text":{"66":{},"67":{},"119":{},"126":{}},"component":{}}],["control",{"_index":94,"title":{"152":{},"163":{},"166":{},"167":{},"169":{},"173":{},"174":{},"204":{},"142-1":{},"145-21":{},"151-12":{},"178-3":{},"192-11":{},"211-7":{},"281-8":{},"281-9":{}},"name":{"152":{},"163":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"204":{}},"text":{"2":{},"3":{},"4":{},"24":{},"48":{},"51":{},"53":{},"57":{},"63":{},"66":{},"77":{},"87":{},"88":{},"102":{},"121":{},"140":{},"141":{},"142":{},"145":{},"147":{},"149":{},"150":{},"151":{},"153":{},"155":{},"156":{},"157":{},"163":{},"164":{},"166":{},"167":{},"169":{},"170":{},"172":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"185":{},"191":{},"192":{},"204":{},"206":{},"226":{},"227":{},"236":{},"254":{},"260":{},"270":{},"280":{},"281":{},"283":{}},"component":{}}],["control.initi",{"_index":6897,"title":{},"name":{},"text":{"179":{}},"component":{}}],["control.new",{"_index":6899,"title":{},"name":{},"text":{"179":{}},"component":{}}],["control.nr",{"_index":6898,"title":{},"name":{},"text":{"179":{}},"component":{}}],["control/token",{"_index":6525,"title":{},"name":{},"text":{"161":{}},"component":{}}],["controldb",{"_index":269,"title":{},"name":{},"text":{"3":{},"4":{},"142":{},"162":{},"179":{},"191":{},"192":{}},"component":{}}],["controldb;defrag_always=tru",{"_index":706,"title":{},"name":{},"text":{"4":{}},"component":{}}],["conveni",{"_index":1888,"title":{},"name":{},"text":{"34":{},"38":{},"39":{},"40":{},"61":{},"63":{},"72":{},"79":{},"88":{},"151":{},"274":{},"278":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["convent",{"_index":1578,"title":{},"name":{},"text":{"31":{},"32":{},"46":{},"280":{}},"component":{}}],["convers",{"_index":1701,"title":{},"name":{},"text":{"31":{},"235":{}},"component":{}}],["convert",{"_index":1610,"title":{},"name":{},"text":{"31":{},"44":{},"63":{},"77":{},"79":{},"101":{},"104":{},"192":{},"195":{}},"component":{}}],["converter’",{"_index":5593,"title":{},"name":{},"text":{"102":{}},"component":{}}],["cooki",{"_index":652,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["cool",{"_index":2204,"title":{},"name":{},"text":{"38":{},"151":{}},"component":{}}],["coolingdownperiod",{"_index":2203,"title":{},"name":{},"text":{"38":{}},"component":{}}],["cooper",{"_index":7535,"title":{},"name":{},"text":{"221":{}},"component":{}}],["coordin",{"_index":1484,"title":{},"name":{},"text":{"30":{},"53":{},"67":{},"76":{},"88":{},"156":{},"157":{},"165":{}},"component":{}}],["coordinatorexecutorbuild",{"_index":5266,"title":{},"name":{},"text":{"88":{}},"component":{}}],["cope",{"_index":2425,"title":{},"name":{},"text":{"44":{},"86":{},"151":{}},"component":{}}],["copi",{"_index":271,"title":{},"name":{},"text":{"3":{},"26":{},"30":{},"44":{},"50":{},"115":{},"140":{},"141":{},"142":{},"151":{},"154":{},"156":{},"157":{},"162":{},"177":{},"191":{},"276":{},"280":{}},"component":{}}],["copyright",{"_index":4041,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cor",{"_index":6832,"title":{},"name":{},"text":{"179":{},"206":{}},"component":{}}],["core",{"_index":6,"title":{"9-1":{},"278-3":{},"279-6":{}},"name":{},"text":{"1":{},"36":{},"38":{},"49":{},"63":{},"67":{},"82":{},"142":{},"167":{},"170":{},"172":{},"261":{},"278":{},"279":{},"280":{},"281":{}},"component":{}}],["corner",{"_index":7633,"title":{},"name":{},"text":{"262":{},"274":{}},"component":{}}],["correct",{"_index":665,"title":{},"name":{},"text":{"3":{},"16":{},"35":{},"40":{},"42":{},"46":{},"47":{},"51":{},"67":{},"76":{},"77":{},"79":{},"81":{},"84":{},"85":{},"88":{},"97":{},"111":{},"141":{},"144":{},"191":{},"204":{},"221":{},"281":{},"284":{}},"component":{}}],["correctli",{"_index":373,"title":{},"name":{},"text":{"3":{},"35":{},"46":{},"57":{},"66":{},"67":{},"72":{},"74":{},"87":{},"99":{},"115":{},"191":{},"201":{},"202":{},"215":{},"273":{},"283":{},"285":{}},"component":{}}],["correl",{"_index":2681,"title":{"50":{},"50-1":{},"50-5":{},"56-1":{},"261-7":{}},"name":{"50":{}},"text":{"50":{},"51":{},"56":{},"59":{},"66":{},"67":{},"87":{},"261":{}},"component":{}}],["correlationdata",{"_index":2705,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationdata.put(\"usernam",{"_index":2709,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationdatafor(messag",{"_index":2704,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationdatainterceptor<>(config.correlationdataprovid",{"_index":2144,"title":{},"name":{},"text":{"38":{}},"component":{}}],["correlationdataprovid",{"_index":2687,"title":{},"name":{},"text":{"50":{},"56":{},"66":{},"67":{}},"component":{}}],["correlationdataproviderconfigur",{"_index":2713,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationid",{"_index":2688,"title":{},"name":{},"text":{"50":{}},"component":{}}],["correlationprovid",{"_index":5707,"title":{},"name":{},"text":{"115":{}},"component":{}}],["correspond",{"_index":1655,"title":{},"name":{},"text":{"31":{},"39":{},"46":{},"59":{},"60":{},"63":{},"69":{},"104":{},"115":{},"143":{},"170":{},"179":{},"244":{},"273":{},"274":{},"276":{},"279":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["corrupt",{"_index":2193,"title":{},"name":{},"text":{"38":{},"46":{},"67":{},"94":{}},"component":{}}],["cost",{"_index":720,"title":{"5-1":{}},"name":{},"text":{"6":{},"15":{},"31":{},"132":{},"140":{},"151":{},"250":{}},"component":{}}],["costli",{"_index":5359,"title":{},"name":{},"text":{"88":{}},"component":{}}],["couldn’t",{"_index":3758,"title":{},"name":{},"text":{"66":{}},"component":{}}],["count",{"_index":812,"title":{"76-1":{},"165-1":{}},"name":{},"text":{"5":{},"29":{},"30":{},"57":{},"77":{},"79":{},"88":{},"99":{},"151":{},"163":{},"179":{},"193":{},"196":{},"197":{},"198":{},"261":{},"262":{}},"component":{}}],["count(//customerid",{"_index":7198,"title":{},"name":{},"text":{"195":{}},"component":{}}],["count=16",{"_index":5275,"title":{},"name":{},"text":{"88":{}},"component":{}}],["count=32",{"_index":5276,"title":{},"name":{},"text":{"88":{}},"component":{}}],["count=4",{"_index":5262,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["count=8",{"_index":6090,"title":{},"name":{},"text":{"141":{}},"component":{}}],["countbikestatusesbybiketype(str",{"_index":7882,"title":{},"name":{},"text":{"280":{}},"component":{}}],["countcardsummariesqueri",{"_index":5650,"title":{},"name":{},"text":{"108":{}},"component":{}}],["countcardsummariesquery(v",{"_index":5652,"title":{},"name":{},"text":{"108":{}},"component":{}}],["countchangedupd",{"_index":5661,"title":{},"name":{},"text":{"108":{}},"component":{}}],["counter",{"_index":2954,"title":{},"name":{},"text":{"57":{},"58":{},"138":{}},"component":{}}],["counterpart",{"_index":2566,"title":{},"name":{},"text":{"46":{},"72":{}},"component":{}}],["countri",{"_index":4815,"title":{},"name":{},"text":{"79":{},"150":{}},"component":{}}],["coupl",{"_index":936,"title":{},"name":{},"text":{"6":{},"34":{},"35":{},"38":{},"42":{},"50":{},"58":{},"61":{},"67":{},"82":{},"86":{},"87":{},"88":{},"121":{},"127":{},"154":{},"238":{},"264":{},"280":{},"281":{}},"component":{}}],["cours",{"_index":1436,"title":{},"name":{},"text":{"29":{},"38":{},"40":{},"53":{},"77":{},"87":{},"88":{},"150":{},"286":{}},"component":{}}],["couto",{"_index":4218,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cover",{"_index":1015,"title":{"221-2":{}},"name":{},"text":{"8":{},"13":{},"28":{},"37":{},"38":{},"41":{},"45":{},"63":{},"67":{},"70":{},"73":{},"76":{},"82":{},"87":{},"88":{},"89":{},"155":{},"159":{},"199":{},"249":{},"280":{}},"component":{}}],["coverag",{"_index":3624,"title":{},"name":{},"text":{"66":{}},"component":{}}],["cptcheesebeard",{"_index":3960,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cpu",{"_index":2138,"title":{},"name":{},"text":{"38":{},"94":{},"199":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["cqr",{"_index":1394,"title":{},"name":{},"text":{"28":{},"36":{},"72":{},"82":{}},"component":{}}],["craft",{"_index":7547,"title":{},"name":{},"text":{"227":{},"236":{}},"component":{}}],["crash",{"_index":3991,"title":{},"name":{},"text":{"67":{},"221":{}},"component":{}}],["creat",{"_index":197,"title":{"279":{},"280":{},"281":{},"3-12":{},"5-2":{},"38-6":{},"77-2":{},"80-1":{},"147-8":{},"174-1":{},"191-5":{},"202-4":{},"202-8":{},"202-12":{},"276-1":{},"279-2":{},"279-4":{},"279-5":{},"279-6":{},"280-1":{},"280-2":{},"280-3":{},"280-9":{},"281-5":{},"281-9":{},"285-2":{}},"name":{"279":{},"280":{},"281":{},"283":{}},"text":{"3":{},"5":{},"6":{},"14":{},"15":{},"19":{},"23":{},"24":{},"26":{},"27":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"53":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"97":{},"99":{},"102":{},"104":{},"111":{},"114":{},"115":{},"124":{},"130":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"154":{},"161":{},"168":{},"169":{},"172":{},"173":{},"174":{},"177":{},"178":{},"179":{},"180":{},"191":{},"192":{},"194":{},"199":{},"200":{},"202":{},"203":{},"208":{},"215":{},"217":{},"226":{},"228":{},"234":{},"237":{},"239":{},"242":{},"244":{},"247":{},"260":{},"262":{},"263":{},"264":{},"265":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}},"component":{}}],["create(configur",{"_index":5106,"title":{},"name":{},"text":{"87":{}},"component":{}}],["create/remov",{"_index":7608,"title":{},"name":{},"text":{"255":{}},"component":{}}],["create/return",{"_index":5130,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["create/upd",{"_index":6998,"title":{},"name":{},"text":{"180":{}},"component":{}}],["create_app",{"_index":6712,"title":{},"name":{},"text":{"171":{}},"component":{}}],["create_context",{"_index":6713,"title":{},"name":{},"text":{"171":{}},"component":{}}],["create_controldb_backup",{"_index":6714,"title":{},"name":{},"text":{"171":{}},"component":{}}],["create_if_miss",{"_index":1991,"title":{},"name":{},"text":{"35":{}},"component":{}}],["create_replication_group",{"_index":6715,"title":{},"name":{},"text":{"171":{}},"component":{}}],["createbikecommand",{"_index":7952,"title":{},"name":{},"text":{"281":{}},"component":{}}],["createcontext(createcontextrequest",{"_index":6979,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createheadtoken",{"_index":5171,"title":{},"name":{},"text":{"88":{}},"component":{}}],["createinvoicecommand",{"_index":2336,"title":{},"name":{},"text":{"40":{},"68":{}},"component":{}}],["createinvoiceid",{"_index":4440,"title":{},"name":{},"text":{"68":{}},"component":{}}],["createnew",{"_index":4875,"title":{},"name":{},"text":{"80":{}},"component":{}}],["createnew(class",{"_index":4916,"title":{},"name":{},"text":{"82":{}},"component":{}}],["createorrechargecardcommand",{"_index":1988,"title":{},"name":{},"text":{"35":{}},"component":{}}],["createorupdateapplication(applicationrequest",{"_index":6999,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createorupdateuser(createorupdateuserrequest",{"_index":7006,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createreplicationgroup(createreplicationgrouprequest",{"_index":6990,"title":{},"name":{},"text":{"180":{}},"component":{}}],["createrepository(aggregatefactori",{"_index":2171,"title":{},"name":{},"text":{"38":{}},"component":{}}],["createschema",{"_index":2577,"title":{},"name":{},"text":{"46":{}},"component":{}}],["createshipmentid",{"_index":4438,"title":{},"name":{},"text":{"68":{}},"component":{}}],["createtailtoken",{"_index":5172,"title":{},"name":{},"text":{"88":{}},"component":{}}],["createtokenat(inst",{"_index":5173,"title":{},"name":{},"text":{"88":{}},"component":{}}],["createtokensince(dur",{"_index":5174,"title":{},"name":{},"text":{"88":{}},"component":{}}],["creation",{"_index":934,"title":{"80":{},"35-4":{},"59-13":{}},"name":{"80":{}},"text":{"6":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"51":{},"59":{},"66":{},"67":{},"69":{},"77":{},"80":{},"81":{},"82":{},"84":{},"87":{},"99":{},"102":{},"114":{},"140":{},"142":{},"143":{},"145":{},"147":{},"172":{},"178":{},"180":{},"192":{},"280":{},"281":{},"282":{}},"component":{}}],["creationpolici",{"_index":1981,"title":{},"name":{},"text":{"35":{},"66":{},"67":{}},"component":{}}],["creationpolicy(aggregatecreationpolicy.alway",{"_index":1985,"title":{},"name":{},"text":{"35":{}},"component":{}}],["creationpolicy(aggregatecreationpolicy.create_if_miss",{"_index":1236,"title":{},"name":{},"text":{"20":{},"35":{}},"component":{}}],["creationpolicy(alway",{"_index":4282,"title":{},"name":{},"text":{"67":{}},"component":{}}],["creationpolicyaggregatefactori",{"_index":3892,"title":{},"name":{},"text":{"67":{}},"component":{}}],["credenti",{"_index":6556,"title":{"166-1":{},"276-3":{}},"name":{},"text":{"166":{},"233":{},"276":{},"277":{}},"component":{}}],["credit",{"_index":726,"title":{"5-6":{}},"name":{},"text":{"5":{},"40":{},"67":{},"249":{},"250":{},"254":{}},"component":{}}],["criteria",{"_index":3140,"title":{},"name":{},"text":{"63":{},"87":{},"151":{},"280":{}},"component":{}}],["critic",{"_index":6048,"title":{},"name":{},"text":{"140":{},"244":{},"262":{}},"component":{}}],["cross",{"_index":2137,"title":{},"name":{},"text":{"38":{},"46":{},"206":{}},"component":{}}],["crucial",{"_index":2184,"title":{},"name":{},"text":{"38":{},"88":{},"234":{},"246":{},"260":{}},"component":{}}],["crud",{"_index":5162,"title":{},"name":{},"text":{"88":{}},"component":{}}],["cs.foreach(system.out::println",{"_index":3187,"title":{},"name":{},"text":{"63":{}},"component":{}}],["ctx.get(\"secur",{"_index":5881,"title":{},"name":{},"text":{"121":{}},"component":{}}],["ctx.haskey(\"secur",{"_index":5879,"title":{},"name":{},"text":{"121":{}},"component":{}}],["cumbersom",{"_index":2673,"title":{},"name":{},"text":{"49":{}},"component":{}}],["curiou",{"_index":4277,"title":{},"name":{},"text":{"67":{},"145":{}},"component":{}}],["curl",{"_index":6555,"title":{},"name":{},"text":{"165":{},"166":{},"169":{},"173":{},"280":{},"283":{}},"component":{}}],["current",{"_index":286,"title":{},"name":{},"text":{"3":{},"15":{},"18":{},"30":{},"31":{},"33":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"60":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"86":{},"88":{},"89":{},"107":{},"115":{},"117":{},"118":{},"127":{},"141":{},"142":{},"143":{},"145":{},"151":{},"154":{},"161":{},"170":{},"172":{},"177":{},"179":{},"185":{},"186":{},"187":{},"191":{},"192":{},"211":{},"226":{},"228":{},"244":{},"245":{},"246":{},"247":{},"250":{},"254":{},"260":{},"261":{},"262":{},"274":{},"280":{},"281":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["currentunitofwork.get",{"_index":2846,"title":{},"name":{},"text":{"53":{}},"component":{}}],["currentunitofwork.isstart",{"_index":2847,"title":{},"name":{},"text":{"53":{}},"component":{}}],["currentunitofwork.set(unitofwork",{"_index":2877,"title":{},"name":{},"text":{"53":{}},"component":{}}],["custom",{"_index":143,"title":{"25":{},"101":{},"38-6":{},"50-5":{},"115-4":{},"151-4":{},"274-40":{}},"name":{},"text":{"2":{},"10":{},"12":{},"24":{},"25":{},"27":{},"30":{},"31":{},"33":{},"35":{},"36":{},"38":{},"39":{},"46":{},"49":{},"50":{},"52":{},"54":{},"57":{},"59":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"101":{},"115":{},"126":{},"128":{},"132":{},"140":{},"144":{},"145":{},"146":{},"151":{},"156":{},"172":{},"184":{},"191":{},"192":{},"208":{},"217":{},"273":{},"274":{},"277":{}},"component":{"24":{},"25":{},"26":{}}}],["customcommandgateway(commandbu",{"_index":2127,"title":{},"name":{},"text":{"38":{}},"component":{}}],["customcorrelationdataprovid",{"_index":2694,"title":{},"name":{},"text":{"50":{}},"component":{}}],["customenqueuepolici",{"_index":1031,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["customerid",{"_index":1652,"title":{},"name":{},"text":{"31":{},"195":{}},"component":{}}],["customiz",{"_index":2583,"title":{},"name":{},"text":{"46":{},"66":{},"84":{},"128":{}},"component":{}}],["customroutingannot",{"_index":2242,"title":{},"name":{},"text":{"38":{}},"component":{}}],["customroutingproperti",{"_index":4942,"title":{},"name":{},"text":{"84":{}},"component":{}}],["customsourc",{"_index":5767,"title":{},"name":{},"text":{"115":{}},"component":{}}],["customspanattributesprovid",{"_index":3037,"title":{},"name":{},"text":{"59":{}},"component":{}}],["customtargettenantresolv",{"_index":5713,"title":{},"name":{},"text":{"115":{}},"component":{}}],["cve",{"_index":4230,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cve’",{"_index":4264,"title":{},"name":{},"text":{"67":{}},"component":{}}],["cycl",{"_index":796,"title":{"69-1":{},"254-3":{}},"name":{},"text":{"5":{},"6":{},"35":{},"38":{},"66":{},"69":{},"71":{},"82":{},"88":{},"106":{},"254":{}},"component":{}}],["d",{"_index":362,"title":{},"name":{},"text":{"3":{},"147":{},"168":{},"170":{},"172":{},"178":{},"179":{},"191":{},"283":{}},"component":{}}],["d29775ea",{"_index":7935,"title":{},"name":{},"text":{"280":{}},"component":{}}],["d2d1",{"_index":7273,"title":{},"name":{},"text":{"202":{}},"component":{}}],["dactiverecipes=org.axonframework.migration.upgradeaxonframework_4_7_javax",{"_index":1845,"title":{},"name":{},"text":{"33":{}},"component":{}}],["dactiverecipes=org.openrewrite.java.spring.boot3.upgradespringboot_3_0,org.axonframework.migration.upgradeaxonframework_4_7_jakarta",{"_index":1848,"title":{},"name":{},"text":{"33":{}},"component":{}}],["dakr0013",{"_index":4221,"title":{},"name":{},"text":{"67":{}},"component":{}}],["damir",{"_index":4357,"title":{},"name":{},"text":{"67":{}},"component":{}}],["darchetypeartifactid=pom",{"_index":7804,"title":{},"name":{},"text":{"279":{}},"component":{}}],["darchetypegroupid=org.codehaus.mojo.archetyp",{"_index":7803,"title":{},"name":{},"text":{"279":{}},"component":{}}],["darchetypeversion=releas",{"_index":7805,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dark/light",{"_index":6017,"title":{},"name":{},"text":{"140":{}},"component":{}}],["dartifactid=bik",{"_index":7807,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dartifactid=cor",{"_index":7822,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dartifactid=rent",{"_index":7820,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dasboard",{"_index":7565,"title":{},"name":{},"text":{"235":{}},"component":{}}],["dashboard",{"_index":2358,"title":{"238":{},"241":{},"241-2":{}},"name":{"241":{}},"text":{"40":{},"88":{},"140":{},"174":{},"178":{},"179":{},"199":{},"201":{},"203":{},"232":{},"237":{},"238":{},"241":{},"244":{},"263":{},"264":{},"265":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"276":{},"277":{},"283":{},"284":{}},"component":{}}],["dashboard’",{"_index":5290,"title":{},"name":{},"text":{"88":{}},"component":{}}],["data",{"_index":299,"title":{"248":{},"5-13":{},"5-15":{},"47-1":{},"47-2":{},"50-1":{},"50-5":{},"56-1":{},"151-12":{},"206-24":{},"247-2":{}},"name":{"248":{}},"text":{"3":{},"5":{},"6":{},"24":{},"29":{},"31":{},"32":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"56":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"83":{},"87":{},"88":{},"94":{},"108":{},"114":{},"115":{},"117":{},"120":{},"140":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"161":{},"162":{},"163":{},"169":{},"174":{},"178":{},"179":{},"185":{},"191":{},"192":{},"194":{},"195":{},"197":{},"199":{},"202":{},"206":{},"216":{},"226":{},"239":{},"243":{},"260":{},"261":{},"276":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["data/axonserver.log",{"_index":308,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data/plugins/bundl",{"_index":302,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data/plugins/cach",{"_index":305,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data1",{"_index":459,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data1:/axonserver/data",{"_index":436,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data2",{"_index":471,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data2:/axonserver/data",{"_index":447,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data3",{"_index":477,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["data3:/axonserver/data",{"_index":453,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["databas",{"_index":116,"title":{"79":{},"152":{},"4-2":{},"140-7":{},"142-1":{}},"name":{"152":{}},"text":{"2":{},"4":{},"15":{},"19":{},"29":{},"30":{},"32":{},"36":{},"40":{},"46":{},"49":{},"53":{},"63":{},"64":{},"67":{},"68":{},"69":{},"71":{},"78":{},"79":{},"86":{},"88":{},"114":{},"115":{},"117":{},"140":{},"142":{},"147":{},"149":{},"153":{},"155":{},"161":{},"179":{},"185":{},"192":{},"226":{},"260":{},"280":{}},"component":{}}],["database/servic",{"_index":2795,"title":{},"name":{},"text":{"51":{}},"component":{}}],["datadog",{"_index":5987,"title":{},"name":{},"text":{"133":{}},"component":{}}],["datafil",{"_index":6169,"title":{},"name":{},"text":{"143":{}},"component":{}}],["datainputstream",{"_index":1659,"title":{},"name":{},"text":{"31":{}},"component":{}}],["dataoutputstream",{"_index":1660,"title":{},"name":{},"text":{"31":{}},"component":{}}],["datasourc",{"_index":682,"title":{"4-1":{}},"name":{},"text":{"46":{},"69":{},"71":{},"88":{},"115":{},"147":{}},"component":{}}],["datasource(datasourc",{"_index":4517,"title":{},"name":{},"text":{"69":{}},"component":{}}],["datasourceproperti",{"_index":5717,"title":{},"name":{},"text":{"115":{}},"component":{}}],["date",{"_index":3153,"title":{},"name":{},"text":{"63":{},"74":{},"77":{},"88":{},"140":{},"151":{},"156":{},"157":{},"195":{},"215":{},"274":{},"280":{},"281":{}},"component":{}}],["datetim",{"_index":7464,"title":{},"name":{},"text":{"212":{},"215":{},"217":{}},"component":{}}],["daunt",{"_index":7987,"title":{},"name":{},"text":{"282":{}},"component":{}}],["day",{"_index":1202,"title":{},"name":{},"text":{"18":{},"22":{},"40":{},"69":{},"74":{},"77":{},"115":{},"198":{},"250":{},"254":{}},"component":{}}],["day(timestamp",{"_index":7193,"title":{},"name":{},"text":{"195":{}},"component":{}}],["daylight",{"_index":4816,"title":{},"name":{},"text":{"79":{}},"component":{}}],["db",{"_index":688,"title":{"40-4":{}},"name":{},"text":{"4":{},"39":{},"40":{},"66":{},"140":{},"141":{},"142":{},"160":{},"179":{},"185":{},"280":{}},"component":{}}],["dbschedul",{"_index":2295,"title":{},"name":{},"text":{"39":{},"66":{}},"component":{}}],["dbschedulerdeadlinemanag",{"_index":1211,"title":{},"name":{},"text":{"19":{},"39":{},"67":{}},"component":{}}],["dbschedulerdeadlinemanager.build",{"_index":2327,"title":{},"name":{},"text":{"39":{}},"component":{}}],["dbschedulereventschedul",{"_index":2362,"title":{},"name":{},"text":{"40":{}},"component":{}}],["dbschedulereventseri",{"_index":2343,"title":{},"name":{},"text":{"40":{}},"component":{}}],["dd't'hh:mm:ss.sssx",{"_index":7018,"title":{},"name":{},"text":{"184":{}},"component":{}}],["ddd",{"_index":7151,"title":{},"name":{},"text":{"192":{},"281":{}},"component":{}}],["de",{"_index":1605,"title":{},"name":{},"text":{"31":{},"66":{},"67":{},"101":{},"120":{},"290":{}},"component":{}}],["de)seri",{"_index":1586,"title":{},"name":{},"text":{"31":{},"67":{},"104":{}},"component":{}}],["deactiv",{"_index":6240,"title":{"145-27":{}},"name":{},"text":{"145":{}},"component":{}}],["dead",{"_index":848,"title":{"15":{},"16":{},"17":{},"86":{},"110":{},"257":{},"15-1":{},"15-2":{},"87-7":{},"111-4":{},"115-8":{}},"name":{"86":{}},"text":{"5":{},"7":{},"14":{},"15":{},"16":{},"17":{},"52":{},"66":{},"67":{},"79":{},"86":{},"87":{},"110":{},"111":{},"115":{},"249":{},"250":{},"255":{},"257":{},"259":{},"276":{}},"component":{"14":{},"15":{},"16":{},"17":{}}}],["dead_letter_entri",{"_index":4839,"title":{},"name":{},"text":{"79":{},"86":{}},"component":{}}],["deadlett",{"_index":2838,"title":{},"name":{},"text":{"52":{},"66":{},"67":{},"86":{},"111":{}},"component":{}}],["deadletter.message().getidentifier().equals(firstletterid",{"_index":5036,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadletter.message().getpayload",{"_index":5017,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadletterprocessor",{"_index":5012,"title":{},"name":{},"text":{"86":{},"115":{}},"component":{}}],["deadletterprovid",{"_index":1073,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deadletterqueu",{"_index":4090,"title":{},"name":{},"text":{"67":{}},"component":{}}],["deadletterqueueconfigurermodul",{"_index":4992,"title":{},"name":{},"text":{"86":{},"110":{}},"component":{}}],["deadletterqueueoverflowexcept",{"_index":4995,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadletterqueueprovid",{"_index":1081,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deadletterqueueproviderconfigurermodul",{"_index":1087,"title":{},"name":{},"text":{"15":{}},"component":{}}],["deadlettersequ",{"_index":5025,"title":{},"name":{},"text":{"86":{}},"component":{}}],["deadlin",{"_index":786,"title":{"20":{},"21":{},"22":{},"39":{},"41":{},"39-1":{},"39-2":{},"40-1":{},"59-33":{},"72-9":{},"115-9":{}},"name":{"39":{}},"text":{"5":{},"10":{},"12":{},"18":{},"19":{},"20":{},"21":{},"22":{},"31":{},"39":{},"40":{},"41":{},"52":{},"59":{},"66":{},"67":{},"72":{},"97":{},"115":{},"118":{}},"component":{"18":{},"19":{},"20":{},"21":{},"22":{}}}],["deadlinecancelingcompon",{"_index":2286,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinehandl",{"_index":2304,"title":{},"name":{},"text":{"39":{},"66":{}},"component":{}}],["deadlinehandler(deadlinenam",{"_index":1245,"title":{},"name":{},"text":{"20":{},"39":{}},"component":{}}],["deadlinehandler`when",{"_index":2271,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlineid",{"_index":2279,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinejob.execute(${deadlinename},${deadlinepayloadclass",{"_index":3082,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanag",{"_index":1188,"title":{},"name":{},"text":{"18":{},"19":{},"20":{},"21":{},"39":{},"52":{},"66":{},"67":{},"97":{}},"component":{}}],["deadlinemanager.cancelallwithinscope(expired_gift_card",{"_index":1192,"title":{},"name":{},"text":{"18":{}},"component":{}}],["deadlinemanager.cancelschedule(\"mydeadlin",{"_index":2288,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinemanager.schedul",{"_index":2300,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinemanager.schedule(duration.ofmillis(500",{"_index":2280,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinemanager.schedule(trigg",{"_index":1244,"title":{},"name":{},"text":{"20":{}},"component":{}}],["deadlinemanagerclass}.cancelall(${deadlinenam",{"_index":3080,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanagerclass}.cancelallwithinscope(${deadlinenam",{"_index":3081,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanagerclass}.cancelschedule(${deadlinenam",{"_index":3078,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemanagerclass}.schedule(${deadlinenam",{"_index":3077,"title":{},"name":{},"text":{"59":{}},"component":{}}],["deadlinemessag",{"_index":4562,"title":{},"name":{},"text":{"72":{}},"component":{}}],["deadlinenam",{"_index":2290,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlinepayload",{"_index":2309,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlineschedulingcompon",{"_index":2277,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlineschedulingwithpayloadcompon",{"_index":2298,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadline’",{"_index":2310,"title":{},"name":{},"text":{"39":{}},"component":{}}],["deadlock",{"_index":5203,"title":{},"name":{},"text":{"88":{}},"component":{}}],["deal",{"_index":1321,"title":{},"name":{},"text":{"24":{},"29":{},"31":{},"33":{},"38":{},"40":{},"41":{},"48":{},"51":{},"66":{},"67":{},"69":{},"77":{},"86":{},"87":{},"88":{},"89":{},"94":{},"174":{},"279":{},"281":{}},"component":{}}],["dealt",{"_index":4693,"title":{},"name":{},"text":{"75":{}},"component":{}}],["debug",{"_index":1571,"title":{},"name":{},"text":{"31":{},"46":{},"59":{},"264":{},"274":{}},"component":{}}],["decent",{"_index":2615,"title":{},"name":{},"text":{"46":{}},"component":{}}],["decid",{"_index":138,"title":{"19":{}},"name":{"19":{}},"text":{"2":{},"5":{},"29":{},"35":{},"38":{},"51":{},"63":{},"72":{},"80":{},"83":{},"85":{},"86":{},"87":{},"88":{},"127":{},"145":{},"206":{},"226":{}},"component":{}}],["decide(deadlett",{"_index":1033,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["decis",{"_index":1967,"title":{},"name":{},"text":{"35":{},"42":{},"49":{},"51":{},"66":{},"67":{},"77":{},"80":{},"82":{},"84":{},"86":{},"211":{},"286":{}},"component":{}}],["decisions.donotenqueu",{"_index":1039,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["decisions.enqueue(caus",{"_index":1044,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["decisions.evict",{"_index":1043,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["deciss",{"_index":4981,"title":{},"name":{},"text":{"85":{}},"component":{}}],["declar",{"_index":249,"title":{"278-2":{}},"name":{},"text":{"3":{},"32":{},"35":{},"36":{},"38":{},"43":{},"46":{},"51":{},"52":{},"53":{},"61":{},"62":{},"64":{},"67":{},"77":{},"84":{},"85":{},"90":{},"145":{},"191":{},"270":{},"278":{},"279":{},"280":{}},"component":{}}],["decompos",{"_index":5980,"title":{},"name":{},"text":{"133":{}},"component":{}}],["decor",{"_index":5920,"title":{},"name":{},"text":{"127":{},"128":{},"283":{}},"component":{}}],["decoupl",{"_index":879,"title":{},"name":{},"text":{"6":{},"48":{},"88":{},"89":{},"279":{},"281":{}},"component":{}}],["decreas",{"_index":4701,"title":{"76-1":{},"165-1":{}},"name":{},"text":{"76":{},"87":{},"88":{},"125":{},"165":{},"179":{},"260":{}},"component":{}}],["dedic",{"_index":105,"title":{"202-4":{},"202-8":{},"202-12":{}},"name":{},"text":{"2":{},"3":{},"29":{},"33":{},"44":{},"48":{},"66":{},"67":{},"69":{},"77":{},"79":{},"87":{},"88":{},"100":{},"102":{},"105":{},"120":{},"140":{},"141":{},"145":{},"191":{},"272":{},"274":{},"280":{},"285":{}},"component":{}}],["deduc",{"_index":4271,"title":{},"name":{},"text":{"67":{},"88":{},"99":{},"108":{}},"component":{}}],["deduct",{"_index":7322,"title":{},"name":{},"text":{"203":{}},"component":{}}],["deep",{"_index":2680,"title":{},"name":{},"text":{"49":{},"67":{},"147":{},"249":{}},"component":{}}],["deepequalsmatch",{"_index":4214,"title":{},"name":{},"text":{"67":{}},"component":{}}],["deeper",{"_index":6477,"title":{},"name":{},"text":{"153":{},"246":{}},"component":{}}],["default",{"_index":283,"title":{"79-3":{},"115-12":{},"151-3":{}},"name":{},"text":{"3":{},"5":{},"14":{},"15":{},"16":{},"17":{},"23":{},"25":{},"27":{},"29":{},"31":{},"32":{},"33":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"79":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"94":{},"96":{},"99":{},"100":{},"101":{},"102":{},"104":{},"111":{},"114":{},"115":{},"116":{},"121":{},"127":{},"128":{},"129":{},"130":{},"132":{},"140":{},"141":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"161":{},"162":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"174":{},"177":{},"178":{},"179":{},"185":{},"186":{},"188":{},"189":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"208":{},"215":{},"216":{},"217":{},"219":{},"226":{},"239":{},"242":{},"244":{},"257":{},"260":{},"262":{},"273":{},"274":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["default=tru",{"_index":5966,"title":{},"name":{},"text":{"132":{}},"component":{}}],["defaultcommandgateway",{"_index":2084,"title":{},"name":{},"text":{"38":{},"66":{}},"component":{}}],["defaultconfigur",{"_index":2252,"title":{},"name":{},"text":{"38":{},"50":{},"66":{},"67":{},"147":{}},"component":{}}],["defaultconfigurer.defaultconfigur",{"_index":2006,"title":{},"name":{},"text":{"36":{},"38":{},"46":{},"57":{},"60":{},"61":{},"71":{},"76":{},"77":{},"150":{}},"component":{}}],["defaultconfigurer.defaultconfiguration().registercompon",{"_index":4698,"title":{},"name":{},"text":{"75":{}},"component":{}}],["defaultconfigurer.jpaconfiguration(entitymanagerprovid",{"_index":2558,"title":{},"name":{},"text":{"46":{}},"component":{}}],["defaultconsumerfactori",{"_index":5481,"title":{"104-8":{}},"name":{},"text":{"99":{},"104":{}},"component":{}}],["defaultconsumerfactory<>(consumerconfigur",{"_index":5485,"title":{},"name":{},"text":{"99":{}},"component":{}}],["defaultcontext",{"_index":6344,"title":{},"name":{},"text":{"147":{}},"component":{}}],["defaultkafkamessageconvert",{"_index":5516,"title":{"104-2":{}},"name":{},"text":{"99":{},"101":{},"102":{}},"component":{}}],["defaultkafkamessageconverter.build",{"_index":5549,"title":{},"name":{},"text":{"101":{}},"component":{}}],["defaultmongotempl",{"_index":4493,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["defaultproducerfactori",{"_index":5561,"title":{"104-4":{}},"name":{},"text":{"102":{},"104":{}},"component":{}}],["defaultproducerfactory.build",{"_index":5562,"title":{},"name":{},"text":{"102":{}},"component":{}}],["defaultquerygateway",{"_index":3125,"title":{},"name":{},"text":{"61":{}},"component":{}}],["defaultseri",{"_index":1618,"title":{},"name":{},"text":{"31":{}},"component":{}}],["defaulttenantsourc",{"_index":5768,"title":{},"name":{},"text":{"115":{}},"component":{}}],["defaulttyp",{"_index":1693,"title":{},"name":{},"text":{"31":{}},"component":{}}],["defaultunitofwork",{"_index":2859,"title":{},"name":{},"text":{"53":{}},"component":{}}],["defaultunitofwork.startandget(messag",{"_index":2863,"title":{},"name":{},"text":{"53":{}},"component":{}}],["defens",{"_index":7462,"title":{},"name":{},"text":{"211":{}},"component":{}}],["defer",{"_index":3550,"title":{},"name":{},"text":{"66":{}},"component":{}}],["defin",{"_index":709,"title":{"280-4":{},"281-3":{},"281-6":{},"285-3":{}},"name":{},"text":{"4":{},"27":{},"29":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"51":{},"52":{},"57":{},"58":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"81":{},"83":{},"84":{},"85":{},"87":{},"88":{},"89":{},"94":{},"96":{},"101":{},"102":{},"104":{},"115":{},"121":{},"128":{},"148":{},"149":{},"150":{},"154":{},"156":{},"157":{},"161":{},"169":{},"172":{},"173":{},"177":{},"178":{},"179":{},"180":{},"192":{},"194":{},"199":{},"206":{},"209":{},"216":{},"219":{},"224":{},"237":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"262":{},"270":{},"274":{},"275":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["definit",{"_index":430,"title":{},"name":{},"text":{"3":{},"31":{},"44":{},"46":{},"66":{},"67":{},"77":{},"87":{},"89":{},"147":{},"191":{},"244":{},"279":{},"280":{},"281":{}},"component":{}}],["degrad",{"_index":123,"title":{},"name":{},"text":{"2":{},"151":{}},"component":{}}],["degre",{"_index":5049,"title":{},"name":{},"text":{"87":{},"88":{},"89":{},"270":{}},"component":{}}],["delay",{"_index":6082,"title":{},"name":{},"text":{"141":{},"144":{},"179":{},"265":{},"268":{},"270":{},"271":{},"272":{},"273":{},"277":{}},"component":{}}],["deleg",{"_index":1337,"title":{},"name":{},"text":{"24":{},"38":{},"46":{},"59":{},"69":{},"71":{},"76":{},"88":{},"113":{},"216":{},"219":{}},"component":{}}],["delegate.attribute(\"expectedvalu",{"_index":1344,"title":{},"name":{},"text":{"24":{}},"component":{}}],["delegate.attribute(\"metadatakey",{"_index":1339,"title":{},"name":{},"text":{"24":{}},"component":{}}],["delet",{"_index":855,"title":{"148-8":{}},"name":{},"text":{"5":{},"36":{},"59":{},"82":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"151":{},"156":{},"168":{},"174":{},"178":{},"179":{},"180":{},"215":{},"231":{},"244":{},"249":{},"257":{},"259":{},"262":{},"280":{}},"component":{}}],["delete(identifi",{"_index":2025,"title":{},"name":{},"text":{"36":{}},"component":{}}],["delete/cr",{"_index":6031,"title":{},"name":{},"text":{"140":{}},"component":{}}],["delete_app",{"_index":6716,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_context",{"_index":6717,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_node_from_context",{"_index":6718,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_node_from_replication_group",{"_index":6719,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_plugin",{"_index":6720,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_replication_group",{"_index":6721,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_task",{"_index":6722,"title":{},"name":{},"text":{"171":{}},"component":{}}],["delete_us",{"_index":6644,"title":{},"name":{},"text":{"171":{}},"component":{}}],["deleteapplication(applicationid",{"_index":7000,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deletecontext(deletecontextrequest",{"_index":6980,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deletereplicationgroup(deletereplicationgrouprequest",{"_index":6991,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deleteuser(deleteuserrequest",{"_index":7007,"title":{},"name":{},"text":{"180":{}},"component":{}}],["deliber",{"_index":7667,"title":{},"name":{},"text":{"269":{},"274":{}},"component":{}}],["delic",{"_index":4479,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["delimit",{"_index":7188,"title":{},"name":{},"text":{"195":{}},"component":{}}],["deliv",{"_index":909,"title":{},"name":{},"text":{"6":{},"36":{},"52":{},"68":{},"88":{},"121":{},"140":{},"221":{},"280":{},"281":{},"284":{}},"component":{}}],["deliveri",{"_index":914,"title":{},"name":{},"text":{"6":{},"30":{},"34":{},"86":{},"87":{},"154":{},"192":{}},"component":{}}],["demand",{"_index":968,"title":{},"name":{},"text":{"6":{},"30":{},"140":{}},"component":{}}],["demarc",{"_index":4769,"title":{},"name":{},"text":{"77":{}},"component":{}}],["demo",{"_index":446,"title":{"277":{},"201-4":{},"203-2":{},"203-3":{},"203-4":{},"203-5":{},"277-2":{},"277-3":{}},"name":{"277":{}},"text":{"3":{},"5":{},"191":{},"201":{},"202":{},"203":{},"237":{},"238":{},"241":{},"247":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"279":{},"282":{}},"component":{"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{}}}],["demonstr",{"_index":2065,"title":{},"name":{},"text":{"37":{},"62":{},"202":{},"209":{},"286":{}},"component":{}}],["demystifi",{"_index":1712,"title":{"32-3":{}},"name":{},"text":{},"component":{}}],["denot",{"_index":6826,"title":{},"name":{},"text":{"179":{}},"component":{}}],["depart",{"_index":7571,"title":{},"name":{},"text":{"237":{}},"component":{}}],["depend",{"_index":216,"title":{"67-26":{},"140-5":{},"278-2":{},"279-7":{}},"name":{},"text":{"3":{},"5":{},"6":{},"12":{},"15":{},"17":{},"20":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"48":{},"49":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"86":{},"87":{},"88":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"103":{},"104":{},"112":{},"114":{},"121":{},"122":{},"123":{},"126":{},"128":{},"131":{},"133":{},"134":{},"138":{},"140":{},"141":{},"144":{},"145":{},"147":{},"154":{},"161":{},"172":{},"191":{},"192":{},"194":{},"195":{},"211":{},"232":{},"237":{},"238":{},"244":{},"250":{},"254":{},"260":{},"267":{},"270":{},"274":{},"276":{},"277":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["dependabot",{"_index":3378,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dependabot[bot",{"_index":3458,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dependencymanag",{"_index":1549,"title":{},"name":{},"text":{"30":{},"276":{}},"component":{}}],["depict",{"_index":433,"title":{},"name":{},"text":{"3":{},"35":{},"50":{},"87":{},"143":{},"145":{},"147":{},"157":{},"169":{},"178":{},"191":{},"192":{},"290":{}},"component":{}}],["deplet",{"_index":1182,"title":{},"name":{},"text":{"18":{}},"component":{}}],["deploy",{"_index":200,"title":{"3-13":{},"191-6":{}},"name":{},"text":{"3":{},"5":{},"6":{},"31":{},"66":{},"77":{},"133":{},"137":{},"138":{},"140":{},"142":{},"146":{},"147":{},"154":{},"160":{},"162":{},"175":{},"178":{},"190":{},"191":{},"192":{},"199":{},"234":{},"238":{},"274":{},"279":{},"281":{},"282":{}},"component":{}}],["deprec",{"_index":179,"title":{"186-6":{},"206-2":{}},"name":{},"text":{"2":{},"4":{},"33":{},"59":{},"66":{},"67":{},"77":{},"169":{},"186":{},"206":{},"215":{}},"component":{}}],["depth",{"_index":4407,"title":{},"name":{},"text":{"67":{},"97":{},"260":{}},"component":{}}],["deregist",{"_index":4103,"title":{},"name":{},"text":{"67":{}},"component":{}}],["deriv",{"_index":2979,"title":{},"name":{},"text":{"58":{},"67":{},"81":{},"149":{},"185":{},"280":{}},"component":{}}],["descend",{"_index":3088,"title":{},"name":{},"text":{"59":{}},"component":{}}],["describ",{"_index":918,"title":{},"name":{},"text":{"6":{},"29":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"42":{},"44":{},"47":{},"49":{},"51":{},"56":{},"59":{},"60":{},"64":{},"66":{},"67":{},"72":{},"74":{},"75":{},"79":{},"80":{},"84":{},"86":{},"87":{},"88":{},"94":{},"99":{},"105":{},"106":{},"108":{},"121":{},"129":{},"147":{},"150":{},"153":{},"154":{},"155":{},"172":{},"174":{},"177":{},"178":{},"250":{},"260":{},"263":{},"276":{},"277":{},"279":{},"280":{},"284":{}},"component":{}}],["describeto(descript",{"_index":4603,"title":{},"name":{},"text":{"72":{}},"component":{}}],["descript",{"_index":1018,"title":{},"name":{},"text":{"8":{},"13":{},"33":{},"44":{},"47":{},"49":{},"59":{},"67":{},"72":{},"82":{},"86":{},"129":{},"143":{},"144":{},"145":{},"147":{},"155":{},"160":{},"164":{},"168":{},"169":{},"176":{},"178":{},"179":{},"185":{},"186":{},"188":{},"199":{},"262":{},"280":{}},"component":{}}],["descriptor",{"_index":580,"title":{"284-3":{}},"name":{},"text":{"3":{},"52":{},"191":{},"277":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["deselect",{"_index":7710,"title":{},"name":{},"text":{"274":{}},"component":{}}],["deseri",{"_index":1560,"title":{"31-10":{}},"name":{},"text":{"31":{},"40":{},"66":{},"67":{},"69":{},"101":{},"124":{},"130":{}},"component":{}}],["deserv",{"_index":5379,"title":{},"name":{},"text":{"89":{}},"component":{}}],["design",{"_index":106,"title":{"281-1":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"28":{},"34":{},"35":{},"38":{},"52":{},"68":{},"77":{},"82":{},"86":{},"120":{},"154":{},"191":{},"192":{},"210":{},"227":{},"230":{},"235":{},"236":{},"240":{},"260":{},"264":{},"279":{},"280":{},"281":{},"283":{},"285":{},"287":{}},"component":{}}],["desir",{"_index":1357,"title":{},"name":{},"text":{"25":{},"27":{},"31":{},"34":{},"35":{},"44":{},"46":{},"51":{},"56":{},"64":{},"67":{},"72":{},"75":{},"82":{},"87":{},"88":{},"104":{},"144":{},"145":{},"179":{},"270":{},"274":{},"286":{}},"component":{}}],["desktop",{"_index":239,"title":{},"name":{},"text":{"3":{},"191":{},"277":{},"284":{}},"component":{}}],["despit",{"_index":3019,"title":{},"name":{},"text":{"59":{}},"component":{}}],["destin",{"_index":778,"title":{"274-26":{},"274-38":{}},"name":{},"text":{"5":{},"36":{},"38":{},"49":{},"75":{},"94":{},"221":{},"239":{},"242":{},"274":{}},"component":{}}],["destruct",{"_index":2434,"title":{},"name":{},"text":{"44":{}},"component":{}}],["detail",{"_index":487,"title":{"6-2":{},"239-1":{},"242-1":{},"245-1":{},"246-1":{},"274-3":{},"274-14":{},"274-23":{},"274-31":{}},"name":{},"text":{"3":{},"5":{},"6":{},"28":{},"30":{},"31":{},"32":{},"33":{},"35":{},"37":{},"38":{},"41":{},"45":{},"48":{},"54":{},"55":{},"63":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"73":{},"78":{},"79":{},"82":{},"87":{},"88":{},"89":{},"99":{},"101":{},"140":{},"144":{},"145":{},"147":{},"157":{},"165":{},"169":{},"178":{},"180":{},"185":{},"191":{},"192":{},"199":{},"202":{},"203":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"219":{},"220":{},"235":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"260":{},"263":{},"267":{},"269":{},"273":{},"274":{},"281":{},"283":{},"285":{}},"component":{}}],["details=when",{"_index":7034,"title":{},"name":{},"text":{"185":{}},"component":{}}],["detect",{"_index":1295,"title":{"272":{},"273":{}},"name":{},"text":{"23":{},"26":{},"31":{},"36":{},"38":{},"46":{},"52":{},"66":{},"67":{},"72":{},"74":{},"81":{},"83":{},"94":{},"140":{},"179":{},"206":{},"239":{},"242":{},"244":{},"245":{},"246":{},"264":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"277":{},"279":{},"284":{}},"component":{}}],["detectconflict",{"_index":4927,"title":{},"name":{},"text":{"83":{}},"component":{}}],["determin",{"_index":817,"title":{},"name":{},"text":{"5":{},"58":{},"86":{},"115":{},"147":{},"151":{},"157":{},"169":{},"176":{},"179":{},"261":{}},"component":{}}],["determinist",{"_index":4690,"title":{},"name":{},"text":{"74":{}},"component":{}}],["dev",{"_index":600,"title":{},"name":{},"text":{"3":{},"66":{},"140":{},"191":{}},"component":{}}],["develop",{"_index":67,"title":{"140-19":{},"148-1":{},"250-1":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"16":{},"27":{},"28":{},"37":{},"45":{},"48":{},"59":{},"62":{},"66":{},"70":{},"88":{},"89":{},"140":{},"141":{},"143":{},"148":{},"154":{},"155":{},"172":{},"177":{},"191":{},"199":{},"200":{},"201":{},"203":{},"210":{},"227":{},"232":{},"234":{},"236":{},"239":{},"249":{},"250":{},"254":{},"255":{},"259":{},"268":{},"274":{},"276":{},"281":{},"282":{}},"component":{}}],["developer/view",{"_index":7612,"title":{},"name":{},"text":{"255":{}},"component":{}}],["developmentmod",{"_index":7162,"title":{},"name":{},"text":{"192":{}},"component":{}}],["deviat",{"_index":2247,"title":{},"name":{},"text":{"38":{},"46":{},"64":{},"244":{}},"component":{}}],["devic",{"_index":463,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["devmode.en",{"_index":6830,"title":{},"name":{},"text":{"179":{}},"component":{}}],["devop",{"_index":7646,"title":{},"name":{},"text":{"264":{},"265":{}},"component":{}}],["devtool",{"_index":3990,"title":{},"name":{},"text":{"67":{}},"component":{}}],["devtools.properti",{"_index":3987,"title":{},"name":{},"text":{"67":{}},"component":{}}],["dgomezg",{"_index":3303,"title":{},"name":{},"text":{"66":{},"284":{}},"component":{}}],["dgroupid=io.axoniq.demo.bikerent",{"_index":7806,"title":{},"name":{},"text":{"279":{}},"component":{}}],["diagnos",{"_index":7592,"title":{},"name":{},"text":{"246":{}},"component":{}}],["diagnost",{"_index":1048,"title":{"187":{},"140-12":{}},"name":{"187":{}},"text":{"14":{},"79":{},"86":{},"140":{},"141":{}},"component":{}}],["diagram",{"_index":6256,"title":{"258":{},"274-40":{}},"name":{},"text":{"145":{},"274":{},"280":{},"281":{}},"component":{}}],["dialect",{"_index":4487,"title":{"79-4":{}},"name":{},"text":{"69":{},"71":{},"79":{}},"component":{}}],["dialog",{"_index":5325,"title":{},"name":{},"text":{"88":{},"141":{},"260":{},"262":{},"263":{},"267":{},"274":{},"276":{},"277":{}},"component":{}}],["dialogu",{"_index":6554,"title":{},"name":{},"text":{"165":{}},"component":{}}],["dictat",{"_index":2503,"title":{},"name":{},"text":{"44":{},"53":{},"88":{}},"component":{}}],["didn’t",{"_index":3786,"title":{},"name":{},"text":{"66":{},"67":{},"221":{},"280":{}},"component":{}}],["differ",{"_index":4,"title":{"31-9":{},"88-20":{},"151-18":{}},"name":{},"text":{"1":{},"2":{},"3":{},"17":{},"24":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"51":{},"53":{},"57":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"94":{},"100":{},"102":{},"107":{},"114":{},"115":{},"121":{},"127":{},"140":{},"141":{},"145":{},"147":{},"150":{},"151":{},"156":{},"157":{},"165":{},"172":{},"174":{},"176":{},"191":{},"192":{},"204":{},"206":{},"211":{},"212":{},"214":{},"217":{},"221":{},"237":{},"238":{},"241":{},"243":{},"244":{},"254":{},"255":{},"262":{},"263":{},"268":{},"270":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"285":{}},"component":{}}],["difficult",{"_index":1733,"title":{},"name":{},"text":{"32":{},"151":{},"264":{}},"component":{}}],["digit",{"_index":6361,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["dilsh0d",{"_index":3735,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dimension",{"_index":1501,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["dinteractivemode=fals",{"_index":7809,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dir",{"_index":6835,"title":{},"name":{},"text":{"179":{}},"component":{}}],["direct",{"_index":937,"title":{"59-37":{}},"name":{},"text":{"6":{},"8":{},"13":{},"36":{},"53":{},"59":{},"63":{},"67":{},"69":{},"81":{},"99":{},"174":{},"230":{},"290":{}},"component":{}}],["directexecutor",{"_index":5964,"title":{},"name":{},"text":{"130":{}},"component":{}}],["directli",{"_index":568,"title":{"145-26":{}},"name":{},"text":{"3":{},"6":{},"16":{},"21":{},"24":{},"28":{},"29":{},"31":{},"34":{},"35":{},"36":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"49":{},"51":{},"52":{},"53":{},"55":{},"58":{},"59":{},"66":{},"67":{},"72":{},"74":{},"76":{},"88":{},"104":{},"105":{},"121":{},"140":{},"143":{},"144":{},"145":{},"165":{},"169":{},"173":{},"191":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"254":{},"263":{},"264":{},"267":{},"277":{},"280":{},"281":{},"283":{}},"component":{}}],["directori",{"_index":242,"title":{"10-1":{},"11-1":{},"170-3":{}},"name":{},"text":{"3":{},"4":{},"32":{},"79":{},"143":{},"147":{},"148":{},"149":{},"161":{},"167":{},"169":{},"170":{},"172":{},"178":{},"179":{},"191":{},"192":{},"208":{},"279":{}},"component":{}}],["disabl",{"_index":501,"title":{"116":{},"115-13":{}},"name":{"116":{}},"text":{"3":{},"5":{},"32":{},"38":{},"59":{},"66":{},"67":{},"76":{},"115":{},"116":{},"127":{},"132":{},"140":{},"156":{},"179":{},"189":{},"191":{},"260":{}},"component":{}}],["disableeventblacklist",{"_index":4715,"title":{},"name":{},"text":{"76":{}},"component":{}}],["disableheartbeats(configur",{"_index":7140,"title":{},"name":{},"text":{"189":{}},"component":{}}],["disadvantag",{"_index":2593,"title":{},"name":{},"text":{"46":{}},"component":{}}],["disallow",{"_index":4760,"title":{},"name":{},"text":{"77":{},"88":{}},"component":{}}],["disallowreplay",{"_index":3312,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["disast",{"_index":6100,"title":{},"name":{},"text":{"142":{}},"component":{}}],["discard",{"_index":5874,"title":{},"name":{},"text":{"121":{}},"component":{}}],["disconnect",{"_index":5455,"title":{},"name":{},"text":{"96":{},"140":{},"141":{},"143":{},"145":{},"156":{},"186":{}},"component":{}}],["discourag",{"_index":7533,"title":{},"name":{},"text":{"221":{}},"component":{}}],["discov",{"_index":762,"title":{"127":{}},"name":{},"text":{"5":{},"111":{},"127":{},"129":{},"148":{},"206":{},"220":{},"229":{},"234":{},"263":{}},"component":{}}],["discover",{"_index":5922,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["discoveri",{"_index":5358,"title":{},"name":{},"text":{"88":{},"94":{},"127":{},"129":{},"206":{}},"component":{}}],["discovery.pol",{"_index":7371,"title":{"206-54":{}},"name":{},"text":{},"component":{}}],["discovery.retri",{"_index":7370,"title":{"206-53":{}},"name":{},"text":{},"component":{}}],["discovery.timeout",{"_index":7369,"title":{"206-52":{}},"name":{},"text":{},"component":{}}],["discovery/eureka",{"_index":5959,"title":{},"name":{},"text":{"129":{}},"component":{}}],["discoverycli",{"_index":5911,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["discoveryclient(discoverycli",{"_index":5937,"title":{},"name":{},"text":{"128":{}},"component":{}}],["discrep",{"_index":3766,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["discuss",{"_index":44,"title":{"2-4":{}},"name":{},"text":{"3":{},"8":{},"13":{},"34":{},"44":{},"63":{},"66":{},"67":{},"79":{},"84":{},"87":{},"88":{},"124":{},"168":{},"174":{},"191":{},"235":{},"265":{},"272":{},"281":{}},"component":{}}],["disk",{"_index":4793,"title":{},"name":{},"text":{"77":{},"145":{},"148":{},"151":{},"164":{},"179":{},"199":{},"262":{}},"component":{}}],["diskspac",{"_index":7029,"title":{},"name":{},"text":{"185":{}},"component":{}}],["dispatch",{"_index":774,"title":{"34":{},"42":{},"63":{},"34-3":{},"42-1":{},"42-2":{},"51-2":{},"51-7":{},"51-10":{},"121-15":{}},"name":{"34":{},"42":{},"63":{}},"text":{"5":{},"34":{},"35":{},"37":{},"38":{},"42":{},"45":{},"46":{},"49":{},"51":{},"56":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"72":{},"74":{},"88":{},"94":{},"105":{},"108":{},"121":{},"127":{},"130":{},"143":{},"169":{},"274":{},"281":{}},"component":{}}],["dispatch(commandmessag",{"_index":1853,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dispatch_command",{"_index":6590,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["dispatch_queri",{"_index":6591,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["dispatch_subscription_queri",{"_index":6689,"title":{},"name":{},"text":{"171":{}},"component":{}}],["dispatchcommand",{"_index":1855,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dispatchev",{"_index":2392,"title":{},"name":{},"text":{"42":{}},"component":{}}],["dispatching/handl",{"_index":1912,"title":{},"name":{},"text":{"34":{}},"component":{}}],["dispatchinterceptor",{"_index":2895,"title":{},"name":{},"text":{"56":{}},"component":{}}],["display",{"_index":757,"title":{"274-11":{}},"name":{},"text":{"5":{},"72":{},"140":{},"147":{},"188":{},"192":{},"199":{},"232":{},"239":{},"242":{},"244":{},"245":{},"246":{},"255":{},"271":{},"273":{},"274":{},"276":{},"277":{}},"component":{}}],["disregard",{"_index":5175,"title":{},"name":{},"text":{"88":{}},"component":{}}],["disruptor",{"_index":1466,"title":{"30-10":{}},"name":{},"text":{"30":{},"38":{}},"component":{}}],["disruptorcommandbu",{"_index":2071,"title":{"38-10":{}},"name":{},"text":{"38":{},"66":{},"67":{}},"component":{}}],["disruptorcommandbus(transactionmanag",{"_index":2215,"title":{},"name":{},"text":{"38":{}},"component":{}}],["disruptorcommandbus.class",{"_index":2212,"title":{},"name":{},"text":{"38":{}},"component":{}}],["disruptorconfigur",{"_index":2175,"title":{},"name":{},"text":{"38":{}},"component":{}}],["distinct",{"_index":1536,"title":{},"name":{},"text":{"30":{},"31":{},"36":{},"46":{},"49":{},"63":{},"66":{},"67":{},"88":{},"107":{},"115":{}},"component":{}}],["distinguish",{"_index":2258,"title":{},"name":{},"text":{"38":{},"62":{},"102":{},"144":{},"199":{}},"component":{}}],["distribut",{"_index":415,"title":{"59":{},"38-11":{},"46-14":{},"150-2":{}},"name":{},"text":{"3":{},"30":{},"31":{},"35":{},"38":{},"46":{},"48":{},"49":{},"59":{},"61":{},"66":{},"67":{},"76":{},"77":{},"79":{},"88":{},"89":{},"91":{},"94":{},"100":{},"127":{},"129":{},"133":{},"140":{},"141":{},"147":{},"157":{},"170":{},"172":{},"178":{},"179":{},"180":{},"191":{},"192":{},"215":{},"263":{},"264":{},"266":{},"274":{}},"component":{}}],["distributedcommandbu",{"_index":2074,"title":{"38-17":{}},"name":{},"text":{"38":{},"66":{},"94":{},"96":{},"128":{},"129":{}},"component":{}}],["distributedcommandbus(commandrout",{"_index":5947,"title":{},"name":{},"text":{"128":{}},"component":{}}],["distributedcommandbus.build",{"_index":5445,"title":{},"name":{},"text":{"94":{},"128":{}},"component":{}}],["distributor",{"_index":6930,"title":{},"name":{},"text":{"179":{}},"component":{}}],["distroless",{"_index":321,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["disturb",{"_index":4730,"title":{},"name":{},"text":{"77":{}},"component":{}}],["disucss",{"_index":7566,"title":{},"name":{},"text":{"235":{}},"component":{}}],["dit",{"_index":409,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["dive",{"_index":6352,"title":{},"name":{},"text":{"147":{},"153":{}},"component":{}}],["diverg",{"_index":5120,"title":{},"name":{},"text":{"88":{}},"component":{}}],["divid",{"_index":5357,"title":{},"name":{},"text":{"88":{},"261":{},"274":{}},"component":{}}],["divis",{"_index":2656,"title":{},"name":{},"text":{"48":{}},"component":{}}],["dlq",{"_index":853,"title":{"15":{}},"name":{"110":{},"257":{}},"text":{"5":{},"15":{},"16":{},"67":{},"86":{},"110":{},"115":{},"255":{},"257":{},"262":{}},"component":{}}],["dlqenabledgroup",{"_index":4997,"title":{},"name":{},"text":{"86":{}},"component":{}}],["dlqenabledgroups.contains(processinggroup",{"_index":4998,"title":{},"name":{},"text":{"86":{}},"component":{}}],["dlqmanag",{"_index":5734,"title":{},"name":{},"text":{"115":{}},"component":{}}],["dlqmanagement(configur",{"_index":5736,"title":{},"name":{},"text":{"115":{}},"component":{}}],["dlqmanagementcontrol",{"_index":5744,"title":{},"name":{},"text":{"115":{}},"component":{}}],["dmurat",{"_index":3754,"title":{},"name":{},"text":{"66":{}},"component":{}}],["dn",{"_index":6619,"title":{},"name":{},"text":{"170":{},"199":{}},"component":{}}],["do",{"_index":254,"title":{},"name":{},"text":{"3":{},"24":{},"31":{},"34":{},"35":{},"38":{},"39":{},"51":{},"57":{},"66":{},"77":{},"85":{},"88":{},"142":{},"179":{},"191":{},"202":{},"239":{},"274":{},"284":{}},"component":{}}],["doc",{"_index":991,"title":{"8":{},"13":{}},"name":{},"text":{"8":{},"13":{},"66":{},"207":{},"216":{},"217":{},"219":{}},"component":{}}],["docker",{"_index":185,"title":{"3":{},"277":{},"284":{},"3-1":{},"3-10":{},"140-4":{},"191-1":{},"191-3":{},"284-2":{},"284-3":{},"284-4":{}},"name":{"277":{},"284":{}},"text":{"3":{},"4":{},"66":{},"67":{},"140":{},"159":{},"191":{},"215":{},"237":{},"263":{},"266":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["dockerfil",{"_index":312,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["document",{"_index":865,"title":{"207":{},"224":{}},"name":{},"text":{"5":{},"29":{},"30":{},"31":{},"33":{},"44":{},"46":{},"59":{},"63":{},"67":{},"69":{},"71":{},"78":{},"90":{},"93":{},"95":{},"98":{},"99":{},"100":{},"102":{},"103":{},"109":{},"112":{},"113":{},"119":{},"122":{},"123":{},"126":{},"129":{},"131":{},"134":{},"140":{},"142":{},"144":{},"145":{},"182":{},"207":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"224":{},"287":{}},"component":{}}],["document.getrootel",{"_index":2486,"title":{},"name":{},"text":{"44":{}},"component":{}}],["documentpercommitstoragestrategi",{"_index":2589,"title":{},"name":{},"text":{"46":{}},"component":{}}],["doesn’t",{"_index":1125,"title":{},"name":{},"text":{"15":{},"16":{},"18":{},"19":{},"36":{},"49":{},"67":{},"88":{},"94":{},"99":{},"121":{},"126":{},"177":{},"206":{},"215":{},"216":{},"217":{},"219":{},"221":{},"290":{}},"component":{}}],["dofinally(it",{"_index":3189,"title":{},"name":{},"text":{"63":{}},"component":{}}],["dofinally(sign",{"_index":5838,"title":{},"name":{},"text":{"121":{}},"component":{}}],["dom4j",{"_index":1694,"title":{},"name":{},"text":{"31":{}},"component":{}}],["domain",{"_index":1260,"title":{},"name":{},"text":{"21":{},"28":{},"30":{},"35":{},"45":{},"46":{},"49":{},"51":{},"64":{},"66":{},"68":{},"72":{},"77":{},"80":{},"82":{},"84":{},"88":{},"111":{},"170":{},"179":{},"199":{},"215":{},"239":{},"286":{},"287":{},"288":{}},"component":{}}],["domain_event_entri",{"_index":1450,"title":{},"name":{},"text":{"29":{},"33":{},"79":{}},"component":{}}],["domainev",{"_index":5670,"title":{},"name":{},"text":{"111":{}},"component":{}}],["domainevententri",{"_index":2523,"title":{},"name":{},"text":{"46":{},"79":{}},"component":{}}],["domaineventmessag",{"_index":2667,"title":{},"name":{},"text":{"49":{},"52":{},"59":{},"67":{},"72":{}},"component":{}}],["domaineventstream",{"_index":2590,"title":{},"name":{},"text":{"46":{}},"component":{}}],["done",{"_index":2026,"title":{},"name":{},"text":{"36":{},"38":{},"40":{},"44":{},"47":{},"49":{},"51":{},"53":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"79":{},"80":{},"82":{},"88":{},"115":{},"128":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"176":{},"192":{},"244":{},"260":{},"273":{},"274":{},"281":{}},"component":{}}],["don’t",{"_index":266,"title":{},"name":{},"text":{"3":{},"14":{},"15":{},"17":{},"18":{},"21":{},"33":{},"40":{},"46":{},"49":{},"50":{},"59":{},"67":{},"82":{},"88":{},"115":{},"145":{},"154":{},"156":{},"176":{},"177":{},"178":{},"191":{},"237":{},"241":{},"247":{},"264":{},"265":{},"266":{},"269":{},"270":{},"274":{},"277":{},"283":{},"284":{}},"component":{}}],["dosomethingcommand(\"aggregateid",{"_index":4636,"title":{},"name":{},"text":{"72":{}},"component":{}}],["dot",{"_index":775,"title":{},"name":{},"text":{"5":{},"274":{}},"component":{}}],["doubl",{"_index":2595,"title":{},"name":{},"text":{"46":{},"88":{},"145":{}},"component":{}}],["doupcast",{"_index":2454,"title":{},"name":{},"text":{"44":{}},"component":{}}],["dowload",{"_index":7761,"title":{"277-2":{}},"name":{},"text":{},"component":{}}],["down",{"_index":982,"title":{},"name":{},"text":{"6":{},"31":{},"38":{},"40":{},"54":{},"64":{},"66":{},"67":{},"79":{},"84":{},"88":{},"96":{},"99":{},"121":{},"138":{},"141":{},"147":{},"151":{},"157":{},"162":{},"165":{},"179":{},"185":{},"199":{},"221":{},"264":{},"269":{},"271":{},"273":{},"274":{}},"component":{}}],["downgrad",{"_index":7600,"title":{},"name":{},"text":{"250":{},"254":{}},"component":{}}],["download",{"_index":692,"title":{"201-2":{},"201-5":{},"208-1":{}},"name":{},"text":{"4":{},"30":{},"67":{},"72":{},"140":{},"154":{},"177":{},"192":{},"201":{},"202":{},"203":{},"208":{},"272":{},"277":{},"284":{}},"component":{}}],["download_diagnos",{"_index":6645,"title":{},"name":{},"text":{"171":{}},"component":{}}],["download_templ",{"_index":6646,"title":{},"name":{},"text":{"171":{}},"component":{}}],["downtim",{"_index":977,"title":{"176-2":{}},"name":{},"text":{"6":{},"176":{},"199":{}},"component":{}}],["dpackage=io.axoniq.demo.bikerental.coreapi",{"_index":7823,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dpackage=io.axoniq.demo.bikerental.rent",{"_index":7821,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dproperty=valu",{"_index":6816,"title":{},"name":{},"text":{"179":{}},"component":{}}],["draft",{"_index":2397,"title":{},"name":{"264":{}},"text":{"43":{},"67":{},"99":{}},"component":{}}],["drastic",{"_index":3821,"title":{},"name":{},"text":{"66":{}},"component":{}}],["draw",{"_index":6514,"title":{},"name":{},"text":{"157":{}},"component":{}}],["drawn",{"_index":7740,"title":{},"name":{},"text":{"274":{}},"component":{}}],["drewrite.recipeartifactcoordinates=org.axonframework:axon",{"_index":1843,"title":{},"name":{},"text":{"33":{}},"component":{}}],["drewrite.recipeartifactcoordinates=org.openrewrite.recipe:rewrit",{"_index":1846,"title":{},"name":{},"text":{"33":{}},"component":{}}],["drill",{"_index":7665,"title":{},"name":{},"text":{"269":{},"273":{},"274":{}},"component":{}}],["drive",{"_index":2241,"title":{},"name":{},"text":{"38":{},"80":{},"85":{},"151":{}},"component":{}}],["driven",{"_index":868,"title":{"6":{},"6-2":{}},"name":{},"text":{"6":{},"7":{},"28":{},"82":{},"120":{},"200":{},"227":{},"230":{},"236":{},"240":{},"264":{},"266":{}},"component":{"6":{}}}],["driver",{"_index":460,"title":{},"name":{},"text":{"3":{},"31":{},"46":{},"161":{},"191":{}},"component":{}}],["driver_opt",{"_index":461,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["drop",{"_index":2986,"title":{},"name":{},"text":{"58":{},"66":{},"67":{},"77":{},"79":{},"88":{},"261":{},"274":{},"280":{}},"component":{}}],["dropdown",{"_index":6076,"title":{},"name":{},"text":{"141":{},"151":{},"199":{}},"component":{}}],["dropwizard",{"_index":2897,"title":{"57-1":{}},"name":{},"text":{"57":{},"66":{}},"component":{}}],["dsl",{"_index":1553,"title":{},"name":{},"text":{"30":{}},"component":{}}],["due",{"_index":542,"title":{},"name":{},"text":{"3":{},"16":{},"26":{},"31":{},"34":{},"38":{},"44":{},"48":{},"52":{},"59":{},"66":{},"67":{},"69":{},"71":{},"86":{},"87":{},"88":{},"99":{},"100":{},"143":{},"151":{},"191":{},"257":{},"261":{},"262":{},"273":{},"289":{}},"component":{}}],["dump",{"_index":7129,"title":{},"name":{},"text":{"187":{}},"component":{}}],["duplic",{"_index":1558,"title":{"31-8":{},"75-1":{}},"name":{},"text":{"36":{},"46":{},"59":{},"66":{},"67":{},"75":{},"76":{},"88":{},"115":{},"143":{},"147":{},"221":{}},"component":{}}],["duplicatecommandhandlerresolut",{"_index":4696,"title":{},"name":{},"text":{"75":{}},"component":{}}],["duplicatecommandhandlerresolution.class",{"_index":4699,"title":{},"name":{},"text":{"75":{}},"component":{}}],["duplicatecommandhandlerresolution.rejectdupl",{"_index":4700,"title":{},"name":{},"text":{"75":{}},"component":{}}],["duplicatecommandhandlerresolv",{"_index":2016,"title":{},"name":{},"text":{"36":{},"75":{}},"component":{}}],["duplicatecommandhandlersubscriptionexcept",{"_index":4697,"title":{},"name":{},"text":{"75":{}},"component":{}}],["durabl",{"_index":110,"title":{},"name":{},"text":{"2":{},"145":{},"290":{}},"component":{}}],["durat",{"_index":2274,"title":{},"name":{},"text":{"39":{},"58":{},"72":{},"74":{},"88":{},"121":{},"141":{},"186":{},"206":{},"244":{},"262":{},"288":{}},"component":{}}],["duration.ofmillis(500",{"_index":2301,"title":{},"name":{},"text":{"39":{}},"component":{}}],["duration.ofseconds(2",{"_index":6233,"title":{},"name":{},"text":{"144":{}},"component":{}}],["duration.ofseconds(5)).take(3",{"_index":5825,"title":{},"name":{},"text":{"121":{}},"component":{}}],["dure",{"_index":820,"title":{"269":{}},"name":{},"text":{"5":{},"35":{},"38":{},"39":{},"44":{},"51":{},"53":{},"58":{},"59":{},"60":{},"63":{},"66":{},"67":{},"69":{},"72":{},"74":{},"75":{},"77":{},"79":{},"86":{},"87":{},"88":{},"127":{},"141":{},"143":{},"145":{},"151":{},"154":{},"157":{},"176":{},"177":{},"179":{},"199":{},"215":{},"260":{},"264":{},"266":{},"267":{},"269":{},"272":{},"274":{},"276":{},"277":{},"285":{}},"component":{}}],["dversion=0.0.1",{"_index":7808,"title":{},"name":{},"text":{"279":{}},"component":{}}],["dynam",{"_index":669,"title":{"115-2":{}},"name":{},"text":{"3":{},"88":{},"89":{},"115":{},"117":{},"154":{},"179":{},"191":{},"192":{},"262":{}},"component":{}}],["e",{"_index":410,"title":{"247-3":{}},"name":{},"text":{"3":{},"5":{},"53":{},"88":{},"191":{},"247":{},"285":{}},"component":{}}],["e0464143baf7",{"_index":7918,"title":{},"name":{},"text":{"280":{}},"component":{}}],["e32c48ab5047",{"_index":6585,"title":{},"name":{},"text":{"169":{}},"component":{}}],["ea",{"_index":3642,"title":{},"name":{},"text":{"66":{}},"component":{}}],["each",{"_index":15,"title":{"151-19":{}},"name":{},"text":{"1":{},"3":{},"5":{},"6":{},"15":{},"17":{},"31":{},"34":{},"36":{},"38":{},"44":{},"46":{},"47":{},"51":{},"53":{},"55":{},"56":{},"58":{},"59":{},"62":{},"63":{},"66":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"94":{},"97":{},"104":{},"108":{},"113":{},"115":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"155":{},"156":{},"157":{},"162":{},"163":{},"169":{},"176":{},"177":{},"178":{},"179":{},"185":{},"191":{},"192":{},"194":{},"197":{},"199":{},"211":{},"212":{},"214":{},"221":{},"238":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"250":{},"254":{},"255":{},"261":{},"262":{},"269":{},"270":{},"274":{},"276":{},"279":{},"280":{},"281":{},"285":{},"288":{}},"component":{}}],["eager",{"_index":3939,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eagerli",{"_index":4254,"title":{},"name":{},"text":{"67":{},"79":{},"151":{}},"component":{}}],["earli",{"_index":2731,"title":{},"name":{},"text":{"51":{},"66":{},"140":{}},"component":{}}],["earlier",{"_index":1457,"title":{},"name":{},"text":{"29":{},"33":{},"38":{},"44":{},"64":{},"72":{},"79":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"144":{},"202":{},"281":{}},"component":{}}],["eas",{"_index":2463,"title":{},"name":{},"text":{"44":{},"67":{},"121":{},"249":{},"259":{}},"component":{}}],["easi",{"_index":97,"title":{"28-1":{},"55-1":{}},"name":{},"text":{"2":{},"15":{},"22":{},"36":{},"38":{},"40":{},"44":{},"59":{},"66":{},"72":{},"79":{},"87":{},"88":{},"89":{},"162":{},"235":{},"262":{},"265":{},"269":{},"274":{},"275":{},"277":{},"279":{},"283":{}},"component":{}}],["easier",{"_index":944,"title":{},"name":{},"text":{"6":{},"18":{},"19":{},"32":{},"38":{},"40":{},"53":{},"66":{},"74":{},"86":{},"87":{},"142":{},"226":{},"243":{},"264":{},"265":{},"281":{}},"component":{}}],["easiest",{"_index":1496,"title":{},"name":{},"text":{"30":{},"32":{},"33":{},"34":{},"38":{},"61":{},"63":{},"88":{},"129":{}},"component":{}}],["easili",{"_index":144,"title":{},"name":{},"text":{"2":{},"5":{},"20":{},"30":{},"31":{},"36":{},"38":{},"59":{},"66":{},"67":{},"68":{},"88":{},"132":{},"140":{},"200":{},"261":{},"268":{},"269":{},"276":{},"280":{},"281":{},"283":{}},"component":{}}],["easymock",{"_index":4683,"title":{},"name":{},"text":{"74":{}},"component":{}}],["eclips",{"_index":227,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["eda",{"_index":870,"title":{},"name":{},"text":{"6":{}},"component":{}}],["eddumelendez",{"_index":3751,"title":{},"name":{},"text":{"66":{}},"component":{}}],["edit",{"_index":55,"title":{"162":{},"2-6":{}},"name":{"162":{}},"text":{"2":{},"3":{},"67":{},"137":{},"138":{},"140":{},"147":{},"148":{},"151":{},"173":{},"175":{},"178":{},"191":{},"192":{},"201":{},"204":{},"244":{},"262":{},"280":{}},"component":{}}],["editor",{"_index":7230,"title":{},"name":{},"text":{"199":{}},"component":{}}],["ee",{"_index":262,"title":{"170":{},"172":{},"168-1":{}},"name":{"169":{}},"text":{"3":{},"30":{},"117":{},"137":{},"142":{},"147":{},"156":{},"157":{},"161":{},"162":{},"167":{},"168":{},"174":{},"176":{},"178":{},"179":{},"185":{},"191":{},"192":{}},"component":{}}],["ee/s",{"_index":6823,"title":{},"name":{},"text":{"179":{}},"component":{}}],["effect",{"_index":966,"title":{},"name":{},"text":{"6":{},"35":{},"38":{},"47":{},"50":{},"52":{},"53":{},"56":{},"63":{},"67":{},"72":{},"74":{},"82":{},"86":{},"88":{},"127":{},"141":{},"145":{},"151":{},"154":{},"168":{},"174":{},"178":{},"179":{},"215":{},"227":{},"236":{},"250":{},"255":{}},"component":{}}],["effici",{"_index":913,"title":{},"name":{},"text":{"6":{},"88":{},"140":{},"147":{},"240":{},"260":{},"280":{}},"component":{}}],["effort",{"_index":209,"title":{},"name":{},"text":{"3":{},"33":{},"36":{},"138":{},"140":{},"156":{},"191":{},"192":{}},"component":{}}],["eg",{"_index":1765,"title":{},"name":{},"text":{"32":{}},"component":{}}],["ehcach",{"_index":3420,"title":{},"name":{},"text":{"66":{},"77":{}},"component":{}}],["ehcache3adapt",{"_index":4782,"title":{},"name":{},"text":{"77":{}},"component":{}}],["ehcacheadapt",{"_index":4779,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eight",{"_index":7702,"title":{},"name":{},"text":{"274":{}},"component":{}}],["eisenmann",{"_index":3740,"title":{},"name":{},"text":{"66":{}},"component":{}}],["el",{"_index":6752,"title":{},"name":{},"text":{"172":{}},"component":{}}],["elabor",{"_index":2451,"title":{},"name":{},"text":{"44":{}},"component":{}}],["elaps",{"_index":1282,"title":{},"name":{},"text":{"22":{},"74":{},"285":{}},"component":{}}],["elast",{"_index":5785,"title":{},"name":{},"text":{"120":{},"133":{},"264":{}},"component":{}}],["elasticsearch",{"_index":3006,"title":{},"name":{},"text":{"59":{}},"component":{}}],["elect",{"_index":6508,"title":{"157-2":{}},"name":{},"text":{"157":{},"179":{}},"component":{}}],["element",{"_index":917,"title":{},"name":{},"text":{"6":{},"31":{},"47":{},"94":{},"149":{},"150":{},"151":{},"195":{},"197":{},"212":{},"265":{},"274":{},"277":{},"280":{},"281":{}},"component":{}}],["elementtype.annotation_typ",{"_index":1377,"title":{},"name":{},"text":{"27":{}},"component":{}}],["elementtype.constructor",{"_index":1376,"title":{},"name":{},"text":{"27":{}},"component":{}}],["elig",{"_index":1307,"title":{},"name":{},"text":{"24":{},"74":{},"97":{},"151":{},"179":{}},"component":{}}],["elimin",{"_index":4687,"title":{},"name":{},"text":{"74":{},"140":{}},"component":{}}],["elk",{"_index":732,"title":{"5-7":{}},"name":{},"text":{"5":{}},"component":{}}],["elsewher",{"_index":4312,"title":{},"name":{},"text":{"67":{},"94":{}},"component":{}}],["email",{"_index":902,"title":{"262-8":{}},"name":{},"text":{"6":{},"49":{},"88":{},"172":{},"247":{},"260":{},"262":{},"273":{}},"component":{}}],["emailservic",{"_index":900,"title":{},"name":{},"text":{"6":{}},"component":{}}],["emb",{"_index":6751,"title":{},"name":{},"text":{"172":{}},"component":{}}],["embed",{"_index":2509,"title":{"46-4":{}},"name":{},"text":{"96":{},"140":{},"226":{}},"component":{}}],["embeddedeventstor",{"_index":2515,"title":{},"name":{},"text":{"46":{},"67":{},"113":{}},"component":{}}],["embeddedeventstore.build",{"_index":2560,"title":{},"name":{},"text":{"46":{},"51":{},"113":{}},"component":{}}],["embrac",{"_index":5070,"title":{},"name":{},"text":{"87":{},"120":{},"287":{}},"component":{}}],["emerg",{"_index":6450,"title":{},"name":{},"text":{"151":{}},"component":{}}],["emiss",{"_index":3175,"title":{},"name":{},"text":{"63":{}},"component":{}}],["emit",{"_index":952,"title":{},"name":{},"text":{"6":{},"59":{},"63":{},"67":{},"108":{},"179":{},"285":{}},"component":{}}],["emit(countchangedupd",{"_index":5662,"title":{},"name":{},"text":{"108":{}},"component":{}}],["emitt",{"_index":2780,"title":{"115-6":{}},"name":{},"text":{"51":{},"115":{}},"component":{}}],["employ",{"_index":6098,"title":{},"name":{},"text":{"142":{}},"component":{}}],["empti",{"_index":1145,"title":{},"name":{},"text":{"17":{},"20":{},"61":{},"63":{},"66":{},"82":{},"86":{},"101":{},"121":{},"195":{},"212":{},"283":{},"285":{}},"component":{}}],["empty,it",{"_index":5600,"title":{},"name":{},"text":{"104":{}},"component":{}}],["en",{"_index":6946,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enabl",{"_index":107,"title":{"150-4":{},"206-26":{},"206-28":{},"206-33":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"15":{},"16":{},"18":{},"30":{},"31":{},"32":{},"38":{},"41":{},"57":{},"59":{},"66":{},"67":{},"77":{},"86":{},"88":{},"94":{},"96":{},"104":{},"114":{},"115":{},"116":{},"117":{},"127":{},"128":{},"129":{},"140":{},"141":{},"143":{},"145":{},"148":{},"150":{},"151":{},"166":{},"167":{},"170":{},"172":{},"174":{},"176":{},"177":{},"178":{},"179":{},"188":{},"189":{},"191":{},"192":{},"199":{},"200":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"220":{},"221":{},"232":{},"241":{},"255":{},"257":{},"260":{},"261":{},"269":{},"270":{},"273":{},"278":{},"281":{},"284":{}},"component":{}}],["enable/dis",{"_index":3487,"title":{},"name":{},"text":{"66":{}},"component":{}}],["enabled=fals",{"_index":7127,"title":{},"name":{},"text":{"186":{}},"component":{}}],["enablediscoverycli",{"_index":5912,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["encapsul",{"_index":4902,"title":{},"name":{},"text":{"82":{},"289":{}},"component":{}}],["enclos",{"_index":4885,"title":{},"name":{},"text":{"80":{}},"component":{}}],["encount",{"_index":1654,"title":{},"name":{},"text":{"31":{},"46":{},"79":{},"88":{},"111":{},"220":{}},"component":{}}],["encourag",{"_index":181,"title":{},"name":{},"text":{"2":{},"48":{},"49":{},"150":{},"235":{}},"component":{}}],["encrypt",{"_index":6247,"title":{"206-24":{}},"name":{},"text":{"145":{},"175":{},"176":{},"192":{},"206":{}},"component":{}}],["encrypt(eventwithtoken.getev",{"_index":6283,"title":{},"name":{},"text":{"145":{}},"component":{}}],["end",{"_index":794,"title":{},"name":{},"text":{"5":{},"31":{},"38":{},"39":{},"44":{},"58":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"76":{},"77":{},"79":{},"82":{},"86":{},"87":{},"88":{},"99":{},"101":{},"102":{},"108":{},"120":{},"127":{},"130":{},"140":{},"142":{},"145":{},"151":{},"163":{},"165":{},"179":{},"195":{},"237":{}},"component":{}}],["endpoint",{"_index":2925,"title":{"185":{},"283":{},"185-1":{},"206-10":{},"206-17":{},"206-55":{},"211-1":{},"212-1":{},"214-1":{},"216-1":{},"216-2":{},"217-1":{},"217-2":{},"217-3":{},"219-1":{},"219-2":{},"280-9":{},"280-10":{},"280-11":{},"281-10":{},"283-1":{}},"name":{"185":{},"283":{}},"text":{"57":{},"59":{},"80":{},"88":{},"115":{},"127":{},"128":{},"140":{},"141":{},"142":{},"145":{},"165":{},"185":{},"186":{},"187":{},"188":{},"190":{},"202":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"221":{},"224":{},"273":{},"275":{},"276":{},"280":{},"281":{},"283":{},"289":{}},"component":{}}],["endpointopt",{"_index":7456,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["endpointtyp",{"_index":7277,"title":{},"name":{},"text":{"202":{},"211":{},"212":{},"214":{},"224":{}},"component":{}}],["endsaga",{"_index":2307,"title":{},"name":{},"text":{"39":{},"66":{},"69":{}},"component":{}}],["enforc",{"_index":1434,"title":{},"name":{},"text":{"29":{},"31":{},"49":{},"67":{},"79":{},"88":{},"102":{},"175":{}},"component":{}}],["engag",{"_index":6309,"title":{},"name":{},"text":{"145":{}},"component":{}}],["engin",{"_index":1730,"title":{},"name":{},"text":{"32":{},"46":{},"67":{},"68":{},"69":{},"71":{},"79":{},"194":{},"199":{},"227":{},"236":{},"262":{},"284":{}},"component":{}}],["enhanc",{"_index":134,"title":{"24":{},"66-3":{},"66-9":{},"66-14":{},"66-19":{},"66-24":{},"66-28":{},"66-31":{},"66-34":{},"66-37":{},"66-40":{},"66-43":{},"67-3":{},"67-8":{},"67-12":{},"67-17":{},"67-24":{},"67-30":{},"67-34":{},"67-38":{},"67-43":{},"67-50":{},"67-54":{},"67-59":{},"67-67":{},"67-83":{},"67-88":{},"67-92":{},"67-96":{},"67-102":{},"67-107":{},"140-11":{},"140-15":{},"140-20":{},"141-26":{}},"name":{"24":{}},"text":{"2":{},"6":{},"24":{},"29":{},"66":{},"67":{},"119":{},"140":{}},"component":{}}],["enhancement/test",{"_index":3289,"title":{},"name":{},"text":{"66":{}},"component":{}}],["enlarg",{"_index":7704,"title":{},"name":{},"text":{"274":{}},"component":{}}],["enough",{"_index":1480,"title":{},"name":{},"text":{"30":{},"46":{},"63":{},"123":{},"145":{},"151":{},"185":{},"221":{}},"component":{}}],["enqueu",{"_index":1026,"title":{"86-8":{}},"name":{},"text":{"14":{},"17":{},"86":{},"115":{}},"component":{}}],["enqueuedat",{"_index":5038,"title":{},"name":{},"text":{"86":{}},"component":{}}],["enqueuedecis",{"_index":1032,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["enqueuepolici",{"_index":1028,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["enqueuepolicyconfigurermodul",{"_index":5046,"title":{},"name":{},"text":{"86":{}},"component":{}}],["ensur",{"_index":109,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"16":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"46":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"79":{},"82":{},"86":{},"87":{},"88":{},"89":{},"99":{},"102":{},"140":{},"142":{},"144":{},"145":{},"151":{},"154":{},"156":{},"163":{},"167":{},"172":{},"176":{},"179":{},"191":{},"192":{},"199":{},"206":{},"211":{},"240":{},"260":{},"270":{},"276":{},"283":{},"285":{}},"component":{}}],["ensureindex",{"_index":5669,"title":{},"name":{},"text":{"111":{}},"component":{}}],["entail",{"_index":3429,"title":{},"name":{},"text":{"66":{}},"component":{}}],["enter",{"_index":1052,"title":{},"name":{},"text":{"14":{},"66":{},"67":{},"115":{},"141":{},"145":{},"151":{},"199":{},"247":{},"262":{},"274":{}},"component":{}}],["enterpris",{"_index":54,"title":{"162":{},"2-6":{}},"name":{"162":{}},"text":{"2":{},"3":{},"5":{},"40":{},"88":{},"120":{},"137":{},"138":{},"140":{},"147":{},"149":{},"150":{},"151":{},"154":{},"156":{},"175":{},"177":{},"178":{},"191":{},"192":{},"199":{},"260":{}},"component":{}}],["enterprise.context",{"_index":6937,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enterprise.default",{"_index":6868,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enterprise.licens",{"_index":6836,"title":{},"name":{},"text":{"179":{}},"component":{}}],["enterprise:2023.0.1",{"_index":6035,"title":{},"name":{},"text":{"140":{}},"component":{}}],["enterprise’",{"_index":6040,"title":{},"name":{},"text":{"140":{}},"component":{}}],["entir",{"_index":680,"title":{},"name":{},"text":{"3":{},"6":{},"29":{},"46":{},"52":{},"53":{},"59":{},"67":{},"77":{},"82":{},"86":{},"87":{},"88":{},"99":{},"102":{},"145":{},"191":{},"228":{},"257":{},"262":{}},"component":{}}],["entireti",{"_index":2828,"title":{},"name":{},"text":{"52":{},"72":{},"76":{}},"component":{}}],["entiti",{"_index":1404,"title":{"84":{},"29-2":{},"84-1":{},"84-2":{}},"name":{"84":{}},"text":{"29":{},"32":{},"34":{},"35":{},"36":{},"42":{},"46":{},"51":{},"67":{},"79":{},"80":{},"82":{},"84":{},"85":{},"280":{},"281":{},"283":{}},"component":{}}],["entity/ent",{"_index":4939,"title":{},"name":{},"text":{"84":{}},"component":{}}],["entityid",{"_index":4933,"title":{},"name":{},"text":{"84":{}},"component":{}}],["entityid(routingkey",{"_index":4941,"title":{},"name":{},"text":{"84":{}},"component":{}}],["entitymanag",{"_index":2045,"title":{},"name":{},"text":{"36":{},"46":{},"53":{},"69":{},"71":{},"88":{}},"component":{}}],["entitymanager.clear",{"_index":2554,"title":{},"name":{},"text":{"46":{}},"component":{}}],["entitymanager.createnamedquery(\"cardsummary.fetch",{"_index":3158,"title":{},"name":{},"text":{"63":{}},"component":{}}],["entitymanager.find(cardsummary.class",{"_index":3168,"title":{},"name":{},"text":{"63":{}},"component":{}}],["entitymanager.flush",{"_index":2553,"title":{},"name":{},"text":{"46":{}},"component":{}}],["entitymanager`",{"_index":4484,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["entitymanagerprovid",{"_index":1091,"title":{},"name":{},"text":{"15":{},"36":{},"46":{},"69":{},"71":{}},"component":{}}],["entitymanagerprovider(config.getcompon",{"_index":4999,"title":{},"name":{},"text":{"86":{}},"component":{}}],["entitymanagerprovider(config.getcomponent(entitymanagerprovider.class",{"_index":1122,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["entitymanagerprovider(entitymanagerprovid",{"_index":1100,"title":{},"name":{},"text":{"15":{},"46":{},"69":{}},"component":{}}],["entitymanagerprovider.class",{"_index":5000,"title":{},"name":{},"text":{"86":{}},"component":{}}],["entitymanagerprovider’",{"_index":2538,"title":{},"name":{},"text":{"46":{}},"component":{}}],["entityscan",{"_index":1723,"title":{},"name":{},"text":{"32":{}},"component":{}}],["entri",{"_index":2115,"title":{"142-3":{}},"name":{},"text":{"38":{},"46":{},"47":{},"59":{},"67":{},"68":{},"72":{},"77":{},"86":{},"121":{},"141":{},"142":{},"151":{},"179":{},"199":{},"235":{}},"component":{}}],["entrypoint",{"_index":354,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["enum",{"_index":3604,"title":{},"name":{},"text":{"66":{},"280":{}},"component":{}}],["enumer",{"_index":1990,"title":{},"name":{},"text":{"35":{},"66":{},"67":{}},"component":{}}],["env",{"_index":610,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["environ",{"_index":100,"title":{"234":{},"254":{},"179-3":{},"254-1":{},"262-3":{},"276-1":{}},"name":{"234":{}},"text":{"2":{},"3":{},"5":{},"16":{},"24":{},"30":{},"33":{},"35":{},"38":{},"43":{},"46":{},"48":{},"49":{},"52":{},"66":{},"67":{},"69":{},"86":{},"87":{},"88":{},"94":{},"96":{},"115":{},"132":{},"142":{},"143":{},"145":{},"149":{},"150":{},"151":{},"174":{},"179":{},"185":{},"187":{},"191":{},"192":{},"200":{},"201":{},"206":{},"208":{},"228":{},"229":{},"232":{},"234":{},"237":{},"238":{},"239":{},"242":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"259":{},"262":{},"263":{},"267":{},"272":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["environment",{"_index":7149,"title":{},"name":{},"text":{"190":{}},"component":{}}],["environment/nod",{"_index":6825,"title":{},"name":{},"text":{"179":{}},"component":{}}],["environment’",{"_index":771,"title":{},"name":{},"text":{"5":{}},"component":{}}],["envis",{"_index":8037,"title":{},"name":{},"text":{"286":{}},"component":{}}],["ep",{"_index":6964,"title":{},"name":{},"text":{"180":{}},"component":{}}],["ep@ten",{"_index":5727,"title":{},"name":{},"text":{"115":{}},"component":{}}],["ephemer",{"_index":6004,"title":{"140-28":{},"151-6":{},"151-7":{}},"name":{},"text":{"140":{},"151":{}},"component":{}}],["equal",{"_index":2103,"title":{},"name":{},"text":{"38":{},"47":{},"66":{},"67":{},"69":{},"71":{},"72":{},"86":{},"88":{},"144":{},"150":{},"151":{},"219":{}},"component":{}}],["equals(eventprocessornam",{"_index":6221,"title":{},"name":{},"text":{"144":{}},"component":{}}],["equals(tokenstoreidentifi",{"_index":6223,"title":{},"name":{},"text":{"144":{}},"component":{}}],["equals/hashcod",{"_index":1954,"title":{},"name":{},"text":{"35":{},"64":{},"84":{}},"component":{}}],["equalto",{"_index":4641,"title":{},"name":{},"text":{"72":{}},"component":{}}],["equalto(new",{"_index":4642,"title":{},"name":{},"text":{"72":{}},"component":{}}],["equival",{"_index":5831,"title":{},"name":{},"text":{"121":{}},"component":{}}],["erasur",{"_index":2829,"title":{},"name":{},"text":{"52":{},"66":{}},"component":{}}],["erikhof",{"_index":3734,"title":{},"name":{},"text":{"66":{}},"component":{}}],["error",{"_index":846,"title":{"143":{},"63-8":{},"87-4":{},"87-5":{},"87-6":{},"88-4":{},"89-7":{},"143-1":{},"143-2":{},"143-3":{},"143-4":{},"143-5":{},"143-6":{},"143-7":{},"143-8":{},"143-9":{}},"name":{"143":{}},"text":{"5":{},"15":{},"16":{},"38":{},"46":{},"51":{},"53":{},"58":{},"63":{},"66":{},"67":{},"69":{},"72":{},"79":{},"86":{},"87":{},"88":{},"89":{},"124":{},"126":{},"141":{},"143":{},"144":{},"145":{},"161":{},"168":{},"179":{},"186":{},"215":{},"242":{},"243":{},"244":{},"262":{},"265":{},"268":{},"270":{},"271":{},"272":{},"273":{},"274":{},"277":{},"281":{},"285":{}},"component":{}}],["errorcontext",{"_index":5094,"title":{},"name":{},"text":{"87":{}},"component":{}}],["errorev",{"_index":5011,"title":{},"name":{},"text":{"86":{}},"component":{}}],["errorhandl",{"_index":5085,"title":{},"name":{},"text":{"87":{}},"component":{}}],["errorhandler’",{"_index":5092,"title":{},"name":{},"text":{"87":{}},"component":{}}],["especi",{"_index":522,"title":{},"name":{},"text":{"3":{},"6":{},"17":{},"29":{},"31":{},"35":{},"38":{},"46":{},"48":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"140":{},"165":{},"191":{},"282":{}},"component":{}}],["essenc",{"_index":2376,"title":{},"name":{},"text":{"42":{}},"component":{}}],["essenti",{"_index":2761,"title":{},"name":{},"text":{"51":{},"63":{},"86":{},"99":{},"106":{},"145":{},"151":{},"261":{}},"component":{}}],["establish",{"_index":1360,"title":{},"name":{},"text":{"25":{},"88":{},"145":{},"166":{},"189":{},"215":{},"250":{},"280":{},"290":{}},"component":{}}],["estim",{"_index":2980,"title":{},"name":{},"text":{"58":{},"66":{}},"component":{}}],["etc",{"_index":368,"title":{},"name":{},"text":{"3":{},"33":{},"44":{},"46":{},"59":{},"68":{},"77":{},"191":{}},"component":{}}],["etc/group",{"_index":367,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["etc/passwd",{"_index":366,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["etc/utc",{"_index":7019,"title":{},"name":{},"text":{"184":{}},"component":{}}],["eureka",{"_index":5958,"title":{},"name":{},"text":{"129":{}},"component":{}}],["europ",{"_index":7560,"title":{},"name":{},"text":{"234":{}},"component":{}}],["evalu",{"_index":2403,"title":{},"name":{},"text":{"43":{},"64":{},"69":{},"72":{},"193":{},"232":{},"244":{},"274":{}},"component":{}}],["even",{"_index":1255,"title":{},"name":{},"text":{"20":{},"29":{},"30":{},"31":{},"46":{},"49":{},"51":{},"52":{},"59":{},"63":{},"67":{},"69":{},"72":{},"77":{},"79":{},"86":{},"88":{},"115":{},"142":{},"145":{},"151":{},"156":{},"157":{},"163":{},"172":{},"180":{},"185":{},"196":{},"199":{},"204":{},"216":{},"219":{},"280":{},"284":{}},"component":{}}],["event",{"_index":38,"title":{"6":{},"40":{},"42":{},"43":{},"44":{},"45":{},"46":{},"58":{},"72":{},"76":{},"77":{},"87":{},"88":{},"89":{},"90":{},"92":{},"99":{},"101":{},"102":{},"106":{},"113":{},"144":{},"145":{},"165":{},"212":{},"217":{},"273":{},"2-3":{},"2-4":{},"6-2":{},"15-1":{},"30-4":{},"31-9":{},"32-6":{},"35-3":{},"36-5":{},"40-1":{},"40-2":{},"40-3":{},"40-4":{},"40-5":{},"40-6":{},"42-1":{},"42-2":{},"43-1":{},"44-1":{},"46-1":{},"46-2":{},"46-3":{},"46-4":{},"46-8":{},"46-9":{},"46-10":{},"46-11":{},"46-13":{},"46-14":{},"49-2":{},"51-6":{},"51-7":{},"51-8":{},"52-2":{},"58-1":{},"59-29":{},"59-30":{},"59-31":{},"59-32":{},"69-2":{},"72-7":{},"76-3":{},"77-5":{},"77-6":{},"77-9":{},"84-2":{},"86-1":{},"87-2":{},"87-3":{},"87-6":{},"87-9":{},"87-10":{},"88-26":{},"88-31":{},"99-1":{},"99-2":{},"102-1":{},"106-1":{},"115-10":{},"115-13":{},"121-12":{},"140-16":{},"142-2":{},"144-1":{},"145-2":{},"145-3":{},"145-4":{},"145-6":{},"145-10":{},"145-17":{},"145-20":{},"145-23":{},"147-4":{},"180-1":{},"186-3":{},"202-11":{},"202-13":{},"203-5":{},"206-39":{},"212-5":{},"212-6":{},"212-7":{},"221-4":{},"260-1":{},"261-3":{},"273-1":{},"274-18":{},"283-6":{}},"name":{"40":{},"42":{},"43":{},"44":{},"72":{},"76":{},"77":{},"106":{},"144":{},"145":{},"165":{},"212":{},"217":{},"273":{}},"text":{"2":{},"3":{},"5":{},"6":{},"7":{},"8":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"23":{},"24":{},"26":{},"28":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"73":{},"74":{},"76":{},"77":{},"78":{},"79":{},"80":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"97":{},"99":{},"100":{},"101":{},"102":{},"104":{},"106":{},"107":{},"111":{},"113":{},"114":{},"115":{},"117":{},"121":{},"127":{},"132":{},"133":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"161":{},"162":{},"163":{},"164":{},"165":{},"169":{},"174":{},"178":{},"179":{},"180":{},"181":{},"185":{},"186":{},"191":{},"192":{},"193":{},"194":{},"195":{},"198":{},"200":{},"202":{},"203":{},"206":{},"212":{},"213":{},"214":{},"215":{},"217":{},"218":{},"220":{},"221":{},"224":{},"242":{},"243":{},"246":{},"249":{},"250":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"264":{},"266":{},"270":{},"272":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{}},"component":{"6":{}}}],["event).put(\"descript",{"_index":2491,"title":{},"name":{},"text":{"44":{}},"component":{}}],["event.aggregate.prefetch",{"_index":6873,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.aggregate.retry.attempt",{"_index":6874,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.aggregate.retry.delay",{"_index":6875,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.amount",{"_index":1196,"title":{},"name":{},"text":{"18":{}},"component":{}}],["event.bikeid",{"_index":7970,"title":{},"name":{},"text":{"281":{}},"component":{}}],["event.biketyp",{"_index":7857,"title":{},"name":{},"text":{"280":{}},"component":{}}],["event.bloom",{"_index":6837,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.ev",{"_index":6838,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.forc",{"_index":6849,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.getamount",{"_index":3171,"title":{},"name":{},"text":{"63":{},"85":{}},"component":{}}],["event.getid",{"_index":3169,"title":{},"name":{},"text":{"63":{}},"component":{}}],["event.getid().startswith(query.getfilter().getidstartswith",{"_index":3174,"title":{},"name":{},"text":{"63":{}},"component":{}}],["event.getpayload",{"_index":5856,"title":{},"name":{},"text":{"121":{}},"component":{}}],["event.glob",{"_index":6085,"title":{},"name":{},"text":{"141":{},"179":{}},"component":{}}],["event.handler.thread",{"_index":7488,"title":{},"name":{},"text":{"215":{}},"component":{}}],["event.id",{"_index":1248,"title":{},"name":{},"text":{"20":{}},"component":{}}],["event.id.startswith(query.idfilt",{"_index":5663,"title":{},"name":{},"text":{"108":{}},"component":{}}],["event.index",{"_index":6330,"title":{},"name":{},"text":{"147":{},"166":{},"169":{},"179":{}},"component":{}}],["event.leader.retry.attempt",{"_index":6876,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.leader.retry.delay",{"_index":6877,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.loc",{"_index":7858,"title":{},"name":{},"text":{"280":{}},"component":{}}],["event.max",{"_index":6333,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["event.memori",{"_index":6859,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.new",{"_index":6839,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.otherst",{"_index":4777,"title":{},"name":{},"text":{"77":{}},"component":{}}],["event.primari",{"_index":6851,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.read",{"_index":6940,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.retent",{"_index":6335,"title":{},"name":{},"text":{"147":{},"151":{}},"component":{}}],["event.secondari",{"_index":6854,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.seg",{"_index":6327,"title":{},"name":{},"text":{"147":{},"151":{},"179":{}},"component":{}}],["event.somest",{"_index":4775,"title":{},"name":{},"text":{"77":{}},"component":{}}],["event.storag",{"_index":6324,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["event.storage=[loc",{"_index":6355,"title":{},"name":{},"text":{"147":{}},"component":{}}],["event.sync",{"_index":6856,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.us",{"_index":6870,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event.valid",{"_index":6857,"title":{},"name":{},"text":{"179":{}},"component":{}}],["event/snapshot",{"_index":6170,"title":{},"name":{},"text":{"143":{},"147":{},"162":{}},"component":{}}],["eventa",{"_index":2407,"title":{},"name":{},"text":{"43":{}},"component":{}}],["eventavailabilitytimeout",{"_index":5194,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventb",{"_index":2406,"title":{},"name":{},"text":{"43":{}},"component":{}}],["eventblocklistingen",{"_index":3956,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eventbu",{"_index":2046,"title":{},"name":{},"text":{"36":{},"39":{},"40":{},"42":{},"46":{},"51":{},"57":{},"66":{},"69":{},"82":{},"88":{},"89":{},"90":{}},"component":{}}],["eventbuffer#disableig",{"_index":3957,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eventbus(eventbu",{"_index":2373,"title":{},"name":{},"text":{"40":{}},"component":{}}],["eventbus.registerdispatchinterceptor(new",{"_index":2769,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventbus/eventgateway",{"_index":2833,"title":{},"name":{},"text":{"52":{}},"component":{}}],["eventbusclass}.commit",{"_index":3074,"title":{},"name":{},"text":{"59":{}},"component":{}}],["eventbusclass}.publish(${eventclass",{"_index":3073,"title":{},"name":{},"text":{"59":{}},"component":{}}],["eventbusconfigur",{"_index":2766,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventc",{"_index":2408,"title":{},"name":{},"text":{"43":{}},"component":{}}],["eventcountsnapshottriggerdefinit",{"_index":4729,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eventcountsnapshottriggerdefinition(snapshott",{"_index":4748,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eventdata",{"_index":295,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["eventforwardingmod",{"_index":4954,"title":{},"name":{},"text":{"84":{}},"component":{}}],["eventgateway",{"_index":2391,"title":{},"name":{},"text":{"42":{},"66":{},"121":{},"286":{}},"component":{}}],["eventgateway.publish(new",{"_index":2393,"title":{},"name":{},"text":{"42":{},"286":{}},"component":{}}],["eventhandl",{"_index":2396,"title":{},"name":{},"text":{"43":{},"51":{},"52":{},"63":{},"66":{},"67":{},"69":{},"77":{},"82":{},"85":{},"86":{},"87":{},"88":{},"108":{},"115":{},"280":{},"286":{},"290":{}},"component":{}}],["eventhandler(ev",{"_index":5754,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventhandler`",{"_index":7870,"title":{},"name":{},"text":{"280":{}},"component":{}}],["eventhandlerinterceptor",{"_index":5101,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventhandlerinvok",{"_index":5097,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventhandlingcomponentschedulingev",{"_index":5753,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventidentifi",{"_index":4799,"title":{},"name":{},"text":{"79":{}},"component":{}}],["eventjobdatabind",{"_index":2347,"title":{},"name":{},"text":{"40":{}},"component":{}}],["eventloggingdispatchinterceptor",{"_index":2763,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventmessag",{"_index":2315,"title":{},"name":{},"text":{"39":{},"42":{},"43":{},"44":{},"47":{},"49":{},"51":{},"52":{},"66":{},"67":{},"86":{},"87":{},"101":{}},"component":{}}],["eventmessage.class",{"_index":2785,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventmessage`",{"_index":4912,"title":{},"name":{},"text":{"82":{},"85":{}},"component":{}}],["eventmessagehandl",{"_index":5084,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventmono",{"_index":5853,"title":{},"name":{},"text":{"121":{}},"component":{}}],["eventmono.map(ev",{"_index":5854,"title":{},"name":{},"text":{"121":{}},"component":{}}],["eventmultiupcast",{"_index":2455,"title":{},"name":{},"text":{"44":{},"67":{}},"component":{}}],["eventnam",{"_index":7463,"title":{},"name":{},"text":{"212":{}},"component":{}}],["eventprocessing(eventprocessingconfigurer::usingtrackingeventprocessor",{"_index":5125,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessingconfigur",{"_index":1084,"title":{},"name":{},"text":{"15":{},"17":{},"43":{},"66":{},"67":{},"69":{},"71":{},"86":{},"87":{},"88":{},"99":{},"102":{},"144":{}},"component":{}}],["eventprocessingconfiguration#eventprocessor(str",{"_index":5304,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessingconfigurer#defaulttransactionmanag",{"_index":3541,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventprocessingconfigurer#registersaga(class",{"_index":4507,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer#registersagastore(funct",{"_index":4512,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer.pooledstreamingprocessorconfigur",{"_index":5146,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessingconfigurer.registereventhandler(configur",{"_index":5588,"title":{},"name":{},"text":{"102":{}},"component":{}}],["eventprocessingconfigurer.registersaga",{"_index":4508,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer.registersaga(mysaga.class",{"_index":4503,"title":{},"name":{},"text":{"69":{}},"component":{}}],["eventprocessingconfigurer.registersubscribingeventprocessor",{"_index":5520,"title":{},"name":{},"text":{"99":{}},"component":{}}],["eventprocessingconfigurer.registertrackingeventprocessor",{"_index":5530,"title":{},"name":{},"text":{"99":{}},"component":{}}],["eventprocessingmodul",{"_index":3711,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventprocessor",{"_index":2773,"title":{},"name":{},"text":{"51":{},"53":{},"57":{},"66":{},"76":{},"87":{},"88":{},"144":{},"180":{}},"component":{}}],["eventprocessor(\"com.demo.queri",{"_index":5726,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventprocessor(processornam",{"_index":4706,"title":{},"name":{},"text":{"76":{}},"component":{}}],["eventprocessor.getidentifier().getprocessornam",{"_index":6220,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessor.getidentifier().gettokenstoreidentifi",{"_index":6222,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessor.gettokenstoreidentifi",{"_index":5228,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventprocessoradminservic",{"_index":6960,"title":{},"name":{},"text":{"180":{}},"component":{}}],["eventprocessorbuild",{"_index":5095,"title":{},"name":{},"text":{"87":{}},"component":{}}],["eventprocessorbyprocessinggroup(processornam",{"_index":6192,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessorconfigur",{"_index":2774,"title":{},"name":{},"text":{"51":{}},"component":{}}],["eventprocessorcontrolservic",{"_index":3936,"title":{},"name":{},"text":{"67":{}},"component":{}}],["eventprocessorlatencymetr",{"_index":3423,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventprocessorlatencymonitor",{"_index":2904,"title":{},"name":{},"text":{"57":{},"67":{}},"component":{}}],["eventprocessornam",{"_index":6216,"title":{},"name":{},"text":{"144":{}},"component":{}}],["eventprocessorproperti",{"_index":1090,"title":{},"name":{},"text":{"15":{}},"component":{}}],["eventprocessor}",{"_index":1074,"title":{},"name":{},"text":{"15":{}},"component":{}}],["eventpublish",{"_index":5849,"title":{},"name":{},"text":{"121":{}},"component":{}}],["events/snapshot",{"_index":6175,"title":{},"name":{},"text":{"143":{}},"component":{}}],["events1",{"_index":467,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events1:/axonserver/ev",{"_index":437,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events2",{"_index":473,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events2:/axonserver/ev",{"_index":448,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events3",{"_index":479,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["events3:/axonserver/ev",{"_index":454,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["eventschedul",{"_index":2333,"title":{},"name":{},"text":{"40":{},"66":{},"74":{},"115":{}},"component":{}}],["eventscheduler#schedul",{"_index":5757,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventscheduler.cancelschedule(token",{"_index":5758,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventscheduler.schedule(instant.now().plusdays(10",{"_index":5756,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventschedulingcompon",{"_index":5761,"title":{},"name":{},"text":{"115":{}},"component":{}}],["eventschema",{"_index":3381,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventseri",{"_index":1096,"title":{},"name":{},"text":{"15":{},"46":{},"66":{},"104":{}},"component":{}}],["eventserializer(config.eventseri",{"_index":2575,"title":{},"name":{},"text":{"46":{}},"component":{}}],["eventserializer(eventseri",{"_index":1103,"title":{},"name":{},"text":{"15":{},"46":{}},"component":{}}],["eventsourc",{"_index":1490,"title":{},"name":{},"text":{"30":{},"33":{},"145":{}},"component":{}}],["eventsourcea",{"_index":5363,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventsourceb",{"_index":5364,"title":{},"name":{},"text":{"88":{}},"component":{}}],["eventsources.rang",{"_index":6276,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventsourcinghandl",{"_index":1194,"title":{},"name":{},"text":{"18":{},"20":{},"82":{},"84":{},"280":{},"281":{},"288":{},"289":{}},"component":{}}],["eventsourcinghandler`",{"_index":4889,"title":{},"name":{},"text":{"81":{}},"component":{}}],["eventsourcingrepositori",{"_index":2036,"title":{},"name":{},"text":{"36":{},"66":{},"77":{}},"component":{}}],["eventsourcingrepository#getaggregatefactori",{"_index":4737,"title":{},"name":{},"text":{"77":{}},"component":{}}],["eventsourcingrepository.builder(giftcard.class",{"_index":2033,"title":{},"name":{},"text":{"36":{}},"component":{}}],["eventsourcingrepository.builder(giftcard.class).eventstore(eventstore).build",{"_index":2039,"title":{},"name":{},"text":{"36":{}},"component":{}}],["eventstor",{"_index":2037,"title":{},"name":{},"text":{"36":{},"38":{},"39":{},"44":{},"46":{},"49":{},"51":{},"57":{},"66":{},"67":{},"69":{},"77":{},"87":{},"88":{},"90":{},"113":{},"115":{},"143":{},"245":{}},"component":{}}],["eventstorageengin",{"_index":2520,"title":{},"name":{},"text":{"46":{},"51":{},"67":{},"79":{},"113":{},"114":{}},"component":{}}],["eventstore(c.eventstor",{"_index":2034,"title":{},"name":{},"text":{"36":{}},"component":{}}],["eventstore(eventstorageengin",{"_index":2599,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["eventstore’",{"_index":2618,"title":{},"name":{},"text":{"46":{}},"component":{}}],["eventstream",{"_index":7629,"title":{},"name":{},"text":{"261":{}},"component":{}}],["eventtablefactori",{"_index":2571,"title":{},"name":{},"text":{"46":{}},"component":{}}],["eventtrackerstatuschangelisten",{"_index":3774,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventtransform",{"_index":6274,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel",{"_index":6311,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#activetransform",{"_index":6316,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#newtransformation(descript",{"_index":6299,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#startcompact",{"_index":6314,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtransformationchannel#transform",{"_index":6296,"title":{},"name":{},"text":{"145":{}},"component":{}}],["eventtyp",{"_index":5636,"title":{},"name":{},"text":{"106":{}},"component":{}}],["eventtypeupcast",{"_index":2462,"title":{},"name":{},"text":{"44":{},"67":{}},"component":{}}],["eventtypeupcaster#from(str",{"_index":2464,"title":{},"name":{},"text":{"44":{}},"component":{}}],["eventtypeupcaster.builder#to(upcastedpayloadtyp",{"_index":2467,"title":{},"name":{},"text":{"44":{}},"component":{}}],["eventu",{"_index":3201,"title":{},"name":{},"text":{"63":{},"67":{},"79":{},"88":{},"94":{}},"component":{}}],["eventupcaster.singleeventupcast",{"_index":5635,"title":{},"name":{},"text":{"106":{}},"component":{}}],["eventupcasterchain",{"_index":2495,"title":{},"name":{},"text":{"44":{},"67":{},"101":{}},"component":{}}],["eventutils#asdomaineventmessag",{"_index":3771,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventvalid",{"_index":3785,"title":{},"name":{},"text":{"66":{}},"component":{}}],["eventwithtoken",{"_index":6281,"title":{},"name":{},"text":{"145":{}},"component":{}}],["event’",{"_index":2446,"title":{},"name":{},"text":{"44":{},"57":{},"88":{},"89":{}},"component":{}}],["everybodi",{"_index":4267,"title":{},"name":{},"text":{"67":{},"127":{}},"component":{}}],["everyth",{"_index":764,"title":{},"name":{},"text":{"5":{},"32":{},"87":{},"89":{},"151":{},"200":{},"202":{},"254":{},"255":{},"269":{},"276":{},"284":{},"285":{}},"component":{}}],["evict",{"_index":1047,"title":{},"name":{},"text":{"14":{},"69":{},"71":{}},"component":{}}],["evolut",{"_index":7694,"title":{},"name":{},"text":{"273":{},"274":{},"279":{}},"component":{}}],["evolutionari",{"_index":811,"title":{},"name":{},"text":{"5":{}},"component":{}}],["evolv",{"_index":7250,"title":{},"name":{},"text":{"200":{},"230":{},"240":{},"274":{},"279":{},"282":{}},"component":{}}],["evt",{"_index":4907,"title":{},"name":{},"text":{"82":{},"84":{}},"component":{}}],["evt.getamount",{"_index":4951,"title":{},"name":{},"text":{"84":{}},"component":{}}],["evt.getcardid",{"_index":4908,"title":{},"name":{},"text":{"82":{}},"component":{}}],["exact",{"_index":1472,"title":{},"name":{},"text":{"30":{},"38":{},"64":{},"67":{},"72":{},"88":{},"151":{},"163":{},"179":{},"280":{}},"component":{}}],["exactli",{"_index":33,"title":{"2-1":{}},"name":{},"text":{"27":{},"34":{},"36":{},"38":{},"49":{},"69":{},"72":{},"77":{},"84":{},"86":{},"88":{},"145":{},"154":{},"177":{},"239":{},"274":{}},"component":{}}],["exactsequenceof",{"_index":4640,"title":{},"name":{},"text":{"72":{}},"component":{}}],["examin",{"_index":7306,"title":{"203-2":{}},"name":{},"text":{"274":{}},"component":{}}],["exampl",{"_index":511,"title":{"193-5":{},"195-1":{},"286-3":{},"288-3":{},"289-3":{},"290-3":{}},"name":{},"text":{"3":{},"4":{},"5":{},"6":{},"8":{},"13":{},"14":{},"15":{},"16":{},"18":{},"21":{},"24":{},"27":{},"29":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"57":{},"58":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"80":{},"81":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"100":{},"102":{},"104":{},"105":{},"107":{},"108":{},"111":{},"115":{},"121":{},"124":{},"127":{},"128":{},"129":{},"132":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"177":{},"178":{},"179":{},"181":{},"184":{},"191":{},"192":{},"199":{},"201":{},"202":{},"206":{},"208":{},"221":{},"234":{},"239":{},"244":{},"249":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"264":{},"266":{},"270":{},"273":{},"274":{},"278":{},"280":{},"281":{},"286":{},"287":{}},"component":{}}],["examplehandlerdefinit",{"_index":1325,"title":{},"name":{},"text":{"24":{}},"component":{}}],["examplemessagehandlingmemb",{"_index":1332,"title":{},"name":{},"text":{"24":{}},"component":{}}],["examplemessagehandlingmember(messagehandlingmemb",{"_index":1336,"title":{},"name":{},"text":{"24":{}},"component":{}}],["examplemessagehandlingmember<>(origin",{"_index":1329,"title":{},"name":{},"text":{"24":{}},"component":{}}],["exce",{"_index":736,"title":{"5-9":{}},"name":{},"text":{"77":{},"88":{},"260":{},"262":{}},"component":{}}],["exceed",{"_index":4333,"title":{},"name":{},"text":{"67":{},"86":{},"88":{},"269":{}},"component":{}}],["excel",{"_index":1289,"title":{},"name":{},"text":{"23":{},"31":{},"274":{},"277":{}},"component":{}}],["except",{"_index":1137,"title":{"48":{},"48-1":{}},"name":{"48":{}},"text":{"16":{},"31":{},"34":{},"35":{},"38":{},"40":{},"44":{},"46":{},"48":{},"51":{},"53":{},"63":{},"66":{},"67":{},"72":{},"77":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"101":{},"105":{},"143":{},"145":{},"149":{},"206":{},"215":{},"257":{},"260":{},"262":{},"289":{}},"component":{}}],["exception",{"_index":1917,"title":{},"name":{},"text":{"34":{},"67":{}},"component":{}}],["exception/messag",{"_index":2797,"title":{},"name":{},"text":{"51":{}},"component":{}}],["exceptionhandl",{"_index":2649,"title":{"48-2":{},"51-14":{}},"name":{},"text":{"48":{},"51":{},"66":{},"67":{}},"component":{}}],["exceptionhandler(payloadtyp",{"_index":2800,"title":{},"name":{},"text":{"51":{}},"component":{}}],["exceptionhandler(resulttyp",{"_index":2805,"title":{},"name":{},"text":{"51":{}},"component":{}}],["exceptionresult",{"_index":2875,"title":{},"name":{},"text":{"53":{}},"component":{}}],["exchang",{"_index":90,"title":{"90":{}},"name":{},"text":{"2":{},"90":{},"91":{},"279":{},"283":{}},"component":{}}],["excit",{"_index":7686,"title":{},"name":{},"text":{"271":{}},"component":{}}],["exclud",{"_index":2255,"title":{},"name":{},"text":{"38":{},"46":{},"61":{},"66":{},"86":{}},"component":{}}],["exclus",{"_index":2549,"title":{},"name":{},"text":{"46":{},"67":{},"195":{}},"component":{}}],["execut",{"_index":338,"title":{"48-1":{},"72-4":{},"283-4":{},"285-5":{}},"name":{},"text":{"3":{},"24":{},"34":{},"35":{},"38":{},"39":{},"41":{},"42":{},"46":{},"48":{},"49":{},"51":{},"53":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"81":{},"82":{},"83":{},"88":{},"115":{},"143":{},"144":{},"145":{},"148":{},"150":{},"151":{},"171":{},"174":{},"178":{},"179":{},"180":{},"186":{},"191":{},"192":{},"194":{},"200":{},"201":{},"204":{},"208":{},"215":{},"239":{},"260":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["execute(eventtranformationchannelsuppli",{"_index":6291,"title":{},"name":{},"text":{"145":{}},"component":{}}],["execute(giftcard",{"_index":1997,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["executeintransact",{"_index":5764,"title":{},"name":{},"text":{"115":{}},"component":{}}],["executewithresult",{"_index":2871,"title":{},"name":{},"text":{"53":{}},"component":{}}],["executionresult",{"_index":2880,"title":{},"name":{},"text":{"53":{}},"component":{}}],["executor",{"_index":2156,"title":{},"name":{},"text":{"38":{},"59":{},"77":{},"88":{},"99":{},"128":{},"130":{},"179":{}},"component":{}}],["executors.newscheduledthreadpool(1",{"_index":5267,"title":{},"name":{},"text":{"88":{}},"component":{}}],["executors.newscheduledthreadpool(16",{"_index":5270,"title":{},"name":{},"text":{"88":{}},"component":{}}],["executorservic",{"_index":2162,"title":{},"name":{},"text":{"38":{},"99":{}},"component":{}}],["executorservice(executorservic",{"_index":5492,"title":{},"name":{},"text":{"99":{}},"component":{}}],["exemplifi",{"_index":1869,"title":{},"name":{},"text":{"34":{},"38":{}},"component":{}}],["exercis",{"_index":7762,"title":{},"name":{},"text":{"277":{}},"component":{}}],["exhaust",{"_index":1831,"title":{},"name":{},"text":{"33":{},"52":{},"66":{},"67":{},"86":{},"87":{},"88":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{}},"component":{}}],["exist",{"_index":552,"title":{},"name":{},"text":{"3":{},"6":{},"17":{},"24":{},"35":{},"36":{},"38":{},"39":{},"46":{},"47":{},"51":{},"60":{},"63":{},"66":{},"67":{},"69":{},"71":{},"76":{},"79":{},"97":{},"143":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"161":{},"169":{},"170":{},"177":{},"178":{},"180":{},"191":{},"199":{},"203":{},"204":{},"206":{},"208":{},"215":{},"216":{},"250":{},"273":{},"280":{},"286":{},"289":{}},"component":{}}],["exit",{"_index":2783,"title":{},"name":{},"text":{"51":{},"59":{}},"component":{}}],["expand",{"_index":1263,"title":{},"name":{},"text":{"21":{},"66":{},"140":{},"150":{},"156":{},"274":{}},"component":{}}],["expect",{"_index":1324,"title":{},"name":{},"text":{"24":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"43":{},"44":{},"47":{},"51":{},"52":{},"53":{},"62":{},"63":{},"64":{},"66":{},"67":{},"72":{},"74":{},"77":{},"80":{},"83":{},"84":{},"87":{},"88":{},"101":{},"104":{},"121":{},"143":{},"151":{},"161":{},"166":{},"176":{},"203":{},"204":{},"206":{},"211":{},"212":{},"214":{},"216":{},"219":{},"224":{},"244":{},"263":{},"266":{},"269":{},"274":{},"280":{},"281":{},"285":{}},"component":{}}],["expectdeadlinesmet(object",{"_index":4670,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectdeadlinesmetmatching(match",{"_index":4671,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectdispatchedcommandsmatching(matchers.listwithallof(amarkasoverduecommand",{"_index":4677,"title":{},"name":{},"text":{"74":{}},"component":{}}],["expectdispatchedcommandsmatching(matchers.payloadsmatching(matchers.listwithallof(amarkasoverduecommand",{"_index":4678,"title":{},"name":{},"text":{"74":{}},"component":{}}],["expectedpayloadtyp",{"_index":2465,"title":{},"name":{},"text":{"44":{}},"component":{}}],["expectedrevis",{"_index":2466,"title":{},"name":{},"text":{"44":{}},"component":{}}],["expectedvalu",{"_index":1335,"title":{},"name":{},"text":{"24":{}},"component":{}}],["expectedvalue.equals(message.getmetadata().get(metadatakey",{"_index":1347,"title":{},"name":{},"text":{"24":{}},"component":{}}],["expectevents(new",{"_index":1278,"title":{},"name":{},"text":{"22":{},"72":{},"285":{}},"component":{}}],["expecteventsmatching(exactsequenceof",{"_index":4637,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expecteventsmatching(payloadsmatch",{"_index":4639,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectexceptionmessag",{"_index":4228,"title":{},"name":{},"text":{"67":{}},"component":{}}],["expectnoev",{"_index":1206,"title":{},"name":{},"text":{"18":{}},"component":{}}],["expectnoscheduleddeadlin",{"_index":4660,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadline(dur",{"_index":4663,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadline(inst",{"_index":4667,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinematching(dur",{"_index":4662,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinematching(inst",{"_index":4666,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinematching(match",{"_index":4661,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlineoftype(dur",{"_index":4664,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlineoftype(inst",{"_index":4668,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinewithname(dur",{"_index":4665,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectnoscheduleddeadlinewithname(inst",{"_index":4669,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadline(dur",{"_index":4652,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadline(inst",{"_index":4656,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinematching(dur",{"_index":4653,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinematching(inst",{"_index":4657,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlineoftype(dur",{"_index":4654,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlineoftype(inst",{"_index":4658,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinewithname(dur",{"_index":4655,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectscheduleddeadlinewithname(inst",{"_index":4659,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectst",{"_index":4647,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectstate(st",{"_index":4646,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expectsuccessfulhandlerexecut",{"_index":1205,"title":{},"name":{},"text":{"18":{},"22":{},"66":{},"72":{}},"component":{}}],["expecttriggereddeadlineswithname(\"expired_gift_card",{"_index":1280,"title":{},"name":{},"text":{"22":{}},"component":{}}],["expend",{"_index":5798,"title":{},"name":{},"text":{"121":{}},"component":{}}],["expens",{"_index":4495,"title":{},"name":{},"text":{"69":{},"71":{},"77":{},"151":{},"156":{}},"component":{}}],["experi",{"_index":1534,"title":{},"name":{},"text":{"30":{},"140":{},"203":{},"235":{},"263":{},"265":{},"277":{}},"component":{}}],["experienc",{"_index":7801,"title":{},"name":{},"text":{"279":{}},"component":{}}],["experiment",{"_index":5644,"title":{},"name":{},"text":{"107":{},"140":{},"151":{}},"component":{}}],["experimental.black",{"_index":6444,"title":{},"name":{},"text":{"151":{}},"component":{}}],["expert",{"_index":4523,"title":{},"name":{},"text":{"72":{}},"component":{}}],["expir",{"_index":1181,"title":{},"name":{},"text":{"18":{},"20":{},"21":{},"77":{},"176":{},"179":{},"185":{},"261":{}},"component":{}}],["expired_gift_card",{"_index":1193,"title":{},"name":{},"text":{"18":{},"20":{}},"component":{}}],["expiri",{"_index":6015,"title":{},"name":{},"text":{"140":{}},"component":{}}],["expiringcardexpiredev",{"_index":1256,"title":{},"name":{},"text":{"20":{},"22":{}},"component":{}}],["expiringcardexpiredevent(card_id",{"_index":1279,"title":{},"name":{},"text":{"22":{}},"component":{}}],["expiringcardexpiredevent(giftcardid",{"_index":1246,"title":{},"name":{},"text":{"20":{}},"component":{}}],["expiringcardissuedevent(command.id",{"_index":1238,"title":{},"name":{},"text":{"20":{}},"component":{}}],["expiringgiftcard",{"_index":1228,"title":{},"name":{},"text":{"20":{}},"component":{}}],["expiringgiftcardtest",{"_index":1269,"title":{},"name":{},"text":{"22":{}},"component":{}}],["explain",{"_index":1126,"title":{},"name":{},"text":{"15":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"37":{},"38":{},"43":{},"44":{},"61":{},"62":{},"67":{},"82":{},"85":{},"86":{},"88":{},"151":{},"216":{},"217":{},"219":{},"221":{},"273":{},"282":{}},"component":{}}],["explan",{"_index":1438,"title":{},"name":{},"text":{"29":{},"66":{},"145":{},"260":{},"280":{}},"component":{}}],["explicit",{"_index":2080,"title":{},"name":{},"text":{"38":{},"46":{},"47":{},"67":{},"72":{},"74":{},"83":{},"87":{},"108":{},"142":{},"273":{}},"component":{}}],["explicitli",{"_index":801,"title":{},"name":{},"text":{"5":{},"15":{},"24":{},"27":{},"32":{},"38":{},"46":{},"52":{},"72":{},"74":{},"77":{},"80":{},"84":{},"87":{},"88":{},"99":{},"145":{},"147":{},"149":{},"179":{},"192":{},"211":{},"212":{},"214":{},"286":{}},"component":{}}],["explor",{"_index":7227,"title":{},"name":{},"text":{"199":{},"241":{},"263":{},"265":{},"276":{},"280":{}},"component":{}}],["exploratori",{"_index":7669,"title":{},"name":{},"text":{"270":{}},"component":{}}],["exponenti",{"_index":2094,"title":{},"name":{},"text":{"38":{},"66":{}},"component":{}}],["exponentialbackoffintervalretryschedul",{"_index":2093,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["export",{"_index":187,"title":{"3-2":{},"154-7":{},"177-3":{}},"name":{},"text":{"3":{},"154":{},"177":{},"188":{},"191":{},"284":{}},"component":{}}],["expos",{"_index":342,"title":{},"name":{},"text":{"3":{},"38":{},"43":{},"50":{},"57":{},"58":{},"66":{},"82":{},"84":{},"86":{},"87":{},"88":{},"127":{},"140":{},"144":{},"165":{},"172":{},"185":{},"191":{},"215":{},"280":{},"290":{}},"component":{}}],["exposur",{"_index":6001,"title":{"140-11":{}},"name":{},"text":{},"component":{}}],["express",{"_index":2757,"title":{},"name":{},"text":{"51":{},"72":{},"89":{},"145":{},"147":{},"178":{},"193":{},"195":{},"196":{},"245":{},"289":{}},"component":{}}],["ext",{"_index":711,"title":{},"name":{},"text":{"4":{},"170":{},"172":{}},"component":{}}],["extend",{"_index":1302,"title":{},"name":{},"text":{"23":{},"24":{},"26":{},"36":{},"43":{},"44":{},"46":{},"47":{},"49":{},"52":{},"64":{},"66":{},"67":{},"77":{},"79":{},"81":{},"88":{},"121":{},"138":{},"280":{}},"component":{}}],["extens",{"_index":0,"title":{"1":{},"93":{},"95":{},"98":{},"100":{},"103":{},"109":{},"111":{},"112":{},"116":{},"119":{},"122":{},"126":{},"128":{},"131":{},"132":{},"134":{},"170":{},"172":{},"1-1":{},"4-3":{},"9-2":{},"30-15":{},"170-1":{},"170-2":{},"170-5":{},"172-1":{},"172-2":{}},"name":{},"text":{"1":{},"3":{},"4":{},"9":{},"29":{},"30":{},"31":{},"32":{},"38":{},"39":{},"46":{},"59":{},"63":{},"66":{},"72":{},"79":{},"86":{},"88":{},"89":{},"91":{},"92":{},"93":{},"95":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"107":{},"109":{},"112":{},"114":{},"115":{},"116":{},"117":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"126":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"140":{},"141":{},"147":{},"148":{},"170":{},"172":{},"174":{},"175":{},"191":{},"283":{}},"component":{"1":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{}}}],["extent",{"_index":1918,"title":{},"name":{},"text":{"34":{}},"component":{}}],["extern",{"_index":131,"title":{"286":{},"35-5":{}},"name":{},"text":{"2":{},"16":{},"35":{},"36":{},"69":{},"72":{},"74":{},"82":{},"85":{},"115":{},"121":{},"140":{},"144":{},"169":{},"174":{},"179":{},"281":{},"284":{},"286":{}},"component":{}}],["extra",{"_index":819,"title":{},"name":{},"text":{"5":{},"31":{},"38":{},"47":{},"49":{},"66":{},"72":{},"151":{},"179":{}},"component":{}}],["extract",{"_index":3701,"title":{},"name":{},"text":{"66":{},"77":{},"89":{},"192":{},"281":{}},"component":{}}],["extractor",{"_index":5244,"title":{},"name":{},"text":{"88":{}},"component":{}}],["extraordinari",{"_index":2136,"title":{},"name":{},"text":{"38":{}},"component":{}}],["extrem",{"_index":1635,"title":{},"name":{},"text":{"31":{},"60":{},"234":{},"242":{}},"component":{}}],["exts/axon",{"_index":6603,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["exts/common",{"_index":6727,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/cont",{"_index":6731,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/javax.inject",{"_index":6606,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["exts/javax.persist",{"_index":6733,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/javax.transact",{"_index":6735,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/jcip",{"_index":6737,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/lang",{"_index":6738,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/nimbu",{"_index":6740,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/oauth2",{"_index":6744,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/spr",{"_index":6608,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["exts/tomcat",{"_index":6750,"title":{},"name":{},"text":{"172":{}},"component":{}}],["exts/valid",{"_index":6754,"title":{},"name":{},"text":{"172":{}},"component":{}}],["ey",{"_index":2967,"title":{},"name":{},"text":{"58":{},"266":{},"283":{}},"component":{}}],["f",{"_index":640,"title":{},"name":{},"text":{"3":{},"66":{},"148":{},"178":{},"191":{},"283":{}},"component":{}}],["f016e450998",{"_index":7934,"title":{},"name":{},"text":{"280":{}},"component":{}}],["fabio",{"_index":4217,"title":{},"name":{},"text":{"67":{}},"component":{}}],["facad",{"_index":1502,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["face",{"_index":4219,"title":{},"name":{},"text":{"67":{},"130":{}},"component":{}}],["facilit",{"_index":903,"title":{},"name":{},"text":{"6":{},"70":{},"73":{},"140":{},"145":{},"227":{},"236":{}},"component":{}}],["fact",{"_index":543,"title":{},"name":{},"text":{"3":{},"16":{},"26":{},"38":{},"49":{},"51":{},"59":{},"66":{},"67":{},"76":{},"84":{},"88":{},"145":{},"191":{}},"component":{}}],["facto",{"_index":5793,"title":{},"name":{},"text":{"120":{}},"component":{}}],["factor",{"_index":666,"title":{"38-13":{},"38-16":{}},"name":{},"text":{"3":{},"38":{},"77":{},"96":{},"128":{},"191":{},"211":{}},"component":{}}],["factor=100",{"_index":5458,"title":{},"name":{},"text":{"96":{},"128":{}},"component":{}}],["factori",{"_index":1291,"title":{"36-6":{},"59-1":{},"59-5":{},"115-14":{}},"name":{},"text":{"23":{},"36":{},"38":{},"50":{},"59":{},"66":{},"77":{},"80":{},"86":{},"87":{},"88":{},"113":{},"115":{},"119":{}},"component":{}}],["factory(factori",{"_index":5679,"title":{},"name":{},"text":{"113":{}},"component":{}}],["factory.creategateway(mygateway.class",{"_index":2130,"title":{},"name":{},"text":{"38":{}},"component":{}}],["factorybean",{"_index":4260,"title":{},"name":{},"text":{"67":{}},"component":{}}],["fail",{"_index":972,"title":{"17":{}},"name":{},"text":{"6":{},"15":{},"16":{},"31":{},"35":{},"36":{},"38":{},"48":{},"53":{},"57":{},"63":{},"66":{},"67":{},"72":{},"77":{},"83":{},"86":{},"88":{},"105":{},"121":{},"141":{},"143":{},"150":{},"179":{},"261":{}},"component":{}}],["failur",{"_index":973,"title":{},"name":{},"text":{"6":{},"38":{},"46":{},"48":{},"66":{},"67":{},"82":{},"85":{},"86":{},"102":{},"105":{},"127":{},"151":{},"257":{},"285":{},"288":{},"289":{}},"component":{}}],["failurethreshold",{"_index":625,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["fair",{"_index":2191,"title":{},"name":{},"text":{"38":{},"88":{}},"component":{}}],["fairli",{"_index":4526,"title":{},"name":{},"text":{"72":{}},"component":{}}],["faith",{"_index":4869,"title":{},"name":{},"text":{"80":{}},"component":{}}],["fall",{"_index":2256,"title":{},"name":{},"text":{"38":{},"46":{},"61":{},"66":{},"88":{},"284":{}},"component":{}}],["fallback",{"_index":2231,"title":{},"name":{},"text":{"38":{},"67":{},"89":{},"163":{},"206":{},"280":{}},"component":{}}],["fallbackroutingstrategy(unresolvedroutingkeypolicy.random_key",{"_index":2246,"title":{},"name":{},"text":{"38":{}},"component":{}}],["fallbackroutingstrategy(unresolvedroutingkeypolicy.static_key",{"_index":2244,"title":{},"name":{},"text":{"38":{}},"component":{}}],["fals",{"_index":1249,"title":{},"name":{},"text":{"20":{},"32":{},"38":{},"40":{},"52":{},"57":{},"58":{},"59":{},"67":{},"68":{},"82":{},"84":{},"114":{},"115":{},"132":{},"166":{},"169":{},"172":{},"178":{},"179":{},"184":{},"188":{},"192":{},"193":{},"204":{},"206":{},"244":{}},"component":{}}],["familiar",{"_index":7687,"title":{},"name":{},"text":{"271":{}},"component":{}}],["faq",{"_index":59,"title":{"2":{},"5":{}},"name":{"2":{}},"text":{"7":{}},"component":{"2":{},"5":{}}}],["far",{"_index":1495,"title":{},"name":{},"text":{"30":{},"32":{},"57":{},"67":{},"129":{},"141":{},"185":{},"221":{}},"component":{}}],["fashion",{"_index":3014,"title":{},"name":{},"text":{"59":{},"66":{},"88":{}},"component":{}}],["fast",{"_index":1567,"title":{},"name":{},"text":{"31":{},"46":{},"88":{},"121":{},"140":{},"151":{},"156":{},"163":{},"185":{},"281":{}},"component":{}}],["faster",{"_index":946,"title":{},"name":{},"text":{"6":{},"38":{},"140":{},"151":{},"179":{},"185":{}},"component":{}}],["fastest",{"_index":6416,"title":{},"name":{},"text":{"150":{},"242":{},"274":{}},"component":{}}],["fat",{"_index":2457,"title":{},"name":{},"text":{"44":{}},"component":{}}],["fatal",{"_index":6079,"title":{},"name":{},"text":{"141":{}},"component":{}}],["faulti",{"_index":4387,"title":{},"name":{},"text":{"67":{},"86":{},"128":{}},"component":{}}],["favor",{"_index":1825,"title":{},"name":{},"text":{"33":{},"67":{},"179":{},"215":{}},"component":{}}],["favorit",{"_index":7810,"title":{},"name":{},"text":{"279":{}},"component":{}}],["favour",{"_index":2259,"title":{},"name":{},"text":{"38":{}},"component":{}}],["feasibl",{"_index":4765,"title":{},"name":{},"text":{"77":{},"142":{}},"component":{}}],["featur",{"_index":36,"title":{"259":{},"281":{},"2-2":{},"2-5":{},"59-8":{},"66-2":{},"66-8":{},"66-13":{},"66-18":{},"66-23":{},"67-7":{},"67-58":{},"67-87":{},"67-101":{},"140-8":{},"140-15":{},"140-26":{},"141-26":{},"145-27":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{},"249-1":{}},"name":{},"text":{"2":{},"5":{},"29":{},"30":{},"32":{},"40":{},"52":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"79":{},"88":{},"94":{},"97":{},"119":{},"127":{},"140":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"163":{},"175":{},"177":{},"189":{},"192":{},"202":{},"221":{},"226":{},"244":{},"249":{},"250":{},"254":{},"259":{},"260":{},"262":{},"263":{},"265":{},"269":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["feature/1466",{"_index":3522,"title":{},"name":{},"text":{"66":{}},"component":{}}],["feature/1629",{"_index":3615,"title":{},"name":{},"text":{"66":{}},"component":{}}],["feed",{"_index":5544,"title":{},"name":{},"text":{"101":{}},"component":{}}],["feedback",{"_index":3644,"title":{"235":{}},"name":{"235":{}},"text":{"66":{},"140":{},"235":{}},"component":{}}],["feel",{"_index":171,"title":{},"name":{},"text":{"2":{},"5":{},"63":{},"107":{},"120":{},"140":{},"157":{}},"component":{}}],["fernanf",{"_index":3492,"title":{},"name":{},"text":{"66":{}},"component":{}}],["fetch",{"_index":2234,"title":{},"name":{},"text":{"38":{},"46":{},"59":{},"64":{},"66":{},"67":{},"88":{},"163":{},"206":{}},"component":{}}],["fetchcardsummariesqueri",{"_index":3176,"title":{},"name":{},"text":{"63":{},"202":{}},"component":{}}],["fetchcardsummariesquery(offset",{"_index":3180,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchcardsummariesquery.class",{"_index":3173,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchcardsummaryqueri",{"_index":3234,"title":{},"name":{},"text":{"64":{}},"component":{}}],["fetchcardsummaryquery(str",{"_index":3236,"title":{},"name":{},"text":{"64":{}},"component":{}}],["fetcher",{"_index":5480,"title":{},"name":{},"text":{"99":{},"104":{},"179":{}},"component":{}}],["fetcher(fetch",{"_index":5514,"title":{},"name":{},"text":{"99":{}},"component":{}}],["fetcher(long",{"_index":5488,"title":{},"name":{},"text":{"99":{}},"component":{}}],["fetchqueryresult",{"_index":3182,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchqueryresult.clos",{"_index":3190,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fetchtype.eag",{"_index":4972,"title":{},"name":{},"text":{"85":{}},"component":{}}],["few",{"_index":1183,"title":{},"name":{},"text":{"18":{},"23":{},"33":{},"38":{},"40":{},"46":{},"51":{},"53":{},"69":{},"72":{},"77":{},"128":{},"145":{},"151":{},"207":{},"239":{},"280":{},"281":{}},"component":{}}],["fewer",{"_index":7625,"title":{},"name":{},"text":{"260":{},"273":{}},"component":{}}],["field",{"_index":1429,"title":{"199-4":{}},"name":{},"text":{"29":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"58":{},"60":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"79":{},"81":{},"82":{},"83":{},"84":{},"85":{},"88":{},"89":{},"108":{},"132":{},"193":{},"194":{},"197":{},"199":{},"203":{},"216":{},"217":{},"219":{},"224":{},"262":{},"270":{},"274":{},"280":{},"281":{},"283":{}},"component":{}}],["field/gett",{"_index":4959,"title":{},"name":{},"text":{"84":{}},"component":{}}],["fifo",{"_index":4203,"title":{},"name":{},"text":{"67":{}},"component":{}}],["fifteen",{"_index":7039,"title":{},"name":{},"text":{"186":{}},"component":{}}],["fifteenth",{"_index":7603,"title":{},"name":{},"text":{"250":{}},"component":{}}],["fifth",{"_index":7709,"title":{},"name":{},"text":{"274":{}},"component":{}}],["figur",{"_index":2456,"title":{},"name":{},"text":{"44":{},"46":{},"201":{},"202":{},"203":{},"265":{},"273":{},"281":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["file",{"_index":241,"title":{"31-4":{},"31-5":{},"89-6":{},"89-12":{},"104-11":{},"179-1":{},"206-27":{},"206-29":{},"206-31":{},"206-34":{}},"name":{},"text":{"3":{},"4":{},"23":{},"24":{},"26":{},"29":{},"32":{},"33":{},"38":{},"44":{},"46":{},"66":{},"79":{},"88":{},"89":{},"94":{},"96":{},"104":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"162":{},"167":{},"169":{},"170":{},"172":{},"176":{},"177":{},"178":{},"179":{},"181":{},"185":{},"187":{},"188":{},"191":{},"192":{},"201":{},"206":{},"208":{},"215":{},"226":{},"237":{},"263":{},"267":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"283":{},"284":{},"285":{}},"component":{}}],["file.segment.per.ti",{"_index":6465,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file=./axoniq.licens",{"_index":573,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["file=./axoniq.token",{"_index":577,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["file=./axonserver.properti",{"_index":578,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["file=default_tcp_gossip.xml",{"_index":5465,"title":{},"name":{},"text":{"96":{}},"component":{}}],["file_segment_moved_complet",{"_index":6463,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_completed_total{axonserver=\"axonserv",{"_index":6457,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_dur",{"_index":6464,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_duration_seconds_sum{axonserver=\"axonserv",{"_index":6459,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_initi",{"_index":6462,"title":{},"name":{},"text":{"151":{}},"component":{}}],["file_segment_moved_initiated_total{axonserver=\"axonserv",{"_index":6454,"title":{},"name":{},"text":{"151":{}},"component":{}}],["filenam",{"_index":699,"title":{},"name":{},"text":{"4":{},"142":{}},"component":{}}],["fill",{"_index":2686,"title":{},"name":{},"text":{"50":{},"66":{},"86":{},"148":{},"163":{},"199":{},"211":{},"212":{},"214":{},"260":{},"281":{}},"component":{}}],["filter",{"_index":1319,"title":{"193":{},"46-11":{},"77-6":{},"274-29":{}},"name":{"193":{}},"text":{"24":{},"39":{},"46":{},"63":{},"66":{},"67":{},"72":{},"77":{},"86":{},"89":{},"108":{},"121":{},"127":{},"128":{},"140":{},"144":{},"145":{},"147":{},"170":{},"179":{},"193":{},"194":{},"260":{},"262":{},"274":{},"280":{}},"component":{}}],["filter(ctx",{"_index":5878,"title":{},"name":{},"text":{"121":{}},"component":{}}],["filter(eventprocessor",{"_index":4707,"title":{},"name":{},"text":{"76":{},"144":{}},"component":{}}],["filter(eventwithtoken",{"_index":6278,"title":{},"name":{},"text":{"145":{}},"component":{}}],["filter(pred",{"_index":6289,"title":{},"name":{},"text":{"145":{}},"component":{}}],["filter(result",{"_index":6229,"title":{},"name":{},"text":{"144":{}},"component":{}}],["filteringeventstorageengin",{"_index":2606,"title":{},"name":{},"text":{"46":{}},"component":{}}],["final",{"_index":344,"title":{"235-1":{}},"name":{},"text":{"3":{},"14":{},"17":{},"20":{},"21":{},"22":{},"24":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"49":{},"50":{},"51":{},"64":{},"72":{},"86":{},"121":{},"144":{},"145":{},"148":{},"191":{},"201":{},"202":{},"274":{},"279":{},"280":{},"281":{},"290":{}},"component":{}}],["financ",{"_index":7450,"title":{},"name":{},"text":{"209":{}},"component":{}}],["find",{"_index":763,"title":{},"name":{},"text":{"5":{},"12":{},"23":{},"29":{},"31":{},"33":{},"36":{},"43":{},"51":{},"53":{},"56":{},"59":{},"62":{},"67":{},"69":{},"77":{},"84":{},"86":{},"87":{},"93":{},"94":{},"95":{},"96":{},"98":{},"103":{},"109":{},"112":{},"115":{},"119":{},"122":{},"126":{},"127":{},"128":{},"131":{},"134":{},"147":{},"149":{},"150":{},"154":{},"167":{},"177":{},"179":{},"200":{},"211":{},"212":{},"214":{},"226":{},"239":{},"249":{},"262":{},"265":{},"280":{}},"component":{}}],["find_al",{"_index":7864,"title":{},"name":{},"text":{"280":{}},"component":{}}],["find_avail",{"_index":7866,"title":{},"name":{},"text":{"280":{}},"component":{}}],["find_on",{"_index":7865,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findal",{"_index":7829,"title":{"280-10":{},"280-13":{}},"name":{},"text":{"280":{}},"component":{}}],["findall(findallqueri",{"_index":5821,"title":{},"name":{},"text":{"121":{}},"component":{}}],["findallbybiketypeandstatus(str",{"_index":7881,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findavail",{"_index":7867,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findavailable(str",{"_index":7873,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findbyid",{"_index":7879,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findcardqueri",{"_index":2813,"title":{},"name":{},"text":{"51":{}},"component":{}}],["findcardquery.class",{"_index":2814,"title":{},"name":{},"text":{"51":{}},"component":{}}],["findmany(findmanyqueri",{"_index":5822,"title":{},"name":{},"text":{"121":{}},"component":{}}],["findon",{"_index":7830,"title":{"280-11":{},"280-13":{}},"name":{},"text":{"280":{}},"component":{}}],["findone(str",{"_index":7877,"title":{},"name":{},"text":{"280":{}},"component":{}}],["findstatus(@pathvariable(\"bikeid",{"_index":7900,"title":{},"name":{},"text":{"280":{}},"component":{}}],["fine",{"_index":1311,"title":{},"name":{},"text":{"24":{},"31":{},"44":{},"48":{},"51":{},"57":{},"63":{},"66":{},"76":{},"77":{},"87":{},"88":{},"100":{},"132":{},"145":{},"151":{},"164":{},"172":{},"226":{},"244":{},"273":{}},"component":{}}],["finish",{"_index":1714,"title":{"32-6":{}},"name":{},"text":{"34":{},"38":{},"59":{},"82":{},"88":{},"143":{}},"component":{}}],["finit",{"_index":3229,"title":{},"name":{},"text":{"63":{}},"component":{}}],["finsh",{"_index":7554,"title":{},"name":{},"text":{"232":{}},"component":{}}],["fire",{"_index":2117,"title":{},"name":{},"text":{"38":{},"51":{},"59":{},"264":{},"270":{},"271":{},"273":{},"281":{}},"component":{}}],["firestart",{"_index":7653,"title":{"270":{},"269-3":{},"270-1":{},"270-2":{}},"name":{"270":{},"272":{}},"text":{"265":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"277":{}},"component":{}}],["first",{"_index":326,"title":{"237":{}},"name":{},"text":{"3":{},"5":{},"15":{},"18":{},"30":{},"31":{},"34":{},"35":{},"36":{},"37":{},"38":{},"42":{},"43":{},"44":{},"46":{},"51":{},"52":{},"57":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"76":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"96":{},"99":{},"115":{},"133":{},"141":{},"142":{},"145":{},"148":{},"151":{},"154":{},"177":{},"179":{},"186":{},"191":{},"192":{},"195":{},"199":{},"201":{},"202":{},"206":{},"212":{},"215":{},"237":{},"241":{},"247":{},"250":{},"254":{},"260":{},"263":{},"267":{},"269":{},"270":{},"271":{},"273":{},"274":{},"275":{},"276":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["firstev",{"_index":4634,"title":{},"name":{},"text":{"72":{}},"component":{}}],["firsthand",{"_index":7640,"title":{},"name":{},"text":{"263":{}},"component":{}}],["firstletterid",{"_index":5031,"title":{},"name":{},"text":{"86":{}},"component":{}}],["firstli",{"_index":2075,"title":{},"name":{},"text":{"38":{},"67":{},"88":{},"89":{},"121":{}},"component":{}}],["firsttoken",{"_index":6288,"title":{},"name":{},"text":{"145":{}},"component":{}}],["fisttoken",{"_index":6286,"title":{},"name":{},"text":{"145":{}},"component":{}}],["fit",{"_index":1262,"title":{},"name":{},"text":{"21":{},"66":{},"67":{},"77":{},"86":{},"111":{},"120":{},"145":{}},"component":{}}],["five",{"_index":2230,"title":{},"name":{},"text":{"38":{},"63":{},"121":{},"186":{},"273":{},"274":{}},"component":{}}],["fix",{"_index":671,"title":{"66-4":{},"66-10":{},"66-15":{},"66-20":{},"66-25":{},"66-29":{},"66-32":{},"66-35":{},"66-38":{},"66-41":{},"66-44":{},"67-4":{},"67-9":{},"67-13":{},"67-18":{},"67-21":{},"67-25":{},"67-31":{},"67-35":{},"67-39":{},"67-44":{},"67-47":{},"67-51":{},"67-55":{},"67-60":{},"67-63":{},"67-68":{},"67-71":{},"67-74":{},"67-77":{},"67-80":{},"67-84":{},"67-89":{},"67-93":{},"67-97":{},"67-99":{},"67-103":{},"67-105":{},"67-108":{},"119-4":{},"126-4":{},"140-3":{},"140-21":{},"141-21":{},"141-24":{},"141-27":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{}},"name":{},"text":{"3":{},"16":{},"57":{},"66":{},"67":{},"79":{},"87":{},"88":{},"119":{},"138":{},"140":{},"141":{},"144":{},"145":{},"191":{},"193":{},"215":{},"260":{},"270":{},"273":{}},"component":{}}],["fixedvaluerevisionresolv",{"_index":2441,"title":{},"name":{},"text":{"44":{}},"component":{}}],["fixtur",{"_index":1491,"title":{},"name":{},"text":{"30":{},"35":{},"66":{},"67":{},"72":{},"74":{},"285":{}},"component":{}}],["fixture.expectexception(class",{"_index":4595,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexception(match",{"_index":4594,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptiondetails(class",{"_index":4599,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptiondetails(match",{"_index":4600,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptiondetails(object",{"_index":4598,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptionmessage(match",{"_index":4597,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectexceptionmessage(str",{"_index":4596,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessage(commandresultmessag",{"_index":4592,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessagematching(match",{"_index":4593,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessagepayload(object",{"_index":4590,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectresultmessagepayloadmatching(match",{"_index":4591,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.expectsuccessfulhandlerexecut",{"_index":4589,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.given(new",{"_index":4537,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.givenaggregate(invoiceid).published(new",{"_index":4674,"title":{},"name":{},"text":{"74":{}},"component":{}}],["fixture.givennoprioract",{"_index":8029,"title":{},"name":{},"text":{"285":{}},"component":{}}],["fixture.givenst",{"_index":4645,"title":{},"name":{},"text":{"72":{}},"component":{}}],["fixture.registerresource(object",{"_index":4681,"title":{},"name":{},"text":{"74":{}},"component":{}}],["fixtureconfigur",{"_index":4534,"title":{},"name":{},"text":{"72":{},"74":{}},"component":{}}],["fixture’",{"_index":4319,"title":{},"name":{},"text":{"67":{}},"component":{}}],["flag",{"_index":2112,"title":{},"name":{},"text":{"38":{},"67":{},"121":{},"178":{}},"component":{}}],["flagship",{"_index":5990,"title":{},"name":{},"text":{"137":{}},"component":{}}],["flatmap(collection::stream",{"_index":3151,"title":{},"name":{},"text":{"63":{}},"component":{}}],["flatmap(eventprocessor",{"_index":6224,"title":{},"name":{},"text":{"144":{}},"component":{}}],["flatmapmany(flux::fromiter",{"_index":5844,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flatmapmany(result",{"_index":5835,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flatten",{"_index":5840,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flavor",{"_index":1580,"title":{},"name":{},"text":{"31":{},"38":{},"39":{},"57":{},"87":{},"156":{},"224":{}},"component":{}}],["flexibl",{"_index":878,"title":{},"name":{},"text":{"6":{},"31":{},"38":{},"46":{},"47":{},"63":{},"67":{},"88":{},"89":{},"119":{},"140":{},"145":{}},"component":{}}],["flight",{"_index":7045,"title":{},"name":{},"text":{"186":{}},"component":{}}],["float",{"_index":3257,"title":{},"name":{},"text":{"64":{}},"component":{}}],["flow",{"_index":724,"title":{"163":{},"243":{},"258":{},"5-5":{},"49-4":{},"145-10":{},"145-13":{},"151-12":{},"274-39":{},"274-40":{}},"name":{"163":{},"243":{},"258":{}},"text":{"5":{},"31":{},"49":{},"56":{},"63":{},"87":{},"133":{},"151":{},"153":{},"163":{},"164":{},"179":{},"181":{},"185":{},"190":{},"243":{},"249":{},"250":{},"259":{},"274":{},"276":{},"281":{},"288":{},"289":{},"290":{}},"component":{}}],["fluctuat",{"_index":969,"title":{},"name":{},"text":{"6":{}},"component":{}}],["fluent",{"_index":1085,"title":{"145-19":{}},"name":{},"text":{"15":{},"72":{}},"component":{}}],["flush",{"_index":3104,"title":{},"name":{},"text":{"59":{}},"component":{}}],["flux",{"_index":3197,"title":{},"name":{},"text":{"63":{},"66":{},"67":{},"121":{},"144":{}},"component":{}}],["flux#concatmap",{"_index":5815,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flux.>error(new",{"_index":5893,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flux.from(new",{"_index":6218,"title":{},"name":{},"text":{"144":{}},"component":{}}],["flux.from(querygateway.streamingquery(queri",{"_index":3220,"title":{},"name":{},"text":{"63":{}},"component":{}}],["flux.fromiterable(eventprocessor.getclientinstancelist",{"_index":6225,"title":{},"name":{},"text":{"144":{}},"component":{}}],["flux.just(r",{"_index":5895,"title":{},"name":{},"text":{"121":{}},"component":{}}],["flyway",{"_index":5724,"title":{},"name":{},"text":{"115":{}},"component":{}}],["focal",{"_index":237,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["focu",{"_index":4529,"title":{},"name":{},"text":{"72":{},"82":{},"140":{},"274":{},"275":{},"279":{},"280":{}},"component":{}}],["focus",{"_index":2870,"title":{},"name":{},"text":{"53":{},"238":{},"241":{},"285":{}},"component":{}}],["fold",{"_index":5207,"title":{},"name":{},"text":{"88":{}},"component":{}}],["folder",{"_index":6261,"title":{},"name":{},"text":{"145":{},"161":{},"162":{},"179":{},"192":{},"201":{},"208":{},"270":{},"276":{},"277":{},"279":{}},"component":{}}],["folder=./log",{"_index":385,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["follow",{"_index":257,"title":{"235-1":{},"283-4":{}},"name":{},"text":{"3":{},"5":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"42":{},"43":{},"44":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"60":{},"63":{},"64":{},"67":{},"69":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"85":{},"86":{},"87":{},"88":{},"89":{},"100":{},"104":{},"106":{},"114":{},"115":{},"116":{},"117":{},"118":{},"121":{},"123":{},"127":{},"128":{},"138":{},"140":{},"141":{},"144":{},"145":{},"146":{},"147":{},"148":{},"151":{},"153":{},"154":{},"155":{},"156":{},"157":{},"161":{},"163":{},"165":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"176":{},"177":{},"178":{},"179":{},"185":{},"186":{},"187":{},"188":{},"189":{},"191":{},"192":{},"193":{},"194":{},"197":{},"199":{},"201":{},"204":{},"208":{},"209":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"220":{},"221":{},"232":{},"233":{},"237":{},"241":{},"247":{},"249":{},"250":{},"255":{},"261":{},"262":{},"263":{},"267":{},"268":{},"269":{},"270":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"289":{}},"component":{}}],["for(str",{"_index":1160,"title":{},"name":{},"text":{"17":{}},"component":{}}],["forbidden",{"_index":4893,"title":{},"name":{},"text":{"81":{},"145":{}},"component":{}}],["forc",{"_index":1387,"title":{"140-17":{}},"name":{},"text":{"27":{},"59":{},"69":{},"77":{},"88":{},"140":{},"142":{},"172":{},"179":{}},"component":{}}],["forcefulli",{"_index":6872,"title":{},"name":{},"text":{"179":{}},"component":{}}],["forcenew",{"_index":4452,"title":{},"name":{},"text":{"69":{}},"component":{}}],["foreach(system.out::println",{"_index":3152,"title":{},"name":{},"text":{"63":{}},"component":{}}],["foreign",{"_index":8036,"title":{},"name":{},"text":{"286":{}},"component":{}}],["foremost",{"_index":5264,"title":{},"name":{},"text":{"88":{}},"component":{}}],["forev",{"_index":5043,"title":{},"name":{},"text":{"86":{},"88":{},"145":{}},"component":{}}],["forget",{"_index":1207,"title":{},"name":{},"text":{"18":{},"38":{},"46":{},"121":{},"145":{}},"component":{}}],["forgot",{"_index":6246,"title":{},"name":{},"text":{"145":{}},"component":{}}],["form",{"_index":1576,"title":{},"name":{},"text":{"31":{},"38":{},"44":{},"46":{},"57":{},"59":{},"64":{},"67":{},"82":{},"87":{},"88":{},"97":{},"121":{},"145":{},"147":{},"148":{},"199":{},"211":{},"212":{},"213":{},"214":{},"216":{},"217":{},"218":{},"219":{},"244":{},"273":{},"279":{},"283":{},"285":{}},"component":{}}],["format",{"_index":1416,"title":{"101":{},"184":{},"147-1":{},"178-2":{},"184-1":{}},"name":{"101":{},"184":{}},"text":{"29":{},"31":{},"35":{},"40":{},"44":{},"51":{},"56":{},"59":{},"62":{},"64":{},"66":{},"67":{},"77":{},"79":{},"80":{},"101":{},"140":{},"143":{},"145":{},"147":{},"166":{},"168":{},"169":{},"174":{},"178":{},"183":{},"184":{},"185":{},"194":{},"195":{},"203":{},"206":{},"215":{},"216":{},"219":{},"255":{},"280":{},"281":{},"289":{}},"component":{}}],["formatdate(data",{"_index":7186,"title":{},"name":{},"text":{"195":{}},"component":{}}],["former",{"_index":2619,"title":{},"name":{},"text":{"46":{},"66":{},"77":{},"129":{}},"component":{}}],["formerli",{"_index":160,"title":{},"name":{},"text":{"2":{},"140":{}},"component":{}}],["formula",{"_index":7632,"title":{},"name":{},"text":{"262":{}},"component":{}}],["forten",{"_index":5733,"title":{},"name":{},"text":{"115":{}},"component":{}}],["fortun",{"_index":7880,"title":{},"name":{},"text":{"280":{},"285":{}},"component":{}}],["forum",{"_index":4241,"title":{},"name":{},"text":{"67":{},"235":{},"265":{},"272":{}},"component":{}}],["forward",{"_index":1835,"title":{"90":{}},"name":{"90":{}},"text":{"33":{},"44":{},"69":{},"71":{},"84":{},"90":{},"91":{},"102":{},"141":{},"143":{},"179":{},"194":{},"211":{},"281":{}},"component":{}}],["forwardal",{"_index":4961,"title":{},"name":{},"text":{"84":{}},"component":{}}],["forwardmatchinginst",{"_index":4958,"title":{},"name":{},"text":{"84":{}},"component":{}}],["forwardmatchinginstances.class",{"_index":4957,"title":{},"name":{},"text":{"84":{}},"component":{}}],["forwardnon",{"_index":4962,"title":{},"name":{},"text":{"84":{}},"component":{}}],["fot",{"_index":6957,"title":{},"name":{},"text":{"179":{}},"component":{}}],["found",{"_index":520,"title":{},"name":{},"text":{"3":{},"29":{},"36":{},"38":{},"43":{},"54":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"76":{},"79":{},"83":{},"84":{},"87":{},"97":{},"100":{},"111":{},"121":{},"143":{},"144":{},"147":{},"150":{},"169":{},"179":{},"191":{},"232":{},"239":{},"242":{},"250":{},"260":{},"262":{}},"component":{}}],["four",{"_index":2192,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"63":{},"72":{},"94":{},"244":{},"255":{},"274":{}},"component":{}}],["fourth",{"_index":7621,"title":{},"name":{},"text":{"260":{}},"component":{}}],["fpp",{"_index":6846,"title":{},"name":{},"text":{"179":{}},"component":{}}],["fqcn",{"_index":1788,"title":{},"name":{},"text":{"33":{}},"component":{}}],["frame",{"_index":4354,"title":{},"name":{},"text":{"67":{},"141":{}},"component":{}}],["framerwork",{"_index":7663,"title":{},"name":{},"text":{"266":{}},"component":{}}],["framework",{"_index":2,"title":{"1":{},"10":{},"16":{},"33":{},"168":{},"251":{},"261":{},"279":{},"12-1":{},"76-2":{},"144-3":{},"144-6":{},"147-2":{},"163-2":{},"241-1":{},"269-2":{},"285-1":{}},"name":{"10":{},"251":{},"279":{}},"text":{"1":{},"2":{},"5":{},"7":{},"8":{},"9":{},"10":{},"13":{},"14":{},"16":{},"17":{},"19":{},"20":{},"23":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{},"37":{},"38":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"59":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"70":{},"72":{},"73":{},"76":{},"77":{},"78":{},"79":{},"81":{},"82":{},"85":{},"86":{},"88":{},"89":{},"93":{},"95":{},"98":{},"103":{},"107":{},"109":{},"111":{},"112":{},"117":{},"119":{},"120":{},"121":{},"122":{},"124":{},"126":{},"131":{},"134":{},"137":{},"140":{},"143":{},"144":{},"147":{},"150":{},"154":{},"161":{},"163":{},"165":{},"168":{},"169":{},"173":{},"174":{},"176":{},"189":{},"192":{},"199":{},"215":{},"219":{},"227":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"241":{},"242":{},"245":{},"246":{},"249":{},"250":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"285":{}},"component":{"1":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{}}}],["framework'",{"_index":5735,"title":{},"name":{},"text":{"115":{}},"component":{}}],["framework.vers",{"_index":3051,"title":{},"name":{},"text":{"59":{}},"component":{}}],["framework’",{"_index":1538,"title":{},"name":{},"text":{"30":{},"33":{},"38":{},"46":{},"67":{},"74":{},"86":{},"120":{}},"component":{}}],["free",{"_index":175,"title":{"5-1":{},"263-1":{}},"name":{},"text":{"2":{},"5":{},"47":{},"57":{},"63":{},"77":{},"86":{},"87":{},"120":{},"145":{},"246":{},"249":{},"250":{},"259":{},"260":{},"261":{},"262":{},"263":{},"267":{},"268":{},"269":{},"274":{},"276":{},"277":{}},"component":{}}],["freed",{"_index":6253,"title":{},"name":{},"text":{"145":{}},"component":{}}],["freedom",{"_index":5132,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["freeli",{"_index":2364,"title":{},"name":{},"text":{"40":{},"250":{},"254":{}},"component":{}}],["frequenc",{"_index":6433,"title":{},"name":{},"text":{"151":{},"179":{}},"component":{}}],["frequent",{"_index":984,"title":{"7-3":{}},"name":{},"text":{"29":{},"79":{},"140":{},"151":{}},"component":{}}],["fresh",{"_index":6491,"title":{},"name":{},"text":{"154":{},"177":{},"285":{}},"component":{}}],["friendli",{"_index":4306,"title":{},"name":{},"text":{"67":{}},"component":{}}],["friendlier",{"_index":2083,"title":{},"name":{},"text":{"38":{}},"component":{}}],["from/for",{"_index":6577,"title":{},"name":{},"text":{"168":{}},"component":{}}],["from=sourc",{"_index":349,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["front",{"_index":2738,"title":{},"name":{},"text":{"51":{},"239":{}},"component":{}}],["fsgroup",{"_index":599,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["fulfil",{"_index":2698,"title":{},"name":{},"text":{"50":{}},"component":{}}],["full",{"_index":1437,"title":{},"name":{},"text":{"29":{},"33":{},"36":{},"38":{},"44":{},"66":{},"67":{},"72":{},"77":{},"107":{},"115":{},"127":{},"137":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"156":{},"164":{},"186":{},"192":{},"211":{},"220":{},"280":{}},"component":{}}],["fullconcurrencypolici",{"_index":5241,"title":{},"name":{},"text":{"88":{}},"component":{}}],["fulli",{"_index":857,"title":{},"name":{},"text":{"5":{},"23":{},"24":{},"26":{},"32":{},"35":{},"36":{},"44":{},"52":{},"63":{},"67":{},"107":{},"120":{},"130":{},"144":{},"156":{},"157":{},"221":{},"280":{},"288":{}},"component":{}}],["fun",{"_index":5626,"title":{},"name":{},"text":{"105":{},"106":{},"108":{},"265":{}},"component":{}}],["function",{"_index":852,"title":{"195":{},"193-4":{},"206-58":{}},"name":{"195":{}},"text":{"5":{},"6":{},"8":{},"13":{},"15":{},"21":{},"25":{},"34":{},"35":{},"36":{},"37":{},"39":{},"42":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"70":{},"72":{},"75":{},"76":{},"77":{},"79":{},"82":{},"85":{},"86":{},"87":{},"88":{},"102":{},"105":{},"106":{},"108":{},"115":{},"121":{},"133":{},"140":{},"144":{},"145":{},"157":{},"192":{},"195":{},"197":{},"206":{},"220":{},"247":{},"250":{},"278":{}},"component":{}}],["functionalinterfac",{"_index":5096,"title":{},"name":{},"text":{"87":{},"121":{}},"component":{}}],["function’",{"_index":3145,"title":{},"name":{},"text":{"63":{}},"component":{}}],["fundament",{"_index":5535,"title":{},"name":{},"text":{"100":{}},"component":{}}],["further",{"_index":533,"title":{},"name":{},"text":{"3":{},"16":{},"31":{},"34":{},"43":{},"46":{},"66":{},"67":{},"84":{},"88":{},"89":{},"96":{},"147":{},"148":{},"170":{},"189":{},"191":{},"221":{},"226":{},"280":{}},"component":{}}],["furthermor",{"_index":1555,"title":{},"name":{},"text":{"30":{},"35":{},"36":{},"38":{},"44":{},"46":{},"51":{},"60":{},"66":{},"67":{},"79":{},"86":{},"87":{},"88":{},"89":{},"96":{},"127":{},"132":{},"138":{},"264":{}},"component":{}}],["futur",{"_index":184,"title":{},"name":{},"text":{"2":{},"12":{},"34":{},"35":{},"38":{},"59":{},"64":{},"67":{},"127":{},"151":{},"169":{},"206":{},"234":{},"250":{},"254":{},"281":{},"285":{}},"component":{}}],["future/completablefutur",{"_index":4302,"title":{},"name":{},"text":{"67":{}},"component":{}}],["futurecallback",{"_index":1886,"title":{},"name":{},"text":{"34":{}},"component":{}}],["futureresult",{"_index":1893,"title":{},"name":{},"text":{"34":{},"76":{}},"component":{}}],["g",{"_index":358,"title":{},"name":{},"text":{"3":{},"147":{},"156":{},"178":{},"191":{}},"component":{}}],["ga",{"_index":4176,"title":{},"name":{},"text":{"67":{}},"component":{}}],["gain",{"_index":2823,"title":{},"name":{},"text":{"52":{},"59":{},"246":{}},"component":{}}],["game",{"_index":7658,"title":{},"name":{},"text":{"265":{}},"component":{}}],["gap",{"_index":1143,"title":{},"name":{},"text":{"17":{},"29":{},"66":{},"67":{},"72":{},"79":{},"80":{},"143":{}},"component":{}}],["gapawaretrackingtoken",{"_index":3966,"title":{},"name":{},"text":{"67":{}},"component":{}}],["garbag",{"_index":6032,"title":{},"name":{},"text":{"140":{},"179":{},"261":{}},"component":{}}],["gateway",{"_index":1850,"title":{"121":{},"38-6":{},"61-1":{},"63-1":{},"121-2":{},"121-5":{},"121-12":{}},"name":{"121":{}},"text":{"34":{},"36":{},"38":{},"42":{},"61":{},"63":{},"67":{},"74":{},"121":{},"215":{}},"component":{}}],["gather",{"_index":2995,"title":{"59-43":{},"63-3":{}},"name":{},"text":{"59":{},"61":{},"62":{},"63":{},"67":{},"127":{},"145":{},"199":{},"219":{},"261":{},"264":{},"274":{},"281":{}},"component":{}}],["gathier",{"_index":6388,"title":{},"name":{},"text":{"148":{}},"component":{}}],["gaug",{"_index":1505,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["gave",{"_index":7314,"title":{},"name":{},"text":{"203":{}},"component":{}}],["gb",{"_index":7631,"title":{},"name":{},"text":{"261":{}},"component":{}}],["gc1",{"_index":3192,"title":{},"name":{},"text":{"63":{}},"component":{}}],["gcloud",{"_index":7231,"title":{},"name":{},"text":{"199":{}},"component":{}}],["gcp",{"_index":7213,"title":{},"name":{},"text":{"199":{}},"component":{}}],["gcr.io",{"_index":322,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["gcr.io/distroless/java:11",{"_index":325,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["gdpr",{"_index":859,"title":{},"name":{},"text":{"5":{}},"component":{}}],["gener",{"_index":380,"title":{"23":{},"29-2":{},"31-13":{},"87-8":{},"104-1":{},"144-2":{},"273-1":{}},"name":{},"text":{"3":{},"5":{},"6":{},"10":{},"12":{},"23":{},"29":{},"31":{},"32":{},"33":{},"34":{},"36":{},"38":{},"42":{},"44":{},"46":{},"47":{},"48":{},"49":{},"51":{},"52":{},"53":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"78":{},"79":{},"82":{},"84":{},"86":{},"87":{},"88":{},"90":{},"94":{},"99":{},"108":{},"110":{},"111":{},"120":{},"154":{},"155":{},"164":{},"167":{},"168":{},"169":{},"172":{},"173":{},"176":{},"177":{},"178":{},"190":{},"191":{},"192":{},"199":{},"211":{},"212":{},"213":{},"214":{},"216":{},"218":{},"221":{},"246":{},"261":{},"274":{},"280":{},"281":{},"285":{}},"component":{"23":{}}}],["generatedvalu",{"_index":1441,"title":{},"name":{},"text":{"29":{},"79":{}},"component":{}}],["genericaggregatefactori",{"_index":2003,"title":{"36-7":{}},"name":{},"text":{"36":{}},"component":{}}],["genericcommandmessage#ascommandmessage(object",{"_index":1873,"title":{},"name":{},"text":{"34":{}},"component":{}}],["genericcommandmessage.ascommandmessage(new",{"_index":1861,"title":{},"name":{},"text":{"34":{}},"component":{}}],["genericeventmessag",{"_index":2636,"title":{},"name":{},"text":{"47":{},"49":{}},"component":{}}],["genericeventmessage.aseventmessage(\"intercept",{"_index":5855,"title":{},"name":{},"text":{"121":{}},"component":{}}],["genericeventmessage.clock",{"_index":2316,"title":{},"name":{},"text":{"39":{}},"component":{}}],["genericjparepositori",{"_index":2044,"title":{},"name":{},"text":{"36":{},"66":{},"67":{},"85":{}},"component":{}}],["genericmessagetest",{"_index":3909,"title":{},"name":{},"text":{"67":{}},"component":{}}],["genericquerymessag",{"_index":3032,"title":{},"name":{},"text":{"59":{},"63":{}},"component":{}}],["genericquerymessage<>(\"criteria",{"_index":3141,"title":{},"name":{},"text":{"63":{}},"component":{}}],["genericsagasqlschema",{"_index":4489,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["genericseri",{"_index":1094,"title":{},"name":{},"text":{"15":{}},"component":{}}],["genericserializer(genericseri",{"_index":1102,"title":{},"name":{},"text":{"15":{}},"component":{}}],["generictokentablefactori",{"_index":5212,"title":{},"name":{},"text":{"88":{}},"component":{}}],["generifi",{"_index":2658,"title":{},"name":{},"text":{"48":{}},"component":{}}],["geograph",{"_index":7557,"title":{},"name":{},"text":{"234":{}},"component":{}}],["get",{"_index":988,"title":{"227":{},"249-2":{}},"name":{},"text":{"7":{},"8":{},"13":{},"44":{},"59":{},"63":{},"147":{},"169":{},"185":{},"195":{},"249":{},"263":{},"264":{},"276":{}},"component":{"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{}}}],["get_app_detail",{"_index":6647,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_commands_count",{"_index":6690,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_commands_queu",{"_index":6691,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_event_processor",{"_index":6649,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_event_processor_strategi",{"_index":6648,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_event_processors_strategi",{"_index":6650,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_first_token",{"_index":6697,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_last_token",{"_index":6698,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_plugin_configur",{"_index":6651,"title":{},"name":{},"text":{"171":{}},"component":{}}],["get_token_at",{"_index":6699,"title":{},"name":{},"text":{"171":{}},"component":{}}],["getalleventprocessors(google.protobuf.empti",{"_index":6962,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getapplication(applicationid",{"_index":6995,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getapplications(google.protobuf.empti",{"_index":6997,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getbalancingstrategies(google.protobuf.empti",{"_index":6970,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getbik",{"_index":8082,"title":{},"name":{},"text":{"290":{}},"component":{}}],["getbikeid",{"_index":7842,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getbikesqueri",{"_index":8080,"title":{},"name":{},"text":{"290":{}},"component":{}}],["getbiketyp",{"_index":7843,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getcontaineripaddress",{"_index":3591,"title":{},"name":{},"text":{"66":{}},"component":{}}],["getcontext(getcontextrequest",{"_index":6976,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getcontexts(google.protobuf.empti",{"_index":6978,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getcurrentposit",{"_index":2977,"title":{},"name":{},"text":{"58":{}},"component":{}}],["getentitymanag",{"_index":2544,"title":{},"name":{},"text":{"46":{}},"component":{}}],["geteventprocessorsbycomponent(compon",{"_index":6963,"title":{},"name":{},"text":{"180":{}},"component":{}}],["gethost",{"_index":3590,"title":{},"name":{},"text":{"66":{}},"component":{}}],["getidentifi",{"_index":5033,"title":{},"name":{},"text":{"86":{}},"component":{}}],["getjdbctyperegistri",{"_index":4858,"title":{},"name":{},"text":{"79":{}},"component":{}}],["getloc",{"_index":7844,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getmap",{"_index":5820,"title":{},"name":{},"text":{"121":{},"280":{}},"component":{}}],["getmapping(\"/bik",{"_index":7887,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["getmapping(\"/bikes/{bikeid",{"_index":7899,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getnam",{"_index":6348,"title":{},"name":{},"text":{"147":{}},"component":{}}],["getnod",{"_index":6988,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getorderid",{"_index":4459,"title":{},"name":{},"text":{"69":{}},"component":{}}],["getrent",{"_index":7845,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getreplicationgroup(getreplicationgrouprequest",{"_index":6985,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getreplicationgroups(google.protobuf.empti",{"_index":6987,"title":{},"name":{},"text":{"180":{}},"component":{}}],["getresetposit",{"_index":2978,"title":{},"name":{},"text":{"58":{}},"component":{}}],["getsequenceidentifierfor(t",{"_index":5255,"title":{},"name":{},"text":{"88":{}},"component":{}}],["getstatu",{"_index":7846,"title":{},"name":{},"text":{"280":{}},"component":{}}],["getter",{"_index":1592,"title":{},"name":{},"text":{"31":{},"35":{},"38":{},"44":{},"64":{},"69":{},"84":{}},"component":{}}],["gettestfixtur",{"_index":1275,"title":{},"name":{},"text":{"22":{}},"component":{}}],["gettotalnumberofcard",{"_index":5649,"title":{},"name":{},"text":{"108":{}},"component":{}}],["gettransactionid",{"_index":4938,"title":{},"name":{},"text":{"84":{}},"component":{}}],["getusers(google.protobuf.empti",{"_index":7004,"title":{},"name":{},"text":{"180":{}},"component":{}}],["ghaction",{"_index":3656,"title":{},"name":{},"text":{"66":{}},"component":{}}],["gha’",{"_index":3630,"title":{},"name":{},"text":{"66":{}},"component":{}}],["gift",{"_index":1179,"title":{},"name":{},"text":{"18":{},"21":{},"64":{},"82":{},"84":{},"85":{},"202":{},"203":{}},"component":{}}],["giftcard",{"_index":1939,"title":{"201-4":{},"203-2":{},"203-3":{},"203-4":{},"203-5":{}},"name":{},"text":{"35":{},"36":{},"42":{},"51":{},"63":{},"72":{},"77":{},"81":{},"82":{},"84":{},"85":{},"201":{},"202":{},"203":{}},"component":{}}],["giftcard(issuecardcommand",{"_index":1943,"title":{},"name":{},"text":{"35":{},"36":{},"42":{},"82":{},"85":{}},"component":{}}],["giftcard.handle(cmd",{"_index":1998,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardcach",{"_index":4798,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardcommandhandl",{"_index":1994,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardconfigur",{"_index":4743,"title":{},"name":{},"text":{"77":{},"81":{}},"component":{}}],["giftcardid",{"_index":1231,"title":{},"name":{},"text":{"20":{},"85":{}},"component":{}}],["giftcardrepositori",{"_index":1995,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardrepository.load(cmd.getcardid",{"_index":1996,"title":{},"name":{},"text":{"35":{},"36":{}},"component":{}}],["giftcardsnapshotfilt",{"_index":4763,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardsnapshottrigg",{"_index":4750,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardsnapshottrigger(snapshott",{"_index":4747,"title":{},"name":{},"text":{"77":{}},"component":{}}],["giftcardtest",{"_index":4533,"title":{},"name":{},"text":{"72":{}},"component":{}}],["giftcardtransact",{"_index":4932,"title":{},"name":{},"text":{"84":{}},"component":{}}],["giftcardtransaction(evt.gettransactionid",{"_index":4950,"title":{},"name":{},"text":{"84":{}},"component":{}}],["giftcardtransaction(id",{"_index":4977,"title":{},"name":{},"text":{"85":{}},"component":{}}],["giftcardtransaction(str",{"_index":4936,"title":{},"name":{},"text":{"84":{}},"component":{}}],["giftcardtransaction.class",{"_index":4944,"title":{},"name":{},"text":{"84":{}},"component":{}}],["github",{"_index":521,"title":{},"name":{},"text":{"3":{},"5":{},"30":{},"66":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"124":{},"126":{},"131":{},"134":{},"148":{},"191":{},"247":{},"276":{},"282":{}},"component":{}}],["give",{"_index":423,"title":{},"name":{},"text":{"3":{},"5":{},"24":{},"37":{},"49":{},"51":{},"62":{},"63":{},"66":{},"74":{},"75":{},"88":{},"89":{},"94":{},"120":{},"129":{},"132":{},"146":{},"155":{},"168":{},"171":{},"174":{},"178":{},"179":{},"186":{},"191":{},"192":{},"199":{},"202":{},"235":{},"249":{},"261":{},"263":{},"264":{},"273":{},"274":{},"276":{}},"component":{}}],["given",{"_index":555,"title":{"72-3":{}},"name":{},"text":{"3":{},"15":{},"28":{},"29":{},"31":{},"35":{},"36":{},"37":{},"38":{},"39":{},"41":{},"42":{},"44":{},"45":{},"46":{},"47":{},"49":{},"51":{},"55":{},"58":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"70":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"80":{},"82":{},"85":{},"86":{},"87":{},"88":{},"90":{},"99":{},"102":{},"106":{},"107":{},"108":{},"115":{},"121":{},"127":{},"130":{},"137":{},"138":{},"142":{},"151":{},"159":{},"175":{},"185":{},"191":{},"192":{},"211":{},"273":{},"280":{},"285":{},"289":{}},"component":{}}],["given(object",{"_index":4049,"title":{},"name":{},"text":{"67":{},"72":{}},"component":{}}],["givencommand",{"_index":4320,"title":{},"name":{},"text":{"67":{},"72":{}},"component":{}}],["givencommands(object",{"_index":4572,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givencurrentim",{"_index":4574,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givencurrenttime(inst",{"_index":4573,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givennoprioract",{"_index":4570,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givenst",{"_index":4576,"title":{},"name":{},"text":{"72":{}},"component":{}}],["givenstate(suppli",{"_index":4575,"title":{},"name":{},"text":{"72":{}},"component":{}}],["gklij",{"_index":3355,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["global",{"_index":2057,"title":{},"name":{},"text":{"36":{},"43":{},"67":{},"79":{},"87":{},"96":{},"141":{},"144":{},"147":{},"179":{},"212":{},"273":{}},"component":{}}],["global_index",{"_index":1449,"title":{},"name":{},"text":{"29":{}},"component":{}}],["globalmetricregistri",{"_index":2146,"title":{},"name":{},"text":{"38":{},"46":{},"57":{},"113":{}},"component":{}}],["globalmetricregistry(meterregistri",{"_index":2920,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalmetricregistry(metricregistri",{"_index":2915,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalmetricregistry.registerwithconfigurer(configur",{"_index":2916,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalmetricregistry.registerwithconfigurerwithdefaulttags(configur",{"_index":2921,"title":{},"name":{},"text":{"57":{}},"component":{}}],["globalsequencetrackingtoken#covers(trackingtoken",{"_index":4416,"title":{},"name":{},"text":{"67":{}},"component":{}}],["go",{"_index":1167,"title":{},"name":{},"text":{"17":{},"29":{},"31":{},"33":{},"42":{},"44":{},"46":{},"55":{},"63":{},"67":{},"72":{},"77":{},"79":{},"87":{},"88":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"121":{},"122":{},"126":{},"131":{},"134":{},"144":{},"145":{},"156":{},"199":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"221":{},"235":{},"237":{},"241":{},"250":{},"260":{},"262":{},"264":{},"267":{},"274":{},"275":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["goal",{"_index":1011,"title":{},"name":{},"text":{"8":{},"13":{},"38":{},"44":{},"64":{},"107":{},"279":{},"280":{},"281":{}},"component":{}}],["goe",{"_index":2892,"title":{},"name":{},"text":{"55":{},"128":{},"221":{},"249":{},"259":{},"260":{},"262":{}},"component":{}}],["golden",{"_index":6022,"title":{},"name":{},"text":{"140":{}},"component":{}}],["gone",{"_index":6504,"title":{},"name":{},"text":{"156":{}},"component":{}}],["good",{"_index":1214,"title":{},"name":{},"text":{"19":{},"29":{},"38":{},"40":{},"46":{},"49":{},"66":{},"77":{},"88":{},"94":{},"111":{},"172":{},"174":{},"184":{},"192":{},"206":{},"261":{},"262":{},"264":{},"274":{},"276":{},"281":{}},"component":{}}],["googl",{"_index":751,"title":{"199":{},"172-3":{},"199-1":{}},"name":{},"text":{"5":{},"11":{},"12":{},"141":{},"172":{},"174":{},"199":{},"247":{}},"component":{}}],["google.protobuf.empti",{"_index":6973,"title":{},"name":{},"text":{"180":{}},"component":{}}],["google’",{"_index":320,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["gossip",{"_index":5435,"title":{},"name":{},"text":{"94":{},"96":{}},"component":{}}],["gotcha",{"_index":1411,"title":{},"name":{},"text":{"29":{}},"component":{}}],["grace",{"_index":827,"title":{},"name":{},"text":{"5":{},"67":{},"185":{}},"component":{}}],["gracefulli",{"_index":3789,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["gradat",{"_index":6526,"title":{},"name":{},"text":{"162":{}},"component":{}}],["grade",{"_index":7166,"title":{},"name":{},"text":{"192":{}},"component":{}}],["gradl",{"_index":1476,"title":{"59-18":{}},"name":{},"text":{"30":{},"33":{}},"component":{}}],["grain",{"_index":1312,"title":{},"name":{},"text":{"24":{},"44":{},"48":{},"51":{},"57":{},"63":{},"77":{},"87":{},"88":{},"132":{},"151":{},"226":{},"244":{}},"component":{}}],["grame",{"_index":7657,"title":{},"name":{},"text":{"265":{}},"component":{}}],["grant",{"_index":2106,"title":{},"name":{},"text":{"38":{},"121":{},"140":{},"145":{},"168":{},"169":{},"178":{}},"component":{}}],["granular",{"_index":3199,"title":{},"name":{},"text":{"63":{},"66":{},"274":{}},"component":{}}],["graph",{"_index":770,"title":{"274-11":{},"274-12":{}},"name":{},"text":{"5":{},"239":{},"242":{},"246":{},"261":{},"273":{},"274":{}},"component":{}}],["graphana",{"_index":7647,"title":{},"name":{},"text":{"264":{}},"component":{}}],["graphic",{"_index":7549,"title":{},"name":{},"text":{"227":{},"236":{},"257":{}},"component":{}}],["grasp",{"_index":2240,"title":{},"name":{},"text":{"38":{}},"component":{}}],["great",{"_index":798,"title":{},"name":{},"text":{"5":{},"55":{},"66":{},"120":{}},"component":{}}],["greater",{"_index":4605,"title":{},"name":{},"text":{"72":{},"89":{}},"component":{}}],["greaterthantwomatch",{"_index":4604,"title":{},"name":{},"text":{"72":{}},"component":{}}],["greatest",{"_index":2433,"title":{},"name":{},"text":{"44":{}},"component":{}}],["greatli",{"_index":3823,"title":{},"name":{},"text":{"66":{},"260":{}},"component":{}}],["green",{"_index":782,"title":{},"name":{},"text":{"5":{},"280":{},"283":{}},"component":{}}],["greenfield",{"_index":1780,"title":{},"name":{},"text":{"33":{}},"component":{}}],["grou",{"_index":6505,"title":{},"name":{},"text":{"156":{}},"component":{}}],["group",{"_index":250,"title":{"157":{},"15-2":{},"87-5":{},"157-3":{},"170-4":{},"178-9":{},"180-3":{}},"name":{"157":{}},"text":{"3":{},"5":{},"12":{},"14":{},"15":{},"17":{},"24":{},"30":{},"38":{},"40":{},"42":{},"50":{},"59":{},"66":{},"77":{},"86":{},"87":{},"99":{},"102":{},"104":{},"110":{},"114":{},"115":{},"121":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"167":{},"169":{},"170":{},"176":{},"177":{},"178":{},"179":{},"180":{},"185":{},"187":{},"191":{},"192":{},"197":{},"234":{},"237":{},"239":{},"244":{},"274":{},"276":{},"281":{}},"component":{}}],["group.dlq.en",{"_index":5006,"title":{},"name":{},"text":{"86":{}},"component":{}}],["groupbi",{"_index":7204,"title":{},"name":{},"text":{"197":{}},"component":{}}],["groupby(payloadtyp",{"_index":7203,"title":{},"name":{},"text":{"196":{},"198":{}},"component":{}}],["groupid",{"_index":1481,"title":{},"name":{},"text":{"30":{},"44":{},"99":{},"279":{}},"component":{}}],["groupid(groupid",{"_index":5512,"title":{},"name":{},"text":{"99":{}},"component":{}}],["groups/context",{"_index":6483,"title":{},"name":{},"text":{"154":{},"181":{}},"component":{}}],["group’",{"_index":551,"title":{},"name":{},"text":{"3":{},"87":{},"191":{}},"component":{}}],["grow",{"_index":156,"title":{},"name":{},"text":{"2":{},"35":{},"261":{},"285":{}},"component":{}}],["grown",{"_index":7951,"title":{},"name":{},"text":{"281":{}},"component":{}}],["grpc",{"_index":603,"title":{"136":{},"166":{},"180":{},"188":{},"145-26":{},"166-2":{}},"name":{"136":{},"180":{},"188":{}},"text":{"3":{},"59":{},"67":{},"140":{},"141":{},"166":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"188":{},"189":{},"190":{},"191":{},"192":{},"206":{},"208":{},"215":{},"284":{}},"component":{}}],["grpc/http",{"_index":6317,"title":{},"name":{},"text":{"145":{}},"component":{}}],["grpcbackedsubscriptionquerymessag",{"_index":3690,"title":{},"name":{},"text":{"66":{}},"component":{}}],["grpcinternalport",{"_index":6406,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["grpcport",{"_index":6409,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["grpc’",{"_index":6548,"title":{},"name":{},"text":{"163":{}},"component":{}}],["guarante",{"_index":13,"title":{},"name":{},"text":{"1":{},"30":{},"38":{},"40":{},"49":{},"52":{},"53":{},"68":{},"69":{},"71":{},"86":{},"88":{},"99":{},"102":{},"121":{},"142":{},"154":{},"157":{},"280":{},"285":{}},"component":{}}],["guard",{"_index":1962,"title":{},"name":{},"text":{"35":{}},"component":{}}],["gui",{"_index":608,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["guid",{"_index":29,"title":{"10":{},"11":{},"12":{},"199":{},"200":{},"227":{},"249":{},"269":{},"8-3":{},"10-1":{},"11-1":{},"13-3":{}},"name":{"268":{}},"text":{"1":{},"8":{},"10":{},"11":{},"12":{},"13":{},"16":{},"21":{},"28":{},"32":{},"37":{},"41":{},"45":{},"49":{},"55":{},"59":{},"62":{},"66":{},"67":{},"70":{},"73":{},"87":{},"88":{},"94":{},"100":{},"107":{},"129":{},"144":{},"146":{},"183":{},"192":{},"199":{},"200":{},"201":{},"202":{},"203":{},"207":{},"227":{},"236":{},"238":{},"247":{},"249":{},"260":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"276":{},"277":{},"280":{},"282":{},"285":{}},"component":{"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{},"199":{}}}],["guidanc",{"_index":5313,"title":{},"name":{},"text":{"88":{}},"component":{}}],["guidelin",{"_index":4784,"title":{},"name":{},"text":{"77":{}},"component":{}}],["h",{"_index":361,"title":{},"name":{},"text":{"3":{},"166":{},"169":{},"173":{},"178":{},"191":{},"192":{}},"component":{}}],["h2",{"_index":687,"title":{},"name":{},"text":{"4":{},"140":{},"142":{}},"component":{}}],["ha",{"_index":7529,"title":{"220":{},"221-2":{}},"name":{"220":{}},"text":{"220":{},"221":{},"226":{}},"component":{}}],["hale",{"_index":1500,"title":{},"name":{},"text":{"30":{}},"component":{}}],["half",{"_index":2206,"title":{},"name":{},"text":{"38":{},"245":{},"274":{},"280":{}},"component":{}}],["hamcrest",{"_index":3478,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["hand",{"_index":897,"title":{},"name":{},"text":{"6":{},"38":{},"44":{},"46":{},"50":{},"59":{},"66":{},"74":{},"87":{},"102":{},"260":{}},"component":{}}],["handi",{"_index":2283,"title":{},"name":{},"text":{"39":{},"127":{}},"component":{}}],["handl",{"_index":46,"title":{"48":{},"2-4":{},"39-2":{},"63-8":{},"69-2":{},"84-1":{},"87-4":{},"143-3":{},"143-4":{},"144-6":{},"186-1":{},"186-2":{},"202-3":{},"202-7":{},"202-11":{},"280-5":{},"281-7":{}},"name":{"48":{}},"text":{"2":{},"5":{},"6":{},"21":{},"24":{},"25":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"41":{},"42":{},"43":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"94":{},"105":{},"106":{},"108":{},"115":{},"121":{},"124":{},"127":{},"130":{},"141":{},"143":{},"144":{},"147":{},"150":{},"156":{},"163":{},"165":{},"179":{},"185":{},"186":{},"202":{},"211":{},"212":{},"214":{},"221":{},"242":{},"246":{},"260":{},"261":{},"274":{},"280":{},"281":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["handle(bikeregisteredev",{"_index":7968,"title":{},"name":{},"text":{"281":{}},"component":{}}],["handle(c",{"_index":3186,"title":{},"name":{},"text":{"63":{}},"component":{}}],["handle(createorrechargecardcommand",{"_index":1987,"title":{},"name":{},"text":{"35":{}},"component":{}}],["handle(eventa",{"_index":2411,"title":{},"name":{},"text":{"43":{}},"component":{}}],["handle(eventb",{"_index":2413,"title":{},"name":{},"text":{"43":{}},"component":{}}],["handle(eventc",{"_index":2412,"title":{},"name":{},"text":{"43":{}},"component":{}}],["handle(fetchcardsummariesqueri",{"_index":3154,"title":{},"name":{},"text":{"63":{}},"component":{}}],["handle(fetchcardsummaryqueri",{"_index":3118,"title":{},"name":{},"text":{"60":{},"64":{}},"component":{}}],["handle(getbikesqueri",{"_index":8078,"title":{},"name":{},"text":{"290":{}},"component":{}}],["handle(invoicepaidev",{"_index":4446,"title":{},"name":{},"text":{"68":{}},"component":{}}],["handle(issuecardcommand",{"_index":1986,"title":{},"name":{},"text":{"35":{}},"component":{}}],["handle(issueexpiringcardcommand",{"_index":1237,"title":{},"name":{},"text":{"20":{}},"component":{}}],["handle(list",{"_index":2724,"title":{},"name":{},"text":{"51":{},"121":{}},"component":{}}],["handle(ordercreatedev",{"_index":4435,"title":{},"name":{},"text":{"68":{}},"component":{}}],["handle(publishtim",{"_index":2319,"title":{},"name":{},"text":{"39":{}},"component":{}}],["handle(querya",{"_index":3248,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handle(queryb",{"_index":3249,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handle(queryc",{"_index":3250,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handle(redeemcardcommand",{"_index":1187,"title":{},"name":{},"text":{"18":{},"35":{},"36":{},"84":{}},"component":{}}],["handle(reimbursecardcommand",{"_index":4945,"title":{},"name":{},"text":{"84":{}},"component":{}}],["handle(releasebikecommand",{"_index":8054,"title":{},"name":{},"text":{"288":{}},"component":{}}],["handle(reservebikecommand",{"_index":8050,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["handle(shippingarrivedev",{"_index":4444,"title":{},"name":{},"text":{"68":{}},"component":{}}],["handle(somecommand",{"_index":5470,"title":{},"name":{},"text":{"97":{}},"component":{}}],["handle(someev",{"_index":5471,"title":{},"name":{},"text":{"97":{}},"component":{}}],["handle(someparentcommand",{"_index":4874,"title":{},"name":{},"text":{"80":{}},"component":{}}],["handle(unitofwork",{"_index":2746,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handle_command",{"_index":6705,"title":{},"name":{},"text":{"171":{}},"component":{}}],["handle_queri",{"_index":6700,"title":{},"name":{},"text":{"171":{}},"component":{}}],["handleall(except",{"_index":2798,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleerror(errorcontext",{"_index":5093,"title":{},"name":{},"text":{"87":{}},"component":{}}],["handleex(queryb",{"_index":3252,"title":{},"name":{},"text":{"64":{}},"component":{}}],["handlefindcardqueryexcept",{"_index":2815,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handlefindcardqueryexceptions(findcardqueri",{"_index":2812,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptions(except",{"_index":2818,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptions(illegalargumentexcept",{"_index":2816,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptionsfromcardissu",{"_index":2822,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalargumentexceptionsfromcardissued(cardissuedev",{"_index":2819,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptions(except",{"_index":2807,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptions(illegalstateexcept",{"_index":2803,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptionsfromissuecard",{"_index":2809,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleillegalstateexceptionsfromissuecard(issuecardcommand",{"_index":2808,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleissuecardexcept",{"_index":2802,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handleissuecardexceptions(issuecardcommand",{"_index":2799,"title":{},"name":{},"text":{"51":{}},"component":{}}],["handler",{"_index":735,"title":{"24":{},"25":{},"35":{},"43":{},"52":{},"64":{},"242":{},"273":{},"285":{},"5-8":{},"5-9":{},"35-1":{},"35-3":{},"35-4":{},"35-5":{},"36-2":{},"43-1":{},"48-1":{},"51-4":{},"51-8":{},"51-12":{},"52-1":{},"52-2":{},"52-3":{},"59-47":{},"60-1":{},"64-1":{},"64-2":{},"64-3":{},"75-1":{},"84-2":{},"87-1":{},"87-2":{},"87-3":{},"87-5":{},"87-6":{},"87-10":{},"121-16":{},"206-31":{},"211-4":{},"211-5":{},"211-6":{},"212-5":{},"212-6":{},"212-7":{},"214-4":{},"214-5":{},"214-6":{},"221-3":{},"221-4":{},"221-5":{},"242-1":{},"242-2":{},"261-4":{},"273-1":{},"273-4":{},"274-5":{},"274-18":{},"274-24":{},"274-28":{},"274-29":{},"274-30":{},"274-31":{},"274-32":{},"274-33":{},"274-36":{},"280-4":{},"281-6":{},"285-4":{}},"name":{"24":{},"35":{},"43":{},"52":{},"64":{},"242":{},"273":{}},"text":{"5":{},"10":{},"12":{},"18":{},"20":{},"24":{},"25":{},"26":{},"27":{},"30":{},"32":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"42":{},"43":{},"45":{},"46":{},"47":{},"48":{},"49":{},"51":{},"52":{},"53":{},"55":{},"56":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"111":{},"115":{},"121":{},"124":{},"126":{},"127":{},"133":{},"141":{},"143":{},"150":{},"163":{},"169":{},"179":{},"185":{},"186":{},"202":{},"203":{},"204":{},"206":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"219":{},"220":{},"221":{},"224":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{},"261":{},"262":{},"270":{},"272":{},"273":{},"274":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{"24":{},"25":{},"26":{}}}],["handler.balancing.consist",{"_index":7377,"title":{"206-58":{}},"name":{},"text":{},"component":{}}],["handler.balancing.en",{"_index":7367,"title":{"206-51":{}},"name":{},"text":{},"component":{}}],["handler.balancing.enabled=tru",{"_index":7531,"title":{},"name":{},"text":{"220":{}},"component":{}}],["handler.balancing.handl",{"_index":7375,"title":{"206-57":{}},"name":{},"text":{},"component":{}}],["handler.balancing.synaps",{"_index":7368,"title":{"206-52":{},"206-53":{},"206-54":{}},"name":{},"text":{},"component":{}}],["handler.balancing.web",{"_index":7372,"title":{"206-55":{},"206-56":{}},"name":{},"text":{},"component":{}}],["handler.subscription.retri",{"_index":7358,"title":{"206-41":{}},"name":{},"text":{},"component":{}}],["handler2",{"_index":5451,"title":{},"name":{},"text":{"94":{}},"component":{}}],["handlerattribut",{"_index":3765,"title":{},"name":{},"text":{"66":{}},"component":{}}],["handlerdefinit",{"_index":4567,"title":{},"name":{},"text":{"72":{}},"component":{}}],["handlerenhancerdefinit",{"_index":1315,"title":{},"name":{},"text":{"24":{},"66":{},"72":{}},"component":{}}],["handlerenhancerdefint",{"_index":1353,"title":{},"name":{},"text":{"24":{}},"component":{}}],["handlerexecutionexcept",{"_index":2651,"title":{},"name":{},"text":{"48":{},"66":{}},"component":{}}],["handlerexecutionexception#detail",{"_index":3999,"title":{},"name":{},"text":{"67":{}},"component":{}}],["handler’",{"_index":3228,"title":{},"name":{},"text":{"63":{},"87":{},"274":{}},"component":{}}],["handlesomestatechangeevent(mydomainev",{"_index":4772,"title":{},"name":{},"text":{"77":{}},"component":{}}],["hang",{"_index":3200,"title":{},"name":{},"text":{"63":{}},"component":{}}],["happen",{"_index":52,"title":{"2-6":{},"2-7":{},"5-9":{}},"name":{},"text":{"6":{},"31":{},"32":{},"38":{},"40":{},"45":{},"53":{},"59":{},"63":{},"66":{},"72":{},"82":{},"87":{},"88":{},"143":{},"145":{},"150":{},"156":{},"177":{},"192":{},"254":{},"261":{},"274":{},"280":{},"281":{},"285":{}},"component":{}}],["happi",{"_index":6258,"title":{},"name":{},"text":{"145":{},"289":{}},"component":{}}],["haraldk",{"_index":4327,"title":{},"name":{},"text":{"67":{}},"component":{}}],["hard",{"_index":1169,"title":{},"name":{},"text":{"17":{},"40":{},"67":{},"82":{},"85":{},"99":{},"101":{},"102":{},"117":{},"130":{},"151":{}},"component":{}}],["harder",{"_index":2594,"title":{},"name":{},"text":{"46":{},"264":{}},"component":{}}],["hardli",{"_index":4524,"title":{},"name":{},"text":{"72":{}},"component":{}}],["hash",{"_index":4787,"title":{"206-58":{}},"name":{},"text":{"77":{},"127":{},"206":{},"220":{},"221":{}},"component":{}}],["hashandlerattribut",{"_index":1348,"title":{},"name":{},"text":{"24":{}},"component":{}}],["hashicorp’",{"_index":5960,"title":{},"name":{},"text":{"129":{}},"component":{}}],["hashmap",{"_index":2706,"title":{},"name":{},"text":{"50":{},"150":{},"288":{},"289":{}},"component":{}}],["hashset",{"_index":4898,"title":{},"name":{},"text":{"81":{}},"component":{}}],["hashtag",{"_index":7991,"title":{},"name":{},"text":{"283":{}},"component":{}}],["hassl",{"_index":7595,"title":{},"name":{},"text":{"249":{},"259":{}},"component":{}}],["hatzlj",{"_index":3755,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["have",{"_index":1069,"title":{},"name":{},"text":{"15":{},"16":{},"17":{},"29":{},"38":{},"46":{},"59":{},"74":{},"77":{},"81":{},"88":{},"99":{},"145":{},"151":{},"156":{},"275":{},"284":{},"289":{}},"component":{}}],["haven’t",{"_index":1769,"title":{},"name":{},"text":{"32":{},"142":{},"174":{},"178":{},"199":{}},"component":{}}],["hdd",{"_index":6431,"title":{},"name":{},"text":{"151":{}},"component":{}}],["head",{"_index":4335,"title":{},"name":{},"text":{"67":{},"88":{},"260":{}},"component":{}}],["header",{"_index":1368,"title":{},"name":{},"text":{"26":{},"67":{},"101":{},"141":{},"166":{},"168":{},"169":{},"173":{},"202":{},"204":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"235":{},"262":{},"273":{},"280":{},"283":{}},"component":{}}],["headerutils#bytemapp",{"_index":5553,"title":{},"name":{},"text":{"101":{}},"component":{}}],["headervaluemapp",{"_index":5547,"title":{},"name":{},"text":{"101":{}},"component":{}}],["headervaluemapper(headervaluemapp",{"_index":5552,"title":{},"name":{},"text":{"101":{}},"component":{}}],["health",{"_index":807,"title":{"54":{},"54-1":{},"185-1":{}},"name":{"54":{}},"text":{"5":{},"54":{},"55":{},"58":{},"66":{},"140":{},"185":{},"187":{},"190":{},"199":{},"243":{},"246":{},"249":{},"259":{},"262":{}},"component":{}}],["healthi",{"_index":4785,"title":{},"name":{},"text":{"77":{},"284":{}},"component":{}}],["heap",{"_index":4791,"title":{},"name":{},"text":{"77":{},"179":{},"261":{},"262":{}},"component":{}}],["heard",{"_index":6910,"title":{},"name":{},"text":{"179":{}},"component":{}}],["heart",{"_index":891,"title":{},"name":{},"text":{"6":{},"127":{}},"component":{}}],["heartbeat",{"_index":3468,"title":{"189":{}},"name":{"189":{}},"text":{"66":{},"67":{},"127":{},"179":{},"189":{},"190":{}},"component":{}}],["heartbeat.en",{"_index":6926,"title":{},"name":{},"text":{"179":{}},"component":{}}],["heartbeatconfig",{"_index":7143,"title":{},"name":{},"text":{"189":{}},"component":{}}],["heartbeatconfig.setenabled(fals",{"_index":7144,"title":{},"name":{},"text":{"189":{}},"component":{}}],["heino",{"_index":4240,"title":{},"name":{},"text":{"67":{}},"component":{}}],["held",{"_index":2882,"title":{},"name":{},"text":{"53":{}},"component":{}}],["help",{"_index":316,"title":{},"name":{},"text":{"3":{},"8":{},"10":{},"11":{},"12":{},"13":{},"18":{},"28":{},"31":{},"36":{},"40":{},"41":{},"46":{},"52":{},"66":{},"67":{},"70":{},"72":{},"73":{},"74":{},"77":{},"78":{},"79":{},"82":{},"87":{},"88":{},"124":{},"140":{},"147":{},"151":{},"156":{},"178":{},"190":{},"191":{},"210":{},"249":{},"259":{},"263":{},"264":{},"265":{},"266":{},"270":{},"272":{},"273":{},"274":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["helper",{"_index":2355,"title":{},"name":{},"text":{"40":{},"53":{},"115":{},"145":{}},"component":{}}],["helper=fals",{"_index":5710,"title":{},"name":{},"text":{"115":{}},"component":{}}],["henc",{"_index":497,"title":{},"name":{},"text":{"3":{},"24":{},"29":{},"31":{},"36":{},"39":{},"44":{},"51":{},"52":{},"63":{},"66":{},"67":{},"79":{},"86":{},"88":{},"115":{},"130":{},"144":{},"145":{},"153":{},"156":{},"176":{},"178":{},"191":{},"228":{},"229":{}},"component":{}}],["henceforth",{"_index":4904,"title":{},"name":{},"text":{"82":{}},"component":{}}],["here",{"_index":498,"title":{},"name":{},"text":{"3":{},"5":{},"29":{},"30":{},"33":{},"34":{},"35":{},"38":{},"42":{},"46":{},"50":{},"51":{},"53":{},"56":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"79":{},"82":{},"85":{},"86":{},"87":{},"88":{},"89":{},"100":{},"104":{},"105":{},"106":{},"108":{},"115":{},"121":{},"144":{},"168":{},"174":{},"191":{},"200":{},"201":{},"245":{},"254":{},"260":{},"261":{},"262":{},"272":{},"279":{},"285":{},"289":{}},"component":{}}],["here’",{"_index":81,"title":{},"name":{},"text":{"2":{},"24":{},"86":{},"145":{},"148":{},"255":{}},"component":{}}],["hesit",{"_index":7661,"title":{},"name":{},"text":{"265":{}},"component":{}}],["hesseg",{"_index":4344,"title":{},"name":{},"text":{"67":{}},"component":{}}],["heterogen",{"_index":2224,"title":{},"name":{},"text":{"38":{},"76":{}},"component":{}}],["heurist",{"_index":3661,"title":{},"name":{},"text":{"66":{}},"component":{}}],["heutelbeck",{"_index":3745,"title":{},"name":{},"text":{"66":{}},"component":{}}],["hhd2/eventstor",{"_index":6440,"title":{},"name":{},"text":{"151":{}},"component":{}}],["hibern",{"_index":1420,"title":{"79-3":{},"79-4":{},"79-5":{}},"name":{},"text":{"29":{},"33":{},"46":{},"51":{},"79":{}},"component":{}}],["hibernate_sequ",{"_index":1834,"title":{},"name":{},"text":{"33":{}},"component":{}}],["hibernate’",{"_index":4841,"title":{},"name":{},"text":{"79":{}},"component":{}}],["hidden",{"_index":5973,"title":{},"name":{},"text":{"132":{}},"component":{}}],["hide",{"_index":7032,"title":{},"name":{},"text":{"185":{}},"component":{}}],["hierarch",{"_index":3334,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["hierarchi",{"_index":2401,"title":{},"name":{},"text":{"43":{},"59":{},"64":{},"66":{},"67":{},"81":{}},"component":{}}],["high",{"_index":505,"title":{"210":{},"221":{},"206-50":{},"220-2":{}},"name":{},"text":{"3":{},"6":{},"58":{},"67":{},"88":{},"128":{},"151":{},"154":{},"156":{},"189":{},"191":{},"206":{},"220":{},"221":{},"226":{},"250":{},"261":{},"273":{},"281":{}},"component":{}}],["higher",{"_index":1839,"title":{},"name":{},"text":{"33":{},"38":{},"67":{},"87":{},"88":{},"89":{},"156":{},"163":{},"185":{},"211":{},"216":{},"244":{},"260":{},"261":{},"266":{}},"component":{}}],["highest",{"_index":6419,"title":{},"name":{},"text":{"150":{},"273":{}},"component":{}}],["highli",{"_index":494,"title":{},"name":{},"text":{"3":{},"40":{},"49":{},"59":{},"67":{},"71":{},"79":{},"140":{},"161":{},"191":{},"192":{},"221":{}},"component":{}}],["highlight",{"_index":3241,"title":{},"name":{},"text":{"64":{},"88":{}},"component":{}}],["hint",{"_index":2062,"title":{},"name":{},"text":{"36":{},"115":{},"123":{},"124":{},"126":{}},"component":{}}],["histor",{"_index":1975,"title":{},"name":{},"text":{"35":{},"67":{},"82":{}},"component":{}}],["histori",{"_index":1463,"title":{},"name":{},"text":{"29":{},"44":{},"145":{},"274":{},"290":{}},"component":{}}],["history=10",{"_index":393,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["hit",{"_index":1675,"title":{},"name":{},"text":{"31":{},"59":{},"77":{},"79":{}},"component":{}}],["hoc",{"_index":5342,"title":{},"name":{},"text":{"88":{},"89":{},"143":{},"179":{}},"component":{}}],["hold",{"_index":1734,"title":{},"name":{},"text":{"32":{},"48":{},"87":{},"88":{},"99":{},"120":{},"151":{},"157":{},"281":{}},"component":{}}],["hole",{"_index":6428,"title":{"151-5":{}},"name":{},"text":{"151":{}},"component":{}}],["hole.condit",{"_index":6445,"title":{},"name":{},"text":{"151":{}},"component":{}}],["home",{"_index":331,"title":{},"name":{},"text":{"3":{},"191":{},"238":{},"273":{}},"component":{"7":{},"8":{},"9":{},"10":{},"11":{},"12":{}}}],["homogen",{"_index":5924,"title":{},"name":{},"text":{"127":{}},"component":{}}],["honor",{"_index":2502,"title":{},"name":{},"text":{"44":{}},"component":{}}],["hood",{"_index":1898,"title":{},"name":{},"text":{"34":{},"87":{},"130":{},"163":{}},"component":{}}],["hook",{"_index":2968,"title":{},"name":{},"text":{"58":{},"66":{},"88":{},"143":{}},"component":{}}],["hop",{"_index":6547,"title":{},"name":{},"text":{"163":{}},"component":{}}],["horizontally—ad",{"_index":961,"title":{},"name":{},"text":{"6":{}},"component":{}}],["host",{"_index":656,"title":{},"name":{},"text":{"3":{},"88":{},"96":{},"143":{},"149":{},"154":{},"176":{},"178":{},"179":{},"191":{},"199":{},"208":{},"209":{},"262":{}},"component":{}}],["hostnam",{"_index":435,"title":{},"name":{},"text":{"3":{},"88":{},"143":{},"149":{},"154":{},"161":{},"170":{},"176":{},"178":{},"179":{},"181":{},"191":{},"192":{},"199":{}},"component":{}}],["hostname/port",{"_index":6094,"title":{},"name":{},"text":{"141":{}},"component":{}}],["hostname:intern",{"_index":6486,"title":{},"name":{},"text":{"154":{}},"component":{}}],["hot",{"_index":6020,"title":{},"name":{},"text":{"140":{}},"component":{}}],["hotspot",{"_index":4734,"title":{},"name":{},"text":{"77":{}},"component":{}}],["hour",{"_index":6907,"title":{},"name":{},"text":{"179":{},"198":{},"239":{}},"component":{}}],["hour(timestamp",{"_index":7191,"title":{},"name":{},"text":{"195":{}},"component":{}}],["hsqlsagaschema",{"_index":4492,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["htlo",{"_index":3306,"title":{},"name":{},"text":{"66":{}},"component":{}}],["http",{"_index":642,"title":{"211-2":{},"211-3":{},"212-2":{},"212-3":{},"212-4":{},"214-2":{},"214-3":{},"216-1":{},"217-1":{},"217-2":{},"217-3":{},"219-1":{},"219-2":{},"281-8":{}},"name":{},"text":{"3":{},"140":{},"145":{},"168":{},"169":{},"173":{},"174":{},"176":{},"178":{},"179":{},"185":{},"188":{},"191":{},"192":{},"200":{},"202":{},"203":{},"206":{},"208":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"280":{},"281":{},"283":{}},"component":{}}],["http.client",{"_index":7337,"title":{"206-10":{}},"name":{},"text":{},"component":{}}],["http.port",{"_index":7336,"title":{"206-9":{}},"name":{},"text":{},"component":{}}],["http.tl",{"_index":7350,"title":{"206-28":{}},"name":{},"text":{},"component":{}}],["http.trust",{"_index":7351,"title":{"206-29":{},"206-31":{}},"name":{},"text":{},"component":{}}],["http/1.1",{"_index":7928,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["http/2",{"_index":6551,"title":{},"name":{},"text":{"163":{}},"component":{}}],["http/grpc",{"_index":6789,"title":{},"name":{},"text":{"176":{}},"component":{}}],["http2",{"_index":6549,"title":{},"name":{},"text":{"163":{}},"component":{}}],["http://127.0.0.1:8024",{"_index":8022,"title":{},"name":{},"text":{"284":{}},"component":{}}],["http://[node]:[port",{"_index":6353,"title":{},"name":{},"text":{"147":{},"156":{}},"component":{}}],["http://[server]/createcontroldbbackup",{"_index":6107,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http://[server]/v1/backup/createcontroldbbackup`forc",{"_index":6108,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http://[server]/v1/backup/filenam",{"_index":6112,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http://keycloak",{"_index":6778,"title":{},"name":{},"text":{"172":{}},"component":{}}],["http://localhost:10100/fir",{"_index":7679,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10101/fir",{"_index":7680,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10102/fir",{"_index":7681,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10103/fir",{"_index":7682,"title":{},"name":{},"text":{"270":{}},"component":{}}],["http://localhost:10106/fir",{"_index":7683,"title":{},"name":{},"text":{"270":{},"273":{}},"component":{}}],["http://localhost:8024",{"_index":6364,"title":{},"name":{},"text":{"147":{},"156":{},"168":{},"174":{},"178":{},"192":{},"199":{},"283":{},"284":{}},"component":{}}],["http://localhost:8024.th",{"_index":6808,"title":{},"name":{},"text":{"178":{}},"component":{}}],["http://localhost:8024/v1",{"_index":7159,"title":{},"name":{},"text":{"192":{}},"component":{}}],["http://localhost:8024/v1/public/context",{"_index":6558,"title":{},"name":{},"text":{"166":{},"169":{}},"component":{}}],["http://localhost:8024/v1/public/us",{"_index":6784,"title":{},"name":{},"text":{"173":{}},"component":{}}],["http://localhost:8080",{"_index":7279,"title":{},"name":{},"text":{"202":{},"203":{}},"component":{}}],["http://localhost:8080/bik",{"_index":7905,"title":{},"name":{},"text":{"280":{}},"component":{}}],["http://localhost:8080/bikes/8427681b",{"_index":7924,"title":{},"name":{},"text":{"280":{}},"component":{}}],["http://localhost:8080/bikes/{bikeid",{"_index":7906,"title":{},"name":{},"text":{"280":{}},"component":{}}],["http://localhost:8080/bikes?biketype=city&location=utrecht",{"_index":7989,"title":{},"name":{},"text":{"283":{}},"component":{}}],["http://localhost:8080/bikes?biketype={type}&location={c",{"_index":7988,"title":{},"name":{},"text":{"283":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.issuecardcommand",{"_index":7309,"title":{},"name":{},"text":{"203":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/events/io.axoniq.demo.giftcard.api.cardredeemedev",{"_index":7319,"title":{},"name":{},"text":{"203":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/handlers/command",{"_index":7269,"title":{},"name":{},"text":{"202":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/handlers/ev",{"_index":7298,"title":{},"name":{},"text":{"202":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/handlers/queri",{"_index":7288,"title":{},"name":{},"text":{"202":{}},"component":{}}],["http://localhost:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.fetchcardsummariesqueri",{"_index":7315,"title":{},"name":{},"text":{"203":{}},"component":{}}],["http://localhost:8081/fir",{"_index":7692,"title":{},"name":{},"text":{"273":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/command",{"_index":7510,"title":{},"name":{},"text":{"216":{},"219":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.issuecardcommand",{"_index":7506,"title":{},"name":{},"text":{"216":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/ev",{"_index":7521,"title":{},"name":{},"text":{"217":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/events/local.application.client.ev",{"_index":7513,"title":{},"name":{},"text":{"217":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/handlers/command",{"_index":7453,"title":{},"name":{},"text":{"211":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/handlers/ev",{"_index":7466,"title":{},"name":{},"text":{"212":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/handlers/queri",{"_index":7469,"title":{},"name":{},"text":{"214":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/queri",{"_index":7527,"title":{},"name":{},"text":{"219":{}},"component":{}}],["http://synapse:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.fetchcardsummariesqueri",{"_index":7525,"title":{},"name":{},"text":{"219":{}},"component":{}}],["http://{synaps",{"_index":7448,"title":{},"name":{},"text":{"209":{}},"component":{}}],["http:[server]/v1/backup/log/filenam",{"_index":6116,"title":{},"name":{},"text":{"142":{}},"component":{}}],["http:[server]:[port]/swagg",{"_index":6105,"title":{},"name":{},"text":{"142":{},"147":{},"156":{}},"component":{}}],["httpget",{"_index":619,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["httpport",{"_index":6408,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["https://1d5cae3d",{"_index":7300,"title":{},"name":{},"text":{"202":{}},"component":{}}],["https://ac365f15",{"_index":7290,"title":{},"name":{},"text":{"202":{}},"component":{}}],["https://cb5b8a7d",{"_index":7272,"title":{},"name":{},"text":{"202":{}},"component":{}}],["https://client.application.local/v1/messag",{"_index":7455,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["https://console.axoniq.io",{"_index":7555,"title":{},"name":{},"text":{"233":{}},"component":{}}],["https://download.axoniq.io/axonserver/axon",{"_index":7261,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["https://download.axoniq.io/quickstart/axonquickstart.zip",{"_index":7252,"title":{},"name":{},"text":{"201":{}},"component":{}}],["https://github.com/axoniq/axon",{"_index":6377,"title":{},"name":{},"text":{"148":{}},"component":{}}],["https://library.axoniq.io/axon",{"_index":6011,"title":{},"name":{},"text":{"140":{}},"component":{}}],["https://localhost:8024",{"_index":6578,"title":{},"name":{},"text":{"168":{},"174":{}},"component":{}}],["https://localhost:8024/v1/public/context",{"_index":6567,"title":{},"name":{},"text":{"166":{}},"component":{}}],["https://localhost:8080/fir",{"_index":7678,"title":{},"name":{},"text":{"270":{}},"component":{}}],["hub",{"_index":906,"title":{},"name":{},"text":{"6":{},"284":{}},"component":{}}],["huge",{"_index":6263,"title":{},"name":{},"text":{"145":{}},"component":{}}],["human",{"_index":1568,"title":{},"name":{},"text":{"31":{},"40":{},"46":{}},"component":{}}],["hundr",{"_index":4726,"title":{},"name":{},"text":{"77":{}},"component":{}}],["hydrat",{"_index":3071,"title":{},"name":{},"text":{"59":{}},"component":{}}],["hyphen",{"_index":6362,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["i.a.d.b.rental.rentalappl",{"_index":8012,"title":{},"name":{},"text":{"284":{}},"component":{}}],["i.o",{"_index":4352,"title":{},"name":{},"text":{"67":{}},"component":{}}],["i/o",{"_index":2209,"title":{},"name":{},"text":{"38":{},"88":{},"120":{},"261":{}},"component":{}}],["iap",{"_index":7237,"title":{},"name":{},"text":{"199":{}},"component":{}}],["icon",{"_index":6370,"title":{},"name":{},"text":{"147":{},"156":{},"165":{},"244":{},"274":{},"280":{},"283":{}},"component":{}}],["id",{"_index":251,"title":{"206-11":{},"206-20":{}},"name":{},"text":{"3":{},"5":{},"6":{},"16":{},"30":{},"35":{},"36":{},"39":{},"44":{},"52":{},"56":{},"63":{},"67":{},"69":{},"76":{},"82":{},"84":{},"85":{},"88":{},"102":{},"104":{},"108":{},"114":{},"121":{},"172":{},"191":{},"199":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"216":{},"217":{},"276":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["idea",{"_index":5495,"title":{"280-15":{},"283-3":{}},"name":{},"text":{"99":{},"120":{},"144":{},"194":{},"221":{},"234":{},"263":{},"280":{},"281":{},"283":{}},"component":{}}],["ideal",{"_index":1147,"title":{},"name":{},"text":{"17":{},"29":{},"31":{},"46":{},"66":{},"72":{},"88":{},"151":{}},"component":{}}],["idempot",{"_index":1254,"title":{"86-3":{}},"name":{},"text":{"20":{},"86":{},"88":{}},"component":{}}],["ident",{"_index":1388,"title":{},"name":{},"text":{"27":{},"44":{},"60":{},"67":{},"69":{},"72":{},"75":{},"80":{},"88":{},"101":{}},"component":{}}],["identifi",{"_index":928,"title":{"23":{},"88-14":{}},"name":{},"text":{"6":{},"10":{},"12":{},"15":{},"16":{},"23":{},"29":{},"34":{},"35":{},"36":{},"38":{},"42":{},"44":{},"46":{},"47":{},"49":{},"50":{},"52":{},"56":{},"58":{},"59":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"101":{},"102":{},"111":{},"115":{},"140":{},"143":{},"144":{},"148":{},"194":{},"202":{},"206":{},"215":{},"242":{},"243":{},"263":{},"264":{},"265":{},"273":{},"274":{},"280":{},"281":{}},"component":{"23":{}}}],["identifierfactori",{"_index":1284,"title":{},"name":{},"text":{"23":{}},"component":{}}],["identifiermissingexcept",{"_index":4114,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ide’",{"_index":4913,"title":{},"name":{},"text":{"82":{}},"component":{}}],["idfilt",{"_index":5665,"title":{},"name":{},"text":{"108":{}},"component":{}}],["idl",{"_index":4788,"title":{"145-7":{}},"name":{},"text":{"77":{},"120":{},"145":{},"274":{},"276":{}},"component":{}}],["ifnotpres",{"_index":602,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ifpresent(letterprocessor",{"_index":5015,"title":{},"name":{},"text":{"86":{}},"component":{}}],["ifpresent(sequenceddeadletterprocessor::processani",{"_index":5019,"title":{},"name":{},"text":{"86":{},"115":{}},"component":{}}],["ifpresent(streamingeventprocessor",{"_index":6193,"title":{},"name":{},"text":{"144":{}},"component":{}}],["ifpresent(streamingprocessor",{"_index":5307,"title":{},"name":{},"text":{"88":{}},"component":{}}],["ignor",{"_index":1670,"title":{},"name":{},"text":{"31":{},"35":{},"38":{},"43":{},"57":{},"64":{},"66":{},"67":{},"72":{},"74":{},"82":{},"87":{},"103":{},"127":{},"128":{},"163":{},"239":{},"242":{},"281":{}},"component":{}}],["ignorelistingdiscoverymod",{"_index":5921,"title":{},"name":{},"text":{"127":{}},"component":{}}],["illeg",{"_index":4577,"title":{},"name":{},"text":{"72":{},"204":{}},"component":{}}],["illegalargumentexcept",{"_index":1341,"title":{},"name":{},"text":{"24":{},"51":{},"67":{}},"component":{}}],["illegalargumentexception(\"no",{"_index":5028,"title":{},"name":{},"text":{"86":{}},"component":{}}],["illegalargumentexception.class",{"_index":2817,"title":{},"name":{},"text":{"51":{}},"component":{}}],["illegalstateexcept",{"_index":2804,"title":{},"name":{},"text":{"51":{},"76":{},"84":{}},"component":{}}],["illegalstateexception(\"amount",{"_index":1946,"title":{},"name":{},"text":{"35":{},"85":{}},"component":{}}],["illegalstateexception(\"bik",{"_index":8052,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["illegalstateexception(\"can't",{"_index":7964,"title":{},"name":{},"text":{"281":{}},"component":{}}],["illegalstateexception(\"transact",{"_index":4946,"title":{},"name":{},"text":{"84":{}},"component":{}}],["illegalstateexception(\"transactionid",{"_index":4976,"title":{},"name":{},"text":{"85":{}},"component":{}}],["illegalstateexception.class",{"_index":2806,"title":{},"name":{},"text":{"51":{}},"component":{}}],["illustr",{"_index":8067,"title":{},"name":{},"text":{"289":{}},"component":{}}],["imag",{"_index":186,"title":{"3-1":{},"3-9":{},"140-4":{},"191-1":{},"191-2":{}},"name":{},"text":{"3":{},"4":{},"30":{},"49":{},"59":{},"87":{},"124":{},"125":{},"140":{},"191":{},"215":{},"228":{},"245":{},"246":{},"249":{},"260":{},"266":{},"269":{},"270":{},"277":{},"281":{},"284":{}},"component":{}}],["image::ac",{"_index":7697,"title":{},"name":{},"text":{"273":{}},"component":{}}],["imagepullpolici",{"_index":601,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["imagin",{"_index":1648,"title":{},"name":{},"text":{"31":{},"44":{},"68":{},"83":{},"281":{}},"component":{}}],["imaginari",{"_index":5711,"title":{},"name":{},"text":{"115":{}},"component":{}}],["immedi",{"_index":950,"title":{},"name":{},"text":{"6":{},"38":{},"51":{},"63":{},"67":{},"69":{},"71":{},"88":{},"121":{},"141":{},"142":{},"144":{},"148":{},"172":{},"250":{},"273":{},"277":{},"279":{},"280":{},"285":{}},"component":{}}],["immut",{"_index":2630,"title":{},"name":{},"text":{"47":{},"49":{},"142":{},"145":{},"281":{}},"component":{}}],["impact",{"_index":942,"title":{},"name":{},"text":{"6":{},"38":{},"57":{},"59":{},"66":{},"67":{},"69":{},"77":{},"79":{},"102":{},"130":{},"145":{},"151":{},"156":{}},"component":{}}],["imped",{"_index":1603,"title":{},"name":{},"text":{"31":{}},"component":{}}],["implement",{"_index":866,"title":{"15":{},"19":{},"20":{},"61":{},"69":{},"281":{},"31-1":{},"36-9":{},"44-2":{},"50-5":{},"86-2":{},"280-7":{},"280-8":{},"280-10":{},"280-11":{},"281-2":{},"281-4":{},"281-8":{},"281-10":{}},"name":{"15":{},"20":{},"61":{},"69":{},"281":{}},"text":{"5":{},"6":{},"8":{},"13":{},"14":{},"15":{},"18":{},"19":{},"23":{},"24":{},"25":{},"26":{},"29":{},"30":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"100":{},"101":{},"102":{},"106":{},"107":{},"111":{},"115":{},"117":{},"119":{},"121":{},"125":{},"127":{},"129":{},"133":{},"140":{},"144":{},"145":{},"148":{},"154":{},"161":{},"189":{},"207":{},"220":{},"221":{},"226":{},"257":{},"260":{},"274":{},"278":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["implementation(platform(\"org.axonframework:axon",{"_index":1554,"title":{},"name":{},"text":{"30":{}},"component":{}}],["implementation’",{"_index":2346,"title":{},"name":{},"text":{"40":{}},"component":{}}],["impli",{"_index":7832,"title":{},"name":{},"text":{"280":{},"281":{},"286":{}},"component":{}}],["implic",{"_index":3219,"title":{},"name":{},"text":{"63":{}},"component":{}}],["implicit",{"_index":1614,"title":{},"name":{},"text":{"31":{}},"component":{}}],["import",{"_index":539,"title":{"286":{},"79-1":{}},"name":{},"text":{"3":{},"5":{},"6":{},"17":{},"20":{},"30":{},"33":{},"34":{},"35":{},"36":{},"38":{},"40":{},"42":{},"43":{},"44":{},"46":{},"49":{},"52":{},"53":{},"55":{},"59":{},"63":{},"64":{},"66":{},"69":{},"71":{},"72":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"102":{},"105":{},"106":{},"108":{},"117":{},"123":{},"140":{},"142":{},"144":{},"148":{},"151":{},"153":{},"157":{},"163":{},"179":{},"191":{},"199":{},"206":{},"207":{},"208":{},"220":{},"237":{},"244":{},"260":{},"261":{},"278":{},"279":{},"281":{}},"component":{}}],["import_external_st",{"_index":8035,"title":{},"name":{"286":{}},"text":{},"component":{}}],["importruntimehint",{"_index":5904,"title":{},"name":{},"text":{"124":{}},"component":{}}],["impos",{"_index":2498,"title":{},"name":{},"text":{"44":{},"67":{}},"component":{}}],["imposs",{"_index":4685,"title":{},"name":{},"text":{"74":{}},"component":{}}],["improv",{"_index":3045,"title":{"140-3":{},"140-8":{},"140-13":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{}},"name":{},"text":{"59":{},"66":{},"67":{},"140":{},"141":{},"147":{},"151":{},"215":{},"235":{},"240":{},"260":{}},"component":{}}],["inaccessibleobjectexcept",{"_index":4216,"title":{},"name":{},"text":{"67":{}},"component":{}}],["inact",{"_index":2888,"title":{},"name":{},"text":{"54":{},"88":{},"206":{},"215":{}},"component":{}}],["inbound",{"_index":7386,"title":{},"name":{},"text":{"206":{}},"component":{}}],["incap",{"_index":1672,"title":{},"name":{},"text":{"31":{},"67":{}},"component":{}}],["incid",{"_index":7588,"title":{},"name":{},"text":{"244":{},"262":{}},"component":{}}],["incident",{"_index":6468,"title":{},"name":{},"text":{"151":{}},"component":{}}],["inclin",{"_index":5069,"title":{},"name":{},"text":{"87":{},"99":{},"115":{}},"component":{}}],["includ",{"_index":124,"title":{},"name":{},"text":{"2":{},"3":{},"4":{},"6":{},"21":{},"30":{},"32":{},"36":{},"38":{},"40":{},"44":{},"46":{},"48":{},"49":{},"51":{},"58":{},"59":{},"63":{},"66":{},"67":{},"72":{},"73":{},"78":{},"84":{},"86":{},"88":{},"94":{},"96":{},"97":{},"129":{},"140":{},"141":{},"142":{},"147":{},"151":{},"156":{},"168":{},"178":{},"185":{},"191":{},"192":{},"194":{},"211":{},"212":{},"214":{},"231":{},"239":{},"241":{},"242":{},"243":{},"245":{},"246":{},"249":{},"259":{},"261":{},"272":{},"274":{},"276":{},"279":{},"280":{},"289":{}},"component":{}}],["incom",{"_index":659,"title":{"206-32":{}},"name":{},"text":{"3":{},"38":{},"47":{},"51":{},"69":{},"76":{},"83":{},"84":{},"85":{},"121":{},"130":{},"165":{},"179":{},"191":{},"202":{},"261":{}},"component":{}}],["incompat",{"_index":5543,"title":{},"name":{},"text":{"101":{}},"component":{}}],["incompatibleaggregateexcept",{"_index":4117,"title":{},"name":{},"text":{"67":{}},"component":{}}],["incomplet",{"_index":6117,"title":{},"name":{},"text":{"142":{}},"component":{}}],["inconsist",{"_index":3995,"title":{},"name":{},"text":{"67":{},"86":{},"142":{},"143":{}},"component":{}}],["incorrect",{"_index":4190,"title":{},"name":{},"text":{"67":{},"141":{}},"component":{}}],["incorrectli",{"_index":3782,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["increas",{"_index":962,"title":{"76-1":{},"165-1":{}},"name":{},"text":{"6":{},"14":{},"38":{},"58":{},"76":{},"79":{},"88":{},"140":{},"141":{},"145":{},"148":{},"163":{},"165":{},"179":{},"250":{},"260":{},"261":{},"273":{}},"component":{}}],["increase/decreas",{"_index":4703,"title":{},"name":{},"text":{"76":{}},"component":{}}],["incred",{"_index":3020,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["increment",{"_index":1456,"title":{"79-2":{}},"name":{},"text":{"29":{},"44":{},"67":{},"77":{},"79":{},"87":{},"88":{},"120":{},"121":{},"138":{},"142":{}},"component":{}}],["incur",{"_index":7226,"title":{},"name":{},"text":{"199":{}},"component":{}}],["indefinit",{"_index":111,"title":{},"name":{},"text":{"2":{},"34":{},"44":{},"151":{}},"component":{}}],["indent",{"_index":8001,"title":{},"name":{},"text":{"284":{}},"component":{}}],["independ",{"_index":880,"title":{},"name":{},"text":{"6":{},"74":{},"117":{},"140":{},"144":{},"151":{},"221":{},"279":{},"285":{}},"component":{}}],["index",{"_index":3,"title":{"147-1":{}},"name":{"1":{},"6":{},"8":{},"12":{},"13":{},"16":{},"21":{},"23":{},"25":{},"27":{},"28":{},"37":{},"41":{},"45":{},"49":{},"55":{},"62":{},"65":{},"70":{},"73":{},"78":{},"87":{},"91":{},"94":{},"97":{},"100":{},"107":{},"111":{},"117":{},"120":{},"124":{},"129":{},"133":{},"137":{},"146":{},"153":{},"155":{},"159":{},"160":{},"164":{},"175":{},"181":{},"183":{},"190":{},"191":{},"192":{},"194":{},"199":{},"200":{},"207":{},"221":{},"224":{},"226":{},"227":{},"236":{},"249":{},"253":{},"254":{},"259":{},"266":{},"267":{},"271":{},"282":{},"287":{}},"text":{"46":{},"51":{},"59":{},"67":{},"79":{},"111":{},"141":{},"142":{},"143":{},"147":{},"151":{},"179":{},"202":{},"212":{},"274":{}},"component":{}}],["index.adoc",{"_index":3282,"title":{},"name":{},"text":{"66":{}},"component":{}}],["indexoutofboundsexcept",{"_index":3653,"title":{},"name":{},"text":{"66":{}},"component":{}}],["indic",{"_index":923,"title":{"54":{},"54-1":{},"79-1":{}},"name":{},"text":{"6":{},"24":{},"34":{},"38":{},"47":{},"49":{},"52":{},"53":{},"54":{},"55":{},"58":{},"59":{},"60":{},"61":{},"63":{},"66":{},"69":{},"72":{},"79":{},"83":{},"111":{},"143":{},"169":{},"179":{},"195":{},"202":{},"203":{},"217":{},"219":{},"244":{},"261":{},"273":{},"274":{},"276":{},"277":{},"281":{}},"component":{}}],["individu",{"_index":16,"title":{},"name":{},"text":{"1":{},"6":{},"30":{},"49":{},"69":{},"71":{},"101":{},"157":{},"176":{},"178":{},"179":{},"221":{},"260":{},"261":{},"262":{}},"component":{}}],["ineffici",{"_index":5675,"title":{},"name":{},"text":{"111":{},"120":{}},"component":{}}],["inertia",{"_index":7376,"title":{"206-57":{}},"name":{},"text":{"206":{}},"component":{}}],["inevit",{"_index":5073,"title":{},"name":{},"text":{"87":{}},"component":{}}],["inf",{"_index":1736,"title":{},"name":{},"text":{"32":{},"79":{}},"component":{}}],["inf/orm.xml",{"_index":4823,"title":{},"name":{},"text":{"79":{}},"component":{}}],["inf/persistence.xml",{"_index":2522,"title":{},"name":{},"text":{"46":{}},"component":{}}],["inf/services/org.axonframework.common.identifierfactori",{"_index":1294,"title":{},"name":{},"text":{"23":{}},"component":{}}],["inf/services/org.axonframework.messaging.annotation.handlerenhancerdefinit",{"_index":1323,"title":{},"name":{},"text":{"24":{}},"component":{}}],["inf/services/org.axonframework.messaging.annotation.parameterresolverfactori",{"_index":1365,"title":{},"name":{},"text":{"26":{}},"component":{}}],["inf/spr",{"_index":1760,"title":{},"name":{},"text":{"32":{}},"component":{}}],["infam",{"_index":4818,"title":{},"name":{},"text":{"79":{}},"component":{}}],["infer",{"_index":5653,"title":{},"name":{},"text":{"108":{},"280":{}},"component":{}}],["infinit",{"_index":85,"title":{},"name":{},"text":{"2":{},"63":{},"86":{}},"component":{}}],["inflat",{"_index":6602,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["influenc",{"_index":2448,"title":{"46-12":{}},"name":{},"text":{"44":{},"67":{},"88":{},"102":{},"157":{},"179":{}},"component":{}}],["info",{"_index":851,"title":{},"name":{},"text":{"5":{},"88":{},"142":{},"179":{},"280":{},"284":{},"285":{}},"component":{}}],["inform",{"_index":749,"title":{"232-3":{},"274-3":{}},"name":{},"text":{"5":{},"6":{},"28":{},"30":{},"31":{},"33":{},"36":{},"38":{},"46":{},"47":{},"49":{},"50":{},"51":{},"55":{},"59":{},"60":{},"62":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"86":{},"87":{},"88":{},"90":{},"94":{},"97":{},"110":{},"127":{},"128":{},"129":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"153":{},"154":{},"156":{},"157":{},"159":{},"162":{},"165":{},"169":{},"172":{},"178":{},"185":{},"187":{},"190":{},"192":{},"199":{},"202":{},"204":{},"206":{},"208":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"232":{},"235":{},"237":{},"238":{},"241":{},"242":{},"244":{},"245":{},"246":{},"247":{},"249":{},"254":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"264":{},"265":{},"269":{},"271":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"286":{},"290":{}},"component":{}}],["infraconfigur",{"_index":3484,"title":{},"name":{},"text":{"66":{}},"component":{}}],["infraconfiguration.springaxonconfigur",{"_index":3985,"title":{},"name":{},"text":{"67":{}},"component":{}}],["infrastructur",{"_index":800,"title":{"38":{},"71":{},"69-4":{},"221-6":{}},"name":{"38":{},"46":{},"71":{}},"text":{"5":{},"30":{},"31":{},"32":{},"34":{},"37":{},"38":{},"61":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"87":{},"88":{},"89":{},"102":{},"147":{},"227":{},"236":{},"284":{}},"component":{}}],["infrequ",{"_index":6044,"title":{},"name":{},"text":{"140":{}},"component":{}}],["ing.yml",{"_index":661,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ingest",{"_index":2907,"title":{},"name":{},"text":{"57":{},"75":{},"86":{},"87":{},"151":{},"261":{},"262":{}},"component":{}}],["ingress",{"_index":647,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ingress.networking.k8s.io/axonserv",{"_index":663,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["inherit",{"_index":4408,"title":{},"name":{},"text":{"67":{},"81":{},"163":{},"279":{}},"component":{}}],["init",{"_index":6480,"title":{},"name":{},"text":{"154":{},"178":{},"192":{}},"component":{}}],["init_clust",{"_index":6652,"title":{},"name":{},"text":{"171":{}},"component":{}}],["initi",{"_index":406,"title":{"77-9":{},"88-6":{},"88-8":{},"154-3":{},"192-7":{}},"name":{},"text":{"3":{},"20":{},"32":{},"34":{},"36":{},"44":{},"49":{},"59":{},"62":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"82":{},"85":{},"86":{},"88":{},"89":{},"90":{},"102":{},"115":{},"121":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"151":{},"154":{},"163":{},"167":{},"170":{},"174":{},"178":{},"179":{},"191":{},"192":{},"215":{},"244":{},"260":{},"281":{},"284":{},"285":{}},"component":{}}],["initialdelay",{"_index":1159,"title":{},"name":{},"text":{"17":{}},"component":{}}],["initialdelaysecond",{"_index":621,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["initialis",{"_index":5691,"title":{},"name":{},"text":{"114":{},"115":{}},"component":{}}],["initialposit",{"_index":5401,"title":{},"name":{},"text":{"89":{}},"component":{}}],["initialresult",{"_index":3193,"title":{},"name":{},"text":{"63":{}},"component":{}}],["initialsegmentcount",{"_index":5230,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialsegmentcount(32",{"_index":5274,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialtrackingtokenconfigurermodul",{"_index":5179,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialtrackingtokensuppli",{"_index":5331,"title":{},"name":{},"text":{"88":{}},"component":{}}],["initialvalu",{"_index":7286,"title":{},"name":{},"text":{"202":{}},"component":{}}],["inject",{"_index":427,"title":{"59-14":{},"69-3":{}},"name":{},"text":{"3":{},"20":{},"25":{},"30":{},"36":{},"39":{},"44":{},"52":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"86":{},"88":{},"97":{},"114":{},"115":{},"191":{},"281":{}},"component":{}}],["injector",{"_index":4133,"title":{},"name":{},"text":{"67":{}},"component":{}}],["inlin",{"_index":5617,"title":{},"name":{},"text":{"105":{},"107":{},"108":{}},"component":{}}],["inmemoryeventstorageengin",{"_index":2603,"title":{},"name":{},"text":{"46":{},"66":{}},"component":{}}],["inmemorysagastor",{"_index":4481,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["inmemorysequenceddeadletterqueu",{"_index":4984,"title":{},"name":{},"text":{"86":{}},"component":{}}],["inmemorytoken",{"_index":5221,"title":{},"name":{},"text":{"88":{}},"component":{}}],["inmemorytokenstor",{"_index":5169,"title":{},"name":{},"text":{"88":{},"99":{}},"component":{}}],["inner",{"_index":1976,"title":{},"name":{},"text":{"35":{},"59":{},"66":{}},"component":{}}],["innov",{"_index":7249,"title":{},"name":{},"text":{"200":{}},"component":{}}],["input",{"_index":1708,"title":{"143-2":{}},"name":{},"text":{"31":{},"44":{},"88":{},"121":{},"194":{},"274":{},"289":{}},"component":{}}],["inputstream",{"_index":1705,"title":{},"name":{},"text":{"31":{},"121":{}},"component":{}}],["insecur",{"_index":6571,"title":{},"name":{},"text":{"168":{},"174":{},"178":{}},"component":{}}],["insert",{"_index":2532,"title":{},"name":{},"text":{"46":{},"52":{},"67":{},"79":{},"87":{},"150":{}},"component":{}}],["insid",{"_index":1297,"title":{},"name":{},"text":{"23":{},"24":{},"30":{},"35":{},"38":{},"46":{},"50":{},"66":{},"69":{},"72":{},"88":{},"92":{},"101":{},"145":{},"197":{},"270":{},"280":{},"281":{}},"component":{}}],["insight",{"_index":89,"title":{"242":{},"273-4":{},"274-28":{}},"name":{"242":{}},"text":{"2":{},"5":{},"28":{},"49":{},"55":{},"59":{},"86":{},"192":{},"227":{},"236":{},"239":{},"241":{},"242":{},"243":{},"246":{},"249":{},"259":{},"273":{},"274":{}},"component":{}}],["inspect",{"_index":4940,"title":{},"name":{},"text":{"84":{},"186":{},"257":{}},"component":{}}],["instal",{"_index":146,"title":{"3":{},"159":{},"199":{},"201":{},"208":{},"232":{},"170-1":{},"172-1":{},"199-1":{},"199-8":{}},"name":{"201":{},"208":{},"232":{}},"text":{"2":{},"3":{},"5":{},"11":{},"12":{},"137":{},"151":{},"159":{},"170":{},"172":{},"176":{},"178":{},"179":{},"191":{},"199":{},"201":{},"202":{},"203":{},"207":{},"208":{},"215":{},"232":{},"241":{},"245":{},"277":{},"284":{}},"component":{"3":{},"199":{}}}],["installing_as_dock",{"_index":201,"title":{},"name":{"3":{}},"text":{},"component":{}}],["instana",{"_index":5985,"title":{},"name":{},"text":{"133":{}},"component":{}}],["instanc",{"_index":260,"title":{"232":{},"64-4":{},"64-5":{},"274-16":{}},"name":{"232":{}},"text":{"3":{},"5":{},"6":{},"15":{},"18":{},"19":{},"20":{},"23":{},"26":{},"28":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"42":{},"43":{},"44":{},"46":{},"47":{},"51":{},"52":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"96":{},"97":{},"99":{},"101":{},"102":{},"104":{},"115":{},"121":{},"127":{},"130":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"150":{},"151":{},"154":{},"156":{},"157":{},"161":{},"163":{},"165":{},"179":{},"180":{},"191":{},"192":{},"197":{},"199":{},"201":{},"202":{},"203":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"219":{},"221":{},"224":{},"226":{},"232":{},"234":{},"237":{},"238":{},"239":{},"241":{},"245":{},"246":{},"250":{},"260":{},"261":{},"262":{},"274":{},"277":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["instanceof",{"_index":1036,"title":{},"name":{},"text":{"14":{},"50":{},"76":{},"86":{}},"component":{}}],["instances/thread",{"_index":5163,"title":{},"name":{},"text":{"88":{}},"component":{}}],["instance’",{"_index":5486,"title":{},"name":{},"text":{"99":{}},"component":{}}],["instant",{"_index":1240,"title":{},"name":{},"text":{"20":{},"39":{},"72":{},"86":{},"88":{}},"component":{}}],["instant.now().getepochsecond",{"_index":7963,"title":{},"name":{},"text":{"281":{}},"component":{}}],["instant.now().plus(command.daysvalid",{"_index":1242,"title":{},"name":{},"text":{"20":{}},"component":{}}],["instanti",{"_index":1923,"title":{},"name":{},"text":{"34":{},"35":{},"36":{},"44":{},"67":{},"77":{},"80":{},"82":{},"102":{}},"component":{}}],["instantli",{"_index":752,"title":{},"name":{},"text":{"5":{}},"component":{}}],["instead",{"_index":953,"title":{},"name":{},"text":{"6":{},"16":{},"29":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"44":{},"46":{},"47":{},"49":{},"53":{},"57":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"74":{},"77":{},"79":{},"83":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"99":{},"104":{},"105":{},"108":{},"114":{},"120":{},"140":{},"145":{},"166":{},"168":{},"174":{},"178":{},"179":{},"206":{},"217":{},"276":{},"280":{}},"component":{}}],["instruct",{"_index":684,"title":{"4-4":{},"215-2":{},"215-6":{},"215-10":{},"215-14":{},"215-18":{}},"name":{},"text":{"5":{},"59":{},"66":{},"67":{},"140":{},"143":{},"144":{},"151":{},"179":{},"202":{},"203":{},"232":{},"237":{},"238":{},"241":{},"245":{},"262":{},"263":{},"266":{},"267":{},"276":{},"277":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["instruction.result.timeout",{"_index":6896,"title":{},"name":{},"text":{"179":{}},"component":{}}],["instrument",{"_index":2999,"title":{},"name":{},"text":{"59":{},"133":{}},"component":{}}],["instrumentcommandbus(meterregistri",{"_index":2935,"title":{},"name":{},"text":{"57":{}},"component":{}}],["instrumenteventprocessors(meterregistri",{"_index":2934,"title":{},"name":{},"text":{"57":{}},"component":{}}],["instrumenteventstore(meterregistri",{"_index":2933,"title":{},"name":{},"text":{"57":{}},"component":{}}],["instrumentquerybus(meterregistri",{"_index":2936,"title":{},"name":{},"text":{"57":{}},"component":{}}],["insuffici",{"_index":4831,"title":{},"name":{},"text":{"79":{},"88":{}},"component":{}}],["int",{"_index":1049,"title":{},"name":{},"text":{"14":{},"22":{},"35":{},"38":{},"76":{},"84":{},"85":{},"86":{},"87":{},"88":{},"99":{},"102":{},"108":{}},"component":{}}],["intact",{"_index":2436,"title":{},"name":{},"text":{"44":{}},"component":{}}],["integ",{"_index":1950,"title":{},"name":{},"text":{"35":{},"87":{}},"component":{}}],["integr",{"_index":130,"title":{"32":{},"244-4":{},"262-6":{}},"name":{"32":{}},"text":{"2":{},"28":{},"29":{},"30":{},"40":{},"59":{},"66":{},"67":{},"86":{},"140":{},"151":{},"169":{},"172":{},"244":{},"250":{},"262":{},"273":{},"286":{},"287":{}},"component":{}}],["integrationtest",{"_index":3349,"title":{},"name":{},"text":{"66":{}},"component":{}}],["intellij",{"_index":7831,"title":{"280-15":{},"283-3":{}},"name":{},"text":{"280":{},"283":{}},"component":{}}],["intend",{"_index":1012,"title":{"199-2":{},"227-2":{},"236-2":{}},"name":{},"text":{"8":{},"12":{},"13":{},"28":{},"29":{},"31":{},"35":{},"36":{},"38":{},"41":{},"44":{},"48":{},"49":{},"66":{},"67":{},"70":{},"73":{},"78":{},"140":{},"145":{},"199":{},"272":{},"281":{}},"component":{}}],["intent",{"_index":1606,"title":{},"name":{},"text":{"31":{},"34":{},"35":{},"37":{},"38":{},"49":{},"66":{},"68":{},"83":{},"145":{},"155":{},"176":{},"289":{}},"component":{}}],["intention",{"_index":1919,"title":{},"name":{},"text":{"34":{},"68":{},"269":{},"272":{}},"component":{}}],["interact",{"_index":2841,"title":{},"name":{},"text":{"53":{},"69":{},"72":{},"74":{},"87":{},"88":{},"117":{},"203":{},"211":{},"212":{},"214":{},"260":{},"281":{}},"component":{}}],["intercept",{"_index":1313,"title":{"51":{}},"name":{"51":{}},"text":{"24":{},"51":{},"121":{},"148":{}},"component":{}}],["intercept(cardredeemedev",{"_index":2792,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(eventmessag",{"_index":2790,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(m",{"_index":5883,"title":{},"name":{},"text":{"121":{}},"component":{}}],["intercept(messag",{"_index":2788,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(mono",{"_index":5862,"title":{},"name":{},"text":{"121":{}},"component":{}}],["intercept(mono.just(message)).block",{"_index":5863,"title":{},"name":{},"text":{"121":{}},"component":{}}],["intercept(querymessag",{"_index":2794,"title":{},"name":{},"text":{"51":{}},"component":{}}],["intercept(redeemcardcommand",{"_index":2759,"title":{},"name":{},"text":{"51":{}},"component":{}}],["interceptor",{"_index":1308,"title":{"51-1":{},"51-2":{},"51-4":{},"51-6":{},"51-7":{},"51-8":{},"51-9":{},"51-10":{},"51-12":{},"56-2":{},"87-10":{},"121-14":{},"121-15":{},"121-16":{}},"name":{},"text":{"24":{},"38":{},"48":{},"51":{},"59":{},"66":{},"67":{},"87":{},"121":{},"126":{},"143":{},"148":{},"274":{}},"component":{}}],["interceptorchain",{"_index":2741,"title":{},"name":{},"text":{"51":{},"52":{},"67":{}},"component":{}}],["interceptorchain#proce",{"_index":2782,"title":{},"name":{},"text":{"51":{}},"component":{}}],["interceptorchain.proce",{"_index":2753,"title":{},"name":{},"text":{"51":{}},"component":{}}],["interconnect",{"_index":417,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["interest",{"_index":1352,"title":{},"name":{},"text":{"24":{},"34":{},"42":{},"49":{},"57":{},"63":{},"66":{},"67":{},"69":{},"77":{},"88":{},"99":{},"121":{},"151":{},"153":{},"264":{},"269":{},"272":{},"281":{}},"component":{}}],["interfac",{"_index":805,"title":{"178":{},"147-7":{},"147-9":{}},"name":{"178":{}},"text":{"5":{},"14":{},"15":{},"24":{},"27":{},"31":{},"34":{},"36":{},"38":{},"40":{},"42":{},"44":{},"47":{},"49":{},"50":{},"51":{},"52":{},"56":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"83":{},"86":{},"87":{},"88":{},"115":{},"121":{},"140":{},"143":{},"145":{},"148":{},"157":{},"174":{},"178":{},"181":{},"201":{},"204":{},"208":{},"211":{},"212":{},"214":{},"227":{},"236":{},"257":{},"276":{},"280":{},"281":{}},"component":{}}],["intermedi",{"_index":2449,"title":{},"name":{},"text":{"44":{},"66":{},"67":{},"163":{}},"component":{}}],["intermediateeventrepresent",{"_index":2445,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediateeventrepresentation#canconvertdatato(class",{"_index":2450,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediaterepresent",{"_index":2481,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediaterepresentation.gettype().equals(target_typ",{"_index":2482,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermediaterepresentation.upcastpayload",{"_index":2483,"title":{},"name":{},"text":{"44":{}},"component":{}}],["intermitt",{"_index":5361,"title":{},"name":{},"text":{"88":{}},"component":{}}],["intern",{"_index":1597,"title":{"143-7":{}},"name":{},"text":{"31":{},"34":{},"52":{},"59":{},"66":{},"67":{},"69":{},"77":{},"82":{},"88":{},"141":{},"143":{},"148":{},"154":{},"157":{},"163":{},"166":{},"169":{},"176":{},"178":{},"179":{},"189":{},"192":{},"199":{},"208":{},"215":{},"280":{},"281":{},"286":{},"290":{}},"component":{}}],["internal/raft/statu",{"_index":6025,"title":{},"name":{},"text":{"140":{}},"component":{}}],["internalhostnam",{"_index":6404,"title":{},"name":{},"text":{"149":{},"192":{}},"component":{}}],["internet",{"_index":7764,"title":{},"name":{},"text":{"277":{}},"component":{}}],["internod",{"_index":5963,"title":{},"name":{"130":{}},"text":{},"component":{}}],["interoper",{"_index":1588,"title":{},"name":{},"text":{"31":{},"107":{}},"component":{}}],["interpret",{"_index":3065,"title":{},"name":{},"text":{"59":{}},"component":{}}],["interrupt",{"_index":1913,"title":{},"name":{},"text":{"34":{},"38":{},"67":{},"143":{},"288":{}},"component":{}}],["interruptedexcept",{"_index":2113,"title":{},"name":{},"text":{"38":{}},"component":{}}],["interv",{"_index":1164,"title":{"151-9":{},"206-41":{},"206-48":{},"206-49":{},"206-53":{},"206-54":{},"206-56":{}},"name":{},"text":{"17":{},"38":{},"40":{},"74":{},"87":{},"88":{},"104":{},"151":{},"179":{},"189":{},"206":{}},"component":{}}],["intervalretryschedul",{"_index":2091,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["intervent",{"_index":5054,"title":{},"name":{},"text":{"87":{},"88":{}},"component":{}}],["intric",{"_index":803,"title":{},"name":{},"text":{"5":{}},"component":{}}],["intro",{"_index":4988,"title":{},"name":{},"text":{"86":{}},"component":{}}],["introduc",{"_index":1070,"title":{"263":{},"270":{},"200-1":{},"227-1":{},"236-1":{}},"name":{},"text":{"15":{},"29":{},"31":{},"33":{},"34":{},"44":{},"51":{},"66":{},"67":{},"84":{},"87":{},"88":{},"101":{},"102":{},"104":{},"105":{},"108":{},"119":{},"120":{},"145":{},"156":{},"163":{},"257":{},"265":{},"270":{},"271":{},"272":{},"274":{},"275":{},"277":{},"280":{},"281":{}},"component":{}}],["introduct",{"_index":1127,"title":{"28":{},"117":{},"137":{},"264":{},"266":{},"282":{},"16-1":{},"151-1":{},"154-1":{}},"name":{},"text":{"66":{},"67":{},"87":{},"105":{},"111":{},"142":{},"192":{}},"component":{}}],["introspect",{"_index":4031,"title":{},"name":{},"text":{"67":{}},"component":{}}],["intrus",{"_index":1768,"title":{},"name":{},"text":{"32":{}},"component":{}}],["intuit",{"_index":6550,"title":{},"name":{},"text":{"163":{},"227":{},"236":{}},"component":{}}],["invalid",{"_index":2737,"title":{},"name":{},"text":{"51":{},"66":{},"67":{},"77":{},"143":{},"168":{},"179":{},"215":{}},"component":{}}],["invari",{"_index":8072,"title":{},"name":{},"text":{"289":{}},"component":{}}],["inventori",{"_index":8038,"title":{},"name":{},"text":{"286":{}},"component":{}}],["inventorycontrol",{"_index":8081,"title":{},"name":{},"text":{"290":{}},"component":{}}],["invert",{"_index":5790,"title":{},"name":{},"text":{"120":{}},"component":{}}],["investig",{"_index":2990,"title":{},"name":{},"text":{"58":{},"66":{}},"component":{}}],["invit",{"_index":7613,"title":{},"name":{},"text":{"255":{}},"component":{}}],["invite/remov",{"_index":7609,"title":{},"name":{},"text":{"255":{}},"component":{}}],["invoc",{"_index":1977,"title":{"59-47":{},"87-5":{}},"name":{},"text":{"35":{},"36":{},"38":{},"43":{},"44":{},"51":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"83":{},"84":{},"87":{},"121":{},"281":{}},"component":{}}],["invoic",{"_index":2285,"title":{},"name":{},"text":{"39":{},"40":{},"68":{},"74":{},"250":{},"254":{}},"component":{}}],["invoicecreatedev",{"_index":4675,"title":{},"name":{},"text":{"74":{}},"component":{}}],["invoiceid",{"_index":4439,"title":{},"name":{},"text":{"68":{}},"component":{}}],["invoicepaymentdeadlineexpiredev",{"_index":2337,"title":{},"name":{},"text":{"40":{}},"component":{}}],["invok",{"_index":696,"title":{"280-12":{},"280-13":{},"283-1":{}},"name":{"283":{}},"text":{"4":{},"17":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"51":{},"52":{},"53":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"81":{},"85":{},"86":{},"87":{},"88":{},"89":{},"105":{},"127":{},"130":{},"145":{},"163":{},"260":{},"276":{},"280":{},"281":{},"283":{}},"component":{}}],["invokerinterceptor",{"_index":2195,"title":{},"name":{},"text":{"38":{}},"component":{}}],["invokerthreadcount",{"_index":2205,"title":{},"name":{},"text":{"38":{}},"component":{}}],["involv",{"_index":2276,"title":{},"name":{},"text":{"39":{},"77":{},"140":{},"151":{},"156":{},"157":{},"162":{},"163":{},"192":{},"220":{},"288":{}},"component":{}}],["io",{"_index":6429,"title":{"151-13":{}},"name":{},"text":{"151":{}},"component":{}}],["io.axoniq",{"_index":6201,"title":{},"name":{},"text":{"144":{}},"component":{}}],["io.axoniq.axonserver.plugin.configur",{"_index":6384,"title":{},"name":{},"text":{"148":{}},"component":{}}],["io.axoniq.axonserver.plugin.configurationlisten",{"_index":6381,"title":{},"name":{},"text":{"148":{}},"component":{}}],["io.axoniq.axonserver.plugin.pluginpropertydefinit",{"_index":6385,"title":{},"name":{},"text":{"148":{}},"component":{}}],["io.axoniq.consol",{"_index":7744,"title":{},"name":{},"text":{"276":{}},"component":{}}],["io.axoniq.console:consol",{"_index":7742,"title":{},"name":{},"text":{"276":{}},"component":{}}],["io.axoniq.demo.bikerent",{"_index":7815,"title":{},"name":{},"text":{"279":{}},"component":{}}],["io.axoniq.demo.bikerental.coreapi",{"_index":7798,"title":{},"name":{},"text":{"279":{}},"component":{}}],["io.axoniq.demo.bikerental.coreapi.rent",{"_index":7841,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["io.axoniq.demo.bikerental.pay",{"_index":7705,"title":{},"name":{},"text":{"274":{}},"component":{}}],["io.axoniq.demo.bikerental.rent",{"_index":7799,"title":{},"name":{},"text":{"279":{}},"component":{}}],["io.axoniq.demo.bikerental.rental.command.biketest",{"_index":8033,"title":{},"name":{},"text":{"285":{}},"component":{}}],["io.axoniq.demo.bikerental.rental.ui",{"_index":7972,"title":{},"name":{},"text":{"281":{}},"component":{}}],["io.axoniq.demo.giftcard.api.cardissuedev",{"_index":7299,"title":{},"name":{},"text":{"202":{}},"component":{}}],["io.axoniq.demo.giftcard.api.cardredeemedev",{"_index":7321,"title":{},"name":{},"text":{"203":{}},"component":{}}],["io.axoniq.demo.giftcard.api.cardsummari",{"_index":7316,"title":{},"name":{},"text":{"203":{},"219":{}},"component":{}}],["io.axoniq.demo.giftcard.api.fetchcardsummariesqueri",{"_index":7289,"title":{},"name":{},"text":{"202":{},"203":{},"219":{}},"component":{}}],["io.axoniq.demo.giftcard.api.issuecardcommand",{"_index":7271,"title":{},"name":{},"text":{"202":{},"203":{},"216":{}},"component":{}}],["io.dropwizard.metr",{"_index":2917,"title":{},"name":{},"text":{"57":{}},"component":{}}],["io.opentracing.contrib",{"_index":5981,"title":{},"name":{},"text":{"133":{}},"component":{}}],["io.spring.depend",{"_index":1548,"title":{},"name":{},"text":{"30":{}},"component":{}}],["io.spring.gradle:depend",{"_index":1546,"title":{},"name":{},"text":{"30":{}},"component":{}}],["iop",{"_index":7240,"title":{},"name":{},"text":{"199":{}},"component":{}}],["ip",{"_index":5432,"title":{},"name":{},"text":{"94":{},"96":{},"143":{}},"component":{}}],["irrelev",{"_index":5240,"title":{},"name":{},"text":{"88":{},"140":{}},"component":{}}],["irrevers",{"_index":2028,"title":{},"name":{},"text":{"36":{}},"component":{}}],["isavail",{"_index":7958,"title":{},"name":{},"text":{"281":{}},"component":{}}],["iscaughtup",{"_index":2973,"title":{},"name":{},"text":{"58":{}},"component":{}}],["iserrorst",{"_index":2976,"title":{},"name":{},"text":{"58":{}},"component":{}}],["isexcept",{"_index":2874,"title":{},"name":{},"text":{"53":{}},"component":{}}],["isliv",{"_index":4917,"title":{},"name":{},"text":{"82":{}},"component":{}}],["ismerg",{"_index":2975,"title":{},"name":{},"text":{"58":{}},"component":{}}],["isn’t",{"_index":1219,"title":{},"name":{},"text":{"19":{},"27":{},"34":{},"46":{},"50":{},"67":{},"86":{},"88":{},"124":{},"215":{},"226":{}},"component":{}}],["iso",{"_index":4808,"title":{},"name":{},"text":{"79":{},"215":{}},"component":{}}],["isol",{"_index":975,"title":{},"name":{},"text":{"6":{},"44":{},"87":{},"142":{}},"component":{}}],["isreplay",{"_index":2974,"title":{},"name":{},"text":{"58":{},"67":{}},"component":{}}],["issu",{"_index":690,"title":{"29":{},"272":{},"29-2":{},"215-4":{},"215-8":{},"215-12":{},"215-16":{},"215-20":{}},"name":{"29":{},"272":{}},"text":{"4":{},"29":{},"30":{},"38":{},"46":{},"63":{},"66":{},"67":{},"69":{},"71":{},"79":{},"80":{},"88":{},"127":{},"138":{},"140":{},"141":{},"143":{},"145":{},"149":{},"173":{},"176":{},"185":{},"189":{},"202":{},"203":{},"215":{},"242":{},"243":{},"246":{},"261":{},"263":{},"266":{},"268":{},"270":{},"272":{},"273":{}},"component":{}}],["issuecardcommand",{"_index":1901,"title":{},"name":{},"text":{"34":{},"35":{},"51":{},"82":{},"85":{},"105":{},"202":{}},"component":{}}],["issuecardcommand(cardid",{"_index":1858,"title":{},"name":{},"text":{"34":{}},"component":{}}],["issuecardcommand(str",{"_index":1951,"title":{},"name":{},"text":{"35":{}},"component":{}}],["issuecardcommand(uuid.randomuuid().tostr",{"_index":1903,"title":{},"name":{},"text":{"34":{}},"component":{}}],["issuecardcommand.class",{"_index":2801,"title":{},"name":{},"text":{"51":{}},"component":{}}],["issuecmd(\"gc1",{"_index":3179,"title":{},"name":{},"text":{"63":{}},"component":{}}],["issueexpiringcardcommand(card_id",{"_index":1201,"title":{},"name":{},"text":{"18":{},"22":{}},"component":{}}],["isunencrypted(eventwithtoken.getev",{"_index":6279,"title":{},"name":{},"text":{"145":{}},"component":{}}],["it'",{"_index":1083,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["item",{"_index":3093,"title":{},"name":{},"text":{"59":{},"63":{},"66":{},"77":{},"142":{},"217":{},"249":{},"255":{},"259":{},"261":{},"280":{}},"component":{}}],["itemoutofstockev",{"_index":4727,"title":{},"name":{},"text":{"77":{}},"component":{}}],["iter",{"_index":2493,"title":{},"name":{},"text":{"44":{},"64":{},"84":{},"86":{},"280":{}},"component":{}}],["itself",{"_index":1924,"title":{},"name":{},"text":{"34":{},"35":{},"36":{},"38":{},"42":{},"44":{},"46":{},"49":{},"53":{},"56":{},"59":{},"67":{},"80":{},"87":{},"88":{},"89":{},"99":{},"104":{},"123":{},"130":{},"137":{},"140":{},"142":{},"144":{},"145":{},"154":{},"167":{},"177":{},"178":{},"185":{},"192":{},"199":{},"204":{},"226":{},"229":{},"234":{},"238":{},"250":{},"261":{},"262":{},"280":{},"290":{}},"component":{}}],["it’",{"_index":818,"title":{},"name":{},"text":{"5":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"39":{},"40":{},"46":{},"59":{},"62":{},"63":{},"66":{},"67":{},"77":{},"82":{},"85":{},"86":{},"88":{},"100":{},"114":{},"123":{},"124":{},"142":{},"145":{},"151":{},"163":{},"176":{},"177":{},"178":{},"189":{},"200":{},"201":{},"206":{},"208":{},"210":{},"217":{},"219":{},"221":{},"246":{},"260":{},"261":{},"280":{},"281":{},"283":{},"285":{},"286":{}},"component":{}}],["it’ll",{"_index":6260,"title":{},"name":{},"text":{"145":{}},"component":{}}],["i’m",{"_index":6313,"title":{},"name":{},"text":{"145":{}},"component":{}}],["j",{"_index":3738,"title":{},"name":{},"text":{"66":{},"170":{},"172":{}},"component":{}}],["jackson",{"_index":1575,"title":{},"name":{},"text":{"31":{},"44":{},"46":{},"66":{}},"component":{}}],["jacksonseri",{"_index":1561,"title":{"31-12":{}},"name":{},"text":{"31":{},"46":{},"66":{},"67":{},"69":{},"71":{},"161":{}},"component":{}}],["jacksonserializer.build",{"_index":1680,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacksonserializer.builder#defaulttyp",{"_index":1691,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacksonserializer.builder().build",{"_index":2610,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jacksonserializer.defaultseri",{"_index":1625,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacksonserializer’",{"_index":1690,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jackson’",{"_index":1577,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jacoco",{"_index":3932,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jaeger",{"_index":3049,"title":{},"name":{},"text":{"59":{},"133":{},"188":{}},"component":{}}],["jakarta",{"_index":1774,"title":{"33-5":{},"33-9":{}},"name":{},"text":{"33":{},"46":{},"66":{}},"component":{}}],["jakarta.persist",{"_index":1719,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["jakarta.persistence.cascadetyp",{"_index":4965,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.ent",{"_index":4966,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.fetchtyp",{"_index":4967,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.id",{"_index":4968,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.joincolumn",{"_index":4969,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta.persistence.onetomani",{"_index":4970,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jakarta/javax",{"_index":4063,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jangalinski",{"_index":3750,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jar",{"_index":142,"title":{},"name":{},"text":{"2":{},"3":{},"4":{},"44":{},"147":{},"148":{},"156":{},"161":{},"168":{},"169":{},"170":{},"172":{},"174":{},"178":{},"179":{},"191":{},"192":{},"201":{},"208":{},"215":{}},"component":{}}],["jasperfect",{"_index":4246,"title":{},"name":{},"text":{"67":{}},"component":{}}],["java",{"_index":66,"title":{"89-5":{},"89-11":{}},"name":{},"text":{"2":{},"3":{},"5":{},"23":{},"30":{},"31":{},"38":{},"40":{},"44":{},"46":{},"47":{},"57":{},"59":{},"63":{},"66":{},"67":{},"82":{},"84":{},"88":{},"89":{},"107":{},"120":{},"124":{},"140":{},"144":{},"145":{},"147":{},"148":{},"156":{},"168":{},"169":{},"174":{},"176":{},"178":{},"179":{},"187":{},"191":{},"200":{},"201":{},"208":{},"237":{},"261":{},"263":{},"267":{},"276":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["java.concurr",{"_index":1887,"title":{},"name":{},"text":{"34":{}},"component":{}}],["java.lang",{"_index":4213,"title":{},"name":{},"text":{"67":{}},"component":{}}],["java.lang.long",{"_index":2832,"title":{},"name":{},"text":{"52":{}},"component":{}}],["java.lang.object",{"_index":7491,"title":{},"name":{},"text":{"215":{}},"component":{}}],["java.lang.str",{"_index":2836,"title":{},"name":{},"text":{"52":{},"63":{}},"component":{}}],["java.time.inst",{"_index":2830,"title":{},"name":{},"text":{"52":{}},"component":{}}],["java.time.temporal.tempor",{"_index":2831,"title":{},"name":{},"text":{"52":{}},"component":{}}],["java.util.arraylist",{"_index":7287,"title":{},"name":{},"text":{"202":{}},"component":{}}],["java.util.arrays.aslist",{"_index":6387,"title":{},"name":{},"text":{"148":{}},"component":{}}],["java.util.collections.singletonmap",{"_index":2642,"title":{},"name":{},"text":{"47":{}},"component":{}}],["java.util.concurrent.completablefutur",{"_index":5654,"title":{},"name":{},"text":{"108":{}},"component":{}}],["java.util.concurrent.executor",{"_index":2354,"title":{},"name":{},"text":{"40":{}},"component":{}}],["java.util.map",{"_index":6386,"title":{},"name":{},"text":{"148":{}},"component":{}}],["java.util.uuid",{"_index":1287,"title":{},"name":{},"text":{"23":{}},"component":{}}],["javadoc",{"_index":1667,"title":{},"name":{},"text":{"31":{},"38":{},"63":{},"66":{},"67":{}},"component":{}}],["javax",{"_index":1773,"title":{"33-1":{},"33-5":{}},"name":{},"text":{"33":{},"46":{},"66":{},"67":{}},"component":{}}],["javax.annot",{"_index":1829,"title":{},"name":{},"text":{"33":{}},"component":{}}],["javax.cach",{"_index":1830,"title":{},"name":{},"text":{"33":{}},"component":{}}],["javax.persist",{"_index":1721,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["java’",{"_index":1221,"title":{},"name":{},"text":{"20":{},"23":{},"27":{},"31":{}},"component":{}}],["jcach",{"_index":4783,"title":{},"name":{},"text":{"77":{}},"component":{}}],["jcacheadapt",{"_index":3395,"title":{},"name":{},"text":{"66":{},"77":{}},"component":{}}],["jcenter",{"_index":1545,"title":{},"name":{},"text":{"30":{}},"component":{}}],["jchannel",{"_index":5431,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jchannel(\"path/to/channel/config.xml",{"_index":5440,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jdbc",{"_index":1065,"title":{},"name":{},"text":{"15":{},"46":{},"66":{},"67":{},"69":{},"71":{},"86":{},"88":{},"100":{},"111":{},"125":{},"161":{}},"component":{}}],["jdbcautoconfigur",{"_index":2579,"title":{},"name":{},"text":{"46":{},"67":{}},"component":{}}],["jdbceve",{"_index":3382,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jdbceventstorageengin",{"_index":2511,"title":{"46-6":{}},"name":{},"text":{"46":{},"66":{},"67":{}},"component":{}}],["jdbceventstorageengine.build",{"_index":2587,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jdbceventstorageenginestat",{"_index":2585,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jdbcsagarepositori",{"_index":4486,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["jdbcsagastor",{"_index":4447,"title":{"69-8":{},"71-6":{}},"name":{},"text":{"69":{},"71":{}},"component":{}}],["jdbcsagastore#createschema",{"_index":4522,"title":{},"name":{},"text":{"71":{}},"component":{}}],["jdbcsagastore.build",{"_index":4516,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["jdbcsequenceddeadletterqueu",{"_index":4985,"title":{},"name":{},"text":{"86":{}},"component":{}}],["jdbctokenstor",{"_index":3723,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["jdbctokenstore#createschema(tokentablefactori",{"_index":5210,"title":{},"name":{},"text":{"88":{}},"component":{}}],["jdbctokenstore.build",{"_index":5219,"title":{},"name":{},"text":{"88":{}},"component":{}}],["jdbctyperegistri",{"_index":4856,"title":{},"name":{},"text":{"79":{}},"component":{}}],["jdbctyperegistry.adddescriptor(types.blob",{"_index":4859,"title":{},"name":{},"text":{"79":{}},"component":{}}],["jdk",{"_index":1601,"title":{},"name":{},"text":{"31":{},"140":{}},"component":{}}],["jdk16",{"_index":3485,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jdk17",{"_index":3455,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["jdk21",{"_index":3329,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jgroup",{"_index":17,"title":{"94":{},"95":{},"30-19":{},"30-20":{}},"name":{},"text":{"1":{},"30":{},"38":{},"94":{},"95":{},"96":{}},"component":{"94":{},"95":{},"96":{}}}],["jgroupsconnector",{"_index":5429,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jgroupsconnector.build",{"_index":5442,"title":{},"name":{},"text":{"94":{}},"component":{}}],["jgroupsconnectorfactorybean",{"_index":5453,"title":{},"name":{},"text":{"96":{}},"component":{}}],["jk",{"_index":7412,"title":{},"name":{},"text":{"206":{}},"component":{}}],["job",{"_index":1934,"title":{},"name":{},"text":{"35":{},"40":{},"66":{},"67":{},"79":{},"97":{},"99":{}},"component":{}}],["jobrunr",{"_index":19,"title":{"97":{},"98":{},"30-21":{},"30-22":{},"40-3":{}},"name":{},"text":{"1":{},"30":{},"39":{},"40":{},"66":{},"95":{},"97":{},"98":{}},"component":{"97":{},"98":{}}}],["jobrunrdeadlinemanag",{"_index":1213,"title":{},"name":{},"text":{"19":{},"39":{},"66":{}},"component":{}}],["jobrunrdeadlinemanager.build",{"_index":2323,"title":{},"name":{},"text":{"39":{}},"component":{}}],["jobrunreventschedul",{"_index":2356,"title":{},"name":{},"text":{"40":{}},"component":{}}],["jobrunreventscheduler.build",{"_index":2372,"title":{},"name":{},"text":{"40":{}},"component":{}}],["jobrunrpro",{"_index":1517,"title":{},"name":{},"text":{"30":{}},"component":{}}],["jobrunrprodeadlinemanag",{"_index":5474,"title":{},"name":{},"text":{"97":{}},"component":{}}],["jobrunrprodeadlinemanager.probuild",{"_index":5475,"title":{},"name":{},"text":{"97":{}},"component":{}}],["jobschedul",{"_index":2321,"title":{},"name":{},"text":{"39":{},"40":{}},"component":{}}],["jobscheduler(jobschedul",{"_index":2324,"title":{},"name":{},"text":{"39":{},"40":{},"97":{}},"component":{}}],["join",{"_index":5438,"title":{},"name":{},"text":{"94":{},"108":{},"143":{},"154":{},"179":{},"192":{},"235":{}},"component":{}}],["joincolumn(nam",{"_index":4974,"title":{},"name":{},"text":{"85":{}},"component":{}}],["jose",{"_index":6741,"title":{},"name":{},"text":{"172":{}},"component":{}}],["journey",{"_index":3005,"title":{},"name":{},"text":{"59":{}},"component":{}}],["jpa",{"_index":1064,"title":{"29-2":{},"32-2":{}},"name":{},"text":{"15":{},"29":{},"32":{},"36":{},"46":{},"66":{},"67":{},"69":{},"71":{},"79":{},"85":{},"86":{},"88":{},"100":{},"111":{},"115":{},"117":{},"125":{},"280":{}},"component":{}}],["jpa.databas",{"_index":4861,"title":{},"name":{},"text":{"79":{}},"component":{}}],["jpa/jdbc",{"_index":3669,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jpaautoconfigur",{"_index":3947,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jpadlq",{"_index":4079,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jpaeventstorageconfigur",{"_index":2557,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jpaeventstorageengin",{"_index":2510,"title":{"46-5":{}},"name":{},"text":{"46":{},"66":{},"67":{},"79":{}},"component":{}}],["jpaeventstorageengine#asdomaineventmessage(eventmessag",{"_index":3622,"title":{},"name":{},"text":{"66":{}},"component":{}}],["jpaeventstoreautoconfigur",{"_index":3971,"title":{},"name":{},"text":{"67":{}},"component":{}}],["jpaqueri",{"_index":3157,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jpaquery.setfirstresult(query.getoffset",{"_index":3162,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jpaquery.setmaxresults(query.getlimit",{"_index":3163,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jpaquery.setparameter(\"idstartswith",{"_index":3160,"title":{},"name":{},"text":{"63":{}},"component":{}}],["jparepositori",{"_index":7827,"title":{"280-3":{}},"name":{},"text":{"280":{}},"component":{}}],["jpasagastor",{"_index":4143,"title":{"69-7":{},"71-5":{}},"name":{},"text":{"67":{},"69":{},"71":{}},"component":{}}],["jpasagastore.build",{"_index":4511,"title":{},"name":{},"text":{"69":{}},"component":{}}],["jpasequenceddeadletterqueu",{"_index":1115,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["jpasequenceddeadletterqueue.build",{"_index":1098,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["jpatokenstor",{"_index":2541,"title":{},"name":{},"text":{"46":{},"88":{}},"component":{}}],["jpatokenstore.build",{"_index":5217,"title":{},"name":{},"text":{"88":{}},"component":{}}],["jpa’",{"_index":2550,"title":{},"name":{},"text":{"46":{}},"component":{}}],["jq",{"_index":6559,"title":{},"name":{},"text":{"166":{},"169":{},"173":{}},"component":{}}],["json",{"_index":1373,"title":{"184-1":{}},"name":{},"text":{"27":{},"31":{},"46":{},"89":{},"142":{},"147":{},"149":{},"178":{},"184":{},"195":{},"203":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"283":{}},"component":{}}],["json'",{"_index":1622,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jsoncommandhandl",{"_index":1380,"title":{},"name":{},"text":{"27":{}},"component":{}}],["jsonnod",{"_index":1386,"title":{},"name":{},"text":{"27":{},"31":{},"66":{}},"component":{}}],["jsonnode.class",{"_index":1379,"title":{},"name":{},"text":{"27":{}},"component":{}}],["jsonnode::class",{"_index":5639,"title":{},"name":{},"text":{"106":{}},"component":{}}],["jsonpath",{"_index":5402,"title":{},"name":{},"text":{"89":{},"195":{}},"component":{}}],["jsonpath(data",{"_index":7185,"title":{},"name":{},"text":{"195":{}},"component":{}}],["jsontypeinfo",{"_index":1683,"title":{},"name":{},"text":{"31":{}},"component":{}}],["jsr",{"_index":2732,"title":{},"name":{},"text":{"51":{}},"component":{}}],["jubrunreventschedul",{"_index":2340,"title":{},"name":{},"text":{"40":{}},"component":{}}],["jump",{"_index":4822,"title":{},"name":{},"text":{"79":{},"266":{},"270":{},"280":{},"281":{}},"component":{}}],["jump_skip_index",{"_index":6331,"title":{},"name":{},"text":{"147":{},"166":{},"169":{},"179":{}},"component":{}}],["junit",{"_index":3566,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["junkdog",{"_index":4294,"title":{},"name":{},"text":{"67":{}},"component":{}}],["justif",{"_index":6237,"title":{"145-1":{}},"name":{},"text":{},"component":{}}],["jvm",{"_index":2134,"title":{},"name":{},"text":{"38":{},"40":{},"46":{},"67":{},"69":{},"71":{},"75":{},"77":{},"82":{},"87":{},"88":{},"94":{},"107":{},"130":{},"179":{},"185":{},"206":{},"208":{},"261":{}},"component":{}}],["jvm’",{"_index":2219,"title":{},"name":{},"text":{"38":{},"66":{},"88":{}},"component":{}}],["jwt",{"_index":6742,"title":{},"name":{},"text":{"172":{}},"component":{}}],["k",{"_index":5539,"title":{},"name":{},"text":{"101":{}},"component":{}}],["k8",{"_index":202,"title":{},"name":{"3":{}},"text":{"3":{},"159":{},"191":{}},"component":{}}],["kad",{"_index":4343,"title":{},"name":{},"text":{"67":{}},"component":{}}],["kafka",{"_index":21,"title":{"99":{},"100":{},"102":{},"103":{},"30-23":{},"30-24":{},"102-1":{}},"name":{},"text":{"1":{},"2":{},"30":{},"46":{},"88":{},"89":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"286":{}},"component":{"99":{},"100":{},"101":{},"102":{},"103":{},"104":{}}}],["kafkaeventconsumptionconfigur",{"_index":5482,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkaeventpublicationconfigur",{"_index":5563,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublish",{"_index":5557,"title":{"104-6":{}},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher#default_processing_group",{"_index":5582,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher(kafkapublish",{"_index":5583,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher.build",{"_index":5584,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkaeventpublisher.default_processing_group",{"_index":5587,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkamessageconversationconfigur",{"_index":5545,"title":{},"name":{},"text":{"101":{}},"component":{}}],["kafkamessageconvert",{"_index":5507,"title":{},"name":{},"text":{"99":{},"101":{},"102":{}},"component":{}}],["kafkamessageconverter(seri",{"_index":5546,"title":{},"name":{},"text":{"101":{}},"component":{}}],["kafkamessagesourceconfigur",{"_index":5503,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkamessagesourceconfigurer(configur",{"_index":5504,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkamessagesourceconfigurer.registersubscribablesource(configur",{"_index":5518,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkaproperti",{"_index":5609,"title":{},"name":{},"text":{"104":{}},"component":{}}],["kafkapublish",{"_index":5555,"title":{"104-5":{}},"name":{},"text":{"102":{},"104":{}},"component":{}}],["kafkapublisher(kafkapublish",{"_index":5585,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkapublisher(str",{"_index":5574,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkapublisher.build",{"_index":5576,"title":{},"name":{},"text":{"102":{}},"component":{}}],["kafkatokenstor",{"_index":5533,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafkatrackingtoken",{"_index":5531,"title":{},"name":{},"text":{"99":{}},"component":{}}],["kafka’",{"_index":5494,"title":{},"name":{},"text":{"99":{},"100":{}},"component":{}}],["kebab",{"_index":6818,"title":{},"name":{},"text":{"179":{}},"component":{}}],["keep",{"_index":334,"title":{},"name":{},"text":{"3":{},"15":{},"16":{},"29":{},"44":{},"46":{},"57":{},"67":{},"77":{},"81":{},"87":{},"88":{},"94":{},"114":{},"121":{},"140":{},"142":{},"147":{},"148":{},"151":{},"157":{},"178":{},"179":{},"191":{},"192":{},"211":{},"226":{},"261":{},"263":{},"270":{},"275":{},"276":{},"279":{},"280":{},"281":{}},"component":{}}],["kept",{"_index":2014,"title":{},"name":{},"text":{"36":{},"58":{},"67":{},"88":{},"147":{},"151":{},"280":{}},"component":{}}],["key",{"_index":947,"title":{"140-10":{},"206-24":{}},"name":{},"text":{"6":{},"24":{},"27":{},"31":{},"35":{},"38":{},"46":{},"47":{},"50":{},"52":{},"58":{},"59":{},"64":{},"68":{},"69":{},"80":{},"84":{},"88":{},"101":{},"103":{},"104":{},"115":{},"121":{},"140":{},"150":{},"176":{},"179":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"284":{}},"component":{}}],["key/valu",{"_index":6829,"title":{},"name":{},"text":{"179":{},"211":{},"212":{},"214":{}},"component":{}}],["keyboard",{"_index":7947,"title":{},"name":{},"text":{"281":{}},"component":{}}],["keycloak",{"_index":6725,"title":{"172-4":{}},"name":{},"text":{"172":{}},"component":{}}],["keynam",{"_index":4466,"title":{},"name":{},"text":{"69":{}},"component":{}}],["keyname=\"orderid",{"_index":4468,"title":{},"name":{},"text":{"69":{}},"component":{}}],["keystor",{"_index":6790,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["keyword",{"_index":4473,"title":{},"name":{},"text":{"69":{}},"component":{}}],["kick",{"_index":3893,"title":{},"name":{},"text":{"67":{},"163":{}},"component":{}}],["kind",{"_index":588,"title":{},"name":{},"text":{"3":{},"102":{},"191":{},"264":{},"276":{}},"component":{}}],["klefter",{"_index":1000,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["know",{"_index":938,"title":{},"name":{},"text":{"6":{},"17":{},"29":{},"32":{},"35":{},"38":{},"44":{},"46":{},"49":{},"53":{},"63":{},"67":{},"68":{},"77":{},"82":{},"85":{},"86":{},"88":{},"115":{},"124":{},"153":{},"169":{},"189":{},"221":{},"272":{},"274":{},"276":{},"280":{},"281":{},"285":{}},"component":{}}],["knowledg",{"_index":4884,"title":{},"name":{},"text":{"80":{},"99":{},"269":{}},"component":{}}],["known",{"_index":1185,"title":{"29":{},"215-4":{},"215-8":{},"215-12":{},"215-16":{},"215-20":{}},"name":{"29":{}},"text":{"18":{},"29":{},"31":{},"42":{},"48":{},"51":{},"67":{},"82":{},"123":{},"127":{},"142":{},"167":{},"168":{},"172":{},"174":{},"180":{},"192":{},"206":{},"245":{},"280":{},"281":{}},"component":{}}],["kotlin",{"_index":22,"title":{"107":{},"109":{},"30-25":{},"30-26":{}},"name":{},"text":{"1":{},"30":{},"66":{},"107":{},"109":{},"281":{}},"component":{"105":{},"106":{},"107":{},"108":{},"109":{}}}],["kotlin.seri",{"_index":5666,"title":{},"name":{},"text":{"109":{}},"component":{}}],["kotlin’",{"_index":5641,"title":{},"name":{},"text":{"106":{},"108":{}},"component":{}}],["krosenvold",{"_index":3733,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["kubectl",{"_index":567,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["kubernet",{"_index":196,"title":{"3":{},"3-11":{},"191-4":{}},"name":{},"text":{"3":{},"191":{}},"component":{}}],["kubernetes.io/ingress.class",{"_index":649,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["kudo",{"_index":4238,"title":{},"name":{},"text":{"67":{}},"component":{}}],["l.diagnostics().and(\"retri",{"_index":1051,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["label",{"_index":590,"title":{},"name":{},"text":{"3":{},"59":{},"97":{},"150":{},"191":{},"274":{}},"component":{}}],["lachja",{"_index":3356,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lacinoir",{"_index":3749,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lack",{"_index":2730,"title":{},"name":{},"text":{"51":{},"88":{}},"component":{}}],["lambda",{"_index":3702,"title":{},"name":{},"text":{"66":{},"87":{},"108":{},"115":{},"145":{}},"component":{}}],["landscap",{"_index":2225,"title":{},"name":{},"text":{"38":{},"48":{},"76":{}},"component":{}}],["lang3",{"_index":6729,"title":{},"name":{},"text":{"172":{}},"component":{}}],["languag",{"_index":77,"title":{},"name":{},"text":{"2":{},"11":{},"12":{},"46":{},"107":{},"194":{},"200":{},"202":{},"210":{}},"component":{"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["larg",{"_index":47,"title":{"2-4":{},"29-1":{}},"name":{},"text":{"2":{},"16":{},"17":{},"29":{},"46":{},"59":{},"63":{},"66":{},"67":{},"77":{},"79":{},"84":{},"88":{},"140":{},"141":{},"143":{},"145":{},"151":{},"156":{},"274":{}},"component":{}}],["larger",{"_index":2416,"title":{},"name":{},"text":{"43":{},"46":{},"77":{},"79":{},"142":{},"145":{},"148":{},"156":{}},"component":{}}],["largest",{"_index":5321,"title":{},"name":{},"text":{"88":{},"180":{},"274":{}},"component":{}}],["last",{"_index":337,"title":{},"name":{},"text":{"3":{},"17":{},"36":{},"38":{},"42":{},"67":{},"72":{},"77":{},"79":{},"86":{},"87":{},"88":{},"138":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"186":{},"191":{},"194":{},"195":{},"198":{},"212":{},"215":{},"232":{},"239":{},"247":{},"261":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{}},"component":{}}],["lastli",{"_index":1389,"title":{},"name":{},"text":{"27":{},"34":{},"38":{},"66":{},"67":{},"82":{},"88":{},"101":{},"102":{},"157":{}},"component":{}}],["lastsegmentbackedup",{"_index":6113,"title":{},"name":{},"text":{"142":{}},"component":{}}],["lasttoken",{"_index":6287,"title":{},"name":{},"text":{"145":{}},"component":{}}],["lasttouch",{"_index":5039,"title":{},"name":{},"text":{"86":{}},"component":{}}],["late",{"_index":2360,"title":{},"name":{},"text":{"40":{}},"component":{}}],["latenc",{"_index":844,"title":{},"name":{},"text":{"5":{},"38":{},"57":{},"58":{},"88":{},"156":{},"163":{},"246":{},"260":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["later",{"_index":2452,"title":{},"name":{},"text":{"44":{},"46":{},"59":{},"76":{},"86":{},"88":{},"97":{},"99":{},"148":{},"211":{},"238":{},"244":{},"274":{},"278":{},"279":{},"280":{},"281":{}},"component":{}}],["latest",{"_index":182,"title":{},"name":{},"text":{"2":{},"30":{},"67":{},"77":{},"85":{},"88":{},"140":{},"141":{},"145":{},"147":{},"151":{},"260":{},"274":{},"280":{},"284":{}},"component":{}}],["latter",{"_index":2102,"title":{},"name":{},"text":{"38":{},"46":{},"49":{},"66":{},"69":{},"71":{},"76":{},"84":{},"129":{},"165":{},"286":{},"289":{}},"component":{}}],["launch",{"_index":151,"title":{},"name":{},"text":{"2":{},"232":{},"274":{},"276":{},"277":{}},"component":{}}],["layer",{"_index":1216,"title":{},"name":{},"text":{"19":{},"38":{},"46":{},"64":{},"87":{},"176":{},"192":{},"208":{},"280":{},"281":{}},"component":{}}],["layout",{"_index":769,"title":{},"name":{},"text":{"5":{},"187":{}},"component":{}}],["lazi",{"_index":3207,"title":{},"name":{},"text":{"63":{},"67":{},"151":{}},"component":{}}],["lazili",{"_index":3712,"title":{},"name":{},"text":{"66":{}},"component":{}}],["ldap",{"_index":132,"title":{"170":{},"170-1":{},"170-2":{},"170-4":{},"170-5":{}},"name":{"170":{}},"text":{"2":{},"3":{},"4":{},"141":{},"170":{},"174":{},"175":{},"191":{}},"component":{}}],["ldaps://ldap",{"_index":6615,"title":{},"name":{},"text":{"170":{}},"component":{}}],["lead",{"_index":1583,"title":{},"name":{},"text":{"31":{},"66":{},"69":{},"76":{},"79":{},"84":{},"87":{},"101":{},"124":{},"127":{},"141":{},"211":{},"240":{},"260":{}},"component":{}}],["leader",{"_index":6080,"title":{},"name":{},"text":{"141":{},"143":{},"147":{},"151":{},"156":{},"157":{},"166":{},"169":{},"177":{},"179":{},"185":{},"192":{}},"component":{}}],["leak",{"_index":3202,"title":{},"name":{},"text":{"63":{},"67":{},"261":{}},"component":{}}],["learn",{"_index":993,"title":{},"name":{},"text":{"8":{},"13":{},"202":{},"237":{},"241":{},"274":{},"277":{},"279":{},"280":{},"282":{},"283":{},"284":{},"285":{}},"component":{}}],["leav",{"_index":5439,"title":{},"name":{},"text":{"94":{},"102":{},"140":{},"147":{},"151":{},"156":{},"168":{},"174":{},"178":{},"179":{},"202":{},"281":{},"283":{}},"component":{}}],["led",{"_index":5007,"title":{},"name":{},"text":{"86":{}},"component":{}}],["left",{"_index":1233,"title":{},"name":{},"text":{"20":{},"46":{},"69":{},"72":{},"87":{},"88":{},"195":{},"201":{},"232":{},"244":{},"245":{},"246":{},"260":{},"280":{},"283":{}},"component":{}}],["legaci",{"_index":1468,"title":{"30-13":{}},"name":{},"text":{"30":{},"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"262":{}},"component":{}}],["legacyjpa",{"_index":1722,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["legal",{"_index":864,"title":{},"name":{},"text":{"5":{}},"component":{}}],["length",{"_index":4804,"title":{},"name":{},"text":{"79":{},"141":{},"195":{},"280":{},"283":{}},"component":{}}],["lenient",{"_index":1559,"title":{"31-10":{}},"name":{},"text":{"31":{},"66":{},"88":{}},"component":{}}],["lenientdeseri",{"_index":1679,"title":{},"name":{},"text":{"31":{}},"component":{}}],["less",{"_index":2187,"title":{},"name":{},"text":{"38":{},"66":{},"67":{},"140":{},"151":{},"156":{},"179":{},"197":{},"211":{},"244":{}},"component":{}}],["let",{"_index":667,"title":{},"name":{},"text":{"3":{},"40":{},"191":{}},"component":{}}],["letter",{"_index":849,"title":{"15":{},"16":{},"17":{},"86":{},"110":{},"257":{},"15-1":{},"15-2":{},"87-7":{},"111-4":{},"115-8":{}},"name":{"86":{}},"text":{"5":{},"7":{},"14":{},"15":{},"16":{},"17":{},"52":{},"66":{},"67":{},"79":{},"86":{},"87":{},"110":{},"111":{},"115":{},"147":{},"178":{},"249":{},"250":{},"255":{},"257":{},"259":{},"276":{}},"component":{"14":{},"15":{},"16":{},"17":{}}}],["letter.diagnostics().getordefault(\"retri",{"_index":1050,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["letter.enqueuedat().isafter(instant.now().plus(duration.ofminutes(5l",{"_index":1042,"title":{},"name":{},"text":{"14":{}},"component":{}}],["letter.message().getpayload",{"_index":1040,"title":{},"name":{},"text":{"14":{},"86":{}},"component":{}}],["letterprocessor",{"_index":5023,"title":{},"name":{},"text":{"86":{}},"component":{}}],["letterprocessor.process",{"_index":5016,"title":{},"name":{},"text":{"86":{}},"component":{}}],["letterprocessor.process(deadlett",{"_index":5035,"title":{},"name":{},"text":{"86":{}},"component":{}}],["let’",{"_index":43,"title":{"2-4":{}},"name":{},"text":{"18":{},"51":{},"63":{},"81":{},"84":{},"145":{},"151":{},"264":{},"268":{},"273":{},"274":{},"276":{},"280":{},"281":{},"285":{},"286":{}},"component":{}}],["level",{"_index":2400,"title":{"210":{}},"name":{},"text":{"43":{},"46":{},"51":{},"64":{},"66":{},"67":{},"69":{},"86":{},"87":{},"88":{},"102":{},"104":{},"140":{},"141":{},"148":{},"151":{},"167":{},"168":{},"172":{},"174":{},"179":{},"185":{},"189":{},"244":{},"262":{},"274":{},"281":{}},"component":{}}],["leverag",{"_index":1067,"title":{},"name":{},"text":{"15":{},"30":{},"34":{},"35":{},"56":{},"66":{},"84":{},"97":{},"151":{},"227":{},"236":{}},"component":{}}],["lfgcampo",{"_index":3744,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lhe",{"_index":5773,"title":{},"name":{},"text":{"115":{}},"component":{}}],["li",{"_index":4870,"title":{},"name":{},"text":{"80":{}},"component":{}}],["lib",{"_index":6522,"title":{},"name":{},"text":{"161":{}},"component":{}}],["librari",{"_index":1406,"title":{"269-3":{},"276-2":{}},"name":{},"text":{"29":{},"57":{},"59":{},"72":{},"140":{},"245":{},"265":{},"268":{},"269":{},"270":{},"271":{},"272":{},"274":{},"276":{},"277":{},"278":{}},"component":{}}],["licence/token",{"_index":559,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["licens",{"_index":5,"title":{},"name":{},"text":{"1":{},"3":{},"28":{},"67":{},"137":{},"138":{},"140":{},"141":{},"143":{},"178":{},"179":{},"185":{},"191":{},"192":{},"226":{}},"component":{}}],["life",{"_index":2002,"title":{"69-1":{}},"name":{},"text":{"35":{},"64":{},"69":{},"71":{},"82":{}},"component":{}}],["lifecycl",{"_index":2306,"title":{"82-2":{}},"name":{},"text":{"39":{},"42":{},"44":{},"53":{},"66":{},"67":{},"72":{},"76":{},"99":{},"281":{}},"component":{}}],["lifecycleawar",{"_index":3632,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lifetim",{"_index":4789,"title":{},"name":{},"text":{"77":{}},"component":{}}],["light",{"_index":4258,"title":{},"name":{},"text":{"67":{},"88":{},"99":{}},"component":{}}],["lightest",{"_index":6420,"title":{},"name":{},"text":{"150":{}},"component":{}}],["lightstep",{"_index":5984,"title":{},"name":{},"text":{"133":{}},"component":{}}],["likewis",{"_index":7623,"title":{},"name":{},"text":{"260":{}},"component":{}}],["limit",{"_index":230,"title":{"151-13":{}},"name":{},"text":{"3":{},"5":{},"26":{},"30":{},"38":{},"59":{},"63":{},"79":{},"84":{},"88":{},"101":{},"121":{},"123":{},"140":{},"141":{},"143":{},"145":{},"148":{},"151":{},"156":{},"173":{},"179":{},"191":{},"203":{},"219":{},"244":{},"250":{}},"component":{}}],["limitedrechargeablegiftcard",{"_index":4897,"title":{},"name":{},"text":{"81":{}},"component":{}}],["line",{"_index":2527,"title":{"178":{},"147-7":{},"179-2":{},"280-14":{},"283-2":{}},"name":{"178":{}},"text":{"46":{},"54":{},"66":{},"72":{},"79":{},"90":{},"100":{},"140":{},"142":{},"147":{},"148":{},"151":{},"157":{},"174":{},"178":{},"179":{},"181":{},"192":{},"274":{},"280":{},"283":{},"284":{},"285":{}},"component":{}}],["link",{"_index":581,"title":{"170-4":{}},"name":{},"text":{"3":{},"15":{},"59":{},"66":{},"191":{},"235":{},"241":{},"244":{},"245":{},"247":{},"274":{},"277":{},"279":{},"280":{},"281":{}},"component":{}}],["linux",{"_index":7241,"title":{},"name":{},"text":{"199":{}},"component":{}}],["liquibas",{"_index":5723,"title":{},"name":{},"text":{"115":{}},"component":{}}],["list",{"_index":83,"title":{"206-3":{},"206-7":{},"212-4":{},"217-3":{}},"name":{},"text":{"2":{},"3":{},"29":{},"31":{},"33":{},"38":{},"43":{},"50":{},"51":{},"52":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"72":{},"77":{},"79":{},"84":{},"85":{},"87":{},"89":{},"93":{},"95":{},"98":{},"103":{},"108":{},"109":{},"112":{},"115":{},"119":{},"122":{},"126":{},"127":{},"131":{},"132":{},"134":{},"140":{},"141":{},"142":{},"143":{},"144":{},"147":{},"155":{},"156":{},"161":{},"163":{},"165":{},"166":{},"168":{},"169":{},"172":{},"174":{},"178":{},"179":{},"180":{},"182":{},"185":{},"186":{},"187":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"217":{},"220":{},"226":{},"228":{},"229":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"262":{},"270":{},"272":{},"273":{},"274":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["list/collect",{"_index":1685,"title":{},"name":{},"text":{"31":{}},"component":{}}],["list=axonserver1,axonserver2,axonserver3",{"_index":7444,"title":{},"name":{},"text":{"208":{}},"component":{}}],["list=axonserver:7124",{"_index":7445,"title":{},"name":{},"text":{"208":{}},"component":{}}],["list_app",{"_index":6653,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_backup_filenam",{"_index":6654,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_backup_logfil",{"_index":6655,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_command",{"_index":6656,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_context",{"_index":6657,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_ev",{"_index":6701,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_nod",{"_index":6658,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_plugin",{"_index":6659,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_queri",{"_index":6660,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_replication_group",{"_index":6661,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_snapshot",{"_index":6702,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_task",{"_index":6662,"title":{},"name":{},"text":{"171":{}},"component":{}}],["list_us",{"_index":6663,"title":{},"name":{},"text":{"171":{}},"component":{}}],["listdata",{"_index":7189,"title":{},"name":{},"text":{"195":{}},"component":{}}],["listen",{"_index":898,"title":{"87-5":{}},"name":{},"text":{"6":{},"40":{},"43":{},"49":{},"53":{},"59":{},"69":{},"85":{},"87":{},"127":{},"128":{},"148":{},"202":{},"290":{}},"component":{}}],["listenerinvocationerrorhandl",{"_index":3795,"title":{},"name":{},"text":{"66":{},"87":{}},"component":{}}],["listing=tru",{"_index":5955,"title":{},"name":{},"text":{"128":{}},"component":{}}],["liter",{"_index":4601,"title":{},"name":{},"text":{"72":{},"88":{}},"component":{}}],["littl",{"_index":2359,"title":{},"name":{},"text":{"40":{},"48":{},"77":{},"85":{},"138":{},"145":{},"153":{},"237":{},"264":{},"265":{},"270":{},"276":{},"280":{}},"component":{}}],["live",{"_index":584,"title":{},"name":{},"text":{"3":{},"46":{},"77":{},"82":{},"145":{},"191":{},"261":{},"274":{}},"component":{}}],["liveness/readi",{"_index":7022,"title":{},"name":{},"text":{"185":{}},"component":{}}],["livenessprob",{"_index":627,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["lo_get(token",{"_index":4868,"title":{},"name":{},"text":{"79":{}},"component":{}}],["load",{"_index":957,"title":{"38-13":{},"38-16":{}},"name":{},"text":{"6":{},"23":{},"35":{},"36":{},"38":{},"46":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"78":{},"79":{},"81":{},"82":{},"83":{},"85":{},"88":{},"96":{},"111":{},"128":{},"141":{},"148":{},"150":{},"154":{},"176":{},"180":{},"189":{},"192":{},"202":{},"211":{},"220":{},"246":{},"250":{},"260":{},"261":{},"262":{},"266":{},"273":{},"274":{},"281":{}},"component":{}}],["load(identifi",{"_index":2018,"title":{},"name":{},"text":{"36":{}},"component":{}}],["loadbalanceprocessor(loadbalancerequest",{"_index":6972,"title":{},"name":{},"text":{"180":{}},"component":{}}],["loadbalancingstrategi",{"_index":6971,"title":{},"name":{},"text":{"180":{}},"component":{}}],["loader",{"_index":6372,"title":{},"name":{},"text":{"148":{}},"component":{}}],["loadfactor",{"_index":7459,"title":{},"name":{},"text":{"211":{}},"component":{}}],["loadfactorprovid",{"_index":2261,"title":{},"name":{},"text":{"38":{}},"component":{}}],["load—without",{"_index":963,"title":{},"name":{},"text":{"6":{}},"component":{}}],["lob",{"_index":1418,"title":{"79-3":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["lob/blob/clob",{"_index":1426,"title":{},"name":{},"text":{"29":{}},"component":{}}],["local",{"_index":402,"title":{"284":{},"38-7":{},"38-12":{},"38-16":{},"226-2":{},"232-1":{},"277-3":{}},"name":{},"text":{"3":{},"38":{},"46":{},"54":{},"59":{},"66":{},"67":{},"79":{},"94":{},"96":{},"115":{},"127":{},"130":{},"144":{},"151":{},"159":{},"185":{},"191":{},"199":{},"206":{},"226":{},"232":{},"276":{},"277":{},"280":{},"284":{}},"component":{}}],["local.application.client.command",{"_index":7454,"title":{},"name":{},"text":{"211":{}},"component":{}}],["local.application.client.ev",{"_index":7467,"title":{},"name":{},"text":{"212":{},"217":{}},"component":{}}],["local.application.client.queri",{"_index":7470,"title":{},"name":{},"text":{"214":{}},"component":{}}],["local.ev",{"_index":5611,"title":{},"name":{},"text":{"104":{}},"component":{}}],["local_get_last_ev",{"_index":6679,"title":{},"name":{},"text":{"171":{}},"component":{}}],["local_get_last_snapshot",{"_index":6680,"title":{},"name":{},"text":{"171":{}},"component":{}}],["localcommandbus(localseg",{"_index":5945,"title":{},"name":{},"text":{"128":{}},"component":{}}],["localeventstor",{"_index":7030,"title":{},"name":{},"text":{"185":{}},"component":{}}],["localhost",{"_index":6613,"title":{},"name":{},"text":{"170":{},"206":{}},"component":{}}],["localhost:8124",{"_index":7385,"title":{},"name":{},"text":{"206":{}},"component":{}}],["localhost:9092",{"_index":5606,"title":{},"name":{},"text":{"104":{}},"component":{}}],["localseg",{"_index":2260,"title":{},"name":{},"text":{"38":{},"59":{},"94":{},"128":{}},"component":{}}],["localsegment(localseg",{"_index":2262,"title":{},"name":{},"text":{"38":{},"94":{}},"component":{}}],["localserviceinst",{"_index":5935,"title":{},"name":{},"text":{"128":{}},"component":{}}],["localserviceinstance(localserviceinst",{"_index":5939,"title":{},"name":{},"text":{"128":{}},"component":{}}],["locat",{"_index":289,"title":{"4-2":{}},"name":{},"text":{"3":{},"4":{},"15":{},"32":{},"33":{},"35":{},"42":{},"46":{},"49":{},"53":{},"66":{},"88":{},"99":{},"102":{},"140":{},"141":{},"145":{},"146":{},"147":{},"148":{},"149":{},"151":{},"154":{},"161":{},"162":{},"167":{},"169":{},"176":{},"177":{},"179":{},"181":{},"185":{},"191":{},"192":{},"201":{},"208":{},"234":{},"245":{},"264":{},"266":{},"274":{},"280":{},"281":{}},"component":{}}],["location=./data",{"_index":390,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["location’",{"_index":545,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["lock",{"_index":2167,"title":{},"name":{},"text":{"38":{},"46":{},"53":{},"59":{},"66":{},"174":{},"261":{},"262":{}},"component":{}}],["lockfactori",{"_index":3538,"title":{},"name":{},"text":{"66":{}},"component":{}}],["lockingrepositori",{"_index":2048,"title":{},"name":{},"text":{"36":{}},"component":{}}],["lockingrepository.obtainlock",{"_index":3072,"title":{},"name":{},"text":{"59":{}},"component":{}}],["log",{"_index":272,"title":{"158":{},"183":{},"184":{},"56-2":{},"59-22":{},"142-3":{},"199-6":{}},"name":{"158":{},"184":{}},"text":{"3":{},"5":{},"16":{},"31":{},"36":{},"38":{},"46":{},"51":{},"56":{},"59":{},"66":{},"67":{},"75":{},"86":{},"87":{},"88":{},"105":{},"121":{},"140":{},"141":{},"142":{},"146":{},"155":{},"172":{},"179":{},"181":{},"183":{},"184":{},"185":{},"187":{},"191":{},"192":{},"199":{},"232":{},"247":{},"284":{}},"component":{}}],["log.exit(jpaquery.getresultlist",{"_index":3164,"title":{},"name":{},"text":{"63":{}},"component":{}}],["log.trace(\"handl",{"_index":3155,"title":{},"name":{},"text":{"63":{}},"component":{}}],["log1",{"_index":469,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log1:/axonserver/log",{"_index":438,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log2",{"_index":475,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log2:/axonserver/log",{"_index":449,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log3",{"_index":481,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log3:/axonserver/log",{"_index":455,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["log4j",{"_index":4242,"title":{},"name":{},"text":{"67":{}},"component":{}}],["logback",{"_index":3898,"title":{},"name":{},"text":{"67":{},"184":{}},"component":{}}],["logback.xml",{"_index":7014,"title":{},"name":{},"text":{"184":{}},"component":{}}],["logger",{"_index":2721,"title":{},"name":{},"text":{"51":{},"105":{},"185":{}},"component":{}}],["logger.info(\"dispatch",{"_index":2725,"title":{},"name":{},"text":{"51":{}},"component":{}}],["logger.info(\"publish",{"_index":2765,"title":{},"name":{},"text":{"51":{}},"component":{}}],["logger.info(\"successfulli",{"_index":5630,"title":{},"name":{},"text":{"105":{}},"component":{}}],["logger.warn",{"_index":5632,"title":{},"name":{},"text":{"105":{}},"component":{}}],["loggerfactory.getlogger(commanddispatcher::class.java",{"_index":5625,"title":{},"name":{},"text":{"105":{}},"component":{}}],["loggerfactory.getlogger(eventloggingdispatchinterceptor.class",{"_index":2764,"title":{},"name":{},"text":{"51":{}},"component":{}}],["loggerfactory.getlogger(mycommanddispatchinterceptor.class",{"_index":2722,"title":{},"name":{},"text":{"51":{}},"component":{}}],["logging.config",{"_index":6083,"title":{},"name":{},"text":{"141":{},"184":{}},"component":{}}],["logging.config=logback.xml",{"_index":7015,"title":{},"name":{},"text":{"184":{}},"component":{}}],["logging.fil",{"_index":307,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["logging.file.max",{"_index":392,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["logging.file.nam",{"_index":6880,"title":{},"name":{},"text":{"179":{}},"component":{}}],["logging.file=./data/axonserver.log",{"_index":391,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["logging.level.io.axoniq.axonserv",{"_index":6879,"title":{},"name":{},"text":{"179":{}},"component":{}}],["logging.level.package_nam",{"_index":6878,"title":{},"name":{},"text":{"179":{}},"component":{}}],["logging.path",{"_index":6883,"title":{},"name":{},"text":{"179":{}},"component":{}}],["loggingduplicatecommandhandlerresolv",{"_index":4695,"title":{},"name":{},"text":{"75":{}},"component":{}}],["loggingerrorhandl",{"_index":5074,"title":{},"name":{},"text":{"87":{}},"component":{}}],["logginginterceptor",{"_index":2739,"title":{},"name":{},"text":{"51":{},"56":{},"105":{}},"component":{}}],["loggingspanfactori",{"_index":3001,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["loggingspanfactory.inst",{"_index":3015,"title":{},"name":{},"text":{"59":{}},"component":{}}],["logic",{"_index":1306,"title":{"35-2":{},"193-2":{}},"name":{},"text":{"24":{},"27":{},"31":{},"34":{},"35":{},"38":{},"42":{},"48":{},"51":{},"53":{},"66":{},"67":{},"82":{},"84":{},"85":{},"87":{},"88":{},"105":{},"106":{},"108":{},"120":{},"121":{},"127":{},"144":{},"145":{},"192":{},"211":{},"212":{},"214":{},"234":{},"239":{},"244":{},"274":{},"279":{},"280":{},"281":{},"285":{},"289":{}},"component":{}}],["login",{"_index":6598,"title":{},"name":{},"text":{"169":{},"172":{},"174":{},"233":{},"247":{}},"component":{}}],["logon",{"_index":6524,"title":{},"name":{},"text":{"161":{},"162":{}},"component":{}}],["logout",{"_index":6771,"title":{},"name":{},"text":{"172":{}},"component":{}}],["long",{"_index":1400,"title":{},"name":{},"text":{"28":{},"31":{},"34":{},"38":{},"40":{},"46":{},"52":{},"58":{},"59":{},"62":{},"67":{},"69":{},"70":{},"77":{},"82":{},"88":{},"89":{},"138":{},"140":{},"141":{},"143":{},"145":{},"147":{},"151":{},"157":{},"169":{},"178":{},"179":{},"221":{},"244":{},"261":{},"280":{}},"component":{}}],["longer",{"_index":180,"title":{},"name":{},"text":{"2":{},"29":{},"34":{},"35":{},"63":{},"66":{},"67":{},"77":{},"82":{},"86":{},"99":{},"127":{},"140":{},"141":{},"143":{},"145":{},"147":{},"151":{},"156":{},"178":{},"179":{},"185":{},"206":{},"215":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["longest",{"_index":5356,"title":{},"name":{},"text":{"88":{}},"component":{}}],["longpollingsourc",{"_index":5360,"title":{},"name":{},"text":{"88":{}},"component":{}}],["longpollingsource(\"eventsourcea",{"_index":5369,"title":{},"name":{},"text":{"88":{}},"component":{}}],["longpollingstream",{"_index":5370,"title":{},"name":{},"text":{"88":{}},"component":{}}],["look",{"_index":375,"title":{},"name":{},"text":{"3":{},"4":{},"29":{},"30":{},"31":{},"32":{},"40":{},"46":{},"51":{},"59":{},"63":{},"64":{},"67":{},"69":{},"77":{},"79":{},"80":{},"81":{},"83":{},"88":{},"104":{},"114":{},"128":{},"140":{},"147":{},"191":{},"199":{},"201":{},"203":{},"207":{},"261":{},"271":{},"273":{},"274":{},"276":{},"277":{},"280":{},"284":{}},"component":{}}],["lookup",{"_index":2521,"title":{},"name":{},"text":{"46":{},"67":{},"69":{},"71":{}},"component":{}}],["loop",{"_index":2296,"title":{},"name":{},"text":{"39":{},"67":{}},"component":{}}],["loos",{"_index":935,"title":{},"name":{},"text":{"6":{},"48":{},"264":{},"281":{}},"component":{}}],["loosen",{"_index":5286,"title":{},"name":{},"text":{"88":{}},"component":{}}],["lose",{"_index":5160,"title":{},"name":{},"text":{"88":{},"143":{},"168":{},"178":{},"226":{},"274":{}},"component":{}}],["loss",{"_index":7543,"title":{},"name":{},"text":{"226":{}},"component":{}}],["lost",{"_index":2350,"title":{},"name":{},"text":{"40":{},"67":{},"69":{},"71":{},"99":{},"143":{},"151":{},"280":{}},"component":{}}],["lot",{"_index":1731,"title":{},"name":{},"text":{"32":{},"38":{},"46":{},"59":{},"77":{},"84":{},"87":{},"88":{},"124":{},"211":{},"235":{},"260":{}},"component":{}}],["love",{"_index":168,"title":{},"name":{},"text":{"2":{},"265":{}},"component":{}}],["low",{"_index":2183,"title":{},"name":{},"text":{"38":{},"261":{}},"component":{}}],["lower",{"_index":2504,"title":{},"name":{},"text":{"44":{},"66":{},"67":{},"88":{},"140":{},"195":{},"199":{},"211":{},"261":{}},"component":{}}],["lowercas",{"_index":2035,"title":{},"name":{},"text":{"36":{},"147":{},"178":{},"195":{}},"component":{}}],["lt",{"_index":5997,"title":{},"name":{},"text":{"138":{}},"component":{}}],["lucki",{"_index":7760,"title":{},"name":{},"text":{"276":{}},"component":{}}],["luckili",{"_index":4303,"title":{},"name":{},"text":{"67":{},"79":{}},"component":{}}],["m",{"_index":6366,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["m1l4n54v1c",{"_index":3747,"title":{},"name":{},"text":{"66":{}},"component":{}}],["mac/arm",{"_index":3908,"title":{},"name":{},"text":{"67":{}},"component":{}}],["machin",{"_index":403,"title":{},"name":{},"text":{"3":{},"38":{},"49":{},"77":{},"88":{},"151":{},"191":{},"192":{},"199":{},"277":{},"281":{}},"component":{}}],["machineri",{"_index":1019,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["made",{"_index":1716,"title":{},"name":{},"text":{"32":{},"33":{},"42":{},"66":{},"67":{},"77":{},"83":{},"107":{},"140":{},"143":{},"144":{},"145":{},"150":{},"172":{},"235":{},"280":{},"288":{}},"component":{}}],["magnifi",{"_index":7995,"title":{},"name":{},"text":{"283":{}},"component":{}}],["magnu",{"_index":4239,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mail",{"_index":833,"title":{"247-3":{}},"name":{},"text":{"5":{},"88":{},"247":{}},"component":{}}],["main",{"_index":35,"title":{"2-2":{},"30-1":{},"279-5":{},"279-7":{}},"name":{},"text":{"30":{},"31":{},"46":{},"77":{},"79":{},"85":{},"99":{},"128":{},"151":{},"154":{},"177":{},"239":{},"255":{},"261":{},"269":{},"273":{},"274":{},"276":{},"279":{},"280":{}},"component":{}}],["main(str",{"_index":5928,"title":{},"name":{},"text":{"128":{}},"component":{}}],["mainli",{"_index":2844,"title":{},"name":{},"text":{"53":{},"69":{},"71":{}},"component":{}}],["maintain",{"_index":7,"title":{},"name":{},"text":{"1":{},"2":{},"6":{},"16":{},"44":{},"48":{},"67":{},"69":{},"77":{},"82":{},"86":{},"88":{},"89":{},"99":{},"127":{},"140":{},"147":{},"149":{},"151":{},"156":{},"157":{},"161":{},"177":{},"181":{},"280":{},"289":{}},"component":{}}],["maintained/suppli",{"_index":6814,"title":{},"name":{},"text":{"179":{}},"component":{}}],["mainten",{"_index":945,"title":{"147-6":{},"199-5":{}},"name":{},"text":{"6":{},"140":{},"146":{},"147":{},"156":{},"157":{},"179":{},"182":{},"183":{},"199":{},"221":{},"260":{}},"component":{}}],["maintenance/backup",{"_index":6451,"title":{},"name":{},"text":{"151":{}},"component":{}}],["major",{"_index":75,"title":{"66":{},"140":{}},"name":{"66":{},"140":{}},"text":{"2":{},"31":{},"38":{},"42":{},"65":{},"66":{},"67":{},"69":{},"77":{},"83":{},"87":{},"88":{},"138":{},"145":{},"149":{},"151":{},"157":{},"179":{},"244":{},"262":{}},"component":{}}],["major/minor",{"_index":3259,"title":{},"name":{},"text":{"65":{}},"component":{}}],["make",{"_index":154,"title":{},"name":{},"text":{"2":{},"6":{},"18":{},"20":{},"22":{},"24":{},"29":{},"31":{},"32":{},"33":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"79":{},"82":{},"83":{},"84":{},"85":{},"86":{},"88":{},"89":{},"91":{},"94":{},"99":{},"100":{},"101":{},"106":{},"114":{},"115":{},"120":{},"124":{},"127":{},"129":{},"130":{},"132":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"153":{},"156":{},"163":{},"170":{},"178":{},"211":{},"221":{},"243":{},"260":{},"261":{},"262":{},"264":{},"269":{},"271":{},"275":{},"279":{},"280":{},"282":{},"284":{},"285":{}},"component":{}}],["making/busi",{"_index":4910,"title":{},"name":{},"text":{"82":{}},"component":{}}],["malform",{"_index":3103,"title":{},"name":{},"text":{"59":{}},"component":{}}],["malfunct",{"_index":3230,"title":{},"name":{},"text":{"63":{}},"component":{}}],["malota",{"_index":4348,"title":{},"name":{},"text":{"67":{}},"component":{}}],["manag",{"_index":120,"title":{"39":{},"231":{},"256":{},"260":{},"5-10":{},"5-11":{},"28-1":{},"55-1":{},"69-5":{},"71-1":{},"87-12":{},"115-9":{},"140-20":{},"206-27":{},"206-29":{},"206-31":{}},"name":{"39":{},"260":{}},"text":{"2":{},"3":{},"5":{},"18":{},"20":{},"21":{},"28":{},"30":{},"36":{},"38":{},"39":{},"40":{},"41":{},"46":{},"51":{},"53":{},"55":{},"59":{},"66":{},"68":{},"69":{},"70":{},"71":{},"74":{},"77":{},"86":{},"87":{},"88":{},"94":{},"97":{},"114":{},"115":{},"118":{},"140":{},"141":{},"145":{},"146":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"163":{},"169":{},"173":{},"176":{},"179":{},"181":{},"191":{},"192":{},"199":{},"203":{},"206":{},"215":{},"227":{},"230":{},"231":{},"232":{},"234":{},"236":{},"238":{},"240":{},"249":{},"250":{},"255":{},"257":{},"259":{},"260":{},"270":{},"288":{},"289":{}},"component":{}}],["management.endpoint.health.show",{"_index":7033,"title":{},"name":{},"text":{"185":{}},"component":{}}],["management.endpoint.metrics.enabled=tru",{"_index":2924,"title":{},"name":{},"text":{"57":{}},"component":{}}],["management.endpoint.prometheus.enabled=tru",{"_index":2928,"title":{},"name":{},"text":{"57":{}},"component":{}}],["management.metrics.export.prometheus.enabled=tru",{"_index":2927,"title":{},"name":{},"text":{"57":{}},"component":{}}],["managers.adoc",{"_index":4651,"title":{},"name":{},"text":{"72":{}},"component":{}}],["mandatori",{"_index":1999,"title":{"168-2":{},"174-2":{}},"name":{},"text":{"35":{},"42":{},"63":{},"84":{},"94":{},"147":{},"156":{},"178":{},"199":{}},"component":{}}],["mani",{"_index":517,"title":{},"name":{},"text":{"3":{},"5":{},"29":{},"32":{},"36":{},"39":{},"44":{},"46":{},"53":{},"59":{},"67":{},"69":{},"77":{},"84":{},"87":{},"88":{},"101":{},"133":{},"143":{},"151":{},"179":{},"189":{},"191":{},"198":{},"215":{},"226":{},"249":{},"259":{},"260":{},"264":{},"269":{}},"component":{}}],["manifest",{"_index":1133,"title":{},"name":{},"text":{"16":{},"26":{},"80":{},"148":{},"289":{}},"component":{}}],["manifesto",{"_index":5786,"title":{},"name":{},"text":{"120":{}},"component":{}}],["manipul",{"_index":2318,"title":{},"name":{},"text":{"39":{},"74":{},"145":{}},"component":{}}],["manishatgit",{"_index":3308,"title":{},"name":{},"text":{"66":{}},"component":{}}],["manner",{"_index":416,"title":{},"name":{},"text":{"3":{},"44":{},"75":{},"191":{},"221":{},"264":{}},"component":{}}],["manual",{"_index":1151,"title":{"59-20":{},"88-25":{}},"name":{},"text":{"17":{},"29":{},"30":{},"33":{},"35":{},"44":{},"53":{},"67":{},"79":{},"88":{},"121":{},"144":{},"154":{},"159":{},"227":{},"236":{},"247":{},"260":{},"273":{},"274":{},"275":{},"283":{},"284":{},"285":{},"288":{}},"component":{}}],["map",{"_index":310,"title":{"171":{},"79-3":{},"79-5":{}},"name":{},"text":{"3":{},"29":{},"32":{},"46":{},"47":{},"50":{},"58":{},"59":{},"64":{},"72":{},"79":{},"84":{},"85":{},"87":{},"88":{},"89":{},"99":{},"101":{},"102":{},"104":{},"121":{},"140":{},"148":{},"150":{},"169":{},"172":{},"179":{},"191":{},"197":{},"288":{},"289":{}},"component":{}}],["map(",{"_index":2945,"title":{},"name":{},"text":{"57":{}},"component":{}}],["map(attr",{"_index":1328,"title":{},"name":{},"text":{"24":{}},"component":{}}],["map(clientinst",{"_index":6226,"title":{},"name":{},"text":{"144":{}},"component":{}}],["map(ctx",{"_index":5880,"title":{},"name":{},"text":{"121":{}},"component":{}}],["map(eventprocessor",{"_index":4708,"title":{},"name":{},"text":{"76":{}},"component":{}}],["map(memb",{"_index":1330,"title":{},"name":{},"text":{"24":{}},"component":{}}],["map(message::getpayload",{"_index":3150,"title":{},"name":{},"text":{"63":{}},"component":{}}],["map(mp",{"_index":5750,"title":{},"name":{},"text":{"115":{}},"component":{}}],["map(p",{"_index":5749,"title":{},"name":{},"text":{"115":{}},"component":{}}],["map(sequenceddeadletterqueue::deadlett",{"_index":5027,"title":{},"name":{},"text":{"86":{}},"component":{}}],["map(uid",{"_index":2749,"title":{},"name":{},"text":{"51":{}},"component":{}}],["map.googl",{"_index":6763,"title":{},"name":{},"text":{"172":{}},"component":{}}],["map.oidccli",{"_index":6781,"title":{},"name":{},"text":{"172":{}},"component":{}}],["mapper",{"_index":2626,"title":{},"name":{},"text":{"46":{},"101":{}},"component":{}}],["marc",{"_index":999,"title":{},"name":{},"text":{"8":{},"13":{},"148":{}},"component":{}}],["mark",{"_index":341,"title":{},"name":{},"text":{"3":{},"34":{},"48":{},"59":{},"64":{},"66":{},"67":{},"72":{},"82":{},"84":{},"128":{},"151":{},"154":{},"191":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["markdelet",{"_index":4919,"title":{},"name":{},"text":{"82":{}},"component":{}}],["market",{"_index":6039,"title":{},"name":{},"text":{"140":{}},"component":{}}],["marketplac",{"_index":1023,"title":{"199":{},"199-1":{}},"name":{},"text":{"11":{},"12":{},"141":{},"199":{}},"component":{"199":{}}}],["master",{"_index":994,"title":{},"name":{},"text":{"8":{},"13":{},"67":{},"147":{},"157":{},"163":{},"178":{},"179":{}},"component":{}}],["match",{"_index":562,"title":{"150-3":{},"193-4":{}},"name":{},"text":{"3":{},"24":{},"35":{},"38":{},"39":{},"46":{},"51":{},"52":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"77":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"104":{},"121":{},"132":{},"144":{},"147":{},"150":{},"170":{},"178":{},"191":{},"199":{},"216":{},"219":{},"237":{},"244":{},"260":{},"280":{},"286":{}},"component":{}}],["matcher",{"_index":3479,"title":{},"name":{},"text":{"66":{},"67":{},"72":{},"285":{}},"component":{}}],["matchers.andnomor",{"_index":4617,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.equalto(inst",{"_index":4615,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.exactsequenceof(ev",{"_index":4612,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.listwithallof(ev",{"_index":4608,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.listwithanyof(ev",{"_index":4609,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.matches(pred",{"_index":4619,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.messagewithpayload(payload",{"_index":4621,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.noth",{"_index":4618,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.payloadsmatching(list",{"_index":4622,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.predicate(pred",{"_index":4620,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchers.sequenceof(ev",{"_index":4610,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matches(object",{"_index":4602,"title":{},"name":{},"text":{"72":{}},"component":{}}],["matchlabel",{"_index":595,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["materi",{"_index":1005,"title":{"30-38":{},"278-1":{}},"name":{},"text":{"8":{},"13":{},"30":{},"278":{},"290":{}},"component":{}}],["matrix",{"_index":6597,"title":{"255-1":{}},"name":{"171":{}},"text":{"169":{},"255":{}},"component":{}}],["matter",{"_index":3805,"title":{},"name":{},"text":{"66":{},"72":{},"77":{},"88":{},"153":{},"202":{}},"component":{}}],["maven",{"_index":1475,"title":{"59-17":{}},"name":{},"text":{"30":{},"33":{},"44":{},"46":{},"66":{},"67":{},"72":{},"144":{},"201":{},"270":{},"276":{},"278":{},"279":{},"284":{},"285":{}},"component":{}}],["mavenartifactrevisionresolv",{"_index":2443,"title":{},"name":{},"text":{"44":{}},"component":{}}],["mavenbom",{"_index":1550,"title":{},"name":{},"text":{"30":{}},"component":{}}],["maverick1601",{"_index":3490,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["max",{"_index":4368,"title":{},"name":{},"text":{"67":{},"87":{},"143":{},"151":{},"163":{},"179":{},"197":{},"206":{},"242":{},"273":{}},"component":{}}],["max_short",{"_index":6134,"title":{},"name":{},"text":{"143":{}},"component":{}}],["maxclaimedseg",{"_index":5280,"title":{},"name":{},"text":{"88":{}},"component":{}}],["maxconcurr",{"_index":7460,"title":{},"name":{},"text":{"211":{},"215":{}},"component":{}}],["maxelectiontimeout",{"_index":6921,"title":{},"name":{},"text":{"179":{}},"component":{}}],["maxim",{"_index":6909,"title":{},"name":{},"text":{"179":{},"227":{},"236":{}},"component":{}}],["maximum",{"_index":744,"title":{},"name":{},"text":{"5":{},"38":{},"57":{},"59":{},"63":{},"86":{},"88":{},"121":{},"140":{},"141":{},"143":{},"148":{},"163":{},"179":{},"197":{},"211":{},"212":{},"215":{},"255":{},"261":{},"273":{},"274":{}},"component":{}}],["maxsequences(256",{"_index":1120,"title":{},"name":{},"text":{"15":{},"86":{},"110":{}},"component":{}}],["maxsequencesize(256",{"_index":1121,"title":{},"name":{},"text":{"15":{},"86":{},"110":{}},"component":{}}],["mayb",{"_index":2868,"title":{},"name":{},"text":{"53":{},"145":{}},"component":{}}],["mb",{"_index":6329,"title":{},"name":{},"text":{"147":{},"179":{},"262":{}},"component":{}}],["mbechto",{"_index":3917,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mbreevoort",{"_index":4336,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mean",{"_index":229,"title":{"5-8":{},"145-2":{}},"name":{},"text":{"3":{},"6":{},"15":{},"23":{},"29":{},"31":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"49":{},"51":{},"53":{},"56":{},"57":{},"60":{},"63":{},"66":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"102":{},"107":{},"111":{},"115":{},"127":{},"140":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"156":{},"163":{},"169":{},"172":{},"174":{},"185":{},"191":{},"202":{},"216":{},"220":{},"221":{},"224":{},"244":{},"245":{},"247":{},"254":{},"260":{},"261":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["meaning",{"_index":2029,"title":{},"name":{},"text":{"36":{}},"component":{}}],["meant",{"_index":414,"title":{},"name":{},"text":{"3":{},"46":{},"67":{},"72":{},"130":{},"191":{}},"component":{}}],["measur",{"_index":135,"title":{"261-1":{},"261-2":{}},"name":{},"text":{"2":{},"5":{},"55":{},"57":{},"59":{},"77":{},"151":{},"261":{},"274":{}},"component":{}}],["mechan",{"_index":432,"title":{},"name":{},"text":{"3":{},"23":{},"30":{},"31":{},"34":{},"35":{},"36":{},"38":{},"40":{},"41":{},"46":{},"52":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"77":{},"79":{},"84":{},"87":{},"94":{},"99":{},"100":{},"121":{},"127":{},"129":{},"154":{},"162":{},"177":{},"191":{},"250":{},"257":{},"281":{}},"component":{}}],["media",{"_index":6043,"title":{},"name":{},"text":{"140":{},"142":{},"151":{}},"component":{}}],["median",{"_index":7580,"title":{},"name":{},"text":{"242":{},"261":{},"273":{},"274":{}},"component":{}}],["medium",{"_index":6111,"title":{},"name":{},"text":{"142":{}},"component":{}}],["meet",{"_index":5775,"title":{},"name":{},"text":{"117":{},"230":{},"232":{},"240":{}},"component":{}}],["mehtod",{"_index":7890,"title":{},"name":{},"text":{"280":{}},"component":{}}],["meks77",{"_index":3931,"title":{},"name":{},"text":{"67":{}},"component":{}}],["member",{"_index":1309,"title":{},"name":{},"text":{"24":{},"48":{},"66":{},"67":{},"72":{},"76":{},"85":{},"87":{},"94":{},"126":{},"128":{},"142":{},"143":{},"147":{},"154":{},"156":{},"157":{},"178":{},"179":{},"192":{},"254":{},"255":{}},"component":{}}],["membercap",{"_index":5919,"title":{},"name":{},"text":{"127":{}},"component":{}}],["membercapabilitiescontrol",{"_index":5918,"title":{},"name":{},"text":{"127":{}},"component":{}}],["memori",{"_index":1113,"title":{"46-9":{},"140-20":{}},"name":{},"text":{"15":{},"40":{},"46":{},"63":{},"66":{},"67":{},"71":{},"77":{},"86":{},"88":{},"115":{},"140":{},"141":{},"147":{},"179":{},"187":{},"199":{},"261":{},"274":{}},"component":{}}],["mention",{"_index":1369,"title":{},"name":{},"text":{"26":{},"30":{},"33":{},"38":{},"39":{},"67":{},"84":{},"88":{},"96":{},"154":{},"164":{},"168":{},"172":{},"177":{},"178":{},"181":{},"201":{},"260":{},"270":{},"279":{}},"component":{}}],["menu",{"_index":6371,"title":{},"name":{},"text":{"147":{},"151":{},"156":{},"274":{},"283":{},"285":{}},"component":{}}],["mere",{"_index":2852,"title":{},"name":{},"text":{"53":{}},"component":{}}],["merg",{"_index":2101,"title":{"88-22":{},"260-3":{}},"name":{},"text":{"38":{},"58":{},"66":{},"67":{},"76":{},"88":{},"165":{},"180":{},"246":{},"260":{},"274":{}},"component":{}}],["merge_event_processor_seg",{"_index":6681,"title":{},"name":{},"text":{"171":{}},"component":{}}],["merge_us",{"_index":6664,"title":{},"name":{},"text":{"171":{}},"component":{}}],["mergecompletedposit",{"_index":2981,"title":{},"name":{},"text":{"58":{}},"component":{}}],["mergeeventprocessor(eventprocessoridentifi",{"_index":6969,"title":{},"name":{},"text":{"180":{}},"component":{}}],["mergesegment(int",{"_index":5312,"title":{},"name":{},"text":{"88":{}},"component":{}}],["mergesegmentfor(str",{"_index":5316,"title":{},"name":{},"text":{"88":{}},"component":{}}],["mesh",{"_index":7137,"title":{},"name":{},"text":{"189":{}},"component":{}}],["mess",{"_index":4903,"title":{},"name":{},"text":{"82":{}},"component":{}}],["messag",{"_index":63,"title":{"25":{},"47":{},"49":{},"50":{},"51":{},"56":{},"101":{},"202":{},"203":{},"213":{},"218":{},"243":{},"5-5":{},"5-14":{},"30-2":{},"47-2":{},"49-4":{},"59-47":{},"87-11":{},"99-1":{},"99-2":{},"115-3":{},"115-12":{},"147-3":{},"156-4":{},"202-3":{},"202-7":{},"202-11":{},"204-2":{},"204-3":{},"206-8":{},"211-3":{},"212-3":{},"212-4":{},"214-3":{},"216-2":{},"217-2":{},"217-3":{},"219-2":{},"224-3":{},"274-25":{},"274-26":{},"274-34":{},"274-37":{},"274-38":{},"274-39":{},"274-40":{},"278-3":{},"280-1":{}},"name":{"47":{},"50":{},"51":{},"56":{},"101":{},"213":{},"218":{},"222":{},"243":{}},"text":{"2":{},"5":{},"10":{},"12":{},"14":{},"16":{},"20":{},"24":{},"25":{},"28":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"42":{},"43":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"75":{},"78":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"91":{},"92":{},"94":{},"99":{},"100":{},"101":{},"102":{},"104":{},"105":{},"107":{},"115":{},"120":{},"121":{},"124":{},"127":{},"128":{},"130":{},"133":{},"140":{},"141":{},"143":{},"147":{},"154":{},"156":{},"157":{},"163":{},"164":{},"168":{},"179":{},"181":{},"185":{},"190":{},"192":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"227":{},"230":{},"236":{},"239":{},"240":{},"242":{},"243":{},"245":{},"249":{},"250":{},"257":{},"259":{},"261":{},"262":{},"266":{},"270":{},"273":{},"274":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"289":{}},"component":{"24":{},"25":{},"26":{}}}],["message#metadata",{"_index":5759,"title":{},"name":{},"text":{"115":{}},"component":{}}],["message.andmetadata(collections.singletonmap(tenant_correlation_key",{"_index":5706,"title":{},"name":{},"text":{"115":{}},"component":{}}],["message.getidentifi",{"_index":2964,"title":{},"name":{},"text":{"57":{}},"component":{}}],["message.getmetadata().containskey(\"author",{"_index":2707,"title":{},"name":{},"text":{"50":{}},"component":{}}],["message.getmetadata().get(\"author",{"_index":2708,"title":{},"name":{},"text":{"50":{}},"component":{}}],["message.getpayload().getfield(\"tenantnam",{"_index":5715,"title":{},"name":{},"text":{"115":{}},"component":{}}],["message.getpayloadtyp",{"_index":6347,"title":{},"name":{},"text":{"147":{}},"component":{}}],["message.getpayloadtype().getname().startswith(\"com.context.book",{"_index":6350,"title":{},"name":{},"text":{"147":{}},"component":{}}],["message.getpayloadtype().getsimplenam",{"_index":2943,"title":{},"name":{},"text":{"57":{}},"component":{}}],["message/aggreg",{"_index":2447,"title":{},"name":{},"text":{"44":{}},"component":{}}],["message_id",{"_index":5968,"title":{},"name":{},"text":{"132":{}},"component":{}}],["message_nam",{"_index":5972,"title":{},"name":{},"text":{"132":{}},"component":{}}],["message_typ",{"_index":5970,"title":{},"name":{},"text":{"132":{}},"component":{}}],["messagecapabilitiesendpoint",{"_index":5933,"title":{},"name":{},"text":{"128":{}},"component":{}}],["messageconvert",{"_index":5421,"title":{},"name":{},"text":{"92":{},"99":{}},"component":{}}],["messageconverter(kafkamessageconvert",{"_index":5580,"title":{},"name":{},"text":{"102":{}},"component":{}}],["messageconverter(messageconvert",{"_index":5515,"title":{},"name":{},"text":{"99":{}},"component":{}}],["messagecount",{"_index":2940,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagecountingmonitor",{"_index":2906,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagecountingmonitor.buildmonitor",{"_index":2941,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagedispatchinterceptor",{"_index":2719,"title":{},"name":{},"text":{"51":{},"72":{},"121":{},"133":{}},"component":{}}],["messagedispatchinterceptor#handle(list",{"_index":5864,"title":{},"name":{},"text":{"121":{}},"component":{}}],["messagehandl",{"_index":1314,"title":{},"name":{},"text":{"24":{},"72":{}},"component":{}}],["messagehandlerinterceptor",{"_index":2716,"title":{"51-13":{}},"name":{},"text":{"51":{},"66":{},"72":{},"87":{},"133":{}},"component":{}}],["messagehandlerinterceptor(messagetyp",{"_index":2789,"title":{},"name":{},"text":{"51":{}},"component":{}}],["messagehandlerinterceptor`",{"_index":2826,"title":{},"name":{},"text":{"52":{}},"component":{}}],["messagehandlerlookup",{"_index":3611,"title":{},"name":{},"text":{"66":{}},"component":{}}],["messagehandlerregistrar",{"_index":4095,"title":{},"name":{},"text":{"67":{}},"component":{}}],["messagehandlingmemb",{"_index":1317,"title":{},"name":{},"text":{"24":{},"27":{},"66":{}},"component":{}}],["messagehandlingmember.canhandlemessagetype(class",{"_index":1320,"title":{},"name":{},"text":{"24":{}},"component":{}}],["messagehandlingmember’",{"_index":1351,"title":{},"name":{},"text":{"24":{}},"component":{}}],["messageid",{"_index":2963,"title":{},"name":{},"text":{"57":{},"211":{},"212":{},"214":{},"215":{}},"component":{}}],["messageidentifi",{"_index":2824,"title":{},"name":{},"text":{"52":{}},"component":{}}],["messageidspanattributesprovid",{"_index":3026,"title":{},"name":{},"text":{"59":{}},"component":{}}],["messagemonitor",{"_index":2900,"title":{},"name":{},"text":{"57":{},"58":{},"66":{},"87":{}},"component":{}}],["messagemonitor(config.messagemonitor",{"_index":2164,"title":{},"name":{},"text":{"38":{}},"component":{}}],["messagemonitor(config.messagemonitor(simplecommandbus.class",{"_index":2142,"title":{},"name":{},"text":{"38":{}},"component":{}}],["messagemonitor(config.messagemonitor(simplequerybus.class",{"_index":3130,"title":{},"name":{},"text":{"61":{}},"component":{}}],["messagemonitor(metricregistry.registercommandbus(\"commandbu",{"_index":2150,"title":{},"name":{},"text":{"38":{}},"component":{}}],["messagemonitor(metricregistry.registereventbus(\"eventstor",{"_index":2562,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["messagemonitor(metricregistry.registerquerybus(\"querybu",{"_index":3133,"title":{},"name":{},"text":{"61":{}},"component":{}}],["messagemonitorfactori",{"_index":2937,"title":{},"name":{},"text":{"57":{},"87":{}},"component":{}}],["messagenamespanattributesprovid",{"_index":3028,"title":{},"name":{},"text":{"59":{}},"component":{}}],["messageoriginprovid",{"_index":2682,"title":{"50-2":{}},"name":{},"text":{"50":{},"56":{}},"component":{}}],["messages.context",{"_index":6950,"title":{},"name":{},"text":{"179":{}},"component":{}}],["messageseri",{"_index":1624,"title":{},"name":{},"text":{"31":{},"67":{}},"component":{}}],["messagesourc",{"_index":5184,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagesource.createtokenat(instant.parse(\"20020",{"_index":5185,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagesource.createtokensinc",{"_index":5183,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagesource.createtokensince(duration.ofdays(31",{"_index":5190,"title":{},"name":{},"text":{"88":{}},"component":{}}],["messagetag.java",{"_index":5977,"title":{},"name":{},"text":{"132":{}},"component":{}}],["messagetim",{"_index":2950,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagetimermonitor",{"_index":2908,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagetimermonitor.buildmonitor",{"_index":2951,"title":{},"name":{},"text":{"57":{}},"component":{}}],["messagetyp",{"_index":2784,"title":{},"name":{},"text":{"51":{}},"component":{}}],["messagetypespanattributesprovid",{"_index":3030,"title":{},"name":{},"text":{"59":{}},"component":{}}],["messagewithpayload(equalto(new",{"_index":4638,"title":{},"name":{},"text":{"72":{}},"component":{}}],["message’",{"_index":2629,"title":{},"name":{},"text":{"47":{},"49":{},"50":{},"72":{},"101":{},"115":{},"121":{}},"component":{}}],["messaging.log",{"_index":6881,"title":{},"name":{},"text":{"179":{}},"component":{}}],["messaging_onli",{"_index":6367,"title":{},"name":{},"text":{"147":{},"156":{},"157":{},"178":{}},"component":{}}],["met",{"_index":2272,"title":{},"name":{},"text":{"39":{},"72":{},"88":{},"262":{},"285":{}},"component":{}}],["meta",{"_index":1021,"title":{"27":{},"47-1":{}},"name":{},"text":{"10":{},"12":{},"23":{},"24":{},"26":{},"27":{},"32":{},"38":{},"42":{},"46":{},"47":{},"50":{},"56":{},"72":{},"79":{},"115":{},"202":{}},"component":{"27":{}}}],["meta_data",{"_index":4834,"title":{},"name":{},"text":{"79":{}},"component":{}}],["metadata",{"_index":589,"title":{},"name":{},"text":{"3":{},"6":{},"24":{},"31":{},"34":{},"38":{},"42":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"52":{},"56":{},"59":{},"66":{},"67":{},"72":{},"79":{},"82":{},"86":{},"88":{},"89":{},"101":{},"103":{},"105":{},"115":{},"121":{},"150":{},"154":{},"166":{},"169":{},"177":{},"191":{},"192":{},"199":{},"215":{},"216":{},"217":{},"219":{}},"component":{}}],["metadata.with(\"mykey",{"_index":2633,"title":{},"name":{},"text":{"47":{}},"component":{}}],["metadata.with(key",{"_index":2647,"title":{},"name":{},"text":{"47":{}},"component":{}}],["metadatakey",{"_index":1334,"title":{},"name":{},"text":{"24":{},"88":{}},"component":{}}],["metadatakey(\"mi",{"_index":2245,"title":{},"name":{},"text":{"38":{}},"component":{}}],["metadataroutingstrategi",{"_index":2233,"title":{},"name":{},"text":{"38":{}},"component":{}}],["metadatasequencingpolici",{"_index":3543,"title":{},"name":{},"text":{"66":{},"88":{},"89":{}},"component":{}}],["metadataspanattributesprovid",{"_index":3035,"title":{},"name":{},"text":{"59":{}},"component":{}}],["metadatavalu",{"_index":2099,"title":{},"name":{},"text":{"38":{},"52":{}},"component":{}}],["metadatavalue(\"userid",{"_index":2123,"title":{},"name":{},"text":{"38":{}},"component":{}}],["meterregistri",{"_index":2901,"title":{},"name":{},"text":{"57":{}},"component":{}}],["methd",{"_index":7861,"title":{},"name":{},"text":{"280":{}},"component":{}}],["method",{"_index":813,"title":{"48-2":{},"281-6":{}},"name":{},"text":{"5":{},"14":{},"15":{},"17":{},"20":{},"24":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"58":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"75":{},"76":{},"77":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"105":{},"107":{},"108":{},"110":{},"111":{},"113":{},"115":{},"121":{},"126":{},"130":{},"144":{},"145":{},"166":{},"180":{},"215":{},"224":{},"232":{},"233":{},"241":{},"274":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["method.getparametercount",{"_index":3637,"title":{},"name":{},"text":{"66":{}},"component":{}}],["method.getparameterstypes().length",{"_index":3636,"title":{},"name":{},"text":{"66":{}},"component":{}}],["method’",{"_index":3116,"title":{},"name":{},"text":{"60":{},"108":{}},"component":{}}],["metric",{"_index":829,"title":{"57":{},"186":{},"188":{},"261":{},"30-11":{},"58-2":{},"140-11":{},"151-15":{},"178-6":{},"186-1":{},"186-2":{},"186-3":{},"186-4":{},"186-5":{},"186-6":{},"261-3":{},"261-4":{},"261-5":{},"261-6":{},"262-9":{}},"name":{"57":{},"186":{},"188":{},"261":{}},"text":{"5":{},"28":{},"30":{},"55":{},"57":{},"58":{},"59":{},"66":{},"77":{},"140":{},"141":{},"151":{},"178":{},"179":{},"185":{},"186":{},"187":{},"188":{},"190":{},"199":{},"234":{},"239":{},"242":{},"244":{},"249":{},"250":{},"259":{},"260":{},"261":{},"262":{},"264":{},"273":{},"274":{}},"component":{}}],["metricconfigurer(meterregistri",{"_index":2932,"title":{},"name":{},"text":{"57":{}},"component":{}}],["metricregistri",{"_index":2147,"title":{},"name":{},"text":{"38":{},"46":{},"57":{},"61":{},"113":{}},"component":{}}],["metricsconfig",{"_index":2931,"title":{},"name":{},"text":{"57":{}},"component":{}}],["metricsconfigur",{"_index":2912,"title":{},"name":{},"text":{"57":{}},"component":{}}],["mgathier",{"_index":3301,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["michaelbub",{"_index":4297,"title":{},"name":{},"text":{"67":{}},"component":{}}],["micro)servic",{"_index":1563,"title":{},"name":{},"text":{"31":{}},"component":{}}],["micromet",{"_index":1467,"title":{"30-12":{},"57-4":{}},"name":{},"text":{"30":{},"57":{},"66":{},"278":{}},"component":{}}],["micronaut",{"_index":4273,"title":{},"name":{},"text":{"67":{}},"component":{}}],["microservic",{"_index":108,"title":{},"name":{},"text":{"2":{},"5":{},"59":{},"200":{},"270":{},"274":{},"276":{},"277":{},"279":{}},"component":{}}],["microservices/rent",{"_index":7677,"title":{},"name":{},"text":{"270":{},"276":{}},"component":{}}],["middl",{"_index":5341,"title":{},"name":{},"text":{"88":{}},"component":{}}],["midnight",{"_index":1253,"title":{},"name":{},"text":{"20":{}},"component":{}}],["migrat",{"_index":670,"title":{"160":{},"4-3":{},"33-10":{},"79-6":{}},"name":{},"text":{"3":{},"4":{},"30":{},"33":{},"36":{},"66":{},"67":{},"72":{},"79":{},"137":{},"141":{},"151":{},"160":{},"161":{},"162":{},"191":{},"206":{},"226":{}},"component":{}}],["migration.jar",{"_index":694,"title":{},"name":{},"text":{"4":{},"161":{}},"component":{}}],["migration:latest",{"_index":1844,"title":{},"name":{},"text":{"33":{}},"component":{}}],["mikelham",{"_index":3746,"title":{},"name":{},"text":{"66":{}},"component":{}}],["mileston",{"_index":3581,"title":{},"name":{},"text":{"66":{}},"component":{}}],["million",{"_index":7208,"title":{},"name":{},"text":{"198":{}},"component":{}}],["millisecond",{"_index":2174,"title":{},"name":{},"text":{"38":{},"69":{},"88":{},"99":{},"102":{},"151":{},"179":{},"194":{},"261":{},"274":{}},"component":{}}],["min",{"_index":6925,"title":{},"name":{},"text":{"179":{},"197":{},"242":{},"273":{}},"component":{}}],["mind",{"_index":2427,"title":{},"name":{},"text":{"44":{},"67":{},"81":{},"88":{},"94":{},"104":{},"145":{},"281":{},"288":{}},"component":{}}],["minim",{"_index":976,"title":{},"name":{},"text":{"6":{},"31":{},"67":{},"88":{},"115":{},"140":{},"141":{},"144":{},"151":{},"179":{}},"component":{}}],["minimin",{"_index":7579,"title":{},"name":{},"text":{"242":{}},"component":{}}],["minimum",{"_index":378,"title":{},"name":{},"text":{"3":{},"179":{},"191":{},"197":{},"206":{},"261":{},"273":{},"274":{},"281":{}},"component":{}}],["minor",{"_index":3269,"title":{"67":{},"141":{}},"name":{"67":{},"141":{}},"text":{"65":{},"66":{},"67":{},"138":{},"244":{},"262":{}},"component":{}}],["minut",{"_index":1046,"title":{},"name":{},"text":{"14":{},"58":{},"77":{},"142":{},"151":{},"176":{},"186":{},"198":{},"239":{},"242":{},"244":{},"261":{},"262":{},"274":{}},"component":{}}],["minute(timestamp",{"_index":7192,"title":{},"name":{},"text":{"195":{}},"component":{}}],["mirror",{"_index":4960,"title":{},"name":{},"text":{"84":{}},"component":{}}],["misbehav",{"_index":5323,"title":{},"name":{},"text":{"88":{},"271":{}},"component":{}}],["misbehavior",{"_index":7689,"title":{},"name":{},"text":{"272":{}},"component":{}}],["misconcept",{"_index":4270,"title":{},"name":{},"text":{"67":{}},"component":{}}],["misconfigur",{"_index":3341,"title":{},"name":{},"text":{"66":{}},"component":{}}],["misfir",{"_index":2357,"title":{},"name":{},"text":{"40":{}},"component":{}}],["misinterpret",{"_index":4928,"title":{},"name":{},"text":{"84":{}},"component":{}}],["mismatch",{"_index":3477,"title":{},"name":{},"text":{"66":{},"143":{}},"component":{}}],["miss",{"_index":1342,"title":{},"name":{},"text":{"24":{},"35":{},"40":{},"66":{},"67":{},"72":{},"77":{},"87":{},"88":{},"97":{},"119":{},"141":{},"142":{},"143":{},"216":{},"219":{}},"component":{}}],["mistak",{"_index":6495,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["misus",{"_index":6255,"title":{},"name":{},"text":{"145":{}},"component":{}}],["mitig",{"_index":4138,"title":{},"name":{},"text":{"67":{},"102":{},"145":{}},"component":{}}],["mix",{"_index":5967,"title":{},"name":{},"text":{"132":{},"145":{}},"component":{}}],["mixtur",{"_index":6259,"title":{},"name":{},"text":{"145":{}},"component":{}}],["mkdir",{"_index":347,"title":{},"name":{},"text":{"3":{},"170":{},"172":{},"191":{}},"component":{}}],["mm",{"_index":7017,"title":{},"name":{},"text":{"184":{}},"component":{}}],["mmap",{"_index":6871,"title":{},"name":{},"text":{"179":{}},"component":{}}],["mnegacz",{"_index":3725,"title":{},"name":{},"text":{"66":{}},"component":{}}],["mock",{"_index":2098,"title":{"202-2":{},"202-4":{},"202-5":{},"202-8":{},"202-9":{},"202-12":{},"202-13":{}},"name":{},"text":{"38":{},"74":{},"202":{}},"component":{}}],["mockito",{"_index":4682,"title":{},"name":{},"text":{"74":{}},"component":{}}],["mode",{"_index":653,"title":{"88-4":{},"89-7":{},"140-19":{}},"name":{},"text":{"3":{},"66":{},"67":{},"84":{},"87":{},"88":{},"90":{},"102":{},"104":{},"128":{},"140":{},"141":{},"143":{},"149":{},"178":{},"191":{},"192":{},"246":{},"274":{}},"component":{}}],["mode/ev",{"_index":6029,"title":{},"name":{},"text":{"140":{}},"component":{}}],["mode=non",{"_index":7752,"title":{},"name":{},"text":{"276":{}},"component":{}}],["model",{"_index":997,"title":{"280":{},"30-3":{},"36-3":{},"72-1":{},"278-3":{},"281-4":{},"290-4":{},"290-5":{}},"name":{},"text":{"8":{},"13":{},"30":{},"33":{},"36":{},"37":{},"46":{},"49":{},"58":{},"63":{},"64":{},"66":{},"67":{},"72":{},"81":{},"82":{},"87":{},"88":{},"89":{},"144":{},"163":{},"260":{},"274":{},"278":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["modern",{"_index":6014,"title":{},"name":{},"text":{"140":{}},"component":{}}],["modif",{"_index":534,"title":{},"name":{},"text":{"3":{},"36":{},"38":{},"140":{},"145":{},"191":{}},"component":{}}],["modifi",{"_index":941,"title":{},"name":{},"text":{"6":{},"16":{},"38":{},"47":{},"66":{},"82":{},"83":{},"94":{},"121":{},"176":{},"274":{},"279":{},"280":{}},"component":{}}],["modul",{"_index":1220,"title":{"30":{},"30-1":{},"30-15":{},"278-2":{},"278-3":{},"279-4":{},"279-5":{},"279-7":{}},"name":{"30":{}},"text":{"20":{},"28":{},"30":{},"32":{},"33":{},"38":{},"43":{},"46":{},"54":{},"57":{},"58":{},"59":{},"66":{},"67":{},"72":{},"73":{},"74":{},"77":{},"87":{},"91":{},"94":{},"99":{},"100":{},"120":{},"129":{},"148":{},"265":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["modular",{"_index":2417,"title":{},"name":{},"text":{"43":{},"264":{},"279":{},"281":{}},"component":{}}],["moduleconfigur",{"_index":5521,"title":{},"name":{},"text":{"99":{}},"component":{}}],["modulehandl",{"_index":5059,"title":{},"name":{},"text":{"87":{}},"component":{}}],["modules/compon",{"_index":7666,"title":{},"name":{},"text":{"269":{}},"component":{}}],["modules/depend",{"_index":1486,"title":{},"name":{},"text":{"30":{}},"component":{}}],["module’",{"_index":4402,"title":{},"name":{},"text":{"67":{},"273":{},"274":{}},"component":{}}],["moment",{"_index":1366,"title":{},"name":{},"text":{"26":{},"38":{},"58":{},"74":{},"77":{},"86":{},"88":{},"151":{},"156":{},"219":{},"261":{},"288":{}},"component":{}}],["mongo",{"_index":1066,"title":{"112":{},"30-27":{},"30-28":{}},"name":{},"text":{"15":{},"30":{},"46":{},"86":{},"88":{},"111":{},"112":{},"114":{}},"component":{}}],["mongo.ev",{"_index":5684,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongo.saga",{"_index":5687,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongo.token",{"_index":5686,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongocli",{"_index":4494,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["mongodatabase(cli",{"_index":2602,"title":{},"name":{},"text":{"46":{}},"component":{}}],["mongodatabasefactori",{"_index":5683,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongodb",{"_index":23,"title":{"110":{},"111":{}},"name":{},"text":{"1":{},"19":{},"30":{},"46":{},"69":{},"71":{},"86":{},"111":{},"113":{},"114":{}},"component":{"110":{},"111":{},"112":{},"113":{},"114":{}}}],["mongodb://localhost:27017/test",{"_index":5690,"title":{},"name":{},"text":{"114":{}},"component":{}}],["mongoeventstorageengin",{"_index":2512,"title":{"46-7":{}},"name":{},"text":{"46":{},"111":{},"113":{}},"component":{}}],["mongoeventstorageengine.build",{"_index":5677,"title":{},"name":{},"text":{"113":{}},"component":{}}],["mongosagastor",{"_index":4448,"title":{"69-9":{},"71-7":{}},"name":{},"text":{"69":{},"71":{},"114":{}},"component":{}}],["mongosagastoreto",{"_index":4504,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mongosequenceddeadletterqueu",{"_index":4986,"title":{},"name":{},"text":{"86":{}},"component":{}}],["mongosequenceddeadletterqueue.build",{"_index":5667,"title":{},"name":{},"text":{"110":{}},"component":{}}],["mongotempl",{"_index":2597,"title":{},"name":{},"text":{"46":{},"69":{},"71":{},"110":{}},"component":{}}],["mongotemplate(defaultmongotemplate.build",{"_index":2601,"title":{},"name":{},"text":{"46":{}},"component":{}}],["mongotemplate(mongotempl",{"_index":2598,"title":{},"name":{},"text":{"46":{},"110":{}},"component":{}}],["mongotemplate(springmongotemplate.build",{"_index":5678,"title":{},"name":{},"text":{"113":{}},"component":{}}],["mongotokenstor",{"_index":5215,"title":{},"name":{},"text":{"88":{},"114":{}},"component":{}}],["mongotransactionmanag",{"_index":5680,"title":{},"name":{},"text":{"114":{}},"component":{}}],["monitor",{"_index":730,"title":{"55":{},"58":{},"189":{},"190":{},"244":{},"262":{},"271":{},"5-7":{},"28-1":{},"55-1":{},"87-11":{},"273-6":{},"276-5":{}},"name":{"189":{},"244":{},"262":{}},"text":{"5":{},"10":{},"12":{},"28":{},"30":{},"49":{},"54":{},"55":{},"57":{},"58":{},"59":{},"72":{},"87":{},"140":{},"145":{},"146":{},"151":{},"169":{},"171":{},"176":{},"178":{},"185":{},"189":{},"190":{},"232":{},"237":{},"238":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{},"250":{},"255":{},"261":{},"262":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"272":{},"273":{},"274":{},"275":{},"277":{}},"component":{}}],["monitor/met",{"_index":2949,"title":{},"name":{},"text":{"57":{}},"component":{}}],["mono",{"_index":3196,"title":{},"name":{},"text":{"63":{},"121":{},"144":{}},"component":{}}],["mono#empti",{"_index":5799,"title":{},"name":{},"text":{"121":{}},"component":{}}],["mono.subscribercontext",{"_index":5877,"title":{},"name":{},"text":{"121":{}},"component":{}}],["monolith",{"_index":967,"title":{},"name":{},"text":{"6":{},"279":{},"281":{},"283":{},"284":{}},"component":{}}],["monowrapp",{"_index":3634,"title":{},"name":{},"text":{"66":{}},"component":{}}],["month",{"_index":7209,"title":{},"name":{},"text":{"198":{},"250":{},"254":{}},"component":{}}],["month(timestamp",{"_index":7195,"title":{},"name":{},"text":{"195":{}},"component":{}}],["monthli",{"_index":728,"title":{"5-6":{}},"name":{},"text":{"5":{},"250":{}},"component":{}}],["more",{"_index":245,"title":{"6-2":{}},"name":{},"text":{"3":{},"5":{},"6":{},"12":{},"20":{},"21":{},"24":{},"28":{},"29":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"55":{},"56":{},"57":{},"59":{},"60":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"80":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"94":{},"97":{},"99":{},"101":{},"115":{},"120":{},"124":{},"127":{},"132":{},"133":{},"140":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"156":{},"165":{},"169":{},"179":{},"185":{},"191":{},"192":{},"195":{},"196":{},"202":{},"208":{},"216":{},"217":{},"219":{},"226":{},"232":{},"237":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"249":{},"250":{},"254":{},"257":{},"259":{},"260":{},"264":{},"269":{},"272":{},"273":{},"274":{},"277":{},"280":{},"281":{},"285":{},"287":{},"289":{}},"component":{}}],["moreov",{"_index":2432,"title":{},"name":{},"text":{"44":{}},"component":{}}],["morlack",{"_index":3427,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["mostli",{"_index":2269,"title":{},"name":{},"text":{"38":{},"44":{},"74":{}},"component":{}}],["motiv",{"_index":4753,"title":{},"name":{},"text":{"77":{}},"component":{}}],["mount",{"_index":255,"title":{},"name":{},"text":{"3":{},"151":{},"191":{}},"component":{}}],["mountpath",{"_index":613,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["mous",{"_index":7568,"title":{},"name":{},"text":{"235":{},"274":{}},"component":{}}],["move",{"_index":1208,"title":{"151-14":{},"260-5":{}},"name":{},"text":{"18":{},"29":{},"33":{},"44":{},"46":{},"59":{},"66":{},"67":{},"72":{},"74":{},"79":{},"86":{},"88":{},"108":{},"125":{},"142":{},"143":{},"145":{},"149":{},"151":{},"162":{},"179":{},"201":{},"208":{},"217":{},"243":{},"244":{},"260":{},"274":{},"279":{},"281":{},"284":{},"285":{}},"component":{}}],["move_event_processor_seg",{"_index":6682,"title":{},"name":{},"text":{"171":{}},"component":{}}],["movement",{"_index":6527,"title":{},"name":{},"text":{"162":{}},"component":{}}],["mp.fortenant(tenantdescriptor.tenantwithid(ten",{"_index":5751,"title":{},"name":{},"text":{"115":{}},"component":{}}],["ms",{"_index":4356,"title":{},"name":{},"text":{"67":{},"179":{},"262":{},"273":{},"280":{},"283":{}},"component":{}}],["msg",{"_index":5887,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msg,result",{"_index":5900,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msg.andmetadata(collections.singletonmap(\"key1",{"_index":5872,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msgmono",{"_index":5870,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msgmono.filterwhen(v",{"_index":5876,"title":{},"name":{},"text":{"121":{}},"component":{}}],["msgmono.map(msg",{"_index":5871,"title":{},"name":{},"text":{"121":{}},"component":{}}],["much",{"_index":1166,"title":{},"name":{},"text":{"17":{},"31":{},"32":{},"38":{},"40":{},"46":{},"77":{},"221":{},"244":{},"249":{},"276":{},"281":{}},"component":{}}],["multi",{"_index":164,"title":{"84":{},"118":{},"119":{},"147":{},"209":{},"279":{},"30-29":{},"30-30":{},"88-21":{},"115-5":{},"115-13":{},"147-5":{}},"name":{"84":{},"118":{},"147":{},"209":{}},"text":{"2":{},"30":{},"35":{},"38":{},"46":{},"49":{},"66":{},"76":{},"84":{},"88":{},"115":{},"117":{},"118":{},"140":{},"146":{},"147":{},"157":{},"192":{},"249":{},"250":{},"279":{}},"component":{}}],["multicast",{"_index":5433,"title":{},"name":{},"text":{"94":{}},"component":{}}],["multicorrelationdataprovid",{"_index":2684,"title":{"50-4":{}},"name":{},"text":{"50":{}},"component":{}}],["multimessagemonitor<>(messagecount",{"_index":2952,"title":{},"name":{},"text":{"57":{}},"component":{}}],["multipart/form",{"_index":6959,"title":{},"name":{},"text":{"179":{}},"component":{}}],["multipl",{"_index":317,"title":{"46-10":{},"64-5":{},"88-31":{},"147-4":{}},"name":{},"text":{"3":{},"5":{},"6":{},"17":{},"20":{},"31":{},"36":{},"38":{},"40":{},"44":{},"46":{},"49":{},"50":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"81":{},"84":{},"86":{},"88":{},"89":{},"99":{},"108":{},"117":{},"121":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"157":{},"161":{},"162":{},"165":{},"168":{},"172":{},"174":{},"178":{},"191":{},"192":{},"203":{},"206":{},"209":{},"211":{},"215":{},"216":{},"219":{},"220":{},"221":{},"226":{},"255":{},"274":{},"276":{},"277":{},"279":{},"281":{}},"component":{}}],["multipleinstanceof(cardsummary.class",{"_index":3211,"title":{},"name":{},"text":{"63":{}},"component":{}}],["multipleinstancesresponsetyp",{"_index":3606,"title":{},"name":{},"text":{"66":{}},"component":{}}],["multipli",{"_index":7626,"title":{},"name":{},"text":{"261":{}},"component":{}}],["multispanfactori",{"_index":3012,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["multistreamablemessagesourc",{"_index":3804,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["multistreamablemessagesource.build",{"_index":5366,"title":{},"name":{},"text":{"88":{}},"component":{}}],["multit",{"_index":3510,"title":{},"name":{},"text":{"66":{}},"component":{}}],["multiten",{"_index":24,"title":{},"name":{},"text":{"1":{},"29":{},"30":{},"79":{},"117":{},"119":{}},"component":{"115":{},"116":{},"117":{},"118":{},"119":{}}}],["multitenantcommandbu",{"_index":5776,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantdatasourcemanag",{"_index":5781,"title":{},"name":{},"text":{"118":{},"119":{}},"component":{}}],["multitenantdeadletterprocessor",{"_index":5732,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenantdeadletterprocessor.fortenant(tenantid",{"_index":5742,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenanteventprocessor",{"_index":5730,"title":{},"name":{},"text":{"115":{},"118":{}},"component":{}}],["multitenanteventprocessorcontrolservic",{"_index":5780,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenanteventprocessorpred",{"_index":5771,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenanteventschedul",{"_index":5752,"title":{},"name":{},"text":{"115":{},"118":{}},"component":{}}],["multitenanteventstor",{"_index":5777,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantquerybu",{"_index":5778,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantqueryupdateemitt",{"_index":5779,"title":{},"name":{},"text":{"118":{}},"component":{}}],["multitenantstreamablemessagesourceprovid",{"_index":5765,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitenantstreamablemessagesourceprovider(axonservereventstor",{"_index":5766,"title":{},"name":{},"text":{"115":{}},"component":{}}],["multitud",{"_index":3253,"title":{},"name":{},"text":{"64":{}},"component":{}}],["murat",{"_index":4358,"title":{},"name":{},"text":{"67":{}},"component":{}}],["murmur3_128",{"_index":7439,"title":{},"name":{},"text":{"206":{}},"component":{}}],["murmur3_32",{"_index":7438,"title":{},"name":{},"text":{"206":{}},"component":{}}],["mutat",{"_index":2632,"title":{},"name":{},"text":{"47":{},"59":{}},"component":{}}],["mvn",{"_index":1840,"title":{},"name":{},"text":{"33":{},"279":{},"285":{}},"component":{}}],["myaggreg",{"_index":4770,"title":{},"name":{},"text":{"77":{}},"component":{}}],["myannot",{"_index":1349,"title":{},"name":{},"text":{"24":{}},"component":{}}],["myapplic",{"_index":5927,"title":{},"name":{},"text":{"128":{}},"component":{}}],["myblockedqueri",{"_index":5896,"title":{},"name":{},"text":{"121":{}},"component":{}}],["mycommanddispatchinterceptor",{"_index":2720,"title":{},"name":{},"text":{"51":{}},"component":{}}],["mycommandhandlerinterceptor",{"_index":2745,"title":{},"name":{},"text":{"51":{}},"component":{}}],["mycommandmodeltest",{"_index":4632,"title":{},"name":{},"text":{"72":{}},"component":{}}],["mycustomspanfactori",{"_index":3004,"title":{},"name":{},"text":{"59":{}},"component":{}}],["mydeadlin",{"_index":2281,"title":{},"name":{},"text":{"39":{}},"component":{}}],["mydeadlinepayload",{"_index":2302,"title":{},"name":{},"text":{"39":{}},"component":{}}],["mydomain.net",{"_index":7225,"title":{},"name":{},"text":{"199":{}},"component":{}}],["myenqueuepolici",{"_index":5045,"title":{},"name":{},"text":{"86":{}},"component":{}}],["myentitymanagerprovid",{"_index":2543,"title":{},"name":{},"text":{"46":{}},"component":{}}],["myeventhandlerinterceptor",{"_index":2770,"title":{},"name":{},"text":{"51":{}},"component":{}}],["myeventhandlingcompon",{"_index":2420,"title":{},"name":{},"text":{"43":{}},"component":{}}],["mygateway",{"_index":2116,"title":{},"name":{},"text":{"38":{}},"component":{}}],["myhandl",{"_index":5056,"title":{},"name":{},"text":{"87":{}},"component":{}}],["myid",{"_index":2692,"title":{},"name":{},"text":{"50":{}},"component":{}}],["myid2",{"_index":2693,"title":{},"name":{},"text":{"50":{}},"component":{}}],["mynam",{"_index":6394,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myname:mypropid1=myvalu",{"_index":6396,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myname:mypropid2=myvalue2",{"_index":6397,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myotherhandl",{"_index":5057,"title":{},"name":{},"text":{"87":{}},"component":{}}],["mypayload",{"_index":2640,"title":{},"name":{},"text":{"47":{}},"component":{}}],["mypersistenceunit",{"_index":2542,"title":{},"name":{},"text":{"46":{}},"component":{}}],["myprocessinggroup",{"_index":5037,"title":{},"name":{},"text":{"86":{}},"component":{}}],["mypropid1",{"_index":6398,"title":{},"name":{},"text":{"148":{}},"component":{}}],["mypropid2",{"_index":6400,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myqueu",{"_index":5424,"title":{},"name":{},"text":{"92":{}},"component":{}}],["myqueuemessagesource(amqpmessageconvert",{"_index":5420,"title":{},"name":{},"text":{"92":{}},"component":{}}],["myresult",{"_index":3247,"title":{},"name":{},"text":{"64":{}},"component":{}}],["mysaga",{"_index":4499,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["mysaga.class",{"_index":4509,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mysagaprocessor",{"_index":4500,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mysagastor",{"_index":4514,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["mysagastore(datasourc",{"_index":4515,"title":{},"name":{},"text":{"69":{}},"component":{}}],["mysequencingpolici",{"_index":5246,"title":{},"name":{},"text":{"88":{}},"component":{}}],["mysql",{"_index":3949,"title":{},"name":{},"text":{"67":{}},"component":{}}],["mytokenstor",{"_index":5222,"title":{},"name":{},"text":{"88":{}},"component":{}}],["myvalu",{"_index":6399,"title":{},"name":{},"text":{"148":{}},"component":{}}],["myvalue3",{"_index":6401,"title":{},"name":{},"text":{"148":{}},"component":{}}],["n",{"_index":574,"title":{},"name":{},"text":{"3":{},"57":{},"67":{},"87":{},"147":{},"156":{},"178":{},"191":{},"195":{}},"component":{}}],["name",{"_index":253,"title":{"206-12":{},"206-13":{},"206-21":{},"206-45":{},"280-6":{}},"name":{},"text":{"3":{},"4":{},"5":{},"15":{},"17":{},"18":{},"23":{},"24":{},"26":{},"27":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"94":{},"96":{},"102":{},"104":{},"111":{},"114":{},"115":{},"121":{},"140":{},"141":{},"142":{},"143":{},"144":{},"147":{},"148":{},"149":{},"151":{},"154":{},"156":{},"157":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"176":{},"177":{},"178":{},"179":{},"180":{},"185":{},"186":{},"188":{},"191":{},"192":{},"199":{},"202":{},"203":{},"206":{},"208":{},"209":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"229":{},"234":{},"237":{},"245":{},"246":{},"247":{},"254":{},"255":{},"274":{},"276":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{}}],["name/chang",{"_index":7618,"title":{},"name":{},"text":{"255":{}},"component":{}}],["name=axon",{"_index":5463,"title":{},"name":{},"text":{"96":{}},"component":{}}],["name=pay",{"_index":7754,"title":{},"name":{},"text":{"276":{}},"component":{}}],["name=rent",{"_index":7750,"title":{},"name":{},"text":{"276":{}},"component":{}}],["name=valu",{"_index":6574,"title":{},"name":{},"text":{"168":{}},"component":{}}],["name].load",{"_index":5292,"title":{},"name":{},"text":{"88":{}},"component":{}}],["namespac",{"_index":570,"title":{},"name":{},"text":{"3":{},"32":{},"33":{},"46":{},"191":{}},"component":{}}],["name}.connection.act",{"_index":2890,"title":{},"name":{},"text":{"54":{}},"component":{}}],["name}={path",{"_index":6437,"title":{},"name":{},"text":{"151":{}},"component":{}}],["name}@{ten",{"_index":5729,"title":{},"name":{},"text":{"115":{}},"component":{}}],["name}]/token",{"_index":5166,"title":{},"name":{},"text":{"88":{}},"component":{}}],["narrow",{"_index":7724,"title":{},"name":{},"text":{"274":{}},"component":{}}],["nativ",{"_index":104,"title":{"123":{}},"name":{"123":{}},"text":{"2":{},"30":{},"63":{},"66":{},"124":{},"126":{}},"component":{}}],["natur",{"_index":1448,"title":{},"name":{},"text":{"29":{},"31":{},"44":{},"66":{},"87":{},"120":{},"145":{},"172":{},"262":{}},"component":{}}],["navig",{"_index":835,"title":{},"name":{},"text":{"5":{},"59":{},"147":{},"156":{},"165":{},"233":{},"262":{}},"component":{}}],["near",{"_index":7544,"title":{},"name":{},"text":{"227":{},"236":{},"273":{}},"component":{}}],["nearest",{"_index":6415,"title":{},"name":{},"text":{"150":{}},"component":{}}],["nearli",{"_index":4922,"title":{},"name":{},"text":{"83":{}},"component":{}}],["necess",{"_index":3137,"title":{},"name":{},"text":{"63":{}},"component":{}}],["necessari",{"_index":1370,"title":{},"name":{},"text":{"26":{},"30":{},"32":{},"35":{},"36":{},"38":{},"39":{},"42":{},"44":{},"49":{},"57":{},"59":{},"69":{},"72":{},"77":{},"79":{},"80":{},"84":{},"86":{},"88":{},"124":{},"140":{},"145":{},"165":{},"178":{},"200":{},"201":{},"237":{},"239":{},"274":{},"276":{},"281":{}},"component":{}}],["necessarili",{"_index":529,"title":{},"name":{},"text":{"3":{},"33":{},"191":{}},"component":{}}],["need",{"_index":49,"title":{"2-4":{}},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"6":{},"14":{},"15":{},"18":{},"20":{},"21":{},"24":{},"25":{},"30":{},"31":{},"32":{},"33":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"60":{},"61":{},"63":{},"66":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"81":{},"84":{},"86":{},"87":{},"88":{},"92":{},"94":{},"97":{},"99":{},"102":{},"114":{},"115":{},"117":{},"121":{},"123":{},"124":{},"132":{},"140":{},"142":{},"144":{},"145":{},"147":{},"148":{},"149":{},"151":{},"154":{},"156":{},"157":{},"163":{},"164":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"177":{},"178":{},"180":{},"184":{},"187":{},"188":{},"189":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"214":{},"220":{},"221":{},"226":{},"230":{},"232":{},"238":{},"240":{},"247":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"266":{},"269":{},"270":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"286":{}},"component":{}}],["neg",{"_index":6312,"title":{},"name":{},"text":{"145":{}},"component":{}}],["neighbor",{"_index":7731,"title":{},"name":{},"text":{"274":{}},"component":{}}],["nest",{"_index":2569,"title":{"59-10":{}},"name":{},"text":{"46":{},"53":{}},"component":{}}],["nestingspanfactori",{"_index":3475,"title":{},"name":{},"text":{"66":{}},"component":{}}],["net",{"_index":7246,"title":{},"name":{},"text":{"200":{}},"component":{}}],["netflix",{"_index":5957,"title":{},"name":{},"text":{"129":{}},"component":{}}],["netti",{"_index":4249,"title":{},"name":{},"text":{"67":{},"163":{}},"component":{}}],["network",{"_index":445,"title":{},"name":{},"text":{"3":{},"5":{},"63":{},"132":{},"149":{},"151":{},"163":{},"175":{},"176":{},"189":{},"191":{},"192":{},"199":{},"284":{}},"component":{}}],["networking.k8s.io/v1beta1",{"_index":646,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["neutral",{"_index":1507,"title":{},"name":{},"text":{"30":{},"57":{}},"component":{}}],["never",{"_index":1922,"title":{},"name":{},"text":{"34":{},"35":{},"38":{},"53":{},"66":{},"67":{},"77":{},"81":{},"88":{},"151":{},"156":{},"157":{},"211":{},"232":{},"247":{},"260":{},"276":{},"281":{}},"component":{}}],["nevertheless",{"_index":6102,"title":{},"name":{},"text":{"142":{},"278":{}},"component":{}}],["new",{"_index":152,"title":{"232":{},"279":{},"281":{},"5-12":{},"28-1":{},"55-1":{},"140-8":{},"140-15":{},"140-25":{},"140-26":{},"141-26":{},"215-3":{},"215-7":{},"215-11":{},"215-15":{},"215-19":{},"281-2":{}},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"6":{},"8":{},"13":{},"14":{},"15":{},"18":{},"20":{},"22":{},"24":{},"29":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"94":{},"97":{},"99":{},"102":{},"115":{},"119":{},"120":{},"121":{},"127":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"163":{},"168":{},"176":{},"178":{},"179":{},"180":{},"189":{},"191":{},"192":{},"197":{},"199":{},"201":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"215":{},"217":{},"221":{},"232":{},"244":{},"254":{},"255":{},"260":{},"262":{},"274":{},"275":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["newer",{"_index":4755,"title":{},"name":{},"text":{"77":{},"151":{}},"component":{}}],["newest",{"_index":5117,"title":{},"name":{},"text":{"88":{},"151":{}},"component":{}}],["newinst",{"_index":2021,"title":{},"name":{},"text":{"36":{}},"component":{}}],["newinstance(factorymethod",{"_index":2019,"title":{},"name":{},"text":{"36":{}},"component":{}}],["newli",{"_index":2022,"title":{},"name":{},"text":{"36":{},"66":{},"67":{},"68":{},"82":{},"141":{},"145":{},"154":{},"168":{},"177":{},"178":{},"192":{},"281":{},"290":{}},"component":{}}],["newtransformation(\"mi",{"_index":6305,"title":{},"name":{},"text":{"145":{}},"component":{}}],["next",{"_index":404,"title":{},"name":{},"text":{"3":{},"15":{},"17":{},"33":{},"35":{},"38":{},"39":{},"42":{},"44":{},"49":{},"51":{},"54":{},"61":{},"66":{},"74":{},"79":{},"86":{},"87":{},"88":{},"105":{},"138":{},"142":{},"151":{},"179":{},"186":{},"191":{},"192":{},"194":{},"202":{},"237":{},"250":{},"262":{},"263":{},"271":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["nexu",{"_index":3705,"title":{},"name":{},"text":{"66":{}},"component":{}}],["nginx",{"_index":650,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["nginx.ingress.kubernetes.io/affin",{"_index":651,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["nice",{"_index":2608,"title":{},"name":{},"text":{"46":{},"67":{}},"component":{}}],["nicer",{"_index":2616,"title":{},"name":{},"text":{"46":{}},"component":{}}],["niceti",{"_index":5499,"title":{},"name":{},"text":{"99":{}},"component":{}}],["nil",{"_index":3742,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["nindex",{"_index":6840,"title":{},"name":{},"text":{"179":{}},"component":{}}],["nineti",{"_index":7728,"title":{},"name":{},"text":{"274":{}},"component":{}}],["ninetieth",{"_index":7590,"title":{},"name":{},"text":{"245":{},"261":{},"273":{},"274":{}},"component":{}}],["noargumentconstructorcreationpolicyaggregatefactori",{"_index":4160,"title":{},"name":{},"text":{"67":{}},"component":{}}],["node",{"_index":268,"title":{"130":{},"156":{},"5-4":{},"88-21":{},"140-18":{},"151-16":{},"151-17":{},"151-18":{},"151-20":{},"156-1":{},"156-2":{},"156-3":{},"156-4":{},"156-5":{},"156-6":{},"157-1":{},"192-6":{},"192-7":{},"192-8":{}},"name":{"156":{}},"text":{"3":{},"4":{},"5":{},"30":{},"31":{},"67":{},"76":{},"88":{},"94":{},"127":{},"130":{},"137":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"155":{},"156":{},"157":{},"161":{},"162":{},"163":{},"166":{},"167":{},"169":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"185":{},"186":{},"187":{},"191":{},"192":{},"195":{},"199":{},"208":{},"221":{},"228":{},"232":{},"245":{},"246":{},"260":{},"261":{},"273":{},"274":{}},"component":{}}],["node.j",{"_index":73,"title":{},"name":{},"text":{"2":{},"200":{}},"component":{}}],["nodeid",{"_index":5288,"title":{},"name":{},"text":{"88":{}},"component":{}}],["nodelist",{"_index":7184,"title":{},"name":{},"text":{"195":{}},"component":{}}],["nodeoverview",{"_index":6989,"title":{},"name":{},"text":{"180":{}},"component":{}}],["node’",{"_index":5914,"title":{},"name":{},"text":{"127":{},"151":{}},"component":{}}],["nohandlerforcommandexcept",{"_index":1851,"title":{},"name":{},"text":{"34":{}},"component":{}}],["nohandlerforqueryexcept",{"_index":3138,"title":{},"name":{},"text":{"63":{}},"component":{}}],["noisi",{"_index":3054,"title":{},"name":{},"text":{"59":{}},"component":{}}],["non",{"_index":956,"title":{"161":{},"42-2":{},"97-2":{},"192-3":{}},"name":{"161":{}},"text":{"6":{},"15":{},"21":{},"30":{},"32":{},"36":{},"37":{},"38":{},"39":{},"44":{},"45":{},"46":{},"61":{},"62":{},"66":{},"67":{},"69":{},"70":{},"71":{},"77":{},"86":{},"87":{},"97":{},"104":{},"111":{},"115":{},"120":{},"121":{},"130":{},"138":{},"140":{},"141":{},"143":{},"151":{},"157":{},"160":{},"169":{},"173":{},"179":{},"185":{},"189":{},"192":{},"197":{},"199":{},"200":{},"215":{},"232":{}},"component":{}}],["none",{"_index":462,"title":{},"name":{},"text":{"3":{},"36":{},"67":{},"69":{},"76":{},"83":{},"84":{},"88":{},"102":{},"104":{},"115":{},"153":{},"169":{},"179":{},"191":{},"273":{},"274":{}},"component":{}}],["nonetheless",{"_index":1958,"title":{},"name":{},"text":{"35":{},"67":{}},"component":{}}],["nonexist",{"_index":2055,"title":{},"name":{},"text":{"36":{}},"component":{}}],["nonnul",{"_index":3038,"title":{},"name":{},"text":{"59":{}},"component":{}}],["nonnull/nul",{"_index":3672,"title":{},"name":{},"text":{"66":{}},"component":{}}],["nonroot",{"_index":243,"title":{},"name":{},"text":{"3":{},"140":{},"191":{}},"component":{}}],["normal",{"_index":2988,"title":{"111-1":{}},"name":{},"text":{"58":{},"59":{},"67":{},"77":{},"79":{},"83":{},"88":{},"99":{},"120":{},"143":{},"145":{},"156":{},"169":{},"170":{},"173":{},"221":{},"261":{},"262":{},"290":{}},"component":{}}],["north",{"_index":7558,"title":{},"name":{},"text":{"234":{}},"component":{}}],["nosql",{"_index":1535,"title":{},"name":{},"text":{"30":{},"40":{},"46":{},"115":{}},"component":{}}],["nosuchbeandefinitionexcept",{"_index":4148,"title":{},"name":{},"text":{"67":{}},"component":{}}],["notat",{"_index":4580,"title":{},"name":{},"text":{"72":{},"88":{},"89":{},"170":{}},"component":{}}],["note",{"_index":261,"title":{"65":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"215":{},"161-4":{},"162-4":{},"235-1":{}},"name":{"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"215":{}},"text":{"3":{},"5":{},"15":{},"16":{},"19":{},"21":{},"27":{},"30":{},"31":{},"33":{},"35":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"92":{},"93":{},"94":{},"95":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"109":{},"111":{},"112":{},"115":{},"119":{},"121":{},"122":{},"124":{},"126":{},"130":{},"131":{},"134":{},"138":{},"140":{},"142":{},"144":{},"145":{},"147":{},"148":{},"151":{},"153":{},"157":{},"163":{},"166":{},"168":{},"170":{},"172":{},"174":{},"178":{},"179":{},"189":{},"191":{},"192":{},"211":{},"229":{},"255":{},"261":{},"265":{}},"component":{}}],["notempti",{"_index":2734,"title":{},"name":{},"text":{"51":{}},"component":{}}],["noteworthi",{"_index":3494,"title":{},"name":{},"text":{"66":{},"82":{}},"component":{}}],["noth",{"_index":1781,"title":{},"name":{},"text":{"33":{},"40":{},"145":{},"202":{}},"component":{}}],["notic",{"_index":1104,"title":{},"name":{},"text":{"15":{},"39":{},"66":{},"67":{},"120":{},"121":{},"274":{}},"component":{}}],["notif",{"_index":1045,"title":{},"name":{},"text":{"14":{},"42":{},"66":{},"74":{},"120":{},"141":{},"151":{},"244":{},"273":{},"280":{},"281":{}},"component":{}}],["notifi",{"_index":832,"title":{},"name":{},"text":{"5":{},"34":{},"40":{},"53":{},"55":{},"63":{},"74":{},"76":{},"80":{},"120":{},"244":{},"249":{},"259":{},"260":{},"262":{},"269":{},"280":{},"281":{},"283":{}},"component":{}}],["notificationev",{"_index":1041,"title":{},"name":{},"text":{"14":{}},"component":{}}],["notion",{"_index":3825,"title":{},"name":{},"text":{"66":{},"74":{},"121":{}},"component":{}}],["notoken",{"_index":3934,"title":{},"name":{},"text":{"67":{}},"component":{}}],["now",{"_index":148,"title":{},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"16":{},"19":{},"35":{},"39":{},"59":{},"66":{},"67":{},"72":{},"79":{},"87":{},"94":{},"99":{},"115":{},"138":{},"140":{},"141":{},"142":{},"144":{},"156":{},"166":{},"169":{},"191":{},"192":{},"199":{},"201":{},"202":{},"221":{},"232":{},"238":{},"249":{},"270":{},"271":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["npe",{"_index":3693,"title":{},"name":{},"text":{"66":{}},"component":{}}],["nr",{"_index":6533,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["ns",{"_index":575,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["null",{"_index":1075,"title":{},"name":{},"text":{"15":{},"34":{},"38":{},"44":{},"51":{},"52":{},"58":{},"66":{},"67":{},"72":{},"77":{},"84":{},"86":{},"88":{},"89":{},"104":{},"121":{},"166":{},"173":{},"280":{}},"component":{}}],["null/tru",{"_index":7205,"title":{},"name":{},"text":{"197":{}},"component":{}}],["nullabl",{"_index":2839,"title":{},"name":{},"text":{"52":{},"86":{}},"component":{}}],["nullpointerexcept",{"_index":1037,"title":{},"name":{},"text":{"14":{},"66":{},"67":{},"86":{}},"component":{}}],["number",{"_index":672,"title":{},"name":{},"text":{"3":{},"5":{},"30":{},"34":{},"36":{},"38":{},"42":{},"44":{},"46":{},"49":{},"52":{},"57":{},"58":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"76":{},"77":{},"79":{},"82":{},"84":{},"85":{},"86":{},"88":{},"89":{},"94":{},"99":{},"104":{},"111":{},"121":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"156":{},"157":{},"161":{},"162":{},"163":{},"165":{},"172":{},"179":{},"185":{},"186":{},"191":{},"193":{},"194":{},"195":{},"197":{},"203":{},"206":{},"208":{},"212":{},"229":{},"232":{},"242":{},"245":{},"246":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"264":{},"273":{},"274":{},"281":{}},"component":{}}],["numer",{"_index":554,"title":{},"name":{},"text":{"3":{},"66":{},"153":{},"191":{}},"component":{}}],["o",{"_index":465,"title":{},"name":{},"text":{"3":{},"147":{},"168":{},"174":{},"178":{},"191":{}},"component":{}}],["o.s.boot.docker.compose.core.dockercli",{"_index":8020,"title":{},"name":{},"text":{"284":{}},"component":{}}],["o/",{"_index":6552,"title":{},"name":{},"text":{"164":{}},"component":{}}],["oauth",{"_index":133,"title":{"172":{},"172-1":{},"172-2":{}},"name":{},"text":{"2":{},"4":{},"172":{},"175":{},"247":{}},"component":{}}],["oauth2",{"_index":277,"title":{"247-1":{}},"name":{"172":{}},"text":{"3":{},"169":{},"172":{},"174":{},"191":{},"247":{}},"component":{}}],["oauth2/author",{"_index":6759,"title":{},"name":{},"text":{"172":{}},"component":{}}],["object",{"_index":1318,"title":{"29-1":{},"145-1":{}},"name":{},"text":{"24":{},"29":{},"31":{},"34":{},"35":{},"38":{},"42":{},"43":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"60":{},"64":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"79":{},"80":{},"82":{},"84":{},"87":{},"88":{},"108":{},"142":{},"150":{},"170":{},"179":{},"206":{},"213":{},"216":{},"218":{},"219":{},"224":{},"239":{},"261":{},"280":{}},"component":{}}],["object#tostr",{"_index":4428,"title":{},"name":{},"text":{"68":{}},"component":{}}],["object`",{"_index":4911,"title":{},"name":{},"text":{"82":{},"85":{}},"component":{}}],["objectclass=group)(member={0",{"_index":6626,"title":{},"name":{},"text":{"170":{}},"component":{}}],["objectclass=inetorgperson)(uid={0",{"_index":6624,"title":{},"name":{},"text":{"170":{}},"component":{}}],["objectmapp",{"_index":1687,"title":{},"name":{},"text":{"31":{},"66":{}},"component":{}}],["objectnod",{"_index":1711,"title":{},"name":{},"text":{"31":{},"44":{},"66":{}},"component":{}}],["object’",{"_index":7539,"title":{},"name":{},"text":{"224":{}},"component":{}}],["observ",{"_index":88,"title":{},"name":{},"text":{"2":{},"59":{},"63":{},"79":{},"140":{},"151":{},"199":{},"211":{},"215":{},"244":{},"264":{},"290":{}},"component":{}}],["obsolet",{"_index":2284,"title":{},"name":{},"text":{"39":{},"41":{}},"component":{}}],["obtain",{"_index":1473,"title":{},"name":{},"text":{"30":{},"44":{},"46":{},"53":{},"59":{},"72":{},"76":{},"88":{},"144":{},"224":{}},"component":{}}],["obviou",{"_index":5168,"title":{},"name":{},"text":{"88":{}},"component":{}}],["obvious",{"_index":1431,"title":{},"name":{},"text":{"29":{},"67":{}},"component":{}}],["occas",{"_index":1608,"title":{},"name":{},"text":{"31":{},"87":{}},"component":{}}],["occasion",{"_index":2390,"title":{},"name":{},"text":{"42":{},"151":{}},"component":{}}],["occupi",{"_index":6252,"title":{},"name":{},"text":{"145":{}},"component":{}}],["occur",{"_index":919,"title":{},"name":{},"text":{"6":{},"16":{},"31":{},"35":{},"38":{},"40":{},"49":{},"53":{},"57":{},"67":{},"72":{},"76":{},"77":{},"79":{},"83":{},"86":{},"87":{},"88":{},"102":{},"215":{},"243":{},"244":{},"286":{},"289":{},"290":{}},"component":{}}],["occurr",{"_index":2395,"title":{},"name":{},"text":{"43":{},"67":{}},"component":{}}],["odd",{"_index":6513,"title":{},"name":{},"text":{"157":{}},"component":{}}],["offer",{"_index":51,"title":{"2-5":{}},"name":{},"text":{"6":{},"8":{},"13":{},"18":{},"40":{},"46":{},"86":{},"107":{},"120":{},"121":{},"140":{},"145":{},"147":{},"156":{},"237":{},"250":{},"263":{},"265":{},"268":{},"274":{},"281":{}},"component":{}}],["offset",{"_index":5532,"title":{"206-46":{}},"name":{},"text":{"99":{},"203":{},"219":{}},"component":{}}],["oftentim",{"_index":2218,"title":{},"name":{},"text":{"38":{}},"component":{}}],["oid",{"_index":1427,"title":{"79-6":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["oidc",{"_index":6745,"title":{},"name":{},"text":{"172":{},"247":{}},"component":{}}],["ok",{"_index":6095,"title":{},"name":{},"text":{"141":{},"142":{},"280":{},"283":{}},"component":{}}],["old",{"_index":697,"title":{},"name":{},"text":{"4":{},"36":{},"44":{},"46":{},"66":{},"67":{},"77":{},"101":{},"140":{},"145":{},"147":{},"151":{},"156":{},"179":{}},"component":{}}],["older",{"_index":1508,"title":{"144-6":{}},"name":{},"text":{"30":{},"67":{},"144":{},"145":{},"151":{},"156":{}},"component":{}}],["oldest",{"_index":5008,"title":{},"name":{},"text":{"86":{},"88":{},"151":{}},"component":{}}],["oldest/th",{"_index":5116,"title":{},"name":{},"text":{"88":{}},"component":{}}],["oldnam",{"_index":6412,"title":{},"name":{},"text":{"149":{}},"component":{}}],["olibutzki",{"_index":3425,"title":{},"name":{},"text":{"66":{}},"component":{}}],["omit",{"_index":1057,"title":{},"name":{},"text":{"14":{},"15":{},"24":{},"30":{},"33":{},"34":{},"35":{},"36":{},"38":{},"42":{},"43":{},"44":{},"46":{},"51":{},"59":{},"61":{},"64":{},"69":{},"71":{},"77":{},"80":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"110":{},"113":{},"149":{},"154":{},"166":{}},"component":{}}],["on",{"_index":223,"title":{"46-10":{}},"name":{},"text":{"3":{},"5":{},"6":{},"8":{},"13":{},"15":{},"18":{},"20":{},"30":{},"31":{},"32":{},"33":{},"34":{},"36":{},"37":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"47":{},"49":{},"50":{},"51":{},"53":{},"54":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"81":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"101":{},"102":{},"108":{},"115":{},"127":{},"130":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"157":{},"161":{},"165":{},"169":{},"174":{},"176":{},"178":{},"179":{},"180":{},"184":{},"185":{},"191":{},"192":{},"199":{},"201":{},"202":{},"204":{},"206":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"221":{},"232":{},"237":{},"244":{},"250":{},"254":{},"255":{},"257":{},"260":{},"261":{},"262":{},"268":{},"269":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"286":{},"289":{},"290":{}},"component":{}}],["on(bikecreatedev",{"_index":8045,"title":{},"name":{},"text":{"286":{}},"component":{}}],["on(bikeregisteredev",{"_index":7855,"title":{},"name":{},"text":{"280":{},"286":{},"290":{}},"component":{}}],["on(bikereleasedev",{"_index":8060,"title":{},"name":{},"text":{"288":{}},"component":{}}],["on(bikereservedev",{"_index":8057,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["on(cardcancelledev",{"_index":5353,"title":{},"name":{},"text":{"88":{}},"component":{}}],["on(cardissuedev",{"_index":4906,"title":{},"name":{},"text":{"82":{},"88":{}},"component":{}}],["on(cardredeemedev",{"_index":1195,"title":{},"name":{},"text":{"18":{},"84":{},"88":{}},"component":{}}],["on(cardreimbursedev",{"_index":4952,"title":{},"name":{},"text":{"84":{},"85":{}},"component":{}}],["on(ev",{"_index":5660,"title":{},"name":{},"text":{"108":{},"115":{}},"component":{}}],["on(expiringcardexpiredev",{"_index":1250,"title":{},"name":{},"text":{"20":{}},"component":{}}],["on(expiringcardissuedev",{"_index":1247,"title":{},"name":{},"text":{"20":{}},"component":{}}],["on(mydeadlinepayload",{"_index":2308,"title":{},"name":{},"text":{"39":{}},"component":{}}],["on(redeemedevt",{"_index":3167,"title":{},"name":{},"text":{"63":{}},"component":{}}],["on(someev",{"_index":2424,"title":{},"name":{},"text":{"43":{},"86":{}},"component":{}}],["onboard",{"_index":7593,"title":{"247-4":{}},"name":{},"text":{"247":{},"260":{},"276":{}},"component":{}}],["onc",{"_index":1054,"title":{},"name":{},"text":{"14":{},"16":{},"17":{},"38":{},"40":{},"44":{},"51":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"76":{},"77":{},"86":{},"88":{},"91":{},"117":{},"121":{},"141":{},"144":{},"145":{},"151":{},"154":{},"156":{},"162":{},"168":{},"176":{},"177":{},"178":{},"192":{},"202":{},"206":{},"232":{},"237":{},"241":{},"260":{},"261":{},"262":{},"266":{},"267":{},"270":{},"274":{},"276":{},"278":{},"279":{},"284":{}},"component":{}}],["oncleanup",{"_index":2843,"title":{},"name":{},"text":{"53":{}},"component":{}}],["oncommit",{"_index":2879,"title":{},"name":{},"text":{"53":{}},"component":{}}],["onerror",{"_index":5631,"title":{},"name":{},"text":{"105":{}},"component":{}}],["onerror(except",{"_index":5083,"title":{},"name":{},"text":{"87":{}},"component":{}}],["onerror(throw",{"_index":3224,"title":{},"name":{},"text":{"63":{}},"component":{}}],["onetomany(fetch",{"_index":4971,"title":{},"name":{},"text":{"85":{}},"component":{}}],["one’",{"_index":1706,"title":{},"name":{},"text":{"31":{},"287":{}},"component":{}}],["onfailur",{"_index":2202,"title":{},"name":{},"text":{"38":{}},"component":{}}],["onfirstinit",{"_index":6958,"title":{},"name":{},"text":{"179":{}},"component":{}}],["ongo",{"_index":6239,"title":{"145-25":{}},"name":{},"text":{"211":{}},"component":{}}],["onlin",{"_index":6511,"title":{"274-4":{}},"name":{},"text":{"157":{},"245":{},"246":{},"260":{},"261":{},"268":{},"269":{},"273":{},"274":{}},"component":{}}],["onmessage(messag",{"_index":5425,"title":{},"name":{},"text":{"92":{}},"component":{}}],["onpreparecommit",{"_index":2842,"title":{},"name":{},"text":{"53":{}},"component":{}}],["onreset(resetcontext",{"_index":5351,"title":{},"name":{},"text":{"88":{}},"component":{}}],["onresult",{"_index":1880,"title":{},"name":{},"text":{"34":{}},"component":{}}],["onresult(commandmessag",{"_index":1877,"title":{},"name":{},"text":{"34":{},"38":{}},"component":{}}],["onrollback",{"_index":2850,"title":{},"name":{},"text":{"53":{}},"component":{}}],["onsuccess",{"_index":5628,"title":{},"name":{},"text":{"105":{}},"component":{}}],["onward",{"_index":5477,"title":{},"name":{},"text":{"98":{},"142":{},"147":{},"148":{},"149":{},"150":{},"173":{}},"component":{}}],["oop",{"_index":2431,"title":{},"name":{},"text":{"44":{}},"component":{}}],["op",{"_index":1984,"title":{},"name":{},"text":{"35":{},"80":{},"199":{}},"component":{}}],["opaqu",{"_index":4649,"title":{},"name":{},"text":{"72":{}},"component":{}}],["open",{"_index":56,"title":{"224":{},"2-7":{}},"name":{},"text":{"2":{},"29":{},"30":{},"46":{},"66":{},"67":{},"69":{},"71":{},"76":{},"88":{},"99":{},"133":{},"137":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"156":{},"163":{},"165":{},"179":{},"192":{},"199":{},"201":{},"208":{},"260":{},"262":{},"273":{},"276":{},"277":{},"279":{},"280":{},"283":{},"284":{},"285":{}},"component":{}}],["openapi",{"_index":7486,"title":{},"name":{},"text":{"215":{},"224":{}},"component":{}}],["opencensu",{"_index":3046,"title":{},"name":{},"text":{"59":{}},"component":{}}],["openid",{"_index":6724,"title":{"172-4":{}},"name":{},"text":{"172":{},"247":{}},"component":{}}],["openid,email,profil",{"_index":6775,"title":{},"name":{},"text":{"172":{}},"component":{}}],["openloopgiftcard",{"_index":4891,"title":{},"name":{},"text":{"81":{}},"component":{}}],["openrewrit",{"_index":1785,"title":{},"name":{},"text":{"33":{},"67":{}},"component":{}}],["openshift",{"_index":246,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["opentelemetri",{"_index":1469,"title":{"30-14":{},"59-15":{}},"name":{},"text":{"30":{},"59":{},"66":{},"67":{}},"component":{}}],["opentelemetryspanfactori",{"_index":3013,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["opentelemetryspanfactory.builder().build",{"_index":3016,"title":{},"name":{},"text":{"59":{}},"component":{}}],["opentrac",{"_index":2993,"title":{"59-21":{}},"name":{},"text":{"59":{},"133":{}},"component":{}}],["oper",{"_index":767,"title":{"171":{},"82-2":{},"111-1":{},"151-14":{},"193-1":{},"193-2":{},"193-3":{}},"name":{},"text":{"5":{},"6":{},"8":{},"13":{},"30":{},"34":{},"35":{},"39":{},"46":{},"47":{},"58":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"82":{},"86":{},"87":{},"88":{},"89":{},"99":{},"101":{},"111":{},"120":{},"121":{},"130":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"151":{},"156":{},"164":{},"168":{},"169":{},"171":{},"179":{},"180":{},"183":{},"192":{},"193":{},"202":{},"204":{},"218":{},"262":{},"274":{},"280":{},"287":{}},"component":{}}],["opinion",{"_index":7648,"title":{},"name":{},"text":{"264":{}},"component":{}}],["opportun",{"_index":4329,"title":{},"name":{},"text":{"67":{},"88":{},"127":{}},"component":{}}],["opt",{"_index":259,"title":{},"name":{},"text":{"3":{},"79":{},"128":{},"191":{}},"component":{}}],["optim",{"_index":1613,"title":{},"name":{},"text":{"31":{},"38":{},"46":{},"67":{},"72":{},"76":{},"77":{},"78":{},"79":{},"88":{},"111":{},"140":{},"141":{},"150":{},"151":{},"164":{},"280":{},"284":{}},"component":{}}],["option",{"_index":722,"title":{"5-1":{},"168-3":{},"174-3":{},"269-2":{},"269-3":{}},"name":{},"text":{"5":{},"6":{},"8":{},"13":{},"15":{},"16":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"51":{},"58":{},"60":{},"61":{},"63":{},"64":{},"66":{},"69":{},"71":{},"72":{},"74":{},"76":{},"79":{},"82":{},"83":{},"86":{},"87":{},"88":{},"89":{},"99":{},"102":{},"129":{},"130":{},"132":{},"137":{},"140":{},"141":{},"142":{},"145":{},"147":{},"148":{},"151":{},"155":{},"156":{},"157":{},"160":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"178":{},"179":{},"181":{},"192":{},"199":{},"202":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"220":{},"226":{},"228":{},"229":{},"232":{},"237":{},"244":{},"263":{},"267":{},"269":{},"274":{},"276":{},"277":{},"279":{},"280":{},"283":{}},"component":{}}],["optional.of(top",{"_index":5578,"title":{},"name":{},"text":{"102":{}},"component":{}}],["optional.ofnullable(command.getmetadata().get(\"userid",{"_index":2748,"title":{},"name":{},"text":{"51":{}},"component":{}}],["optional.ofnullable(event.getmetadata().get(\"userid",{"_index":2771,"title":{},"name":{},"text":{"51":{}},"component":{}}],["optionalletterprocessor",{"_index":5021,"title":{},"name":{},"text":{"86":{}},"component":{}}],["optionalletterprocessor.get",{"_index":5024,"title":{},"name":{},"text":{"86":{}},"component":{}}],["optionalletterprocessor.ispres",{"_index":5022,"title":{},"name":{},"text":{"86":{}},"component":{}}],["oracl",{"_index":4157,"title":{},"name":{},"text":{"67":{}},"component":{}}],["oracle11sagasqlschema",{"_index":4491,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["oracle11tokentablefactori",{"_index":5214,"title":{},"name":{},"text":{"88":{}},"component":{}}],["orchestr",{"_index":6512,"title":{},"name":{},"text":{"157":{}},"component":{}}],["order",{"_index":153,"title":{"64-2":{},"86-1":{},"87-3":{}},"name":{},"text":{"2":{},"5":{},"6":{},"16":{},"31":{},"32":{},"35":{},"38":{},"42":{},"44":{},"49":{},"51":{},"52":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"77":{},"79":{},"86":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"115":{},"119":{},"121":{},"142":{},"144":{},"145":{},"147":{},"151":{},"154":{},"163":{},"170":{},"177":{},"189":{},"202":{},"203":{},"209":{},"211":{},"230":{},"231":{},"233":{},"260":{},"264":{},"269":{},"273":{},"275":{},"280":{},"281":{},"286":{},"290":{}},"component":{}}],["order(0",{"_index":2505,"title":{},"name":{},"text":{"44":{}},"component":{}}],["order(1",{"_index":2506,"title":{},"name":{},"text":{"44":{}},"component":{}}],["orderid",{"_index":4434,"title":{},"name":{},"text":{"68":{},"69":{}},"component":{}}],["ordermanagementsaga",{"_index":4432,"title":{},"name":{},"text":{"68":{}},"component":{}}],["orderplac",{"_index":920,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ordinari",{"_index":7312,"title":{},"name":{},"text":{"203":{}},"component":{}}],["orelse(origin",{"_index":1331,"title":{},"name":{},"text":{"24":{}},"component":{}}],["orelsethrow",{"_index":1340,"title":{},"name":{},"text":{"24":{},"76":{},"86":{}},"component":{}}],["orelsethrow(illegalcommandexception::new",{"_index":2751,"title":{},"name":{},"text":{"51":{}},"component":{}}],["orelsethrow(illegaleventexception::new",{"_index":2772,"title":{},"name":{},"text":{"51":{}},"component":{}}],["org.axonframework",{"_index":1482,"title":{},"name":{},"text":{"30":{},"38":{},"46":{},"59":{},"61":{},"278":{},"285":{}},"component":{}}],["org.axonframework.axonserver.connector.axonserverconfigur",{"_index":1761,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.commandhandling.commandhandl",{"_index":1940,"title":{},"name":{},"text":{"35":{},"80":{},"82":{},"84":{},"85":{},"281":{}},"component":{}}],["org.axonframework.commandhandling.commandmessag",{"_index":5619,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.axonframework.commandhandling.gateway.commandgateway",{"_index":5620,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.axonframework.common.jpa.entitymanagerprovid",{"_index":1790,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.jpa.pagingjpaqueryiter",{"_index":1792,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.jpa.simpleentitymanagerprovid",{"_index":1794,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.legacyjpa.entitymanagerprovid",{"_index":1791,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.legacyjpa.pagingjpaqueryiter",{"_index":1793,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.common.legacyjpa.simpleentitymanagerprovid",{"_index":1795,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.config.configur",{"_index":1223,"title":{},"name":{},"text":{"20":{},"115":{},"144":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.deadletterjpaconvert",{"_index":1796,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.eventmessagedeadletterjpaconvert",{"_index":1798,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.jpadeadlett",{"_index":1800,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.jpa.jpasequenceddeadletterqueu",{"_index":1802,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.deadletterjpaconvert",{"_index":1797,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.eventmessagedeadletterjpaconvert",{"_index":1799,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.jpadeadlett",{"_index":1801,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.deadletter.legacyjpa.jpasequenceddeadletterqueu",{"_index":1803,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.eventhandl",{"_index":4964,"title":{},"name":{},"text":{"85":{},"108":{}},"component":{}}],["org.axonframework.eventhandling.tokenstor",{"_index":1727,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.eventhandling.tokenstore.jpa.jpatokenstor",{"_index":1804,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventhandling.tokenstore.jpa.tokenentri",{"_index":5209,"title":{},"name":{},"text":{"88":{}},"component":{}}],["org.axonframework.eventhandling.tokenstore.legacyjpa.jpatokenstor",{"_index":1805,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventsourcinghandl",{"_index":4905,"title":{},"name":{},"text":{"82":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jdbc.stat",{"_index":2586,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa",{"_index":1729,"title":{},"name":{},"text":{"32":{},"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.domainevententri",{"_index":2525,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.jpaeventstorageengin",{"_index":1806,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.snapshotevententri",{"_index":2526,"title":{},"name":{},"text":{"46":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.jpa.sqlerrorcodesresolv",{"_index":1808,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.legacyjpa.jpaeventstorageengin",{"_index":1807,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.eventsourcing.eventstore.legacyjpa.sqlerrorcodesresolv",{"_index":1809,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.example.eventhandl",{"_index":5055,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.modul",{"_index":5058,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.module.modulehandl",{"_index":5053,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.myhandl",{"_index":5051,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.example.eventhandling.myotherhandl",{"_index":5052,"title":{},"name":{},"text":{"87":{}},"component":{}}],["org.axonframework.extens",{"_index":1513,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.amqp",{"_index":1514,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.cdi",{"_index":1515,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.jgroup",{"_index":1516,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.jobrunrpro",{"_index":1518,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.kafka",{"_index":1519,"title":{},"name":{},"text":{"30":{},"104":{}},"component":{}}],["org.axonframework.extensions.kotlin",{"_index":1520,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.mongo",{"_index":1521,"title":{},"name":{},"text":{"30":{},"114":{}},"component":{}}],["org.axonframework.extensions.multiten",{"_index":1522,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.reactor",{"_index":1523,"title":{},"name":{},"text":{"30":{},"121":{}},"component":{}}],["org.axonframework.extensions.spr",{"_index":1524,"title":{},"name":{},"text":{"30":{},"123":{}},"component":{}}],["org.axonframework.extensions.springcloud",{"_index":1526,"title":{},"name":{},"text":{"30":{}},"component":{}}],["org.axonframework.extensions.trac",{"_index":1527,"title":{},"name":{},"text":{"30":{},"133":{}},"component":{}}],["org.axonframework.firestart",{"_index":7673,"title":{},"name":{},"text":{"270":{}},"component":{}}],["org.axonframework.firestarter:firestart",{"_index":7672,"title":{},"name":{},"text":{"270":{}},"component":{}}],["org.axonframework.messaging.interceptors.beanvalidationinterceptor",{"_index":1810,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.interceptors.jsr303violationexcept",{"_index":1812,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.interceptors.legacyvalidation.beanvalidationinterceptor",{"_index":1811,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.interceptors.legacyvalidation.jsr303violationexcept",{"_index":1813,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.messaging.metadata",{"_index":5621,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.axonframework.modeling.command.aggregateidentifi",{"_index":7961,"title":{},"name":{},"text":{"281":{}},"component":{}}],["org.axonframework.modelling.command.aggregatecreationpolici",{"_index":1983,"title":{},"name":{},"text":{"35":{}},"component":{}}],["org.axonframework.modelling.command.aggregateidentifi",{"_index":1941,"title":{},"name":{},"text":{"35":{},"82":{},"84":{},"85":{}},"component":{}}],["org.axonframework.modelling.command.aggregatelifecycle.appli",{"_index":1942,"title":{},"name":{},"text":{"35":{},"42":{},"80":{},"82":{},"84":{}},"component":{}}],["org.axonframework.modelling.command.aggregatelifecycle.createnew",{"_index":4873,"title":{},"name":{},"text":{"80":{}},"component":{}}],["org.axonframework.modelling.command.aggregatememb",{"_index":4929,"title":{},"name":{},"text":{"84":{},"85":{}},"component":{}}],["org.axonframework.modelling.command.creationpolici",{"_index":1982,"title":{},"name":{},"text":{"35":{}},"component":{}}],["org.axonframework.modelling.command.entityid",{"_index":4930,"title":{},"name":{},"text":{"84":{}},"component":{}}],["org.axonframework.modelling.command.forwardmatchinginst",{"_index":4955,"title":{},"name":{},"text":{"84":{}},"component":{}}],["org.axonframework.modelling.command.genericjparepositori",{"_index":1814,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.modelling.command.legacyjpa.genericjparepositori",{"_index":1815,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.modelling.command.repositori",{"_index":1993,"title":{},"name":{},"text":{"35":{},"67":{}},"component":{}}],["org.axonframework.modelling.command.targetaggregateidentifi",{"_index":1949,"title":{},"name":{},"text":{"35":{},"281":{}},"component":{}}],["org.axonframework.modelling.saga.repository.jpa",{"_index":1728,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.modelling.saga.repository.jpa.jpasagastor",{"_index":1816,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.modelling.saga.repository.legacyjpa.jpasagastor",{"_index":1817,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.queryhandling.querygateway",{"_index":5647,"title":{},"name":{},"text":{"108":{}},"component":{}}],["org.axonframework.queryhandling.queryhandl",{"_index":3238,"title":{},"name":{},"text":{"64":{},"280":{}},"component":{}}],["org.axonframework.queryhandling.queryupdateemitt",{"_index":5659,"title":{},"name":{},"text":{"108":{}},"component":{}}],["org.axonframework.serialization.upcasting.event.singleeventupcast",{"_index":5634,"title":{},"name":{},"text":{"106":{}},"component":{}}],["org.axonframework.spring.stereotyp",{"_index":2008,"title":{},"name":{},"text":{"36":{}},"component":{}}],["org.axonframework.spring.stereotype.aggreg",{"_index":2009,"title":{},"name":{},"text":{"36":{},"281":{}},"component":{}}],["org.axonframework.spring.stereotype.saga",{"_index":4505,"title":{},"name":{},"text":{"69":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonautoconfigur",{"_index":1741,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonserveractuatorautoconfigur",{"_index":1753,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonserverautoconfigur",{"_index":1751,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axonserverbusautoconfigur",{"_index":1754,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.axontracingautoconfigur",{"_index":1755,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.eventprocessingautoconfigur",{"_index":1740,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.infraconfigur",{"_index":1749,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.jdbcautoconfigur",{"_index":1746,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.jpaautoconfigur",{"_index":1744,"title":{},"name":{},"text":{"32":{},"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.jpaeventstoreautoconfigur",{"_index":1745,"title":{},"name":{},"text":{"32":{},"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacy_jpa.jpajavaxautoconfigur",{"_index":1742,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacy_jpa.jpajavaxeventstoreautoconfigur",{"_index":1743,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacyjpa.jpajavaxautoconfigur",{"_index":1818,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.legacyjpa.jpajavaxeventstoreautoconfigur",{"_index":1819,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.springboot.autoconfig.metricsautoconfigur",{"_index":1738,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.micrometermetricsautoconfigur",{"_index":1739,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.nooptransactionautoconfigur",{"_index":1748,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.objectmapperautoconfigur",{"_index":1750,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.opentelemetryautoconfigur",{"_index":1756,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.transactionautoconfigur",{"_index":1747,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.autoconfig.xstreamautoconfigur",{"_index":1752,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.axonframework.springboot.util.jpa.containermanagedentitymanagerprovid",{"_index":1820,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.springboot.util.legacyjpa.containermanagedentitymanagerprovid",{"_index":1821,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.axonframework.test.aggregate.aggregatetestfixtur",{"_index":4531,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.aggregate.fixtureconfigur",{"_index":4532,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.andnomor",{"_index":4627,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.equalto",{"_index":4628,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.exactsequenceof",{"_index":4629,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.messagewithpayload",{"_index":4630,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework.test.matchers.matchers.payloadsmatch",{"_index":4631,"title":{},"name":{},"text":{"72":{}},"component":{}}],["org.axonframework:axon",{"_index":1551,"title":{},"name":{},"text":{"30":{},"285":{}},"component":{}}],["org.codehaus.mojo.archetyp",{"_index":7812,"title":{},"name":{},"text":{"279":{}},"component":{}}],["org.dom4j.document.class",{"_index":2485,"title":{},"name":{},"text":{"44":{}},"component":{}}],["org.openrewrite.maven:rewrit",{"_index":1841,"title":{},"name":{},"text":{"33":{}},"component":{}}],["org.sampl",{"_index":6383,"title":{},"name":{},"text":{"148":{}},"component":{}}],["org.slf4j.loggerfactori",{"_index":5622,"title":{},"name":{},"text":{"105":{}},"component":{}}],["org.springframework.boot",{"_index":7818,"title":{},"name":{},"text":{"279":{},"284":{}},"component":{}}],["org.springframework.boot.autoconfigure.autoconfiguration.import",{"_index":1759,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.springframework.boot.autoconfigure.enableautoconfigur",{"_index":1737,"title":{},"name":{},"text":{"32":{}},"component":{}}],["org.springframework.boot:spr",{"_index":7800,"title":{},"name":{},"text":{"279":{}},"component":{}}],["org.springframework.stereotype.repositori",{"_index":7854,"title":{},"name":{},"text":{"280":{}},"component":{}}],["organ",{"_index":5048,"title":{},"name":{},"text":{"87":{},"140":{},"241":{},"255":{}},"component":{}}],["orient",{"_index":2429,"title":{},"name":{},"text":{"44":{}},"component":{}}],["origin",{"_index":831,"title":{"206-38":{}},"name":{},"text":{"5":{},"24":{},"31":{},"39":{},"42":{},"44":{},"48":{},"49":{},"50":{},"52":{},"55":{},"56":{},"59":{},"66":{},"67":{},"79":{},"82":{},"88":{},"145":{},"179":{},"206":{},"215":{},"250":{},"274":{},"280":{},"283":{}},"component":{}}],["origin=fals",{"_index":6088,"title":{},"name":{},"text":{"141":{}},"component":{}}],["original.attribute(\"metadatakey",{"_index":1327,"title":{},"name":{},"text":{"24":{}},"component":{}}],["orm",{"_index":4864,"title":{},"name":{},"text":{"79":{}},"component":{}}],["orm.xml",{"_index":4863,"title":{},"name":{},"text":{"79":{}},"component":{}}],["os",{"_index":7024,"title":{},"name":{},"text":{"185":{}},"component":{}}],["os/jvm",{"_index":7148,"title":{},"name":{},"text":{"190":{}},"component":{}}],["osgi",{"_index":1367,"title":{},"name":{},"text":{"26":{},"148":{},"178":{},"179":{}},"component":{}}],["other",{"_index":943,"title":{"46-13":{}},"name":{},"text":{"6":{},"30":{},"53":{},"59":{},"67":{},"69":{},"72":{},"82":{},"86":{},"156":{},"239":{}},"component":{}}],["otherwis",{"_index":374,"title":{},"name":{},"text":{"3":{},"34":{},"35":{},"36":{},"38":{},"50":{},"52":{},"72":{},"80":{},"88":{},"101":{},"120":{},"124":{},"147":{},"191":{},"201":{},"206":{},"273":{}},"component":{}}],["other’",{"_index":939,"title":{},"name":{},"text":{"6":{}},"component":{}}],["ou=people,dc=planetexpress,dc=com",{"_index":6623,"title":{},"name":{},"text":{"170":{}},"component":{}}],["out",{"_index":78,"title":{},"name":{},"text":{"2":{},"3":{},"5":{},"20":{},"31":{},"36":{},"38":{},"39":{},"44":{},"46":{},"48":{},"53":{},"56":{},"59":{},"60":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"85":{},"87":{},"88":{},"91":{},"94":{},"104":{},"115":{},"117":{},"127":{},"129":{},"141":{},"143":{},"157":{},"168":{},"172":{},"174":{},"179":{},"187":{},"191":{},"226":{},"249":{},"259":{},"261":{},"265":{},"273":{},"274":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["outcom",{"_index":1875,"title":{},"name":{},"text":{"34":{},"49":{},"60":{},"67":{},"72":{},"80":{},"87":{},"88":{},"289":{}},"component":{}}],["outdat",{"_index":6053,"title":{},"name":{},"text":{"140":{},"260":{}},"component":{}}],["outer",{"_index":2884,"title":{},"name":{},"text":{"53":{},"72":{}},"component":{}}],["outgo",{"_index":5861,"title":{"206-25":{},"206-30":{}},"name":{},"text":{"121":{},"206":{}},"component":{}}],["outlin",{"_index":7599,"title":{},"name":{},"text":{"250":{},"260":{}},"component":{}}],["outofmemoryexception`",{"_index":2556,"title":{},"name":{},"text":{"46":{}},"component":{}}],["outperform",{"_index":2170,"title":{},"name":{},"text":{"38":{},"46":{}},"component":{}}],["output",{"_index":1661,"title":{},"name":{},"text":{"31":{},"44":{},"46":{},"105":{},"147":{},"166":{},"168":{},"174":{},"178":{},"184":{},"290":{}},"component":{}}],["outsid",{"_index":2987,"title":{},"name":{},"text":{"58":{},"72":{},"84":{},"87":{},"100":{},"108":{},"115":{},"130":{},"151":{},"261":{},"281":{}},"component":{}}],["over",{"_index":1079,"title":{},"name":{},"text":{"15":{},"16":{},"30":{},"33":{},"38":{},"39":{},"44":{},"49":{},"51":{},"56":{},"57":{},"59":{},"60":{},"63":{},"66":{},"67":{},"76":{},"79":{},"84":{},"86":{},"88":{},"94":{},"101":{},"107":{},"130":{},"138":{},"140":{},"142":{},"147":{},"151":{},"162":{},"163":{},"179":{},"203":{},"221":{},"235":{},"239":{},"242":{},"260":{},"261":{},"273":{},"274":{},"281":{}},"component":{}}],["overal",{"_index":806,"title":{},"name":{},"text":{"5":{},"30":{},"51":{},"57":{},"87":{},"88":{},"140":{},"151":{},"156":{},"163":{},"185":{},"245":{}},"component":{}}],["overcom",{"_index":3826,"title":{},"name":{},"text":{"66":{},"145":{}},"component":{}}],["overflow",{"_index":3212,"title":{},"name":{},"text":{"63":{},"79":{}},"component":{}}],["overhead",{"_index":1071,"title":{},"name":{},"text":{"15":{},"29":{},"38":{},"79":{},"88":{},"261":{},"274":{}},"component":{}}],["overload",{"_index":3177,"title":{},"name":{},"text":{"63":{}},"component":{}}],["overlook",{"_index":5784,"title":{},"name":{},"text":{"120":{}},"component":{}}],["overrid",{"_index":683,"title":{"4-1":{},"79-5":{},"115-12":{},"244-3":{}},"name":{},"text":{"14":{},"24":{},"25":{},"27":{},"31":{},"32":{},"44":{},"46":{},"50":{},"51":{},"56":{},"59":{},"66":{},"67":{},"79":{},"86":{},"88":{},"92":{},"115":{},"121":{},"147":{},"148":{},"154":{},"177":{},"179":{},"244":{},"262":{},"273":{}},"component":{}}],["overridden",{"_index":1959,"title":{},"name":{},"text":{"35":{},"63":{},"90":{},"167":{}},"component":{}}],["overs",{"_index":4827,"title":{},"name":{},"text":{"79":{}},"component":{}}],["overse",{"_index":7545,"title":{},"name":{},"text":{"227":{},"236":{}},"component":{}}],["overtim",{"_index":1674,"title":{},"name":{},"text":{"31":{}},"component":{}}],["overview",{"_index":821,"title":{"210":{},"268":{},"274":{},"199-4":{},"200-2":{},"244-1":{},"274-33":{}},"name":{"210":{},"245":{}},"text":{"5":{},"28":{},"38":{},"58":{},"61":{},"67":{},"72":{},"140":{},"141":{},"154":{},"165":{},"168":{},"169":{},"171":{},"177":{},"178":{},"186":{},"199":{},"201":{},"220":{},"227":{},"236":{},"244":{},"257":{},"260":{},"261":{},"262":{},"271":{},"274":{},"284":{}},"component":{}}],["overwhelm",{"_index":525,"title":{},"name":{},"text":{"3":{},"63":{},"121":{},"163":{},"191":{}},"component":{}}],["overwrit",{"_index":2043,"title":{},"name":{},"text":{"36":{},"38":{},"66":{},"142":{}},"component":{}}],["overwritten",{"_index":2644,"title":{},"name":{},"text":{"47":{}},"component":{}}],["ovstetun",{"_index":4381,"title":{},"name":{},"text":{"67":{}},"component":{}}],["own",{"_index":544,"title":{},"name":{},"text":{"3":{},"76":{},"88":{},"115":{},"191":{}},"component":{}}],["owner",{"_index":546,"title":{},"name":{},"text":{"3":{},"5":{},"72":{},"191":{},"231":{},"255":{}},"component":{}}],["ownership",{"_index":335,"title":{},"name":{},"text":{"3":{},"191":{},"255":{}},"component":{}}],["oxymoron",{"_index":6242,"title":{},"name":{},"text":{"145":{}},"component":{}}],["oyst",{"_index":4224,"title":{},"name":{},"text":{"67":{}},"component":{}}],["p",{"_index":348,"title":{},"name":{},"text":{"3":{},"115":{},"147":{},"148":{},"174":{},"178":{},"191":{}},"component":{}}],["p86t",{"_index":7458,"title":{},"name":{},"text":{"211":{},"212":{},"214":{}},"component":{}}],["p90",{"_index":7637,"title":{},"name":{},"text":{"262":{}},"component":{}}],["pace",{"_index":955,"title":{},"name":{},"text":{"6":{},"88":{},"145":{}},"component":{}}],["packag",{"_index":301,"title":{"140-12":{}},"name":{},"text":{"3":{},"4":{},"31":{},"32":{},"33":{},"34":{},"36":{},"44":{},"46":{},"66":{},"67":{},"72":{},"87":{},"88":{},"140":{},"141":{},"148":{},"161":{},"178":{},"179":{},"191":{},"199":{},"201":{},"215":{},"260":{},"266":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["page",{"_index":748,"title":{},"name":{},"text":{"5":{},"8":{},"13":{},"29":{},"31":{},"34":{},"36":{},"38":{},"42":{},"51":{},"56":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"75":{},"85":{},"86":{},"87":{},"88":{},"140":{},"141":{},"143":{},"144":{},"151":{},"153":{},"154":{},"173":{},"177":{},"188":{},"201":{},"202":{},"203":{},"221":{},"224":{},"228":{},"232":{},"235":{},"237":{},"244":{},"245":{},"249":{},"250":{},"254":{},"257":{},"259":{},"260":{},"262":{},"263":{},"270":{},"273":{},"274":{},"283":{}},"component":{}}],["pagerduti",{"_index":7699,"title":{},"name":{},"text":{"273":{}},"component":{}}],["pagin",{"_index":3218,"title":{},"name":{},"text":{"63":{}},"component":{}}],["paid",{"_index":791,"title":{},"name":{},"text":{"5":{},"39":{},"40":{},"68":{},"74":{},"273":{},"274":{}},"component":{}}],["pair",{"_index":1909,"title":{},"name":{},"text":{"34":{},"47":{},"66":{},"67":{},"85":{},"88":{},"99":{},"102":{},"106":{},"121":{},"179":{},"211":{},"212":{},"214":{}},"component":{}}],["panel",{"_index":6496,"title":{},"name":{},"text":{"154":{},"177":{},"199":{},"232":{},"235":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"263":{},"270":{},"274":{},"276":{},"277":{},"283":{},"284":{}},"component":{}}],["par",{"_index":1634,"title":{},"name":{},"text":{"31":{}},"component":{}}],["paradigm",{"_index":1498,"title":{},"name":{},"text":{"30":{},"85":{},"89":{}},"component":{}}],["parallel",{"_index":2984,"title":{"88-15":{}},"name":{},"text":{"58":{},"67":{},"78":{},"86":{},"88":{},"89":{},"163":{},"260":{}},"component":{}}],["param",{"_index":1080,"title":{},"name":{},"text":{"15":{},"172":{}},"component":{}}],["paramat",{"_index":7206,"title":{},"name":{},"text":{"197":{}},"component":{}}],["paramet",{"_index":1105,"title":{"26":{},"52":{},"52-1":{},"52-2":{},"52-3":{},"168-2":{},"168-3":{},"174-2":{},"174-3":{}},"name":{"26":{},"52":{}},"text":{"15":{},"25":{},"26":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"44":{},"49":{},"51":{},"52":{},"53":{},"58":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"80":{},"83":{},"86":{},"88":{},"89":{},"97":{},"108":{},"115":{},"121":{},"126":{},"141":{},"144":{},"147":{},"148":{},"156":{},"172":{},"178":{},"179":{},"195":{},"197":{},"208":{},"211":{},"273":{},"280":{},"281":{},"283":{}},"component":{}}],["parameter",{"_index":3286,"title":{},"name":{},"text":{"66":{}},"component":{}}],["parameterresolv",{"_index":1363,"title":{},"name":{},"text":{"26":{},"52":{},"72":{}},"component":{}}],["parameterresolver`",{"_index":2305,"title":{},"name":{},"text":{"39":{},"52":{}},"component":{}}],["parameterresolverfactori",{"_index":1364,"title":{},"name":{},"text":{"26":{},"52":{},"66":{},"72":{}},"component":{}}],["parameter’",{"_index":5355,"title":{},"name":{},"text":{"88":{}},"component":{}}],["paramount",{"_index":2494,"title":{},"name":{},"text":{"44":{}},"component":{}}],["params.prompt=select_account",{"_index":6768,"title":{},"name":{},"text":{"172":{}},"component":{}}],["parent",{"_index":2690,"title":{},"name":{},"text":{"50":{},"59":{},"63":{},"66":{},"67":{},"80":{},"81":{},"84":{},"133":{},"279":{}},"component":{}}],["parentaggreg",{"_index":4871,"title":{},"name":{},"text":{"80":{}},"component":{}}],["parenthes",{"_index":5658,"title":{},"name":{},"text":{"108":{}},"component":{}}],["park",{"_index":4982,"title":{},"name":{},"text":{"86":{},"87":{}},"component":{}}],["pars",{"_index":7501,"title":{},"name":{},"text":{"215":{}},"component":{}}],["part",{"_index":1176,"title":{"237-1":{},"237-2":{},"237-3":{}},"name":{},"text":{"17":{},"20":{},"24":{},"30":{},"33":{},"38":{},"40":{},"44":{},"45":{},"49":{},"57":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"77":{},"82":{},"84":{},"86":{},"87":{},"88":{},"124":{},"133":{},"144":{},"147":{},"148":{},"154":{},"178":{},"192":{},"207":{},"209":{},"238":{},"246":{},"249":{},"259":{},"260":{},"261":{},"262":{},"271":{},"274":{},"277":{},"279":{},"280":{},"286":{},"289":{},"290":{}},"component":{}}],["partak",{"_index":2620,"title":{},"name":{},"text":{"46":{}},"component":{}}],["parti",{"_index":12,"title":{},"name":{},"text":{"1":{},"64":{},"88":{},"121":{},"200":{},"224":{},"281":{}},"component":{}}],["partial",{"_index":3773,"title":{"88-29":{}},"name":{},"text":{"66":{},"88":{},"140":{}},"component":{}}],["particip",{"_index":6501,"title":{},"name":{},"text":{"156":{},"157":{}},"component":{}}],["particular",{"_index":531,"title":{},"name":{},"text":{"3":{},"76":{},"87":{},"88":{},"143":{},"150":{},"156":{},"157":{},"191":{},"239":{},"242":{},"245":{},"273":{},"274":{}},"component":{}}],["particularli",{"_index":238,"title":{},"name":{},"text":{"3":{},"44":{},"140":{},"151":{},"191":{},"243":{}},"component":{}}],["partit",{"_index":5500,"title":{"102-2":{}},"name":{},"text":{"99":{},"102":{}},"component":{}}],["pass",{"_index":1259,"title":{"166-1":{},"166-2":{}},"name":{},"text":{"21":{},"22":{},"24":{},"31":{},"36":{},"38":{},"43":{},"47":{},"50":{},"52":{},"66":{},"72":{},"77":{},"83":{},"89":{},"101":{},"104":{},"119":{},"143":{},"144":{},"147":{},"166":{},"204":{},"215":{},"216":{},"217":{},"219":{},"243":{},"261":{},"280":{},"285":{}},"component":{}}],["passiv",{"_index":6497,"title":{"156-3":{}},"name":{},"text":{"156":{}},"component":{}}],["passive_backup",{"_index":6368,"title":{},"name":{},"text":{"147":{},"156":{},"157":{},"178":{}},"component":{}}],["password",{"_index":754,"title":{"169-4":{},"206-35":{},"247-3":{}},"name":{},"text":{"5":{},"161":{},"166":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"178":{},"179":{},"199":{},"204":{},"206":{},"247":{}},"component":{}}],["past",{"_index":4528,"title":{},"name":{},"text":{"72":{},"77":{},"82":{},"87":{},"88":{},"145":{},"276":{},"280":{}},"component":{}}],["patch",{"_index":3887,"title":{"119-2":{},"126-2":{}},"name":{},"text":{"67":{},"138":{},"141":{},"144":{}},"component":{}}],["path",{"_index":298,"title":{"206-10":{}},"name":{},"text":{"3":{},"4":{},"31":{},"33":{},"59":{},"67":{},"142":{},"151":{},"154":{},"177":{},"179":{},"184":{},"185":{},"191":{},"192":{},"206":{},"216":{},"217":{},"219":{},"267":{},"268":{},"280":{},"281":{},"288":{},"289":{}},"component":{}}],["path=./data",{"_index":388,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pathvariable(\"bikeid",{"_index":7904,"title":{},"name":{},"text":{"280":{}},"component":{}}],["pattern",{"_index":809,"title":{},"name":{},"text":{"5":{},"8":{},"13":{},"30":{},"31":{},"49":{},"51":{},"61":{},"63":{},"66":{},"67":{},"102":{},"121":{},"170":{},"216":{},"217":{},"219":{},"280":{},"281":{},"285":{},"287":{}},"component":{}}],["paus",{"_index":6198,"title":{"148-6":{},"151-14":{},"260-2":{}},"name":{},"text":{"144":{},"148":{},"151":{},"178":{},"180":{},"246":{},"260":{},"274":{}},"component":{}}],["pause_event_processor",{"_index":6683,"title":{},"name":{},"text":{"171":{}},"component":{}}],["pauseeventprocessor",{"_index":6209,"title":{},"name":{},"text":{"144":{}},"component":{}}],["pauseeventprocessor(eventprocessoridentifi",{"_index":6967,"title":{},"name":{},"text":{"180":{}},"component":{}}],["pay",{"_index":725,"title":{"5-6":{}},"name":{},"text":{"39":{}},"component":{}}],["payload",{"_index":741,"title":{"5-14":{}},"name":{},"text":{"5":{},"6":{},"27":{},"31":{},"34":{},"38":{},"39":{},"42":{},"43":{},"44":{},"47":{},"49":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"63":{},"64":{},"72":{},"74":{},"79":{},"84":{},"89":{},"101":{},"115":{},"121":{},"132":{},"143":{},"194":{},"195":{},"202":{},"203":{},"213":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{}},"component":{}}],["payload_typ",{"_index":5971,"title":{},"name":{},"text":{"132":{}},"component":{}}],["payloadclass",{"_index":3110,"title":{},"name":{},"text":{"59":{}},"component":{}}],["payloaddata",{"_index":7180,"title":{},"name":{},"text":{"194":{},"195":{}},"component":{}}],["payloadlessdeadlin",{"_index":2313,"title":{},"name":{},"text":{"39":{}},"component":{}}],["payloadrevis",{"_index":7179,"title":{},"name":{},"text":{"194":{}},"component":{}}],["payloadtyp",{"_index":1383,"title":{},"name":{},"text":{"27":{},"51":{},"57":{},"66":{},"193":{},"194":{},"202":{},"203":{},"211":{},"214":{},"216":{},"219":{}},"component":{}}],["payloadtypemessagemonitorwrapp",{"_index":2910,"title":{},"name":{},"text":{"57":{}},"component":{}}],["payloadtypespanattributesprovid",{"_index":3033,"title":{},"name":{},"text":{"59":{}},"component":{}}],["payment",{"_index":888,"title":{},"name":{},"text":{"6":{},"16":{},"40":{},"147":{},"250":{},"270":{},"273":{},"274":{},"276":{},"277":{}},"component":{}}],["payment/pom.xml",{"_index":7675,"title":{},"name":{},"text":{"270":{},"276":{}},"component":{}}],["payment/src/main/java/resources/application.properti",{"_index":7753,"title":{},"name":{},"text":{"276":{}},"component":{}}],["paymentconfirmedev",{"_index":7716,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentpreparedev",{"_index":7717,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentprocess",{"_index":921,"title":{},"name":{},"text":{"6":{}},"component":{}}],["paymentrejectedev",{"_index":7718,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentsaga",{"_index":7719,"title":{},"name":{},"text":{"274":{}},"component":{}}],["paymentstatusproject",{"_index":7720,"title":{},"name":{},"text":{"274":{}},"component":{}}],["pckuyer",{"_index":3304,"title":{},"name":{},"text":{"66":{}},"component":{}}],["peak",{"_index":7645,"title":{},"name":{},"text":{"264":{}},"component":{}}],["peer",{"_index":6902,"title":{},"name":{},"text":{"179":{}},"component":{}}],["pem",{"_index":6791,"title":{},"name":{},"text":{"176":{}},"component":{}}],["pend",{"_index":6938,"title":{},"name":{},"text":{"179":{},"244":{},"262":{}},"component":{}}],["pendingsinc",{"_index":6561,"title":{},"name":{},"text":{"166":{},"169":{},"192":{}},"component":{}}],["peopl",{"_index":3528,"title":{},"name":{},"text":{"66":{}},"component":{}}],["pepperbob",{"_index":4315,"title":{},"name":{},"text":{"67":{}},"component":{}}],["per",{"_index":274,"title":{},"name":{},"text":{"3":{},"32":{},"33":{},"34":{},"38":{},"43":{},"57":{},"58":{},"64":{},"66":{},"67":{},"77":{},"87":{},"88":{},"115":{},"121":{},"127":{},"141":{},"147":{},"148":{},"151":{},"156":{},"163":{},"169":{},"176":{},"178":{},"179":{},"185":{},"186":{},"187":{},"191":{},"192":{},"239":{},"242":{},"250":{},"260":{},"261":{},"262":{},"274":{}},"component":{}}],["percent",{"_index":7729,"title":{},"name":{},"text":{"274":{}},"component":{}}],["percentag",{"_index":6847,"title":{},"name":{},"text":{"179":{},"211":{},"242":{},"246":{},"261":{},"262":{},"270":{},"274":{},"277":{}},"component":{}}],["percentil",{"_index":7591,"title":{},"name":{},"text":{"245":{},"261":{},"273":{},"274":{}},"component":{}}],["perfect",{"_index":1408,"title":{},"name":{},"text":{"29":{},"86":{}},"component":{}}],["perfectli",{"_index":5537,"title":{},"name":{},"text":{"100":{},"107":{}},"component":{}}],["perform",{"_index":122,"title":{"125":{},"164":{}},"name":{"125":{}},"text":{"2":{},"3":{},"5":{},"6":{},"12":{},"23":{},"24":{},"28":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"58":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"78":{},"79":{},"82":{},"84":{},"87":{},"88":{},"89":{},"101":{},"102":{},"106":{},"111":{},"127":{},"137":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"156":{},"163":{},"164":{},"168":{},"169":{},"179":{},"181":{},"191":{},"192":{},"195":{},"202":{},"208":{},"215":{},"220":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"249":{},"260":{},"261":{},"263":{},"264":{},"266":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"277":{},"280":{},"289":{}},"component":{}}],["perhap",{"_index":2085,"title":{},"name":{},"text":{"38":{},"44":{}},"component":{}}],["period",{"_index":824,"title":{},"name":{},"text":{"5":{},"31":{},"38":{},"67":{},"76":{},"88":{},"89":{},"138":{},"140":{},"151":{},"185":{},"250":{},"260":{},"273":{},"274":{}},"component":{}}],["periodsecond",{"_index":623,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["perman",{"_index":6051,"title":{},"name":{},"text":{"140":{},"145":{},"151":{},"178":{}},"component":{}}],["permiss",{"_index":6024,"title":{},"name":{},"text":{"140":{},"141":{},"143":{},"199":{}},"component":{}}],["permit",{"_index":4276,"title":{},"name":{},"text":{"67":{},"163":{},"179":{}},"component":{}}],["persist",{"_index":654,"title":{"32-2":{},"89-8":{},"140-2":{}},"name":{},"text":{"3":{},"18":{},"19":{},"32":{},"36":{},"40":{},"46":{},"53":{},"66":{},"67":{},"69":{},"71":{},"86":{},"88":{},"89":{},"119":{},"140":{},"141":{},"145":{},"148":{},"179":{},"191":{},"280":{}},"component":{}}],["persistence.xml",{"_index":1836,"title":{},"name":{},"text":{"33":{}},"component":{}}],["persistencecontext(unitnam",{"_index":2545,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistenceexceptionresolv",{"_index":2536,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistenceexceptionresolver(persistenceexceptionresolv",{"_index":2564,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistenceexceptiontransl",{"_index":2537,"title":{},"name":{},"text":{"46":{}},"component":{}}],["persistentstreammessagesourc",{"_index":5396,"title":{},"name":{},"text":{"89":{}},"component":{}}],["persistentstreammessagesourcedefinit",{"_index":5405,"title":{},"name":{},"text":{"89":{}},"component":{}}],["persistentstreamproperti",{"_index":5397,"title":{},"name":{},"text":{"89":{}},"component":{}}],["persistentstreamscheduledexecutorbuild",{"_index":3925,"title":{},"name":{},"text":{"67":{}},"component":{}}],["person",{"_index":4166,"title":{},"name":{},"text":{"67":{}},"component":{}}],["perspect",{"_index":1669,"title":{},"name":{},"text":{"31":{},"67":{},"88":{},"99":{},"202":{}},"component":{}}],["phase",{"_index":139,"title":{"72-3":{},"72-4":{},"72-5":{}},"name":{},"text":{"2":{},"51":{},"53":{},"66":{},"67":{},"72":{},"74":{},"176":{},"285":{}},"component":{}}],["phase’",{"_index":4587,"title":{},"name":{},"text":{"72":{}},"component":{}}],["physic",{"_index":4506,"title":{},"name":{},"text":{"69":{},"71":{},"117":{},"147":{},"151":{},"274":{}},"component":{}}],["pick",{"_index":1637,"title":{},"name":{},"text":{"31":{},"59":{},"66":{},"67":{},"81":{},"88":{},"115":{},"150":{},"154":{},"177":{},"221":{}},"component":{}}],["pictur",{"_index":7594,"title":{},"name":{},"text":{"247":{},"281":{}},"component":{}}],["pid",{"_index":270,"title":{},"name":{},"text":{"3":{},"179":{},"191":{},"284":{}},"component":{}}],["piec",{"_index":2168,"title":{},"name":{},"text":{"38":{},"67":{},"279":{}},"component":{}}],["ping",{"_index":7031,"title":{},"name":{},"text":{"185":{}},"component":{}}],["pipe",{"_index":7178,"title":{},"name":{},"text":{"194":{}},"component":{}}],["pipelin",{"_index":6290,"title":{"196":{}},"name":{"196":{}},"text":{"145":{},"194":{},"196":{},"198":{}},"component":{}}],["pivotal’",{"_index":5792,"title":{},"name":{},"text":{"120":{}},"component":{}}],["pkcs12",{"_index":6794,"title":{},"name":{},"text":{"176":{},"179":{},"206":{}},"component":{}}],["place",{"_index":276,"title":{},"name":{},"text":{"3":{},"4":{},"6":{},"16":{},"27":{},"30":{},"35":{},"36":{},"38":{},"44":{},"50":{},"51":{},"58":{},"59":{},"66":{},"67":{},"72":{},"77":{},"82":{},"84":{},"87":{},"88":{},"102":{},"104":{},"121":{},"127":{},"140":{},"151":{},"156":{},"161":{},"170":{},"179":{},"191":{},"221":{},"224":{},"273":{},"274":{},"279":{},"281":{}},"component":{}}],["plain",{"_index":759,"title":{},"name":{},"text":{"5":{},"31":{},"69":{},"71":{},"121":{},"130":{},"237":{},"276":{}},"component":{}}],["plaintext",{"_index":5613,"title":{},"name":{},"text":{"104":{}},"component":{}}],["plan",{"_index":159,"title":{"5-12":{},"232-2":{}},"name":{},"text":{"2":{},"3":{},"5":{},"28":{},"115":{},"155":{},"191":{},"199":{},"232":{},"249":{},"250":{},"255":{},"259":{},"260":{},"262":{},"263":{},"269":{},"273":{},"274":{},"278":{}},"component":{}}],["plan(",{"_index":7617,"title":{},"name":{},"text":{"255":{}},"component":{}}],["platform",{"_index":1395,"title":{},"name":{},"text":{"28":{},"30":{},"55":{},"79":{},"163":{},"206":{},"227":{},"235":{},"236":{},"255":{}},"component":{}}],["platform=fully.qualified.classname.byteaenforcedpostgressqldialect",{"_index":4862,"title":{},"name":{},"text":{"79":{}},"component":{}}],["platformtransactionmanag",{"_index":2371,"title":{},"name":{},"text":{"40":{},"87":{}},"component":{}}],["play",{"_index":1530,"title":{},"name":{},"text":{"30":{},"36":{},"156":{},"192":{},"234":{},"265":{},"274":{},"280":{},"283":{}},"component":{}}],["playbook",{"_index":989,"title":{"287":{},"8-1":{},"13-1":{}},"name":{},"text":{"7":{},"8":{},"13":{},"287":{}},"component":{"286":{},"287":{},"288":{},"289":{},"290":{}}}],["pleas",{"_index":790,"title":{},"name":{},"text":{"5":{},"15":{},"16":{},"29":{},"30":{},"33":{},"46":{},"59":{},"67":{},"77":{},"79":{},"88":{},"93":{},"94":{},"95":{},"98":{},"99":{},"102":{},"103":{},"109":{},"112":{},"119":{},"122":{},"124":{},"126":{},"129":{},"131":{},"134":{},"145":{},"168":{},"189":{},"192":{},"199":{},"202":{},"203":{},"206":{},"208":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"265":{},"277":{}},"component":{}}],["plu",{"_index":4393,"title":{},"name":{},"text":{"67":{},"255":{}},"component":{}}],["plugin",{"_index":279,"title":{"148":{},"143-5":{},"148-1":{},"148-2":{},"148-3":{},"148-4":{},"148-5":{},"148-6":{},"148-7":{},"148-8":{},"178-11":{}},"name":{"148":{}},"text":{"3":{},"30":{},"141":{},"143":{},"146":{},"148":{},"168":{},"169":{},"170":{},"173":{},"178":{},"179":{},"191":{},"283":{}},"component":{}}],["plugin:0.5.1.releas",{"_index":1547,"title":{},"name":{},"text":{"30":{}},"component":{}}],["plugin:4.40.0:run",{"_index":1842,"title":{},"name":{},"text":{"33":{}},"component":{}}],["pluginpropertydefinition.newbuilder(\"mypropid1",{"_index":6391,"title":{},"name":{},"text":{"148":{}},"component":{}}],["pluginpropertydefinition.newbuilder(\"mypropid2",{"_index":6393,"title":{},"name":{},"text":{"148":{}},"component":{}}],["plugins/bundl",{"_index":6374,"title":{},"name":{},"text":{"148":{},"179":{}},"component":{}}],["plugins/cach",{"_index":6375,"title":{},"name":{},"text":{"148":{},"179":{}},"component":{}}],["point",{"_index":332,"title":{"63-2":{}},"name":{},"text":{"3":{},"34":{},"38":{},"42":{},"46":{},"51":{},"59":{},"60":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"79":{},"82":{},"84":{},"85":{},"88":{},"89":{},"99":{},"142":{},"145":{},"151":{},"154":{},"163":{},"178":{},"184":{},"185":{},"191":{},"192":{},"201":{},"260":{},"262":{},"265":{},"268":{},"270":{},"271":{},"274":{},"277":{},"279":{},"281":{}},"component":{}}],["pointer",{"_index":6118,"title":{},"name":{},"text":{"142":{}},"component":{}}],["pointless",{"_index":5044,"title":{},"name":{},"text":{"86":{}},"component":{}}],["pois",{"_index":6047,"title":{},"name":{},"text":{"140":{}},"component":{}}],["pojo",{"_index":2663,"title":{},"name":{},"text":{"49":{},"64":{}},"component":{}}],["polici",{"_index":1055,"title":{"35-4":{},"86-8":{}},"name":{},"text":{"14":{},"35":{},"38":{},"51":{},"66":{},"67":{},"86":{},"87":{},"88":{},"89":{},"101":{},"115":{},"179":{},"192":{}},"component":{}}],["policy=mysequencingpolici",{"_index":5254,"title":{},"name":{},"text":{"88":{}},"component":{}}],["poll",{"_index":2363,"title":{},"name":{},"text":{"40":{},"88":{},"99":{},"104":{},"206":{}},"component":{}}],["polltimeout(timeoutmilli",{"_index":5491,"title":{},"name":{},"text":{"99":{}},"component":{}}],["polymorph",{"_index":1688,"title":{"81":{}},"name":{"81":{}},"text":{"31":{},"66":{},"67":{},"81":{}},"component":{}}],["pom",{"_index":1542,"title":{},"name":{},"text":{"30":{},"38":{},"67":{},"278":{},"279":{}},"component":{}}],["pom.xml",{"_index":3720,"title":{},"name":{},"text":{"66":{},"270":{},"276":{},"278":{},"279":{},"284":{}},"component":{}}],["pool",{"_index":2158,"title":{"88-3":{},"88-19":{},"88-20":{}},"name":{},"text":{"38":{},"67":{},"88":{},"99":{},"102":{},"130":{},"140":{},"170":{},"260":{}},"component":{}}],["pooledstreamingeventprocessor",{"_index":3276,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["pooledstreamingprocessorconfigur",{"_index":5153,"title":{},"name":{},"text":{"88":{}},"component":{}}],["pooledstreamingprocessorconfigurermodul",{"_index":5150,"title":{},"name":{},"text":{"88":{}},"component":{}}],["poor",{"_index":7585,"title":{},"name":{},"text":{"244":{},"264":{},"272":{},"274":{}},"component":{}}],["poorli",{"_index":7690,"title":{},"name":{},"text":{"273":{}},"component":{}}],["pop",{"_index":6506,"title":{},"name":{},"text":{"156":{}},"component":{}}],["popul",{"_index":2460,"title":{},"name":{},"text":{"44":{},"50":{},"56":{},"67":{},"281":{}},"component":{}}],["popular",{"_index":1006,"title":{},"name":{},"text":{"8":{},"13":{},"100":{},"203":{}},"component":{}}],["popup",{"_index":7996,"title":{},"name":{},"text":{"283":{}},"component":{}}],["port",{"_index":343,"title":{},"name":{},"text":{"3":{},"66":{},"96":{},"143":{},"149":{},"154":{},"161":{},"166":{},"168":{},"170":{},"174":{},"176":{},"178":{},"179":{},"181":{},"188":{},"191":{},"192":{},"199":{},"201":{},"203":{},"206":{},"208":{},"284":{}},"component":{}}],["port=7800",{"_index":5461,"title":{},"name":{},"text":{"96":{}},"component":{}}],["port=localhost:8024",{"_index":7238,"title":{},"name":{},"text":{"199":{}},"component":{}}],["portend",{"_index":5788,"title":{},"name":{},"text":{"120":{}},"component":{}}],["portion",{"_index":2226,"title":{},"name":{},"text":{"38":{}},"component":{}}],["portray",{"_index":4756,"title":{},"name":{},"text":{"77":{}},"component":{}}],["port}/v1/contexts/finance/commands/{command",{"_index":7451,"title":{},"name":{},"text":{"209":{}},"component":{}}],["port}/v1/contexts/orders/handlers/command",{"_index":7449,"title":{},"name":{},"text":{"209":{}},"component":{}}],["pose",{"_index":1682,"title":{},"name":{},"text":{"31":{},"77":{}},"component":{}}],["posibl",{"_index":7944,"title":{},"name":{},"text":{"280":{}},"component":{}}],["posit",{"_index":845,"title":{},"name":{},"text":{"5":{},"44":{},"58":{},"66":{},"67":{},"87":{},"88":{},"121":{},"142":{},"144":{},"179":{},"244":{},"260":{},"274":{}},"component":{}}],["possibl",{"_index":1025,"title":{},"name":{},"text":{"14":{},"15":{},"16":{},"17":{},"18":{},"22":{},"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"41":{},"42":{},"46":{},"48":{},"50":{},"51":{},"52":{},"53":{},"58":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"82":{},"84":{},"86":{},"87":{},"88":{},"99":{},"100":{},"102":{},"106":{},"114":{},"132":{},"140":{},"141":{},"144":{},"145":{},"147":{},"150":{},"151":{},"154":{},"156":{},"163":{},"169":{},"177":{},"178":{},"179":{},"206":{},"221":{},"226":{},"244":{},"250":{},"255":{},"257":{},"260":{},"261":{},"262":{},"265":{},"281":{},"289":{}},"component":{}}],["post",{"_index":3583,"title":{},"name":{},"text":{"66":{},"130":{},"142":{},"143":{},"202":{},"203":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"281":{},"283":{}},"component":{}}],["postconstruct",{"_index":5668,"title":{},"name":{},"text":{"111":{},"121":{}},"component":{}}],["postegresql",{"_index":1440,"title":{},"name":{},"text":{"29":{}},"component":{}}],["postgr",{"_index":3722,"title":{},"name":{},"text":{"66":{}},"component":{}}],["postgres/mysql",{"_index":6523,"title":{},"name":{},"text":{"161":{}},"component":{}}],["postgresql",{"_index":1403,"title":{"29-1":{},"79-3":{}},"name":{},"text":{"29":{},"79":{}},"component":{}}],["postgresqldialect",{"_index":4842,"title":{},"name":{},"text":{"79":{}},"component":{}}],["postgressagasqlschema",{"_index":4490,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["postgrestokentablefactori",{"_index":5213,"title":{},"name":{},"text":{"88":{}},"component":{}}],["postman",{"_index":7266,"title":{"202":{},"203":{},"202-2":{},"203-3":{},"203-4":{},"203-5":{}},"name":{"202":{},"203":{}},"text":{"202":{},"203":{}},"component":{}}],["postman’",{"_index":7267,"title":{},"name":{},"text":{"202":{},"203":{}},"component":{}}],["postmap",{"_index":5806,"title":{},"name":{},"text":{"121":{},"281":{}},"component":{}}],["postmapping(\"/bik",{"_index":7981,"title":{},"name":{},"text":{"281":{}},"component":{}}],["postmapping(\"/reservebik",{"_index":8069,"title":{},"name":{},"text":{"289":{}},"component":{}}],["postmapping(path",{"_index":5745,"title":{},"name":{},"text":{"115":{}},"component":{}}],["postpon",{"_index":2883,"title":{},"name":{},"text":{"53":{}},"component":{}}],["potenti",{"_index":1574,"title":{},"name":{},"text":{"31":{},"46":{},"63":{},"67":{},"77":{},"81":{},"83":{},"94":{},"141":{},"143":{},"163":{},"164":{},"215":{},"242":{},"243":{},"261":{},"266":{},"274":{},"289":{}},"component":{}}],["pottenti",{"_index":7655,"title":{},"name":{},"text":{"265":{}},"component":{}}],["power",{"_index":2179,"title":{},"name":{},"text":{"38":{},"40":{},"140":{},"192":{},"200":{},"265":{},"269":{},"271":{},"274":{},"277":{}},"component":{}}],["pr",{"_index":3459,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["practic",{"_index":1016,"title":{},"name":{},"text":{"8":{},"13":{},"25":{},"27":{},"34":{},"37":{},"38":{},"49":{},"53":{},"62":{},"66":{},"72":{},"88":{},"140":{},"174":{},"192":{},"234":{}},"component":{}}],["pre",{"_index":1443,"title":{"144-6":{},"161-1":{},"162-1":{},"199-3":{}},"name":{},"text":{"29":{},"38":{},"69":{},"88":{},"111":{},"115":{},"141":{},"144":{},"147":{},"156":{},"163":{},"206":{},"234":{}},"component":{}}],["precaut",{"_index":1969,"title":{},"name":{},"text":{"35":{}},"component":{}}],["preced",{"_index":1078,"title":{},"name":{},"text":{"15":{},"67":{}},"component":{}}],["precis",{"_index":4921,"title":{},"name":{},"text":{"83":{},"88":{}},"component":{}}],["predefin",{"_index":2442,"title":{},"name":{},"text":{"44":{},"50":{},"104":{},"154":{},"177":{},"179":{}},"component":{}}],["predic",{"_index":2607,"title":{},"name":{},"text":{"46":{},"63":{},"72":{},"83":{},"86":{},"87":{},"108":{},"115":{},"127":{}},"component":{}}],["predica",{"_index":1432,"title":{},"name":{},"text":{"29":{},"31":{},"67":{},"79":{},"87":{},"89":{}},"component":{}}],["predict",{"_index":4688,"title":{},"name":{},"text":{"74":{},"140":{}},"component":{}}],["preemptiv",{"_index":4353,"title":{},"name":{},"text":{"67":{}},"component":{}}],["prefer",{"_index":708,"title":{},"name":{},"text":{"4":{},"5":{},"15":{},"30":{},"31":{},"33":{},"35":{},"49":{},"51":{},"67":{},"72":{},"77":{},"87":{},"94":{},"179":{},"200":{},"201":{},"208":{},"232":{},"233":{},"247":{},"263":{},"267":{},"274":{},"276":{},"279":{},"281":{}},"component":{}}],["prefetch",{"_index":5814,"title":{},"name":{},"text":{"121":{},"163":{},"179":{}},"component":{}}],["prefetch}*5",{"_index":6537,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["prefix",{"_index":3565,"title":{},"name":{},"text":{"66":{},"96":{},"102":{},"104":{},"179":{},"199":{}},"component":{}}],["premium",{"_index":739,"title":{"5-12":{}},"name":{},"text":{"5":{},"260":{},"274":{}},"component":{}}],["prepar",{"_index":1564,"title":{"276":{}},"name":{"276":{}},"text":{"31":{},"46":{},"88":{},"145":{},"199":{},"238":{},"241":{},"263":{},"267":{},"268":{},"276":{},"277":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["preparepaymentcommand",{"_index":7711,"title":{},"name":{},"text":{"274":{}},"component":{}}],["prepareshippingcommand",{"_index":4443,"title":{},"name":{},"text":{"68":{}},"component":{}}],["preprocess",{"_index":7726,"title":{},"name":{},"text":{"274":{}},"component":{}}],["prerequisit",{"_index":7219,"title":{"201-1":{},"202-1":{},"203-1":{},"221-1":{}},"name":{},"text":{"199":{},"269":{}},"component":{}}],["prescrib",{"_index":2017,"title":{},"name":{},"text":{"36":{},"38":{},"72":{}},"component":{}}],["presenc",{"_index":217,"title":{},"name":{},"text":{"3":{},"25":{},"50":{},"138":{},"140":{},"191":{},"192":{}},"component":{}}],["present",{"_index":758,"title":{},"name":{},"text":{"5":{},"17":{},"30":{},"35":{},"36":{},"38":{},"46":{},"50":{},"51":{},"52":{},"59":{},"63":{},"67":{},"76":{},"77":{},"81":{},"84":{},"87":{},"88":{},"127":{},"138":{},"142":{},"154":{},"161":{},"162":{},"177":{},"206":{},"232":{},"233":{},"237":{},"263":{},"264":{},"267":{},"272":{},"276":{},"280":{}},"component":{}}],["preserv",{"_index":6351,"title":{},"name":{},"text":{"147":{},"156":{},"178":{}},"component":{}}],["pressur",{"_index":3136,"title":{"63-6":{}},"name":{},"text":{"63":{}},"component":{}}],["pretti",{"_index":376,"title":{},"name":{},"text":{"3":{},"40":{},"191":{}},"component":{}}],["prev",{"_index":6300,"title":{},"name":{},"text":{"145":{}},"component":{}}],["prevent",{"_index":1111,"title":{"31-8":{}},"name":{},"text":{"15":{},"16":{},"38":{},"40":{},"46":{},"51":{},"52":{},"59":{},"66":{},"69":{},"72":{},"77":{},"86":{},"88":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"156":{},"157":{},"163":{},"221":{},"257":{}},"component":{}}],["preview",{"_index":6006,"title":{},"name":{},"text":{"140":{},"255":{}},"component":{}}],["previou",{"_index":691,"title":{},"name":{},"text":{"4":{},"42":{},"44":{},"46":{},"49":{},"56":{},"58":{},"66":{},"69":{},"72":{},"74":{},"87":{},"88":{},"101":{},"121":{},"140":{},"142":{},"145":{},"147":{},"154":{},"166":{},"177":{},"202":{},"203":{},"215":{},"277":{},"280":{},"281":{},"285":{}},"component":{}}],["previous",{"_index":214,"title":{},"name":{},"text":{"3":{},"39":{},"63":{},"67":{},"138":{},"140":{},"151":{},"191":{},"192":{},"201":{},"281":{},"289":{}},"component":{}}],["price",{"_index":747,"title":{},"name":{},"text":{"5":{},"28":{},"249":{},"250":{},"259":{}},"component":{}}],["primari",{"_index":885,"title":{},"name":{},"text":{"6":{},"128":{},"140":{},"142":{},"147":{},"151":{},"154":{},"156":{},"157":{},"166":{},"169":{},"177":{},"178":{},"179":{},"192":{},"221":{},"280":{}},"component":{}}],["primarili",{"_index":2672,"title":{},"name":{},"text":{"49":{},"140":{},"162":{}},"component":{}}],["primary/messaging_only/active_backup/passive_backup/secondari",{"_index":6813,"title":{},"name":{},"text":{"178":{}},"component":{}}],["primit",{"_index":2631,"title":{},"name":{},"text":{"47":{},"64":{},"66":{}},"component":{}}],["principl",{"_index":4990,"title":{"194":{}},"name":{},"text":{"86":{},"281":{}},"component":{}}],["print",{"_index":3143,"title":{},"name":{},"text":{"63":{},"283":{}},"component":{}}],["println",{"_index":3204,"title":{},"name":{},"text":{"63":{}},"component":{}}],["prior",{"_index":2096,"title":{},"name":{},"text":{"38":{},"51":{},"66":{},"67":{},"72":{},"77":{},"85":{},"140":{},"144":{},"156":{},"289":{}},"component":{}}],["priorit",{"_index":5372,"title":{},"name":{},"text":{"88":{}},"component":{}}],["prioriti",{"_index":506,"title":{},"name":{},"text":{"3":{},"66":{},"67":{},"87":{},"120":{},"191":{},"211":{},"216":{},"244":{}},"component":{}}],["prioritizedrunn",{"_index":3578,"title":{},"name":{},"text":{"66":{}},"component":{}}],["prioritya",{"_index":5365,"title":{},"name":{},"text":{"88":{}},"component":{}}],["prioritytask",{"_index":3579,"title":{},"name":{},"text":{"66":{}},"component":{}}],["pristin",{"_index":6081,"title":{},"name":{},"text":{"141":{}},"component":{}}],["privaci",{"_index":861,"title":{},"name":{},"text":{"5":{}},"component":{}}],["privat",{"_index":1154,"title":{},"name":{},"text":{"17":{},"20":{},"22":{},"24":{},"34":{},"35":{},"36":{},"42":{},"44":{},"46":{},"50":{},"51":{},"57":{},"64":{},"68":{},"72":{},"82":{},"84":{},"85":{},"86":{},"88":{},"105":{},"108":{},"115":{},"121":{},"144":{},"148":{},"176":{},"179":{},"280":{},"281":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["private/protect",{"_index":4169,"title":{},"name":{},"text":{"67":{}},"component":{}}],["privileg",{"_index":7553,"title":{},"name":{},"text":{"231":{}},"component":{}}],["pro",{"_index":20,"title":{"97":{},"98":{},"30-21":{},"30-22":{}},"name":{},"text":{"1":{},"2":{},"30":{},"39":{},"88":{},"95":{},"97":{},"98":{}},"component":{"97":{},"98":{}}}],["probabl",{"_index":1657,"title":{},"name":{},"text":{"31":{},"46":{},"79":{},"84":{},"97":{},"285":{}},"component":{}}],["probe",{"_index":585,"title":{},"name":{},"text":{"3":{},"141":{},"185":{},"191":{}},"component":{}}],["problem",{"_index":41,"title":{"2-4":{},"286-1":{},"288-1":{},"289-1":{},"290-1":{}},"name":{},"text":{"5":{},"20":{},"29":{},"31":{},"53":{},"55":{},"58":{},"66":{},"67":{},"77":{},"86":{},"88":{},"141":{},"143":{},"145":{},"151":{},"185":{},"220":{},"244":{},"260":{},"261":{},"262":{},"264":{},"265":{},"266":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"277":{},"287":{}},"component":{}}],["problemat",{"_index":1414,"title":{},"name":{},"text":{"29":{},"31":{},"79":{},"87":{}},"component":{}}],["proce",{"_index":2311,"title":{},"name":{},"text":{"39":{},"40":{},"51":{},"87":{},"88":{},"202":{},"263":{},"271":{}},"component":{}}],["procedur",{"_index":718,"title":{},"name":{},"text":{"4":{},"53":{},"69":{},"71":{},"142":{},"145":{}},"component":{}}],["proceed",{"_index":7217,"title":{},"name":{},"text":{"199":{}},"component":{}}],["process",{"_index":211,"title":{"75":{},"76":{},"248":{},"5-13":{},"5-14":{},"15-2":{},"46-12":{},"86-6":{},"87-5":{},"88-15":{},"88-16":{},"88-21":{},"143-1":{},"154-2":{},"161-1":{},"161-2":{},"162-1":{},"162-2":{},"281-2":{},"289-5":{}},"name":{"75":{},"76":{},"165":{},"248":{}},"text":{"3":{},"5":{},"6":{},"14":{},"15":{},"16":{},"17":{},"23":{},"29":{},"30":{},"31":{},"34":{},"35":{},"38":{},"43":{},"44":{},"47":{},"49":{},"51":{},"52":{},"53":{},"57":{},"58":{},"59":{},"60":{},"61":{},"66":{},"67":{},"69":{},"71":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"101":{},"102":{},"104":{},"106":{},"110":{},"114":{},"115":{},"120":{},"124":{},"138":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"157":{},"162":{},"163":{},"165":{},"168":{},"179":{},"185":{},"186":{},"187":{},"191":{},"192":{},"194":{},"199":{},"202":{},"206":{},"208":{},"211":{},"216":{},"217":{},"219":{},"237":{},"239":{},"242":{},"245":{},"246":{},"247":{},"257":{},"260":{},"261":{},"264":{},"265":{},"268":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["process(pred",{"_index":5009,"title":{},"name":{},"text":{"86":{}},"component":{}}],["process(sequencefilt",{"_index":5743,"title":{},"name":{},"text":{"115":{}},"component":{}}],["processani",{"_index":1170,"title":{},"name":{},"text":{"17":{},"86":{}},"component":{}}],["processdeadlettercompon",{"_index":1153,"title":{},"name":{},"text":{"17":{}},"component":{}}],["processdeadlettercomponent(eventprocessingconfigur",{"_index":1155,"title":{},"name":{},"text":{"17":{}},"component":{}}],["processdeadlettersequencefortenant(str",{"_index":5739,"title":{},"name":{},"text":{"115":{}},"component":{}}],["processing.adoc#_increasing_and_decreasing_segment_count",{"_index":7708,"title":{},"name":{},"text":{"274":{}},"component":{}}],["processingconfigur",{"_index":1117,"title":{},"name":{},"text":{"15":{},"86":{},"87":{},"88":{},"89":{}},"component":{}}],["processingconfiguration.eventprocessor(processornam",{"_index":5305,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerdeadletterqueu",{"_index":1118,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["processingconfigurer.registerdeadletterqueueprovid",{"_index":4996,"title":{},"name":{},"text":{"86":{}},"component":{}}],["processingconfigurer.registerdefaultlistenerinvocationerrorhandl",{"_index":5081,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processingconfigurer.registerdefaultsequencingpolicy(config",{"_index":5250,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessor",{"_index":5376,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessor(\"mi",{"_index":5148,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessorconfigur",{"_index":5191,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessorconfiguration(\"mi",{"_index":5188,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registerpooledstreamingeventprocessorconfiguration(psepconfig",{"_index":5155,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registersubscribingeventprocessor",{"_index":5404,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processingconfigurer.registersubscribingeventprocessor(\"mi",{"_index":5387,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processingconfigurer.registertokenstore(conf",{"_index":5224,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertokenstore(config",{"_index":5218,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertokenstore(processornam",{"_index":5220,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessor",{"_index":5374,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessorconfigur",{"_index":5181,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessorconfiguration(\"mi",{"_index":5178,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.registertrackingeventprocessorconfiguration(config",{"_index":5138,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.usingpooledstreamingeventprocessor",{"_index":5142,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processingconfigurer.usingsubscribingeventprocessor",{"_index":5383,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processingconfigurer.usingtrackingeventprocessor",{"_index":5123,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processinggroup",{"_index":1097,"title":{},"name":{},"text":{"15":{},"17":{},"67":{},"86":{},"87":{},"102":{},"111":{},"115":{}},"component":{}}],["processinggroup(\"card",{"_index":5348,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processinggroup(\"mi",{"_index":1119,"title":{},"name":{},"text":{"15":{},"86":{},"87":{},"110":{}},"component":{}}],["processinggroup(\"modul",{"_index":5060,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processinggroup(processinggroup",{"_index":1099,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["processinggrouperrorhandlingconfigurermodul",{"_index":5079,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processingstatu",{"_index":2972,"title":{},"name":{},"text":{"58":{}},"component":{}}],["processor",{"_index":843,"title":{"58":{},"87":{},"88":{},"89":{},"144":{},"246":{},"260":{},"15-1":{},"59-30":{},"59-31":{},"59-32":{},"87-1":{},"87-3":{},"87-6":{},"87-8":{},"87-9":{},"88-2":{},"88-3":{},"88-18":{},"88-19":{},"115-13":{},"144-1":{},"180-1":{},"246-1":{},"246-2":{},"260-1":{},"260-2":{},"261-3":{},"273-3":{},"274-8":{},"274-13":{},"274-14":{},"274-15":{},"274-20":{}},"name":{"58":{},"144":{},"246":{}},"text":{"5":{},"15":{},"16":{},"17":{},"28":{},"29":{},"32":{},"38":{},"44":{},"45":{},"46":{},"51":{},"55":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"71":{},"76":{},"79":{},"86":{},"87":{},"88":{},"89":{},"92":{},"99":{},"102":{},"104":{},"111":{},"114":{},"115":{},"140":{},"141":{},"143":{},"144":{},"147":{},"151":{},"161":{},"165":{},"169":{},"179":{},"180":{},"187":{},"206":{},"215":{},"239":{},"244":{},"245":{},"246":{},"249":{},"250":{},"255":{},"257":{},"259":{},"260":{},"261":{},"262":{},"270":{},"273":{},"274":{},"277":{},"286":{}},"component":{}}],["processor.automat",{"_index":5296,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.dlq.en",{"_index":5005,"title":{},"name":{},"text":{"86":{}},"component":{}}],["processor.initi",{"_index":5263,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.initialsegmentcount=32",{"_index":5237,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.load",{"_index":5299,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.mode=pool",{"_index":5151,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.mode=subscrib",{"_index":5390,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processor.mode=track",{"_index":5133,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.sequenc",{"_index":5253,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.source=eventbu",{"_index":5391,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processor.source=eventstor",{"_index":5134,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.source=mi",{"_index":5406,"title":{},"name":{},"text":{"89":{}},"component":{}}],["processor.source=multistreamablemessagesourc",{"_index":5377,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor.thread",{"_index":5261,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processor[{processor",{"_index":5165,"title":{},"name":{},"text":{"88":{}},"component":{}}],["processordefaultconfigurermodul",{"_index":5124,"title":{},"name":{},"text":{"88":{},"89":{}},"component":{}}],["processorerrorhandlingconfigurermodul",{"_index":5090,"title":{},"name":{},"text":{"87":{}},"component":{}}],["processornam",{"_index":2955,"title":{},"name":{},"text":{"57":{},"76":{},"88":{},"99":{},"115":{}},"component":{}}],["processorname.equals(\"extern",{"_index":5772,"title":{},"name":{},"text":{"115":{}},"component":{}}],["processornotificationr",{"_index":4370,"title":{},"name":{},"text":{"67":{}},"component":{}}],["processortype}[${processorname}](${eventclass",{"_index":3075,"title":{},"name":{},"text":{"59":{}},"component":{}}],["processortype}[${processorname}].process(${eventclass",{"_index":3076,"title":{},"name":{},"text":{"59":{}},"component":{}}],["processor’",{"_index":3814,"title":{},"name":{},"text":{"66":{},"87":{},"88":{},"246":{},"260":{},"273":{},"274":{}},"component":{}}],["prod",{"_index":1209,"title":{},"name":{},"text":{"18":{}},"component":{}}],["produc",{"_index":872,"title":{"104-3":{}},"name":{},"text":{"6":{},"31":{},"38":{},"46":{},"50":{},"59":{},"63":{},"67":{},"77":{},"101":{},"102":{},"104":{},"115":{},"151":{},"163":{},"178":{},"242":{},"270":{},"273":{},"274":{},"280":{},"285":{},"289":{}},"component":{}}],["producercaches",{"_index":5566,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producercachesize(producercaches",{"_index":5570,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerconfigur",{"_index":5567,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerfactori",{"_index":5556,"title":{},"name":{},"text":{"102":{},"104":{}},"component":{}}],["producerfactory(dur",{"_index":5564,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerfactory(producerfactori",{"_index":5579,"title":{},"name":{},"text":{"102":{}},"component":{}}],["producerrecord",{"_index":5541,"title":{},"name":{},"text":{"101":{}},"component":{}}],["producertyp",{"_index":2181,"title":{},"name":{},"text":{"38":{}},"component":{}}],["product",{"_index":839,"title":{"9-1":{},"140-22":{}},"name":{},"text":{"5":{},"8":{},"12":{},"13":{},"16":{},"19":{},"30":{},"46":{},"77":{},"86":{},"88":{},"96":{},"101":{},"137":{},"140":{},"145":{},"174":{},"192":{},"199":{},"230":{},"232":{},"234":{},"240":{},"250":{},"254":{},"265":{},"266":{},"272":{},"274":{},"282":{}},"component":{}}],["profession",{"_index":7596,"title":{"250-2":{}},"name":{},"text":{"250":{},"254":{},"262":{}},"component":{}}],["profil",{"_index":893,"title":{},"name":{},"text":{"6":{},"67":{},"172":{},"247":{},"284":{}},"component":{}}],["profit",{"_index":1642,"title":{},"name":{},"text":{"31":{}},"component":{}}],["program",{"_index":76,"title":{"88-25":{}},"name":{},"text":{"2":{},"38":{},"44":{},"107":{},"120":{},"200":{}},"component":{}}],["programmat",{"_index":1715,"title":{"88-28":{}},"name":{},"text":{"32":{},"53":{},"88":{},"257":{},"260":{}},"component":{}}],["progress",{"_index":1451,"title":{},"name":{},"text":{"29":{},"53":{},"58":{},"67":{},"72":{},"74":{},"79":{},"88":{},"99":{},"140":{},"143":{},"151":{},"179":{},"206":{},"260":{},"281":{}},"component":{}}],["project",{"_index":760,"title":{"197":{},"279":{},"290":{},"115-5":{},"115-7":{},"279-1":{},"279-2":{},"279-4":{},"280-2":{},"280-5":{},"280-8":{}},"name":{"197":{},"279":{},"280":{}},"text":{"5":{},"15":{},"19":{},"30":{},"33":{},"40":{},"44":{},"54":{},"63":{},"66":{},"67":{},"88":{},"100":{},"104":{},"105":{},"108":{},"114":{},"115":{},"117":{},"120":{},"121":{},"129":{},"144":{},"145":{},"163":{},"194":{},"197":{},"199":{},"237":{},"270":{},"274":{},"276":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"290":{}},"component":{}}],["project.groupid",{"_index":7824,"title":{},"name":{},"text":{"279":{}},"component":{}}],["project.vers",{"_index":7825,"title":{},"name":{},"text":{"279":{}},"component":{}}],["project.yml",{"_index":3507,"title":{},"name":{},"text":{"66":{}},"component":{}}],["project=your_project_id",{"_index":7232,"title":{},"name":{},"text":{"199":{}},"component":{}}],["projection’",{"_index":7945,"title":{},"name":{},"text":{"280":{}},"component":{}}],["projector",{"_index":2810,"title":{},"name":{},"text":{"51":{}},"component":{}}],["project’",{"_index":5536,"title":{},"name":{},"text":{"100":{},"278":{},"279":{},"285":{}},"component":{}}],["prometheu",{"_index":2923,"title":{},"name":{},"text":{"57":{},"58":{},"185":{},"188":{}},"component":{}}],["promin",{"_index":3000,"title":{},"name":{},"text":{"59":{}},"component":{}}],["prompt",{"_index":6766,"title":{},"name":{},"text":{"172":{},"174":{},"178":{},"199":{}},"component":{}}],["prone",{"_index":4607,"title":{},"name":{},"text":{"72":{},"161":{}},"component":{}}],["proof",{"_index":1633,"title":{},"name":{},"text":{"31":{}},"component":{}}],["prop",{"_index":6354,"title":{},"name":{},"text":{"147":{},"148":{},"168":{},"178":{}},"component":{}}],["propag",{"_index":907,"title":{},"name":{},"text":{"6":{},"59":{},"63":{},"66":{},"67":{},"87":{},"163":{},"180":{},"215":{}},"component":{}}],["propagatingerrorhandl",{"_index":5086,"title":{},"name":{},"text":{"87":{}},"component":{}}],["proper",{"_index":4790,"title":{},"name":{},"text":{"77":{},"84":{},"96":{},"142":{},"162":{},"281":{},"287":{}},"component":{}}],["properli",{"_index":765,"title":{},"name":{},"text":{"5":{},"38":{},"67":{},"77":{},"99":{},"102":{},"145":{},"189":{}},"component":{}}],["properti",{"_index":291,"title":{"179":{},"31-4":{},"89-6":{},"89-12":{},"104-11":{},"179-5":{},"206-1":{}},"name":{},"text":{"3":{},"4":{},"15":{},"27":{},"31":{},"32":{},"33":{},"35":{},"38":{},"40":{},"46":{},"50":{},"51":{},"52":{},"57":{},"59":{},"66":{},"67":{},"68":{},"69":{},"72":{},"76":{},"77":{},"79":{},"84":{},"86":{},"88":{},"89":{},"90":{},"99":{},"104":{},"111":{},"114":{},"115":{},"116":{},"132":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"163":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"177":{},"179":{},"180":{},"181":{},"184":{},"185":{},"186":{},"188":{},"189":{},"190":{},"191":{},"192":{},"199":{},"202":{},"204":{},"206":{},"208":{},"215":{},"220":{},"226":{},"228":{},"244":{},"257":{},"274":{},"276":{},"278":{},"279":{},"281":{},"284":{}},"component":{}}],["properties.setdriverclassname(\"org.postgresql.driv",{"_index":5719,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties.setpassword(\"postgr",{"_index":5721,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties.seturl(\"jdbc:postgresql://localhost:5432/\"+tenant.tenantid",{"_index":5718,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties.setusername(\"postgr",{"_index":5720,"title":{},"name":{},"text":{"115":{}},"component":{}}],["properties/.yml",{"_index":1763,"title":{},"name":{},"text":{"32":{}},"component":{}}],["property\").build",{"_index":6392,"title":{},"name":{},"text":{"148":{}},"component":{}}],["propertyname(\"myproperti",{"_index":5249,"title":{},"name":{},"text":{"88":{}},"component":{}}],["propertysequencingpolici",{"_index":4274,"title":{},"name":{},"text":{"67":{},"88":{},"89":{}},"component":{}}],["propertysequencingpolicy.builder(someevent.class",{"_index":5247,"title":{},"name":{},"text":{"88":{}},"component":{}}],["propos",{"_index":4077,"title":{},"name":{},"text":{"67":{},"265":{}},"component":{}}],["prorat",{"_index":7601,"title":{},"name":{},"text":{"250":{}},"component":{}}],["protect",{"_index":496,"title":{"5-15":{}},"name":{},"text":{"3":{},"5":{},"44":{},"46":{},"63":{},"66":{},"77":{},"79":{},"82":{},"85":{},"88":{},"144":{},"191":{},"204":{},"281":{}},"component":{}}],["protocol",{"_index":606,"title":{},"name":{},"text":{"3":{},"38":{},"94":{},"157":{},"189":{},"191":{},"247":{}},"component":{}}],["prototyp",{"_index":2056,"title":{},"name":{},"text":{"36":{}},"component":{}}],["prove",{"_index":2969,"title":{},"name":{},"text":{"58":{},"247":{}},"component":{}}],["proven",{"_index":7791,"title":{},"name":{},"text":{"278":{}},"component":{}}],["provid",{"_index":10,"title":{"44-2":{},"50-1":{},"50-5":{},"59-11":{},"86-5":{},"247-1":{}},"name":{},"text":{"1":{},"2":{},"3":{},"5":{},"6":{},"15":{},"20":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"91":{},"99":{},"100":{},"101":{},"102":{},"104":{},"105":{},"107":{},"108":{},"111":{},"115":{},"117":{},"120":{},"121":{},"127":{},"130":{},"133":{},"137":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"156":{},"157":{},"162":{},"165":{},"166":{},"167":{},"168":{},"170":{},"172":{},"174":{},"175":{},"177":{},"178":{},"180":{},"181":{},"182":{},"185":{},"186":{},"187":{},"189":{},"190":{},"191":{},"192":{},"200":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"221":{},"224":{},"227":{},"228":{},"229":{},"232":{},"236":{},"237":{},"238":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"257":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"266":{},"267":{},"269":{},"270":{},"272":{},"274":{},"276":{},"277":{},"278":{},"280":{},"281":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["provideformessage(@nonnul",{"_index":3039,"title":{},"name":{},"text":{"59":{}},"component":{}}],["provider’",{"_index":6413,"title":{},"name":{},"text":{"150":{},"172":{}},"component":{}}],["provis",{"_index":4004,"title":{"192-6":{}},"name":{},"text":{"67":{},"101":{},"161":{},"162":{},"192":{}},"component":{}}],["proxi",{"_index":5731,"title":{},"name":{},"text":{"115":{},"189":{},"221":{}},"component":{}}],["psep",{"_index":4018,"title":{},"name":{},"text":{"67":{},"88":{}},"component":{}}],["psepconfig",{"_index":5147,"title":{},"name":{},"text":{"88":{}},"component":{}}],["psep’",{"_index":5278,"title":{},"name":{},"text":{"88":{}},"component":{}}],["psqlexcept",{"_index":4013,"title":{},"name":{},"text":{"67":{}},"component":{}}],["public",{"_index":1029,"title":{"102-1":{},"102-2":{}},"name":{},"text":{"14":{},"15":{},"17":{},"18":{},"20":{},"22":{},"24":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"50":{},"51":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"80":{},"81":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"99":{},"101":{},"102":{},"106":{},"110":{},"113":{},"115":{},"121":{},"128":{},"140":{},"147":{},"148":{},"176":{},"179":{},"189":{},"261":{},"280":{},"281":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["publicli",{"_index":7747,"title":{},"name":{},"text":{"276":{}},"component":{}}],["publicuseraccount",{"_index":2058,"title":{},"name":{},"text":{"36":{}},"component":{}}],["publish",{"_index":772,"title":{"102":{},"72-7":{},"121-13":{},"203-5":{}},"name":{"102":{}},"text":{"5":{},"6":{},"18":{},"21":{},"22":{},"30":{},"32":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"46":{},"49":{},"50":{},"51":{},"52":{},"58":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"80":{},"82":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"99":{},"100":{},"102":{},"104":{},"115":{},"121":{},"127":{},"151":{},"169":{},"185":{},"200":{},"203":{},"215":{},"217":{},"221":{},"261":{},"284":{},"286":{}},"component":{}}],["publish_ev",{"_index":6592,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["publisheracktimeout",{"_index":5575,"title":{},"name":{},"text":{"102":{}},"component":{}}],["publisheracktimeout(publisheracktimeout",{"_index":5581,"title":{},"name":{},"text":{"102":{}},"component":{}}],["publisherinterceptor",{"_index":2196,"title":{},"name":{},"text":{"38":{}},"component":{}}],["publisherthreadcount",{"_index":2207,"title":{},"name":{},"text":{"38":{}},"component":{}}],["publishev",{"_index":5857,"title":{},"name":{},"text":{"121":{}},"component":{}}],["publishing/dispatch",{"_index":2779,"title":{},"name":{},"text":{"51":{}},"component":{}}],["publishing/handl",{"_index":2911,"title":{},"name":{},"text":{"57":{}},"component":{}}],["pull",{"_index":1415,"title":{},"name":{},"text":{"29":{},"44":{},"63":{},"66":{},"67":{},"87":{},"277":{}},"component":{}}],["purchas",{"_index":828,"title":{},"name":{},"text":{"5":{}},"component":{}}],["pure",{"_index":2339,"title":{},"name":{},"text":{"40":{},"66":{},"72":{},"77":{}},"component":{}}],["purg",{"_index":6030,"title":{},"name":{},"text":{"140":{},"178":{}},"component":{}}],["purpos",{"_index":512,"title":{"199-2":{},"227-2":{},"236-2":{}},"name":{},"text":{"3":{},"28":{},"31":{},"37":{},"41":{},"45":{},"46":{},"49":{},"51":{},"52":{},"53":{},"55":{},"59":{},"62":{},"64":{},"66":{},"67":{},"69":{},"70":{},"72":{},"73":{},"77":{},"78":{},"82":{},"86":{},"97":{},"100":{},"111":{},"137":{},"146":{},"151":{},"153":{},"154":{},"155":{},"159":{},"169":{},"173":{},"175":{},"177":{},"178":{},"180":{},"182":{},"183":{},"191":{},"202":{},"210":{},"264":{},"273":{},"274":{},"287":{}},"component":{}}],["push",{"_index":401,"title":{},"name":{},"text":{"3":{},"44":{},"129":{},"161":{},"191":{}},"component":{}}],["put",{"_index":267,"title":{},"name":{},"text":{"3":{},"14":{},"23":{},"51":{},"58":{},"66":{},"81":{},"82":{},"85":{},"87":{},"88":{},"102":{},"111":{},"191":{},"196":{},"215":{}},"component":{}}],["pwd}/data1",{"_index":464,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/data2",{"_index":472,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/data3",{"_index":478,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/events1",{"_index":468,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/events2",{"_index":474,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/events3",{"_index":480,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/log1",{"_index":470,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/log2",{"_index":476,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["pwd}/log3",{"_index":482,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["python",{"_index":72,"title":{},"name":{},"text":{"2":{},"200":{}},"component":{}}],["q",{"_index":32,"title":{"2-1":{},"2-2":{},"2-3":{},"2-4":{},"2-5":{},"2-6":{},"2-7":{},"5-1":{},"5-2":{},"5-3":{},"5-4":{},"5-5":{},"5-6":{},"5-7":{},"5-8":{},"5-9":{},"5-10":{},"5-11":{},"5-12":{},"5-13":{},"5-14":{},"5-15":{}},"name":{},"text":{"121":{}},"component":{}}],["q.getqueryname().equals(\"myblockedqueri",{"_index":5898,"title":{},"name":{},"text":{"121":{}},"component":{}}],["qualifi",{"_index":1298,"title":{},"name":{},"text":{"23":{},"24":{},"26":{},"35":{},"38":{},"44":{},"52":{},"63":{},"67":{}},"component":{}}],["qualifier(\"eventseri",{"_index":1095,"title":{},"name":{},"text":{"15":{},"39":{},"40":{},"46":{}},"component":{}}],["qualifier(\"localseg",{"_index":2264,"title":{},"name":{},"text":{"38":{},"128":{}},"component":{}}],["qualifier(\"messageseri",{"_index":1629,"title":{},"name":{},"text":{"31":{}},"component":{}}],["quartz",{"_index":2331,"title":{"40-6":{}},"name":{},"text":{"40":{},"66":{},"67":{}},"component":{}}],["quartzdeadlinemanag",{"_index":2273,"title":{},"name":{},"text":{"39":{},"66":{},"67":{}},"component":{}}],["quartzeventschedul",{"_index":2341,"title":{},"name":{},"text":{"40":{},"66":{}},"component":{}}],["quartzeventschedulerfactorybean",{"_index":2369,"title":{},"name":{},"text":{"40":{},"66":{}},"component":{}}],["queri",{"_index":783,"title":{"62":{},"63":{},"64":{},"108":{},"214":{},"219":{},"280":{},"49-3":{},"51-9":{},"51-10":{},"51-12":{},"52-3":{},"59-36":{},"59-37":{},"59-40":{},"59-43":{},"59-46":{},"60-1":{},"61-1":{},"61-2":{},"62-1":{},"63-1":{},"63-2":{},"63-3":{},"63-4":{},"63-5":{},"64-1":{},"64-2":{},"64-3":{},"115-6":{},"121-5":{},"121-6":{},"121-8":{},"143-4":{},"163-1":{},"186-2":{},"202-7":{},"202-9":{},"203-4":{},"214-4":{},"214-5":{},"214-6":{},"221-5":{},"280-5":{},"280-6":{},"280-7":{},"280-8":{},"280-9":{},"280-10":{},"280-11":{},"280-12":{},"280-13":{},"290-5":{}},"name":{"63":{},"64":{},"108":{},"214":{},"219":{}},"text":{"5":{},"11":{},"12":{},"23":{},"24":{},"28":{},"29":{},"30":{},"31":{},"32":{},"34":{},"36":{},"46":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"72":{},"79":{},"88":{},"89":{},"107":{},"108":{},"111":{},"115":{},"121":{},"132":{},"133":{},"140":{},"141":{},"143":{},"144":{},"147":{},"148":{},"150":{},"161":{},"162":{},"163":{},"169":{},"170":{},"179":{},"185":{},"186":{},"192":{},"194":{},"200":{},"202":{},"203":{},"213":{},"214":{},"215":{},"216":{},"218":{},"219":{},"221":{},"224":{},"242":{},"243":{},"249":{},"261":{},"262":{},"270":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"290":{}},"component":{"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["queries.wait",{"_index":7028,"title":{},"name":{},"text":{"185":{}},"component":{}}],["query'",{"_index":5819,"title":{},"name":{},"text":{"121":{}},"component":{}}],["query(str",{"_index":3139,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query.getfilter().getidstartswith",{"_index":3161,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query.limit",{"_index":6866,"title":{},"name":{},"text":{"179":{}},"component":{}}],["query.timeout",{"_index":6947,"title":{},"name":{},"text":{"179":{}},"component":{}}],["query1(str",{"_index":3147,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query2(str",{"_index":3148,"title":{},"name":{},"text":{"63":{}},"component":{}}],["querya",{"_index":3244,"title":{},"name":{},"text":{"64":{}},"component":{}}],["queryb",{"_index":3243,"title":{},"name":{},"text":{"64":{}},"component":{}}],["querybu",{"_index":2778,"title":{},"name":{},"text":{"51":{},"53":{},"57":{},"59":{},"61":{},"63":{},"64":{},"67":{},"115":{},"245":{},"261":{},"274":{}},"component":{}}],["querybus(globalmetricregistri",{"_index":3131,"title":{},"name":{},"text":{"61":{}},"component":{}}],["querybus.query(query).thenaccept(system.out::println",{"_index":3144,"title":{},"name":{},"text":{"63":{}},"component":{}}],["querybus.scattergather(queri",{"_index":3149,"title":{},"name":{},"text":{"63":{}},"component":{}}],["queryc",{"_index":3245,"title":{},"name":{},"text":{"64":{}},"component":{}}],["querydispatcher(priv",{"_index":5648,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querydispatchinterceptor`",{"_index":3126,"title":{},"name":{},"text":{"61":{}},"component":{}}],["queryexecutionexcept",{"_index":2653,"title":{},"name":{},"text":{"48":{}},"component":{}}],["queryexecutionexception`with",{"_index":2659,"title":{},"name":{},"text":{"48":{}},"component":{}}],["querygateway",{"_index":3124,"title":{"108-1":{}},"name":{},"text":{"61":{},"63":{},"66":{},"67":{},"108":{},"121":{},"133":{},"280":{},"281":{},"290":{}},"component":{}}],["querygateway#streamingqueri",{"_index":4005,"title":{},"name":{},"text":{"67":{}},"component":{}}],["querygateway.queri",{"_index":7888,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["querygateway.query(bikestatusnamedqueries.find_on",{"_index":7901,"title":{},"name":{},"text":{"280":{}},"component":{}}],["querygateway.query(countcardsummariesqueri",{"_index":5655,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querygateway.query(find_all_queri",{"_index":7895,"title":{},"name":{},"text":{"280":{}},"component":{}}],["querygateway.query(queri",{"_index":5651,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querygateway.streamingquery(queri",{"_index":3209,"title":{},"name":{},"text":{"63":{}},"component":{}}],["querygateway.subscriptionqueri",{"_index":3183,"title":{},"name":{},"text":{"63":{}},"component":{}}],["queryhandl",{"_index":2787,"title":{},"name":{},"text":{"51":{},"52":{},"60":{},"63":{},"64":{},"66":{},"67":{},"280":{},"290":{}},"component":{}}],["queryhandler(querynam",{"_index":3146,"title":{},"name":{},"text":{"63":{},"280":{}},"component":{}}],["querymani",{"_index":5657,"title":{},"name":{},"text":{"108":{}},"component":{}}],["querymessag",{"_index":1594,"title":{},"name":{},"text":{"31":{},"47":{},"51":{},"52":{},"67":{}},"component":{}}],["querymessage.class",{"_index":2793,"title":{},"name":{},"text":{"51":{}},"component":{}}],["querynam",{"_index":3109,"title":{},"name":{},"text":{"59":{},"60":{},"63":{},"67":{},"121":{},"214":{},"280":{}},"component":{}}],["queryopt",{"_index":5656,"title":{},"name":{},"text":{"108":{}},"component":{}}],["queryprocessingtask(${querynam",{"_index":3095,"title":{},"name":{},"text":{"59":{}},"component":{}}],["queryrequest",{"_index":4304,"title":{},"name":{},"text":{"67":{}},"component":{}}],["queryrespons",{"_index":2685,"title":{},"name":{},"text":{"50":{}},"component":{}}],["queryupd",{"_index":5797,"title":{"121-11":{}},"name":{},"text":{},"component":{}}],["queryupdateemitt",{"_index":3106,"title":{"108-2":{}},"name":{},"text":{"59":{},"61":{},"63":{},"67":{},"108":{},"115":{}},"component":{}}],["queryupdateemitter(updateemitt",{"_index":3134,"title":{},"name":{},"text":{"61":{}},"component":{}}],["queryupdateemitter.emit",{"_index":3172,"title":{},"name":{},"text":{"63":{}},"component":{}}],["query’",{"_index":3092,"title":{},"name":{},"text":{"59":{},"60":{},"64":{}},"component":{}}],["question",{"_index":986,"title":{"7-3":{}},"name":{},"text":{"61":{},"64":{},"76":{},"88":{},"187":{},"235":{},"288":{}},"component":{}}],["queu",{"_index":1142,"title":{},"name":{},"text":{"16":{},"59":{},"186":{},"274":{}},"component":{}}],["queue",{"_index":850,"title":{"15":{},"16":{},"86":{},"92":{},"110":{},"257":{},"15-1":{},"15-2":{},"87-7":{},"111-4":{},"115-8":{}},"name":{"86":{}},"text":{"5":{},"7":{},"14":{},"15":{},"16":{},"17":{},"46":{},"66":{},"67":{},"86":{},"87":{},"88":{},"90":{},"91":{},"92":{},"110":{},"115":{},"143":{},"179":{},"249":{},"250":{},"255":{},"257":{},"259":{},"276":{}},"component":{"14":{},"15":{},"16":{},"17":{}}}],["quick",{"_index":499,"title":{"200":{},"178-1":{},"201-2":{}},"name":{},"text":{"3":{},"7":{},"30":{},"31":{},"46":{},"67":{},"178":{},"191":{},"192":{},"200":{},"201":{},"207":{},"274":{},"275":{},"280":{},"284":{}},"component":{"200":{},"201":{},"202":{},"203":{}}}],["quickest",{"_index":1485,"title":{},"name":{},"text":{"30":{},"133":{}},"component":{}}],["quickli",{"_index":4359,"title":{},"name":{},"text":{"67":{},"88":{},"94":{},"151":{},"201":{},"232":{},"269":{},"283":{}},"component":{}}],["quit",{"_index":1570,"title":{},"name":{},"text":{"31":{},"46":{},"69":{},"77":{},"124":{},"128":{}},"component":{}}],["quota",{"_index":737,"title":{"5-9":{}},"name":{},"text":{},"component":{}}],["r",{"_index":364,"title":{},"name":{},"text":{"3":{},"88":{},"121":{},"147":{},"156":{},"168":{},"169":{},"174":{},"178":{},"191":{}},"component":{}}],["r.getpayload().equ",{"_index":5892,"title":{},"name":{},"text":{"121":{}},"component":{}}],["r.getpayload().equals(\"blockedpayload",{"_index":5889,"title":{},"name":{},"text":{"121":{}},"component":{}}],["rabbitlistener(queu",{"_index":5423,"title":{},"name":{},"text":{"92":{}},"component":{}}],["rabbitmq",{"_index":5418,"title":{},"name":{},"text":{"91":{}},"component":{}}],["race",{"_index":6034,"title":{},"name":{},"text":{"140":{},"141":{},"215":{}},"component":{}}],["rafaesp",{"_index":4318,"title":{},"name":{},"text":{"67":{}},"component":{}}],["raft",{"_index":6023,"title":{},"name":{},"text":{"140":{},"141":{},"157":{},"179":{},"185":{}},"component":{}}],["raft_clean_log",{"_index":6665,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_get_statu",{"_index":6666,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_list_appl",{"_index":6667,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_list_context",{"_index":6669,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_list_context_memb",{"_index":6668,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_start_context",{"_index":6670,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_stepdown",{"_index":6671,"title":{},"name":{},"text":{"171":{}},"component":{}}],["raft_stop_context",{"_index":6672,"title":{},"name":{},"text":{"171":{}},"component":{}}],["rais",{"_index":2666,"title":{},"name":{},"text":{"49":{},"77":{},"87":{},"88":{},"156":{}},"component":{}}],["random",{"_index":1870,"title":{},"name":{},"text":{"34":{},"38":{},"270":{}},"component":{}}],["random_key",{"_index":2237,"title":{},"name":{},"text":{"38":{}},"component":{}}],["randomli",{"_index":1286,"title":{},"name":{},"text":{"23":{},"199":{},"266":{}},"component":{}}],["rang",{"_index":3064,"title":{},"name":{},"text":{"59":{},"137":{},"244":{},"274":{}},"component":{}}],["range(eventchannelprovid",{"_index":6285,"title":{},"name":{},"text":{"145":{}},"component":{}}],["rank",{"_index":3598,"title":{},"name":{},"text":{"66":{}},"component":{}}],["rare",{"_index":4187,"title":{},"name":{},"text":{"67":{},"140":{},"145":{},"179":{}},"component":{}}],["rate",{"_index":847,"title":{"151-13":{},"261-2":{},"274-34":{}},"name":{},"text":{"5":{},"151":{},"163":{},"179":{},"211":{},"235":{},"239":{},"242":{},"261":{},"262":{},"270":{},"273":{},"274":{}},"component":{}}],["rate=0",{"_index":6452,"title":{},"name":{},"text":{"151":{}},"component":{}}],["rate=5",{"_index":6449,"title":{},"name":{},"text":{"151":{}},"component":{}}],["ratio",{"_index":5283,"title":{},"name":{},"text":{"88":{}},"component":{}}],["rational",{"_index":4887,"title":{},"name":{},"text":{"80":{},"81":{}},"component":{}}],["raw",{"_index":7278,"title":{"211-2":{},"212-2":{},"214-2":{},"216-1":{},"217-1":{},"219-1":{},"224-4":{}},"name":{"223":{}},"text":{"202":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"224":{},"290":{}},"component":{}}],["rdbm",{"_index":40,"title":{"2-4":{}},"name":{"79":{}},"text":{"29":{},"67":{},"78":{},"88":{},"100":{},"111":{},"161":{},"192":{}},"component":{}}],["re",{"_index":1141,"title":{},"name":{},"text":{"16":{},"69":{},"77":{},"189":{},"221":{},"226":{}},"component":{}}],["re)seri",{"_index":4792,"title":{},"name":{},"text":{"77":{}},"component":{}}],["reach",{"_index":1914,"title":{},"name":{},"text":{"34":{},"43":{},"58":{},"64":{},"77":{},"87":{},"88":{},"143":{},"144":{},"163":{},"179":{},"187":{},"279":{},"281":{}},"component":{}}],["react",{"_index":876,"title":{"121-15":{}},"name":{},"text":{"6":{},"35":{},"38":{},"43":{},"45":{},"48":{},"51":{},"66":{},"67":{},"75":{},"86":{},"88":{},"99":{},"264":{},"265":{},"270":{},"281":{},"286":{}},"component":{}}],["reaction",{"_index":1972,"title":{},"name":{},"text":{"35":{},"80":{}},"component":{}}],["reactiv",{"_index":3194,"title":{},"name":{},"text":{"63":{},"120":{},"121":{}},"component":{}}],["reactivecardrepository.findal",{"_index":3216,"title":{},"name":{},"text":{"63":{}},"component":{}}],["reactivecardrepository.findall().timeout(duration.ofseconds(5",{"_index":3231,"title":{},"name":{},"text":{"63":{}},"component":{}}],["reactivecommandgateway",{"_index":5805,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivecommandgateway.send(command",{"_index":5809,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivecommandgateway.sendall(inputstream",{"_index":5813,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactiveeventgateway",{"_index":5851,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactiveeventgateway.publish(\"ev",{"_index":5858,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactiveeventgateway.registerdispatchinterceptor",{"_index":5852,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivegateway",{"_index":5868,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivegateway.registerdispatchinterceptor",{"_index":5869,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivegateway.registerresulthandlerinterceptor",{"_index":5886,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway",{"_index":5818,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.query(queri",{"_index":5800,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.queryupdates(\"criteriaqueri",{"_index":5846,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.registerresulthandlerinterceptor",{"_index":5890,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.scattergather(queri",{"_index":5823,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.subscriptionquery(\"criteriaqueri",{"_index":5829,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.subscriptionquery(queri",{"_index":5834,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactivequerygateway.subscriptionquerymany(\"criteriaqueri",{"_index":5841,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactor",{"_index":25,"title":{"120":{},"121":{},"122":{},"30-31":{},"30-32":{},"121-2":{},"121-5":{},"121-12":{},"121-16":{}},"name":{"121":{}},"text":{"1":{},"30":{},"63":{},"66":{},"120":{},"121":{},"122":{},"163":{},"278":{}},"component":{"120":{},"121":{},"122":{}}}],["reactor'",{"_index":3195,"title":{},"name":{},"text":{"63":{}},"component":{}}],["reactorcommandgateway",{"_index":5802,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactorconfigur",{"_index":5866,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactoreventgateway",{"_index":5850,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactormessagedispatchinterceptor",{"_index":5859,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactormessagedispatchinterceptor#intercept(mono",{"_index":5865,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactorquerygateway",{"_index":5817,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactorresulthandlerinterceptor",{"_index":5860,"title":{},"name":{},"text":{"121":{}},"component":{}}],["reactor’",{"_index":3215,"title":{},"name":{},"text":{"63":{},"121":{}},"component":{}}],["read",{"_index":550,"title":{"92":{},"147-4":{},"290-4":{},"290-5":{}},"name":{"92":{}},"text":{"3":{},"31":{},"42":{},"44":{},"46":{},"49":{},"52":{},"64":{},"66":{},"67":{},"77":{},"79":{},"82":{},"89":{},"91":{},"92":{},"104":{},"123":{},"143":{},"144":{},"145":{},"148":{},"151":{},"154":{},"161":{},"169":{},"171":{},"177":{},"178":{},"179":{},"186":{},"191":{},"199":{},"203":{},"208":{},"212":{},"237":{},"250":{},"260":{},"261":{},"263":{},"264":{},"267":{},"274":{},"279":{},"285":{},"286":{},"290":{}},"component":{}}],["read,admin",{"_index":6576,"title":{},"name":{},"text":{"168":{},"174":{},"178":{}},"component":{}}],["read/admin",{"_index":6811,"title":{},"name":{},"text":{"178":{}},"component":{}}],["read/chang",{"_index":7228,"title":{},"name":{},"text":{"199":{}},"component":{}}],["read_ev",{"_index":6593,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["read_highest_seqnr",{"_index":6704,"title":{},"name":{},"text":{"171":{}},"component":{}}],["readabl",{"_index":1569,"title":{},"name":{},"text":{"31":{},"40":{},"46":{},"72":{},"79":{},"195":{}},"component":{}}],["reader",{"_index":1013,"title":{},"name":{},"text":{"8":{},"12":{},"13":{}},"component":{}}],["readi",{"_index":220,"title":{"276-5":{}},"name":{},"text":{"3":{},"19":{},"31":{},"53":{},"63":{},"88":{},"96":{},"141":{},"143":{},"179":{},"191":{},"202":{},"237":{},"241":{},"268":{},"269":{},"270":{},"276":{},"277":{},"278":{},"280":{},"281":{}},"component":{}}],["readinessprob",{"_index":618,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["readme.md",{"_index":4099,"title":{},"name":{},"text":{"67":{}},"component":{}}],["readonli",{"_index":614,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["readwriteonc",{"_index":633,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["real",{"_index":86,"title":{},"name":{},"text":{"2":{},"5":{},"64":{},"140":{},"151":{},"156":{},"243":{},"269":{},"271":{},"277":{},"280":{}},"component":{}}],["realiti",{"_index":4991,"title":{},"name":{},"text":{"86":{}},"component":{}}],["realiz",{"_index":6245,"title":{},"name":{},"text":{"145":{},"286":{}},"component":{}}],["realli",{"_index":1644,"title":{},"name":{},"text":{"31":{},"36":{},"38":{},"46":{},"49":{},"55":{},"69":{},"76":{}},"component":{}}],["realm",{"_index":6769,"title":{},"name":{},"text":{"172":{}},"component":{}}],["realm’",{"_index":6777,"title":{},"name":{},"text":{"172":{}},"component":{}}],["rearrang",{"_index":7739,"title":{},"name":{},"text":{"274":{}},"component":{}}],["reason",{"_index":714,"title":{},"name":{},"text":{"4":{},"31":{},"38":{},"46":{},"51":{},"53":{},"63":{},"67":{},"77":{},"86":{},"89":{},"142":{},"145":{},"151":{},"156":{},"184":{},"189":{},"206":{},"264":{},"273":{},"274":{},"278":{},"281":{}},"component":{}}],["rebal",{"_index":3275,"title":{},"name":{},"text":{"66":{}},"component":{}}],["rebalanc",{"_index":6932,"title":{},"name":{},"text":{"179":{}},"component":{}}],["rebalance_processor",{"_index":6684,"title":{},"name":{},"text":{"171":{}},"component":{}}],["rebas",{"_index":1824,"title":{},"name":{},"text":{"33":{}},"component":{}}],["rebuild",{"_index":2970,"title":{},"name":{},"text":{"58":{},"77":{}},"component":{}}],["rebuilt",{"_index":7997,"title":{},"name":{},"text":{"283":{}},"component":{}}],["recal",{"_index":7833,"title":{},"name":{},"text":{"280":{}},"component":{}}],["recap",{"_index":6320,"title":{},"name":{},"text":{"147":{}},"component":{}}],["receipt",{"_index":6467,"title":{},"name":{},"text":{"151":{},"274":{}},"component":{}}],["receiv",{"_index":998,"title":{"202":{},"211":{},"212":{},"213":{},"214":{},"204-3":{}},"name":{"202":{},"211":{},"212":{},"213":{},"214":{}},"text":{"8":{},"13":{},"31":{},"35":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"67":{},"72":{},"76":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"99":{},"100":{},"101":{},"102":{},"121":{},"127":{},"130":{},"138":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"156":{},"163":{},"179":{},"186":{},"200":{},"202":{},"204":{},"206":{},"211":{},"212":{},"213":{},"214":{},"217":{},"221":{},"243":{},"247":{},"250":{},"254":{},"262":{},"274":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["recent",{"_index":1458,"title":{},"name":{},"text":{"29":{},"31":{},"40":{},"67":{},"140":{},"142":{},"143":{},"151":{},"156":{},"157":{},"179":{},"185":{},"198":{}},"component":{}}],["recept",{"_index":7871,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["rechargeablegiftcard",{"_index":4892,"title":{},"name":{},"text":{"81":{}},"component":{}}],["recip",{"_index":1009,"title":{},"name":{},"text":{"8":{},"13":{},"33":{},"67":{}},"component":{}}],["reclaim",{"_index":5789,"title":{},"name":{},"text":{"120":{},"140":{}},"component":{}}],["recogn",{"_index":2617,"title":{},"name":{},"text":{"46":{},"66":{},"69":{},"77":{},"143":{},"279":{}},"component":{}}],["recommend",{"_index":495,"title":{"179-4":{},"199-4":{}},"name":{},"text":{"3":{},"30":{},"31":{},"33":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"47":{},"48":{},"51":{},"52":{},"53":{},"59":{},"63":{},"64":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"99":{},"100":{},"102":{},"104":{},"111":{},"121":{},"130":{},"147":{},"154":{},"156":{},"161":{},"162":{},"164":{},"165":{},"176":{},"177":{},"179":{},"191":{},"199":{},"247":{},"260":{},"261":{},"276":{},"283":{}},"component":{}}],["reconnect",{"_index":4415,"title":{"140-17":{}},"name":{},"text":{"67":{},"140":{},"141":{},"154":{},"192":{},"206":{},"215":{},"221":{}},"component":{}}],["reconnect_cli",{"_index":6685,"title":{},"name":{},"text":{"171":{}},"component":{}}],["reconsid",{"_index":5040,"title":{},"name":{},"text":{"86":{}},"component":{}}],["reconstruct",{"_index":1645,"title":{},"name":{},"text":{"31":{},"35":{},"36":{},"38":{},"66":{},"69":{},"77":{}},"component":{}}],["record",{"_index":886,"title":{},"name":{},"text":{"6":{},"74":{},"101":{},"104":{},"141":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["record’",{"_index":5594,"title":{},"name":{},"text":{"104":{}},"component":{}}],["recov",{"_index":4107,"title":{},"name":{},"text":{"67":{},"142":{},"151":{}},"component":{}}],["recover",{"_index":7138,"title":{},"name":{},"text":{"189":{}},"component":{}}],["recoveri",{"_index":979,"title":{"149":{}},"name":{"149":{}},"text":{"6":{},"146":{},"149":{},"179":{},"181":{}},"component":{}}],["recovery.json",{"_index":6402,"title":{},"name":{},"text":{"149":{},"179":{}},"component":{}}],["recoveryfil",{"_index":6955,"title":{},"name":{},"text":{"179":{}},"component":{}}],["recreat",{"_index":1979,"title":{},"name":{},"text":{"35":{},"67":{},"77":{},"82":{},"147":{},"162":{},"206":{}},"component":{}}],["rectifi",{"_index":4380,"title":{},"name":{},"text":{"67":{},"140":{}},"component":{}}],["red",{"_index":784,"title":{},"name":{},"text":{"5":{}},"component":{}}],["redeem",{"_index":3165,"title":{},"name":{},"text":{"63":{},"203":{}},"component":{}}],["redeemcardcommand",{"_index":1930,"title":{},"name":{},"text":{"35":{},"72":{}},"component":{}}],["redeemcardcommand(\"cardid",{"_index":4539,"title":{},"name":{},"text":{"72":{}},"component":{}}],["redeemcardcommand(card_id",{"_index":1203,"title":{},"name":{},"text":{"18":{}},"component":{}}],["redeemcardcommand(str",{"_index":1956,"title":{},"name":{},"text":{"35":{}},"component":{}}],["redeemcmd",{"_index":3203,"title":{},"name":{},"text":{"63":{}},"component":{}}],["redeemcmd(\"gc1",{"_index":3191,"title":{},"name":{},"text":{"63":{}},"component":{}}],["redeemedevt",{"_index":3166,"title":{},"name":{},"text":{"63":{}},"component":{}}],["redesign",{"_index":3613,"title":{},"name":{},"text":{"66":{},"140":{}},"component":{}}],["redirect",{"_index":4476,"title":{},"name":{},"text":{"69":{},"71":{},"141":{},"172":{}},"component":{}}],["redistribut",{"_index":6074,"title":{},"name":{},"text":{"141":{}},"component":{}}],["reduc",{"_index":940,"title":{},"name":{},"text":{"6":{},"66":{},"67":{},"77":{},"88":{},"89":{},"140":{},"141":{},"151":{},"156":{},"250":{},"261":{}},"component":{}}],["reduce(boolean::logicaland",{"_index":6228,"title":{},"name":{},"text":{"144":{}},"component":{}}],["reduct",{"_index":6470,"title":{},"name":{},"text":{"151":{}},"component":{}}],["redund",{"_index":3575,"title":{},"name":{},"text":{"66":{}},"component":{}}],["reentrantlock",{"_index":3902,"title":{},"name":{},"text":{"67":{}},"component":{}}],["reevalu",{"_index":5041,"title":{},"name":{},"text":{"86":{}},"component":{}}],["refactor",{"_index":2435,"title":{},"name":{},"text":{"44":{},"46":{},"66":{},"67":{}},"component":{}}],["refer",{"_index":18,"title":{"9":{},"207":{},"249":{},"8-4":{},"13-4":{},"28-2":{},"55-2":{}},"name":{"9":{}},"text":{"1":{},"3":{},"8":{},"13":{},"28":{},"33":{},"35":{},"37":{},"38":{},"41":{},"43":{},"45":{},"46":{},"49":{},"50":{},"55":{},"59":{},"64":{},"66":{},"67":{},"69":{},"70":{},"71":{},"72":{},"73":{},"82":{},"84":{},"86":{},"87":{},"88":{},"94":{},"100":{},"115":{},"129":{},"144":{},"145":{},"146":{},"147":{},"156":{},"172":{},"173":{},"178":{},"183":{},"191":{},"192":{},"199":{},"206":{},"207":{},"208":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"220":{},"221":{},"226":{},"242":{},"246":{},"274":{},"276":{},"278":{},"280":{},"284":{},"285":{}},"component":{"13":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{},"255":{},"256":{},"257":{},"258":{},"259":{},"260":{},"261":{},"262":{}}}],["referenc",{"_index":1915,"title":{},"name":{},"text":{"34":{},"151":{},"215":{}},"component":{}}],["reference:tuning:ev",{"_index":7707,"title":{},"name":{},"text":{"274":{}},"component":{}}],["referr",{"_index":6643,"title":{},"name":{},"text":{"170":{}},"component":{}}],["reflect",{"_index":896,"title":{},"name":{},"text":{"6":{},"31":{},"58":{},"66":{},"67":{},"72":{},"87":{},"126":{},"239":{}},"component":{}}],["refresh",{"_index":4720,"title":{},"name":{},"text":{"76":{},"180":{},"279":{},"281":{},"283":{}},"component":{}}],["refreshtoken(applicationid",{"_index":7002,"title":{},"name":{},"text":{"180":{}},"component":{}}],["refus",{"_index":6186,"title":{},"name":{},"text":{"143":{}},"component":{}}],["regard",{"_index":1446,"title":{},"name":{},"text":{"29":{},"30":{},"35":{},"38":{},"42":{},"55":{},"60":{},"66":{},"67":{},"69":{},"82":{},"100":{},"111":{},"153":{},"189":{},"221":{},"239":{}},"component":{}}],["regardless",{"_index":1689,"title":{},"name":{},"text":{"31":{},"35":{},"38":{},"44":{},"51":{},"59":{},"63":{},"66":{},"67":{},"74":{},"88":{},"99":{},"102":{},"127":{},"261":{}},"component":{}}],["regener",{"_index":7001,"title":{},"name":{},"text":{"180":{},"281":{}},"component":{}}],["region",{"_index":6414,"title":{},"name":{},"text":{"150":{},"234":{}},"component":{}}],["regist",{"_index":1061,"title":{"283":{},"15-1":{},"36-2":{},"43-1":{},"60-1":{},"81-1":{},"168-1":{},"211-4":{},"211-5":{},"211-6":{},"212-5":{},"212-6":{},"212-7":{},"214-4":{},"214-5":{},"214-6":{},"247-1":{},"247-3":{},"281-2":{},"281-10":{},"283-4":{}},"name":{},"text":{"15":{},"20":{},"24":{},"32":{},"36":{},"38":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"81":{},"87":{},"88":{},"89":{},"94":{},"99":{},"115":{},"121":{},"141":{},"143":{},"145":{},"147":{},"148":{},"150":{},"154":{},"168":{},"169":{},"172":{},"174":{},"178":{},"192":{},"202":{},"204":{},"209":{},"211":{},"212":{},"213":{},"214":{},"216":{},"219":{},"221":{},"224":{},"247":{},"250":{},"263":{},"265":{},"280":{},"281":{},"283":{},"286":{},"289":{},"290":{}},"component":{}}],["registeraggregatefactori",{"_index":4555,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerannotatedcommandhandl",{"_index":4548,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerbik",{"_index":7982,"title":{},"name":{},"text":{"281":{}},"component":{}}],["registerbikecommand",{"_index":7950,"title":{},"name":{},"text":{"281":{},"283":{},"285":{},"289":{}},"component":{}}],["registerbikecommand(\"bikeid",{"_index":8030,"title":{},"name":{},"text":{"285":{}},"component":{}}],["registerbikecommand(@targetaggregateidentifi",{"_index":7954,"title":{},"name":{},"text":{"281":{}},"component":{}}],["registerbikecommand`",{"_index":7986,"title":{},"name":{},"text":{"281":{}},"component":{}}],["registercommanddispatchinterceptor",{"_index":4559,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercommandgateway(class",{"_index":4686,"title":{},"name":{},"text":{"74":{}},"component":{}}],["registercommandhandl",{"_index":4556,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercommandhandler(conf",{"_index":2012,"title":{},"name":{},"text":{"36":{}},"component":{}}],["registercommandhandlerinterceptor",{"_index":4560,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercommandtargetresolv",{"_index":4569,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registercomponent(axonserverconfiguration.class",{"_index":4718,"title":{},"name":{},"text":{"76":{}},"component":{}}],["registercomponent(targetcontextresolver.class",{"_index":6346,"title":{},"name":{},"text":{"147":{}},"component":{}}],["registerdeadletterpolicy(\"mi",{"_index":5047,"title":{},"name":{},"text":{"86":{}},"component":{}}],["registerdeadletterqueu",{"_index":1114,"title":{},"name":{},"text":{"15":{}},"component":{}}],["registerdeadletterqueue(str",{"_index":1077,"title":{},"name":{},"text":{"15":{}},"component":{}}],["registerdeadletterqueueprovid",{"_index":1086,"title":{},"name":{},"text":{"15":{},"66":{}},"component":{}}],["registerdeadlinedispatchinterceptor",{"_index":4561,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerdeadlinehandlerinterceptor",{"_index":4563,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerdefaulterrorhandler(conf",{"_index":5088,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerdefaulthandlerinterceptor(bifunct",{"_index":5102,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerdefaultlistenerinvocationerrorhandler(conf",{"_index":5076,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerdispatchinterceptor(reactorcommandgateway",{"_index":5867,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registerdispatchinterceptor(reactoreventgateway",{"_index":5875,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registererrorhandler(\"mi",{"_index":5089,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registereventhandler(config",{"_index":2423,"title":{},"name":{},"text":{"43":{}},"component":{}}],["registereventprocessor(str",{"_index":5100,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registereventprocessorfactory(eventprocessorbuild",{"_index":5099,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registereventupcaster(config",{"_index":2501,"title":{},"name":{},"text":{"44":{}},"component":{}}],["registerexamplehandlerdefinition(configur",{"_index":1355,"title":{},"name":{},"text":{"24":{}},"component":{}}],["registerextens",{"_index":4543,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerfieldfilt",{"_index":4564,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerhandlerdefinit",{"_index":4566,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerhandlerenhancerdefinit",{"_index":4568,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerhandlerinterceptor",{"_index":4066,"title":{},"name":{},"text":{"67":{}},"component":{}}],["registerhandlerinterceptor(\"mi",{"_index":2777,"title":{},"name":{},"text":{"51":{}},"component":{}}],["registerhandlerinterceptor(str",{"_index":5103,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerignoredfield",{"_index":4565,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerinjectableresourc",{"_index":4557,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerlistenerinvocationerrorhandl",{"_index":5082,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerlistenerinvocationerrorhandler(\"mi",{"_index":5077,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registermessagehandler(conf",{"_index":2013,"title":{},"name":{},"text":{"36":{},"60":{}},"component":{}}],["registermessagemonitor(str",{"_index":5104,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registermessagemonitorfactory(str",{"_index":5105,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registerparameterresolverfactori",{"_index":4558,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerpooledstreamingeventprocessor",{"_index":5149,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingeventprocessorconfigur",{"_index":5157,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingeventprocessorconfiguration(\"mi",{"_index":5156,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingprocessor",{"_index":5144,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpooledstreamingprocessorconfig(eventprocessingconfigur",{"_index":5154,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerpublishertoeventprocessor(eventprocessingconfigur",{"_index":5586,"title":{},"name":{},"text":{"102":{}},"component":{}}],["registerqueryhandler(conf",{"_index":3119,"title":{},"name":{},"text":{"60":{}},"component":{}}],["registerrepositori",{"_index":4551,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerrepositoryprovid",{"_index":4552,"title":{},"name":{},"text":{"72":{}},"component":{}}],["registerresultinterceptor(reactorcommandgateway",{"_index":5899,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registerresultinterceptor(reactorquerygateway",{"_index":5885,"title":{},"name":{},"text":{"121":{}},"component":{}}],["registerrollbackconfiguration(str",{"_index":5111,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registersaga(mysaga.class",{"_index":4519,"title":{},"name":{},"text":{"71":{}},"component":{}}],["registersequencingpolicy(\"mi",{"_index":5251,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registerspanattributeprovid",{"_index":3681,"title":{},"name":{},"text":{"66":{}},"component":{}}],["registersubscribingeventprocessor",{"_index":5385,"title":{},"name":{},"text":{"89":{},"102":{}},"component":{}}],["registersubscribingeventprocessor(\"mi",{"_index":5388,"title":{},"name":{},"text":{"89":{}},"component":{}}],["registersubscribingeventprocessor(processinggroup",{"_index":5592,"title":{},"name":{},"text":{"102":{}},"component":{}}],["registertokenstore(\"mi",{"_index":5225,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertokenstore(eventprocessingconfigur",{"_index":5216,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertrackingeventprocessor",{"_index":5126,"title":{},"name":{},"text":{"88":{},"102":{}},"component":{}}],["registertrackingeventprocessor(\"mi",{"_index":2776,"title":{},"name":{},"text":{"51":{},"88":{}},"component":{}}],["registertrackingeventprocessorconfigur",{"_index":5140,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertrackingeventprocessorconfiguration(\"mi",{"_index":5139,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertrackingprocessorconfig(eventprocessingconfigur",{"_index":5137,"title":{},"name":{},"text":{"88":{}},"component":{}}],["registertransactionmanager(str",{"_index":5109,"title":{},"name":{},"text":{"87":{}},"component":{}}],["registr",{"_index":2010,"title":{"75-1":{},"247-4":{}},"name":{},"text":{"36":{},"46":{},"50":{},"51":{},"60":{},"66":{},"67":{},"75":{},"87":{},"89":{},"99":{},"127":{},"128":{},"129":{},"147":{},"154":{},"167":{},"178":{},"202":{},"211":{},"290":{}},"component":{}}],["registrationupd",{"_index":8039,"title":{},"name":{},"text":{"286":{}},"component":{}}],["registri",{"_index":2922,"title":{},"name":{},"text":{"57":{}},"component":{}}],["regress",{"_index":4140,"title":{},"name":{},"text":{"67":{}},"component":{}}],["regular",{"_index":1927,"title":{},"name":{},"text":{"35":{},"36":{},"38":{},"42":{},"47":{},"51":{},"52":{},"64":{},"67":{},"69":{},"72":{},"76":{},"77":{},"82":{},"86":{},"87":{},"88":{},"92":{},"121":{},"147":{},"161":{},"178":{},"179":{},"189":{},"192":{},"199":{},"202":{}},"component":{}}],["regularli",{"_index":4714,"title":{},"name":{},"text":{"76":{},"77":{},"80":{}},"component":{}}],["reifi",{"_index":1532,"title":{},"name":{},"text":{"30":{},"107":{}},"component":{}}],["reimburs",{"_index":4935,"title":{},"name":{},"text":{"84":{}},"component":{}}],["reinstal",{"_index":6376,"title":{},"name":{},"text":{"148":{}},"component":{}}],["reintroduc",{"_index":4127,"title":{},"name":{},"text":{"67":{}},"component":{}}],["reiter",{"_index":3772,"title":{},"name":{},"text":{"66":{}},"component":{}}],["reject",{"_index":4924,"title":{},"name":{},"text":{"83":{},"143":{},"281":{},"288":{}},"component":{}}],["rejectpaymentcommand",{"_index":7713,"title":{},"name":{},"text":{"274":{}},"component":{}}],["rel",{"_index":2251,"title":{},"name":{},"text":{"38":{},"66":{},"69":{},"71":{},"77":{},"179":{},"211":{},"274":{}},"component":{}}],["relat",{"_index":1063,"title":{"79":{},"206-37":{}},"name":{},"text":{"15":{},"19":{},"22":{},"29":{},"32":{},"33":{},"38":{},"46":{},"52":{},"59":{},"67":{},"69":{},"72":{},"78":{},"79":{},"82":{},"142":{},"143":{},"144":{},"160":{},"164":{},"180":{},"186":{},"187":{},"206":{},"211":{},"212":{},"214":{},"237":{},"242":{},"244":{},"274":{},"281":{},"287":{}},"component":{}}],["relationship",{"_index":5242,"title":{},"name":{},"text":{"88":{},"154":{}},"component":{}}],["relay",{"_index":7313,"title":{},"name":{},"text":{"203":{}},"component":{}}],["releas",{"_index":8,"title":{"65":{},"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"140":{},"141":{},"215":{},"66-1":{},"66-6":{},"66-12":{},"66-17":{},"66-22":{},"66-27":{},"66-30":{},"66-33":{},"66-36":{},"66-39":{},"66-42":{},"67-1":{},"67-2":{},"67-6":{},"67-11":{},"67-15":{},"67-16":{},"67-20":{},"67-23":{},"67-28":{},"67-29":{},"67-33":{},"67-37":{},"67-41":{},"67-42":{},"67-46":{},"67-49":{},"67-53":{},"67-57":{},"67-62":{},"67-65":{},"67-66":{},"67-70":{},"67-73":{},"67-76":{},"67-79":{},"67-82":{},"67-86":{},"67-91":{},"67-94":{},"67-95":{},"67-98":{},"67-100":{},"67-104":{},"67-106":{},"67-109":{},"67-110":{},"67-111":{},"67-112":{},"67-113":{},"67-114":{},"67-115":{},"67-116":{},"67-117":{},"67-118":{},"67-119":{},"67-120":{},"67-121":{},"67-122":{},"67-123":{},"67-124":{},"67-125":{},"67-126":{},"67-127":{},"67-128":{},"67-129":{},"67-130":{},"67-131":{},"67-132":{},"67-133":{},"67-134":{},"67-135":{},"67-136":{},"67-137":{},"67-138":{},"67-139":{},"67-140":{},"67-141":{},"67-142":{},"67-143":{},"67-144":{},"67-145":{},"93-1":{},"95-1":{},"98-1":{},"103-1":{},"109-1":{},"112-1":{},"119-1":{},"119-2":{},"119-3":{},"119-6":{},"119-7":{},"122-1":{},"126-1":{},"126-2":{},"126-3":{},"131-1":{},"134-1":{},"140-1":{},"140-6":{},"140-9":{},"140-14":{},"140-24":{},"140-25":{},"141-1":{},"141-2":{},"141-3":{},"141-4":{},"141-5":{},"141-6":{},"141-7":{},"141-8":{},"141-9":{},"141-10":{},"141-11":{},"141-12":{},"141-13":{},"141-14":{},"141-15":{},"141-16":{},"141-17":{},"141-18":{},"141-19":{},"141-20":{},"141-22":{},"141-23":{},"141-25":{}},"name":{"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"138":{},"140":{},"141":{},"215":{}},"text":{"1":{},"3":{},"4":{},"53":{},"65":{},"66":{},"67":{},"87":{},"88":{},"93":{},"95":{},"98":{},"103":{},"107":{},"109":{},"111":{},"112":{},"119":{},"122":{},"126":{},"131":{},"134":{},"137":{},"138":{},"140":{},"141":{},"144":{},"186":{},"191":{},"192":{},"206":{},"274":{},"279":{},"288":{}},"component":{}}],["releasedur",{"_index":5294,"title":{},"name":{},"text":{"88":{}},"component":{}}],["releaseseg",{"_index":5301,"title":{},"name":{},"text":{"88":{}},"component":{}}],["releasesegment(int",{"_index":5293,"title":{},"name":{},"text":{"88":{}},"component":{}}],["releasesegmentfor(str",{"_index":5303,"title":{},"name":{},"text":{"88":{}},"component":{}}],["relev",{"_index":1726,"title":{},"name":{},"text":{"32":{},"34":{},"77":{},"114":{},"142":{},"144":{},"151":{},"154":{},"187":{},"211":{},"212":{},"213":{},"214":{},"218":{},"224":{},"261":{},"273":{},"289":{}},"component":{}}],["reli",{"_index":2265,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"46":{},"50":{},"63":{},"79":{},"206":{},"216":{},"264":{},"281":{},"284":{},"287":{}},"component":{}}],["reliabl",{"_index":908,"title":{},"name":{},"text":{"6":{},"30":{},"40":{},"49":{},"76":{},"100":{},"165":{}},"component":{}}],["reload",{"_index":6802,"title":{},"name":{},"text":{"176":{},"279":{}},"component":{}}],["remain",{"_index":174,"title":{},"name":{},"text":{"2":{},"18":{},"29":{},"33":{},"35":{},"44":{},"67":{},"72":{},"74":{},"85":{},"140":{},"145":{},"147":{},"149":{},"151":{},"163":{},"179":{},"221":{},"229":{},"250":{},"254":{}},"component":{}}],["remaind",{"_index":1590,"title":{},"name":{},"text":{"31":{},"87":{}},"component":{}}],["remainingvalu",{"_index":1184,"title":{},"name":{},"text":{"18":{},"35":{},"84":{},"85":{},"202":{}},"component":{}}],["remark",{"_index":2645,"title":{},"name":{},"text":{"47":{}},"component":{}}],["remedi",{"_index":4340,"title":{},"name":{},"text":{"67":{}},"component":{}}],["rememb",{"_index":4821,"title":{},"name":{},"text":{"79":{},"102":{},"145":{},"176":{},"273":{},"280":{},"281":{}},"component":{}}],["remot",{"_index":2077,"title":{},"name":{},"text":{"38":{},"127":{},"178":{}},"component":{}}],["remov",{"_index":1148,"title":{"140-18":{},"151-8":{}},"name":{},"text":{"17":{},"31":{},"33":{},"38":{},"66":{},"67":{},"68":{},"79":{},"86":{},"107":{},"115":{},"116":{},"127":{},"140":{},"141":{},"143":{},"147":{},"151":{},"154":{},"156":{},"178":{},"180":{},"186":{},"226":{},"228":{},"229":{},"254":{},"255":{},"257":{},"260":{},"273":{},"281":{}},"component":{}}],["remove_node_from_clust",{"_index":6673,"title":{},"name":{},"text":{"171":{}},"component":{}}],["removed/deleted/clos",{"_index":4920,"title":{},"name":{},"text":{"82":{}},"component":{}}],["removenodefromreplicationgroup(leavereplicationgroup",{"_index":6993,"title":{},"name":{},"text":{"180":{}},"component":{}}],["renam",{"_index":3679,"title":{},"name":{},"text":{"66":{},"67":{},"79":{},"140":{}},"component":{}}],["render",{"_index":3008,"title":{},"name":{},"text":{"59":{},"274":{}},"component":{}}],["renew_app_token",{"_index":6674,"title":{},"name":{},"text":{"171":{}},"component":{}}],["rent",{"_index":7834,"title":{},"name":{},"text":{"280":{},"281":{},"286":{},"289":{}},"component":{}}],["rental",{"_index":1008,"title":{"277":{},"278-2":{},"279-5":{},"279-7":{}},"name":{"275":{}},"text":{"8":{},"13":{},"237":{},"238":{},"241":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"270":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"288":{},"289":{}},"component":{}}],["rental.queri",{"_index":7849,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental/pom.xml",{"_index":7676,"title":{},"name":{},"text":{"270":{},"276":{},"278":{},"279":{},"285":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/command/bike.java",{"_index":7957,"title":{},"name":{},"text":{"281":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/rentalcontroller.java",{"_index":7885,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/query/bikestatusprojection.java",{"_index":7850,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental/src/main/java/io/axoniq/demo/bikerental/rental/ui/rentalcontroller.java",{"_index":7973,"title":{},"name":{},"text":{"281":{}},"component":{}}],["rental/src/main/java/resources/application.properti",{"_index":7748,"title":{},"name":{},"text":{"276":{}},"component":{}}],["rental/src/test/java/io/axoniq/demo/bikerental/rental/command/biketest.java",{"_index":8025,"title":{},"name":{},"text":{"285":{}},"component":{}}],["rentalappl",{"_index":8013,"title":{},"name":{},"text":{"284":{}},"component":{}}],["rentalcommand",{"_index":7722,"title":{},"name":{},"text":{"274":{}},"component":{}}],["rentalcontrol",{"_index":7884,"title":{},"name":{},"text":{"280":{},"281":{},"283":{},"289":{}},"component":{}}],["rentalcontroller(commandgateway",{"_index":7975,"title":{},"name":{},"text":{"281":{}},"component":{}}],["rentals.get(command.bikeid()).equals(rentalstate.avail",{"_index":8051,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["rentals.put(event.bikeid",{"_index":8058,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["rentalstate.avail",{"_index":8061,"title":{},"name":{},"text":{"288":{}},"component":{}}],["rentalstate.reserv",{"_index":8059,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["rentalstatu",{"_index":7839,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rentalstatus.avail",{"_index":7875,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental}}/bik",{"_index":7926,"title":{},"name":{},"text":{"280":{}},"component":{}}],["rental}}/bikes/8427681b",{"_index":7927,"title":{},"name":{},"text":{"280":{}},"component":{}}],["renter",{"_index":7838,"title":{},"name":{},"text":{"280":{},"288":{},"289":{}},"component":{}}],["reoccur",{"_index":5350,"title":{},"name":{},"text":{"88":{}},"component":{}}],["reopen",{"_index":5159,"title":{},"name":{},"text":{"88":{}},"component":{}}],["repeat",{"_index":717,"title":{},"name":{},"text":{"4":{},"144":{},"192":{},"275":{}},"component":{}}],["repetit",{"_index":4623,"title":{},"name":{},"text":{"72":{}},"component":{}}],["replac",{"_index":140,"title":{"140-10":{}},"name":{},"text":{"2":{},"3":{},"4":{},"6":{},"14":{},"15":{},"30":{},"33":{},"47":{},"53":{},"64":{},"66":{},"67":{},"77":{},"79":{},"86":{},"102":{},"110":{},"121":{},"138":{},"140":{},"142":{},"145":{},"148":{},"154":{},"162":{},"176":{},"177":{},"186":{},"191":{},"192":{},"215":{}},"component":{}}],["replay",{"_index":1974,"title":{"88-26":{},"88-29":{},"88-30":{},"260-4":{}},"name":{},"text":{"35":{},"46":{},"52":{},"58":{},"66":{},"67":{},"82":{},"85":{},"87":{},"88":{},"89":{},"144":{},"250":{},"260":{},"281":{}},"component":{}}],["replaycontext",{"_index":5346,"title":{},"name":{},"text":{"88":{}},"component":{}}],["replaystatu",{"_index":2840,"title":{},"name":{},"text":{"52":{},"66":{},"67":{},"88":{}},"component":{}}],["replaystatus#replay",{"_index":3313,"title":{},"name":{},"text":{"66":{}},"component":{}}],["replaytoken",{"_index":3311,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["replaytoken.replaycontext",{"_index":5345,"title":{},"name":{},"text":{"88":{}},"component":{}}],["replenish",{"_index":6538,"title":{},"name":{},"text":{"163":{},"179":{}},"component":{}}],["repli",{"_index":7283,"title":{},"name":{},"text":{"202":{},"280":{},"281":{}},"component":{}}],["replic",{"_index":275,"title":{"157":{},"158":{},"157-3":{},"178-9":{},"180-3":{}},"name":{"157":{},"158":{}},"text":{"3":{},"140":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"167":{},"169":{},"177":{},"178":{},"179":{},"180":{},"181":{},"185":{},"187":{},"191":{},"192":{}},"component":{}}],["replica",{"_index":593,"title":{},"name":{},"text":{"3":{},"88":{},"143":{},"151":{},"163":{},"179":{},"185":{},"191":{},"262":{}},"component":{}}],["replicas=3",{"_index":676,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["replication.flow",{"_index":6900,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.forc",{"_index":6903,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.heartbeat",{"_index":6904,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.index",{"_index":6845,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.initi",{"_index":6906,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.log",{"_index":6833,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.max",{"_index":6908,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.min",{"_index":6913,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.primari",{"_index":6914,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.secondari",{"_index":6915,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.seg",{"_index":6916,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.snapshot",{"_index":6918,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.sync",{"_index":6919,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.us",{"_index":6922,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replication.wait",{"_index":6920,"title":{},"name":{},"text":{"179":{}},"component":{}}],["replicationgroup",{"_index":6494,"title":{},"name":{},"text":{"154":{},"166":{},"169":{},"177":{}},"component":{}}],["replicationgroupadminservic",{"_index":6984,"title":{},"name":{},"text":{"180":{}},"component":{}}],["replicationgroupoverview",{"_index":6986,"title":{},"name":{},"text":{"180":{}},"component":{}}],["repons",{"_index":7892,"title":{},"name":{},"text":{"280":{}},"component":{}}],["reponsetypes#instanceof(class",{"_index":3256,"title":{},"name":{},"text":{"64":{}},"component":{}}],["reponsetypes#multipleinstancesof(class",{"_index":3258,"title":{},"name":{},"text":{"64":{}},"component":{}}],["report",{"_index":2535,"title":{},"name":{},"text":{"46":{},"49":{},"66":{},"67":{},"72":{},"87":{},"227":{},"234":{},"236":{},"261":{}},"component":{}}],["repositori",{"_index":323,"title":{"36-3":{},"36-4":{},"36-5":{},"69-6":{},"71-4":{}},"name":{},"text":{"3":{},"30":{},"35":{},"36":{},"38":{},"46":{},"59":{},"60":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"85":{},"100":{},"191":{},"276":{},"280":{},"282":{}},"component":{}}],["repositories/servic",{"_index":2811,"title":{},"name":{},"text":{"51":{}},"component":{}}],["repository#load(str",{"_index":2000,"title":{},"name":{},"text":{"35":{}},"component":{}}],["repository/axonserver:2023.1",{"_index":424,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["repository/axonserver:2023.1.1",{"_index":399,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["repositoryclass}.load",{"_index":3070,"title":{},"name":{},"text":{"59":{}},"component":{}}],["repositoryforgiftcard",{"_index":2041,"title":{},"name":{},"text":{"36":{}},"component":{}}],["repositoryforgiftcard(eventstor",{"_index":2038,"title":{},"name":{},"text":{"36":{}},"component":{}}],["repositoryprovid",{"_index":4553,"title":{},"name":{},"text":{"72":{}},"component":{}}],["repository’",{"_index":4741,"title":{},"name":{},"text":{"77":{}},"component":{}}],["repres",{"_index":776,"title":{},"name":{},"text":{"5":{},"6":{},"24":{},"27":{},"35":{},"46":{},"47":{},"63":{},"68":{},"69":{},"72":{},"74":{},"88":{},"115":{},"145":{},"216":{},"217":{},"219":{},"244":{},"255":{},"274":{},"280":{},"281":{},"288":{},"289":{},"290":{}},"component":{}}],["represent",{"_index":1710,"title":{},"name":{},"text":{"31":{},"44":{},"68":{},"87":{},"145":{},"151":{},"154":{},"157":{},"192":{},"215":{},"226":{},"243":{}},"component":{}}],["reprocess",{"_index":5170,"title":{},"name":{},"text":{"88":{}},"component":{}}],["reproduc",{"_index":2669,"title":{},"name":{},"text":{"49":{},"226":{}},"component":{}}],["request",{"_index":635,"title":{"143-1":{},"280-9":{},"283-4":{}},"name":{},"text":{"3":{},"5":{},"29":{},"31":{},"47":{},"49":{},"54":{},"59":{},"61":{},"62":{},"63":{},"66":{},"67":{},"68":{},"77":{},"133":{},"141":{},"142":{},"143":{},"144":{},"145":{},"148":{},"150":{},"163":{},"168":{},"172":{},"178":{},"179":{},"180":{},"186":{},"191":{},"199":{},"202":{},"203":{},"204":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"270":{},"274":{},"275":{},"280":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["requestbikecommand",{"_index":7721,"title":{},"name":{},"text":{"274":{}},"component":{}}],["requestmap",{"_index":7886,"title":{},"name":{},"text":{"280":{},"281":{}},"component":{}}],["requestmapping(\"/inventori",{"_index":8068,"title":{},"name":{},"text":{"289":{},"290":{}},"component":{}}],["requestmessag",{"_index":7725,"title":{},"name":{},"text":{"274":{}},"component":{}}],["requestparam",{"_index":5747,"title":{},"name":{},"text":{"115":{}},"component":{}}],["requestparam(\"biketyp",{"_index":7983,"title":{},"name":{},"text":{"281":{}},"component":{}}],["requestparam(\"loc",{"_index":7984,"title":{},"name":{},"text":{"281":{}},"component":{}}],["requests.http",{"_index":7925,"title":{},"name":{},"text":{"280":{},"283":{}},"component":{}}],["request’",{"_index":7281,"title":{},"name":{},"text":{"202":{},"211":{},"212":{},"214":{},"217":{},"281":{}},"component":{}}],["requeu",{"_index":1053,"title":{},"name":{},"text":{"14":{}},"component":{}}],["requir",{"_index":315,"title":{"117-1":{},"199-4":{}},"name":{"269":{}},"text":{"3":{},"4":{},"5":{},"16":{},"19":{},"20":{},"23":{},"26":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"44":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"53":{},"59":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"94":{},"97":{},"99":{},"100":{},"101":{},"102":{},"104":{},"111":{},"117":{},"123":{},"124":{},"127":{},"128":{},"130":{},"138":{},"142":{},"144":{},"145":{},"147":{},"151":{},"156":{},"161":{},"162":{},"165":{},"169":{},"172":{},"173":{},"174":{},"175":{},"176":{},"178":{},"191":{},"192":{},"198":{},"199":{},"204":{},"208":{},"215":{},"216":{},"217":{},"219":{},"226":{},"249":{},"250":{},"260":{},"262":{},"264":{},"274":{},"278":{},"279":{},"280":{},"281":{},"283":{},"289":{},"290":{}},"component":{}}],["requisit",{"_index":7211,"title":{"199-3":{},"277-1":{},"284-1":{}},"name":{},"text":{},"component":{}}],["reschedul",{"_index":2200,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["reschedule_ev",{"_index":6695,"title":{},"name":{},"text":{"171":{}},"component":{}}],["reschedulecommandsoncorruptst",{"_index":2199,"title":{},"name":{},"text":{"38":{}},"component":{}}],["resembl",{"_index":4879,"title":{},"name":{},"text":{"80":{},"87":{}},"component":{}}],["reserv",{"_index":4156,"title":{"288":{}},"name":{"288":{}},"text":{"67":{},"99":{},"274":{},"288":{},"289":{}},"component":{}}],["reservationconfirm",{"_index":7960,"title":{},"name":{},"text":{"281":{}},"component":{}}],["reservebike(@requestparam(\"bikeid",{"_index":8070,"title":{},"name":{},"text":{"289":{}},"component":{}}],["reservebikecommand",{"_index":8064,"title":{},"name":{},"text":{"289":{}},"component":{}}],["reservebikecommand(bikeid",{"_index":8071,"title":{},"name":{},"text":{"289":{}},"component":{}}],["reservedbi",{"_index":7959,"title":{},"name":{},"text":{"281":{}},"component":{}}],["reset",{"_index":2905,"title":{"88-27":{},"88-28":{},"115-7":{},"144-1":{}},"name":{},"text":{"57":{},"58":{},"66":{},"67":{},"88":{},"99":{},"115":{},"141":{},"144":{},"161":{},"246":{},"249":{},"259":{},"260":{},"274":{}},"component":{}}],["resetcontext",{"_index":3500,"title":{},"name":{},"text":{"66":{},"88":{}},"component":{}}],["resethandl",{"_index":4342,"title":{},"name":{},"text":{"67":{},"88":{},"260":{},"274":{}},"component":{}}],["resettoken",{"_index":5328,"title":{},"name":{},"text":{"88":{},"144":{}},"component":{}}],["resettokens(funct",{"_index":5330,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resettokens(r",{"_index":5329,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resettokens(trackingtoken",{"_index":5332,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resettokensfor(str",{"_index":5334,"title":{},"name":{},"text":{"88":{}},"component":{}}],["resid",{"_index":2665,"title":{},"name":{},"text":{"49":{},"88":{},"286":{}},"component":{}}],["resili",{"_index":971,"title":{},"name":{},"text":{"6":{},"88":{},"120":{}},"component":{}}],["resolut",{"_index":1310,"title":{"83":{}},"name":{"83":{}},"text":{"24":{},"34":{},"36":{},"42":{},"52":{},"66":{},"67":{},"69":{},"140":{}},"component":{}}],["resolv",{"_index":1362,"title":{"26":{},"115-4":{}},"name":{"26":{}},"text":{"26":{},"29":{},"31":{},"33":{},"34":{},"36":{},"38":{},"43":{},"44":{},"51":{},"52":{},"63":{},"64":{},"66":{},"67":{},"75":{},"82":{},"86":{},"88":{},"115":{},"143":{},"151":{}},"component":{}}],["resourc",{"_index":634,"title":{"69-3":{},"145-14":{},"199-6":{},"262-4":{}},"name":{},"text":{"3":{},"6":{},"8":{},"13":{},"16":{},"36":{},"39":{},"51":{},"52":{},"53":{},"63":{},"66":{},"67":{},"69":{},"72":{},"74":{},"88":{},"120":{},"140":{},"145":{},"151":{},"182":{},"191":{},"199":{},"206":{},"247":{},"262":{},"288":{}},"component":{}}],["resourceinjector",{"_index":4469,"title":{},"name":{},"text":{"69":{}},"component":{}}],["respect",{"_index":569,"title":{},"name":{},"text":{"3":{},"31":{},"32":{},"33":{},"34":{},"35":{},"38":{},"44":{},"46":{},"48":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"87":{},"88":{},"99":{},"104":{},"127":{},"129":{},"150":{},"191":{},"211":{},"212":{},"214":{},"247":{},"276":{}},"component":{}}],["respond",{"_index":873,"title":{},"name":{},"text":{"6":{},"51":{},"74":{},"87":{},"143":{},"144":{},"157":{},"179":{},"189":{},"202":{},"214":{},"219":{},"280":{}},"component":{}}],["respons",{"_index":951,"title":{"255-1":{},"280-1":{}},"name":{},"text":{"6":{},"31":{},"34":{},"38":{},"39":{},"46":{},"47":{},"50":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"76":{},"77":{},"115":{},"120":{},"121":{},"140":{},"141":{},"154":{},"157":{},"165":{},"179":{},"186":{},"192":{},"202":{},"203":{},"211":{},"215":{},"219":{},"254":{},"255":{},"280":{},"281":{},"283":{},"288":{},"289":{},"290":{}},"component":{}}],["responsecardin",{"_index":7317,"title":{},"name":{},"text":{"203":{}},"component":{}}],["responsecount",{"_index":7524,"title":{},"name":{},"text":{"219":{}},"component":{}}],["responseprocessingtask",{"_index":3098,"title":{},"name":{},"text":{"59":{}},"component":{}}],["responsetyp",{"_index":1595,"title":{},"name":{},"text":{"31":{},"64":{},"108":{},"121":{},"203":{},"215":{},"219":{}},"component":{}}],["responsetype.class).retry(5",{"_index":5801,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.instanceof(cardsummary.class",{"_index":3185,"title":{},"name":{},"text":{"63":{}},"component":{}}],["responsetypes.instanceof(responsetyp",{"_index":5843,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.instanceof(void.class",{"_index":5847,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.multipleinstanceof(bikestatus.class",{"_index":7896,"title":{},"name":{},"text":{"280":{}},"component":{}}],["responsetypes.multipleinstancesof(bikestatus.class",{"_index":7889,"title":{},"name":{},"text":{"280":{},"290":{}},"component":{}}],["responsetypes.multipleinstancesof(cardsummary.class",{"_index":3184,"title":{},"name":{},"text":{"63":{}},"component":{}}],["responsetypes.multipleinstancesof(responsetyp",{"_index":5842,"title":{},"name":{},"text":{"121":{}},"component":{}}],["responsetypes.multipleinstancesof(string.class",{"_index":3142,"title":{},"name":{},"text":{"63":{}},"component":{}}],["rest",{"_index":965,"title":{"139":{},"166":{},"182":{},"144-4":{},"147-10":{},"166-1":{},"166-2":{},"281-8":{}},"name":{"139":{},"182":{}},"text":{"6":{},"59":{},"67":{},"80":{},"87":{},"115":{},"121":{},"128":{},"130":{},"140":{},"142":{},"143":{},"144":{},"147":{},"156":{},"165":{},"166":{},"168":{},"169":{},"173":{},"174":{},"181":{},"182":{},"192":{},"206":{},"224":{},"234":{},"235":{},"250":{},"265":{},"273":{},"274":{},"275":{},"276":{},"280":{},"281":{},"283":{}},"component":{}}],["restart",{"_index":980,"title":{},"name":{},"text":{"6":{},"140":{},"141":{},"144":{},"148":{},"162":{},"176":{},"179":{},"199":{},"246":{}},"component":{}}],["restcapabilitydiscoverymod",{"_index":5916,"title":{},"name":{},"text":{"127":{}},"component":{}}],["restcapabilitydiscoverymode.build",{"_index":5931,"title":{},"name":{},"text":{"128":{}},"component":{}}],["restcontrol",{"_index":7883,"title":{},"name":{},"text":{"280":{},"281":{},"289":{},"290":{}},"component":{}}],["restituit",{"_index":7606,"title":{},"name":{},"text":{"254":{}},"component":{}}],["restoper",{"_index":5943,"title":{},"name":{},"text":{"128":{},"130":{}},"component":{}}],["restoperations(restoper",{"_index":5946,"title":{},"name":{},"text":{"128":{}},"component":{}}],["restor",{"_index":2051,"title":{},"name":{},"text":{"36":{},"66":{}},"component":{}}],["restrict",{"_index":1361,"title":{"117-2":{}},"name":{},"text":{"25":{},"143":{},"179":{},"215":{}},"component":{}}],["restructur",{"_index":3822,"title":{},"name":{},"text":{"66":{}},"component":{}}],["resttempl",{"_index":5917,"title":{},"name":{},"text":{"127":{},"128":{},"130":{}},"component":{}}],["resttemplate(resttempl",{"_index":5932,"title":{},"name":{},"text":{"128":{}},"component":{}}],["result",{"_index":892,"title":{"34-3":{},"72-6":{},"121-16":{}},"name":{},"text":{"6":{},"15":{},"16":{},"29":{},"31":{},"34":{},"35":{},"38":{},"39":{},"42":{},"44":{},"46":{},"48":{},"49":{},"50":{},"51":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"72":{},"74":{},"77":{},"79":{},"82":{},"85":{},"86":{},"88":{},"105":{},"121":{},"130":{},"138":{},"143":{},"144":{},"145":{},"151":{},"163":{},"179":{},"194":{},"202":{},"215":{},"226":{},"280":{},"281":{},"282":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["result.clos",{"_index":5839,"title":{},"name":{},"text":{"121":{}},"component":{}}],["result.equals(tru",{"_index":6230,"title":{},"name":{},"text":{"144":{}},"component":{}}],["result.get",{"_index":7897,"title":{},"name":{},"text":{"280":{}},"component":{}}],["result.initialresult",{"_index":5836,"title":{},"name":{},"text":{"121":{}},"component":{}}],["result.upd",{"_index":5848,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultflux",{"_index":5828,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultmessag",{"_index":2872,"title":{},"name":{},"text":{"53":{},"121":{}},"component":{}}],["results.filter(it",{"_index":5897,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.filter(r",{"_index":5888,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.flatmap(r",{"_index":5891,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.log().take(5",{"_index":5902,"title":{},"name":{},"text":{"121":{}},"component":{}}],["results.timeout(duration.ofseconds(30",{"_index":5901,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultstreampublisher<>(adminchannel::eventprocessor",{"_index":6219,"title":{},"name":{},"text":{"144":{}},"component":{}}],["resulttyp",{"_index":7183,"title":{},"name":{},"text":{"195":{}},"component":{}}],["resulttype.class",{"_index":5830,"title":{},"name":{},"text":{"121":{}},"component":{}}],["resultvalid",{"_index":4547,"title":{},"name":{},"text":{"72":{}},"component":{}}],["resum",{"_index":6453,"title":{},"name":{},"text":{"151":{},"215":{}},"component":{}}],["retain",{"_index":6235,"title":{},"name":{},"text":{"144":{},"156":{},"274":{}},"component":{}}],["retent",{"_index":6336,"title":{"151-9":{},"151-10":{},"151-11":{}},"name":{},"text":{"147":{},"151":{},"156":{},"179":{},"192":{},"250":{}},"component":{}}],["retention(retentionpolicy.runtim",{"_index":1374,"title":{},"name":{},"text":{"27":{}},"component":{}}],["rethrow",{"_index":2869,"title":{},"name":{},"text":{"53":{},"87":{},"88":{},"89":{}},"component":{}}],["rethrown",{"_index":4286,"title":{},"name":{},"text":{"67":{},"87":{}},"component":{}}],["retri",{"_index":856,"title":{"17":{}},"name":{"17":{}},"text":{"5":{},"14":{},"15":{},"16":{},"17":{},"38":{},"66":{},"67":{},"76":{},"86":{},"87":{},"88":{},"104":{},"115":{},"121":{},"179":{},"206":{},"221":{},"249":{},"250":{},"257":{},"259":{}},"component":{}}],["retriev",{"_index":854,"title":{"88-14":{}},"name":{},"text":{"5":{},"17":{},"30":{},"34":{},"35":{},"42":{},"44":{},"46":{},"53":{},"57":{},"58":{},"60":{},"64":{},"66":{},"67":{},"69":{},"71":{},"77":{},"86":{},"87":{},"88":{},"99":{},"102":{},"113":{},"114":{},"115":{},"127":{},"128":{},"142":{},"144":{},"145":{},"151":{},"190":{},"206":{},"208":{},"280":{},"284":{},"290":{}},"component":{}}],["retrievestorageidentifi",{"_index":5226,"title":{},"name":{},"text":{"88":{}},"component":{}}],["retrievetrackingprocessor(axonconfig",{"_index":4711,"title":{},"name":{},"text":{"76":{}},"component":{}}],["retrievetrackingprocessor(org.axonframework.config.configur",{"_index":4704,"title":{},"name":{},"text":{"76":{}},"component":{}}],["retry/delet",{"_index":7616,"title":{},"name":{},"text":{"255":{}},"component":{}}],["retryabl",{"_index":3798,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["retryallsequences(str",{"_index":5020,"title":{},"name":{},"text":{"86":{}},"component":{}}],["retryanysequence(str",{"_index":5018,"title":{},"name":{},"text":{"86":{}},"component":{}}],["retrydlq(@requestparam",{"_index":5746,"title":{},"name":{},"text":{"115":{}},"component":{}}],["retryerroreventsequence(str",{"_index":5013,"title":{},"name":{},"text":{"86":{}},"component":{}}],["retryschedul",{"_index":2066,"title":{"38-3":{}},"name":{},"text":{"38":{},"66":{},"67":{}},"component":{}}],["retrywhen(retry.fixeddelay(3",{"_index":6232,"title":{},"name":{},"text":{"144":{}},"component":{}}],["return",{"_index":1038,"title":{"64-3":{},"64-4":{},"64-5":{},"64-6":{},"280-7":{}},"name":{},"text":{"14":{},"15":{},"18":{},"20":{},"22":{},"24":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"53":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"92":{},"99":{},"101":{},"102":{},"108":{},"110":{},"113":{},"115":{},"121":{},"128":{},"130":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"168":{},"178":{},"180":{},"185":{},"189":{},"194":{},"195":{},"198":{},"202":{},"203":{},"211":{},"215":{},"219":{},"244":{},"260":{},"280":{},"281":{},"289":{},"290":{}},"component":{}}],["returnvalu",{"_index":2121,"title":{},"name":{},"text":{"38":{}},"component":{}}],["reus",{"_index":1445,"title":{},"name":{},"text":{"29":{},"38":{},"53":{},"66":{},"130":{},"283":{}},"component":{}}],["revamp",{"_index":6013,"title":{},"name":{},"text":{"140":{}},"component":{}}],["revers",{"_index":3955,"title":{},"name":{},"text":{"67":{},"221":{}},"component":{}}],["revert",{"_index":4121,"title":{},"name":{},"text":{"67":{},"141":{}},"component":{}}],["review",{"_index":7695,"title":{"283-5":{},"283-6":{}},"name":{},"text":{"273":{}},"component":{}}],["revis",{"_index":1649,"title":{},"name":{},"text":{"31":{},"44":{},"66":{},"77":{},"106":{},"215":{}},"component":{}}],["revision(\"1",{"_index":4768,"title":{},"name":{},"text":{"77":{}},"component":{}}],["revision(\"1.0",{"_index":2470,"title":{},"name":{},"text":{"44":{}},"component":{}}],["revision(\"2.0",{"_index":2473,"title":{},"name":{},"text":{"44":{}},"component":{}}],["revisionresolv",{"_index":2437,"title":{},"name":{},"text":{"44":{}},"component":{}}],["revisions(\"0",{"_index":5640,"title":{},"name":{},"text":{"106":{}},"component":{}}],["revisionsnapshotfilt",{"_index":4291,"title":{},"name":{},"text":{"67":{},"77":{}},"component":{}}],["revolv",{"_index":882,"title":{},"name":{},"text":{"6":{},"53":{},"66":{},"88":{},"127":{}},"component":{}}],["rid",{"_index":6249,"title":{},"name":{},"text":{"145":{}},"component":{}}],["ride",{"_index":8047,"title":{},"name":{},"text":{"288":{},"289":{}},"component":{}}],["right",{"_index":549,"title":{},"name":{},"text":{"3":{},"32":{},"46":{},"67":{},"69":{},"77":{},"79":{},"99":{},"115":{},"169":{},"173":{},"191":{},"195":{},"201":{},"235":{},"239":{},"242":{},"245":{},"246":{},"260":{},"262":{},"270":{},"273":{},"274":{},"279":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["rightfulli",{"_index":4212,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ring",{"_index":2178,"title":{},"name":{},"text":{"38":{}},"component":{}}],["rise",{"_index":7630,"title":{},"name":{},"text":{"261":{},"273":{}},"component":{}}],["risk",{"_index":6499,"title":{},"name":{},"text":{"156":{}},"component":{}}],["rn",{"_index":6005,"title":{},"name":{"140":{},"141":{}},"text":{},"component":{}}],["robin",{"_index":6952,"title":{},"name":{},"text":{"179":{}},"component":{}}],["robust",{"_index":125,"title":{},"name":{},"text":{"2":{},"6":{},"30":{},"230":{},"240":{}},"component":{}}],["role",{"_index":92,"title":{"156":{},"171":{},"255":{},"156-6":{},"157-1":{},"169-3":{},"170-4":{},"172-5":{},"255-1":{}},"name":{"156":{},"255":{}},"text":{"2":{},"30":{},"31":{},"36":{},"89":{},"140":{},"141":{},"143":{},"145":{},"147":{},"151":{},"154":{},"155":{},"156":{},"157":{},"162":{},"166":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"177":{},"178":{},"180":{},"192":{},"199":{},"204":{},"208":{},"234":{},"254":{},"255":{}},"component":{}}],["role@context",{"_index":6575,"title":{},"name":{},"text":{"168":{}},"component":{}}],["role_name}@{context_nam",{"_index":6812,"title":{},"name":{},"text":{"178":{}},"component":{}}],["role`@`context",{"_index":6586,"title":{},"name":{},"text":{"169":{}},"component":{}}],["roles/context",{"_index":6530,"title":{},"name":{},"text":{"162":{}},"component":{}}],["roll",{"_index":713,"title":{},"name":{},"text":{"4":{},"31":{},"38":{},"51":{},"53":{},"66":{},"67":{},"69":{},"77":{},"79":{},"88":{},"143":{}},"component":{}}],["rollback",{"_index":2082,"title":{},"name":{},"text":{"38":{},"53":{},"63":{},"66":{},"77":{},"86":{},"87":{},"88":{},"102":{}},"component":{}}],["rollbackconfigur",{"_index":2197,"title":{},"name":{},"text":{"38":{},"77":{},"87":{}},"component":{}}],["rollbackconfigurationtype.any_throw",{"_index":2856,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollbackconfigurationtype.nev",{"_index":2855,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollbackconfigurationtype.runtime_except",{"_index":2858,"title":{},"name":{},"text":{"53":{}},"component":{}}],["rollbackconfigurationtype.unchecked_except",{"_index":2857,"title":{},"name":{},"text":{"53":{}},"component":{}}],["roomavailabilityhandler.on(roomaddedev",{"_index":3114,"title":{},"name":{},"text":{"59":{}},"component":{}}],["root",{"_index":225,"title":{"279-2":{}},"name":{},"text":{"3":{},"34":{},"36":{},"50":{},"51":{},"53":{},"59":{},"67":{},"82":{},"84":{},"85":{},"176":{},"191":{},"270":{},"276":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{}},"component":{}}],["rotat",{"_index":1171,"title":{},"name":{},"text":{"17":{}},"component":{}}],["roughli",{"_index":1980,"title":{},"name":{},"text":{"35":{},"72":{},"79":{},"87":{},"88":{},"107":{}},"component":{}}],["round",{"_index":6912,"title":{},"name":{},"text":{"179":{},"265":{}},"component":{}}],["roundtrip",{"_index":2592,"title":{},"name":{},"text":{"46":{}},"component":{}}],["rout",{"_index":80,"title":{"127":{},"38-14":{},"115-3":{},"150-1":{}},"name":{"127":{}},"text":{"2":{},"6":{},"27":{},"35":{},"38":{},"62":{},"67":{},"69":{},"75":{},"77":{},"79":{},"84":{},"115":{},"127":{},"129":{},"130":{},"150":{},"156":{},"179":{},"192":{},"202":{},"211":{},"215":{},"216":{},"280":{},"281":{},"284":{}},"component":{}}],["router",{"_index":64,"title":{},"name":{},"text":{"2":{},"127":{},"179":{}},"component":{}}],["routin",{"_index":1004,"title":{},"name":{},"text":{"8":{},"13":{}},"component":{}}],["routingkey",{"_index":1382,"title":{},"name":{},"text":{"27":{},"35":{},"38":{},"84":{},"211":{},"216":{}},"component":{}}],["routingservers(new",{"_index":6269,"title":{},"name":{},"text":{"145":{}},"component":{}}],["routingstrategi",{"_index":1937,"title":{},"name":{},"text":{"35":{},"38":{},"127":{}},"component":{}}],["routingstrategy(new",{"_index":5938,"title":{},"name":{},"text":{"128":{}},"component":{}}],["row",{"_index":1428,"title":{},"name":{},"text":{"29":{},"46":{},"143":{},"239":{},"246":{},"257":{},"260":{},"262":{},"273":{},"274":{},"283":{}},"component":{}}],["rpc",{"_index":6961,"title":{},"name":{},"text":{"180":{}},"component":{}}],["rsobi",{"_index":3918,"title":{},"name":{},"text":{"67":{}},"component":{}}],["rule",{"_index":655,"title":{"87-2":{}},"name":{},"text":{"3":{},"18":{},"43":{},"64":{},"67":{},"69":{},"82":{},"84":{},"87":{},"121":{},"145":{},"191":{},"239":{},"242":{},"245":{},"246":{},"250":{},"274":{},"281":{}},"component":{}}],["run",{"_index":224,"title":{"283":{},"284":{},"201-3":{},"201-4":{},"201-6":{},"206-57":{},"208-3":{},"277-3":{},"280-12":{},"284-4":{},"284-5":{}},"name":{"284":{}},"text":{"3":{},"5":{},"16":{},"24":{},"28":{},"30":{},"31":{},"32":{},"33":{},"38":{},"52":{},"54":{},"66":{},"67":{},"69":{},"70":{},"77":{},"79":{},"88":{},"101":{},"102":{},"111":{},"115":{},"123":{},"124":{},"126":{},"133":{},"140":{},"141":{},"143":{},"144":{},"145":{},"148":{},"150":{},"151":{},"154":{},"161":{},"164":{},"167":{},"177":{},"178":{},"179":{},"180":{},"185":{},"191":{},"192":{},"199":{},"201":{},"208":{},"211":{},"215":{},"221":{},"229":{},"232":{},"237":{},"238":{},"241":{},"245":{},"246":{},"247":{},"250":{},"260":{},"261":{},"263":{},"264":{},"266":{},"267":{},"268":{},"269":{},"270":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["runasus",{"_index":598,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["runnabl",{"_index":2388,"title":{},"name":{},"text":{"42":{},"67":{}},"component":{}}],["runtim",{"_index":1492,"title":{"140-10":{}},"name":{},"text":{"30":{},"36":{},"38":{},"39":{},"53":{},"66":{},"72":{},"76":{},"84":{},"88":{},"115":{},"124":{},"140":{},"151":{},"165":{},"284":{}},"component":{}}],["runtimeexcept",{"_index":2090,"title":{},"name":{},"text":{"38":{},"144":{}},"component":{}}],["runtimeexception(\"no",{"_index":5894,"title":{},"name":{},"text":{"121":{}},"component":{}}],["rust",{"_index":7248,"title":{},"name":{},"text":{"200":{}},"component":{}}],["s",{"_index":357,"title":{},"name":{},"text":{"3":{},"53":{},"127":{},"140":{},"147":{},"148":{},"156":{},"168":{},"169":{},"173":{},"174":{},"178":{},"191":{},"280":{},"285":{}},"component":{}}],["s.b.d.c.l.dockercomposelifecyclemanag",{"_index":8018,"title":{},"name":{},"text":{"284":{}},"component":{}}],["s.getvalue().tostr",{"_index":2947,"title":{},"name":{},"text":{"57":{}},"component":{}}],["sabartiu",{"_index":3818,"title":{},"name":{},"text":{"66":{}},"component":{}}],["safe",{"_index":1288,"title":{},"name":{},"text":{"23":{},"33":{},"49":{},"53":{},"67":{},"72":{},"142":{},"151":{}},"component":{}}],["safer",{"_index":6446,"title":{},"name":{},"text":{"151":{}},"component":{}}],["safest",{"_index":7461,"title":{},"name":{},"text":{"211":{}},"component":{}}],["safeti",{"_index":4482,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["saga",{"_index":1210,"title":{"70":{},"74":{},"59-35":{},"69-4":{},"69-5":{},"69-6":{},"69-11":{},"71-1":{},"71-4":{},"111-3":{}},"name":{"74":{}},"text":{"19":{},"21":{},"28":{},"29":{},"30":{},"31":{},"32":{},"35":{},"39":{},"40":{},"41":{},"46":{},"51":{},"52":{},"59":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"73":{},"74":{},"79":{},"86":{},"87":{},"88":{},"97":{},"111":{},"114":{},"274":{}},"component":{}}],["saga(sagastor",{"_index":4513,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["saga_entri",{"_index":4838,"title":{},"name":{},"text":{"79":{}},"component":{}}],["sagaconfigur",{"_index":4501,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagaconfigurer.configuresagastor",{"_index":4510,"title":{},"name":{},"text":{"69":{}},"component":{}}],["sagaconfigurer.configuresagastore(c",{"_index":4520,"title":{},"name":{},"text":{"71":{}},"component":{}}],["sagaentri",{"_index":1826,"title":{},"name":{},"text":{"33":{},"79":{}},"component":{}}],["sagaeventhandl",{"_index":4422,"title":{},"name":{},"text":{"68":{},"69":{}},"component":{}}],["sagaeventhandler(associationproperti",{"_index":4433,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagaeventhandler(associationproperty=\"orderid",{"_index":4461,"title":{},"name":{},"text":{"69":{}},"component":{}}],["sagaeventhandler(associationproperty=\"sellorderid",{"_index":4467,"title":{},"name":{},"text":{"69":{}},"component":{}}],["sagafixturetest",{"_index":4060,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sagaid",{"_index":4803,"title":{},"name":{},"text":{"79":{}},"component":{}}],["sagaidentifi",{"_index":3090,"title":{},"name":{},"text":{"59":{},"111":{}},"component":{}}],["sagalifecycle.associatewith(\"invoiceid",{"_index":4442,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagalifecycle.associatewith(\"shipmentid",{"_index":4441,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagalifecycle.associatewith(str",{"_index":4423,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagalifecycle.associationvalu",{"_index":3515,"title":{},"name":{},"text":{"66":{},"68":{}},"component":{}}],["sagalifecycle.end",{"_index":4445,"title":{},"name":{},"text":{"68":{},"69":{}},"component":{}}],["sagalifecycle.removeassociationwith(str",{"_index":4425,"title":{},"name":{},"text":{"68":{}},"component":{}}],["sagamanag",{"_index":4477,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagamanager[${sagatypename}].invokesaga",{"_index":3089,"title":{},"name":{},"text":{"59":{}},"component":{}}],["sagamanager[${sagatypename}].startnewsaga",{"_index":3091,"title":{},"name":{},"text":{"59":{}},"component":{}}],["sagamethodmessagehandlerdefinit",{"_index":4057,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sagarepositori",{"_index":4470,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagasqlschema",{"_index":4488,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["sagastor",{"_index":3449,"title":{},"name":{},"text":{"66":{},"69":{},"71":{}},"component":{}}],["sagatestfixtur",{"_index":1266,"title":{},"name":{},"text":{"22":{},"66":{},"67":{}},"component":{}}],["sagatestfixture<>(invoicingsaga.class",{"_index":4673,"title":{},"name":{},"text":{"74":{}},"component":{}}],["sagatyp",{"_index":4801,"title":{},"name":{},"text":{"79":{},"111":{}},"component":{}}],["saga’",{"_index":3086,"title":{},"name":{},"text":{"59":{},"69":{},"71":{},"86":{},"114":{}},"component":{}}],["sajjad",{"_index":3305,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sake",{"_index":7980,"title":{},"name":{},"text":{"281":{},"283":{}},"component":{}}],["same",{"_index":244,"title":{},"name":{},"text":{"3":{},"4":{},"14":{},"15":{},"16":{},"19":{},"20":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"46":{},"47":{},"48":{},"51":{},"56":{},"59":{},"60":{},"61":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"81":{},"82":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"115":{},"120":{},"124":{},"127":{},"133":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"167":{},"168":{},"172":{},"176":{},"178":{},"179":{},"191":{},"192":{},"197":{},"198":{},"199":{},"203":{},"204":{},"206":{},"211":{},"216":{},"217":{},"250":{},"255":{},"261":{},"276":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["sameorigin",{"_index":6086,"title":{},"name":{},"text":{"141":{}},"component":{}}],["sampl",{"_index":1692,"title":{},"name":{},"text":{"31":{},"36":{},"38":{},"43":{},"50":{},"51":{},"57":{},"63":{},"64":{},"72":{},"74":{},"77":{},"86":{},"87":{},"88":{},"100":{},"104":{},"105":{},"108":{},"144":{},"147":{},"149":{},"178":{},"192":{},"193":{},"201":{},"203":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"264":{},"279":{}},"component":{}}],["sampleconfigurationlisten",{"_index":6389,"title":{},"name":{},"text":{"148":{}},"component":{}}],["samples/bik",{"_index":8016,"title":{},"name":{},"text":{"284":{}},"component":{}}],["sandjelkov",{"_index":3736,"title":{},"name":{},"text":{"66":{},"119":{}},"component":{}}],["saratri",{"_index":3729,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["sascha",{"_index":3739,"title":{},"name":{},"text":{"66":{}},"component":{}}],["satisfi",{"_index":6466,"title":{},"name":{},"text":{"151":{},"280":{}},"component":{}}],["save",{"_index":2024,"title":{},"name":{},"text":{"36":{},"38":{},"69":{},"71":{},"79":{},"85":{},"86":{},"88":{},"145":{},"262":{},"270":{},"273":{},"277":{},"280":{},"283":{}},"component":{}}],["saw",{"_index":4314,"title":{},"name":{},"text":{"67":{}},"component":{}}],["say",{"_index":7691,"title":{},"name":{},"text":{"273":{}},"component":{}}],["sbloom",{"_index":6842,"title":{},"name":{},"text":{"179":{}},"component":{}}],["scalabl",{"_index":42,"title":{"2-4":{}},"name":{},"text":{"2":{},"6":{},"28":{},"46":{},"88":{},"250":{}},"component":{}}],["scale",{"_index":45,"title":{"2-4":{},"260-6":{}},"name":{},"text":{"2":{},"3":{},"6":{},"49":{},"76":{},"88":{},"115":{},"117":{},"140":{},"165":{},"191":{},"249":{},"250":{},"259":{},"260":{},"264":{},"266":{},"273":{},"274":{},"279":{},"280":{},"281":{}},"component":{}}],["scan",{"_index":1372,"title":{},"name":{},"text":{"27":{},"60":{},"66":{},"69":{}},"component":{}}],["scatter",{"_index":2994,"title":{"59-43":{},"63-3":{}},"name":{},"text":{"59":{},"61":{},"62":{},"63":{},"67":{},"219":{}},"component":{}}],["scattergath",{"_index":3951,"title":{"121-7":{}},"name":{},"text":{"67":{}},"component":{}}],["scenario",{"_index":1409,"title":{},"name":{},"text":{"29":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"48":{},"57":{},"60":{},"66":{},"67":{},"72":{},"76":{},"77":{},"80":{},"86":{},"87":{},"88":{},"89":{},"140":{},"142":{},"145":{},"150":{},"151":{},"155":{},"234":{},"270":{},"272":{},"273":{},"282":{}},"component":{}}],["scenario’",{"_index":4643,"title":{},"name":{},"text":{"72":{}},"component":{}}],["schanana",{"_index":3359,"title":{},"name":{},"text":{"66":{}},"component":{}}],["schedul",{"_index":1152,"title":{"40":{},"39-1":{},"40-1":{},"40-2":{},"40-3":{},"40-4":{},"40-5":{},"40-6":{},"115-10":{},"140-25":{},"186-4":{}},"name":{"40":{}},"text":{"17":{},"18":{},"20":{},"21":{},"38":{},"39":{},"40":{},"41":{},"52":{},"53":{},"59":{},"66":{},"67":{},"72":{},"74":{},"87":{},"115":{},"140":{},"143":{},"145":{},"186":{},"192":{}},"component":{}}],["schedule(ev",{"_index":5762,"title":{},"name":{},"text":{"115":{}},"component":{}}],["schedule_ev",{"_index":6696,"title":{},"name":{},"text":{"171":{}},"component":{}}],["scheduled(fixeddelay",{"_index":1157,"title":{},"name":{},"text":{"17":{}},"component":{}}],["scheduledexecutorservic",{"_index":1222,"title":{},"name":{},"text":{"20":{},"40":{},"88":{}},"component":{}}],["scheduledtoken",{"_index":5755,"title":{},"name":{},"text":{"115":{}},"component":{}}],["scheduleid",{"_index":3079,"title":{},"name":{},"text":{"59":{}},"component":{}}],["schedulemydeadlin",{"_index":2278,"title":{},"name":{},"text":{"39":{}},"component":{}}],["schedulemydeadlinewithpayload",{"_index":2299,"title":{},"name":{},"text":{"39":{}},"component":{}}],["scheduler(schedul",{"_index":2328,"title":{},"name":{},"text":{"39":{}},"component":{}}],["scheduler’",{"_index":2366,"title":{},"name":{},"text":{"40":{}},"component":{}}],["schedulesnapshot",{"_index":4731,"title":{},"name":{},"text":{"77":{}},"component":{}}],["scheduletoken",{"_index":2338,"title":{},"name":{},"text":{"40":{}},"component":{}}],["scheduling/trigg",{"_index":2275,"title":{},"name":{},"text":{"39":{}},"component":{}}],["schedulingexecutorservic",{"_index":2353,"title":{},"name":{},"text":{"40":{}},"component":{}}],["schema",{"_index":2576,"title":{},"name":{},"text":{"46":{},"66":{},"71":{},"88":{},"115":{},"212":{},"217":{}},"component":{}}],["scheme",{"_index":3448,"title":{},"name":{},"text":{"66":{},"77":{},"87":{},"138":{}},"component":{}}],["scope",{"_index":1227,"title":{},"name":{},"text":{"20":{},"39":{},"42":{},"46":{},"52":{},"59":{},"67":{},"82":{},"85":{},"87":{},"94":{},"100":{},"172":{},"247":{}},"component":{}}],["scopeawareprovid",{"_index":2322,"title":{},"name":{},"text":{"39":{}},"component":{}}],["scopeawareprovider(provid",{"_index":1226,"title":{},"name":{},"text":{"20":{}},"component":{}}],["scopeawareprovider(scopeawareprovid",{"_index":2325,"title":{},"name":{},"text":{"39":{},"97":{}},"component":{}}],["scopedescriptor",{"_index":2292,"title":{},"name":{},"text":{"39":{},"52":{},"66":{}},"component":{}}],["scopedescriptor`",{"_index":3813,"title":{},"name":{},"text":{"66":{}},"component":{}}],["scrape",{"_index":2982,"title":{},"name":{},"text":{"58":{},"185":{}},"component":{}}],["scratch",{"_index":990,"title":{},"name":{},"text":{"7":{},"282":{}},"component":{}}],["screen",{"_index":6016,"title":{},"name":{},"text":{"140":{},"147":{},"156":{},"165":{},"202":{},"232":{},"233":{},"237":{},"238":{},"245":{},"247":{},"260":{},"262":{},"274":{},"276":{}},"component":{}}],["screenshot",{"_index":7257,"title":{},"name":{},"text":{"201":{},"202":{},"203":{},"274":{}},"component":{}}],["script",{"_index":2078,"title":{},"name":{},"text":{"38":{},"79":{},"178":{},"276":{}},"component":{}}],["scroll",{"_index":6553,"title":{},"name":{},"text":{"165":{},"274":{}},"component":{}}],["sdk",{"_index":6746,"title":{},"name":{},"text":{"172":{}},"component":{}}],["se",{"_index":292,"title":{"173":{},"173-1":{},"173-2":{}},"name":{"173":{}},"text":{"3":{},"137":{},"142":{},"162":{},"167":{},"168":{},"169":{},"173":{},"174":{},"176":{},"178":{},"179":{},"185":{},"191":{},"206":{}},"component":{}}],["se/e",{"_index":6104,"title":{},"name":{},"text":{"142":{},"146":{},"174":{},"176":{},"178":{},"190":{}},"component":{}}],["seamless",{"_index":1786,"title":{},"name":{},"text":{"33":{}},"component":{}}],["seamlessli",{"_index":155,"title":{},"name":{},"text":{"2":{},"38":{}},"component":{}}],["search",{"_index":1697,"title":{"274-30":{}},"name":{},"text":{"31":{},"38":{},"39":{},"43":{},"64":{},"67":{},"97":{},"140":{},"141":{},"143":{},"170":{},"198":{},"203":{},"265":{},"274":{},"283":{}},"component":{}}],["search/commands/queries/ev",{"_index":6077,"title":{},"name":{},"text":{"141":{}},"component":{}}],["search_ev",{"_index":6703,"title":{},"name":{},"text":{"171":{}},"component":{}}],["second",{"_index":329,"title":{},"name":{},"text":{"3":{},"17":{},"19":{},"31":{},"34":{},"38":{},"40":{},"44":{},"45":{},"46":{},"59":{},"63":{},"72":{},"74":{},"75":{},"80":{},"83":{},"87":{},"88":{},"89":{},"102":{},"115":{},"121":{},"133":{},"140":{},"144":{},"145":{},"148":{},"179":{},"186":{},"191":{},"192":{},"202":{},"208":{},"250":{},"260":{},"261":{},"263":{},"265":{},"267":{},"279":{},"280":{},"281":{}},"component":{}}],["secondari",{"_index":6045,"title":{"151-16":{},"151-17":{},"151-18":{},"151-20":{},"156-5":{}},"name":{},"text":{"140":{},"147":{},"151":{},"156":{},"157":{},"178":{}},"component":{}}],["secondev",{"_index":4635,"title":{},"name":{},"text":{"72":{}},"component":{}}],["secondli",{"_index":5110,"title":{},"name":{},"text":{"87":{},"88":{}},"component":{}}],["secret",{"_index":198,"title":{"3-12":{},"191-5":{}},"name":{},"text":{"3":{},"172":{},"191":{},"199":{}},"component":{}}],["secret/axonserv",{"_index":576,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["secretnam",{"_index":630,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["section",{"_index":203,"title":{"28-2":{},"55-2":{}},"name":{},"text":{"3":{},"15":{},"28":{},"29":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"48":{},"52":{},"55":{},"59":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"70":{},"73":{},"74":{},"78":{},"79":{},"84":{},"86":{},"87":{},"88":{},"97":{},"101":{},"104":{},"105":{},"106":{},"107":{},"108":{},"115":{},"121":{},"137":{},"140":{},"144":{},"146":{},"147":{},"153":{},"155":{},"157":{},"159":{},"166":{},"169":{},"173":{},"174":{},"175":{},"178":{},"183":{},"185":{},"186":{},"191":{},"192":{},"199":{},"202":{},"203":{},"208":{},"211":{},"228":{},"229":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"250":{},"262":{},"263":{},"270":{},"271":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"289":{},"290":{}},"component":{}}],["secur",{"_index":50,"title":{"168":{},"175":{},"2-5":{},"199-8":{},"206-16":{},"206-37":{}},"name":{},"text":{"2":{},"3":{},"31":{},"49":{},"51":{},"67":{},"82":{},"119":{},"121":{},"137":{},"140":{},"145":{},"168":{},"170":{},"172":{},"174":{},"175":{},"178":{},"179":{},"181":{},"191":{},"199":{},"206":{},"208":{}},"component":{}}],["security.protocol",{"_index":5612,"title":{},"name":{},"text":{"104":{}},"component":{}}],["security.requir",{"_index":6792,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["security/.token",{"_index":6568,"title":{},"name":{},"text":{"167":{},"169":{}},"component":{}}],["security/secur",{"_index":6787,"title":{},"name":{},"text":{"176":{},"192":{}},"component":{}}],["securitycontext",{"_index":597,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["see",{"_index":370,"title":{"5-5":{}},"name":{},"text":{"3":{},"5":{},"28":{},"31":{},"36":{},"38":{},"40":{},"44":{},"46":{},"49":{},"51":{},"52":{},"55":{},"56":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"74":{},"86":{},"88":{},"93":{},"95":{},"98":{},"101":{},"103":{},"109":{},"110":{},"112":{},"115":{},"119":{},"121":{},"122":{},"126":{},"127":{},"131":{},"134":{},"140":{},"145":{},"148":{},"151":{},"157":{},"163":{},"169":{},"178":{},"191":{},"201":{},"202":{},"203":{},"206":{},"208":{},"211":{},"213":{},"221":{},"224":{},"226":{},"232":{},"235":{},"237":{},"238":{},"239":{},"241":{},"242":{},"245":{},"246":{},"249":{},"250":{},"254":{},"255":{},"257":{},"260":{},"261":{},"262":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{},"289":{},"290":{}},"component":{}}],["seek",{"_index":6042,"title":{},"name":{},"text":{"140":{},"227":{},"236":{}},"component":{}}],["seem",{"_index":4130,"title":{},"name":{},"text":{"67":{},"281":{}},"component":{}}],["seen",{"_index":2303,"title":{},"name":{},"text":{"39":{},"40":{},"53":{},"66":{},"85":{},"147":{},"206":{},"274":{}},"component":{}}],["segement",{"_index":3532,"title":{},"name":{},"text":{"66":{}},"component":{}}],["segment",{"_index":2072,"title":{"165":{},"38-12":{},"38-16":{},"76-1":{},"76-2":{},"88-22":{},"115-14":{},"142-2":{},"142-3":{},"165-1":{},"165-2":{},"260-3":{},"260-5":{},"274-17":{}},"name":{},"text":{"38":{},"58":{},"66":{},"67":{},"76":{},"78":{},"88":{},"89":{},"94":{},"96":{},"114":{},"115":{},"127":{},"128":{},"130":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"151":{},"163":{},"164":{},"165":{},"179":{},"180":{},"246":{},"255":{},"260":{},"261":{},"262":{},"274":{}},"component":{}}],["segmentcountconfigurermodul",{"_index":5234,"title":{},"name":{},"text":{"88":{}},"component":{}}],["segmentid",{"_index":4709,"title":{},"name":{},"text":{"76":{},"88":{}},"component":{}}],["segment’",{"_index":7620,"title":{},"name":{},"text":{"260":{}},"component":{}}],["segreg",{"_index":5643,"title":{},"name":{},"text":{"107":{}},"component":{}}],["select",{"_index":1489,"title":{"226-1":{},"274-11":{}},"name":{},"text":{"30":{},"44":{},"46":{},"63":{},"67":{},"88":{},"115":{},"145":{},"150":{},"151":{},"165":{},"180":{},"192":{},"195":{},"197":{},"199":{},"202":{},"206":{},"212":{},"217":{},"220":{},"221":{},"226":{},"232":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"274":{},"276":{},"288":{},"289":{}},"component":{}}],["select(.context==\"default",{"_index":6584,"title":{},"name":{},"text":{"169":{}},"component":{}}],["select(jsonpath(payloaddata",{"_index":7199,"title":{},"name":{},"text":{"195":{}},"component":{}}],["select_account",{"_index":6767,"title":{},"name":{},"text":{"172":{}},"component":{}}],["selector",{"_index":594,"title":{},"name":{},"text":{"3":{},"179":{},"191":{},"274":{}},"component":{}}],["selector.min",{"_index":6953,"title":{},"name":{},"text":{"179":{}},"component":{}}],["self",{"_index":535,"title":{},"name":{},"text":{"3":{},"44":{},"168":{},"174":{},"176":{},"191":{}},"component":{}}],["sell",{"_index":4462,"title":{},"name":{},"text":{"69":{},"77":{}},"component":{}}],["sellorderid",{"_index":4465,"title":{},"name":{},"text":{"69":{}},"component":{}}],["semant",{"_index":4616,"title":{},"name":{},"text":{"72":{},"88":{},"145":{}},"component":{}}],["send",{"_index":841,"title":{"130":{},"203":{},"216":{},"217":{},"218":{},"219":{},"121-3":{},"147-3":{},"202-5":{},"202-9":{},"202-13":{},"203-3":{},"203-4":{},"204-2":{},"289-4":{}},"name":{"203":{},"216":{},"217":{},"218":{},"219":{}},"text":{"5":{},"6":{},"20":{},"34":{},"38":{},"40":{},"49":{},"59":{},"61":{},"63":{},"68":{},"74":{},"76":{},"83":{},"88":{},"89":{},"90":{},"121":{},"124":{},"130":{},"143":{},"145":{},"147":{},"150":{},"157":{},"163":{},"168":{},"174":{},"178":{},"179":{},"200":{},"202":{},"203":{},"204":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"221":{},"224":{},"244":{},"260":{},"262":{},"274":{},"275":{},"276":{},"280":{},"281":{},"283":{},"285":{},"289":{},"290":{}},"component":{}}],["send(object",{"_index":1896,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sendal",{"_index":5794,"title":{"121-4":{}},"name":{},"text":{"121":{}},"component":{}}],["sendandforget(mycommand",{"_index":5810,"title":{},"name":{},"text":{"121":{}},"component":{}}],["sendandwait",{"_index":1890,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sendcommand",{"_index":1891,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sendcommand(@requestbodi",{"_index":5807,"title":{},"name":{},"text":{"121":{}},"component":{}}],["sendcommand(mypayloadtyp",{"_index":2118,"title":{},"name":{},"text":{"38":{}},"component":{}}],["sendcommandandwait(mypayloadtyp",{"_index":2126,"title":{},"name":{},"text":{"38":{}},"component":{}}],["sendcommandandwaitforaresult(mypayloadtyp",{"_index":2122,"title":{},"name":{},"text":{"38":{}},"component":{}}],["sendcommandandwaitonresult",{"_index":1900,"title":{},"name":{},"text":{"34":{}},"component":{}}],["sender",{"_index":2664,"title":{},"name":{},"text":{"49":{},"163":{},"179":{},"215":{},"216":{},"217":{},"219":{},"289":{}},"component":{}}],["sendsubscriptionquery(somequeri",{"_index":5833,"title":{},"name":{},"text":{"121":{}},"component":{}}],["sens",{"_index":1704,"title":{},"name":{},"text":{"31":{},"33":{},"38":{},"52":{},"79":{},"132":{},"147":{},"192":{}},"component":{}}],["sensibl",{"_index":1871,"title":{},"name":{},"text":{"34":{},"51":{},"57":{},"58":{},"69":{},"71":{},"77":{},"96":{},"200":{}},"component":{}}],["sensit",{"_index":6248,"title":{},"name":{},"text":{"145":{},"174":{},"192":{},"199":{},"206":{},"284":{}},"component":{}}],["sent",{"_index":740,"title":{"5-13":{},"5-14":{}},"name":{},"text":{"5":{},"34":{},"38":{},"42":{},"44":{},"49":{},"59":{},"63":{},"66":{},"74":{},"94":{},"121":{},"130":{},"143":{},"147":{},"168":{},"172":{},"174":{},"179":{},"185":{},"186":{},"189":{},"215":{},"243":{},"262":{},"274":{},"276":{},"280":{},"281":{},"283":{},"290":{}},"component":{}}],["separ",{"_index":215,"title":{},"name":{},"text":{"3":{},"6":{},"15":{},"31":{},"34":{},"46":{},"54":{},"59":{},"66":{},"72":{},"76":{},"77":{},"82":{},"87":{},"88":{},"89":{},"96":{},"113":{},"115":{},"117":{},"133":{},"138":{},"140":{},"147":{},"154":{},"161":{},"165":{},"168":{},"172":{},"174":{},"177":{},"178":{},"191":{},"192":{},"206":{},"208":{},"226":{},"234":{},"276":{},"281":{},"283":{},"289":{}},"component":{}}],["sequenc",{"_index":1076,"title":{"17":{},"29-2":{},"79-2":{},"86-6":{}},"name":{},"text":{"15":{},"16":{},"17":{},"29":{},"33":{},"42":{},"46":{},"49":{},"52":{},"66":{},"67":{},"72":{},"79":{},"86":{},"87":{},"88":{},"89":{},"101":{},"111":{},"143":{},"179":{},"194":{},"202":{},"203":{},"257":{}},"component":{}}],["sequence.iter",{"_index":5030,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequenceddeadletterprocessor",{"_index":1149,"title":{},"name":{},"text":{"17":{},"86":{},"115":{}},"component":{}}],["sequenceddeadletterprocessor#process",{"_index":5034,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequenceddeadletterprocessor(processinggroup",{"_index":5748,"title":{},"name":{},"text":{"115":{}},"component":{}}],["sequenceddeadletterprocessor::processani",{"_index":1163,"title":{},"name":{},"text":{"17":{}},"component":{}}],["sequenceddeadletterqueu",{"_index":1062,"title":{},"name":{},"text":{"15":{},"86":{}},"component":{}}],["sequenceddeadletterqueue#deadlettersequence(str",{"_index":3993,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sequenceddeadletterqueuefactori",{"_index":3409,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sequenceeventstorageengin",{"_index":2605,"title":{},"name":{},"text":{"46":{},"67":{}},"component":{}}],["sequencefilt",{"_index":5741,"title":{},"name":{},"text":{"115":{}},"component":{}}],["sequenceidentifi",{"_index":5674,"title":{},"name":{},"text":{"111":{}},"component":{}}],["sequenceindex",{"_index":4162,"title":{},"name":{},"text":{"67":{}},"component":{}}],["sequenceiter",{"_index":5029,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequenceiterator.next",{"_index":5032,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequencenumb",{"_index":2379,"title":{},"name":{},"text":{"42":{},"52":{},"79":{},"111":{},"203":{},"212":{},"215":{},"217":{}},"component":{}}],["sequence’",{"_index":5010,"title":{},"name":{},"text":{"86":{}},"component":{}}],["sequencingpolici",{"_index":3545,"title":{},"name":{},"text":{"66":{},"67":{},"88":{},"99":{},"101":{},"102":{}},"component":{}}],["sequencingpolicy(sequencingpolici",{"_index":5550,"title":{},"name":{},"text":{"101":{}},"component":{}}],["sequencingpolicyconfigurermodule(sequencingpolici",{"_index":5252,"title":{},"name":{},"text":{"88":{}},"component":{}}],["sequencingpolicynam",{"_index":5399,"title":{},"name":{},"text":{"89":{}},"component":{}}],["sequencingpolicyparamet",{"_index":5400,"title":{},"name":{},"text":{"89":{}},"component":{}}],["sequenti",{"_index":5114,"title":{"88-16":{}},"name":{},"text":{"88":{},"121":{}},"component":{}}],["sequentialperaggregatepolici",{"_index":5238,"title":{},"name":{},"text":{"88":{},"101":{}},"component":{}}],["sequentialpolici",{"_index":5243,"title":{},"name":{},"text":{"88":{}},"component":{}}],["seral",{"_index":2345,"title":{},"name":{},"text":{"40":{}},"component":{}}],["seri",{"_index":2050,"title":{},"name":{},"text":{"36":{},"185":{}},"component":{}}],["serial",{"_index":1093,"title":{"31":{},"31-1":{},"31-6":{},"31-8":{},"31-9":{},"46-12":{},"46-13":{}},"name":{"31":{}},"text":{"15":{},"28":{},"29":{},"31":{},"38":{},"39":{},"40":{},"44":{},"46":{},"66":{},"67":{},"69":{},"71":{},"77":{},"89":{},"94":{},"101":{},"109":{},"128":{},"130":{},"161":{},"194":{},"195":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"274":{}},"component":{}}],["seriali",{"_index":3571,"title":{},"name":{},"text":{"66":{}},"component":{}}],["serializ",{"_index":2054,"title":{},"name":{},"text":{"36":{},"49":{},"77":{}},"component":{}}],["serializationawar",{"_index":1666,"title":{},"name":{},"text":{"31":{},"38":{}},"component":{}}],["serialized_saga",{"_index":4837,"title":{},"name":{},"text":{"79":{}},"component":{}}],["serializedsaga",{"_index":4866,"title":{},"name":{},"text":{"79":{}},"component":{}}],["serializer(config.seri",{"_index":1124,"title":{},"name":{},"text":{"15":{},"86":{},"110":{}},"component":{}}],["serializer(seri",{"_index":2326,"title":{},"name":{},"text":{"39":{},"40":{},"94":{},"97":{},"101":{},"128":{}},"component":{}}],["serializerconfigur",{"_index":1616,"title":{},"name":{},"text":{"31":{}},"component":{}}],["serializerconfiguration(configur",{"_index":1617,"title":{},"name":{},"text":{"31":{}},"component":{}}],["serializerthreadcount",{"_index":2210,"title":{},"name":{},"text":{"38":{}},"component":{}}],["serializer’",{"_index":1668,"title":{},"name":{},"text":{"31":{}},"component":{}}],["serialversionuid",{"_index":2440,"title":{},"name":{},"text":{"44":{}},"component":{}}],["serialversionuidrevisionresolv",{"_index":2439,"title":{},"name":{},"text":{"44":{}},"component":{}}],["serv",{"_index":912,"title":{},"name":{},"text":{"6":{},"44":{},"87":{},"88":{},"89":{},"117":{},"142":{},"147":{},"156":{},"157":{},"178":{},"185":{},"192":{},"227":{},"236":{}},"component":{}}],["server",{"_index":34,"title":{"2":{},"3":{},"4":{},"11":{},"135":{},"136":{},"139":{},"148":{},"161":{},"169":{},"170":{},"172":{},"173":{},"186":{},"191":{},"192":{},"199":{},"232":{},"252":{},"256":{},"2-1":{},"2-2":{},"2-3":{},"2-4":{},"2-5":{},"2-6":{},"2-7":{},"3-13":{},"5-4":{},"12-2":{},"30-7":{},"40-5":{},"46-3":{},"54-1":{},"59-27":{},"59-28":{},"59-38":{},"59-39":{},"59-41":{},"59-42":{},"59-44":{},"59-45":{},"88-24":{},"140-23":{},"142-3":{},"144-5":{},"145-18":{},"145-27":{},"150-5":{},"151-2":{},"165-2":{},"168-1":{},"169-1":{},"169-2":{},"170-4":{},"173-1":{},"173-2":{},"191-6":{},"192-2":{},"192-6":{},"199-1":{},"199-7":{},"201-3":{},"202-2":{},"202-4":{},"202-5":{},"202-8":{},"202-9":{},"202-12":{},"202-13":{},"206-2":{},"206-6":{},"206-9":{},"206-10":{},"206-28":{},"206-29":{},"221-7":{},"226-3":{},"232-1":{},"232-2":{},"232-3":{},"283-4":{}},"name":{"11":{},"161":{},"186":{},"252":{},"256":{}},"text":{"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"19":{},"28":{},"29":{},"30":{},"32":{},"35":{},"38":{},"40":{},"46":{},"59":{},"61":{},"63":{},"66":{},"67":{},"76":{},"79":{},"88":{},"89":{},"91":{},"94":{},"96":{},"100":{},"104":{},"111":{},"115":{},"117":{},"119":{},"129":{},"137":{},"138":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"153":{},"154":{},"155":{},"156":{},"157":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"191":{},"192":{},"194":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"227":{},"228":{},"230":{},"231":{},"232":{},"234":{},"235":{},"236":{},"237":{},"238":{},"241":{},"249":{},"250":{},"259":{},"262":{},"264":{},"274":{},"277":{},"280":{},"282":{},"283":{},"284":{},"286":{}},"component":{"3":{},"4":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["server.loc",{"_index":6616,"title":{},"name":{},"text":{"170":{}},"component":{}}],["server.max",{"_index":7335,"title":{"206-8":{}},"name":{},"text":{"215":{}},"component":{}}],["server.port",{"_index":6828,"title":{},"name":{},"text":{"179":{},"208":{}},"component":{}}],["server.port=8081",{"_index":7258,"title":{},"name":{},"text":{"201":{}},"component":{}}],["server.serv",{"_index":7334,"title":{"206-7":{}},"name":{},"text":{"215":{}},"component":{}}],["server.ssl.key",{"_index":6793,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["server.tl",{"_index":7348,"title":{"206-26":{}},"name":{},"text":{"215":{}},"component":{}}],["server.trust",{"_index":7349,"title":{"206-27":{}},"name":{},"text":{"215":{}},"component":{}}],["serveraddress(\"localhost",{"_index":6270,"title":{},"name":{},"text":{"145":{}},"component":{}}],["serverauthenticationid",{"_index":7494,"title":{},"name":{},"text":{"215":{}},"component":{}}],["serverconfig",{"_index":7145,"title":{},"name":{},"text":{"189":{}},"component":{}}],["serverconfig.setheartbeat(heartbeatconfig",{"_index":7146,"title":{},"name":{},"text":{"189":{}},"component":{}}],["server’",{"_index":1767,"title":{},"name":{},"text":{"32":{},"46":{},"54":{},"67":{},"140":{},"170":{},"175":{},"176":{},"179":{},"201":{},"203":{},"206":{},"284":{}},"component":{}}],["servic",{"_index":419,"title":{},"name":{},"text":{"3":{},"5":{},"6":{},"16":{},"31":{},"38":{},"44":{},"59":{},"85":{},"86":{},"88":{},"94":{},"127":{},"128":{},"129":{},"130":{},"140":{},"141":{},"148":{},"157":{},"170":{},"174":{},"180":{},"188":{},"189":{},"191":{},"192":{},"199":{},"211":{},"212":{},"214":{},"230":{},"237":{},"268":{},"269":{},"277":{},"281":{},"283":{},"284":{}},"component":{}}],["service/axonserv",{"_index":662,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["serviceinst",{"_index":5913,"title":{},"name":{},"text":{"127":{},"128":{}},"component":{}}],["serviceinstancefilt",{"_index":5941,"title":{},"name":{},"text":{"128":{}},"component":{}}],["serviceload",{"_index":1292,"title":{},"name":{},"text":{"23":{}},"component":{}}],["servicenam",{"_index":592,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["serviceport",{"_index":658,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["serviceregistri",{"_index":4854,"title":{},"name":{},"text":{"79":{}},"component":{}}],["session",{"_index":1177,"title":{},"name":{},"text":{"17":{},"166":{},"172":{}},"component":{}}],["set",{"_index":336,"title":{"231":{},"5-4":{},"151-13":{},"170-3":{},"192-2":{},"206-2":{},"206-37":{},"232-1":{},"237-1":{},"237-2":{},"254-1":{},"254-2":{},"263-1":{}},"name":{"231":{},"237":{}},"text":{"3":{},"5":{},"14":{},"15":{},"19":{},"20":{},"30":{},"31":{},"32":{},"34":{},"36":{},"38":{},"39":{},"40":{},"42":{},"46":{},"51":{},"52":{},"55":{},"56":{},"57":{},"59":{},"61":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"76":{},"77":{},"79":{},"81":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"96":{},"99":{},"100":{},"102":{},"104":{},"114":{},"123":{},"127":{},"132":{},"140":{},"141":{},"142":{},"143":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"161":{},"163":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"179":{},"180":{},"185":{},"186":{},"188":{},"190":{},"191":{},"192":{},"199":{},"201":{},"206":{},"208":{},"211":{},"220":{},"221":{},"226":{},"228":{},"231":{},"232":{},"237":{},"246":{},"249":{},"250":{},"254":{},"255":{},"259":{},"260":{},"262":{},"263":{},"266":{},"267":{},"272":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"284":{},"285":{},"290":{}},"component":{}}],["set_event_processor_strategi",{"_index":6686,"title":{},"name":{},"text":{"171":{}},"component":{}}],["setautoloadbalancestrategy(loadbalancerequest",{"_index":6974,"title":{},"name":{},"text":{"180":{}},"component":{}}],["setcallbackbehavior",{"_index":4680,"title":{},"name":{},"text":{"74":{}},"component":{}}],["setdeadlinemanager(deadlinemanag",{"_index":5472,"title":{},"name":{},"text":{"97":{}},"component":{}}],["setentitymanager(entitymanag",{"_index":2546,"title":{},"name":{},"text":{"46":{}},"component":{}}],["setreportillegalstatechang",{"_index":4578,"title":{},"name":{},"text":{"72":{}},"component":{}}],["setter",{"_index":1593,"title":{},"name":{},"text":{"31":{},"44":{},"69":{},"74":{}},"component":{}}],["settext(\"no",{"_index":2488,"title":{},"name":{},"text":{"44":{}},"component":{}}],["setup",{"_index":678,"title":{"236":{},"237":{},"72-2":{},"154-2":{},"192-5":{},"232-3":{}},"name":{},"text":{"3":{},"22":{},"29":{},"31":{},"44":{},"67":{},"72":{},"76":{},"79":{},"88":{},"129":{},"147":{},"151":{},"154":{},"161":{},"162":{},"168":{},"176":{},"177":{},"179":{},"181":{},"191":{},"192":{},"226":{},"232":{},"263":{},"267":{},"285":{}},"component":{}}],["sever",{"_index":668,"title":{},"name":{},"text":{"3":{},"29":{},"30":{},"31":{},"38":{},"40":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"58":{},"60":{},"63":{},"66":{},"67":{},"68":{},"72":{},"76":{},"77":{},"79":{},"85":{},"86":{},"87":{},"88":{},"99":{},"102":{},"107":{},"108":{},"115":{},"121":{},"127":{},"133":{},"140":{},"145":{},"151":{},"168":{},"169":{},"180":{},"191":{},"199":{},"202":{},"238":{},"241":{},"244":{},"261":{},"268":{},"274":{},"276":{}},"component":{}}],["se’",{"_index":7171,"title":{},"name":{},"text":{"192":{}},"component":{}}],["sg",{"_index":3753,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sgrimm",{"_index":3752,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sha256",{"_index":7440,"title":{},"name":{},"text":{"206":{}},"component":{}}],["sha512",{"_index":7441,"title":{},"name":{},"text":{"206":{}},"component":{}}],["shall",{"_index":557,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["shape",{"_index":4527,"title":{},"name":{},"text":{"72":{},"197":{}},"component":{}}],["share",{"_index":1587,"title":{},"name":{},"text":{"31":{},"38":{},"46":{},"54":{},"64":{},"66":{},"67":{},"81":{},"86":{},"88":{},"99":{},"100":{},"144":{},"151":{},"154":{},"172":{},"177":{},"192":{},"206":{},"215":{},"221":{},"226":{},"265":{},"276":{},"277":{},"280":{}},"component":{}}],["shareabl",{"_index":5560,"title":{},"name":{},"text":{"102":{}},"component":{}}],["shared/glob",{"_index":2627,"title":{},"name":{},"text":{"46":{}},"component":{}}],["shed",{"_index":5206,"title":{},"name":{},"text":{"88":{},"99":{}},"component":{}}],["shell",{"_index":231,"title":{},"name":{},"text":{"3":{},"178":{},"191":{}},"component":{}}],["shi",{"_index":7660,"title":{},"name":{},"text":{"265":{}},"component":{}}],["shift",{"_index":7586,"title":{},"name":{},"text":{"244":{}},"component":{}}],["ship",{"_index":4430,"title":{},"name":{},"text":{"68":{}},"component":{}}],["ship_crew",{"_index":6638,"title":{},"name":{},"text":{"170":{}},"component":{}}],["shipment",{"_index":4420,"title":{},"name":{},"text":{"68":{},"77":{}},"component":{}}],["shipmentid",{"_index":4437,"title":{},"name":{},"text":{"68":{}},"component":{}}],["shippingid",{"_index":4436,"title":{},"name":{},"text":{"68":{}},"component":{}}],["shopid",{"_index":1859,"title":{},"name":{},"text":{"34":{},"42":{}},"component":{}}],["short",{"_index":82,"title":{},"name":{},"text":{"2":{},"46":{},"59":{},"63":{},"67":{},"69":{},"71":{},"77":{},"88":{},"89":{},"178":{},"192":{},"260":{},"280":{}},"component":{}}],["short.max",{"_index":5281,"title":{},"name":{},"text":{"88":{}},"component":{}}],["shortcut",{"_index":3896,"title":{},"name":{},"text":{"67":{},"284":{},"285":{}},"component":{}}],["shorten",{"_index":1573,"title":{},"name":{},"text":{"31":{},"46":{}},"component":{}}],["shorter",{"_index":1638,"title":{},"name":{},"text":{"31":{},"79":{},"106":{},"195":{}},"component":{}}],["shortest",{"_index":1698,"title":{},"name":{},"text":{"31":{}},"component":{}}],["shorthand",{"_index":5618,"title":{},"name":{},"text":{"105":{},"173":{}},"component":{}}],["shouldn’t",{"_index":2173,"title":{},"name":{},"text":{"38":{}},"component":{}}],["show",{"_index":513,"title":{},"name":{},"text":{"3":{},"5":{},"34":{},"50":{},"51":{},"54":{},"57":{},"59":{},"63":{},"72":{},"74":{},"77":{},"84":{},"85":{},"87":{},"88":{},"141":{},"144":{},"170":{},"176":{},"178":{},"185":{},"191":{},"192":{},"202":{},"203":{},"232":{},"238":{},"239":{},"241":{},"244":{},"246":{},"260":{},"261":{},"263":{},"264":{},"266":{},"269":{},"270":{},"272":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["shown",{"_index":491,"title":{},"name":{},"text":{"3":{},"31":{},"34":{},"35":{},"36":{},"38":{},"50":{},"51":{},"54":{},"64":{},"67":{},"72":{},"79":{},"84":{},"87":{},"88":{},"101":{},"121":{},"144":{},"147":{},"148":{},"154":{},"168":{},"192":{},"203":{},"228":{},"235":{},"237":{},"238":{},"239":{},"244":{},"245":{},"246":{},"250":{},"257":{},"260":{},"262":{},"273":{},"274":{},"280":{},"286":{}},"component":{}}],["shubhojitr",{"_index":4247,"title":{},"name":{},"text":{"67":{}},"component":{}}],["shut",{"_index":2160,"title":{},"name":{},"text":{"38":{},"40":{},"67":{},"88":{},"96":{},"99":{},"162":{}},"component":{}}],["shutdown",{"_index":2161,"title":{},"name":{},"text":{"38":{},"66":{},"67":{},"69":{},"88":{},"102":{},"141":{},"144":{},"179":{}},"component":{}}],["shutdownhandl",{"_index":3666,"title":{},"name":{},"text":{"66":{}},"component":{}}],["side",{"_index":2655,"title":{},"name":{},"text":{"48":{},"53":{},"63":{},"67":{},"72":{},"74":{},"86":{},"88":{},"89":{},"101":{},"104":{},"117":{},"150":{},"174":{},"176":{},"201":{},"232":{},"239":{},"242":{},"244":{},"245":{},"246":{},"264":{},"274":{},"283":{}},"component":{}}],["sidebar",{"_index":7268,"title":{},"name":{},"text":{"202":{}},"component":{}}],["sign",{"_index":536,"title":{},"name":{},"text":{"3":{},"5":{},"8":{},"13":{},"28":{},"49":{},"55":{},"168":{},"174":{},"176":{},"191":{},"233":{},"247":{},"249":{},"267":{},"272":{},"276":{},"277":{}},"component":{}}],["signal",{"_index":3227,"title":{},"name":{},"text":{"63":{},"66":{},"76":{},"140":{},"163":{},"179":{}},"component":{}}],["signatur",{"_index":1928,"title":{},"name":{},"text":{"35":{}},"component":{}}],["signifi",{"_index":4451,"title":{},"name":{},"text":{"69":{},"289":{}},"component":{}}],["signific",{"_index":780,"title":{},"name":{},"text":{"5":{},"6":{},"88":{},"145":{},"151":{}},"component":{}}],["significantli",{"_index":5285,"title":{},"name":{},"text":{"88":{},"151":{}},"component":{}}],["similar",{"_index":377,"title":{},"name":{},"text":{"3":{},"15":{},"30":{},"40":{},"46":{},"51":{},"59":{},"64":{},"66":{},"69":{},"71":{},"72":{},"74":{},"87":{},"88":{},"99":{},"115":{},"121":{},"150":{},"163":{},"191":{},"262":{},"274":{},"280":{},"281":{}},"component":{}}],["similarli",{"_index":1109,"title":{},"name":{},"text":{"15":{},"47":{},"86":{},"150":{},"170":{},"202":{}},"component":{}}],["simpl",{"_index":158,"title":{"40-2":{}},"name":{},"text":{"2":{},"31":{},"35":{},"36":{},"40":{},"42":{},"46":{},"47":{},"51":{},"56":{},"63":{},"67":{},"68":{},"77":{},"79":{},"80":{},"84":{},"88":{},"89":{},"120":{},"144":{},"235":{},"280":{},"281":{},"282":{}},"component":{}}],["simplecommandbu",{"_index":2069,"title":{"38-8":{}},"name":{},"text":{"38":{},"115":{}},"component":{}}],["simplecommandbus(transactionmanag",{"_index":2145,"title":{},"name":{},"text":{"38":{}},"component":{}}],["simplecommandbus.build",{"_index":2149,"title":{},"name":{},"text":{"38":{}},"component":{}}],["simplecommandbus.builder().build",{"_index":2728,"title":{},"name":{},"text":{"51":{},"94":{},"128":{}},"component":{}}],["simplecorrelationdataprovid",{"_index":2683,"title":{"50-3":{}},"name":{},"text":{"50":{}},"component":{}}],["simplecorrelationdataprovider(\"myid",{"_index":2695,"title":{},"name":{},"text":{"50":{}},"component":{}}],["simplecorrelationdataprovider(\"somekey",{"_index":2697,"title":{},"name":{},"text":{"50":{}},"component":{}}],["simpledeadlinemanag",{"_index":1218,"title":{},"name":{},"text":{"19":{},"20":{},"39":{},"67":{}},"component":{}}],["simpleentitymanagerprovid",{"_index":2539,"title":{},"name":{},"text":{"46":{}},"component":{}}],["simpleeventbu",{"_index":2516,"title":{},"name":{},"text":{"46":{}},"component":{}}],["simpleeventschedul",{"_index":2352,"title":{},"name":{},"text":{"40":{}},"component":{}}],["simpleeventschedulerfactorybean",{"_index":2370,"title":{},"name":{},"text":{"40":{}},"component":{}}],["simplequerybu",{"_index":3123,"title":{"61-4":{}},"name":{},"text":{"61":{},"67":{},"115":{}},"component":{}}],["simplequerybus.build",{"_index":3129,"title":{},"name":{},"text":{"61":{}},"component":{}}],["simplequerybus.query(${querynam",{"_index":3096,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequerybus.scattergather(${querynam",{"_index":3102,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequerybus.streamingquery(${querynam",{"_index":3100,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequeryupdateemitt",{"_index":3105,"title":{},"name":{},"text":{"59":{},"66":{}},"component":{}}],["simplequeryupdateemitter.emit",{"_index":3108,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simplequeryupdateemitter.emit(${payloadclass",{"_index":3107,"title":{},"name":{},"text":{"59":{}},"component":{}}],["simpler",{"_index":3816,"title":{},"name":{},"text":{"66":{},"68":{},"72":{},"281":{}},"component":{}}],["simpleresourceinjector",{"_index":4472,"title":{},"name":{},"text":{"69":{}},"component":{}}],["simpleserializedtyp",{"_index":2477,"title":{},"name":{},"text":{"44":{}},"component":{}}],["simpleserializedtype(complaintevent.class.gettypenam",{"_index":2479,"title":{},"name":{},"text":{"44":{}},"component":{}}],["simpleserializedtype(target_type.getnam",{"_index":2484,"title":{},"name":{},"text":{"44":{}},"component":{}}],["simplest",{"_index":664,"title":{},"name":{},"text":{"3":{},"36":{},"38":{},"145":{},"191":{}},"component":{}}],["simplfi",{"_index":2762,"title":{},"name":{},"text":{"51":{}},"component":{}}],["simpli",{"_index":766,"title":{},"name":{},"text":{"5":{},"16":{},"31":{},"32":{},"35":{},"36":{},"37":{},"38":{},"42":{},"43":{},"45":{},"46":{},"53":{},"57":{},"60":{},"61":{},"62":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"83":{},"84":{},"86":{},"87":{},"88":{},"121":{},"142":{},"144":{},"145":{},"151":{},"184":{},"192":{},"221":{},"232":{},"263":{},"267":{},"270":{},"273":{},"275":{},"280":{},"281":{},"284":{}},"component":{}}],["simplic",{"_index":1838,"title":{},"name":{},"text":{"33":{},"77":{},"86":{},"281":{}},"component":{}}],["simplicity’",{"_index":7990,"title":{},"name":{},"text":{"283":{}},"component":{}}],["simplifi",{"_index":210,"title":{},"name":{},"text":{"3":{},"66":{},"67":{},"72":{},"96":{},"106":{},"108":{},"138":{},"140":{},"141":{},"191":{},"192":{}},"component":{}}],["simul",{"_index":1268,"title":{"275":{}},"name":{"275":{}},"text":{"22":{},"39":{},"72":{},"202":{},"264":{},"276":{}},"component":{}}],["simulator.properti",{"_index":7759,"title":{},"name":{},"text":{"276":{}},"component":{}}],["simulatorconfigcontrol",{"_index":7758,"title":{},"name":{},"text":{"276":{}},"component":{}}],["simultan",{"_index":4923,"title":{},"name":{},"text":{"83":{}},"component":{}}],["sindex",{"_index":6844,"title":{},"name":{},"text":{"179":{}},"component":{}}],["singl",{"_index":141,"title":{"64-4":{}},"name":{},"text":{"2":{},"3":{},"5":{},"29":{},"30":{},"33":{},"34":{},"35":{},"36":{},"38":{},"43":{},"44":{},"46":{},"47":{},"50":{},"53":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"75":{},"76":{},"77":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"90":{},"99":{},"102":{},"106":{},"115":{},"121":{},"138":{},"140":{},"142":{},"143":{},"151":{},"153":{},"156":{},"157":{},"162":{},"168":{},"172":{},"179":{},"185":{},"191":{},"192":{},"195":{},"199":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"227":{},"236":{},"239":{},"260":{},"273":{},"279":{},"280":{},"281":{},"284":{},"288":{}},"component":{}}],["singleeventupcast",{"_index":2453,"title":{},"name":{},"text":{"44":{},"106":{}},"component":{}}],["singleton",{"_index":523,"title":{},"name":{},"text":{"3":{},"60":{},"69":{},"71":{},"87":{},"191":{}},"component":{}}],["singletonmap",{"_index":2646,"title":{},"name":{},"text":{"47":{}},"component":{}}],["singular",{"_index":1424,"title":{},"name":{},"text":{"29":{}},"component":{}}],["sinksmanywrapper#performwithbusywaitspin",{"_index":3901,"title":{},"name":{},"text":{"67":{}},"component":{}}],["site:https://youtu.be/lxonqnu1txq[axon",{"_index":1925,"title":{},"name":{},"text":{"34":{}},"component":{}}],["situat",{"_index":532,"title":{},"name":{},"text":{"3":{},"31":{},"35":{},"38":{},"46":{},"67":{},"69":{},"71":{},"84":{},"88":{},"130":{},"141":{},"145":{},"151":{},"189":{},"191":{},"261":{},"270":{}},"component":{}}],["sixteen",{"_index":5235,"title":{},"name":{},"text":{"88":{}},"component":{}}],["size",{"_index":1110,"title":{"151-11":{},"206-8":{},"206-40":{}},"name":{},"text":{"15":{},"31":{},"38":{},"63":{},"67":{},"88":{},"141":{},"143":{},"145":{},"147":{},"148":{},"151":{},"161":{},"163":{},"179":{},"206":{},"212":{},"215":{},"239":{},"261":{},"262":{},"274":{}},"component":{}}],["size=100",{"_index":5411,"title":{},"name":{},"text":{"89":{}},"component":{}}],["size=10mb",{"_index":394,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["skip",{"_index":1783,"title":{},"name":{},"text":{"33":{},"67":{},"86":{},"121":{},"138":{},"263":{},"267":{},"276":{},"277":{},"285":{}},"component":{}}],["skywalk",{"_index":5986,"title":{},"name":{},"text":{"133":{}},"component":{}}],["slack",{"_index":3495,"title":{"262-7":{}},"name":{},"text":{"66":{},"67":{},"262":{},"273":{}},"component":{}}],["slash",{"_index":6078,"title":{},"name":{},"text":{"141":{},"273":{}},"component":{}}],["slate",{"_index":5352,"title":{},"name":{},"text":{"88":{}},"component":{}}],["sleepingwaitstrategi",{"_index":2189,"title":{},"name":{},"text":{"38":{}},"component":{}}],["slf4j",{"_index":2896,"title":{},"name":{},"text":{"56":{},"59":{},"67":{}},"component":{}}],["slice",{"_index":8063,"title":{},"name":{},"text":{"289":{},"290":{}},"component":{}}],["slight",{"_index":2584,"title":{},"name":{},"text":{"46":{},"221":{}},"component":{}}],["slightli",{"_index":2228,"title":{},"name":{},"text":{"38":{},"79":{},"115":{}},"component":{}}],["slot",{"_index":2177,"title":{},"name":{},"text":{"38":{}},"component":{}}],["slow",{"_index":5164,"title":{"273":{},"273-1":{}},"name":{"273":{}},"text":{"88":{},"121":{},"141":{},"143":{},"163":{},"260":{},"261":{},"262":{},"272":{},"273":{}},"component":{}}],["slow_disk",{"_index":6439,"title":{},"name":{},"text":{"151":{}},"component":{}}],["slower",{"_index":2227,"title":{},"name":{},"text":{"38":{},"46":{},"151":{},"262":{}},"component":{}}],["slowest",{"_index":5279,"title":{"274-5":{}},"name":{},"text":{"88":{},"245":{},"273":{},"274":{}},"component":{}}],["slowli",{"_index":5327,"title":{},"name":{},"text":{"88":{}},"component":{}}],["sm",{"_index":5349,"title":{},"name":{},"text":{"88":{}},"component":{}}],["small",{"_index":2169,"title":{},"name":{},"text":{"38":{},"44":{},"66":{},"67":{},"72":{},"76":{},"120":{},"141":{},"151":{},"192":{},"263":{},"271":{},"274":{}},"component":{}}],["smaller",{"_index":1623,"title":{},"name":{},"text":{"31":{},"63":{},"245":{},"274":{}},"component":{}}],["smallest",{"_index":5322,"title":{},"name":{},"text":{"88":{},"180":{},"274":{}},"component":{}}],["smart",{"_index":4757,"title":{},"name":{},"text":{"77":{}},"component":{}}],["smartlifecycl",{"_index":3279,"title":{},"name":{},"text":{"66":{}},"component":{}}],["smcvb",{"_index":3300,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["smoother",{"_index":978,"title":{},"name":{},"text":{"6":{}},"component":{}}],["snake",{"_index":3419,"title":{},"name":{},"text":{"66":{}},"component":{}}],["snake_cas",{"_index":6820,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot",{"_index":1417,"title":{"77":{},"59-34":{},"77-1":{},"77-2":{},"77-5":{},"77-6":{},"77-9":{},"111-2":{}},"name":{"77":{}},"text":{"29":{},"31":{},"46":{},"59":{},"66":{},"67":{},"77":{},"78":{},"79":{},"111":{},"140":{},"141":{},"142":{},"143":{},"147":{},"148":{},"151":{},"161":{},"162":{},"169":{},"172":{},"179":{},"185":{},"186":{},"192":{},"245":{},"261":{},"279":{}},"component":{}}],["snapshot.bloom",{"_index":6841,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.ev",{"_index":6843,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.forc",{"_index":6860,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.index",{"_index":6340,"title":{},"name":{},"text":{"147":{},"166":{},"169":{},"179":{}},"component":{}}],["snapshot.jar",{"_index":6726,"title":{},"name":{},"text":{"172":{}},"component":{}}],["snapshot.max",{"_index":6341,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["snapshot.memori",{"_index":6865,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.primari",{"_index":6861,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.read",{"_index":6942,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.retent",{"_index":6342,"title":{},"name":{},"text":{"147":{},"151":{}},"component":{}}],["snapshot.secondari",{"_index":6862,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.seg",{"_index":6339,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["snapshot.storag",{"_index":6337,"title":{},"name":{},"text":{"147":{},"179":{}},"component":{}}],["snapshot.storage=[loc",{"_index":6356,"title":{},"name":{},"text":{"147":{}},"component":{}}],["snapshot.sync",{"_index":6863,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.us",{"_index":6943,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot.valid",{"_index":6864,"title":{},"name":{},"text":{"179":{}},"component":{}}],["snapshot_event_entri",{"_index":4835,"title":{},"name":{},"text":{"79":{}},"component":{}}],["snapshotdata",{"_index":4761,"title":{},"name":{},"text":{"77":{}},"component":{}}],["snapshotev",{"_index":5671,"title":{},"name":{},"text":{"111":{}},"component":{}}],["snapshotevententri",{"_index":2524,"title":{},"name":{},"text":{"46":{},"79":{}},"component":{}}],["snapshoteventstor",{"_index":4735,"title":{},"name":{},"text":{"77":{}},"component":{}}],["snapshotfilt",{"_index":3593,"title":{},"name":{},"text":{"66":{},"67":{},"77":{}},"component":{}}],["snapshotserializer(config.seri",{"_index":2573,"title":{},"name":{},"text":{"46":{}},"component":{}}],["snapshotserializer(seri",{"_index":2563,"title":{},"name":{},"text":{"46":{}},"component":{}}],["snapshott",{"_index":3083,"title":{},"name":{},"text":{"59":{},"66":{},"67":{},"77":{}},"component":{}}],["snapshotterclass}.createsnapshot($aggregateclass",{"_index":3084,"title":{},"name":{},"text":{"59":{}},"component":{}}],["snapshottriggerdefinit",{"_index":2042,"title":{},"name":{},"text":{"36":{},"67":{},"77":{}},"component":{}}],["sneak",{"_index":4292,"title":{},"name":{},"text":{"67":{}},"component":{}}],["snippet",{"_index":1677,"title":{},"name":{},"text":{"31":{},"32":{},"35":{},"44":{},"50":{},"51":{},"57":{},"60":{},"63":{},"69":{},"76":{},"77":{},"82":{},"84":{},"85":{},"88":{},"140":{},"144":{},"145":{},"279":{}},"component":{}}],["socket",{"_index":6788,"title":{},"name":{},"text":{"176":{},"179":{},"192":{}},"component":{}}],["socket.platform",{"_index":7373,"title":{"206-55":{}},"name":{},"text":{},"component":{}}],["socket.reconnect",{"_index":7374,"title":{"206-56":{}},"name":{},"text":{},"component":{}}],["softwar",{"_index":871,"title":{},"name":{},"text":{"6":{},"8":{},"13":{},"44":{},"48":{},"59":{},"120":{},"210":{},"266":{},"276":{}},"component":{}}],["sold",{"_index":4725,"title":{},"name":{},"text":{"77":{}},"component":{}}],["sole",{"_index":2367,"title":{},"name":{},"text":{"40":{},"51":{},"66":{},"99":{},"127":{},"289":{},"290":{}},"component":{}}],["solid",{"_index":1014,"title":{},"name":{},"text":{"8":{},"12":{},"13":{},"287":{}},"component":{}}],["solut",{"_index":102,"title":{"286-2":{},"288-2":{},"289-2":{},"290-2":{}},"name":{},"text":{"2":{},"8":{},"12":{},"13":{},"19":{},"29":{},"30":{},"36":{},"38":{},"40":{},"44":{},"46":{},"56":{},"66":{},"67":{},"77":{},"79":{},"80":{},"87":{},"88":{},"89":{},"102":{},"107":{},"140":{},"144":{},"145":{},"163":{},"210":{},"262":{},"287":{}},"component":{}}],["solv",{"_index":689,"title":{},"name":{},"text":{"4":{},"12":{},"29":{},"66":{},"67":{},"145":{}},"component":{}}],["somebodi",{"_index":4262,"title":{},"name":{},"text":{"67":{}},"component":{}}],["someclass(paramet",{"_index":2551,"title":{},"name":{},"text":{"46":{}},"component":{}}],["somekeycorrelationprovid",{"_index":2714,"title":{},"name":{},"text":{"50":{}},"component":{}}],["someon",{"_index":4338,"title":{},"name":{},"text":{"67":{},"264":{}},"component":{}}],["someparentcommand",{"_index":4886,"title":{},"name":{},"text":{"80":{}},"component":{}}],["somepredicate.test(messag",{"_index":3223,"title":{},"name":{},"text":{"63":{}},"component":{}}],["someresponsetype.class",{"_index":5824,"title":{},"name":{},"text":{"121":{}},"component":{}}],["someth",{"_index":875,"title":{},"name":{},"text":{"6":{},"14":{},"17":{},"29":{},"33":{},"35":{},"40":{},"45":{},"49":{},"55":{},"59":{},"63":{},"66":{},"80":{},"88":{},"97":{},"124":{},"147":{},"244":{},"249":{},"259":{},"260":{},"262":{},"280":{},"281":{},"282":{}},"component":{}}],["sometim",{"_index":1258,"title":{},"name":{},"text":{"21":{},"31":{},"32":{},"44":{},"59":{},"69":{},"72":{},"80":{},"84":{},"87":{},"156":{},"262":{},"264":{},"274":{},"280":{}},"component":{}}],["somewher",{"_index":2612,"title":{},"name":{},"text":{"46":{},"71":{},"75":{},"88":{},"266":{}},"component":{}}],["sonar",{"_index":3454,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["soon",{"_index":1146,"title":{},"name":{},"text":{"17":{},"35":{},"46":{},"67":{},"74":{},"99":{},"157":{},"202":{},"273":{},"275":{}},"component":{}}],["sort",{"_index":4817,"title":{},"name":{},"text":{"79":{},"273":{}},"component":{}}],["sortedkafkamessagebuff",{"_index":5528,"title":{},"name":{},"text":{"99":{}},"component":{}}],["sortedkafkamessagebuffer<>(buffercapac",{"_index":5527,"title":{},"name":{},"text":{"99":{}},"component":{}}],["sound",{"_index":6241,"title":{},"name":{},"text":{"145":{}},"component":{}}],["sourc",{"_index":57,"title":{"2-7":{},"30-4":{},"35-3":{},"36-5":{},"84-2":{},"88-31":{},"99-1":{},"99-2":{},"115-12":{},"274-25":{},"274-37":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"18":{},"20":{},"28":{},"29":{},"30":{},"31":{},"35":{},"36":{},"38":{},"42":{},"44":{},"46":{},"49":{},"51":{},"52":{},"59":{},"66":{},"67":{},"72":{},"77":{},"80":{},"82":{},"84":{},"85":{},"87":{},"88":{},"89":{},"90":{},"92":{},"99":{},"100":{},"115":{},"121":{},"137":{},"140":{},"147":{},"151":{},"191":{},"239":{},"242":{},"266":{},"274":{},"280":{},"281":{},"284":{},"285":{},"287":{},"289":{},"290":{}},"component":{}}],["sourceid",{"_index":2837,"title":{},"name":{},"text":{"52":{}},"component":{}}],["sources.jar",{"_index":6604,"title":{},"name":{},"text":{"170":{}},"component":{}}],["sown",{"_index":7284,"title":{},"name":{},"text":{"202":{}},"component":{}}],["space",{"_index":1579,"title":{},"name":{},"text":{"31":{},"140":{},"145":{},"151":{},"174":{},"178":{},"185":{},"199":{},"262":{},"276":{},"284":{}},"component":{}}],["span",{"_index":2991,"title":{"59-1":{},"59-9":{},"59-10":{},"59-11":{}},"name":{},"text":{"59":{},"66":{},"69":{},"71":{},"119":{},"132":{},"133":{}},"component":{}}],["spanattributesprovid",{"_index":3022,"title":{},"name":{},"text":{"59":{}},"component":{}}],["spanfactori",{"_index":2148,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"59":{},"61":{},"66":{},"67":{}},"component":{}}],["spanfactory(config.spanfactori",{"_index":2141,"title":{},"name":{},"text":{"38":{}},"component":{}}],["spanfactory(defaultdeadlinemanagerspanfactory.build",{"_index":2329,"title":{},"name":{},"text":{"39":{}},"component":{}}],["spanfactory(spanfactori",{"_index":2151,"title":{},"name":{},"text":{"38":{},"39":{},"40":{},"46":{},"61":{},"97":{},"113":{}},"component":{}}],["spanfactory.registerspanattributeprovider(new",{"_index":3044,"title":{},"name":{},"text":{"59":{}},"component":{}}],["spanfactory.registerspanattributeprovider(provid",{"_index":3023,"title":{},"name":{},"text":{"59":{}},"component":{}}],["spanfactory.registertagprovid",{"_index":3680,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sparingli",{"_index":5072,"title":{},"name":{},"text":{"87":{}},"component":{}}],["spars",{"_index":1921,"title":{},"name":{},"text":{"34":{}},"component":{}}],["spawn",{"_index":4554,"title":{},"name":{},"text":{"72":{}},"component":{}}],["speak",{"_index":1916,"title":{},"name":{},"text":{"34":{},"46":{}},"component":{}}],["spec",{"_index":583,"title":{},"name":{},"text":{"3":{},"101":{},"191":{}},"component":{}}],["specfic",{"_index":7792,"title":{},"name":{},"text":{"278":{}},"component":{}}],["special",{"_index":547,"title":{"157-3":{}},"name":{},"text":{"3":{},"25":{},"35":{},"36":{},"57":{},"59":{},"69":{},"71":{},"72":{},"77":{},"157":{},"172":{},"191":{},"231":{},"261":{}},"component":{}}],["specif",{"_index":553,"title":{"15-2":{},"47-2":{},"115-3":{},"115-13":{},"170-3":{},"262-4":{},"274-30":{}},"name":{},"text":{"3":{},"5":{},"6":{},"8":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"17":{},"18":{},"24":{},"27":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"38":{},"39":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"50":{},"51":{},"52":{},"57":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"82":{},"83":{},"84":{},"85":{},"87":{},"88":{},"89":{},"94":{},"99":{},"102":{},"104":{},"105":{},"115":{},"120":{},"121":{},"124":{},"127":{},"133":{},"140":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"155":{},"156":{},"157":{},"161":{},"168":{},"169":{},"173":{},"174":{},"178":{},"179":{},"191":{},"192":{},"199":{},"202":{},"204":{},"208":{},"215":{},"224":{},"226":{},"238":{},"239":{},"241":{},"242":{},"244":{},"245":{},"246":{},"260":{},"261":{},"262":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"280":{},"281":{},"285":{},"289":{},"290":{}},"component":{}}],["specifi",{"_index":345,"title":{},"name":{},"text":{"3":{},"15":{},"24":{},"27":{},"30":{},"34":{},"35":{},"36":{},"38":{},"39":{},"43":{},"44":{},"46":{},"50":{},"51":{},"52":{},"58":{},"59":{},"60":{},"64":{},"66":{},"67":{},"69":{},"72":{},"74":{},"79":{},"82":{},"84":{},"87":{},"88":{},"89":{},"94":{},"104":{},"115":{},"121":{},"140":{},"141":{},"143":{},"145":{},"147":{},"148":{},"150":{},"151":{},"154":{},"168":{},"174":{},"176":{},"178":{},"179":{},"180":{},"191":{},"195":{},"204":{},"206":{},"208":{},"211":{},"212":{},"214":{},"215":{},"217":{},"219":{},"224":{},"226":{},"234":{},"238":{},"239":{},"242":{},"244":{},"260":{},"262":{},"270":{},"274":{},"278":{},"280":{},"283":{},"285":{}},"component":{}}],["speed",{"_index":5071,"title":{},"name":{},"text":{"87":{},"88":{},"100":{},"111":{},"140":{},"151":{}},"component":{}}],["spel",{"_index":4251,"title":{},"name":{},"text":{"67":{}},"component":{}}],["spend",{"_index":2736,"title":{},"name":{},"text":{"51":{},"77":{},"274":{}},"component":{}}],["spent",{"_index":2208,"title":{},"name":{},"text":{"38":{},"57":{},"261":{},"274":{}},"component":{}}],["spike",{"_index":6448,"title":{},"name":{},"text":{"151":{}},"component":{}}],["split",{"_index":204,"title":{"88-22":{},"260-3":{}},"name":{},"text":{"3":{},"58":{},"59":{},"66":{},"76":{},"88":{},"89":{},"124":{},"163":{},"165":{},"179":{},"180":{},"191":{},"245":{},"246":{},"260":{},"270":{},"274":{},"276":{},"279":{},"281":{}},"component":{}}],["split/merg",{"_index":5319,"title":{},"name":{},"text":{"88":{},"255":{}},"component":{}}],["split_event_processor_seg",{"_index":6687,"title":{},"name":{},"text":{"171":{}},"component":{}}],["spliteventprocessor(eventprocessoridentifi",{"_index":6968,"title":{},"name":{},"text":{"180":{}},"component":{}}],["splitsegment(int",{"_index":5311,"title":{},"name":{},"text":{"88":{}},"component":{}}],["splitsegmentfor(str",{"_index":5314,"title":{},"name":{},"text":{"88":{}},"component":{}}],["splunk",{"_index":733,"title":{"5-7":{}},"name":{},"text":{"5":{}},"component":{}}],["spot",{"_index":4232,"title":{},"name":{},"text":{"67":{},"87":{},"89":{}},"component":{}}],["spread",{"_index":3017,"title":{},"name":{},"text":{"59":{},"60":{},"76":{},"84":{},"165":{}},"component":{}}],["spring",{"_index":26,"title":{"32":{},"91":{},"110":{},"113":{},"124":{},"126":{},"129":{},"131":{},"30-8":{},"30-9":{},"30-17":{},"30-20":{},"30-22":{},"30-24":{},"30-28":{},"30-30":{},"30-32":{},"30-33":{},"30-34":{},"30-35":{},"30-37":{},"31-3":{},"31-4":{},"31-5":{},"32-3":{},"32-4":{},"32-5":{},"32-6":{},"40-7":{},"54-1":{},"57-3":{},"57-7":{},"57-8":{},"59-3":{},"59-7":{},"59-13":{},"59-14":{},"59-19":{},"59-24":{},"69-13":{},"69-15":{},"71-3":{},"75-3":{},"76-5":{},"77-4":{},"77-8":{},"77-12":{},"89-3":{},"89-5":{},"89-6":{},"89-11":{},"89-12":{},"97-1":{},"97-2":{},"280-3":{},"284-4":{}},"name":{"32":{},"110":{},"113":{}},"text":{"1":{},"5":{},"15":{},"17":{},"20":{},"24":{},"28":{},"30":{},"32":{},"33":{},"36":{},"38":{},"39":{},"40":{},"43":{},"44":{},"46":{},"50":{},"52":{},"54":{},"55":{},"57":{},"59":{},"60":{},"61":{},"66":{},"67":{},"68":{},"69":{},"71":{},"76":{},"77":{},"79":{},"81":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"94":{},"96":{},"97":{},"104":{},"114":{},"117":{},"119":{},"120":{},"121":{},"123":{},"124":{},"126":{},"127":{},"128":{},"129":{},"131":{},"133":{},"147":{},"150":{},"176":{},"184":{},"185":{},"189":{},"237":{},"270":{},"276":{},"278":{},"279":{},"280":{},"281":{},"284":{},"285":{}},"component":{"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{}}}],["spring.datasource.url",{"_index":703,"title":{},"name":{},"text":{"4":{}},"component":{}}],["spring.datasource.url=jdbc:h2:./data/axonserv",{"_index":705,"title":{},"name":{},"text":{"4":{}},"component":{}}],["spring.factori",{"_index":1735,"title":{},"name":{},"text":{"32":{}},"component":{}}],["spring.jpa.properties.hibernate.id.db_structure_naming_strategy=legaci",{"_index":1837,"title":{},"name":{},"text":{"33":{}},"component":{}}],["spring.security.oauth2.client.provider.keycloak.issu",{"_index":6776,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.google.cli",{"_index":6760,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.google.scop",{"_index":6761,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.oidcclient.cli",{"_index":6772,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.oidcclient.provid",{"_index":6773,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.security.oauth2.client.registration.oidcclient.scop",{"_index":6774,"title":{},"name":{},"text":{"172":{}},"component":{}}],["spring.servlet.multipart.max",{"_index":6380,"title":{},"name":{},"text":{"148":{},"179":{}},"component":{}}],["spring:4.33.0,org.axonframework:axon",{"_index":1847,"title":{},"name":{},"text":{"33":{}},"component":{}}],["springaggregatelookup",{"_index":3451,"title":{},"name":{},"text":{"66":{}},"component":{}}],["springaggregatesnapshott",{"_index":4740,"title":{},"name":{},"text":{"77":{}},"component":{}}],["springamqpmessagesourc",{"_index":5419,"title":{},"name":{},"text":{"92":{}},"component":{}}],["springamqpmessagesource(messageconvert",{"_index":5422,"title":{},"name":{},"text":{"92":{}},"component":{}}],["springamqppublish",{"_index":5413,"title":{},"name":{},"text":{"90":{}},"component":{}}],["springapplication.run(myapplication.class",{"_index":5929,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springaxonautoconfigur",{"_index":4087,"title":{},"name":{},"text":{"67":{}},"component":{}}],["springaxonconfigur",{"_index":3471,"title":{},"name":{},"text":{"66":{}},"component":{}}],["springboot",{"_index":1354,"title":{"96":{},"104":{},"114":{},"121-1":{},"279-3":{},"281-9":{}},"name":{"96":{},"104":{},"114":{}},"text":{"24":{},"278":{},"279":{},"281":{}},"component":{}}],["springbootappl",{"_index":4268,"title":{},"name":{},"text":{"67":{},"128":{}},"component":{}}],["springcloud",{"_index":1525,"title":{},"name":{},"text":{"30":{},"38":{},"128":{},"129":{}},"component":{}}],["springcloudcommandrout",{"_index":5909,"title":{},"name":{},"text":{"127":{},"129":{}},"component":{}}],["springcloudcommandrouter(discoverycli",{"_index":5934,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springcloudcommandrouter.build",{"_index":5936,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springcommandcontrol",{"_index":5804,"title":{},"name":{},"text":{"121":{}},"component":{}}],["springconfigur",{"_index":3472,"title":{},"name":{},"text":{"66":{}},"component":{}}],["springconfigurer.componentloc",{"_index":3976,"title":{},"name":{},"text":{"67":{}},"component":{}}],["springdatasourceconnectionprovid",{"_index":2582,"title":{},"name":{},"text":{"46":{}},"component":{}}],["springhttpcommandbusconnector",{"_index":5962,"title":{},"name":{},"text":{"129":{},"130":{}},"component":{}}],["springhttpcommandbusconnector(@qualifier(\"localseg",{"_index":5942,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springhttpcommandbusconnector.build",{"_index":5944,"title":{},"name":{},"text":{"128":{}},"component":{}}],["springmongotempl",{"_index":5682,"title":{},"name":{},"text":{"114":{}},"component":{}}],["springmongotransactionmanag",{"_index":5681,"title":{},"name":{},"text":{"114":{}},"component":{}}],["springprototypeaggregatefactori",{"_index":2004,"title":{"36-8":{}},"name":{},"text":{"36":{},"67":{}},"component":{}}],["springquerycontrol",{"_index":5816,"title":{},"name":{},"text":{"121":{}},"component":{}}],["springresourceinjector",{"_index":4471,"title":{},"name":{},"text":{"69":{}},"component":{}}],["springtransactionmanag",{"_index":5107,"title":{},"name":{},"text":{"87":{}},"component":{}}],["spring’",{"_index":1717,"title":{},"name":{},"text":{"32":{},"44":{},"67":{},"69":{},"87":{},"280":{}},"component":{}}],["spuriou",{"_index":3674,"title":{},"name":{},"text":{"66":{}},"component":{}}],["sql",{"_index":2361,"title":{},"name":{},"text":{"40":{},"46":{},"67":{},"69":{},"71":{},"79":{},"115":{},"117":{},"280":{}},"component":{}}],["sqltypecod",{"_index":4847,"title":{},"name":{},"text":{"79":{}},"component":{}}],["sqltypes.blob",{"_index":4848,"title":{},"name":{},"text":{"79":{}},"component":{}}],["squar",{"_index":3731,"title":{},"name":{},"text":{"66":{}},"component":{}}],["src",{"_index":7797,"title":{},"name":{},"text":{"279":{}},"component":{}}],["src/main/java/resources/meta",{"_index":4865,"title":{},"name":{},"text":{"79":{}},"component":{}}],["src/main/resources/application.properti",{"_index":7755,"title":{},"name":{},"text":{"276":{}},"component":{}}],["src/test/java/io/axoniq/demo/bikerental/rental/command",{"_index":8024,"title":{},"name":{},"text":{"285":{}},"component":{}}],["srmppn",{"_index":3732,"title":{},"name":{},"text":{"66":{}},"component":{}}],["ssd",{"_index":6430,"title":{},"name":{},"text":{"151":{}},"component":{}}],["ssh",{"_index":7233,"title":{},"name":{},"text":{"199":{}},"component":{}}],["ssl",{"_index":490,"title":{"176":{},"192-12":{}},"name":{"176":{}},"text":{"3":{},"168":{},"174":{},"175":{},"176":{},"178":{},"179":{},"181":{},"191":{},"192":{}},"component":{}}],["ssl,tl",{"_index":6809,"title":{},"name":{},"text":{"178":{}},"component":{}}],["ssl.cert",{"_index":6887,"title":{},"name":{},"text":{"179":{}},"component":{}}],["ssl.enabl",{"_index":6805,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["ssl.intern",{"_index":6800,"title":{},"name":{},"text":{"176":{},"179":{}},"component":{}}],["ssl.privat",{"_index":6888,"title":{},"name":{},"text":{"179":{}},"component":{}}],["st",{"_index":675,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["stabil",{"_index":7532,"title":{},"name":{},"text":{"220":{}},"component":{}}],["stack",{"_index":797,"title":{},"name":{},"text":{"5":{},"44":{},"66":{},"94":{}},"component":{}}],["stackoverflowerror",{"_index":7490,"title":{},"name":{},"text":{"215":{}},"component":{}}],["stacktrac",{"_index":3649,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["stage",{"_index":318,"title":{},"name":{},"text":{"3":{},"46":{},"52":{},"53":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"99":{},"191":{},"254":{},"282":{}},"component":{}}],["stale",{"_index":4786,"title":{},"name":{},"text":{"77":{},"88":{},"140":{},"141":{},"145":{}},"component":{}}],["stall",{"_index":4989,"title":{},"name":{},"text":{"86":{},"87":{}},"component":{}}],["stamp",{"_index":4814,"title":{},"name":{},"text":{"79":{}},"component":{}}],["stanc",{"_index":4758,"title":{},"name":{},"text":{"77":{}},"component":{}}],["stand",{"_index":4826,"title":{},"name":{},"text":{"79":{},"101":{},"230":{},"240":{}},"component":{}}],["standalon",{"_index":405,"title":{},"name":{},"text":{"3":{},"140":{},"141":{},"178":{},"191":{},"200":{},"201":{},"232":{}},"component":{}}],["standard",{"_index":53,"title":{"162":{},"2-6":{},"36-4":{}},"name":{"162":{}},"text":{"2":{},"3":{},"30":{},"36":{},"59":{},"69":{},"71":{},"88":{},"89":{},"120":{},"133":{},"137":{},"138":{},"140":{},"148":{},"173":{},"176":{},"191":{},"192":{},"201":{},"204":{}},"component":{}}],["start",{"_index":149,"title":{"200":{},"227":{},"5-2":{},"201-2":{},"249-2":{},"260-2":{},"273-5":{},"274-1":{}},"name":{"277":{}},"text":{"2":{},"3":{},"4":{},"5":{},"7":{},"8":{},"13":{},"18":{},"21":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"38":{},"42":{},"44":{},"46":{},"50":{},"51":{},"53":{},"59":{},"66":{},"67":{},"69":{},"72":{},"74":{},"77":{},"86":{},"87":{},"88":{},"94":{},"96":{},"99":{},"102":{},"125":{},"133":{},"138":{},"141":{},"144":{},"145":{},"147":{},"148":{},"149":{},"151":{},"154":{},"156":{},"169":{},"177":{},"178":{},"179":{},"180":{},"184":{},"186":{},"189":{},"191":{},"192":{},"199":{},"200":{},"201":{},"203":{},"207":{},"208":{},"212":{},"215":{},"235":{},"237":{},"238":{},"241":{},"244":{},"249":{},"250":{},"254":{},"259":{},"260":{},"262":{},"263":{},"264":{},"265":{},"267":{},"270":{},"271":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"289":{}},"component":{"200":{},"201":{},"202":{},"203":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{}}}],["start/compose.yaml",{"_index":8019,"title":{},"name":{},"text":{"284":{}},"component":{}}],["start/rental/target/class",{"_index":8017,"title":{},"name":{},"text":{"284":{}},"component":{}}],["start/stop",{"_index":5339,"title":{},"name":{},"text":{"88":{}},"component":{}}],["start/stop/pause/reset",{"_index":7614,"title":{},"name":{},"text":{"255":{}},"component":{}}],["start=fals",{"_index":5469,"title":{},"name":{},"text":{"96":{}},"component":{}}],["start_event_processor",{"_index":6688,"title":{},"name":{},"text":{"171":{}},"component":{}}],["starter",{"_index":162,"title":{"30-9":{},"30-17":{},"30-20":{},"30-22":{},"30-24":{},"30-28":{},"30-30":{},"30-32":{},"30-35":{},"30-37":{},"32-3":{}},"name":{},"text":{"2":{},"3":{},"30":{},"32":{},"33":{},"38":{},"39":{},"40":{},"46":{},"61":{},"66":{},"67":{},"94":{},"96":{},"97":{},"104":{},"114":{},"121":{},"128":{},"129":{},"133":{},"172":{},"191":{},"232":{},"264":{},"270":{},"273":{},"276":{},"278":{},"279":{},"285":{}},"component":{}}],["starteventprocessor",{"_index":6210,"title":{},"name":{},"text":{"144":{}},"component":{}}],["starteventprocessor(eventprocessoridentifi",{"_index":6965,"title":{},"name":{},"text":{"180":{}},"component":{}}],["starthandl",{"_index":3664,"title":{},"name":{},"text":{"66":{}},"component":{}}],["startposit",{"_index":5333,"title":{},"name":{},"text":{"88":{}},"component":{}}],["startreceivingcommands(flux",{"_index":5812,"title":{},"name":{},"text":{"121":{}},"component":{}}],["startsaga",{"_index":4421,"title":{},"name":{},"text":{"68":{},"69":{},"97":{}},"component":{}}],["startscheduler(fals",{"_index":2330,"title":{},"name":{},"text":{"39":{}},"component":{}}],["startswith(\"com.context.book",{"_index":6349,"title":{},"name":{},"text":{"147":{}},"component":{}}],["startup",{"_index":1713,"title":{"32-6":{}},"name":{},"text":{"67":{},"88":{},"143":{},"149":{},"154":{},"161":{},"177":{},"179":{},"208":{},"215":{}},"component":{}}],["state",{"_index":556,"title":{"85":{},"286":{},"289":{},"290":{},"35-2":{},"72-8":{},"145-6":{},"145-10":{},"145-13":{},"289-5":{}},"name":{"85":{}},"text":{"3":{},"6":{},"20":{},"35":{},"36":{},"37":{},"38":{},"42":{},"44":{},"49":{},"51":{},"58":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"80":{},"82":{},"84":{},"85":{},"86":{},"88":{},"89":{},"120":{},"127":{},"141":{},"142":{},"144":{},"145":{},"151":{},"161":{},"179":{},"186":{},"187":{},"191":{},"226":{},"280":{},"281":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["state_transitions_via_command",{"_index":8062,"title":{},"name":{"289":{}},"text":{},"component":{}}],["state_views_via_project",{"_index":8073,"title":{},"name":{"290":{}},"text":{},"component":{}}],["statefulset",{"_index":524,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["statefulset.apps/axonserv",{"_index":641,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["stateless",{"_index":5050,"title":{},"name":{},"text":{"87":{}},"component":{}}],["statement",{"_index":1787,"title":{},"name":{},"text":{"33":{},"46":{},"66":{},"67":{},"69":{},"71":{},"88":{}},"component":{}}],["static",{"_index":1235,"title":{"115-1":{}},"name":{},"text":{"20":{},"22":{},"24":{},"35":{},"36":{},"38":{},"40":{},"42":{},"44":{},"49":{},"51":{},"66":{},"72":{},"80":{},"82":{},"84":{},"85":{},"128":{},"145":{},"148":{},"280":{},"281":{}},"component":{}}],["static_key",{"_index":2238,"title":{},"name":{},"text":{"38":{}},"component":{}}],["statist",{"_index":842,"title":{"274-10":{},"274-20":{},"274-21":{},"274-27":{},"274-32":{}},"name":{},"text":{"5":{},"239":{},"243":{},"246":{},"255":{},"260":{},"273":{},"274":{}},"component":{}}],["statu",{"_index":799,"title":{"58-1":{}},"name":{"280":{}},"text":{"5":{},"54":{},"55":{},"58":{},"66":{},"67":{},"88":{},"97":{},"140":{},"178":{},"179":{},"185":{},"187":{},"201":{},"208":{},"211":{},"232":{},"241":{},"244":{},"246":{},"260":{},"261":{},"262":{},"274":{},"280":{},"281":{}},"component":{}}],["status",{"_index":7860,"title":{},"name":{},"text":{"280":{}},"component":{}}],["status.cod",{"_index":4287,"title":{},"name":{},"text":{"67":{}},"component":{}}],["stay",{"_index":825,"title":{},"name":{},"text":{"5":{},"33":{},"63":{},"140":{}},"component":{}}],["stdout",{"_index":6882,"title":{},"name":{},"text":{"179":{}},"component":{}}],["steal",{"_index":5112,"title":{"88-10":{},"88-12":{}},"name":{},"text":{"88":{},"261":{}},"component":{}}],["stefanmirkov",{"_index":4061,"title":{},"name":{},"text":{"67":{}},"component":{}}],["step",{"_index":328,"title":{"33-1":{},"33-2":{},"33-3":{},"33-4":{},"33-5":{},"33-6":{},"33-7":{},"33-8":{},"33-9":{},"145-20":{}},"name":{},"text":{"3":{},"4":{},"28":{},"29":{},"33":{},"42":{},"53":{},"66":{},"67":{},"79":{},"102":{},"120":{},"144":{},"165":{},"179":{},"191":{},"192":{},"194":{},"196":{},"201":{},"202":{},"203":{},"208":{},"215":{},"220":{},"232":{},"237":{},"262":{},"263":{},"267":{},"268":{},"269":{},"271":{},"272":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"284":{},"285":{}},"component":{}}],["stereotyp",{"_index":3699,"title":{},"name":{},"text":{"66":{}},"component":{}}],["stick",{"_index":1217,"title":{},"name":{},"text":{"19":{},"31":{},"33":{},"46":{},"47":{},"53":{}},"component":{}}],["sticki",{"_index":8066,"title":{},"name":{},"text":{"289":{}},"component":{}}],["still",{"_index":177,"title":{},"name":{},"text":{"2":{},"4":{},"5":{},"27":{},"38":{},"46":{},"47":{},"59":{},"67":{},"72":{},"87":{},"88":{},"89":{},"90":{},"94":{},"128":{},"130":{},"140":{},"142":{},"144":{},"148":{},"151":{},"156":{},"167":{},"172":{},"178":{},"179":{},"186":{},"189":{},"206":{},"216":{},"217":{},"219":{},"264":{},"273":{},"280":{},"281":{}},"component":{}}],["stock",{"_index":4724,"title":{},"name":{},"text":{"77":{}},"component":{}}],["stoerti",{"_index":3915,"title":{},"name":{},"text":{"67":{}},"component":{}}],["stolen",{"_index":5113,"title":{"88-11":{}},"name":{},"text":{"88":{}},"component":{}}],["stop",{"_index":716,"title":{"5-6":{}},"name":{},"text":{"4":{},"5":{},"16":{},"17":{},"38":{},"67":{},"74":{},"80":{},"86":{},"87":{},"88":{},"99":{},"121":{},"141":{},"143":{},"144":{},"145":{},"148":{},"178":{},"179":{},"186":{},"199":{},"215":{},"249":{},"250":{},"259":{},"260":{},"284":{}},"component":{}}],["storag",{"_index":48,"title":{"151":{},"226":{},"2-4":{},"29-1":{},"46-9":{},"140-27":{},"151-2":{},"151-4":{},"151-17":{},"192-10":{},"206-42":{},"220-1":{},"226-1":{},"226-2":{},"226-3":{},"226-4":{}},"name":{"151":{}},"text":{"2":{},"3":{},"19":{},"29":{},"30":{},"31":{},"32":{},"35":{},"36":{},"38":{},"42":{},"46":{},"64":{},"66":{},"67":{},"69":{},"71":{},"79":{},"85":{},"88":{},"113":{},"140":{},"141":{},"142":{},"145":{},"146":{},"151":{},"154":{},"156":{},"157":{},"164":{},"179":{},"181":{},"185":{},"191":{},"192":{},"206":{},"215":{},"220":{},"221":{},"226":{},"280":{}},"component":{}}],["storage.event.max",{"_index":6911,"title":{},"name":{},"text":{"179":{}},"component":{}}],["storage/messag",{"_index":7164,"title":{},"name":{},"text":{"192":{}},"component":{}}],["storagecontextnam",{"_index":7163,"title":{},"name":{},"text":{"192":{}},"component":{}}],["storageengin",{"_index":2559,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["storageengine(eventstorageengin",{"_index":2768,"title":{},"name":{},"text":{"51":{}},"component":{}}],["storageengine(mongocli",{"_index":2600,"title":{},"name":{},"text":{"46":{}},"component":{}}],["storageengine(mongodatabasefactori",{"_index":5676,"title":{},"name":{},"text":{"113":{}},"component":{}}],["storageengine(storageengin",{"_index":2561,"title":{},"name":{},"text":{"46":{},"113":{}},"component":{}}],["storageengine.createschema(eventtablefactori",{"_index":2578,"title":{},"name":{},"text":{"46":{}},"component":{}}],["storageengine.createschema(tablefactori",{"_index":2581,"title":{},"name":{},"text":{"46":{}},"component":{}}],["storageprovider(storageprovid",{"_index":5476,"title":{},"name":{},"text":{"97":{}},"component":{}}],["storagestrategi",{"_index":2588,"title":{},"name":{},"text":{"46":{},"114":{}},"component":{}}],["storagetyp",{"_index":5638,"title":{},"name":{},"text":{"106":{}},"component":{}}],["store",{"_index":39,"title":{"46":{},"85":{},"113":{},"2-3":{},"46-2":{},"46-3":{},"46-4":{},"46-8":{},"46-10":{},"46-11":{},"69-6":{},"71-4":{},"77-5":{},"88-13":{},"88-14":{},"142-2":{},"145-6":{},"145-10":{},"145-23":{},"186-3":{},"206-34":{},"206-35":{},"206-36":{}},"name":{"85":{}},"text":{"2":{},"3":{},"4":{},"19":{},"29":{},"30":{},"31":{},"32":{},"36":{},"38":{},"39":{},"40":{},"44":{},"45":{},"46":{},"49":{},"56":{},"59":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"84":{},"85":{},"86":{},"88":{},"89":{},"92":{},"99":{},"100":{},"102":{},"111":{},"113":{},"114":{},"115":{},"117":{},"121":{},"127":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"157":{},"161":{},"162":{},"167":{},"169":{},"174":{},"176":{},"178":{},"179":{},"181":{},"185":{},"191":{},"192":{},"194":{},"198":{},"199":{},"206":{},"212":{},"217":{},"221":{},"226":{},"257":{},"260":{},"261":{},"277":{},"280":{},"283":{},"284":{}},"component":{}}],["store.en",{"_index":5685,"title":{},"name":{},"text":{"114":{}},"component":{}}],["store/ev",{"_index":1764,"title":{},"name":{},"text":{"32":{}},"component":{}}],["store’",{"_index":6326,"title":{},"name":{},"text":{"147":{}},"component":{}}],["storm",{"_index":7956,"title":{},"name":{},"text":{"281":{}},"component":{}}],["straightforward",{"_index":715,"title":{},"name":{},"text":{"4":{},"29":{},"38":{},"61":{},"66":{},"68":{},"69":{},"86":{},"87":{},"88":{},"127":{},"235":{}},"component":{}}],["strategi",{"_index":1938,"title":{"38-14":{}},"name":{},"text":{"35":{},"38":{},"53":{},"63":{},"66":{},"67":{},"87":{},"88":{},"140":{},"142":{},"179":{},"180":{},"260":{}},"component":{}}],["strategy=threadnumb",{"_index":5300,"title":{},"name":{},"text":{"88":{}},"component":{}}],["stream",{"_index":1452,"title":{"88":{},"59-31":{},"59-40":{},"63-5":{},"63-6":{},"88-3":{},"88-19":{},"88-20":{},"89-8":{},"140-2":{},"163-1":{},"260-1":{}},"name":{"88":{}},"text":{"29":{},"30":{},"31":{},"36":{},"44":{},"46":{},"49":{},"58":{},"59":{},"62":{},"63":{},"64":{},"66":{},"67":{},"76":{},"77":{},"79":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"102":{},"119":{},"120":{},"121":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"163":{},"165":{},"179":{},"180":{},"194":{},"197":{},"206":{},"215":{},"260":{},"261":{},"274":{}},"component":{}}],["stream.batch",{"_index":5410,"title":{},"name":{},"text":{"89":{}},"component":{}}],["stream.initi",{"_index":5412,"title":{},"name":{},"text":{"89":{}},"component":{}}],["stream.name=mi",{"_index":5409,"title":{},"name":{},"text":{"89":{}},"component":{}}],["streamabl",{"_index":3809,"title":{"99-2":{}},"name":{},"text":{"66":{},"99":{},"102":{}},"component":{}}],["streamablbemessagesourc",{"_index":3808,"title":{},"name":{},"text":{"66":{}},"component":{}}],["streamablekafkamessagesourc",{"_index":5478,"title":{"104-10":{}},"name":{},"text":{"99":{},"104":{}},"component":{}}],["streamablekafkamessagesource(list",{"_index":5523,"title":{},"name":{},"text":{"99":{}},"component":{}}],["streamablekafkamessagesource.build",{"_index":5525,"title":{},"name":{},"text":{"99":{}},"component":{}}],["streamablemessagesourc",{"_index":5115,"title":{},"name":{},"text":{"88":{},"115":{}},"component":{}}],["streamablemessagesource#createtokenat(inst",{"_index":4331,"title":{},"name":{},"text":{"67":{}},"component":{}}],["streamablemessagesource’",{"_index":5340,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingeventprocessor",{"_index":2835,"title":{},"name":{},"text":{"52":{},"58":{},"66":{},"67":{},"88":{},"144":{}},"component":{}}],["streamingeventprocessor#maxcapac",{"_index":3714,"title":{},"name":{},"text":{"66":{}},"component":{}}],["streamingeventprocessor#resettoken",{"_index":5344,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingeventprocessor.claimseg",{"_index":3344,"title":{},"name":{},"text":{"66":{}},"component":{}}],["streamingeventprocessor.class",{"_index":5306,"title":{},"name":{},"text":{"88":{},"144":{}},"component":{}}],["streamingeventprocessor.resettoken",{"_index":6196,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingeventprocessor.shutdown",{"_index":6195,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingeventprocessor.start",{"_index":6197,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingeventprocessor.supportsreset",{"_index":6194,"title":{},"name":{},"text":{"144":{}},"component":{}}],["streamingprocessor.mergesegment(segmentid",{"_index":5317,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.releasesegment(segmentid",{"_index":5308,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.resettoken",{"_index":5336,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.resettokens(resetcontext",{"_index":5338,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.shutdown",{"_index":5335,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.splitsegment(segmentid",{"_index":5315,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessor.start",{"_index":5337,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessorcontrol",{"_index":5318,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingprocessorservic",{"_index":5302,"title":{},"name":{},"text":{"88":{}},"component":{}}],["streamingqueri",{"_index":3206,"title":{},"name":{},"text":{"63":{}},"component":{}}],["streamingquery(queri",{"_index":3213,"title":{},"name":{},"text":{"63":{}},"component":{}}],["streamlin",{"_index":6050,"title":{},"name":{},"text":{"140":{}},"component":{}}],["streamnam",{"_index":5398,"title":{},"name":{},"text":{"89":{}},"component":{}}],["streams.mi",{"_index":5408,"title":{},"name":{},"text":{"89":{}},"component":{}}],["strengthen",{"_index":5496,"title":{},"name":{},"text":{"99":{}},"component":{}}],["stress",{"_index":1165,"title":{},"name":{},"text":{"17":{},"270":{},"272":{}},"component":{}}],["strict",{"_index":6103,"title":{},"name":{},"text":{"142":{}},"component":{}}],["strike",{"_index":6471,"title":{},"name":{},"text":{"151":{}},"component":{}}],["string",{"_index":1230,"title":{},"name":{},"text":{"20":{},"22":{},"24":{},"27":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"44":{},"47":{},"50":{},"51":{},"52":{},"64":{},"67":{},"68":{},"69":{},"72":{},"76":{},"79":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"99":{},"101":{},"102":{},"104":{},"106":{},"108":{},"115":{},"121":{},"144":{},"195":{},"211":{},"212":{},"214":{},"280":{},"281":{},"289":{}},"component":{}}],["string.class",{"_index":5248,"title":{},"name":{},"text":{"88":{}},"component":{}}],["string.format(\"bik",{"_index":7847,"title":{},"name":{},"text":{"280":{}},"component":{}}],["string/numb",{"_index":4424,"title":{},"name":{},"text":{"68":{}},"component":{}}],["strip",{"_index":3564,"title":{},"name":{},"text":{"66":{}},"component":{}}],["strive",{"_index":1144,"title":{},"name":{},"text":{"17":{}},"component":{}}],["stroke",{"_index":7735,"title":{},"name":{},"text":{"274":{}},"component":{}}],["strong",{"_index":2086,"title":{},"name":{},"text":{"38":{},"145":{},"147":{},"192":{}},"component":{}}],["strongli",{"_index":526,"title":{},"name":{},"text":{"3":{},"33":{},"47":{},"79":{},"86":{},"88":{},"145":{},"191":{}},"component":{}}],["structur",{"_index":285,"title":{"268":{},"51-3":{},"51-11":{},"82-1":{},"279-1":{}},"name":{"268":{}},"text":{"3":{},"32":{},"35":{},"44":{},"46":{},"47":{},"51":{},"66":{},"79":{},"81":{},"82":{},"84":{},"85":{},"101":{},"157":{},"191":{},"192":{},"211":{},"212":{},"214":{},"224":{},"279":{},"280":{},"281":{},"285":{}},"component":{}}],["sts.yml",{"_index":639,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["stub",{"_index":4684,"title":{},"name":{},"text":{"74":{}},"component":{}}],["stubaggregatelifecycleextens",{"_index":4541,"title":{},"name":{},"text":{"72":{}},"component":{}}],["stubeventschedul",{"_index":4692,"title":{},"name":{},"text":{"74":{}},"component":{}}],["stubschedul",{"_index":4689,"title":{},"name":{},"text":{"74":{}},"component":{}}],["stuck",{"_index":5042,"title":{},"name":{},"text":{"86":{},"266":{}},"component":{}}],["studi",{"_index":527,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["style",{"_index":2552,"title":{},"name":{},"text":{"46":{},"104":{},"115":{},"140":{}},"component":{}}],["sub",{"_index":206,"title":{},"name":{},"text":{"3":{},"28":{},"37":{},"41":{},"45":{},"47":{},"49":{},"70":{},"73":{},"78":{},"137":{},"146":{},"153":{},"155":{},"157":{},"159":{},"175":{},"191":{},"279":{}},"component":{}}],["subclass",{"_index":1385,"title":{},"name":{},"text":{"27":{},"44":{},"66":{},"81":{}},"component":{}}],["subdirectori",{"_index":288,"title":{},"name":{},"text":{"3":{},"147":{},"170":{},"172":{},"179":{},"191":{}},"component":{}}],["subhandl",{"_index":3246,"title":{},"name":{},"text":{"64":{}},"component":{}}],["subject",{"_index":528,"title":{},"name":{},"text":{"3":{},"29":{},"107":{},"191":{},"285":{}},"component":{}}],["sublisten",{"_index":2409,"title":{},"name":{},"text":{"43":{}},"component":{}}],["submit",{"_index":3085,"title":{},"name":{},"text":{"59":{},"186":{}},"component":{}}],["submodul",{"_index":7794,"title":{},"name":{},"text":{"278":{},"279":{}},"component":{}}],["subnetwork",{"_index":7216,"title":{},"name":{},"text":{"199":{}},"component":{}}],["suboptim",{"_index":1447,"title":{},"name":{},"text":{"29":{},"67":{}},"component":{}}],["subproject",{"_index":7796,"title":{"279-6":{}},"name":{},"text":{"279":{}},"component":{}}],["subqueryhandl",{"_index":3251,"title":{},"name":{},"text":{"64":{}},"component":{}}],["subscrib",{"_index":808,"title":{"89":{},"59-32":{},"99-1":{}},"name":{"89":{}},"text":{"5":{},"6":{},"46":{},"59":{},"63":{},"66":{},"67":{},"69":{},"87":{},"88":{},"89":{},"90":{},"99":{},"102":{},"104":{},"108":{},"121":{},"140":{},"180":{},"186":{},"206":{},"280":{},"286":{}},"component":{}}],["subscribablekafkamessagesourc",{"_index":5493,"title":{},"name":{},"text":{"99":{},"104":{}},"component":{}}],["subscribablekafkamessagesource#start",{"_index":5502,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablekafkamessagesource(list",{"_index":5506,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablekafkamessagesource.build",{"_index":5509,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablekafkamessagesource.builder#autostart",{"_index":5522,"title":{},"name":{},"text":{"99":{}},"component":{}}],["subscribablemessagesourc",{"_index":5118,"title":{},"name":{},"text":{"88":{},"89":{},"90":{},"92":{},"99":{}},"component":{}}],["subscribe_command_handl",{"_index":6594,"title":{},"name":{},"text":{"169":{},"171":{},"178":{},"204":{}},"component":{}}],["subscribe_query_handl",{"_index":6595,"title":{},"name":{},"text":{"169":{},"171":{},"178":{}},"component":{}}],["subscribecontextupdates(google.protobuf.empti",{"_index":6982,"title":{},"name":{},"text":{"180":{}},"component":{}}],["subscribingeventprocessor",{"_index":5378,"title":{},"name":{},"text":{"89":{},"99":{},"104":{}},"component":{}}],["subscribingprocessorsconfigurermodul",{"_index":5389,"title":{},"name":{},"text":{"89":{}},"component":{}}],["subscript",{"_index":729,"title":{"250":{},"5-6":{},"59-46":{},"63-4":{},"121-8":{},"250-3":{},"254-3":{}},"name":{"250":{}},"text":{"5":{},"51":{},"59":{},"62":{},"63":{},"67":{},"99":{},"121":{},"141":{},"143":{},"169":{},"186":{},"219":{},"237":{},"249":{},"250":{},"254":{},"255":{},"273":{}},"component":{}}],["subscription.retri",{"_index":7365,"title":{"206-48":{}},"name":{},"text":{},"component":{}}],["subscriptionqueri",{"_index":5795,"title":{"121-9":{}},"name":{},"text":{},"component":{}}],["subscriptionquerymani",{"_index":5796,"title":{"121-10":{}},"name":{},"text":{},"component":{}}],["subscriptionqueryresult",{"_index":3181,"title":{},"name":{},"text":{"63":{}},"component":{}}],["subscriptionqueryresult#handl",{"_index":3920,"title":{},"name":{},"text":{"67":{}},"component":{}}],["subscriptionqueryresult#handle(consum",{"_index":3198,"title":{},"name":{},"text":{"63":{}},"component":{}}],["subscriptionquerysend",{"_index":5832,"title":{},"name":{},"text":{"121":{}},"component":{}}],["subsect",{"_index":1398,"title":{"62-2":{}},"name":{},"text":{"28":{},"41":{},"55":{},"59":{},"62":{},"78":{},"137":{},"153":{},"155":{},"159":{}},"component":{}}],["subsequ",{"_index":2878,"title":{},"name":{},"text":{"53":{},"59":{},"63":{},"142":{},"163":{},"172":{},"179":{}},"component":{}}],["subset",{"_index":4233,"title":{},"name":{},"text":{"67":{},"262":{}},"component":{}}],["substitut",{"_index":6821,"title":{},"name":{},"text":{"179":{}},"component":{}}],["substr",{"_index":7190,"title":{},"name":{},"text":{"195":{}},"component":{}}],["subtyp",{"_index":2678,"title":{"81-1":{}},"name":{},"text":{"49":{},"52":{},"64":{},"66":{},"67":{},"81":{}},"component":{}}],["subtypes.add(openloopgiftcard.class",{"_index":4899,"title":{},"name":{},"text":{"81":{}},"component":{}}],["subtypes.add(rechargeablegiftcard.class",{"_index":4900,"title":{},"name":{},"text":{"81":{}},"component":{}}],["succe",{"_index":2092,"title":{},"name":{},"text":{"38":{},"53":{},"72":{},"86":{},"172":{}},"component":{}}],["succeed",{"_index":4227,"title":{},"name":{},"text":{"67":{},"88":{}},"component":{}}],["success",{"_index":1197,"title":{"238":{}},"name":{"238":{}},"text":{"18":{},"34":{},"42":{},"57":{},"66":{},"72":{},"88":{},"105":{},"144":{},"156":{},"192":{},"237":{},"289":{}},"component":{}}],["successfulli",{"_index":1175,"title":{},"name":{},"text":{"17":{},"34":{},"63":{},"66":{},"67":{},"72":{},"86":{},"87":{},"123":{},"124":{},"144":{},"151":{},"192":{},"201":{},"238":{},"241":{},"247":{},"277":{},"281":{},"285":{},"289":{}},"component":{}}],["successor",{"_index":2998,"title":{},"name":{},"text":{"59":{}},"component":{}}],["successthreshold",{"_index":629,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["such",{"_index":126,"title":{"5-7":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"8":{},"13":{},"16":{},"29":{},"30":{},"31":{},"33":{},"34":{},"36":{},"38":{},"40":{},"43":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"53":{},"57":{},"58":{},"59":{},"60":{},"64":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"75":{},"76":{},"77":{},"80":{},"82":{},"86":{},"87":{},"88":{},"91":{},"94":{},"99":{},"101":{},"102":{},"104":{},"105":{},"115":{},"120":{},"121":{},"124":{},"132":{},"138":{},"140":{},"142":{},"143":{},"147":{},"151":{},"165":{},"166":{},"167":{},"169":{},"170":{},"175":{},"189":{},"191":{},"199":{},"200":{},"202":{},"204":{},"211":{},"212":{},"214":{},"217":{},"224":{},"234":{},"242":{},"245":{},"246":{},"250":{},"261":{},"267":{},"273":{},"274":{},"283":{},"286":{},"290":{}},"component":{}}],["sudden",{"_index":4108,"title":{},"name":{},"text":{"67":{},"273":{}},"component":{}}],["suddent",{"_index":7644,"title":{},"name":{},"text":{"264":{}},"component":{}}],["sudo",{"_index":7242,"title":{},"name":{},"text":{"199":{}},"component":{}}],["suffic",{"_index":2052,"title":{},"name":{},"text":{"36":{},"46":{},"67":{},"69":{},"79":{},"87":{},"88":{},"189":{}},"component":{}}],["suffici",{"_index":1609,"title":{},"name":{},"text":{"31":{},"36":{},"43":{},"50":{},"60":{},"66":{},"87":{},"88":{},"90":{},"145":{},"232":{},"263":{},"274":{}},"component":{}}],["suffix",{"_index":673,"title":{},"name":{},"text":{"3":{},"36":{},"179":{},"191":{}},"component":{}}],["suggest",{"_index":1413,"title":{},"name":{},"text":{"29":{},"38":{},"40":{},"52":{},"75":{},"78":{},"79":{},"88":{},"111":{},"128":{},"130":{},"156":{},"172":{},"235":{},"272":{}},"component":{}}],["suit",{"_index":2132,"title":{},"name":{},"text":{"38":{},"72":{},"200":{}},"component":{}}],["suitabl",{"_index":1350,"title":{},"name":{},"text":{"24":{},"31":{},"36":{},"38":{},"43":{},"46":{},"64":{},"69":{},"80":{},"86":{},"87":{},"88":{},"145":{},"151":{},"286":{}},"component":{}}],["sum",{"_index":814,"title":{},"name":{},"text":{"5":{},"145":{}},"component":{}}],["summar",{"_index":4751,"title":{},"name":{},"text":{"77":{},"192":{},"274":{}},"component":{}}],["summari",{"_index":1397,"title":{"178-1":{},"274-15":{}},"name":{},"text":{"28":{},"37":{},"41":{},"45":{},"55":{},"62":{},"63":{},"66":{},"70":{},"73":{},"78":{},"88":{},"137":{},"146":{},"155":{},"159":{},"164":{},"169":{},"175":{},"178":{},"181":{},"232":{},"238":{},"241":{},"244":{},"246":{},"274":{},"281":{}},"component":{}}],["summaris",{"_index":4722,"title":{},"name":{},"text":{"77":{}},"component":{}}],["summary.setremainingvalue(summary.getremainingvalu",{"_index":3170,"title":{},"name":{},"text":{"63":{}},"component":{}}],["super",{"_index":3242,"title":{},"name":{},"text":{"64":{},"81":{},"238":{}},"component":{}}],["super(databaseversion.make(9",{"_index":4845,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super(deleg",{"_index":1338,"title":{},"name":{},"text":{"24":{}},"component":{}}],["super.canhandle(messag",{"_index":1346,"title":{},"name":{},"text":{"24":{}},"component":{}}],["super.casttype(sqltypecod",{"_index":4851,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super.columntype(sqltypecod",{"_index":4849,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super.contributetypes(typecontribut",{"_index":4855,"title":{},"name":{},"text":{"79":{}},"component":{}}],["super.onmessage(messag",{"_index":5426,"title":{},"name":{},"text":{"92":{}},"component":{}}],["superclass",{"_index":2414,"title":{},"name":{},"text":{"43":{},"44":{}},"component":{}}],["superior",{"_index":112,"title":{},"name":{},"text":{"2":{}},"component":{}}],["supertyp",{"_index":2405,"title":{},"name":{},"text":{"43":{}},"component":{}}],["suppli",{"_index":558,"title":{},"name":{},"text":{"3":{},"35":{},"88":{},"143":{},"144":{},"147":{},"156":{},"168":{},"174":{},"178":{},"179":{},"191":{}},"component":{}}],["supplier",{"_index":2384,"title":{},"name":{},"text":{"42":{},"67":{}},"component":{}}],["support",{"_index":746,"title":{"52":{},"118":{},"52-1":{},"52-2":{},"52-3":{},"64-4":{},"64-5":{},"278-3":{},"280-8":{},"284-4":{},"285-1":{}},"name":{"52":{}},"text":{"5":{},"8":{},"13":{},"26":{},"30":{},"31":{},"32":{},"33":{},"36":{},"38":{},"39":{},"40":{},"44":{},"46":{},"48":{},"51":{},"52":{},"53":{},"55":{},"59":{},"64":{},"66":{},"67":{},"69":{},"70":{},"71":{},"74":{},"77":{},"79":{},"84":{},"86":{},"88":{},"89":{},"91":{},"92":{},"94":{},"101":{},"109":{},"115":{},"117":{},"118":{},"119":{},"121":{},"127":{},"133":{},"137":{},"138":{},"140":{},"141":{},"142":{},"143":{},"145":{},"146":{},"151":{},"155":{},"156":{},"157":{},"176":{},"178":{},"187":{},"189":{},"192":{},"200":{},"201":{},"211":{},"212":{},"213":{},"214":{},"215":{},"218":{},"219":{},"221":{},"226":{},"227":{},"236":{},"247":{},"250":{},"264":{},"279":{},"280":{},"281":{},"284":{},"285":{},"286":{},"287":{}},"component":{}}],["suppos",{"_index":6502,"title":{},"name":{},"text":{"156":{},"277":{}},"component":{}}],["suppress",{"_index":3314,"title":{},"name":{},"text":{"66":{}},"component":{}}],["suppresswarnings(\"unuseddeclar",{"_index":4915,"title":{},"name":{},"text":{"82":{}},"component":{}}],["sure",{"_index":502,"title":{"235-1":{}},"name":{},"text":{"3":{},"18":{},"27":{},"29":{},"32":{},"33":{},"36":{},"38":{},"46":{},"49":{},"50":{},"59":{},"67":{},"69":{},"77":{},"82":{},"86":{},"88":{},"91":{},"94":{},"97":{},"100":{},"101":{},"114":{},"115":{},"120":{},"127":{},"129":{},"144":{},"145":{},"151":{},"191":{},"221":{},"235":{},"260":{},"261":{},"279":{},"280":{},"284":{}},"component":{}}],["surpris",{"_index":5204,"title":{},"name":{},"text":{"88":{}},"component":{}}],["surround",{"_index":2548,"title":{},"name":{},"text":{"46":{}},"component":{}}],["sut",{"_index":8027,"title":{},"name":{},"text":{"285":{}},"component":{}}],["swagger",{"_index":6318,"title":{},"name":{},"text":{"145":{},"165":{}},"component":{}}],["swallow",{"_index":3665,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["swift",{"_index":8075,"title":{},"name":{},"text":{"290":{}},"component":{}}],["switch",{"_index":503,"title":{"226-4":{}},"name":{},"text":{"3":{},"18":{},"33":{},"38":{},"40":{},"59":{},"66":{},"67":{},"72":{},"79":{},"88":{},"140":{},"191":{},"226":{},"280":{}},"component":{}}],["switchifempty(mono.error(new",{"_index":6231,"title":{},"name":{},"text":{"144":{}},"component":{}}],["symbol",{"_index":6373,"title":{},"name":{},"text":{"148":{}},"component":{}}],["synaps",{"_index":987,"title":{"200":{},"207":{},"200-1":{},"200-2":{},"201-5":{},"201-6":{},"202-5":{},"202-9":{},"202-13":{},"203-3":{},"203-4":{},"203-5":{},"204-1":{},"206-37":{},"208-1":{},"208-3":{},"211-5":{},"211-6":{},"212-6":{},"212-7":{},"214-5":{},"214-6":{},"221-2":{},"221-8":{},"224-1":{}},"name":{"225":{}},"text":{"7":{},"9":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"207":{},"208":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"224":{},"226":{}},"component":{"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{}}}],["synapse.auth.en",{"_index":7323,"title":{"206-22":{}},"name":{},"text":{"204":{},"215":{}},"component":{}}],["synapse.auth.sensit",{"_index":7347,"title":{"206-24":{}},"name":{},"text":{},"component":{}}],["synapse.auth.token",{"_index":7346,"title":{"206-23":{}},"name":{},"text":{"208":{}},"component":{}}],["synapse.axon",{"_index":7333,"title":{"206-7":{},"206-8":{},"206-9":{},"206-10":{},"206-26":{},"206-27":{},"206-28":{},"206-29":{}},"name":{},"text":{"215":{}},"component":{}}],["synapse.axonserver.serv",{"_index":7378,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse.axonserver.tlsen",{"_index":7380,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse.axonserver.trustmanagerfil",{"_index":7382,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse.certif",{"_index":7332,"title":{"206-5":{}},"name":{},"text":{"215":{}},"component":{}}],["synapse.cli",{"_index":7338,"title":{"206-11":{},"206-13":{}},"name":{},"text":{},"component":{}}],["synapse.compon",{"_index":7339,"title":{"206-12":{}},"name":{},"text":{},"component":{}}],["synapse.connect",{"_index":7340,"title":{"206-14":{}},"name":{},"text":{},"component":{}}],["synapse.default",{"_index":7341,"title":{"206-15":{}},"name":{},"text":{},"component":{}}],["synapse.ev",{"_index":7357,"title":{"206-41":{},"206-51":{},"206-52":{},"206-53":{},"206-54":{},"206-55":{},"206-56":{},"206-57":{},"206-58":{}},"name":{},"text":{"220":{}},"component":{}}],["synapse.event.streaming.buff",{"_index":7356,"title":{"206-40":{}},"name":{},"text":{},"component":{}}],["synapse.http",{"_index":7342,"title":{"206-17":{}},"name":{},"text":{},"component":{}}],["synapse.http.handlers.event.list.cont",{"_index":7497,"title":{},"name":{},"text":{"215":{}},"component":{}}],["synapse.i",{"_index":7504,"title":{},"name":{},"text":{"215":{}},"component":{}}],["synapse.internal.cli",{"_index":7344,"title":{"206-20":{}},"name":{},"text":{},"component":{}}],["synapse.internal.compon",{"_index":7345,"title":{"206-21":{}},"name":{},"text":{},"component":{}}],["synapse.internal.context",{"_index":7343,"title":{"206-19":{}},"name":{},"text":{},"component":{}}],["synapse.jar",{"_index":7263,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["synapse.mv.db",{"_index":7542,"title":{},"name":{},"text":{"226":{}},"component":{}}],["synapse.security.cor",{"_index":7355,"title":{"206-38":{}},"name":{},"text":{},"component":{}}],["synapse.serv",{"_index":7330,"title":{"206-3":{}},"name":{},"text":{"208":{},"215":{}},"component":{}}],["synapse.server.key",{"_index":7354,"title":{"206-34":{},"206-35":{},"206-36":{}},"name":{},"text":{},"component":{}}],["synapse.server.tl",{"_index":7353,"title":{"206-33":{}},"name":{},"text":{},"component":{}}],["synapse.storage.compon",{"_index":7361,"title":{"206-45":{}},"name":{},"text":{},"component":{}}],["synapse.storage.context",{"_index":7360,"title":{"206-44":{}},"name":{},"text":{"226":{}},"component":{}}],["synapse.storage.initi",{"_index":7364,"title":{"206-48":{}},"name":{},"text":{},"component":{}}],["synapse.storage.min",{"_index":7362,"title":{"206-46":{}},"name":{},"text":{},"component":{}}],["synapse.storage.subscription.retri",{"_index":7366,"title":{"206-49":{}},"name":{},"text":{},"component":{}}],["synapse.storage.token",{"_index":7363,"title":{"206-47":{}},"name":{},"text":{"226":{}},"component":{}}],["synapse.storage.typ",{"_index":7359,"title":{"206-43":{}},"name":{},"text":{"220":{},"226":{}},"component":{}}],["synapse.storage.type=axonserv",{"_index":7530,"title":{},"name":{},"text":{"220":{},"226":{}},"component":{}}],["synapse.storage.type=loc",{"_index":7540,"title":{},"name":{},"text":{"226":{}},"component":{}}],["synapse.synaps",{"_index":7352,"title":{"206-31":{}},"name":{},"text":{},"component":{}}],["synapse.us",{"_index":7331,"title":{"206-4":{}},"name":{},"text":{"208":{}},"component":{}}],["synapse.zip",{"_index":7262,"title":{},"name":{},"text":{"201":{},"208":{}},"component":{}}],["synapse_auth_en",{"_index":7403,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_auth_sensitivedataencryptionkey",{"_index":7405,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_auth_token",{"_index":7404,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_maxmessages",{"_index":7387,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_serverlist",{"_index":7384,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_tlsen",{"_index":7406,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserver_trustmanagerfil",{"_index":7407,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_clientsforcomponentendpointspath",{"_index":7390,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_port",{"_index":7389,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_tlsen",{"_index":7408,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_axonserverhttp_trustmanagerfil",{"_index":7409,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_certificatechain",{"_index":7383,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_clientcomponentnam",{"_index":7394,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_clientid",{"_index":7392,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_componentnam",{"_index":7393,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_connectiontimeout",{"_index":7395,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_defaultcontext",{"_index":7396,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_event_streaming_buffers",{"_index":7417,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_consistenthashingfunct",{"_index":7442,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_en",{"_index":7427,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_handlerrunintertia",{"_index":7436,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_synapsediscovery_pollinterv",{"_index":7431,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_synapsediscovery_retryinterv",{"_index":7430,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_synapsediscovery_timeout",{"_index":7428,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_websocket_platformendpoint",{"_index":7434,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_balancing_websocket_reconnectinterv",{"_index":7435,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_eventhandler_subscriptionretryinterv",{"_index":7418,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_httpendpoint",{"_index":7397,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_internal_clientid",{"_index":7399,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_internal_componentnam",{"_index":7402,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_internal_context",{"_index":7398,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_security_corsallowedorigin",{"_index":7416,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_keystorefil",{"_index":7413,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_keystorepassword",{"_index":7414,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_keystoretyp",{"_index":7415,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_server_tlsen",{"_index":7411,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_serverlist",{"_index":7379,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_componentnam",{"_index":7422,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_context",{"_index":7421,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_initialsubscription_retryinterv",{"_index":7425,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_mintokenoffset",{"_index":7423,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_subscription_retryinterv",{"_index":7426,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_token",{"_index":7424,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_storage_typ",{"_index":7420,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_synapsehandlershttp_trustmanagerfil",{"_index":7410,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse_usetl",{"_index":7381,"title":{},"name":{},"text":{"206":{}},"component":{}}],["synapse’",{"_index":7264,"title":{},"name":{},"text":{"201":{},"202":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{}},"component":{}}],["sync",{"_index":6850,"title":{},"name":{},"text":{"179":{},"270":{}},"component":{}}],["synchron",{"_index":1215,"title":{},"name":{},"text":{"19":{},"34":{},"38":{},"59":{},"61":{},"67":{},"133":{},"141":{},"142":{},"151":{},"163":{},"170":{},"172":{}},"component":{}}],["syntax",{"_index":6435,"title":{},"name":{},"text":{"151":{}},"component":{}}],["system",{"_index":563,"title":{"179":{},"255-1":{},"281-2":{}},"name":{},"text":{"3":{},"5":{},"6":{},"8":{},"13":{},"16":{},"17":{},"24":{},"30":{},"31":{},"38":{},"46":{},"50":{},"56":{},"57":{},"59":{},"63":{},"64":{},"72":{},"74":{},"76":{},"77":{},"82":{},"94":{},"100":{},"108":{},"115":{},"120":{},"127":{},"140":{},"145":{},"151":{},"165":{},"168":{},"169":{},"179":{},"181":{},"184":{},"185":{},"187":{},"191":{},"192":{},"199":{},"201":{},"202":{},"203":{},"206":{},"227":{},"230":{},"235":{},"236":{},"239":{},"240":{},"242":{},"243":{},"246":{},"255":{},"260":{},"261":{},"262":{},"264":{},"265":{},"266":{},"269":{},"270":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"280":{},"281":{},"283":{},"284":{},"285":{},"287":{},"289":{},"290":{}},"component":{}}],["system.out::println",{"_index":3188,"title":{},"name":{},"text":{"63":{}},"component":{}}],["systemat",{"_index":4372,"title":{},"name":{},"text":{"67":{},"140":{}},"component":{}}],["systemctl",{"_index":7244,"title":{},"name":{},"text":{"199":{}},"component":{}}],["system’",{"_index":7583,"title":{},"name":{},"text":{"243":{},"269":{},"281":{},"290":{}},"component":{}}],["t",{"_index":6369,"title":{},"name":{},"text":{"147":{},"156":{},"167":{},"168":{},"174":{},"178":{},"280":{},"285":{}},"component":{}}],["tab",{"_index":756,"title":{"231":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{},"273-2":{},"273-3":{},"273-4":{},"273-5":{},"273-6":{},"274-1":{},"274-2":{},"274-13":{},"274-22":{}},"name":{"231":{},"239":{},"242":{},"243":{},"244":{},"245":{},"246":{}},"text":{"5":{},"59":{},"88":{},"170":{},"201":{},"202":{},"231":{},"232":{},"235":{},"238":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"260":{},"265":{},"273":{},"274":{},"276":{},"277":{},"284":{}},"component":{}}],["tab.png[alt=\"screenshot",{"_index":7698,"title":{},"name":{},"text":{"273":{}},"component":{}}],["tabl",{"_index":1425,"title":{},"name":{},"text":{"29":{},"33":{},"40":{},"46":{},"56":{},"59":{},"66":{},"79":{},"86":{},"88":{},"138":{},"141":{},"146":{},"153":{},"155":{},"161":{},"171":{},"178":{},"232":{},"235":{},"239":{},"245":{},"246":{},"260":{},"262":{},"274":{},"283":{}},"component":{}}],["tablefactori",{"_index":2580,"title":{},"name":{},"text":{"46":{}},"component":{}}],["tab’",{"_index":7703,"title":{},"name":{},"text":{"274":{}},"component":{}}],["tag",{"_index":398,"title":{"150":{},"57-5":{},"57-6":{},"57-7":{},"57-8":{},"150-1":{},"150-3":{},"150-4":{}},"name":{"150":{}},"text":{"3":{},"31":{},"57":{},"66":{},"67":{},"115":{},"132":{},"140":{},"146":{},"150":{},"172":{},"179":{},"184":{},"191":{},"279":{}},"component":{}}],["tag.of(s.getkey",{"_index":2946,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tag/dimens",{"_index":2929,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tags.of",{"_index":2956,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tags.of(tagsutil.payload_type_tag",{"_index":2942,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tagsconfigur",{"_index":6423,"title":{},"name":{},"text":{"150":{}},"component":{}}],["tagsconfiguration(tag",{"_index":6425,"title":{},"name":{},"text":{"150":{}},"component":{}}],["tagsutil.payload_type_tag",{"_index":2957,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tagsutil.processor_name_tag",{"_index":2958,"title":{},"name":{},"text":{"57":{}},"component":{}}],["tail",{"_index":4332,"title":{},"name":{},"text":{"67":{},"88":{},"260":{}},"component":{}}],["tailor",{"_index":314,"title":{},"name":{},"text":{"3":{},"67":{},"144":{},"191":{}},"component":{}}],["taint",{"_index":7668,"title":{},"name":{},"text":{"270":{},"273":{}},"component":{}}],["take",{"_index":247,"title":{},"name":{},"text":{"3":{},"17":{},"27":{},"31":{},"34":{},"35":{},"38":{},"39":{},"40":{},"44":{},"51":{},"59":{},"63":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"78":{},"79":{},"81":{},"84":{},"86":{},"87":{},"88":{},"89":{},"102":{},"120":{},"125":{},"127":{},"128":{},"132":{},"141":{},"142":{},"143":{},"145":{},"147":{},"151":{},"154":{},"156":{},"165":{},"191":{},"201":{},"202":{},"206":{},"219":{},"221":{},"239":{},"244":{},"245":{},"250":{},"254":{},"257":{},"260":{},"261":{},"262":{},"265":{},"270":{},"273":{},"274":{},"276":{},"277":{}},"component":{}}],["take(100",{"_index":3221,"title":{},"name":{},"text":{"63":{}},"component":{}}],["taken",{"_index":1970,"title":{},"name":{},"text":{"35":{},"36":{},"38":{},"39":{},"44":{},"53":{},"66":{},"67":{},"69":{},"74":{},"75":{},"85":{},"86":{},"87":{},"88":{},"145":{},"247":{},"262":{},"273":{},"274":{}},"component":{}}],["takeuntil(messag",{"_index":3222,"title":{},"name":{},"text":{"63":{}},"component":{}}],["talk",{"_index":486,"title":{},"name":{},"text":{"3":{},"31":{},"145":{},"191":{}},"component":{}}],["tan",{"_index":7577,"title":{},"name":{},"text":{"241":{}},"component":{}}],["tap",{"_index":5343,"title":{},"name":{},"text":{"88":{}},"component":{}}],["target",{"_index":439,"title":{},"name":{},"text":{"3":{},"6":{},"35":{},"38":{},"66":{},"72":{},"82":{},"143":{},"161":{},"165":{},"178":{},"191":{},"280":{},"289":{}},"component":{}}],["target({elementtype.method",{"_index":1375,"title":{},"name":{},"text":{"27":{}},"component":{}}],["target_typ",{"_index":2478,"title":{},"name":{},"text":{"44":{}},"component":{}}],["targetaggregateidentifi",{"_index":1932,"title":{},"name":{},"text":{"35":{},"38":{},"281":{},"289":{}},"component":{}}],["targetaggregatevers",{"_index":1961,"title":{},"name":{},"text":{"35":{},"83":{},"94":{}},"component":{}}],["targetcontextresolv",{"_index":3807,"title":{},"name":{},"text":{"66":{},"147":{}},"component":{}}],["targetcontextresolver(targetcontextresolv",{"_index":2263,"title":{},"name":{},"text":{"38":{}},"component":{}}],["targetport",{"_index":644,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["targettenantresolv",{"_index":5712,"title":{},"name":{},"text":{"115":{}},"component":{}}],["task",{"_index":926,"title":{},"name":{},"text":{"6":{},"8":{},"10":{},"11":{},"12":{},"13":{},"38":{},"39":{},"40":{},"48":{},"53":{},"59":{},"66":{},"88":{},"115":{},"127":{},"140":{},"143":{},"145":{},"179":{},"186":{},"192":{},"208":{},"264":{},"274":{},"275":{},"280":{},"281":{}},"component":{}}],["tast",{"_index":7723,"title":{},"name":{},"text":{"274":{}},"component":{}}],["tcp",{"_index":607,"title":{},"name":{},"text":{"3":{},"94":{},"191":{}},"component":{}}],["team",{"_index":837,"title":{},"name":{},"text":{"5":{},"25":{},"27":{},"29":{},"87":{},"154":{},"177":{},"187":{},"199":{},"237":{},"240":{},"254":{},"255":{},"264":{}},"component":{}}],["technic",{"_index":1017,"title":{},"name":{},"text":{"8":{},"13":{},"33":{},"49":{},"87":{},"88":{},"89":{},"217":{}},"component":{}}],["techniqu",{"_index":4828,"title":{},"name":{},"text":{"79":{},"151":{},"281":{}},"component":{}}],["technolog",{"_index":7546,"title":{},"name":{},"text":{"227":{},"230":{},"236":{},"237":{},"264":{},"279":{}},"component":{}}],["tediou",{"_index":4606,"title":{},"name":{},"text":{"72":{},"275":{}},"component":{}}],["telemetri",{"_index":1540,"title":{},"name":{},"text":{"30":{},"66":{},"264":{},"276":{}},"component":{}}],["tell",{"_index":426,"title":{},"name":{},"text":{"3":{},"31":{},"44":{},"46":{},"68":{},"72":{},"77":{},"79":{},"82":{},"84":{},"85":{},"88":{},"115":{},"140":{},"168":{},"172":{},"174":{},"191":{},"201":{},"220":{},"249":{},"259":{}},"component":{}}],["templat",{"_index":596,"title":{"177":{},"154-4":{}},"name":{"177":{}},"text":{"3":{},"56":{},"154":{},"167":{},"174":{},"177":{},"181":{},"191":{},"192":{},"202":{}},"component":{}}],["template.yml",{"_index":6492,"title":{},"name":{},"text":{"154":{},"177":{}},"component":{}}],["temporari",{"_index":6002,"title":{"140-19":{}},"name":{},"text":{},"component":{}}],["temporarili",{"_index":1131,"title":{},"name":{},"text":{"16":{},"30":{},"140":{},"144":{},"148":{},"178":{},"288":{}},"component":{}}],["temurin",{"_index":228,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["temurin:11",{"_index":236,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["ten",{"_index":7701,"title":{},"name":{},"text":{"274":{}},"component":{}}],["tenanc",{"_index":1471,"title":{"119":{},"30-29":{},"30-30":{},"115-13":{},"147-5":{}},"name":{},"text":{"30":{},"115":{},"117":{},"147":{},"192":{}},"component":{}}],["tenancy.enabled=fals",{"_index":5774,"title":{},"name":{},"text":{"116":{}},"component":{}}],["tenancy.us",{"_index":5709,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenant",{"_index":3524,"title":{"118":{},"115-1":{},"115-2":{},"115-3":{},"115-5":{},"115-14":{}},"name":{"118":{}},"text":{"66":{},"115":{},"117":{},"118":{},"147":{},"192":{}},"component":{}}],["tenantcommandsegmentfactori",{"_index":5692,"title":{"115-15":{}},"name":{},"text":{},"component":{}}],["tenantconfiguration.tenant_correlation_key",{"_index":5705,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantconnectpred",{"_index":5701,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdatasourceresolv",{"_index":5716,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor",{"_index":5769,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor.tenantid().startswith(\"ten",{"_index":5770,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor.tenantwithid",{"_index":5714,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantdescriptor.tenantwithid(tenantnam",{"_index":5763,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenanteventprocessorcontrolsegmentfactori",{"_index":5696,"title":{"115-19":{}},"name":{},"text":{},"component":{}}],["tenanteventschedulersegmentfactori",{"_index":5695,"title":{"115-18":{}},"name":{},"text":{},"component":{}}],["tenanteventsegmentfactori",{"_index":5694,"title":{"115-17":{}},"name":{},"text":{},"component":{}}],["tenantfilterpred",{"_index":5702,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantid",{"_index":5740,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantquerysegmentfactori",{"_index":5693,"title":{"115-16":{}},"name":{},"text":{},"component":{}}],["tenantwrappedtransactionmanag",{"_index":5760,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tenantwrappedtransactionmanager.getcurrentten",{"_index":5722,"title":{},"name":{},"text":{"115":{}},"component":{}}],["tend",{"_index":2492,"title":{},"name":{},"text":{"44":{},"77":{}},"component":{}}],["tep",{"_index":5119,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tepconfig",{"_index":5128,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tep’",{"_index":5277,"title":{},"name":{},"text":{"88":{}},"component":{}}],["term",{"_index":1651,"title":{},"name":{},"text":{"31":{},"40":{},"46":{},"72":{},"88":{},"99":{},"102":{},"138":{},"140":{},"143":{}},"component":{}}],["termin",{"_index":3225,"title":{},"name":{},"text":{"63":{},"66":{},"144":{},"189":{},"201":{},"208":{},"277":{},"279":{},"283":{}},"component":{}}],["terminolog",{"_index":2992,"title":{"59-4":{}},"name":{},"text":{"140":{}},"component":{}}],["terraform",{"_index":7218,"title":{},"name":{},"text":{"199":{}},"component":{}}],["test",{"_index":500,"title":{"22":{},"73":{},"285":{},"30-5":{},"30-26":{},"72-1":{},"72-2":{},"72-4":{},"285-1":{},"285-4":{},"285-5":{}},"name":{"22":{},"285":{}},"text":{"3":{},"16":{},"18":{},"21":{},"22":{},"28":{},"30":{},"35":{},"38":{},"39":{},"46":{},"64":{},"66":{},"67":{},"72":{},"73":{},"74":{},"86":{},"88":{},"96":{},"111":{},"114":{},"145":{},"172":{},"191":{},"202":{},"234":{},"270":{},"272":{},"278":{},"280":{},"283":{},"285":{}},"component":{}}],["test:8090",{"_index":6779,"title":{},"name":{},"text":{"172":{}},"component":{}}],["test:8090/realms/test",{"_index":6780,"title":{},"name":{},"text":{"172":{}},"component":{}}],["testabl",{"_index":1251,"title":{},"name":{},"text":{"20":{}},"component":{}}],["testament",{"_index":7551,"title":{},"name":{},"text":{"230":{},"240":{}},"component":{}}],["testcardexpiredafterthirtyoneday",{"_index":1276,"title":{},"name":{},"text":{"22":{}},"component":{}}],["testcardnotexpiringifnothingleft",{"_index":1198,"title":{},"name":{},"text":{"18":{}},"component":{}}],["testclass",{"_index":3573,"title":{},"name":{},"text":{"66":{}},"component":{}}],["testexecutor",{"_index":3639,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["testfixtur",{"_index":1273,"title":{},"name":{},"text":{"22":{}},"component":{}}],["testfixture.givennoprioract",{"_index":1199,"title":{},"name":{},"text":{"18":{},"22":{}},"component":{}}],["testng",{"_index":4525,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testredeemcardcommand",{"_index":4536,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testsubject",{"_index":4544,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testsubject.getappliedevents().s",{"_index":4546,"title":{},"name":{},"text":{"72":{}},"component":{}}],["testwithmatch",{"_index":4633,"title":{},"name":{},"text":{"72":{}},"component":{}}],["text",{"_index":4832,"title":{},"name":{},"text":{"79":{},"178":{},"217":{},"262":{},"274":{},"283":{}},"component":{}}],["text/plain;charset=utf",{"_index":7992,"title":{},"name":{},"text":{"283":{}},"component":{}}],["th",{"_index":7582,"title":{},"name":{},"text":{"242":{}},"component":{}}],["thank",{"_index":3299,"title":{},"name":{},"text":{"66":{},"67":{},"119":{},"126":{},"265":{},"277":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["tharoldd",{"_index":3309,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["that’",{"_index":1106,"title":{},"name":{},"text":{"15":{},"31":{},"40":{},"151":{},"176":{},"189":{}},"component":{}}],["the_${axon_ee_server_home}/data/default_",{"_index":6529,"title":{},"name":{},"text":{"162":{}},"component":{}}],["the`@revis",{"_index":4742,"title":{},"name":{},"text":{"77":{}},"component":{}}],["the`message`seri",{"_index":1596,"title":{},"name":{},"text":{"31":{}},"component":{}}],["the`segment#mergeablesegmentid",{"_index":5320,"title":{},"name":{},"text":{"88":{}},"component":{}}],["theme",{"_index":6018,"title":{},"name":{},"text":{"140":{}},"component":{}}],["themselv",{"_index":4483,"title":{},"name":{},"text":{"69":{},"71":{},"77":{},"88":{},"156":{},"221":{}},"component":{}}],["thencompose(activetransform",{"_index":6306,"title":{},"name":{},"text":{"145":{}},"component":{}}],["thencompose(activetransformation::startappli",{"_index":6308,"title":{},"name":{},"text":{"145":{}},"component":{}}],["thenreturn(result.success",{"_index":6234,"title":{},"name":{},"text":{"144":{}},"component":{}}],["thenrun",{"_index":6213,"title":{},"name":{},"text":{"144":{}},"component":{}}],["thenrun(eventprocessor::resettoken",{"_index":6212,"title":{},"name":{},"text":{"144":{}},"component":{}}],["theoret",{"_index":2565,"title":{},"name":{},"text":{"46":{},"90":{}},"component":{}}],["therebi",{"_index":7538,"title":{},"name":{},"text":{"221":{}},"component":{}}],["therefor",{"_index":792,"title":{},"name":{},"text":{"5":{},"6":{},"20":{},"27":{},"31":{},"32":{},"35":{},"46":{},"51":{},"59":{},"74":{},"77":{},"88":{},"89":{},"150":{},"154":{},"177":{},"189":{},"199":{},"201":{},"202":{},"234":{},"235":{}},"component":{}}],["thereof",{"_index":7622,"title":{},"name":{},"text":{"260":{}},"component":{}}],["thereon",{"_index":6482,"title":{},"name":{},"text":{"154":{}},"component":{}}],["there’",{"_index":1129,"title":{},"name":{},"text":{"16":{},"59":{},"86":{},"140":{}},"component":{}}],["they’r",{"_index":1172,"title":{},"name":{},"text":{"17":{},"67":{},"176":{},"202":{}},"component":{}}],["they’v",{"_index":5161,"title":{},"name":{},"text":{"88":{}},"component":{}}],["thick",{"_index":788,"title":{},"name":{},"text":{"5":{}},"component":{}}],["thicker",{"_index":7736,"title":{},"name":{},"text":{"274":{}},"component":{}}],["thing",{"_index":540,"title":{},"name":{},"text":{"3":{},"18":{},"31":{},"32":{},"33":{},"40":{},"59":{},"72":{},"79":{},"88":{},"127":{},"176":{},"191":{},"246":{},"264":{},"269":{},"270":{},"273":{},"274":{},"275":{},"280":{},"281":{},"285":{}},"component":{}}],["think",{"_index":1359,"title":{},"name":{},"text":{"25":{},"29":{},"64":{}},"component":{}}],["thinner",{"_index":7737,"title":{},"name":{},"text":{"274":{}},"component":{}}],["third",{"_index":11,"title":{},"name":{},"text":{"1":{},"46":{},"62":{},"63":{},"72":{},"88":{},"121":{},"140":{},"200":{},"224":{},"260":{},"281":{}},"component":{}}],["thirdev",{"_index":4624,"title":{},"name":{},"text":{"72":{}},"component":{}}],["thirti",{"_index":2335,"title":{},"name":{},"text":{"40":{},"121":{},"250":{}},"component":{}}],["this.amount",{"_index":1953,"title":{},"name":{},"text":{"35":{}},"component":{}}],["this.bikeid",{"_index":7969,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.bikerentaldatagener",{"_index":7978,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.bikestatusrepositori",{"_index":7853,"title":{},"name":{},"text":{"280":{}},"component":{}}],["this.cardid",{"_index":1952,"title":{},"name":{},"text":{"35":{}},"component":{}}],["this.cardsummaryid",{"_index":3237,"title":{},"name":{},"text":{"64":{}},"component":{}}],["this.commandgateway",{"_index":7976,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.config",{"_index":1156,"title":{},"name":{},"text":{"17":{}},"component":{}}],["this.deadlinemanag",{"_index":5473,"title":{},"name":{},"text":{"97":{}},"component":{}}],["this.entitymanag",{"_index":2547,"title":{},"name":{},"text":{"46":{}},"component":{}}],["this.getclass",{"_index":2402,"title":{},"name":{},"text":{"43":{},"64":{}},"component":{}}],["this.isavail",{"_index":7971,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.multitenantdeadletterprocessor",{"_index":5738,"title":{},"name":{},"text":{"115":{}},"component":{}}],["this.otherst",{"_index":4776,"title":{},"name":{},"text":{"77":{}},"component":{}}],["this.querygateway",{"_index":7977,"title":{},"name":{},"text":{"281":{}},"component":{}}],["this.remainingvalu",{"_index":4979,"title":{},"name":{},"text":{"85":{}},"component":{}}],["this.somest",{"_index":4774,"title":{},"name":{},"text":{"77":{}},"component":{}}],["this.state.equals(command.getst",{"_index":2760,"title":{},"name":{},"text":{"51":{}},"component":{}}],["this.transactionid",{"_index":1957,"title":{},"name":{},"text":{"35":{},"84":{}},"component":{}}],["this.transactionvalu",{"_index":4937,"title":{},"name":{},"text":{"84":{}},"component":{}}],["this.usernameprovid",{"_index":2703,"title":{},"name":{},"text":{"50":{}},"component":{}}],["thorough",{"_index":1966,"title":{},"name":{},"text":{"35":{},"67":{}},"component":{}}],["thoroughli",{"_index":1479,"title":{},"name":{},"text":{"30":{},"82":{}},"component":{}}],["those",{"_index":712,"title":{},"name":{},"text":{"4":{},"6":{},"29":{},"31":{},"33":{},"35":{},"36":{},"38":{},"39":{},"44":{},"66":{},"67":{},"68":{},"69":{},"72":{},"74":{},"81":{},"87":{},"88":{},"100":{},"101":{},"121":{},"124":{},"145":{},"150":{},"153":{},"156":{},"157":{},"163":{},"208":{},"224":{},"238":{},"246":{},"264":{},"271":{},"274":{},"278":{},"280":{},"281":{}},"component":{}}],["though",{"_index":2671,"title":{},"name":{},"text":{"49":{},"67":{},"69":{},"88":{},"151":{},"163":{},"216":{},"219":{},"280":{},"284":{}},"component":{}}],["thousand",{"_index":1128,"title":{},"name":{},"text":{"16":{},"63":{}},"component":{}}],["thread",{"_index":1304,"title":{"88-17":{},"88-18":{},"88-19":{}},"name":{},"text":{"23":{},"34":{},"38":{},"40":{},"46":{},"49":{},"51":{},"53":{},"57":{},"58":{},"61":{},"66":{},"67":{},"76":{},"77":{},"87":{},"88":{},"89":{},"99":{},"102":{},"130":{},"140":{},"141":{},"143":{},"165":{},"179":{},"187":{},"260":{},"261":{},"262":{},"274":{},"280":{}},"component":{}}],["threadcountconfigurermodul",{"_index":5260,"title":{},"name":{},"text":{"88":{}},"component":{}}],["threadfactori",{"_index":5256,"title":{},"name":{},"text":{"88":{}},"component":{}}],["threadnumb",{"_index":5298,"title":{},"name":{},"text":{"88":{}},"component":{}}],["threadpoolexecutor",{"_index":4736,"title":{},"name":{},"text":{"77":{}},"component":{}}],["three",{"_index":810,"title":{},"name":{},"text":{"5":{},"6":{},"31":{},"33":{},"36":{},"38":{},"46":{},"57":{},"67":{},"69":{},"71":{},"72":{},"74":{},"79":{},"88":{},"121":{},"130":{},"138":{},"140":{},"142":{},"151":{},"156":{},"169":{},"179":{},"192":{},"199":{},"202":{},"204":{},"212":{},"213":{},"217":{},"218":{},"244":{},"245":{},"246":{},"247":{},"261":{},"262":{},"274":{},"277":{},"280":{},"283":{}},"component":{}}],["threshold",{"_index":4728,"title":{},"name":{},"text":{"77":{},"86":{},"88":{},"151":{},"163":{},"179":{},"185":{},"244":{},"262":{},"269":{},"273":{}},"component":{}}],["threw",{"_index":2109,"title":{},"name":{},"text":{"38":{},"63":{},"67":{}},"component":{}}],["through",{"_index":408,"title":{"76-2":{},"86-5":{},"165-2":{}},"name":{},"text":{"3":{},"6":{},"16":{},"21":{},"29":{},"30":{},"31":{},"34":{},"35":{},"38":{},"40":{},"42":{},"44":{},"46":{},"52":{},"53":{},"56":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"71":{},"72":{},"76":{},"77":{},"79":{},"84":{},"86":{},"87":{},"88":{},"94":{},"99":{},"100":{},"102":{},"115":{},"119":{},"121":{},"123":{},"127":{},"128":{},"133":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"148":{},"150":{},"151":{},"165":{},"169":{},"174":{},"178":{},"182":{},"191":{},"192":{},"198":{},"202":{},"204":{},"211":{},"212":{},"214":{},"215":{},"216":{},"217":{},"219":{},"227":{},"236":{},"237":{},"239":{},"241":{},"243":{},"247":{},"249":{},"250":{},"264":{},"265":{},"268":{},"271":{},"272":{},"273":{},"274":{},"277":{},"279":{},"280":{},"281":{},"282":{},"283":{}},"component":{}}],["throughout",{"_index":1611,"title":{},"name":{},"text":{"31":{},"55":{},"87":{},"88":{},"121":{},"269":{}},"component":{}}],["throughput",{"_index":113,"title":{},"name":{},"text":{"2":{},"5":{},"38":{},"88":{},"262":{},"274":{}},"component":{}}],["throw",{"_index":1135,"title":{},"name":{},"text":{"16":{},"34":{},"35":{},"38":{},"47":{},"48":{},"51":{},"53":{},"66":{},"67":{},"72":{},"75":{},"83":{},"84":{},"85":{},"86":{},"87":{},"92":{},"143":{},"281":{},"288":{},"289":{}},"component":{}}],["throwabl",{"_index":1034,"title":{},"name":{},"text":{"14":{},"34":{},"53":{},"58":{},"86":{},"87":{},"105":{}},"component":{}}],["thrown",{"_index":1852,"title":{},"name":{},"text":{"34":{},"35":{},"38":{},"46":{},"48":{},"51":{},"63":{},"66":{},"67":{},"80":{},"83":{},"84":{},"87":{},"257":{},"289":{}},"component":{}}],["thu",{"_index":1531,"title":{},"name":{},"text":{"30":{},"31":{},"34":{},"35":{},"38":{},"39":{},"44":{},"46":{},"48":{},"51":{},"57":{},"59":{},"67":{},"69":{},"76":{},"79":{},"80":{},"82":{},"84":{},"86":{},"87":{},"88":{},"89":{},"99":{},"101":{},"107":{},"120":{},"121":{},"127":{},"129":{},"130":{},"133":{},"154":{},"163":{},"192":{},"260":{},"278":{},"280":{},"281":{},"285":{},"288":{}},"component":{}}],["ti",{"_index":2375,"title":{},"name":{},"text":{"42":{},"67":{},"99":{}},"component":{}}],["tick",{"_index":6475,"title":{},"name":{},"text":{"153":{}},"component":{}}],["tie",{"_index":2742,"title":{},"name":{},"text":{"51":{},"77":{},"99":{}},"component":{}}],["tier",{"_index":6003,"title":{"151":{},"140-27":{},"151-2":{},"151-5":{},"151-17":{}},"name":{"151":{}},"text":{"140":{},"141":{},"146":{},"151":{},"156":{},"273":{},"274":{}},"component":{}}],["till",{"_index":4069,"title":{},"name":{},"text":{"67":{}},"component":{}}],["time",{"_index":87,"title":{"124":{},"198":{},"237":{},"5-6":{},"30-33":{},"39-3":{},"151-10":{},"274-12":{},"274-35":{},"274-36":{}},"name":{"198":{}},"text":{"2":{},"3":{},"5":{},"14":{},"17":{},"21":{},"22":{},"24":{},"30":{},"31":{},"34":{},"36":{},"38":{},"39":{},"40":{},"41":{},"44":{},"46":{},"47":{},"52":{},"53":{},"57":{},"58":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"84":{},"86":{},"88":{},"97":{},"101":{},"121":{},"123":{},"125":{},"138":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"151":{},"153":{},"154":{},"156":{},"161":{},"170":{},"179":{},"185":{},"189":{},"191":{},"194":{},"198":{},"199":{},"206":{},"215":{},"237":{},"239":{},"241":{},"242":{},"243":{},"244":{},"245":{},"247":{},"250":{},"257":{},"260":{},"261":{},"262":{},"263":{},"267":{},"270":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"283":{},"285":{}},"component":{}}],["time=10d",{"_index":6472,"title":{},"name":{},"text":{"151":{}},"component":{}}],["timeout",{"_index":1908,"title":{"206-14":{}},"name":{},"text":{"34":{},"38":{},"61":{},"63":{},"66":{},"67":{},"88":{},"104":{},"143":{},"179":{},"206":{},"215":{},"261":{}},"component":{}}],["timeout(valu",{"_index":2119,"title":{},"name":{},"text":{"38":{}},"component":{}}],["timeoutexcept",{"_index":2111,"title":{},"name":{},"text":{"38":{},"67":{}},"component":{}}],["timeoutmilli",{"_index":5489,"title":{},"name":{},"text":{"99":{}},"component":{}}],["timeoutsecond",{"_index":624,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["timepublishedevent(genericeventmessage.clock.inst",{"_index":2320,"title":{},"name":{},"text":{"39":{}},"component":{}}],["timer",{"_index":2909,"title":{"261-1":{}},"name":{},"text":{"57":{},"261":{}},"component":{}}],["timespan",{"_index":3232,"title":{},"name":{},"text":{"63":{}},"component":{}}],["timestamp",{"_index":927,"title":{},"name":{},"text":{"6":{},"39":{},"44":{},"47":{},"49":{},"52":{},"57":{},"67":{},"72":{},"74":{},"79":{},"88":{},"111":{},"176":{},"194":{},"195":{},"198":{}},"component":{}}],["timeunit",{"_index":2104,"title":{},"name":{},"text":{"38":{},"88":{}},"component":{}}],["timeunit.millisecond",{"_index":1906,"title":{},"name":{},"text":{"34":{},"88":{}},"component":{}}],["timeunit.second",{"_index":2120,"title":{},"name":{},"text":{"38":{},"63":{}},"component":{}}],["timezon",{"_index":4811,"title":{},"name":{},"text":{"79":{},"195":{}},"component":{}}],["timofry",{"_index":3944,"title":{},"name":{},"text":{"67":{}},"component":{}}],["timtebeek",{"_index":3302,"title":{},"name":{},"text":{"66":{},"67":{}},"component":{}}],["tip",{"_index":2781,"title":{"125":{}},"name":{},"text":{"51":{},"69":{},"74":{}},"component":{}}],["titl",{"_index":7201,"title":{},"name":{},"text":{"195":{},"232":{}},"component":{}}],["tl",{"_index":6000,"title":{"140-10":{},"206-4":{},"206-25":{},"206-30":{},"206-32":{}},"name":{},"text":{"140":{},"141":{},"168":{},"170":{},"174":{},"176":{},"206":{},"208":{},"215":{}},"component":{}}],["tl;dr",{"_index":867,"title":{"6-1":{}},"name":{},"text":{},"component":{}}],["tls/ssl",{"_index":6786,"title":{},"name":{},"text":{"176":{},"192":{},"199":{}},"component":{}}],["to/from",{"_index":3535,"title":{},"name":{},"text":{"66":{}},"component":{}}],["toast",{"_index":4825,"title":{},"name":{},"text":{"79":{}},"component":{}}],["togeth",{"_index":1784,"title":{},"name":{},"text":{"33":{},"44":{},"50":{},"59":{},"67":{},"78":{},"117":{},"121":{},"133":{},"196":{},"218":{},"278":{},"281":{}},"component":{}}],["toggl",{"_index":3794,"title":{},"name":{},"text":{"66":{},"99":{},"104":{}},"component":{}}],["token",{"_index":428,"title":{"228":{},"5-10":{},"88-5":{},"88-6":{},"88-8":{},"88-9":{},"88-10":{},"88-11":{},"88-12":{},"88-13":{},"88-14":{},"144-1":{},"166-2":{},"169-1":{},"173-1":{},"206-46":{}},"name":{"228":{}},"text":{"3":{},"5":{},"29":{},"31":{},"40":{},"50":{},"52":{},"58":{},"66":{},"67":{},"79":{},"87":{},"88":{},"89":{},"114":{},"115":{},"140":{},"141":{},"143":{},"144":{},"145":{},"147":{},"154":{},"156":{},"161":{},"162":{},"166":{},"167":{},"168":{},"169":{},"173":{},"174":{},"177":{},"178":{},"179":{},"180":{},"191":{},"193":{},"194":{},"204":{},"206":{},"208":{},"215":{},"226":{},"228":{},"230":{},"231":{},"260":{},"261":{},"274":{},"276":{}},"component":{}}],["token=${generated_token",{"_index":509,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["token_bytea",{"_index":4867,"title":{},"name":{},"text":{"79":{}},"component":{}}],["token_entri",{"_index":4836,"title":{},"name":{},"text":{"79":{},"88":{},"161":{}},"component":{}}],["tokenclaiminterv",{"_index":5192,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tokenclaimvaluesconfigurermodul",{"_index":5199,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tokenentri",{"_index":1822,"title":{},"name":{},"text":{"33":{},"79":{}},"component":{}}],["tokenstor",{"_index":1068,"title":{},"name":{},"text":{"15":{},"32":{},"66":{},"67":{},"88":{},"99":{}},"component":{}}],["tokenstore#retrievestorageidentifi",{"_index":3937,"title":{},"name":{},"text":{"67":{}},"component":{}}],["tokenstoreconfigurermodul",{"_index":5223,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tokenstoreid",{"_index":5227,"title":{},"name":{},"text":{"88":{},"144":{}},"component":{}}],["tokenstoreidentifi",{"_index":6208,"title":{},"name":{},"text":{"144":{}},"component":{}}],["tokentablefactori",{"_index":5211,"title":{},"name":{},"text":{"88":{}},"component":{}}],["token’",{"_index":2469,"title":{},"name":{},"text":{"44":{},"88":{}},"component":{}}],["told",{"_index":7685,"title":{},"name":{},"text":{"270":{}},"component":{}}],["toler",{"_index":7534,"title":{},"name":{},"text":{"221":{}},"component":{}}],["tomcat",{"_index":6801,"title":{},"name":{},"text":{"176":{},"280":{}},"component":{}}],["tomcat’",{"_index":7898,"title":{},"name":{},"text":{"280":{}},"component":{}}],["tomdeback",{"_index":3491,"title":{},"name":{},"text":{"66":{}},"component":{}}],["took",{"_index":2997,"title":{},"name":{},"text":{"59":{},"67":{},"77":{},"274":{}},"component":{}}],["tool",{"_index":731,"title":{"269":{},"5-7":{}},"name":{"269":{}},"text":{"5":{},"6":{},"29":{},"46":{},"58":{},"59":{},"66":{},"86":{},"140":{},"146":{},"161":{},"166":{},"169":{},"173":{},"201":{},"203":{},"230":{},"237":{},"240":{},"244":{},"250":{},"263":{},"264":{},"269":{},"273":{},"274":{},"277":{},"278":{},"279":{},"281":{},"284":{}},"component":{}}],["toolbelt",{"_index":7656,"title":{},"name":{},"text":{"265":{}},"component":{}}],["toolkit",{"_index":1529,"title":{"201-2":{}},"name":{},"text":{"30":{},"201":{}},"component":{}}],["tooltip",{"_index":7563,"title":{"235-1":{}},"name":{},"text":{},"component":{}}],["top",{"_index":566,"title":{},"name":{},"text":{"3":{},"30":{},"32":{},"43":{},"47":{},"64":{},"120":{},"141":{},"191":{},"235":{},"239":{},"245":{},"246":{},"262":{},"273":{},"274":{}},"component":{}}],["topic",{"_index":1643,"title":{"102-2":{}},"name":{},"text":{"31":{},"46":{},"52":{},"99":{},"101":{},"102":{},"104":{},"183":{},"280":{}},"component":{}}],["topicresolver(m",{"_index":5577,"title":{},"name":{},"text":{"102":{}},"component":{}}],["topics(top",{"_index":5510,"title":{},"name":{},"text":{"99":{}},"component":{}}],["toplisten",{"_index":2410,"title":{},"name":{},"text":{"43":{}},"component":{}}],["toplistener'",{"_index":2415,"title":{},"name":{},"text":{"43":{}},"component":{}}],["topolog",{"_index":2229,"title":{},"name":{},"text":{"38":{},"76":{},"154":{},"165":{},"206":{},"221":{}},"component":{}}],["tostr",{"_index":1872,"title":{},"name":{},"text":{"34":{},"35":{},"64":{}},"component":{}}],["total",{"_index":2903,"title":{"274-35":{}},"name":{},"text":{"57":{},"88":{},"151":{},"179":{},"186":{},"239":{},"261":{},"273":{},"274":{}},"component":{}}],["touch",{"_index":2496,"title":{},"name":{},"text":{"44":{},"86":{},"145":{},"281":{}},"component":{}}],["tougher",{"_index":5282,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tour",{"_index":7700,"title":{},"name":{},"text":{"274":{}},"component":{}}],["toward",{"_index":1512,"title":{},"name":{},"text":{"30":{},"34":{},"35":{},"38":{},"43":{},"61":{},"63":{},"66":{},"67":{},"72":{},"77":{},"87":{},"88":{},"261":{}},"component":{}}],["to’",{"_index":3283,"title":{},"name":{},"text":{"66":{}},"component":{}}],["trace",{"_index":31,"title":{"59":{},"133":{},"134":{},"30-14":{},"30-36":{},"30-37":{},"59-25":{}},"name":{"59":{}},"text":{"1":{},"30":{},"49":{},"55":{},"56":{},"59":{},"66":{},"67":{},"132":{},"133":{},"134":{}},"component":{"132":{},"133":{},"134":{}}}],["traceid",{"_index":2689,"title":{},"name":{},"text":{"50":{}},"component":{}}],["tracer",{"_index":5983,"title":{},"name":{},"text":{"133":{}},"component":{}}],["traces/stat",{"_index":7135,"title":{},"name":{},"text":{"188":{}},"component":{}}],["tracinghandlerenhancerdefinit",{"_index":3111,"title":{},"name":{},"text":{"59":{}},"component":{}}],["track",{"_index":931,"title":{"56":{},"88-2":{},"88-5":{},"88-6":{},"88-18":{},"88-20":{}},"name":{"56":{}},"text":{"6":{},"44":{},"46":{},"49":{},"51":{},"53":{},"55":{},"56":{},"57":{},"58":{},"59":{},"66":{},"67":{},"69":{},"76":{},"77":{},"79":{},"87":{},"88":{},"89":{},"92":{},"99":{},"102":{},"104":{},"111":{},"114":{},"140":{},"151":{},"161":{},"179":{},"211":{},"260":{},"274":{},"281":{}},"component":{}}],["trackedeventcomparator(prioritya",{"_index":5371,"title":{},"name":{},"text":{"88":{}},"component":{}}],["tracker",{"_index":2893,"title":{"58-1":{}},"name":{},"text":{"55":{},"58":{},"66":{},"67":{},"179":{}},"component":{}}],["trackingeventprocessor",{"_index":3549,"title":{},"name":{},"text":{"66":{},"67":{},"76":{},"88":{},"99":{},"104":{},"115":{}},"component":{}}],["trackingeventprocessor#mergesegment(int",{"_index":4373,"title":{},"name":{},"text":{"67":{}},"component":{}}],["trackingeventprocessor#processingstatu",{"_index":3796,"title":{},"name":{},"text":{"66":{}},"component":{}}],["trackingeventprocessor#resettoken",{"_index":5501,"title":{},"name":{},"text":{"99":{}},"component":{}}],["trackingeventprocessor.class",{"_index":5728,"title":{},"name":{},"text":{"115":{}},"component":{}}],["trackingeventprocessorconfigur",{"_index":3776,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["trackingeventprocessorconfiguration.forparallelprocessing(2",{"_index":5232,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingeventprocessorconfiguration.forparallelprocessing(4",{"_index":5258,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingeventprocessorconfiguration.forsinglethreadedprocess",{"_index":5129,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingprocessor",{"_index":4710,"title":{},"name":{},"text":{"76":{}},"component":{}}],["trackingprocessor.mergesegment(segmentid",{"_index":4713,"title":{},"name":{},"text":{"76":{}},"component":{}}],["trackingprocessor.splitsegment(segmentid",{"_index":4712,"title":{},"name":{},"text":{"76":{}},"component":{}}],["trackingprocessorconfigurermodul",{"_index":5131,"title":{},"name":{},"text":{"88":{}},"component":{}}],["trackingtoken",{"_index":2834,"title":{},"name":{},"text":{"52":{},"58":{},"66":{},"67":{},"88":{},"99":{}},"component":{}}],["tradit",{"_index":889,"title":{},"name":{},"text":{"6":{}},"component":{}}],["traffic",{"_index":660,"title":{},"name":{},"text":{"3":{},"175":{},"176":{},"191":{},"192":{}},"component":{}}],["transact",{"_index":929,"title":{"87-12":{}},"name":{},"text":{"6":{},"15":{},"28":{},"38":{},"40":{},"46":{},"51":{},"53":{},"63":{},"66":{},"67":{},"68":{},"69":{},"70":{},"77":{},"79":{},"84":{},"85":{},"87":{},"90":{},"102":{},"104":{},"114":{},"115":{},"143":{},"151":{},"154":{},"156":{},"157":{},"179":{},"186":{},"274":{}},"component":{}}],["transactionalidprefix(transactionidprefix",{"_index":5573,"title":{},"name":{},"text":{"102":{}},"component":{}}],["transactionid",{"_index":1955,"title":{},"name":{},"text":{"35":{},"72":{},"84":{}},"component":{}}],["transactionid.equals(event.gettransactionid",{"_index":4953,"title":{},"name":{},"text":{"84":{}},"component":{}}],["transactionidprefix",{"_index":5568,"title":{},"name":{},"text":{"102":{}},"component":{}}],["transactionmanag",{"_index":1092,"title":{},"name":{},"text":{"15":{},"38":{},"39":{},"40":{},"46":{},"51":{},"53":{},"61":{},"67":{},"87":{},"113":{}},"component":{}}],["transactionmanager#starttransact",{"_index":5108,"title":{},"name":{},"text":{"87":{}},"component":{}}],["transactionmanager(config.getcompon",{"_index":5001,"title":{},"name":{},"text":{"86":{}},"component":{}}],["transactionmanager(config.getcomponent(transactionmanager.class",{"_index":1123,"title":{},"name":{},"text":{"15":{},"38":{},"46":{},"61":{},"86":{},"110":{}},"component":{}}],["transactionmanager(transactionmanag",{"_index":1101,"title":{},"name":{},"text":{"15":{},"38":{},"39":{},"40":{},"46":{},"61":{},"97":{},"113":{}},"component":{}}],["transactionmanager.class",{"_index":5002,"title":{},"name":{},"text":{"86":{}},"component":{}}],["transactionmanaginginterceptor",{"_index":2743,"title":{},"name":{},"text":{"51":{}},"component":{}}],["transactions.add(new",{"_index":4949,"title":{},"name":{},"text":{"84":{},"85":{}},"component":{}}],["transactions.stream().map(giftcardtransaction::gettransactionid).anymatch(cmd.gettransactionid()::equ",{"_index":4975,"title":{},"name":{},"text":{"85":{}},"component":{}}],["transactionvalu",{"_index":4934,"title":{},"name":{},"text":{"84":{}},"component":{}}],["transfer",{"_index":372,"title":{},"name":{},"text":{"3":{},"46":{},"63":{},"91":{},"151":{},"191":{},"255":{}},"component":{}}],["transform",{"_index":2430,"title":{"145":{},"140-16":{},"145-2":{},"145-3":{},"145-4":{},"145-8":{},"145-11":{},"145-13":{},"145-14":{},"145-17":{},"145-20":{},"145-22":{},"145-25":{},"145-27":{}},"name":{"145":{}},"text":{"44":{},"140":{},"145":{},"146":{},"286":{}},"component":{}}],["transform(\"encrypt",{"_index":6280,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transform(\"transform",{"_index":6297,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transform_admin",{"_index":6310,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transformation.enabled=fals",{"_index":6319,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transformer#transform(append",{"_index":6292,"title":{},"name":{},"text":{"145":{}},"component":{}}],["transienc",{"_index":3646,"title":{},"name":{},"text":{"66":{}},"component":{}}],["transient",{"_index":2089,"title":{},"name":{},"text":{"38":{},"66":{},"67":{},"68":{},"69":{},"72":{},"290":{}},"component":{}}],["transit",{"_index":1487,"title":{"289":{},"289-5":{}},"name":{},"text":{"30":{},"81":{},"84":{},"88":{},"107":{},"140":{},"145":{},"151":{},"286":{},"289":{},"290":{}},"component":{}}],["translat",{"_index":2533,"title":{},"name":{},"text":{"46":{},"51":{},"88":{},"99":{},"170":{},"286":{}},"component":{}}],["transmiss",{"_index":6531,"title":{},"name":{},"text":{"163":{}},"component":{}}],["transpar",{"_index":2661,"title":{},"name":{},"text":{"49":{},"79":{},"87":{},"264":{},"281":{}},"component":{}}],["transport",{"_index":2220,"title":{},"name":{},"text":{"38":{},"50":{},"176":{},"192":{},"208":{}},"component":{}}],["travel",{"_index":7714,"title":{},"name":{},"text":{"274":{}},"component":{}}],["travers",{"_index":4833,"title":{},"name":{},"text":{"79":{},"88":{}},"component":{}}],["treat",{"_index":2662,"title":{},"name":{},"text":{"49":{},"77":{},"239":{}},"component":{}}],["trend",{"_index":7727,"title":{},"name":{},"text":{"274":{}},"component":{}}],["trhough",{"_index":7652,"title":{},"name":{},"text":{"265":{}},"component":{}}],["tri",{"_index":755,"title":{},"name":{},"text":{"5":{},"12":{},"14":{},"16":{},"17":{},"31":{},"32":{},"46":{},"49":{},"53":{},"67":{},"74":{},"86":{},"87":{},"88":{},"97":{},"141":{},"143":{},"145":{},"150":{},"192":{},"202":{},"206":{},"249":{},"261":{},"263":{},"265":{},"266":{},"267":{},"283":{}},"component":{}}],["trick",{"_index":4843,"title":{},"name":{},"text":{"79":{}},"component":{}}],["trigger",{"_index":1241,"title":{"88-27":{},"88-28":{},"260-4":{}},"name":{},"text":{"20":{},"21":{},"22":{},"36":{},"38":{},"39":{},"49":{},"56":{},"57":{},"59":{},"63":{},"66":{},"67":{},"69":{},"72":{},"77":{},"84":{},"87":{},"88":{},"99":{},"127":{},"165":{},"172":{},"239":{},"242":{},"244":{},"245":{},"246":{},"260":{},"262":{},"273":{},"274":{},"280":{},"281":{},"286":{}},"component":{}}],["troubl",{"_index":240,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["troubleshoot",{"_index":6238,"title":{"145-24":{}},"name":{},"text":{"243":{}},"component":{}}],["troublesom",{"_index":4275,"title":{},"name":{},"text":{"67":{}},"component":{}}],["troughput",{"_index":7578,"title":{},"name":{},"text":{"242":{}},"component":{}}],["true",{"_index":615,"title":{},"name":{},"text":{"3":{},"20":{},"31":{},"34":{},"38":{},"52":{},"53":{},"57":{},"59":{},"68":{},"69":{},"84":{},"86":{},"88":{},"96":{},"97":{},"104":{},"114":{},"115":{},"140":{},"141":{},"145":{},"156":{},"169":{},"170":{},"172":{},"173":{},"179":{},"184":{},"191":{},"192":{},"193":{},"208":{},"211":{},"212":{},"214":{},"281":{},"284":{}},"component":{}}],["truncat",{"_index":4010,"title":{},"name":{},"text":{"67":{}},"component":{}}],["trust",{"_index":6092,"title":{},"name":{},"text":{"141":{},"176":{},"179":{},"206":{}},"component":{}}],["truth",{"_index":7943,"title":{},"name":{},"text":{"280":{},"281":{},"290":{}},"component":{}}],["ttl",{"_index":6891,"title":{},"name":{},"text":{"179":{}},"component":{}}],["tune",{"_index":117,"title":{"78":{},"79":{},"31-6":{},"76-2":{},"165-2":{},"170-5":{}},"name":{"79":{},"165":{}},"text":{"2":{},"28":{},"29":{},"36":{},"51":{},"66":{},"75":{},"76":{},"78":{},"79":{},"88":{},"137":{},"164":{},"170":{},"273":{},"274":{}},"component":{}}],["tunnel",{"_index":7236,"title":{},"name":{},"text":{"199":{}},"component":{}}],["tupl",{"_index":6215,"title":{},"name":{},"text":{"144":{}},"component":{}}],["turn",{"_index":1615,"title":{},"name":{},"text":{"31":{},"38":{},"50":{},"51":{},"59":{},"63":{},"64":{},"66":{},"76":{},"86":{},"87":{},"88":{},"102":{},"114":{},"127":{},"132":{},"163":{},"203":{},"226":{},"265":{}},"component":{}}],["tutori",{"_index":983,"title":{"7-2":{}},"name":{},"text":{"16":{},"21":{},"34":{},"37":{},"62":{},"63":{},"249":{},"263":{},"264":{},"268":{},"270":{},"272":{},"273":{},"274":{},"276":{},"277":{},"279":{},"280":{},"281":{},"282":{},"285":{}},"component":{}}],["tweak",{"_index":1358,"title":{},"name":{},"text":{"25":{},"38":{},"46":{},"67":{},"77":{}},"component":{}}],["twice",{"_index":1641,"title":{},"name":{},"text":{"31":{},"67":{},"88":{},"145":{},"250":{}},"component":{}}],["two",{"_index":221,"title":{},"name":{},"text":{"3":{},"15":{},"30":{},"31":{},"33":{},"34":{},"35":{},"36":{},"38":{},"42":{},"46":{},"47":{},"49":{},"50":{},"51":{},"59":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"77":{},"79":{},"83":{},"84":{},"86":{},"87":{},"88":{},"99":{},"127":{},"137":{},"145":{},"148":{},"150":{},"151":{},"154":{},"156":{},"163":{},"170":{},"173":{},"176":{},"178":{},"180":{},"191":{},"201":{},"202":{},"204":{},"211":{},"212":{},"213":{},"214":{},"216":{},"218":{},"219":{},"224":{},"226":{},"239":{},"244":{},"245":{},"250":{},"261":{},"267":{},"273":{},"274":{},"275":{},"279":{},"280":{},"281":{},"286":{}},"component":{}}],["txt,json",{"_index":6572,"title":{},"name":{},"text":{"168":{},"174":{},"178":{}},"component":{}}],["tyour",{"_index":2670,"title":{},"name":{},"text":{"49":{}},"component":{}}],["type",{"_index":222,"title":{"5-13":{},"31-13":{},"59-9":{},"62-1":{},"206-36":{},"211-1":{},"212-1":{},"214-1":{},"226-1":{},"226-4":{}},"name":{},"text":{"3":{},"5":{},"6":{},"12":{},"24":{},"29":{},"31":{},"34":{},"35":{},"36":{},"37":{},"38":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"56":{},"57":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"77":{},"79":{},"80":{},"81":{},"83":{},"84":{},"86":{},"87":{},"88":{},"89":{},"94":{},"102":{},"107":{},"108":{},"111":{},"115":{},"120":{},"121":{},"127":{},"128":{},"130":{},"132":{},"138":{},"140":{},"142":{},"147":{},"148":{},"151":{},"156":{},"161":{},"169":{},"170":{},"172":{},"176":{},"179":{},"191":{},"194":{},"200":{},"202":{},"203":{},"204":{},"206":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"221":{},"224":{},"226":{},"239":{},"241":{},"243":{},"244":{},"261":{},"262":{},"264":{},"272":{},"274":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"289":{},"290":{}},"component":{}}],["type=appl",{"_index":7498,"title":{},"name":{},"text":{"215":{}},"component":{}}],["typecontribut",{"_index":4853,"title":{},"name":{},"text":{"79":{}},"component":{}}],["typecontributions.gettypeconfigur",{"_index":4857,"title":{},"name":{},"text":{"79":{}},"component":{}}],["typedqueri",{"_index":3156,"title":{},"name":{},"text":{"63":{}},"component":{}}],["typescript",{"_index":7247,"title":{},"name":{},"text":{"200":{}},"component":{}}],["typic",{"_index":915,"title":{},"name":{},"text":{"6":{},"29":{},"30":{},"31":{},"40":{},"42":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"51":{},"53":{},"60":{},"66":{},"69":{},"72":{},"76":{},"77":{},"82":{},"83":{},"88":{},"99":{},"145":{},"150":{},"151":{},"165":{},"170":{},"172":{},"289":{},"290":{}},"component":{}}],["typo",{"_index":3353,"title":{},"name":{},"text":{"66":{}},"component":{}}],["u",{"_index":360,"title":{},"name":{},"text":{"3":{},"33":{},"166":{},"169":{},"174":{},"178":{},"191":{}},"component":{}}],["ui",{"_index":1926,"title":{"211-5":{},"212-6":{},"214-5":{}},"name":{},"text":{"34":{},"63":{},"66":{},"140":{},"141":{},"145":{},"147":{},"148":{},"151":{},"154":{},"156":{},"165":{},"166":{},"167":{},"168":{},"169":{},"172":{},"173":{},"174":{},"177":{},"192":{},"199":{},"202":{},"203":{},"211":{},"212":{},"214":{},"250":{},"263":{},"267":{},"270":{},"277":{},"281":{}},"component":{}}],["ui.html",{"_index":6106,"title":{},"name":{},"text":{"142":{},"147":{},"156":{}},"component":{}}],["ui/api",{"_index":7948,"title":{},"name":{},"text":{"281":{}},"component":{}}],["ui/index.html",{"_index":7013,"title":{},"name":{},"text":{"182":{}},"component":{}}],["uid",{"_index":2750,"title":{},"name":{},"text":{"51":{}},"component":{}}],["ultim",{"_index":1656,"title":{},"name":{},"text":{"31":{},"94":{},"111":{}},"component":{}}],["un",{"_index":3927,"title":{},"name":{},"text":{"67":{},"255":{}},"component":{}}],["unabl",{"_index":4983,"title":{},"name":{},"text":{"86":{},"143":{},"219":{}},"component":{}}],["unabletoclaimtokenexcept",{"_index":5202,"title":{},"name":{},"text":{"88":{}},"component":{}}],["unaffect",{"_index":1832,"title":{},"name":{},"text":{"33":{}},"component":{}}],["unassign",{"_index":7537,"title":{},"name":{},"text":{"221":{}},"component":{}}],["unauthent",{"_index":6618,"title":{},"name":{},"text":{"170":{}},"component":{}}],["unavail",{"_index":1132,"title":{},"name":{},"text":{"16":{},"30":{},"151":{},"288":{}},"component":{}}],["unavoid",{"_index":6027,"title":{},"name":{},"text":{"140":{},"145":{},"221":{}},"component":{}}],["unblock",{"_index":1899,"title":{},"name":{},"text":{"34":{},"87":{},"88":{}},"component":{}}],["unbound",{"_index":2157,"title":{},"name":{},"text":{"38":{}},"component":{}}],["unchang",{"_index":6257,"title":{},"name":{},"text":{"145":{}},"component":{}}],["uncheck",{"_index":2198,"title":{},"name":{},"text":{"38":{},"53":{},"77":{}},"component":{}}],["unclean",{"_index":6858,"title":{},"name":{},"text":{"179":{}},"component":{}}],["uncommit",{"_index":6184,"title":{},"name":{},"text":{"143":{}},"component":{}}],["uncommon",{"_index":3121,"title":{},"name":{},"text":{"60":{},"102":{}},"component":{}}],["uncondition",{"_index":2691,"title":{},"name":{},"text":{"50":{}},"component":{}}],["unconfirm",{"_index":6901,"title":{},"name":{},"text":{"179":{}},"component":{}}],["uncov",{"_index":4362,"title":{},"name":{},"text":{"67":{}},"component":{}}],["undefin",{"_index":5065,"title":{},"name":{},"text":{"87":{}},"component":{}}],["under",{"_index":548,"title":{},"name":{},"text":{"3":{},"6":{},"34":{},"49":{},"54":{},"66":{},"67":{},"72":{},"79":{},"87":{},"88":{},"104":{},"130":{},"137":{},"161":{},"162":{},"163":{},"185":{},"186":{},"191":{},"192":{},"239":{},"242":{},"244":{},"245":{},"246":{},"257":{},"261":{},"270":{},"273":{},"274":{},"276":{},"279":{},"285":{}},"component":{}}],["underestim",{"_index":6244,"title":{},"name":{},"text":{"145":{}},"component":{}}],["undergo",{"_index":6137,"title":{},"name":{},"text":{"143":{}},"component":{}}],["undergon",{"_index":3493,"title":{},"name":{},"text":{"66":{}},"component":{}}],["underli",{"_index":2023,"title":{},"name":{},"text":{"36":{},"40":{},"69":{},"71":{},"77":{},"84":{},"88":{},"94":{}},"component":{}}],["underneath",{"_index":1889,"title":{},"name":{},"text":{"34":{}},"component":{}}],["underperform",{"_index":7587,"title":{},"name":{},"text":{"244":{}},"component":{}}],["underscor",{"_index":6363,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["understand",{"_index":995,"title":{},"name":{},"text":{"8":{},"12":{},"13":{},"32":{},"40":{},"44":{},"88":{},"145":{},"189":{},"242":{},"243":{},"246":{},"264":{},"274":{},"287":{}},"component":{}}],["undertak",{"_index":2717,"title":{},"name":{},"text":{"51":{}},"component":{}}],["undertaken",{"_index":6033,"title":{},"name":{},"text":{"140":{}},"component":{}}],["underway",{"_index":4375,"title":{},"name":{},"text":{"67":{}},"component":{}}],["undesir",{"_index":4325,"title":{},"name":{},"text":{"67":{},"80":{},"86":{}},"component":{}}],["undon",{"_index":7624,"title":{},"name":{},"text":{"260":{}},"component":{}}],["unequ",{"_index":5289,"title":{},"name":{},"text":{"88":{}},"component":{}}],["unexpect",{"_index":1421,"title":{},"name":{},"text":{"29":{},"66":{},"67":{},"88":{},"140":{},"141":{},"266":{}},"component":{}}],["unfortun",{"_index":1777,"title":{},"name":{},"text":{"33":{}},"component":{}}],["unidirect",{"_index":2652,"title":{},"name":{},"text":{"48":{}},"component":{}}],["unifi",{"_index":208,"title":{"140-23":{}},"name":{},"text":{"3":{},"138":{},"191":{},"192":{}},"component":{}}],["uniformli",{"_index":7489,"title":{},"name":{},"text":{"215":{}},"component":{}}],["uniniti",{"_index":2061,"title":{},"name":{},"text":{"36":{},"192":{}},"component":{}}],["unintend",{"_index":1460,"title":{},"name":{},"text":{"29":{},"88":{}},"component":{}}],["unintent",{"_index":1964,"title":{},"name":{},"text":{"35":{},"88":{}},"component":{}}],["unintention",{"_index":3802,"title":{},"name":{},"text":{"66":{},"67":{},"88":{}},"component":{}}],["uniqu",{"_index":1462,"title":{},"name":{},"text":{"29":{},"34":{},"36":{},"46":{},"49":{},"67":{},"69":{},"71":{},"79":{},"85":{},"86":{},"88":{},"102":{},"111":{},"151":{},"179":{},"194":{},"202":{},"211":{},"212":{},"214":{},"226":{},"281":{}},"component":{}}],["unit",{"_index":1910,"title":{"53":{}},"name":{"53":{},"285":{}},"text":{"34":{},"38":{},"40":{},"46":{},"50":{},"51":{},"52":{},"53":{},"63":{},"66":{},"69":{},"71":{},"72":{},"73":{},"77":{},"82":{},"87":{},"88":{},"102":{},"151":{},"283":{},"285":{}},"component":{}}],["unitin",{"_index":7573,"title":{},"name":{},"text":{"239":{}},"component":{}}],["unitofwork",{"_index":2568,"title":{},"name":{},"text":{"46":{},"51":{},"52":{},"53":{},"66":{},"67":{}},"component":{}}],["unitofwork.execute(runn",{"_index":2860,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.executewithresult(cal",{"_index":2861,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.getmessag",{"_index":2747,"title":{},"name":{},"text":{"51":{}},"component":{}}],["unitofwork.getorcomputeresourc",{"_index":2849,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.getresourc",{"_index":2885,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.oncommit",{"_index":2854,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofwork.root",{"_index":2886,"title":{},"name":{},"text":{"53":{}},"component":{}}],["unitofworkawareconnectionproviderwrapp",{"_index":4485,"title":{},"name":{},"text":{"69":{},"71":{}},"component":{}}],["unitofworkfactori",{"_index":2349,"title":{},"name":{},"text":{"40":{}},"component":{}}],["unix",{"_index":7177,"title":{},"name":{},"text":{"194":{}},"component":{}}],["unknown",{"_index":1671,"title":{},"name":{},"text":{"31":{},"44":{},"143":{},"172":{},"280":{}},"component":{}}],["unless",{"_index":1174,"title":{},"name":{},"text":{"17":{},"31":{},"38":{},"74":{},"145":{},"147":{},"174":{},"179":{},"192":{}},"component":{}}],["unlik",{"_index":101,"title":{},"name":{},"text":{"2":{},"3":{},"6":{},"35":{},"38":{},"39":{},"44":{},"47":{},"51":{},"53":{},"64":{},"69":{},"71":{},"79":{},"142":{},"191":{}},"component":{}}],["unlimit",{"_index":7598,"title":{},"name":{},"text":{"250":{}},"component":{}}],["unlock",{"_index":7597,"title":{},"name":{},"text":{"250":{},"254":{}},"component":{}}],["unmatch",{"_index":4611,"title":{},"name":{},"text":{"72":{}},"component":{}}],["unnam",{"_index":5614,"title":{},"name":{},"text":{"104":{}},"component":{}}],["unnecessari",{"_index":1112,"title":{},"name":{},"text":{"15":{},"38":{},"67":{},"279":{}},"component":{}}],["unpack",{"_index":6599,"title":{},"name":{},"text":{"170":{},"172":{}},"component":{}}],["unprocess",{"_index":1140,"title":{},"name":{},"text":{"16":{},"88":{}},"component":{}}],["unreach",{"_index":6478,"title":{},"name":{},"text":{"154":{},"192":{}},"component":{}}],["unread",{"_index":3018,"title":{},"name":{},"text":{"59":{}},"component":{}}],["unreason",{"_index":6806,"title":{},"name":{},"text":{"176":{}},"component":{}}],["unregist",{"_index":4102,"title":{"148-7":{}},"name":{},"text":{"67":{},"140":{},"148":{},"178":{}},"component":{}}],["unregister_plugin",{"_index":6675,"title":{},"name":{},"text":{"171":{}},"component":{}}],["unresolv",{"_index":2239,"title":{},"name":{},"text":{"38":{}},"component":{}}],["unresolvedroutingkeypolici",{"_index":2236,"title":{},"name":{},"text":{"38":{}},"component":{}}],["unrespons",{"_index":6236,"title":{},"name":{},"text":{"144":{}},"component":{}}],["unseen",{"_index":4926,"title":{},"name":{},"text":{"83":{}},"component":{}}],["unspecifi",{"_index":3120,"title":{},"name":{},"text":{"60":{},"63":{}},"component":{}}],["unspecifiedsynapseinst",{"_index":7400,"title":{},"name":{},"text":{"206":{}},"component":{}}],["unsubscrib",{"_index":5827,"title":{},"name":{},"text":{"121":{}},"component":{}}],["unsuccessfulli",{"_index":1138,"title":{},"name":{},"text":{"16":{}},"component":{}}],["unsuit",{"_index":2351,"title":{},"name":{},"text":{"40":{},"86":{}},"component":{}}],["unsupport",{"_index":3233,"title":{"64-6":{}},"name":{},"text":{"143":{}},"component":{}}],["unsupportedoperationexcept",{"_index":2648,"title":{},"name":{},"text":{"47":{},"80":{}},"component":{}}],["until",{"_index":793,"title":{},"name":{},"text":{"5":{},"16":{},"34":{},"35":{},"38":{},"53":{},"67":{},"86":{},"87":{},"88":{},"102":{},"107":{},"121":{},"138":{},"140":{},"144":{},"145":{},"156":{},"163":{},"179":{},"186":{},"192":{},"260":{},"278":{},"280":{},"288":{}},"component":{}}],["unus",{"_index":4914,"title":{},"name":{},"text":{"82":{},"179":{},"274":{}},"component":{}}],["unwant",{"_index":5167,"title":{},"name":{},"text":{"88":{},"257":{}},"component":{}}],["unwieldi",{"_index":4429,"title":{},"name":{},"text":{"68":{}},"component":{}}],["unzip",{"_index":6600,"title":{},"name":{},"text":{"170":{},"172":{},"201":{}},"component":{}}],["uow",{"_index":2862,"title":{},"name":{},"text":{"53":{}},"component":{}}],["uow.commit",{"_index":2866,"title":{},"name":{},"text":{"53":{}},"component":{}}],["uow.executewithresult",{"_index":2865,"title":{},"name":{},"text":{"53":{}},"component":{}}],["uow.rollback(",{"_index":2867,"title":{},"name":{},"text":{"53":{}},"component":{}}],["up",{"_index":281,"title":{"5-4":{},"192-2":{},"232-1":{},"237-1":{},"237-2":{},"263-1":{}},"name":{"237":{}},"text":{"3":{},"8":{},"13":{},"19":{},"28":{},"31":{},"32":{},"34":{},"35":{},"36":{},"38":{},"49":{},"51":{},"53":{},"54":{},"55":{},"56":{},"58":{},"59":{},"61":{},"63":{},"66":{},"67":{},"72":{},"76":{},"77":{},"79":{},"81":{},"82":{},"86":{},"87":{},"88":{},"89":{},"99":{},"100":{},"102":{},"104":{},"115":{},"123":{},"127":{},"140":{},"141":{},"142":{},"145":{},"147":{},"151":{},"154":{},"156":{},"157":{},"162":{},"163":{},"170":{},"177":{},"179":{},"185":{},"191":{},"192":{},"199":{},"201":{},"203":{},"215":{},"221":{},"226":{},"232":{},"237":{},"245":{},"247":{},"249":{},"250":{},"255":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"267":{},"272":{},"274":{},"276":{},"277":{},"280":{},"281":{},"283":{},"284":{},"290":{}},"component":{}}],["upcast",{"_index":1647,"title":{"44-1":{},"44-2":{},"44-3":{},"44-4":{},"106-1":{}},"name":{},"text":{"31":{},"44":{},"46":{},"67":{},"101":{},"106":{}},"component":{}}],["upcastedrevis",{"_index":2468,"title":{},"name":{},"text":{"44":{}},"component":{}}],["upcasterchain",{"_index":5548,"title":{},"name":{},"text":{"101":{}},"component":{}}],["upcasterchain(upcasterchain",{"_index":5551,"title":{},"name":{},"text":{"101":{}},"component":{}}],["upcom",{"_index":6476,"title":{},"name":{},"text":{"153":{},"280":{}},"component":{}}],["updat",{"_index":183,"title":{"115-6":{},"140-5":{},"140-7":{},"140-22":{},"199-7":{},"290-4":{}},"name":{},"text":{"2":{},"3":{},"4":{},"6":{},"8":{},"13":{},"35":{},"38":{},"42":{},"44":{},"49":{},"51":{},"59":{},"62":{},"63":{},"64":{},"66":{},"67":{},"79":{},"87":{},"88":{},"89":{},"93":{},"95":{},"98":{},"103":{},"108":{},"111":{},"112":{},"115":{},"121":{},"122":{},"126":{},"127":{},"131":{},"134":{},"138":{},"140":{},"141":{},"142":{},"143":{},"145":{},"148":{},"149":{},"156":{},"161":{},"176":{},"178":{},"179":{},"180":{},"182":{},"186":{},"191":{},"192":{},"199":{},"206":{},"246":{},"260":{},"270":{},"274":{},"276":{},"280":{},"289":{},"290":{}},"component":{}}],["update.initi",{"_index":6949,"title":{},"name":{},"text":{"179":{}},"component":{}}],["update.r",{"_index":6948,"title":{},"name":{},"text":{"179":{}},"component":{}}],["update_context_properti",{"_index":6676,"title":{},"name":{},"text":{"171":{}},"component":{}}],["updateavailabilitycommand",{"_index":8041,"title":{},"name":{},"text":{"286":{}},"component":{}}],["updateavailabilitycommand(event.bikeid",{"_index":8046,"title":{},"name":{},"text":{"286":{}},"component":{}}],["updatecontextproperties(updatecontextpropertiesrequest",{"_index":6981,"title":{},"name":{},"text":{"180":{}},"component":{}}],["updated(str",{"_index":6395,"title":{},"name":{},"text":{"148":{}},"component":{}}],["updateemitt",{"_index":3132,"title":{},"name":{},"text":{"61":{},"66":{}},"component":{}}],["updatehandlerregistration#complet",{"_index":4183,"title":{},"name":{},"text":{"67":{}},"component":{}}],["updatesonli",{"_index":5845,"title":{},"name":{},"text":{"121":{}},"component":{}}],["upgrad",{"_index":145,"title":{"4":{},"33":{},"4-4":{},"33-1":{},"33-5":{},"33-9":{},"67-26":{},"140-12":{},"161-1":{},"161-2":{},"162-1":{},"162-2":{},"215-2":{},"215-6":{},"215-10":{},"215-14":{},"215-18":{}},"name":{"33":{}},"text":{"2":{},"4":{},"11":{},"12":{},"28":{},"31":{},"33":{},"66":{},"67":{},"93":{},"95":{},"98":{},"103":{},"109":{},"112":{},"122":{},"126":{},"131":{},"134":{},"140":{},"141":{},"215":{},"250":{},"273":{}},"component":{"4":{}}}],["upgrade/upgrading_as_2024.html",{"_index":6012,"title":{},"name":{},"text":{"140":{}},"component":{}}],["upgrading_as_2024",{"_index":686,"title":{},"name":{"4":{}},"text":{},"component":{}}],["upload",{"_index":278,"title":{"148-3":{}},"name":{},"text":{"3":{},"148":{},"178":{},"179":{},"191":{}},"component":{}}],["upload_licens",{"_index":6677,"title":{},"name":{},"text":{"171":{}},"component":{}}],["upon",{"_index":840,"title":{},"name":{},"text":{"5":{},"35":{},"36":{},"38":{},"59":{},"60":{},"66":{},"67":{},"80":{},"82":{},"85":{},"99":{},"101":{},"102":{},"105":{},"147":{},"154":{},"161":{},"238":{},"260":{},"280":{},"281":{},"288":{}},"component":{}}],["upper",{"_index":6817,"title":{},"name":{},"text":{"179":{},"195":{},"274":{}},"component":{}}],["uppercas",{"_index":6360,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["upsert",{"_index":1992,"title":{},"name":{},"text":{"35":{}},"component":{}}],["upstream",{"_index":3226,"title":{},"name":{},"text":{"63":{},"221":{}},"component":{}}],["uri",{"_index":5689,"title":{},"name":{},"text":{"114":{},"127":{},"172":{}},"component":{}}],["url",{"_index":6093,"title":{},"name":{},"text":{"141":{},"144":{},"161":{},"168":{},"170":{},"172":{},"174":{},"178":{},"182":{},"185":{},"187":{},"209":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"233":{},"270":{},"273":{},"280":{},"281":{},"283":{}},"component":{}}],["url=\"/mi",{"_index":5953,"title":{},"name":{},"text":{"128":{}},"component":{}}],["us",{"_index":71,"title":{"14":{},"18":{},"231":{},"269":{},"277":{},"5-7":{},"39-3":{},"111-1":{},"144-3":{},"144-4":{},"144-5":{},"145-26":{},"151-7":{},"151-20":{},"168-1":{},"174-1":{},"199-1":{},"226-1":{},"247-1":{},"247-3":{},"280-6":{},"280-15":{},"283-3":{}},"name":{},"text":{"2":{},"3":{},"4":{},"5":{},"8":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"94":{},"96":{},"97":{},"99":{},"100":{},"101":{},"102":{},"104":{},"105":{},"106":{},"107":{},"108":{},"111":{},"114":{},"115":{},"116":{},"117":{},"120":{},"121":{},"124":{},"126":{},"127":{},"128":{},"129":{},"130":{},"132":{},"133":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"154":{},"156":{},"157":{},"161":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"177":{},"178":{},"179":{},"180":{},"184":{},"185":{},"187":{},"189":{},"191":{},"192":{},"194":{},"195":{},"197":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"206":{},"208":{},"209":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"224":{},"226":{},"228":{},"230":{},"232":{},"233":{},"234":{},"235":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"249":{},"250":{},"254":{},"255":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"282":{},"283":{},"284":{},"285":{},"286":{},"287":{},"289":{},"290":{}},"component":{}}],["usabl",{"_index":4781,"title":{},"name":{},"text":{"77":{},"140":{}},"component":{}}],["usag",{"_index":681,"title":{"5-8":{},"5-9":{},"97-1":{},"97-2":{},"147-2":{},"154-5":{},"177-1":{}},"name":{},"text":{"3":{},"5":{},"8":{},"13":{},"30":{},"34":{},"53":{},"59":{},"63":{},"66":{},"67":{},"72":{},"79":{},"97":{},"99":{},"105":{},"121":{},"128":{},"133":{},"140":{},"141":{},"144":{},"145":{},"151":{},"168":{},"174":{},"191":{},"261":{},"262":{},"273":{},"274":{}},"component":{}}],["use_context",{"_index":6596,"title":{},"name":{},"text":{"169":{},"171":{},"178":{},"204":{}},"component":{}}],["use_context@context",{"_index":7328,"title":{},"name":{},"text":{"204":{}},"component":{}}],["usebinarypojo",{"_index":2365,"title":{},"name":{},"text":{"40":{}},"component":{}}],["useless",{"_index":3799,"title":{},"name":{},"text":{"66":{},"145":{}},"component":{}}],["user",{"_index":96,"title":{"5-12":{},"147-9":{},"166-1":{},"169-2":{},"173-2":{},"174-1":{},"178-5":{},"180-5":{}},"name":{},"text":{"2":{},"3":{},"5":{},"6":{},"38":{},"39":{},"40":{},"44":{},"46":{},"49":{},"59":{},"64":{},"66":{},"67":{},"72":{},"77":{},"83":{},"88":{},"94":{},"99":{},"102":{},"120":{},"121":{},"140":{},"141":{},"143":{},"145":{},"151":{},"153":{},"154":{},"162":{},"166":{},"167":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"177":{},"178":{},"180":{},"181":{},"182":{},"185":{},"191":{},"199":{},"204":{},"227":{},"230":{},"231":{},"235":{},"236":{},"237":{},"238":{},"240":{},"246":{},"250":{},"255":{},"257":{},"280":{},"281":{}},"component":{}}],["user:password",{"_index":6557,"title":{},"name":{},"text":{"166":{}},"component":{}}],["useradminservic",{"_index":7003,"title":{},"name":{},"text":{"180":{}},"component":{}}],["userid",{"_index":2124,"title":{},"name":{},"text":{"38":{},"51":{}},"component":{}}],["usernam",{"_index":6075,"title":{},"name":{},"text":{"141":{},"161":{},"166":{},"169":{},"170":{},"172":{},"173":{},"174":{},"178":{},"204":{},"247":{}},"component":{}}],["username/password",{"_index":7324,"title":{},"name":{},"text":{"204":{},"206":{}},"component":{}}],["usernameprovid",{"_index":2700,"title":{},"name":{},"text":{"50":{}},"component":{}}],["usernameprovider.apply(token",{"_index":2710,"title":{},"name":{},"text":{"50":{}},"component":{}}],["useroverview",{"_index":7005,"title":{},"name":{},"text":{"180":{}},"component":{}}],["userprovid",{"_index":2702,"title":{},"name":{},"text":{"50":{}},"component":{}}],["users/dgomezg/projects/axon/cod",{"_index":8015,"title":{},"name":{},"text":{"284":{}},"component":{}}],["userservic",{"_index":894,"title":{},"name":{},"text":{"6":{}},"component":{}}],["userupd",{"_index":895,"title":{},"name":{},"text":{"6":{}},"component":{}}],["user’",{"_index":4925,"title":{"172-5":{}},"name":{},"text":{"83":{},"99":{},"141":{},"169":{}},"component":{}}],["usingpooledstreamingeventprocessor",{"_index":5141,"title":{},"name":{},"text":{"88":{}},"component":{}}],["usingsubscribingeventprocessor",{"_index":5382,"title":{},"name":{},"text":{"89":{}},"component":{}}],["usingtrackingeventprocessor",{"_index":5121,"title":{},"name":{},"text":{"88":{}},"component":{}}],["usual",{"_index":695,"title":{},"name":{},"text":{"4":{},"36":{},"44":{},"50":{},"64":{},"69":{},"77":{},"82":{},"88":{},"151":{},"198":{},"264":{},"281":{},"283":{}},"component":{}}],["utc",{"_index":4810,"title":{},"name":{},"text":{"79":{}},"component":{}}],["util",{"_index":2332,"title":{"46-8":{}},"name":{},"text":{"40":{},"46":{},"63":{},"66":{},"67":{},"72":{},"76":{},"86":{},"99":{},"102":{},"105":{},"120":{},"121":{},"140":{},"145":{},"147":{},"165":{},"178":{},"192":{},"199":{},"226":{},"234":{},"246":{}},"component":{}}],["utrecht",{"_index":7913,"title":{},"name":{},"text":{"280":{}},"component":{}}],["uuid",{"_index":4805,"title":{},"name":{},"text":{"79":{},"283":{}},"component":{}}],["uuid.randomuuid().tostr",{"_index":1271,"title":{},"name":{},"text":{"22":{},"34":{},"281":{}},"component":{}}],["v",{"_index":5540,"title":{},"name":{},"text":{"101":{},"148":{},"178":{},"192":{}},"component":{}}],["v1",{"_index":643,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["v1/applic",{"_index":7008,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v1/backup/eventstor",{"_index":6115,"title":{},"name":{},"text":{"142":{}},"component":{}}],["v1/cluster",{"_index":7011,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v1/components/cli",{"_index":7391,"title":{},"name":{},"text":{"206":{}},"component":{}}],["v1/components/{component}/processors/{processor}/pause?context={context}&tokenstoreidentifier={tokenstoreid",{"_index":6199,"title":{},"name":{},"text":{"144":{}},"component":{}}],["v1/components/{component}/processors/{processor}/start?context={context}&tokenstoreidentifier={tokenstoreid",{"_index":6200,"title":{},"name":{},"text":{"144":{}},"component":{}}],["v1/context",{"_index":7010,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v1/context/[contextname]/command",{"_index":7509,"title":{},"name":{},"text":{"216":{}},"component":{}}],["v1/context/[contextname]/commands/[commandnam",{"_index":7505,"title":{},"name":{},"text":{"216":{}},"component":{}}],["v1/context/[contextname]/ev",{"_index":7520,"title":{},"name":{},"text":{"217":{}},"component":{}}],["v1/context/[contextname]/events/[eventnam",{"_index":7512,"title":{},"name":{},"text":{"217":{}},"component":{}}],["v1/context/[contextname]/queri",{"_index":7526,"title":{},"name":{},"text":{"219":{}},"component":{}}],["v1/context/[contextname]/queries/[querynam",{"_index":7523,"title":{},"name":{},"text":{"219":{}},"component":{}}],["v1/contexts/default/command",{"_index":7311,"title":{},"name":{},"text":{"203":{}},"component":{}}],["v1/contexts/default/ev",{"_index":7320,"title":{},"name":{},"text":{"203":{}},"component":{}}],["v1/contexts/default/handlers/command",{"_index":7280,"title":{},"name":{},"text":{"202":{}},"component":{}}],["v1/contexts/default/handlers/ev",{"_index":7305,"title":{},"name":{},"text":{"202":{}},"component":{}}],["v1/contexts/default/handlers/queri",{"_index":7295,"title":{},"name":{},"text":{"202":{}},"component":{}}],["v1/contexts/default/queri",{"_index":7318,"title":{},"name":{},"text":{"203":{}},"component":{}}],["v1/contexts/{context}/ev",{"_index":7496,"title":{},"name":{},"text":{"215":{}},"component":{}}],["v1/diagnose/download",{"_index":7128,"title":{},"name":{},"text":{"187":{}},"component":{}}],["v1/public/context",{"_index":7165,"title":{},"name":{},"text":{"192":{}},"component":{}}],["v1/public/m",{"_index":7160,"title":{},"name":{},"text":{"192":{}},"component":{}}],["v1/user",{"_index":7009,"title":{},"name":{},"text":{"182":{}},"component":{}}],["v3.1",{"_index":8004,"title":{},"name":{},"text":{"284":{}},"component":{}}],["v3.2.1",{"_index":8011,"title":{},"name":{},"text":{"284":{}},"component":{}}],["v4.4",{"_index":6489,"title":{},"name":{},"text":{"154":{}},"component":{}}],["val",{"_index":5624,"title":{},"name":{},"text":{"105":{},"108":{}},"component":{}}],["valid",{"_index":538,"title":{"51-3":{},"51-11":{},"72-5":{},"72-6":{},"72-7":{},"72-8":{},"72-9":{}},"name":{},"text":{"3":{},"18":{},"20":{},"31":{},"35":{},"36":{},"38":{},"44":{},"51":{},"66":{},"67":{},"69":{},"72":{},"84":{},"85":{},"86":{},"88":{},"121":{},"127":{},"141":{},"143":{},"148":{},"151":{},"154":{},"157":{},"162":{},"168":{},"169":{},"172":{},"173":{},"177":{},"178":{},"179":{},"191":{},"193":{},"204":{},"206":{},"226":{},"233":{},"261":{},"281":{},"283":{},"285":{},"289":{}},"component":{}}],["validation.initi",{"_index":6924,"title":{},"name":{},"text":{"179":{}},"component":{}}],["validation.r",{"_index":6923,"title":{},"name":{},"text":{"179":{}},"component":{}}],["valu",{"_index":290,"title":{"235":{},"5-7":{},"64-3":{},"64-4":{},"64-5":{},"64-6":{}},"name":{},"text":{"3":{},"14":{},"18":{},"20":{},"24":{},"27":{},"29":{},"31":{},"34":{},"35":{},"36":{},"38":{},"43":{},"44":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"57":{},"58":{},"60":{},"63":{},"64":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"79":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"99":{},"101":{},"102":{},"104":{},"121":{},"132":{},"141":{},"143":{},"144":{},"147":{},"148":{},"150":{},"151":{},"156":{},"161":{},"166":{},"168":{},"169":{},"170":{},"172":{},"179":{},"185":{},"188":{},"191":{},"192":{},"193":{},"195":{},"197":{},"199":{},"202":{},"203":{},"206":{},"211":{},"212":{},"214":{},"216":{},"226":{},"244":{},"245":{},"261":{},"262":{},"273":{},"274":{},"280":{},"281":{},"285":{},"289":{}},"component":{}}],["valuabl",{"_index":7584,"title":{},"name":{},"text":{"243":{},"265":{},"281":{}},"component":{}}],["value1",{"_index":5873,"title":{},"name":{},"text":{"121":{}},"component":{}}],["var",{"_index":1224,"title":{},"name":{},"text":{"20":{},"280":{},"281":{}},"component":{}}],["var/log",{"_index":6884,"title":{},"name":{},"text":{"179":{}},"component":{}}],["vari",{"_index":1696,"title":{},"name":{},"text":{"31":{},"44":{},"86":{},"155":{},"161":{},"261":{},"280":{},"283":{},"285":{}},"component":{}}],["variabl",{"_index":425,"title":{"179-3":{}},"name":{},"text":{"3":{},"66":{},"79":{},"140":{},"143":{},"151":{},"179":{},"191":{},"208":{},"280":{}},"component":{}}],["variant",{"_index":3600,"title":{},"name":{},"text":{"66":{},"72":{},"86":{},"108":{}},"component":{}}],["variat",{"_index":4613,"title":{},"name":{},"text":{"72":{},"121":{},"273":{}},"component":{}}],["varieti",{"_index":4550,"title":{},"name":{},"text":{"72":{},"77":{},"192":{},"249":{},"259":{}},"component":{}}],["variou",{"_index":750,"title":{},"name":{},"text":{"5":{},"28":{},"31":{},"37":{},"41":{},"45":{},"55":{},"62":{},"66":{},"70":{},"73":{},"78":{},"93":{},"95":{},"98":{},"103":{},"112":{},"115":{},"122":{},"126":{},"131":{},"134":{},"137":{},"140":{},"142":{},"143":{},"146":{},"151":{},"154":{},"155":{},"157":{},"159":{},"169":{},"175":{},"178":{},"181":{},"185":{},"189":{},"192":{},"200":{},"232":{},"242":{},"244":{},"255":{},"262":{},"265":{},"266":{},"270":{},"273":{},"274":{},"277":{},"282":{},"283":{}},"component":{}}],["varying(255",{"_index":4014,"title":{},"name":{},"text":{"67":{}},"component":{}}],["vast",{"_index":2389,"title":{},"name":{},"text":{"42":{}},"component":{}}],["vendor",{"_index":1506,"title":{},"name":{},"text":{"30":{},"57":{},"69":{},"71":{}},"component":{}}],["verbos",{"_index":1598,"title":{},"name":{},"text":{"31":{}},"component":{}}],["verdockercomposeconnectiondetailsfactori",{"_index":8021,"title":{},"name":{},"text":{"284":{}},"component":{}}],["verif",{"_index":4644,"title":{"161-3":{},"162-3":{}},"name":{},"text":{"72":{},"247":{}},"component":{}}],["verifi",{"_index":1882,"title":{},"name":{},"text":{"34":{},"67":{},"72":{},"74":{},"79":{},"82":{},"148":{},"179":{},"204":{},"247":{}},"component":{}}],["vermorkentech",{"_index":3748,"title":{},"name":{},"text":{"66":{}},"component":{}}],["versa",{"_index":4455,"title":{},"name":{},"text":{"69":{},"156":{}},"component":{}}],["versatil",{"_index":7556,"title":{},"name":{},"text":{"234":{}},"component":{}}],["version",{"_index":58,"title":{"44":{},"2-7":{},"144-6":{},"274-9":{}},"name":{"44":{}},"text":{"2":{},"3":{},"4":{},"30":{},"31":{},"33":{},"35":{},"36":{},"39":{},"44":{},"45":{},"46":{},"51":{},"52":{},"59":{},"65":{},"66":{},"67":{},"71":{},"72":{},"77":{},"83":{},"89":{},"93":{},"95":{},"97":{},"98":{},"101":{},"103":{},"109":{},"112":{},"115":{},"119":{},"122":{},"126":{},"131":{},"134":{},"137":{},"138":{},"140":{},"141":{},"142":{},"144":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"156":{},"163":{},"170":{},"172":{},"173":{},"176":{},"178":{},"179":{},"185":{},"187":{},"189":{},"191":{},"192":{},"194":{},"215":{},"245":{},"257":{},"263":{},"267":{},"269":{},"270":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{}},"component":{}}],["version.axon",{"_index":1541,"title":{},"name":{},"text":{"30":{},"38":{}},"component":{}}],["version}.jar",{"_index":7256,"title":{},"name":{},"text":{"201":{}},"component":{}}],["versu",{"_index":2079,"title":{},"name":{},"text":{"38":{}},"component":{}}],["via",{"_index":560,"title":{"289":{},"290":{},"203-3":{},"203-4":{},"203-5":{},"211-5":{},"211-6":{},"212-6":{},"212-7":{},"214-5":{},"214-6":{}},"name":{},"text":{"3":{},"5":{},"38":{},"40":{},"59":{},"63":{},"76":{},"81":{},"86":{},"115":{},"117":{},"140":{},"147":{},"151":{},"154":{},"168":{},"177":{},"179":{},"191":{},"192":{},"202":{},"206":{},"211":{},"212":{},"213":{},"214":{},"218":{},"221":{},"224":{},"269":{},"281":{},"286":{},"289":{},"290":{}},"component":{}}],["viabl",{"_index":3972,"title":{},"name":{},"text":{"67":{},"89":{}},"component":{}}],["vice",{"_index":4454,"title":{},"name":{},"text":{"69":{},"156":{}},"component":{}}],["video",{"_index":2064,"title":{},"name":{},"text":{"37":{},"62":{}},"component":{}}],["view",{"_index":804,"title":{"290":{}},"name":{},"text":{"5":{},"58":{},"63":{},"69":{},"71":{},"88":{},"140":{},"169":{},"178":{},"185":{},"201":{},"202":{},"229":{},"234":{},"239":{},"242":{},"243":{},"244":{},"246":{},"255":{},"261":{},"264":{},"266":{},"269":{},"273":{},"274":{},"280":{},"287":{},"290":{}},"component":{}}],["view_configur",{"_index":6588,"title":{},"name":{},"text":{"169":{},"171":{},"178":{},"208":{}},"component":{}}],["view_configuration@_admin",{"_index":7326,"title":{},"name":{},"text":{"204":{}},"component":{}}],["viewer",{"_index":7607,"title":{},"name":{},"text":{"255":{}},"component":{}}],["violat",{"_index":2531,"title":{},"name":{},"text":{"46":{},"63":{}},"component":{}}],["virtual",{"_index":1599,"title":{},"name":{},"text":{"31":{},"46":{},"66":{}},"component":{}}],["visibl",{"_index":3009,"title":{},"name":{},"text":{"59":{},"79":{},"141":{},"230":{},"273":{}},"component":{}}],["visit",{"_index":1483,"title":{},"name":{},"text":{"30":{},"31":{},"38":{},"46":{},"201":{},"284":{}},"component":{}}],["visual",{"_index":5978,"title":{},"name":{},"text":{"133":{},"141":{},"151":{},"154":{},"157":{},"243":{},"249":{},"250":{},"259":{}},"component":{}}],["visualt",{"_index":3050,"title":{},"name":{},"text":{"59":{}},"component":{}}],["vital",{"_index":4987,"title":{},"name":{},"text":{"86":{},"88":{},"190":{}},"component":{}}],["vitko",{"_index":3959,"title":{},"name":{},"text":{"67":{}},"component":{}}],["vm",{"_index":7212,"title":{"199-6":{}},"name":{},"text":{"199":{}},"component":{}}],["vmware",{"_index":5989,"title":{},"name":{},"text":{"133":{}},"component":{}}],["vm’",{"_index":7224,"title":{},"name":{},"text":{"199":{}},"component":{}}],["void",{"_index":1058,"title":{},"name":{},"text":{"14":{},"15":{},"17":{},"18":{},"20":{},"22":{},"24":{},"31":{},"34":{},"35":{},"36":{},"38":{},"39":{},"42":{},"43":{},"44":{},"46":{},"50":{},"51":{},"57":{},"59":{},"61":{},"63":{},"68":{},"69":{},"72":{},"77":{},"79":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"92":{},"97":{},"99":{},"102":{},"115":{},"121":{},"128":{},"147":{},"148":{},"189":{},"280":{},"281":{},"285":{},"286":{},"288":{},"289":{},"290":{}},"component":{}}],["volatil",{"_index":2517,"title":{},"name":{},"text":{"46":{}},"component":{}}],["volum",{"_index":121,"title":{"3-2":{}},"name":{},"text":{"2":{},"3":{},"140":{},"191":{},"284":{}},"component":{}}],["volumeclaimtempl",{"_index":631,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["volumemount",{"_index":612,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["vote",{"_index":6509,"title":{},"name":{},"text":{"157":{}},"component":{}}],["vpc",{"_index":7215,"title":{},"name":{},"text":{"199":{}},"component":{}}],["vs",{"_index":2513,"title":{"46-13":{},"151-17":{}},"name":{},"text":{},"component":{}}],["w",{"_index":7688,"title":{},"name":{"272":{}},"text":{},"component":{}}],["wacki",{"_index":3726,"title":{},"name":{},"text":{"66":{}},"component":{}}],["wait",{"_index":949,"title":{},"name":{},"text":{"6":{},"16":{},"17":{},"34":{},"38":{},"61":{},"67":{},"88":{},"102":{},"120":{},"121":{},"143":{},"144":{},"145":{},"179":{},"185":{},"202":{},"206":{},"237":{},"261":{},"276":{},"277":{},"280":{},"281":{},"284":{}},"component":{}}],["wait_for_ack",{"_index":5559,"title":{},"name":{},"text":{"102":{}},"component":{}}],["waitstrategi",{"_index":2182,"title":{},"name":{},"text":{"38":{}},"component":{}}],["walk",{"_index":7651,"title":{},"name":{},"text":{"265":{},"268":{},"271":{}},"component":{}}],["walkthrough",{"_index":1439,"title":{},"name":{},"text":{"29":{}},"component":{}}],["want",{"_index":355,"title":{},"name":{},"text":{"3":{},"5":{},"14":{},"15":{},"17":{},"21":{},"24":{},"27":{},"31":{},"33":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"51":{},"52":{},"57":{},"58":{},"59":{},"63":{},"64":{},"66":{},"69":{},"72":{},"76":{},"77":{},"80":{},"86":{},"87":{},"88":{},"96":{},"97":{},"110":{},"115":{},"121":{},"127":{},"145":{},"148":{},"149":{},"150":{},"151":{},"153":{},"156":{},"157":{},"168":{},"170":{},"174":{},"178":{},"184":{},"189":{},"191":{},"192":{},"195":{},"199":{},"226":{},"228":{},"234":{},"239":{},"242":{},"245":{},"246":{},"249":{},"250":{},"257":{},"260":{},"262":{},"264":{},"267":{},"270":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"279":{},"280":{},"281":{},"283":{},"284":{},"285":{}},"component":{}}],["warn",{"_index":2015,"title":{},"name":{},"text":{"36":{},"54":{},"59":{},"66":{},"67":{},"75":{},"82":{},"88":{},"140":{},"141":{},"179":{},"185":{},"244":{},"273":{}},"component":{}}],["warrant",{"_index":2989,"title":{},"name":{},"text":{"58":{}},"component":{}}],["wasn’t",{"_index":4366,"title":{},"name":{},"text":{"67":{}},"component":{}}],["wast",{"_index":4456,"title":{},"name":{},"text":{"69":{},"88":{}},"component":{}}],["wavefront",{"_index":5988,"title":{},"name":{},"text":{"133":{}},"component":{}}],["way",{"_index":514,"title":{"145-20":{}},"name":{},"text":{"3":{},"5":{},"15":{},"17":{},"20":{},"29":{},"30":{},"31":{},"33":{},"37":{},"38":{},"39":{},"40":{},"43":{},"46":{},"53":{},"56":{},"58":{},"59":{},"61":{},"64":{},"66":{},"68":{},"69":{},"72":{},"74":{},"76":{},"77":{},"86":{},"88":{},"100":{},"108":{},"111":{},"114":{},"121":{},"127":{},"129":{},"144":{},"145":{},"151":{},"154":{},"156":{},"165":{},"179":{},"191":{},"192":{},"199":{},"200":{},"202":{},"204":{},"211":{},"212":{},"214":{},"216":{},"217":{},"219":{},"221":{},"226":{},"247":{},"261":{},"262":{},"264":{},"268":{},"269":{},"270":{},"274":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{},"283":{},"285":{}},"component":{}}],["we'd",{"_index":1621,"title":{},"name":{},"text":{"31":{}},"component":{}}],["weakreferencecach",{"_index":4778,"title":{},"name":{},"text":{"77":{}},"component":{}}],["web",{"_index":834,"title":{},"name":{},"text":{"5":{},"38":{},"133":{},"179":{},"203":{},"211":{},"212":{},"214":{}},"component":{}}],["webflux",{"_index":5803,"title":{},"name":{},"text":{"121":{}},"component":{}}],["webserv",{"_index":3280,"title":{},"name":{},"text":{"66":{}},"component":{}}],["websit",{"_index":887,"title":{},"name":{},"text":{"6":{},"30":{},"31":{},"46":{}},"component":{}}],["websocket",{"_index":6831,"title":{},"name":{},"text":{"179":{},"206":{}},"component":{}}],["week",{"_index":830,"title":{},"name":{},"text":{"5":{},"40":{},"69":{},"198":{}},"component":{}}],["week(timestamp",{"_index":7194,"title":{},"name":{},"text":{"195":{}},"component":{}}],["weight",{"_index":7452,"title":{},"name":{},"text":{"211":{}},"component":{}}],["weird",{"_index":3942,"title":{},"name":{},"text":{"67":{}},"component":{}}],["welcom",{"_index":7245,"title":{},"name":{},"text":{"200":{},"207":{},"287":{}},"component":{}}],["well",{"_index":68,"title":{},"name":{},"text":{"2":{},"3":{},"27":{},"29":{},"31":{},"32":{},"35":{},"38":{},"40":{},"41":{},"42":{},"44":{},"46":{},"48":{},"49":{},"51":{},"52":{},"57":{},"58":{},"59":{},"61":{},"64":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"81":{},"88":{},"89":{},"107":{},"140":{},"145":{},"147":{},"151":{},"155":{},"157":{},"172":{},"174":{},"176":{},"185":{},"191":{},"192":{},"229":{},"244":{},"245":{},"249":{},"259":{},"260":{},"261":{},"278":{},"286":{}},"component":{}}],["went",{"_index":2876,"title":{},"name":{},"text":{"53":{}},"component":{}}],["weren’t",{"_index":4283,"title":{},"name":{},"text":{"67":{}},"component":{}}],["we’d",{"_index":3298,"title":{},"name":{},"text":{"66":{},"67":{},"119":{},"126":{}},"component":{}}],["we’ll",{"_index":564,"title":{},"name":{},"text":{"3":{},"44":{},"63":{},"191":{}},"component":{}}],["we’r",{"_index":1639,"title":{},"name":{},"text":{"31":{}},"component":{}}],["we’v",{"_index":213,"title":{},"name":{},"text":{"3":{},"66":{},"86":{},"138":{},"140":{},"191":{},"192":{},"235":{}},"component":{}}],["whatev",{"_index":2845,"title":{},"name":{},"text":{"53":{},"67":{},"77":{}},"component":{}}],["what’",{"_index":719,"title":{"5-1":{}},"name":{},"text":{"6":{},"17":{},"44":{},"46":{},"88":{}},"component":{}}],["when(new",{"_index":4538,"title":{},"name":{},"text":{"72":{},"285":{}},"component":{}}],["when(object",{"_index":4579,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whenconstruct",{"_index":3431,"title":{},"name":{},"text":{"66":{},"72":{}},"component":{}}],["whenconstructing(cal",{"_index":4585,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whenev",{"_index":2621,"title":{},"name":{},"text":{"46":{},"59":{},"66":{},"67":{},"72":{},"79":{},"87":{},"88":{},"89":{},"145":{},"254":{},"280":{},"283":{}},"component":{}}],["wheninvok",{"_index":3432,"title":{},"name":{},"text":{"66":{}},"component":{}}],["wheninvoking(str",{"_index":4586,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeadvancesto",{"_index":4584,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeadvancesto(inst",{"_index":4583,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeadvanceto",{"_index":4691,"title":{},"name":{},"text":{"74":{}},"component":{}}],["whentimeelaps",{"_index":4582,"title":{},"name":{},"text":{"72":{},"74":{}},"component":{}}],["whentimeelapses(dur",{"_index":4581,"title":{},"name":{},"text":{"72":{}},"component":{}}],["whentimeelapses(duration.ofdays(31",{"_index":4676,"title":{},"name":{},"text":{"74":{}},"component":{}}],["whentimeelapses(duration.ofdays(31l",{"_index":1204,"title":{},"name":{},"text":{"18":{},"22":{}},"component":{}}],["wherea",{"_index":2334,"title":{},"name":{},"text":{"40":{},"46":{},"66":{},"67":{},"87":{},"88":{},"99":{},"127":{},"151":{}},"component":{}}],["wherebi",{"_index":8074,"title":{},"name":{},"text":{"290":{}},"component":{}}],["wherein",{"_index":5229,"title":{},"name":{},"text":{"88":{}},"component":{}}],["whether",{"_index":1285,"title":{},"name":{},"text":{"23":{},"32":{},"34":{},"35":{},"38":{},"44":{},"46":{},"49":{},"52":{},"54":{},"58":{},"59":{},"60":{},"61":{},"63":{},"67":{},"72":{},"77":{},"82":{},"83":{},"84":{},"85":{},"86":{},"88":{},"102":{},"127":{},"128":{},"145":{},"176":{},"179":{},"189":{},"206":{},"211":{},"212":{},"214":{},"237":{},"246":{},"249":{},"260":{},"267":{},"274":{},"276":{},"277":{},"280":{}},"component":{}}],["whilst",{"_index":1879,"title":{},"name":{},"text":{"34":{},"35":{},"51":{},"67":{},"82":{},"221":{},"226":{}},"component":{}}],["whole",{"_index":1173,"title":{},"name":{},"text":{"17":{},"151":{},"195":{},"260":{},"264":{}},"component":{}}],["whose",{"_index":1503,"title":{},"name":{},"text":{"30":{},"40":{},"57":{},"87":{},"99":{},"274":{},"280":{},"281":{},"285":{}},"component":{}}],["wide",{"_index":4549,"title":{"262-3":{}},"name":{},"text":{"72":{},"79":{},"86":{},"140":{},"239":{},"242":{},"262":{}},"component":{}}],["width",{"_index":4011,"title":{},"name":{},"text":{"67":{}},"component":{}}],["wildcard",{"_index":3254,"title":{},"name":{},"text":{"64":{},"67":{}},"component":{}}],["win",{"_index":1636,"title":{},"name":{},"text":{"31":{},"32":{},"157":{},"221":{}},"component":{}}],["window",{"_index":4328,"title":{"274-12":{}},"name":{},"text":{"67":{},"138":{},"143":{},"172":{},"179":{},"201":{},"202":{},"208":{},"274":{}},"component":{}}],["wipe",{"_index":7541,"title":{},"name":{},"text":{"226":{}},"component":{}}],["wire",{"_index":1770,"title":{},"name":{},"text":{"32":{},"38":{},"51":{},"52":{},"66":{},"69":{},"87":{},"88":{},"94":{},"97":{}},"component":{}}],["wise",{"_index":1433,"title":{},"name":{},"text":{"29":{},"87":{},"132":{}},"component":{}}],["wisest",{"_index":1658,"title":{},"name":{},"text":{"31":{}},"component":{}}],["wish",{"_index":1725,"title":{},"name":{},"text":{"32":{},"39":{},"46":{},"72":{},"90":{},"115":{},"116":{},"117":{},"140":{},"169":{},"173":{}},"component":{}}],["within",{"_index":98,"title":{"5-4":{},"5-5":{},"87-3":{}},"name":{},"text":{"2":{},"5":{},"6":{},"25":{},"28":{},"30":{},"31":{},"35":{},"36":{},"38":{},"39":{},"40":{},"42":{},"43":{},"44":{},"46":{},"49":{},"50":{},"51":{},"52":{},"53":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"71":{},"72":{},"74":{},"75":{},"77":{},"80":{},"82":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"102":{},"105":{},"115":{},"121":{},"127":{},"140":{},"142":{},"143":{},"146":{},"147":{},"151":{},"153":{},"154":{},"156":{},"157":{},"161":{},"162":{},"169":{},"172":{},"176":{},"178":{},"179":{},"185":{},"192":{},"200":{},"209":{},"230":{},"234":{},"239":{},"244":{},"250":{},"255":{},"270":{},"274":{},"277":{},"279":{},"281":{}},"component":{}}],["withmetadata",{"_index":2641,"title":{},"name":{},"text":{"47":{}},"component":{}}],["withmetadata(singletonmap(\"mykey",{"_index":2638,"title":{},"name":{},"text":{"47":{}},"component":{}}],["without",{"_index":114,"title":{"57-5":{},"57-7":{},"59-28":{},"59-39":{},"59-42":{},"59-45":{},"169-4":{}},"name":{},"text":{"2":{},"3":{},"6":{},"30":{},"31":{},"35":{},"38":{},"39":{},"59":{},"63":{},"66":{},"67":{},"68":{},"69":{},"72":{},"82":{},"87":{},"88":{},"104":{},"108":{},"116":{},"121":{},"140":{},"142":{},"144":{},"145":{},"147":{},"151":{},"154":{},"156":{},"167":{},"169":{},"172":{},"174":{},"176":{},"178":{},"191":{},"192":{},"199":{},"203":{},"206":{},"211":{},"215":{},"221":{},"239":{},"242":{},"249":{},"250":{},"259":{},"261":{},"270":{},"275":{},"278":{},"281":{},"283":{},"284":{}},"component":{}}],["withsubtypes(subtyp",{"_index":4901,"title":{},"name":{},"text":{"81":{}},"component":{}}],["won’t",{"_index":2529,"title":{},"name":{},"text":{"46":{},"79":{},"83":{},"88":{},"101":{},"170":{},"215":{},"285":{}},"component":{}}],["word",{"_index":1681,"title":{},"name":{},"text":{"31":{},"43":{},"44":{},"46":{},"67":{},"85":{},"145":{}},"component":{}}],["work",{"_index":37,"title":{"53":{},"2-3":{},"202-6":{},"202-10":{},"202-14":{},"262-1":{}},"name":{"53":{}},"text":{"2":{},"3":{},"4":{},"5":{},"12":{},"21":{},"26":{},"31":{},"35":{},"36":{},"38":{},"40":{},"44":{},"46":{},"47":{},"50":{},"51":{},"52":{},"53":{},"57":{},"59":{},"63":{},"66":{},"67":{},"69":{},"71":{},"72":{},"77":{},"79":{},"87":{},"88":{},"94":{},"99":{},"102":{},"107":{},"115":{},"117":{},"119":{},"120":{},"124":{},"126":{},"140":{},"141":{},"144":{},"145":{},"151":{},"167":{},"169":{},"170":{},"172":{},"179":{},"180":{},"191":{},"200":{},"204":{},"208":{},"211":{},"220":{},"221":{},"261":{},"262":{},"264":{},"266":{},"267":{},"268":{},"269":{},"274":{},"277":{},"278":{},"280":{},"281":{},"285":{}},"component":{}}],["workaround",{"_index":1405,"title":{"29":{}},"name":{"29":{}},"text":{"29":{},"67":{}},"component":{}}],["workdir",{"_index":350,"title":{},"name":{},"text":{"3":{},"191":{}},"component":{}}],["worker",{"_index":4016,"title":{},"name":{},"text":{"67":{},"88":{},"280":{}},"component":{}}],["workerexecutor(workerexecutorbuild",{"_index":5273,"title":{},"name":{},"text":{"88":{}},"component":{}}],["workerexecutorbuild",{"_index":5269,"title":{},"name":{},"text":{"88":{}},"component":{}}],["workerlaunch",{"_index":4279,"title":{},"name":{},"text":{"67":{}},"component":{}}],["workflow",{"_index":3643,"title":{},"name":{},"text":{"66":{}},"component":{}}],["worklaunch",{"_index":4181,"title":{},"name":{},"text":{"67":{}},"component":{}}],["workload",{"_index":5497,"title":{},"name":{},"text":{"99":{},"264":{},"276":{}},"component":{}}],["workpackag",{"_index":5265,"title":{},"name":{},"text":{"88":{}},"component":{}}],["workspac",{"_index":738,"title":{"254":{},"5-11":{},"237-2":{},"254-2":{},"276-1":{}},"name":{},"text":{"5":{},"231":{},"232":{},"237":{},"238":{},"239":{},"241":{},"247":{},"250":{},"254":{},"255":{},"262":{},"276":{},"277":{}},"component":{}}],["workspace’",{"_index":7605,"title":{},"name":{},"text":{"254":{},"276":{}},"component":{}}],["work’",{"_index":2853,"title":{},"name":{},"text":{"53":{}},"component":{}}],["world",{"_index":7562,"title":{},"name":{},"text":{"234":{},"281":{}},"component":{}}],["worri",{"_index":1782,"title":{},"name":{},"text":{"33":{},"145":{},"241":{},"264":{},"269":{},"274":{}},"component":{}}],["worth",{"_index":4223,"title":{},"name":{},"text":{"67":{},"84":{},"285":{}},"component":{}}],["worthi",{"_index":1936,"title":{},"name":{},"text":{"35":{},"40":{}},"component":{}}],["wrap",{"_index":1305,"title":{},"name":{},"text":{"24":{},"34":{},"38":{},"42":{},"48":{},"49":{},"63":{},"67":{},"69":{},"71":{},"72":{},"77":{},"114":{},"115":{}},"component":{}}],["wraphandl",{"_index":1316,"title":{},"name":{},"text":{"24":{}},"component":{}}],["wraphandler(messagehandlingmemb",{"_index":1326,"title":{},"name":{},"text":{"24":{}},"component":{}}],["wrappedmessagehandlingmemb",{"_index":1333,"title":{},"name":{},"text":{"24":{}},"component":{}}],["wrapper",{"_index":1537,"title":{},"name":{},"text":{"30":{},"36":{},"46":{},"66":{},"121":{}},"component":{}}],["writabl",{"_index":256,"title":{},"name":{},"text":{"3":{},"179":{},"191":{}},"component":{}}],["write",{"_index":264,"title":{"44-3":{},"64-1":{}},"name":{},"text":{"3":{},"21":{},"27":{},"31":{},"44":{},"46":{},"64":{},"66":{},"69":{},"71":{},"74":{},"77":{},"120":{},"141":{},"142":{},"143":{},"151":{},"154":{},"169":{},"171":{},"177":{},"179":{},"191":{},"199":{},"204":{},"261":{},"281":{},"283":{},"285":{}},"component":{}}],["writeabl",{"_index":6956,"title":{},"name":{},"text":{"179":{}},"component":{}}],["writer",{"_index":6954,"title":{},"name":{},"text":{"179":{}},"component":{}}],["written",{"_index":273,"title":{},"name":{},"text":{"3":{},"8":{},"13":{},"44":{},"66":{},"88":{},"89":{},"106":{},"107":{},"142":{},"143":{},"145":{},"179":{},"191":{},"200":{}},"component":{}}],["wrong",{"_index":1168,"title":{},"name":{},"text":{"17":{},"53":{},"55":{},"66":{},"67":{},"144":{},"249":{},"259":{},"260":{},"262":{}},"component":{}}],["wrongfulli",{"_index":4299,"title":{},"name":{},"text":{"67":{}},"component":{}}],["wrote",{"_index":4379,"title":{},"name":{},"text":{"67":{}},"component":{}}],["ws",{"_index":7433,"title":{},"name":{},"text":{"206":{}},"component":{}}],["wtrzas2",{"_index":3916,"title":{},"name":{},"text":{"67":{}},"component":{}}],["x",{"_index":1699,"title":{},"name":{},"text":{"31":{},"39":{},"44":{},"83":{},"141":{},"198":{},"204":{},"215":{},"280":{},"283":{}},"component":{}}],["xml",{"_index":1566,"title":{},"name":{},"text":{"31":{},"46":{},"89":{},"184":{},"195":{},"203":{},"216":{},"219":{}},"component":{}}],["xml’",{"_index":1612,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xom",{"_index":1709,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xpath",{"_index":5403,"title":{},"name":{},"text":{"89":{},"195":{}},"component":{}}],["xpath(data",{"_index":7182,"title":{},"name":{},"text":{"195":{}},"component":{}}],["xpath(payloaddata",{"_index":7197,"title":{},"name":{},"text":{"195":{}},"component":{}}],["xref",{"_index":3296,"title":{},"name":{},"text":{"66":{},"179":{}},"component":{}}],["xref:../deadlines/deadlin",{"_index":4650,"title":{},"name":{},"text":{"72":{}},"component":{}}],["xref:axon",{"_index":7706,"title":{},"name":{},"text":{"274":{}},"component":{}}],["xref:monitoring/index.adoc",{"_index":7664,"title":{},"name":{},"text":{"267":{}},"component":{}}],["xstream",{"_index":1565,"title":{},"name":{},"text":{"31":{},"44":{},"46":{},"66":{},"67":{}},"component":{}}],["xstream(xstream",{"_index":1620,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xstreamseri",{"_index":1557,"title":{"31-7":{},"31-11":{}},"name":{},"text":{"31":{},"46":{},"66":{},"67":{},"69":{},"71":{},"77":{},"104":{},"161":{}},"component":{}}],["xstreamserializer#defaultseri",{"_index":4137,"title":{},"name":{},"text":{"67":{}},"component":{}}],["xstreamserializer.build",{"_index":1619,"title":{},"name":{},"text":{"31":{}},"component":{}}],["xstreamserializer.builder().build",{"_index":5441,"title":{},"name":{},"text":{"94":{}},"component":{}}],["xstreamserializer’",{"_index":2614,"title":{},"name":{},"text":{"46":{}},"component":{}}],["xstream’",{"_index":1604,"title":{},"name":{},"text":{"31":{},"67":{}},"component":{}}],["xyz",{"_index":1412,"title":{},"name":{},"text":{"29":{}},"component":{}}],["y",{"_index":1700,"title":{},"name":{},"text":{"31":{},"199":{}},"component":{}}],["yaml",{"_index":1556,"title":{"31-5":{}},"name":{},"text":{"148":{},"154":{},"177":{},"188":{},"284":{}},"component":{}}],["ye",{"_index":118,"title":{},"name":{},"text":{"2":{},"5":{},"35":{},"52":{},"59":{},"262":{}},"component":{}}],["year",{"_index":537,"title":{},"name":{},"text":{"3":{},"138":{},"140":{},"191":{},"198":{}},"component":{}}],["year(timestamp",{"_index":7196,"title":{},"name":{},"text":{"195":{}},"component":{}}],["yellow",{"_index":785,"title":{},"name":{},"text":{"5":{},"289":{}},"component":{}}],["yield",{"_index":1703,"title":{},"name":{},"text":{"31":{},"286":{},"289":{}},"component":{}}],["yieldingwaitstrategi",{"_index":2188,"title":{},"name":{},"text":{"38":{}},"component":{}}],["you'r",{"_index":4766,"title":{},"name":{},"text":{"77":{}},"component":{}}],["your_instance_nam",{"_index":7234,"title":{},"name":{},"text":{"199":{}},"component":{}}],["yourroutingstrategi",{"_index":2249,"title":{},"name":{},"text":{"38":{}},"component":{}}],["yourself",{"_index":704,"title":{},"name":{},"text":{"4":{},"5":{},"31":{},"53":{},"59":{},"77":{},"88":{},"105":{},"144":{},"167":{},"178":{},"237":{},"260":{}},"component":{}}],["you’d",{"_index":2530,"title":{},"name":{},"text":{"46":{}},"component":{}}],["you’ll",{"_index":768,"title":{},"name":{},"text":{"5":{},"24":{},"166":{},"168":{},"172":{},"174":{},"200":{},"202":{},"203":{},"235":{}},"component":{}}],["you’r",{"_index":65,"title":{},"name":{},"text":{"2":{},"5":{},"30":{},"31":{},"46":{},"67":{},"84":{},"151":{},"201":{},"203":{}},"component":{}}],["you’v",{"_index":7265,"title":{},"name":{},"text":{"201":{},"203":{}},"component":{}}],["yvonneceeli",{"_index":3727,"title":{},"name":{},"text":{"66":{}},"component":{}}],["yyyi",{"_index":7016,"title":{},"name":{},"text":{"184":{}},"component":{}}],["z][a",{"_index":6358,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["z_",{"_index":6359,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["za",{"_index":6357,"title":{},"name":{},"text":{"147":{},"178":{}},"component":{}}],["zero",{"_index":61,"title":{},"name":{},"text":{"2":{},"23":{},"33":{},"44":{},"55":{},"67":{},"87":{},"138":{},"151":{},"185":{},"199":{},"206":{},"219":{},"227":{},"236":{}},"component":{}}],["zip",{"_index":6110,"title":{},"name":{},"text":{"142":{},"170":{},"172":{},"187":{},"192":{},"201":{},"208":{}},"component":{}}],["zone",{"_index":6099,"title":{},"name":{},"text":{"142":{},"199":{}},"component":{}}],["zone=your_zon",{"_index":7235,"title":{},"name":{},"text":{"199":{}},"component":{}}],["zoom",{"_index":7738,"title":{},"name":{},"text":{"274":{}},"component":{}}],["zpage",{"_index":7134,"title":{},"name":{},"text":{"188":{}},"component":{}}]],"pipeline":["stemmer"]},"store":{"documents":{"1":{"id":1,"text":"Extensions may have different licenses than the core framework. While some extensions are maintained and released by AxonIQ, some may be provided by a third party. AxonIQ cannot guarantee compatibility for extensions with each individual Axon Framework release. JGroups Extension Reference JobRunr Pro Extension Reference Kafka Extension Reference Kotlin Extension Reference MongoDB Extension Reference Multitenancy Extension Reference Reactor Extension Reference Spring AMQP Reference Spring AOT Extension Guide Spring Cloud Extension Guide Tracing Extension Guide","title":"Axon Framework Extensions","component":"axon-framework-extensions","version":"","name":"index","url":"/axon-framework-extensions/","titles":[{"text":"Extensions","id":1}]},"2":{"id":2,"text":"Answer: Axon Server is a zero-configuration message router and event store. If you’re a Java developer, it works well with Axon Framework-based applications. However, if you’re using Python, Node.js, C# (or any other major programming language), it provides out-of-the-box message routing and event storage. Answer: Here’s a short list of features of the Axon Server: Out of the box, zero configuration Message Routing Event sourcing capabilities with an infinitely scalable Event Store Real-time observability and insights into the messages exchanged between your applications Role-based Access Control for both users and applications Easy to scale-out and configure within a clustered environment Answer: Unlike other messaging solutions like Apache Kafka, which only natively provides message routing, Axon Server works as both a message router and an Event Store. As a dedicated Event Store, Axon Server is designed to store events to enable your microservices applications to be event-sourced. This ensures that events are stored durably and indefinitely and provides superior scalability and throughput without complex database tuning. Answer: Yes, Axon Server is built to handle large-scale event storage needs with its infinitely scalable event store, which can manage large volumes of events without performance degradation. Answer: Axon Server includes robust security features such as authentication, authorization, and the ability to integrate with external security providers like LDAP and OAuth for enhanced security measures. Answer: Back in 2023, we decided to phase out the Standard edition and replaced it with a single Axon Server JAR. This enabled our customers to easily upgrade to \"Enterprise Features\" without installing a different artifact. Now, starting in 2024, we have launched new features and capabilities for the Axon Server. In order to make Axon Server to seamlessly grow according to the needs of our customers, we now have for simple plans: Developer plan (formerly called the “Axon Server Standard Edition”) Starter plan (adds the capability for Clustering) Pro plan (adds the capability for Multi-context and additional authentication features ) Enterprise plan We love our active developer community. So developers can feel comfortable that our Axon Server Developer plan is and will always remain free. Answer: Although the Open Source version of Axon Server is still available, it has been deprecated and is no longer maintained. We encourage our Open Source users to get started with the Developer plan in order to get the latest updates and to have compatibility with future versions of Axon Framework.","title":"FAQ for Axon Server","component":"as-faq","version":"master","name":"as-faq","url":"/as-faq/as-faq/","titles":[{"text":"Q: So, what exactly is Axon Server?","hash":"_q_so_what_exactly_is_axon_server","id":1},{"text":"Q: What are some of the main features of Axon Server?","hash":"_q_what_are_some_of_the_main_features_of_axon_server","id":2},{"text":"Q: How does Axon Server work as an Event Store?","hash":"_q_how_does_axon_server_work_as_an_event_store","id":3},{"text":"Q: Since RDBMs have problems with scalability, let’s discuss scale. Can Axon Server handle large-scale event storage needs?","hash":"_q_since_rdbms_have_problems_with_scalability_lets_discuss_scale_can_axon_server_handle_large_scale_event_storage_needs","id":4},{"text":"Q: What security features does Axon Server offer?","hash":"_q_what_security_features_does_axon_server_offer","id":5},{"text":"Q: What happened to the Standard and Enterprise editions of Axon Server?","hash":"_q_what_happened_to_the_standard_and_enterprise_editions_of_axon_server","id":6},{"text":"Q: What happened to the Open Source version of Axon Server?","hash":"_q_what_happened_to_the_open_source_version_of_axon_server","id":7}]},"3":{"id":3,"text":"This section is split into 4 sub-sections. The Axon Server Docker Image Construction of the Axon Server Docker Image Deployment using Docker Compose Deployment using Kubernetes Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust. AxonIQ provides ready to use Axon Server images. There are two types of images available: one with Axon Server running as the user “root” and one with Axon Server running as user “axonserver”. Both images are based on Eclipse Temurin, which means they include a (limited) shell that allows you to connect \"into\" the running image and perform some commands. The “root” image of version 2023.1 is available as “axoniq/axonserver:2023.1” and is based on “eclipse-temurin:11-focal”. This image is particularly useful for running in Docker Desktop, as it will not have any trouble creating files and directories as user “root”. The axonserver image of version 2023.1 is available as “axoniq/axonserver:2023.1-nonroot” and is based on the same Eclipse Temurin image. This image is more secure and useful in Kubernetes and OpenShift clusters. You should take care to declare the user- and group-id, both of which are 1001 and are named “axonserver”. Doing this will ensure that any mounted volumes will be writable by the user running Axon Server. The images export the following volumes: This is where you can add configuration files, such as an additional axonserver.properties and the license file. However, you can also opt to use, for instance, Kubernetes, or Docker-compose secrets. Note that Axon Server EE assumes it can write to the directory configured with “axoniq.axonserver.enterprise.licenseDirectory”, so you don’t have to put the license on all nodes. This is where the ControlDB, the PID file, and a copy of the application logs are written to. In this volume the Event Store is created, with a single directory per context. In this volume the Replication Logs are created, with a single directory per Replication Group. In this volume you can place Extension JAR-files, such as the LDAP and OAuth2 extensions. In this volume Axon Server will place all uploaded plugins. Using the axoniq/axonserver:latest image Up to release 2023.2.0 the default Axon Server image (axoniq/axonserver:latest) was using Axon Server Standard Edition version 4.6.11. There is a difference in the directory structure between version 4.6.11 and the current version. One change is that the working directory has changed from / to /axonserver. All files and directories created by Axon Server are stored in this directory (or subdirectories). The following locations have new default values: Property Axon Server SE 4.6.11 Axon Server 2023.2 axoniq.axonserver.event.storage /eventdata /axonserver/events axoniq.axonserver.snapshot.storage /eventdata /axonserver/events axoniq.axonserver.controldb-path /data /axonserver/data axoniq.axonserver.plugin-package-directory /data/plugins/bundles /axonserver/plugins/bundles axoniq.axonserver.plugin-cache-directory /data/plugins/cache /axonserver/plugins/cache logging.file /data/axonserver.log /axonserver/data/axonserver.log As these locations have changed you need to update the volume mappings that you use in the container. The mapping for /eventdata must be changed to /axonserver/events, and the mapping for /data must be changed to /axonserver/data. A starter Dockerfile is included below which can be tailored as per your requirements. The starter file helps create the image in multiple stages, The image will be based on a compact image from Google’s distroless base images at the gcr.io repository, in this case gcr.io/distroless/java:11. The first stage creates the directories that will become our volumes. This step cannot be performed in the Distroless image, because that image does not provide a shell. The second stage begins by copying the home directory with its volume mount points, carefully keeping ownership set to the new user. The last steps copy the executable jar named axonserver.jar and a common set of properties. It marks the volume mounting points and exposed ports and finally specifies the command to start Axon Server EE. FROM busybox as source RUN mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts FROM gcr.io/distroless/java:11 COPY --from=source /axonserver /axonserver COPY axonserver.jar axonserver.properties /axonserver/ WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] If you want to build a \"nonroot\" version, you need to adjust this as follows: FROM busybox as source RUN addgroup -S -g 1001 axonserver \\ && adduser -S -u 1001 -G axonserver -h /axonserver -D axonserver \\ && mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts \\ && chown -R axonserver:axonserver /axonserver FROM gcr.io/distroless/java:11 COPY --from=source /etc/passwd /etc/group /etc/ COPY --from=source --chown=axonserver /axonserver /axonserver COPY --chown=axonserver axonserver.jar axonserver.properties /axonserver/ USER axonserver WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] As you can see this will start by creating the user “axonserver” belonging to a group with the same name. When copying the directory, we now have to ensure that ownership transfers correctly and specify the user to run as, but otherwise it looks pretty similar. For the common properties (axonserver.properties), the minimum set can be added to ensure that the volumes get mounted and logs generated. Again these can be tailored as per the deployment requirements. axoniq.axonserver.event.storage=./events axoniq.axonserver.snapshot.storage=./events axoniq.axonserver.replication.log-storage-folder=./log axoniq.axonserver.enterprise.licenseDirectory=./config #axoniq.axonserver.accesscontrol.systemtokenfile=./config/axonserver.token axoniq.axonserver.controldb-path=./data axoniq.axonserver.pid-file-location=./data logging.file=./data/axonserver.log logging.file.max-history=10 logging.file.max-size=10MB Place the Dockerfile, the Axon Server jar file (axonserver.jar), the Axon Server client jar file (axonserver-cli.jar) and the axonserver.properties in the current directory. Assuming we are building version 2023.1.1, the image can be constructed using the following command: $ docker build --tag my-repository/axonserver:2023.1.1. This completes the construction of the Docker image. The image can pushed to your local repository or you could keep it local if you only want to run it on your development machine. The next step is to run it either using Docker Compose or Kubernetes. For instance, if you want to run the docker image for a standalone instance of Axon Server and have it initialized automatically, start with the axoniq.axonserver.standalone property set through the environment. $ docker run -dit -e axoniq.axonserver.standalone=true -p 8024:8024 -p 8124:8124 my-repository/axonserver:2023.1.1 Axon Server is meant to be run in a distributed manner, as a cluster where there will be multiple instances of Axon Server nodes running all interconnected to each other. The installation process assumes that Docker Compose will be used to run a 3-node Axon Server cluster, that is running 3 services of the same container image we built above. Let us designate these services as \"axonserver-1\", \"axonserver-2\" and \"axonserver-3\". We will also give a tag to the image that we constructed above as my-repository/axonserver:2023.1. Each container instance will use separate volumes for data, events, and log. An environment variable is added to tell Axon Server about the location of the license file. We will use \"secrets\" to inject the license file, tokens as well as the cluster/context definitions using the autocluster mechanism. The complete docker-compose file is depicted below. version: '3.3' services: axonserver-1: image: my-repository/axonserver:2023.1 hostname: axonserver-1 volumes: - axonserver-data1:/axonserver/data - axonserver-events1:/axonserver/events - axonserver-log1:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8024:8024' - '8124:8124' - '8224:8224' networks: - axon-demo axonserver-2: image: my-repository/axonserver:2023.1 hostname: axonserver-2 volumes: - axonserver-data2:/axonserver/data - axonserver-events2:/axonserver/events - axonserver-log2:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8025:8024' - '8125:8124' - '8225:8224' networks: - axon-demo axonserver-3: image: my-repository/axonserver:2023.1 hostname: axonserver-3 volumes: - axonserver-data3:/axonserver/data - axonserver-events3:/axonserver/events - axonserver-log3:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8026:8024' - '8126:8124' - '8226:8224' networks: - axon-demo volumes: axonserver-data1: driver: local driver_opts: type: none device: ${PWD}/data1 o: bind axonserver-events1: driver: local driver_opts: type: none device: ${PWD}/events1 o: bind axonserver-log1: driver: local driver_opts: type: none device: ${PWD}/log1 o: bind axonserver-data2: driver: local driver_opts: type: none device: ${PWD}/data2 o: bind axonserver-events2: driver: local driver_opts: type: none device: ${PWD}/events2 o: bind axonserver-log2: driver: local driver_opts: type: none device: ${PWD}/log2 o: bind axonserver-data3: driver: local driver_opts: type: none device: ${PWD}/data3 o: bind axonserver-events3: driver: local driver_opts: type: none device: ${PWD}/events3 o: bind axonserver-log3: driver: local driver_opts: type: none device: ${PWD}/log3 o: bind networks: axon-demo: secrets: axonserver-properties: file: ./axonserver.properties axoniq-license: file: ./axoniq.license axonserver-token: file: ./axonserver.token The axonserver-token secret is used to allow the CLI to talk with nodes. The access control section details the generation of these tokens. A similar approach can be used to configure more secrets for the certificates, and so enable SSL. The axonserver.properties properties file referred to in the secrets’ definition section is shown below. axoniq.axonserver.autocluster.first=axonserver-1 axoniq.axonserver.autocluster.contexts=_admin,default # We highly recommend protecting your installations at all time, hence why access control is enabled here. # For quick testing, you can disable this, but be sure to switch it big with high priority. axoniq.axonserver.accesscontrol.enabled=true axoniq.axonserver.accesscontrol.internal-token=${generated_token} axoniq.axonserver.accesscontrol.systemtokenfile=/axonserver/config/axonserver.tok Starting Axon Server using the docker-compose command is depicted below. $ docker-compose up For example purposes only The examples below show only one of the ways you can deploy Axon Server to Kubernetes. As discussed in this Blog article, there are many aspects for which you would need to carefully plan ahead. A complete set of examples can be found in the Running Axon Server GitHub repository. We especially recommend using the \"Singleton StatefulSet\" approach. Although the complexity of deploying any application to Kubernetes can be overwhelming, we strongly recommend you to study this subject carefully. The examples we provide are not necessarily the best approach for your particular situation, so be careful about copying them without any further modifications. Note that these examples generate self-signed certificates that have a one-year validity. An important thing to consider is the use of a \"nonroot\" image. This is due to the fact that volumes are mounted as owned by the mount location’s owner in Docker, while Kubernetes uses a special security context, defaulting to root. Since a \"nonroot\" image runs Axon Server under its own user, it has no rights on the mounted volume other than read. The context can be specified, but only through the user or group’s ID, and not using their name as we did in the image, because that name does not exist in the k8s management context. So we have to adjust the first stage to specify a specific numeric value (here we have given 1001) , and then use that value in the security context of the Stateful set which we shall see below. We would need to supply a licence/token file (for client applications) and cluster/context definitions via an axonserver.properties file. Unlike Docker Compose, Kubernetes mounts Secrets and ConfigMaps as directories rather than files, so we need to split license and configuration to two separate locations. For the license secret we can use a new location /axonserver/license/axoniq.license and adjust the environment variable to match. For the system token we’ll use /axonserver/security/token.txt, and for the properties file we’ll use a ConfigMap that we mount on top of the /axonserver/config directory. These can be created using kubectl directly from their respective file as depicted below. It is recommended to create a dedicated namespace before creating the secrets and the config maps. $ kubectl create secret generic axonserver-license --from-file=./axoniq.license -n ${axonserver-ns} secret/axonserver-license created $ kubectl create secret generic axonserver-token --from-file=./axoniq.token -n ${axonserver-ns} secret/axonserver-token created $ kubectl create configmap axonserver-properties --from-file=./axonserver.properties -n ${axonserver-ns} configmap/axonserver-properties created $ In the descriptor we now have to declare the secret, add a volume for it, and mount the secret on the volume. Then a list of volumes has to be added to link the actual license and properties. The complete spec for the Axon Server Stateful set is given below. This includes the security context, the volume mounts, the readiness and liveness probes and finally the volumes. apiVersion: apps/v1 kind: StatefulSet metadata: name: axonserver labels: app: axonserver spec: serviceName: axonserver replicas: 1 selector: matchLabels: app: axonserver template: metadata: labels: app: axonserver spec: securityContext: runAsUser: 1001 fsGroup: 1001 containers: - name: axonserver image: axoniq/axonserver:latest-dev-nonroot imagePullPolicy: IfNotPresent ports: - name: grpc containerPort: 8124 protocol: TCP - name: gui containerPort: 8024 protocol: TCP env: - name: AXONIQ_LICENSE value: /axonserver/license/axoniq.license volumeMounts: - name: data mountPath: /axonserver/data - name: events mountPath: /axonserver/events - name: log mountPath: /axonserver/log - name: config mountPath: /axonserver/config readOnly: true - name: system-token mountPath: /axonserver/security readOnly: true - name: license mountPath: /axonserver/license readOnly: true readinessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 1 failureThreshold: 30 livenessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 volumes: - name: config configMap: name: axonserver-properties - name: system-token secret: secretName: axonserver-token - name: license secret: secretName: axonserver-license volumeClaimTemplates: - metadata: name: events spec: accessModes: [ ReadWriteOnce ] resources: requests: storage: 5Gi - metadata: name: log spec: accessModes: [ ReadWriteOnce ] resources: requests: storage: 1Gi - metadata: name: data spec: accessModes: [ ReadWriteOnce ] resources: requests: storage: 1Gi The StatefulSet can be applied using the following command (assuming that the StatefulSet spec is stored in the file axonserver-sts.yml). $ kubectl apply -f axonserver-sts.yml -n ${axonserver-ns} statefulset.apps/axonserver created The next step would be to create the two services required for Axon Server, that is axonserver-gui on 8024 (HTTP) and axonserver on 8124 (gRPC). --- apiVersion: v1 kind: Service metadata: name: axonserver-gui labels: app: axonserver spec: ports: - name: gui port: 8024 targetPort: 8024 selector: app: axonserver type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: axonserver labels: app: axonserver spec: ports: - name: grpc port: 8124 targetPort: 8124 clusterIP: None selector: app: axonserver --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: axonserver annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent spec: rules: - host: axonserver http: paths: - backend: serviceName: axonserver-gui servicePort: 8024 --- The services use an Ingress to allow incoming traffic and can be deployed with the following command (assuming that the Service specs are stored in the file axonserver-ing.yml). $ kubectl apply -f axonserver-ing.yml -n ${axonserver-ns} service/axonserver-gui created service/axonserver created ingress.networking.k8s.io/axonserver created The final step is to scale out the cluster. The simplest approach, and most often correct one, is to use a scaling factor other than 1, letting Kubernetes take care of deploying several instances. This means we will get several nodes that Kubernetes can dynamically manage and migrate as needed, while at the same time fixing the name and storage. We will get a number suffixed to the name starting at 0, so a scaling factor of 3 gives us axonserver-0 through axonserver-2. $ kubectl scale sts axonserver -n ${axonserver-ns} --replicas=3 statefulset.apps/axonserver scaled This completes a basic setup to help install Axon Server on Kubernetes. The users can choose to tailor the entire setup based on their requirements and usage of Kubernetes.","title":"Installing Axon Server for Docker and Kubernetes","component":"axon-server-installation","version":"master","name":"installing_as_docker-k8s","url":"/axon-server-installation/installing_as_docker-k8s/","titles":[{"text":"Docker image","hash":"docker-image","id":1},{"text":"Exported volumes","hash":"_exported_volumes","id":2},{"text":"/axonserver/config","hash":"_axonserverconfig","id":3},{"text":"/axonserver/data","hash":"_axonserverdata","id":4},{"text":"/axonserver/events","hash":"_axonserverevents","id":5},{"text":"/axonserver/log","hash":"_axonserverlog","id":6},{"text":"/axonserver/exts","hash":"_axonserverexts","id":7},{"text":"/axonserver/plugins","hash":"_axonserverplugins","id":8},{"text":"Building you own image","hash":"build-image","id":9},{"text":"Docker compose","hash":"docker-compose","id":10},{"text":"Kubernetes","hash":"kubernetes","id":11},{"text":"Creating the Secrets and ConfigMap","hash":"_creating_the_secrets_and_configmap","id":12},{"text":"Deploying Axon Server","hash":"_deploying_axon_server","id":13}]},"4":{"id":4,"text":"Axon Server 2024.0.0 uses an updated version of the H2 database to store the Control DB. This is required to solve some issues in the H2 version used in previous Axon Server versions. When you download Axon Server 2024.0, the package contains a new jar file controldb-migration.jar. For Axon Server to upgrade the Control DB, you need to place this jar file in the working directory of Axon Server (usually the same directory as the axonserver.jar file). When you start Axon Server, it invokes the controldb-migration.jar to migrate the Control DB. After the migration, a new DB file is in the same directory as the old Control DB. This new DB is called axonserver-configdb, the filename is axonserver-configdb.mv.db. The docker image axoniq/axonserver already contains the controldb-migration.jar. If you have configured the property spring.datasource.url in axonserver.properties yourself, you must update the database name before starting Axon Server. Change the name from axonserver-controldb to axonserver-configdb. For example: spring.datasource.url=jdbc:h2:./data/axonserver-controldb;DEFRAG_ALWAYS=true Should now look like this: spring.datasource.url=jdbc:h2:./data/axonserver-configdb;DEFRAG_ALWAYS=true The preferred property to define the location of the configuration database is changed to axoniq.axonserver.configdb-path. The property axoniq.axonserver.controldb-path is deprecated, but still works for this version. If you use the OAuth or LDAP extension for Axon Server, replace the jar files in the exts directory with those included in the new extension. The 2024.0.0 release is still compatible with previous releases, so you may do a rolling upgrade. The upgrade should be reasonably straightforward: stop the node replace axon server jar do the steps from above for the Control DB migration and extensions start the node repeat the procedure for every node in the cluster","title":"Upgrading to Axon Server 2024.0.0","component":"axon-server-upgrade","version":"master","name":"upgrading_as_2024","url":"/axon-server-upgrade/upgrading_as_2024/","titles":[{"text":"Datasource override","hash":"_datasource_override","id":1},{"text":"Configuring the database location","hash":"_configuring_the_database_location","id":2},{"text":"Migration of extensions","hash":"_migration_of_extensions","id":3},{"text":"Upgrade instructions","hash":"_upgrade_instructions","id":4}]},"5":{"id":5,"text":"Answer: Yes! AxonIQ Console is free (no credit card required), and you are limited to a maximum of 100 handlers for your environment, however, we also have “Premium” and “Enterprise” plans to easily allow you to support more handlers. See the AxonIQ Console pricing page for more information. Answer: We give developers various options to get started with AxonIQ Console. If you already have a Google or GitHub account, you can single-sign on instantly and start using AxonIQ Console. You can also create a new account with us by clicking the \"Sign in with Password\" option. Sign in to AxonIQ Console now to try it out for yourself. Answer: In order to connect your apps to AxonIQ Console, click on the Applications tab. If you’re using AxonIQ Console for the first time, then no applications will be displayed. However, you will be presented with installation instructions that will allow you to configure your Plain Java projects or Spring Boot applications so that they can be discovered by AxonIQ Console. You can also find instructions on how to install a Demo Application that has everything already configured and will allow you to see activity instantly in AxonIQ Console. After your first application has been configured properly, the Applications tab will display all discovered applications. Feel free to also try out the AxonIQ Console client project on GitHub. Answer: In order to install an instance of Axon Server, simply click on the Axon Server Cluster tab. Here, you will be presented with various options for installing Axon Server, depending on your operating system or environment. Answer: One of the most requested features within AxonIQ Console is the ability to see the flow of messages between applications. After clicking the Message Flow tab, you’ll see a layout graph of your environment’s publishers and consumers (dispatchers and handlers). Each “dot” in the graph represents an application, and the arrow shows the source and destination of the message. The color of the arrow is significant and represents the following: Blue arrow: Command Messages Green arrow: Query Messages Red arrow: Event Messages Yellow arrow: Deadline Messages The arrow’s thickness represents the amount of messages sent to the Handler. Answer: Yes, no problem! Please note that subscriptions are paid ahead monthly. Therefore, if you choose to stop, you still have access to AxonIQ Console until the end of the billing cycle. Answer: Tools such as the ELK Stack and Splunk are great for monitoring the status of your network infrastructure. However, AxonIQ Console was explicitly designed for developers to analyze and manage your Axon Framework applications more intricately. AxonIQ Console also enables developers to view the real-time activity of a cluster of Axon Server nodes within a single interface. Therefore, AxonIQ Console can provide insights into the overall health and status of your applications and services in ways that the ELK Stack or Splunk were not designed for. Answer: The Axon Framework enables developers to create microservice-based applications using the publish and subscribe pattern. We support three Message types so you can build evolutionary applications. For all three types of messages, you can create a Handler within an application to handle a specific message (or a group of messages, if you prefer). So, how does the Handler Usage count work? Each method annotated with a handler annotation counts as a handler. If you have multiple instances of an application, that will be summed. For example, if you have an application with 20 handlers, and run 4 instances, that will count as 80 handlers. When determining the number of handlers you want in your Workspace, it’s important to also account for the extra handlers that will be needed during deployments. You can view an overview of detailed handler usage on the Subscription page. Answer: Your subscription determines how many handlers we accept data from. We check periodically to see if you stay within this amount and block handlers until the amount is within your subscription again. Before we block handlers, there is a grace period to allow for the purchase of extra handlers before we stop showing metrics. grace period of a week. After the grace period, we will only allow the original amount in your subscription. You will be notified via logs in your application, e-mail, and AxonIQ Console Web Interface. Answer: To manage any of your Access Tokens, navigate to Settings → Environment → Access Tokens Answer: Like with your Access Tokens, Workspace management can also be performed within the Setting tab. Navigate to Settings → Workspace → General. Answer: If you have a Premium or Enterprise plan, and you are an Admin or Workspace owner, navigate to Settings → Workspace → Team in order to add a new user. Answer: AxonIQ Console was designed to allow developers to log in anywhere and manage their Axon Framework applications and Axon Server instances. Therefore, as a cloud-based product, your applications will periodically (or upon request) send statistical information to the servers of AxonIQ, such as: Generic event processor information (name, latency, status, position) Generic handler statistics (name, latency, throughput, error rates) Dead Letter Queue Information (name, error info, event payload), which is disabled by default Answer: No. By default, neither your message payloads nor IDs are sent to AxonIQ servers for processing within AxonIQ Console. If you decide to enable the Dead Letter Queue functionality, then your DLQ IDs and event payload are retrieved and presented to you in the user interface. This allows you to determine if the dead letter should be deleted or retried. Answer: AxonIQ and AxonIQ Console fully comply with the GDPR and California Consumer Privacy Act (CCPA). Please check our legal documentation for the measures we implement to protect your data.","title":"FAQ for AxonIQ Console","component":"axoniq-console-faq","version":"master","name":"console_faq","url":"/axoniq-console-faq/console_faq/","titles":[{"text":"Q: What’s the cost of AxonIQ Console, and is there a free option?","hash":"_q_whats_the_cost_of_axoniq_console_and_is_there_a_free_option","id":1},{"text":"Q: How can I create an account to get started?","hash":"_q_how_can_i_create_an_account_to_get_started","id":2},{"text":"Q: How do I connect my Applications to AxonIQ Console?","hash":"_q_how_do_i_connect_my_applications_to_axoniq_console","id":3},{"text":"Q: How do I set up Axon Server Nodes within AxonIQ Console?","hash":"_q_how_do_i_set_up_axon_server_nodes_within_axoniq_console","id":4},{"text":"Q: How can I see the flow of messages for my applications within AxonIQ Console?","hash":"_q_how_can_i_see_the_flow_of_messages_for_my_applications_within_axoniq_console","id":5},{"text":"Q: I am paying with my credit card monthly. Can I stop my monthly subscription at any time?","hash":"_q_i_am_paying_with_my_credit_card_monthly_can_i_stop_my_monthly_subscription_at_any_time","id":6},{"text":"Q: We are already using monitoring tooling such as ELK or Splunk. What is the added value of using another tool, AxonIQ Console?","hash":"_q_we_are_already_using_monitoring_tooling_such_as_elk_or_splunk_what_is_the_added_value_of_using_another_tool_axoniq_console","id":7},{"text":"Q: What is a Handler, and what does “Handler Usage” mean?","hash":"_q_what_is_a_handler_and_what_does_handler_usage_mean","id":8},{"text":"Q: What happens if I exceed my Handler Usage Quota?","hash":"_q_what_happens_if_i_exceed_my_handler_usage_quota","id":9},{"text":"Q: Where can I manage my Access Tokens?","hash":"_q_where_can_i_manage_my_access_tokens","id":10},{"text":"Q: How can I manage my Workspaces?","hash":"_q_how_can_i_manage_my_workspaces","id":11},{"text":"Q: I have a Premium plan, so how can I add a New User?","hash":"_q_i_have_a_premium_plan_so_how_can_i_add_a_new_user","id":12},{"text":"Q: What data types are sent to AxonIQ Console for processing?","hash":"_q_what_data_types_are_sent_to_axoniq_console_for_processing","id":13},{"text":"Q: Are my Message Payloads being sent for processing in AxonIQ Console?","hash":"_q_are_my_message_payloads_being_sent_for_processing_in_axoniq_console","id":14},{"text":"Q: How does AxonIQ Console protect my data?","hash":"_q_how_does_axoniq_console_protect_my_data","id":15}]},"6":{"id":6,"text":"Event-Driven Architectures (EDA) are software systems where services communicate by producing and responding to events. So, what’s an \"event\", anyway? An event represents something important within a software system that has happened. In Event-Driven Architectures, services react to these events asynchronously. This design enables systems to be more scalable, flexible, and maintainable by decoupling services and allowing them to operate independently yet cohesively. Event-Driven Architectures revolve around the concept of events as the primary means of communication between services. In this context, an event is a record of something that has happened within the system, such as, for example, a user creating a new account on a website, an order being placed, or a payment being processed. Unlike traditional architectures where components and services might directly call each other, EDA allows services to publish events and allows other services to subscribe to events. At the heart of EDA are event producers and event consumers. Event producers are the services that perform operations resulting in state changes and generate those events. For example, when a user updates their profile information, a \"UserService\" can produce the \"UserUpdated\" event reflecting this change. On the other hand, event consumers are the services that listen for specific events and react accordingly. Therefore, an \"EmailService\" might consume the \"UserUpdated\" event to send a confirmation email to the user. The communication between producers and consumers is facilitated by an event bus, which acts as a central hub for event propagation. The event bus ensures that events are reliably delivered from producers to the appropriate consumers without the services needing to be aware of each other. This decoupling allows services to be developed, deployed, and scaled independently. Tools like Axon Server can serve as the event bus, providing efficient routing and delivery of events across the system. An event typically consists of three elements: the event type, the payload, and optional metadata. The event type describes what occurred, such as \"OrderPlaced\" or \"PaymentProcessed,\" providing a clear indication of the action or state change that happened. The payload contains the data associated with the event, offering context that consumers need to perform their tasks. Metadata may include additional information like timestamps, source identifiers, or transaction IDs, aiding in tracking and auditing processes. One of the significant advantages of EDA is the creation of loosely coupled services. Since services communicate through events rather than direct calls, they do not need to know about each other’s existence or implementation details. This separation reduces dependencies, making the system more robust to changes. Developers can modify or replace a service without impacting others, facilitating easier maintenance and faster development cycles. Asynchronous communication is another key benefit. Services in an EDA system do not wait for immediate responses when they emit events. Instead, they continue their operations, and consumers process events at their own pace. This non-blocking communication enhances system performance and responsiveness, especially under high-load conditions, as services can handle multiple events concurrently without bottlenecks. EDA also enhances scalability. Individual services can be scaled horizontally—adding more instances to handle increased load—without affecting the rest of the system. This targeted scaling is more efficient and cost-effective than scaling entire monolithic applications. As demand fluctuates, resources can be allocated where they are most needed. Resilience is built into the architecture. If a service fails, the rest of the system can continue functioning. Since services are independent, a failure in one does not cascade to others. This isolation minimizes downtime and allows for smoother recovery processes. Services can be restarted or replaced without bringing down the entire system.","title":"What are Event-Driven Architectures?","component":"event-driven-architectures","version":"","name":"index","url":"/event-driven-architectures/","titles":[{"text":"TL;DR","hash":"_tldr","id":1},{"text":"More details on Event-Driven Architectures","hash":"_more_details_on_event_driven_architectures","id":2}]},"7":{"id":7,"text":"Event-Driven Architectures Axon Synapse Quick Start AxonIQ Console Getting Started AxonIQ Playbook Building An Axon Framework Application From Scratch Dead-Letter Queues FAQ for Axon Server FAQ for AxonIQ Console","title":"Basics","component":"home","version":"master","name":"basics","url":"/home/basics/","titles":[{"text":"Concepts","id":1},{"text":"Tutorials","id":2},{"text":"Frequently asked questions","id":3}]},"8":{"id":8,"text":"AxonIQ Docs is a collection of written resources designed to help developers learn and master the AxonIQ products. The Docs also help developers understand the software design and development concepts the AxonIQ products can help with. AxonIQ Playbook is a catalogue of patterns to support the AxonIQ community in modeling, implementing and operating event-sourced systems. Receive updates from the author Marc Klefter about new content in the AxonIQ Playbook by signing up. To discuss event sourcing and event modeling with Marc, book a call in his calendar. Basics offer examples on how to use AxonIQ products to complete routine tasks when designing and developing new solutions. The Basics page contains all such materials. Some of the most popular ones are: Building A Bike Rental Application AxonIQ Console Getting Started Guide Guides are recipes and directions for achieving a specific goal. They are intended for readers with a solid understanding of AxonIQ products. The guides cover Axon Framework and Axon Server. The practical technical descriptions of the machinery behind the AxonIQ products, their intended usage, available functionality, or configuration options. The Reference page contains all such materials. Some of the most popular ones are: Axon Framework Reference Guide Axon Server Reference Guide AxonIQ Console Reference Guide","title":"AxonIQ Docs","component":"home","version":"master","name":"index","url":"/home/","titles":[{"text":"AxonIQ Playbook","hash":"_axoniq_playbook","id":1},{"text":"Basics","hash":"_basics","id":2},{"text":"Guides","hash":"_guides","id":3},{"text":"Reference","hash":"_reference","id":4}]},"9":{"id":9,"text":"Axon Framework Axon Server Axon Synapse AxonIQ Console Axon Framework Extensions","title":"Reference","component":"home","version":"master","name":"reference","url":"/home/reference/","titles":[{"text":"Core products","id":1},{"text":"Extensions","id":2}]},"10":{"id":10,"text":"This collection of guides help you with specific tasks when using Axon Framework. Changing Identifier generation Customizing Message Handlers Deadlines guide Meta Annotations Monitoring your AxonFramework Application with AxonIQ Console","title":"Axon Framework Guides","component":"home","version":"master","name":"axon-framework","url":"/home/guides/axon-framework/","titles":[{"text":"Guide directory","id":1}]},"11":{"id":11,"text":"This collection of guides help you with specific tasks when using Axon Server. Axon Server Google Marketplace Installation Guide Axon Server Installation Guides Axon Server Query Language Guide Axon Server Upgrade Guides","title":"Axon Server Guides","component":"home","version":"master","name":"axon-server","url":"/home/guides/axon-server/","titles":[{"text":"Guide directory","id":1}]},"12":{"id":12,"text":"Guides are intended for readers with a solid understanding of the concepts AxonIQ products use, when trying to find solutions to perform a task. We have grouped these guides depending on the product or specific type of task they help to solve. We are working on adding more guides in the future. Changing Identifier generation Customizing Message Handlers Deadlines guide Meta Annotations Monitoring your AxonFramework Application with AxonIQ Console Axon Server Google Marketplace Installation Guide Axon Server Installation Guides Axon Server Query Language Guide Axon Server Upgrade Guides","title":"Guides","component":"home","version":"master","name":"index","url":"/home/guides/","titles":[{"text":"Axon Framework","id":1},{"text":"Axon Server","id":2}]},"13":{"id":13,"text":"AxonIQ Docs is a collection of written resources designed to help developers learn and master the AxonIQ products. The Docs also help developers understand the software design and development concepts the AxonIQ products can help with. AxonIQ Playbook is a catalogue of patterns to support the AxonIQ community in modeling, implementing and operating event-sourced systems. Receive updates from the author Marc Klefter about new content in the AxonIQ Playbook by signing up. To discuss event sourcing and event modeling with Marc, book a call in his calendar. Basics offer examples on how to use AxonIQ products to complete routine tasks when designing and developing new solutions. The Basics page contains all such materials. Some of the most popular ones are: Building A Bike Rental Application AxonIQ Console Getting Started Guide Guides are recipes and directions for achieving a specific goal. They are intended for readers with a solid understanding of AxonIQ products. The guides cover Axon Framework and Axon Server. The practical technical descriptions of the machinery behind the AxonIQ products, their intended usage, available functionality, or configuration options. The Reference page contains all such materials. Some of the most popular ones are: Axon Framework Reference Guide Axon Server Reference Guide AxonIQ Console Reference Guide","title":"AxonIQ Docs","component":"reference-guide","version":"master","name":"index","url":"/reference-guide/","titles":[{"text":"AxonIQ Playbook","hash":"_axoniq_playbook","id":1},{"text":"Basics","hash":"_basics","id":2},{"text":"Guides","hash":"_guides","id":3},{"text":"Reference","hash":"_reference","id":4}]},"14":{"id":14,"text":"It’s possible to change the default enqueue behavior. You can do so by implementing the EnqueuePolicy interface. For example like this: public class CustomEnqueuePolicy implements EnqueuePolicy> { @Override public EnqueueDecision> decide(DeadLetter> letter, Throwable cause) { if (cause instanceof NullPointerException) { return Decisions.doNotEnqueue(); (1) } if (letter.message().getPayload() instanceof NotificationEvent && letter.enqueuedAt().isAfter(Instant.now().plus(Duration.ofMinutes(5L)))) { return Decisions.evict(); (2) } return Decisions.enqueue(cause); (3) } } 1 No need to put this in a dead letter queue. As this always creates the same NullPointerException, don’t enqueue it. 2 If it’s a notification event, which is already in the queue for 5 minutes, evict the event so it’s not retried again. 3 Default to enqueue the event message again. Below is another example that uses the diagnostics and evicts after trying 5 times: public class CustomEnqueuePolicy implements EnqueuePolicy> { @Override public EnqueueDecision> decide(DeadLetter> letter, Throwable cause) { final int retries = (int) letter.diagnostics().getOrDefault(\"retries\", -1); (1) if (retries l.diagnostics().and(\"retries\", retries + 1)); (2) } return Decisions.evict(); (3) } } 1 Get the retries, default to -1. So on entering the queue, the value is 0. 2 Requeue, increasing the retries. 3 Once it’s retried 5 times, the framework evicts the event message. You can set the policy for a specific group with something like: public class AxonConfig { // omitting other configuration methods... public void configureEnqueuePolicy(EventProcessingConfigurer configurer) { // Replace \"my-processing-group\" for the processing group you want to configure the policy on. configurer.registerDeadLetterPolicy(\"my-processing-group\", config -> new CustomEnqueuePolicy()); } }","title":"Advanced Use Cases","component":"dead-letter-queue-guide","version":"development","name":"advanced","url":"/dead-letter-queue-guide/development/advanced/","titles":[]},"15":{"id":15,"text":"To enable a DLQ you need to configure the SequencedDeadLetterQueue component. Like most components related to event processing, there are implementations available for JPA, JDBC, and Mongo. To best leverage transactions, it’s best to choose the same implementation as the TokenStore and likely also for your projection. Please note that for best results, this also means having them located in the same database, or the same collection. There are two ways of configuring the SequencedDeadLetterQueue. The first approach is to register a DLQ provider in the event processor configuration. This approach allows you to specify processing groups if you want to configure the DLQ only for some of them. As DLQs add complexity and introduce some overhead, you should prefer this method when you don’t need a separate DLQ for each processing group. /** * Register the given {@code deadLetterProvider} as a default to build a {@link SequencedDeadLetterQueue} for * {@link EventProcessor}s created in this configuration. * * The {@code deadLetterProvider} might return null if the given processing group name should not have a sequenced * dead letter queue. An explicitly sequenced dead letter queue set using * {@link #registerDeadLetterQueue(String, Function)} will always have precedence over the one provided by this method. * * @param deadLetterQueueProvider a builder {@link Function} that provides a {@link SequencedDeadLetterQueue} for a * processing group. It's possible to return null depending on the processing group. * @return the current {@link EventProcessingConfigurer} instance, for fluent interfacing */ default EventProcessingConfigurer registerDeadLetterQueueProvider( Function>>> deadLetterQueueProvider) { return this; } The DeadLetterQueueProviderConfigurerModule has an example of how you can use this. @Bean @ConditionalOnMissingBean public DeadLetterQueueProviderConfigurerModule deadLetterQueueProviderConfigurerModule( EventProcessorProperties eventProcessorProperties, EntityManagerProvider entityManagerProvider, TransactionManager transactionManager, Serializer genericSerializer, @Qualifier(\"eventSerializer\") Serializer eventSerializer ) { return new DeadLetterQueueProviderConfigurerModule( eventProcessorProperties, processingGroup -> config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(processingGroup) .entityManagerProvider(entityManagerProvider) .transactionManager(transactionManager) .genericSerializer(genericSerializer) .eventSerializer(eventSerializer) .build() ); } You might notice the EventProcessorProperties parameter. That’s because with Spring autoconfiguration it’s easy to enable dead letter event processing for a specific processing group. You can do so by setting a property similar to axon.eventhandling.processors.first.dlq.enabled=true. In this case, the processing group is firsts. Similarly, you can set caching and cache size. Caching prevents unnecessary calls to the database, at the cost of keeping some of the sequence identifiers in memory. The other way is to add a SequencedDeadLetterQueue to a specific processing group in the EventProcessingConfigurer using the registerDeadLetterQueue method. For example for setting the JpaSequencedDeadLetterQueue on the my-processing-group in a non-Spring context. public class AxonConfig { // omitting other configuration methods... public void configureDeadLetterQueue(EventProcessingConfigurer processingConfigurer) { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. processingConfigurer.registerDeadLetterQueue( \"my-processing-group\", config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .entityManagerProvider(config.getComponent(EntityManagerProvider.class)) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } } Although this enables the processing to continue in case of errors, it doesn’t retry the failed events automatically. The next section explains some of the options to enable retries.","title":"Implementing Dead Letter Queues (DLQ)","component":"dead-letter-queue-guide","version":"development","name":"implementing","url":"/dead-letter-queue-guide/development/implementing/","titles":[{"text":"Register a dead letter queue with the event processor","hash":"_register_a_dead_letter_queue_with_the_event_processor","id":1},{"text":"Add a dead letter queue to a specific processing group","hash":"_add_a_dead_letter_queue_to_a_specific_processing_group","id":2}]},"16":{"id":16,"text":"Once you are running a large application with thousands of events in a production environment, there’s a possibility for errors to occur. For example, an error in your system could occur due to the fact that an external API (such as a payment processing service) is temporarily unavailable. As a result, this may require changing your event messaging code when an error manifests due to a combination of not-tested events. Now, the default configuration for event processors is simply to log any errors that occur. In a production environment, developers have the option to modify the default behavior to throw the error instead. Please note, however, that this can cause an event processor to stop processing events altogether, due to the fact that it will keep trying to process the same event until it stops causing an exception. To prevent this behavior, it’s possible to configure the use of a sequenced Dead Letter Queue (DLQ). With a DLQ, instead of retrying to process the event over and over unsuccessfully, the framework simply places the failed event in a queue. In order to maintain the correct order of such events, the framework also places all further events having the same sequence identifier (by default, the sequence identifier is the aggregate id) directly into the queue. Such an approach ensures that all events for the same aggregate must wait on the event that is causing an exception. As a result, the event processor doesn’t consume resources continuously trying to process unprocessable events. This tutorial guides you through the process of enabling the sequenced Dead Letter Queue for event processing. It also guides you through the process of re-processing the queued events after you fix the processing error.","title":"Dead Letter Queues in Axon Framework","component":"dead-letter-queue-guide","version":"development","name":"index","url":"/dead-letter-queue-guide/development/","titles":[{"text":"Introduction","hash":"_introduction","id":1}]},"17":{"id":17,"text":"The dead letter queue is a stop-gap. It’s important to strive to have the queue empty as soon as possible. Ideally by retrying the events, and removing them from the queue. You can retrieve a SequencedDeadLetterProcessor from the EventProcessingConfiguration based on a processing group name. Additionally, it’s also possible to use AxonIQ Console and process a queue manually. To schedule processing dead letter sequences you can do something like: @Component public class ProcessDeadLetterComponent { private final EventProcessingConfiguration config; ProcessDeadLetterComponent(EventProcessingConfiguration config) { this.config = config; } @Scheduled(fixedDelay = 30_000, initialDelay = 30_000) (1) public void process() { for(String processingGroup : config.eventProcessors().keySet()) { (2) config.sequencedDeadLetterProcessor(processingGroup).ifPresent( SequencedDeadLetterProcessor::processAny (3) ); } } } 1 Spring-specific way to wait 30 seconds, then invoke the method every 30 seconds. You want a large interval to not stress the system too much. Especially as you don’t know what’s going wrong, it might be the application is already having a hard time. 2 A way to get all the processing groups. You might also use different intervals, depending on the processing group. Or don’t have automatic processing for some groups. 3 The processAny() rotates the sequence to try based on when it was last tried. Once there are multiple queues present, it might take some time before they’re all processed with this approach. You could also get the whole queue from the configuration, and process each existing sequence. By default, the framework enqueues a letter again, unless a processor can process it successfully. How to change this, is part of the next session.","title":"Retrying Failed Dead Letter Sequences","component":"dead-letter-queue-guide","version":"development","name":"retrying","url":"/dead-letter-queue-guide/development/retrying/","titles":[]},"18":{"id":18,"text":"The current example, doesn’t use the ability to cancel deadlines. In the case of a gift card, it might be a business rule to publish an event that the gift card expired if it was already depleted. Let’s make a few changes to enable this. The first thing to need to do is to add a remainingValue to the aggregate, so it’s known when there is no value remaining. Then, adding to the command handler: @CommandHandler public void handle(RedeemCardCommand command, DeadlineManager deadlineManager) { //check validity apply(new CardRedeemedEvent(giftCardId, command.amount())); if (remainingValue == 0) { deadlineManager.cancelAllWithinScope(EXPIRED_GIFT_CARD); (1) } } 1 This call cancels all deadlines with the name EXPIRED_GIFT_CARD for this aggregate instance. It’s possible to use the return value from scheduling a deadline to cancel a specific deadline. In this case, there can be at most one deadline scheduled with this name, so this is easier. And the event sourcing handler: @EventSourcingHandler public void on(CardRedeemedEvent event) { remainingValue -= event.amount(); } A test to make sure the deadline cancellation was successful: @Test void testCardNotExpiringIfNothingLeft() { testFixture.givenNoPriorActivity() .andGivenCommands( new IssueExpiringCardCommand(CARD_ID, DAYS, AMOUNT), new RedeemCardCommand(CARD_ID, AMOUNT) ) .whenTimeElapses(Duration.ofDays(31L)) .expectSuccessfulHandlerExecution() .expectNoEvents(); } This should help get you started with deadlines. Don’t forget to switch the implementation to one of the deadline managers which offer persistence before moving to prod.","title":"Advanced Use Cases","component":"deadlines-guide","version":"development","name":"advanced","url":"/deadlines-guide/development/advanced/","titles":[]},"19":{"id":19,"text":"Axon Framework doesn’t create a DeadlineManager automatically for you, so you have to choose from a set of implementations. When setting up deadlines for sagas it’s best to choose a solution based on the saga storage solution. For deadlines in aggregates, it’s best to choose the same storage solution as the Event Store. In case you use Axon Server, it’s best to store deadlines in the same solution as your projections. If you are using a relational database, the DbSchedulerDeadlineManager is the best choice. For MongoDB the JobRunrDeadlineManager would be a good second. Both solutions require a database as a synchronization and persistence layer. For now, sticking to the SimpleDeadlineManager as it’s easier to use. Note that the SimpleDeadlineManager isn’t production-ready, as it doesn’t persist deadlines or communicate between application instances.","title":"Deciding on the Implementation","component":"deadlines-guide","version":"development","name":"deciding","url":"/deadlines-guide/development/deciding/","titles":[]},"20":{"id":20,"text":"The SimpleDeadlineManager is part of the messaging module of Axon Framework and uses Java’s ScheduledExecutorService, therefore, it requires no additional dependencies. You can configure the SimpleDeadlineManager either as an Axon Configuration component or as a Spring Bean. For this how-to, it’s configured as a Spring Bean. @Bean public DeadlineManager deadlineManager( org.axonframework.config.Configuration configuration ) { var provider = new ConfigurationScopeAwareProvider(configuration); return SimpleDeadlineManager .builder() .scopeAwareProvider(provider) .build(); } Depending on the deadline manager there might be multiple values set on the builder. All deadline managers at least need to set the scope-aware provider. @Aggregate public class ExpiringGiftCard { @AggregateIdentifier private String giftCardId; private boolean expired; // some other state left out for brevity private static final String EXPIRED_GIFT_CARD = \"EXPIRED_GIFT_CARD\"; @CommandHandler @CreationPolicy(AggregateCreationPolicy.CREATE_IF_MISSING) public void handle(IssueExpiringCardCommand command, DeadlineManager deadlineManager) { (1) //check validity apply(new ExpiringCardIssuedEvent(command.id(), command.daysValid(), command.amount())); Instant trigger = Instant.now().plus(command.daysValid(), ChronoUnit.DAYS).truncatedTo(ChronoUnit.DAYS); deadlineManager.schedule(trigger, EXPIRED_GIFT_CARD); (2) } @DeadlineHandler(deadlineName = EXPIRED_GIFT_CARD) (3) public void on() { if (!expired){ (4) apply(new ExpiringCardExpiredEvent(giftCardId)); } } @EventSourcingHandler public void on(ExpiringCardIssuedEvent event) { giftCardId = event.id(); expired = false; } @EventSourcingHandler (5) public void on(ExpiringCardExpiredEvent event) { expired = true; } // More handlers are needed to make it useful, left out for brevity. public ExpiringGiftCard() { // Required by Axon to construct an empty instance to initiate Event Sourcing. } } 1 Adding the deadline manager to the method makes it easily testable compared to other ways of accessing it from the aggregate. You can inject this way any component registered in the Axon Configuration, or when using Spring, any bean in the Spring Context. 2 Schedule the deadline, so it triggers at midnight. 3 It’s important to use the same in the annotation as when calling the schedule method. 4 An idempotency check, so even if there is some problem with the deadline manager, the application sends only one ExpiringCardExpiredEvent event. 5 On the ExpiringCardExpiredEvent, change the aggregate’s state.","title":"Implementing Deadlines","component":"deadlines-guide","version":"development","name":"implementing","url":"/deadlines-guide/development/implementing/","titles":[]},"21":{"id":21,"text":"Sometimes, you don’t want to trigger an aggregate or saga directly, but only after some time has passed. When this is the case, you can use a Deadline. Note that if the event you want to publish is a non-domain event, a scheduled event might be a better fit. To use deadlines, you need a DeadlineManager. This tutorial guides you through the basics of starting to work with deadlines. This includes configuring a deadline manager, scheduling, and handling of a deadline, and writing a test for it. Finally, changing it to a more advanced use case by expanding the functionality. As an example it uses an expiring gift card after a certain amount of time has passed.","title":"Deadlines","component":"deadlines-guide","version":"development","name":"index","url":"/deadlines-guide/development/","titles":[]},"22":{"id":22,"text":"Testing behaviour related to deadlines is easy by using either the SagaTestFixture or the AggregateTestFixture. This makes it possible to simulate passing of time, and checking the behaviour. class ExpiringGiftCardTest { private static final String CARD_ID = UUID.randomUUID().toString(); private static final int DAYS = 30; private static final int AMOUNT = 1377; private AggregateTestFixture testFixture; @BeforeEach public void setUp() { testFixture = getTestFixture(); } @Test void testCardExpiredAfterThirtyOneDays() { testFixture.givenNoPriorActivity() .andGivenCommands(new IssueExpiringCardCommand(CARD_ID, DAYS, AMOUNT)) .whenTimeElapses(Duration.ofDays(31L)) (1) .expectSuccessfulHandlerExecution() .expectEvents(new ExpiringCardExpiredEvent(CARD_ID)) .expectTriggeredDeadlinesWithName(\"EXPIRED_GIFT_CARD\"); } private AggregateTestFixture getTestFixture() { return new AggregateTestFixture<>(ExpiringGiftCard.class); } } 1 By elapsing time by 31 days, the deadline should trigger and publish an ExpiringCardExpiredEvent.","title":"Testing the Deadline","component":"deadlines-guide","version":"development","name":"testing","url":"/deadlines-guide/development/testing/","titles":[]},"23":{"id":23,"text":"The Axon Framework uses an IdentifierFactory to generate all identifiers, whether they are for events, commands or queries. The default IdentifierFactory uses randomly generated java.util.UUID based identifiers. Although they are safe to use, the process to generate them does not excel in performance. IdentifierFactory is an abstract factory that uses Java’s ServiceLoader (since Java 6) mechanism to find the implementation to use. This means you can create your own implementation of the factory and put the name of the implementation in a file called /META-INF/services/org.axonframework.common.IdentifierFactory. Java’s ServiceLoader mechanism will detect that file and attempt to create an instance of the class named inside. There are a few requirements for the IdentifierFactory. The implementation must: Have its fully qualified class name as the contents of the /META-INF/services/org.axonframework.common.IdentifierFactory file on the classpath, have an accessible zero-argument constructor, extend IdentifierFactory, be accessible by the context classloader of the application or by the classloader that loaded the IdentifierFactory class, and must Be thread-safe.","title":"Identifier Generation","component":"identifier-generation-guide","version":"development","name":"index","url":"/identifier-generation-guide/development/","titles":[]},"24":{"id":24,"text":"Handler Enhancers allow you to wrap handlers and add custom logic to the execution or eligibility of handlers for a specific message. Handler enhancers differ from message handler interceptors by the access they provide to the message handling component (for example, the aggregate member) at the resolution time. Hence, handler enhancers allow for more fine-grained control. You can use handler enhancers to intercept and perform checks on groups of @MessageHandler annotated methods, like a command, event, or query handler. To create a handler enhancer, you implement the HandlerEnhancerDefinition interface and override the wrapHandler() method. All this method does is give you access to the MessageHandlingMember, which is an object representing any handler specified in the system. You can then filter these handlers based on the type of Message they handle by using the MessageHandlingMember.canHandleMessageType(Class) method. Doing so, you can specifically enhance message handlers dealing with, for example, the CommandMessage. For your handler enhancer to run, you’ll need to create a META-INF/services/org.axonframework.messaging.annotation.HandlerEnhancerDefinition file containing the fully qualified class name of the handler enhancer you have created or register the enhancer explicitly in the Configurer. Here’s an example of a HandlerEnhancerDefinition that filters messages based on an expected MetaData key and value. (1) public class ExampleHandlerDefinition implements HandlerEnhancerDefinition { (2) @Override public MessageHandlingMember wrapHandler(MessageHandlingMember original) { return original.attribute(\"metaDataKey\") (3) .map(attr -> new ExampleMessageHandlingMember<>(original)) .map(member -> (MessageHandlingMember) member) .orElse(original); (6) } private static class ExampleMessageHandlingMember extends WrappedMessageHandlingMember { private final String metaDataKey; private final String expectedValue; private ExampleMessageHandlingMember(MessageHandlingMember delegate) { super(delegate); metaDataKey = (String) delegate.attribute(\"metaDataKey\") .orElseThrow(() -> new IllegalArgumentException( \"Missing expected attribute\" )); expectedValue = (String) delegate.attribute(\"expectedValue\") .orElseThrow(() -> new IllegalArgumentException( \"Missing expected value\" )); } @Override public boolean canHandle(@Nonnull Message message) { (4) return super.canHandle(message) && expectedValue.equals(message.getMetaData().get(metaDataKey)); } } } // ... (5) @HasHandlerAttributes public @interface MyAnnotation { String metaDataKey(); String expectedValue(); } 1 Implement the HandlerEnhancerDefinition interface 2 Override the wrapHandler method to perform your logic. 3 Filter the types of handlers you want to wrap based on a specific attribute, for example, the metaDataKey attribute from the MyAnnotation. 4 Handle the method inside of a MessageHandlingMember. In this case, indicating the handler is only suitable if the meta-data key matches a value. 5 For annotation-specific attributes to exist in the MessageHandlingMember’s attribute collection, meta-annotation the custom annotation with HasHandlerAttributes. 6 If you are not interested in wrapping the handler, return the original passed into the wrapHandler method. To configure your HandlerEnhancerDefintion, you can (1) register it directly with the Configurer or (2) make it a part of the Application Context when you are in a Spring environment. Axon Configuration API SpringBoot AutoConfiguration public class AxonConfig { // omitting other configuration methods... public void registerExampleHandlerDefinition(Configurer configurer) { configurer.registerHandlerEnhancerDefinition(config -> new ExampleHandlerDefinition()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ExampleHandlerDefinition exampleHandlerDefinition() { return new ExampleHandlerDefinition(); } }","title":"Handler Enhancers","component":"message-handler-customization-guide","version":"development","name":"handler-enhancers","url":"/message-handler-customization-guide/development/handler-enhancers/","titles":[]},"25":{"id":25,"text":"Customization of message handling can become a desired tweak in your application. Think of changing how messages are handled or what parameters will be injected into your message handling functions. Overriding annotations can be useful when implementing best practices that have been established within your team, providing defaults or restrictions of how annotations may be used. However, they can also be useful when special behavior needs to be added to message handlers based on the presence of an annotation.","title":"Customizing Message Handlers","component":"message-handler-customization-guide","version":"development","name":"index","url":"/message-handler-customization-guide/development/","titles":[]},"26":{"id":26,"text":"You can configure additional ParameterResolvers by extending the ParameterResolverFactory class and creating a file named /META-INF/services/org.axonframework.messaging.annotation.ParameterResolverFactory containing the fully qualified name of the implementing class. At this moment, OSGi support is limited due to the fact that the required headers are mentioned in the manifest file. The automatic detection of ParameterResolverFactory instances works in OSGi, but due to classloader limitations, it might be necessary to copy the contents of the /META-INF/services/org.axonframework.messaging.annotation.ParameterResolverFactory file to the OSGi bundle containing the classes to resolve parameters for (that is, the event handler).","title":"Parameter Resolvers","component":"message-handler-customization-guide","version":"development","name":"parameter-resolvers","url":"/message-handler-customization-guide/development/parameter-resolvers/","titles":[]},"27":{"id":27,"text":"Most annotations in Axon can be placed on other annotations as meta-annotations. When Axon scans for annotations, it will automatically scan meta-annotations as well. Annotations can override the properties defined on the meta-annotations, if desired. For example, if you have a practice in your development team that payloads are always represented as JSON and you want the command name to be explicitly configured, you could create your own annotation: @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.ANNOTATION_TYPE}) @CommandHandler(payloadType = JsonNode.class) public @interface JsonCommandHandler { String commandName; String routingKey() default \"\"; } By specifying the payloadType on the @CommandHandler meta-annotation, this becomes the value used for all Command Handlers annotated with JsonCommandHandler. These command handlers may (and should) still provide a parameter for the payload, but Axon will complain if it isn’t a subclass of JsonNode. The commandName attribute on the JsonCommandHandler annotation does not have a default value, and will therefore force developers to specify the name of the command. Note that to override values the attribute name must identical to the name on the @CommandHandler meta-annotation. Lastly, the routingKey property is defined exactly as in the @CommandHandler annotation’s specification to still allow developers to choose to provide a Routing Key when using the JsonCommandHandler. When writing custom logic to access properties of annotations that may be meta-annotated, be sure to use the AnnotationUtils#findAnnotationAttributes(AnnotatedElement, String) method, or the annotationAttributes on the MessageHandlingMember. Using Java’s annotation API will not take meta-annotations into consideration.","title":"Meta Annotations","component":"meta-annotations-guide","version":"development","name":"index","url":"/meta-annotations-guide/development/","titles":[]},"28":{"id":28,"text":"This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help build applications based on Domain-Driven Design, CQRS, and Event-Sourcing. AxonIQ Console is the platform to monitor and manage your Axon Framework applications. It provides insights into the performance and behavior of your application, and allows you to manage your application’s event processors. You can also get scalable Axon Server licenses with scalable pricing, and manage your Axon Server instances. For more information, see the AxonIQ Console Reference Guide or sign up directly. A summary of the various subsections is given below. Sub-Section Purpose Messaging Concepts Conceptual overview of \"Messages\" within the Axon Framework Commands Command Message Development using the Axon Framework Events Event Message Development using the Axon Framework Queries Query Message Development using the Axon Framework Sagas Long Running Transaction development using the Axon Framework Testing Testing capabilities provided by the Axon Framework Serialization Details on the serialization capabilities provided by the Axon Framework Tuning Tuning capabilities provided by the Axon Framework Monitoring and Metrics Monitoring and Metric capabilities provided by the Axon Framework Spring Boot Integration Axon Framework integration with Spring Boot Upgrading to 4.7 Step-by-step plan explaining how to upgrade to Axon Framework 4.7 from 4.6 Modules Modules provided by the Axon Framework","title":"Introduction","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/","titles":[{"text":"New: Easy monitoring and management","hash":"console","id":1},{"text":"Reference sections","hash":"_reference_sections","id":2}]},"29":{"id":29,"text":"As with any tool, library, or framework, there are well-known issues you might find with Axon Framework. Since Axon Framework integrates with many other tools, it is challenging to find the perfect solution for every scenario. This page provides the biggest \"gotchas,\" with optional workarounds. Where is issue XYZ? This page can by no means contain all possible issues. However, we are open for suggestions. This documentation, just as the framework, is open source. Hence, if you have found something problematic that you think should be added to the list, be sure to file an issue and (ideally!) a pull request. You can make an enhancement request by clicking here. When looking to provide a pull request, be sure to adjust this file. When storing the serialized formats of, for example, tokens, sagas, snapshots, or events, it is good to know Axon uses JPAs @Lob annotation for these columns. This choice combined with PostgreSQL and Hibernate, causes unexpected behavior for most. PostgreSQL has a feature called \"Large Object Storage\", which moves LOB, BLOB, and CLOB columns to a singular large object storage table. Instead of the LOB/BLOB/CLOB type, the column will be of type OID (object identifier). Hences, the rows will contain this OID instead of the data directly. Hibernate will default @Lob annotated fields to go through this Large Object Storage feature, by automatically mapping to the OID type. Hence, in such a setup, all your serialized tokens, sagas, snapshots, and events will automatically move to another table, with all added overhead coming with it. Using Axon Server will, obviously, resolve this for your events and snapshots, as you would no longer use an RDBMS in that case. However, even when using Axon Server, the predicament remains for tokens and sagas. For those cases, it would be wise to adjust the Hibernate mapping. The most straightforward way, is to enforce the use of the BYTEA column type; with some additional steps, of course. For a full explanation and walkthrough, please check the PostegreSQL, LOB annotated columns, and default Hibernate mapping tuning page. For the JPA entities that require a generated sequence, we decided to use the default @GeneratedValue annotation back in 2016. In the pre-Hibernate-6 age, this typically resulted in the construction of a single sequence generator that would be reused by several tables. This can be regarded as suboptimal, as frequently, the sequence generator would be reused between tables. Especially given the nature of the global_index column on the domain_event_entry table, which is used to keep the progress in streaming event processors, a reused generator, causes unexpected gaps in event processing. Although Axon Framework can deal with these gaps, they make the queries to the domain_event_entry table rather bulky. Just as with any event storage solution, using a dedicated event store implementation like Axon Server will solve the problem entirely. Instead of using Axon Server, it is also possible to define sequence generators manually for Axon’s entities. The Relational Database Tuning page contains a section on how to do this, called Auto-Increment and Sequences. As described earlier, the @GeneratedValue was introduced in 2016. With the recent move to Hibernate 6, which defaults the increment value to 50, the problem of gaps or unintended reuse between tables has only become bigger. Especially when combining this with Axon’s multitenancy extension, the new default behavior of Hibernate 6 might cause uniqueness issues in this way. Hence, given the history on the subject, and the Axon-team having explained this predicament more frequent than they can count, we intend to address the sequence generation behavior in Axon Framework 5.","title":"Known Issues and Workarounds","component":"axon-framework-reference","version":"development","name":"known-issues-and-workarounds","url":"/axon-framework-reference/development/known-issues-and-workarounds/","titles":[{"text":"PostgreSQL and large object storage","hash":"_postgresql_and_large_object_storage","id":1},{"text":"Sequence generation issues with JPA Entities","hash":"_sequence_generation_issues_with_jpa_entities","id":2}]},"30":{"id":30,"text":"Axon Framework consists of a number of modules that provide specific capabilities. Depending on the exact needs of your project, you will need to include one or more of these modules. There are currently two ways of obtaining the module binaries: either download the binaries from our website or preferably configure a repository for your build system (Maven, Gradle). To not be bothered with version compatibility issues between framework and the extensions, it is recommended to use the BOM. Axon modules are available on Maven Central. Axon 'Main Modules' are the modules that have been thoroughly tested and are robust enough to use in demanding production environments. The maven groupId of all these modules is org.axonframework. Visit Maven Central Repository to copy coordinates for the version you need. Quick start an Axon Application The Axon Spring Boot Starter module is the quickest start in to an Axon project as it will retrieve all the required modules/dependencies transitively. Alternatively, you can manually select individual modules for a customized configuration. Module Artifact Id Group Id Maven Central Axon messaging axon-messaging org.axonframework available Axon modelling axon-modelling org.axonframework available Axon Event Sourcing axon-eventsourcing org.axonframework available Axon Configuration axon-configuration org.axonframework available Axon test axon-test org.axonframework available Axon Server Connector axon-server-connector org.axonframework available Axon Spring axon-spring org.axonframework available Axon Spring Boot Starter axon-spring-boot-starter org.axonframework available Axon Disruptor axon-disruptor org.axonframework available Axon Metrics axon-metrics org.axonframework available Axon Micrometer axon-micrometer org.axonframework available Axon legacy axon-legacy org.axonframework available Axon Tracing OpenTelemetry axon-tracing-opentelemetry org.axonframework available This module contains all necessary components and building blocks to support command, event and query messaging. This module contains the necessary components to create domain models, like Aggregates and Sagas. This module contains all necessary infrastructure components to support Event Sourcing, Command and Query Models. This module contains test fixtures that you can use to test Axon based components, such as your Command Handlers, Aggregates and Sagas. You typically do not need this module at runtime and will only need to be added to the classpath for running tests. This module contains all the necessary components to configure an Axon application. This module provides infrastructure components that connect to Axon Server. This module allows Axon Framework components to be configured in the Spring Application context. It also provides a number of building block implementations specific to Spring Framework, such as an adapter for publishing and retrieving Axon Events on a Spring Messaging Channel. This module provides Spring Boot auto-configuration for your project. It is by far the easiest option to get started as it automatically configures all Axon components. It is explained in more details here. This module contains a specific CommandBus and Command Handling solution based on the Disruptor paradigm. This module provides basic implementations based on Coda Hale to collect the monitoring information. This module provides basic implementations based on Micrometer to collect the monitoring information. Micrometer is a dimensional-first metrics collection facade whose aim is to allow you to time, count, and gauge your code with a vendor neutral API. This module contains components that enable migration of older Axon projects to use the latest Axon version. This module contains the components needed to enable tracing with OpenTelemetry. Besides main modules, there are several extension modules which complement Axon Framework. They address distribution concerns of Axon Framework towards non-Axon Server solutions. The maven groupId of these extensions starts with org.axonframework.extensions.*. Visit Maven Central Repository to copy coordinates for the version you need. Module Artifact Id Group Id Maven Central GitHub Axon AMQP axon-amqp org.axonframework.extensions.amqp available available Axon AMQP Spring Boot Starter axon-amqp-spring-boot-starter org.axonframework.extensions.amqp available available Axon CDI axon-cdi org.axonframework.extensions.cdi available available Axon JGroups axon-jgroups org.axonframework.extensions.jgroups available available Axon JGroups Spring Boot Starter axon-jgroups-spring-boot-starter org.axonframework.extensions.jgroups available available Axon JobRunr Pro axon-jobrunrpro org.axonframework.extensions.jobrunrpro available available Axon JobRunr Pro Spring Boot Starter axon-jobrunrpro-spring-boot-starter org.axonframework.extensions.jobrunrpro available available Axon Kafka axon-kafka org.axonframework.extensions.kafka available available Axon Kafka Spring Boot Starter axon-kafka-spring-boot-starter org.axonframework.extensions.kafka available available Axon Kotlin axon-kotlin org.axonframework.extensions.kotlin available available Axon Kotlin Test axon-kotlin-test org.axonframework.extensions.kotlin available available Axon Mongo axon-mongo org.axonframework.extensions.mongo available available Axon Mongo Spring Boot Starter axon-mongo-spring-boot-starter org.axonframework.extensions.mongo available available Axon Multi Tenancy axon-multitenancy org.axonframework.extensions.multitenancy available available Axon Multi Tenancy Spring Boot Starter axon-multitenancy-spring-boot-starter org.axonframework.extensions.multitenancy available available Axon Reactor axon-reactor org.axonframework.extensions.reactor available available Axon Reactor Spring Boot Starter axon-reactor-spring-boot-starter org.axonframework.extensions.reactor available available Axon Spring ahead of time axon-spring-aot org.axonframework.extensions.spring-aot available available Axon Spring Cloud axon-springcloud org.axonframework.extensions.springcloud available available Axon Spring Cloud Spring Boot Starter axon-springcloud-spring-boot-starter org.axonframework.extensions.springcloud available available Axon Tracing axon-tracing org.axonframework.extensions.tracing available available Axon Tracing Spring Boot Starter axon-tracing-spring-boot-starter org.axonframework.extensions.tracing available available This module provides components that allow you leverage an AMQP-based message broker as an Event Message distribution mechanism. This allows for guaranteed-delivery, even when the Event Handler node is temporarily unavailable. This module provides Spring auto-configuration on top of the axon-amqp module. This module provides support for Contexts and Dependency Injection (CDI) for the Java EE platform. This module provides integration with JGroups for command distribution. JGroups should be regarded as a reliable messaging toolkit. This module provides Spring auto-configuration on top of the axon-jgroups module This module provides integration with JobRunr Pro. This module provides Spring auto-configuration on top of the axon-jobrunrpro module This module provides integration with Kafka for event distribution. As such it plays a similar role as the Axon AMQP extension and thus is not a replacement Event Storage mechanism. Kafka is a distributed message streaming platform. This module provides Spring auto-configuration on top of the axon-kafka module. This module provides a set of reified operations, among others, to allow a cleaner Kotlin coding experience when using Axon. This module provides a set of reified operations, among others, to allow a cleaner Kotlin coding experience when testing Axon applications. This module provides event and saga store implementations that store event streams and sagas in a MongoDB database. MongoDB is a document based NoSQL database. This module provides Spring auto-configuration on top of the axon-mongo module. This module provides distinct wrappers for Axon Framework’s infrastructure components to support multi tenancy within a single application. Use of this extension is most easily achieved with Axon Server, through using its multi-context feature, albeit not limited to this. This module provides Spring auto-configuration on top of the axon-multitenancy module. Note that this assumes an active Axon Server connection be present. This module provides integration with Project Reactor. This module provides Spring auto-configuration on top of the axon-reactor module. This module provides integration with Spring Ahead of Time. Spring AOT processing is part of creating a native image from a Spring (Boot) application. This module provides integration with Spring Cloud for command distribution. Spring Cloud provides an API for common distributed system patterns. This module provides Spring auto-configuration on top of the axon-springcloud module This module provides support for distributed tracing of Axon applications. The Open Tracing standard is used to provide the tracing capabilities. If you’re looking for Open Telemetry support, please check our documentation for that over here. This module provides Spring auto-configuration on top of the axon-tracing module In addition to the main framework modules and the extensions, Axon also has a Bill of Materials, or BOM. The BOM is provided to ensure the use of compatible framework and extension dependencies inside an Axon application. As such, it is the recommended approach towards defining the overall Axon version used inside of an application. Module Artifact Id Group Id Maven Central GitHub Axon Bill of Materials axon-bom org.axonframework available available For using the BOM, you would add the axon-bom dependency to your dependency management system: Maven Gradle org.axonframework axon-bom ${version.axon} pom import ... For usage with Gradle Version 4.x and below, apply the dependency-management-plugin like so: buildscript { repositories { jcenter() } dependencies { classpath \"io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE\" } } apply plugin: \"io.spring.dependency-management\" After this, import the Axon BOM: dependencyManagement { imports { mavenBom 'org.axonframework:axon-bom:' } } Beginning with Gradle version 5.0, you can also omit the dependency-management plugin and instead use the platform dependency DSL to import maven BOMs: implementation(platform(\"org.axonframework:axon-bom:\")) After that is in place, you can add any of the mentioned dependencies from framework and the extensions without specifying versions. Furthermore, you will be guaranteed that the provided versions in the BOM are compatible with one another.","title":"Modules","component":"axon-framework-reference","version":"development","name":"modules","url":"/axon-framework-reference/development/modules/","titles":[{"text":"Main modules","hash":"_main_modules","id":1},{"text":"Axon messaging","hash":"_axon_messaging","id":2},{"text":"Axon modelling","hash":"_axon_modelling","id":3},{"text":"Axon Event Sourcing","hash":"_axon_event_sourcing","id":4},{"text":"Axon test","hash":"_axon_test","id":5},{"text":"Axon Configuration","hash":"_axon_configuration","id":6},{"text":"Axon Server Connector","hash":"_axon_server_connector","id":7},{"text":"Axon Spring","hash":"_axon_spring","id":8},{"text":"Axon Spring Boot Starter","hash":"_axon_spring_boot_starter","id":9},{"text":"Axon Disruptor","hash":"_axon_disruptor","id":10},{"text":"Axon Metrics","hash":"_axon_metrics","id":11},{"text":"Axon Micrometer","hash":"_axon_micrometer","id":12},{"text":"Axon legacy","hash":"_axon_legacy","id":13},{"text":"Axon Tracing OpenTelemetry","hash":"_axon_tracing_opentelemetry","id":14},{"text":"Extension modules","hash":"_extension_modules","id":15},{"text":"Axon AMQP","hash":"_axon_amqp","id":16},{"text":"Axon AMQP Spring Boot Starter","hash":"_axon_amqp_spring_boot_starter","id":17},{"text":"Axon CDI","hash":"_axon_cdi","id":18},{"text":"Axon JGroups","hash":"_axon_jgroups","id":19},{"text":"Axon JGroups Spring Boot Starter","hash":"_axon_jgroups_spring_boot_starter","id":20},{"text":"Axon JobRunr Pro","hash":"_axon_jobrunr_pro","id":21},{"text":"Axon JobRunr Pro Spring Boot Starter","hash":"_axon_jobrunr_pro_spring_boot_starter","id":22},{"text":"Axon Kafka","hash":"_axon_kafka","id":23},{"text":"Axon Kafka Spring Boot Starter","hash":"_axon_kafka_spring_boot_starter","id":24},{"text":"Axon Kotlin","hash":"_axon_kotlin","id":25},{"text":"Axon Kotlin Test","hash":"_axon_kotlin_test","id":26},{"text":"Axon Mongo","hash":"_axon_mongo","id":27},{"text":"Axon Mongo Spring Boot Starter","hash":"_axon_mongo_spring_boot_starter","id":28},{"text":"Axon Multi Tenancy","hash":"_axon_multi_tenancy","id":29},{"text":"Axon Multi Tenancy Spring Boot Starter","hash":"_axon_multi_tenancy_spring_boot_starter","id":30},{"text":"Axon Reactor","hash":"_axon_reactor","id":31},{"text":"Axon Reactor Spring Boot Starter","hash":"_axon_reactor_spring_boot_starter","id":32},{"text":"Axon Spring ahead of time","hash":"_axon_spring_ahead_of_time","id":33},{"text":"Axon Spring Cloud","hash":"_axon_spring_cloud","id":34},{"text":"Axon Spring Cloud Spring Boot Starter","hash":"_axon_spring_cloud_spring_boot_starter","id":35},{"text":"Axon Tracing","hash":"_axon_tracing","id":36},{"text":"Axon Tracing Spring Boot Starter","hash":"_axon_tracing_spring_boot_starter","id":37},{"text":"Axon Bill of Materials","hash":"_axon_bill_of_materials","id":38}]},"31":{"id":31,"text":"The flow of messages between (micro)services and storage of events requires preparation of the messages through serialization. Axon uses the XStreamSerializer by default, which uses XStream to serialize into and deserialize from XML. XStream is reasonably fast, and the result of serialization is human-readable. This makes it quite useful for logging and debugging purposes. The XStreamSerializer allows further customization if that’s required. You can, for example, define aliases for specific packages, classes, or even fields. In addition to being an excellent way to shorten potentially long names, you can also use aliases when class definitions of the serialized objects change. For more information about aliases, visit the XStream website. Additionally, Axon provides the JacksonSerializer. This Serializer implementation uses Jackson to serialize objects into and deserialize from JSON. It produces a more compact serialized form, while requiring those classes to stick to Jackson’s conventions (or configuration). The compact format makes it ideal for events, commands, and queries, as it minimizes the storage space and package size. You may also implement your own serializer simply by creating a class that implements Serializer and setting it within Axon’s configuration for the desired infrastructure components. Serializers come in several flavors in Axon Framework and are used for various things. Currently, you can choose between the XStreamSerializer and JacksonSerializer to serialize messages (commands/queries/events), tokens, snapshots, deadlines and sagas in an Axon application. As there are several objects to be serialized, it is typically desired to chose which serializer handles which object. To that end, the Configuration API allows you to define default, message and event serializers, which lead to the following object-serialization break down: The Event Serializer is in charge of (de)serializing event message payload and metadata. Events are typically stored in an event store for a long period of time. This is the main driver for choosing the event serializer implementation. The Message Serializer is in charge of (de)serializing the command and query message payload and metadata (used in a distributed application setup). Messages are shared between nodes and typically need to be interoperable and/or compact. Take this into account when choosing the message serializer implementation. The default Serializer is in charge of (de)serializing the remainder, being the messages (except the payload and metadata), tokens, snapshots, deadlines and sagas. These objects are generally not shared between different applications, and most of these classes aren’t expected to have some of the getters and setters that are, for example, typically required by Jackson based serializers. For example, a QueryMessage consists of a payload and ResponseType, which will respectively be (de)serialized using the message and the default serializer, the query request and response payload will be (de)serialized using the`message`serializer. A flexible, general-purpose serializer like XStream is ideal for this purpose. By default, all three Serializer flavors are set to use the XStreamSerializer, which internally uses XStream to serialize objects to an XML format. XML is verbose, but XStream has the major benefit of being able to serialize virtually anything. XStream and JDK 17 Although XStream can \"serialize virtually anything,\" more recent versions of the JDK impede its flexibility. This predicament comes down to XStream’s reflective approach to finding out how to de-/serialize any object, which has become problematic with Java’s intent to secure its internals. Hence, if you’re using JDK 17, the chances are that objects (for example, your sagas) intended for serialization require additional configuration. On some occasions configuring XStream’s security settings is sufficient. Other times you will have to introduce custom Converters to de-/serialize specific types. If you prefer not to deal with specific XStream settings, it might be better to use the JacksonSerializer throughout your Axon application. XML’s verbosity is typically fine when storing tokens, sagas, or snapshots, but for messages (and specifically events) XML might cost too much due to its serialized size. Thus for optimization reasons you can configure different serializers for your messages. Another valid reason for customizing serializers is to achieve interoperability between different (Axon) applications, where the receiving end potentially enforces a specific serialized format. There is an implicit ordering between the configurable serializer. If no event Serializer is configured, the event de-/serialization will be performed by the message Serializer. In turn, if no message Serializer is configured, the default Serializer will take that role. See the following example on how to configure each serializer specifically, were we use the XStreamSerializer as the default and the JacksonSerializer for all our messages: public class SerializerConfiguration { public void serializerConfiguration(Configurer configurer) { // By default, we want the XStreamSerializer XStream xStream = new XStream(); // Set the secure types on the xStream instance XStreamSerializer defaultSerializer = XStreamSerializer.builder() .xStream(xStream) .build(); // But for all our messages we'd prefer the JacksonSerializer due to JSON's smaller format JacksonSerializer messageSerializer = JacksonSerializer.defaultSerializer(); configurer.configureSerializer(configuration -> defaultSerializer) .configureMessageSerializer(configuration -> messageSerializer) .configureEventSerializer(configuration -> messageSerializer); } } @Configuration public class SerializerConfiguration { // By default, we want the XStreamSerializer @Bean public Serializer defaultSerializer() { // Set the secure types on the xStream instance XStream xStream = new XStream(); return XStreamSerializer.builder() .xStream(xStream) .build(); } // But for all our messages we'd prefer the JacksonSerializer due to JSON's smaller format @Bean @Qualifier(\"messageSerializer\") public Serializer messageSerializer() { return JacksonSerializer.defaultSerializer(); } } # Possible values for these keys are `default`, `xstream`, `java`, and `jackson`. axon.serializer.general axon.serializer.events axon.serializer.messages # Possible values for these keys are `default`, `xstream`, `java`, and `jackson`. axon: serializer: general: events: messages: Several things might be considered when the serialization process proofs to not be up to par with the expectations. XStream is extremely configurable and extensible. If you just use a plain XStreamSerializer, there are some quick wins ready to pick up. XStream allows you to configure aliases for package names and event class names. Aliases are typically much shorter (especially if you have long package names), making the serialized form of an event smaller. And since we’re talking XML, each character removed from XML is twice the profit (one for the start tag, and one for the end tag). A more advanced topic in XStream is creating custom converters. The default reflection based converters are simple, but do not generate the most compact XML. Always look carefully at the generated XML and see if all the information there is really needed to reconstruct the original instance. Avoid the use of upcasters when possible. XStream allows aliases to be used for fields, when they have changed name. Imagine revision 0 of an event, that used a field called \"clientId\". The business prefers the term \"customer\", so revision 1 was created with a field called \"customerId\". This can be configured completely in XStream, using field aliases. You need to configure two aliases, in the following order: alias \"customerId\" to \"clientId\" and then alias \"customerId\" to \"customerId\". This will tell XStream that if it encounters a field called \"customerId\", it will call the corresponding XML element \"customerId\" (the second alias overrides the first). If XStream encounters an XML element called \"clientId\", it is a known alias and will be resolved to field name \"customerId\". Check out the XStream documentation for more information. For ultimate performance, you’re probably better off without reflection based mechanisms altogether. In that case, it is probably wisest to create a custom serialization mechanism. The DataInputStream and DataOutputStream allow you to easily write the contents of the events to an output stream. The ByteArrayOutputStream and ByteArrayInputStream allow writing to and reading from byte arrays. Especially in distributed systems, event messages need to be serialized on multiple occasions. Axon’s components are aware of this and have support for SerializationAware messages. If a SerializationAware message is detected, its methods are used to serialize an object, instead of simply passing the payload to a serializer. This allows for performance optimizations. When you serialize messages yourself, and want to benefit from the SerializationAware optimization, use the MessageSerializer class to serialize the payload and metadata of messages. All optimization logic is implemented in that class. See the JavaDoc of the MessageSerializer for more details. When using event sourcing, serialized events can stick around for a long time. Therefore, consider the format to which they are serialized, carefully. Consider configuring a separate serializer for events, carefully optimized for the way they are stored. The JSON format generated by Jackson is generally more suitable for the long term than XStream’s XML format. \"Being lenient\" from the Serializer’s perspective means the Serializer can ignore unknown properties. If it thus was handling a format to deserialize, it would not fail when it is incapable of finding a field / setter / constructor parameter for a given field in the serialized format. Enabling lenient serialization can be especially helpful to accommodate different message versions. This situation would occur naturally when using an event store, as the format of the events would change overtime. This might also happen between commands and queries if several distinct versions of an application are run concurrently. A scenario when you would hit this is when going for a rolling upgrade pattern to deploying a new service. To accommodate more closely with the desire to ignore unknown fields, both the XStreamSerializer and JacksonSerializer can be enabled as such. How to achieve this is shown in the following snippet: public class SerializerConfiguration { public Serializer buildSerializer() { return XStreamSerializer.builder() .lenientDeserialization() .build(); } } public class SerializerConfiguration { public Serializer buildSerializer() { return JacksonSerializer.builder() .lenientDeserialization() .build(); } } Sometimes the objects serialized by Axon will contain lists or collections of data. In other words, objects containing generics. For XStream, this poses no problem, as it will automatically add the type information to the serialized format. Jackson does not do this out of the box, however. The recommended approach by Jackson is to use the @JsonTypeInfo to define type information. Doing so will attach the object type to your, for example, serialized list/collection. This approach ensures that the other end can reconstruct the concrete type for you. Additionally, you can configure the ObjectMapper to add default typing information directly. However, note that this may not be a secure approach, as is described on Jackson’s Polymorphic Deserialization page. If you prefer to enable default typing regardless, the JacksonSerializer’s builder provides a method to allow this for you. With JacksonSerializer.Builder#defaultTyping, you will automatically enable the addition of types to the serialized format for lists and collections. Consider the following sample on how to enable default typing for the JacksonSerializer: public class SerializerConfiguration { // ... public Serializer buildSerializer() { return JacksonSerializer.builder() .defaultTyping() .build(); } } An upcaster works on a given content type (for example, dom4j Document). To provide extra flexibility between upcasters, content types between chained upcasters may vary. Axon will try to convert between the content types automatically by using a ContentTypeConverter. It will search for the shortest path from type x to type y, perform the conversion and pass the converted value into the requested upcaster. For performance reasons, conversion will only be performed if the canUpcast method on the receiving upcaster yields true. The ContentTypeConverter may depend on the type of serializer used. Attempting to convert a byte[] to a dom4j Document will not make any sense unless a Serializer was used that writes an event as XML. Axon Framework will only use the generic content type converters (such as the one converting a String to byte[] or a byte[] to InputStream) and the converters configured on the Serializer that will be used to deserialize the message. That means if you use a JSON based serializer, you would be able to convert to and from JSON-specific formats. ContentTypeConverters and Upcasting To achieve the best performance, ensure that all upcasters in the same chain (where one’s output is another chain’s input) work on the same content type. If Axon does not provide the content type conversion that you need, you can always write one yourself by implementing the ContentTypeConverter interface. The XStreamSerializer supports dom4j as well as XOM as XML document representations. The JacksonSerializer supports Jackson’s JsonNode and ObjectNode.","title":"Serialization","component":"axon-framework-reference","version":"development","name":"serialization","url":"/axon-framework-reference/development/serialization/","titles":[{"text":"Serializer Implementations","hash":"_serializer_implementations","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot - configuration class","hash":"_spring_boot_configuration_class","id":3},{"text":"Spring Boot - properties file","hash":"_spring_boot_properties_file","id":4},{"text":"Spring Boot - YAML file","hash":"_spring_boot_yaml_file","id":5},{"text":"Serializer tuning","hash":"_serializer_tuning","id":6},{"text":"XStreamSerializer","hash":"_xstreamserializer","id":7},{"text":"Preventing duplicate serialization","hash":"_preventing_duplicate_serialization","id":8},{"text":"Different serializer for events","hash":"different-serializer-for-events","id":9},{"text":"Lenient Deserialization","hash":"_lenient_deserialization","id":10},{"text":"XStreamSerializer","hash":"_xstreamserializer_2","id":11},{"text":"JacksonSerializer","hash":"_jacksonserializer","id":12},{"text":"Generic types","hash":"_generic_types","id":13},{"text":"ContentTypeConverters","hash":"_contenttypeconverters","id":14}]},"32":{"id":32,"text":"Axon Framework provides extensive support for Spring, but does not require you to use Spring in order to use Axon. All components can be configured programmatically and do not require Spring on the classpath. However, if you do use Spring, much of the configuration is made easier with the use of Spring’s annotation support. Axon provides Spring Boot starters on the top of that, so you can benefit from auto-configuration as well. Axon’s Spring Boot auto-configuration is by far the easiest option to get started configuring your Axon components. By simply declaring dependency to axon-spring-boot-starter, Axon will automatically configure the infrastructure components (command bus, event bus, query bus), as well as any component required to run and store aggregates and sagas. With Spring Data-JPA, a JPA Persistence Context is automatically configured. Axon’s Spring Boot Autoconfiguration module will make sure Axon’s JPA Entities are automatically registered with this default context. Since 4.6.0. we use the jakarta.persistence namespace by default, for backwards compatibility classes using the javax.persistence are available in the new legacyjpa namespace. However, when you explicitly include certain packages, for example using an @EntityScan annotation, this autoconfiguration will not happen anymore. If you then wish to use JPA based components from Axon, you will need to make sure the right Entities are registered. To register Axon’s JPA Entities, include the relevant packages, as described below: org.axonframework.eventhandling.tokenstore contains the entities necessary for the TokenStore used by Event Processors. org.axonframework.modelling.saga.repository.jpa contains the entities necessary to persist Sagas org.axonframework.eventsourcing.eventstore.jpa contains the entities necessary for the JPA Event Storage engine, when using a relational database as the Event Store. With a lot of things happening in the background, it sometimes becomes difficult to understand how an annotation or just including a dependency enables so many features. axon-spring-boot-starter follows general Spring boot convention in structuring the starter. It depends on axon-spring-boot-autoconfigure which holds concrete implementation of Axon auto-configuration. When Axon Spring Boot application starts up, it looks for a file named spring.factories in the classpath. This file is located in the META-INF directory of axon-spring-boot-autoconfigure module: org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\ org.axonframework.springboot.autoconfig.MetricsAutoConfiguration,\\ org.axonframework.springboot.autoconfig.MicrometerMetricsAutoConfiguration,\\ org.axonframework.springboot.autoconfig.EventProcessingAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonAutoConfiguration,\\ org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxAutoConfiguration,\\ org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxEventStoreAutoConfiguration,\\ org.axonframework.springboot.autoconfig.JpaAutoConfiguration,\\ org.axonframework.springboot.autoconfig.JpaEventStoreAutoConfiguration,\\ org.axonframework.springboot.autoconfig.JdbcAutoConfiguration,\\ org.axonframework.springboot.autoconfig.TransactionAutoConfiguration,\\ org.axonframework.springboot.autoconfig.NoOpTransactionAutoConfiguration,\\ org.axonframework.springboot.autoconfig.InfraConfiguration,\\ org.axonframework.springboot.autoconfig.ObjectMapperAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonServerAutoConfiguration,\\ org.axonframework.springboot.autoconfig.XStreamAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonServerActuatorAutoConfiguration,\\ org.axonframework.springboot.autoconfig.AxonServerBusAutoConfiguration, \\ org.axonframework.springboot.autoconfig.AxonTracingAutoConfiguration, \\ org.axonframework.springboot.autoconfig.OpenTelemetryAutoConfiguration This file maps different configuration classes which an Axon Spring Boot application will try to apply. So, as per this snippet, Spring Boot will try to apply all the configuration classes for AxonServerAutoConfiguration, AxonAutoConfiguration, … axon-spring-boot-starter follows general Spring boot convention in structuring the starter. It depends on axon-spring-boot-autoconfigure which holds concrete implementation of Axon auto-configuration. When Axon Spring Boot application starts up, it looks for a file named org.springframework.boot.autoconfigure.AutoConfiguration.imports in the classpath. This file is located in the META-INF/spring directory of axon-spring-boot-autoconfigure module: org.axonframework.springboot.autoconfig.AxonAutoConfiguration org.axonframework.springboot.autoconfig.AxonServerActuatorAutoConfiguration org.axonframework.springboot.autoconfig.AxonServerAutoConfiguration org.axonframework.springboot.autoconfig.AxonServerBusAutoConfiguration org.axonframework.springboot.autoconfig.AxonTracingAutoConfiguration org.axonframework.springboot.autoconfig.EventProcessingAutoConfiguration org.axonframework.springboot.autoconfig.InfraConfiguration org.axonframework.springboot.autoconfig.JdbcAutoConfiguration org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxAutoConfiguration org.axonframework.springboot.autoconfig.legacy_jpa.JpaJavaxEventStoreAutoConfiguration org.axonframework.springboot.autoconfig.JpaAutoConfiguration org.axonframework.springboot.autoconfig.JpaEventStoreAutoConfiguration org.axonframework.springboot.autoconfig.MetricsAutoConfiguration org.axonframework.springboot.autoconfig.MicrometerMetricsAutoConfiguration org.axonframework.springboot.autoconfig.NoOpTransactionAutoConfiguration org.axonframework.springboot.autoconfig.ObjectMapperAutoConfiguration org.axonframework.springboot.autoconfig.OpenTelemetryAutoConfiguration org.axonframework.springboot.autoconfig.TransactionAutoConfiguration org.axonframework.springboot.autoconfig.XStreamAutoConfiguration This file maps different configuration classes which an Axon Spring Boot application will try to apply. So, as per this snippet, Spring Boot will try to apply all the configuration classes for AxonServerAutoConfiguration, AxonAutoConfiguration, … Whether these configuration classes will be applied or not, it will depend on conditions defined on these classes: AxonServerAutoConfiguration configures Axon Server as implementation for the Command Bus, Query Bus and Event Store. It will be applied before AxonAutoConfiguration, and it will be applied only if the org.axonframework.axonserver.connector.AxonServerConfiguration class is available in the classpath. Axon Server auto configuration can be disabled by setting the axon.axonserver.enabled property to false in the .properties/.yml file. AxonAutoConfiguration configures a 'non-axon-server' implementation of Command Bus, Query Bus, Event Store/Event Bus and other Axon components. These components will be initialized only if they are not in the Spring Application context already, eg. @ConditionalOnMissingBean(EventBus.class). As AxonAutoConfiguration will be applied after AxonServerAutoConfiguration these Axon components will be in the Spring Application Context already, and therefore Axon Server’s implementation of Command Bus, Query Bus and Event Store/Event Bus will win. Axon Spring Boot auto-configuration is not intrusive. It will define only Spring components that you haven’t already explicitly defined in the application context. This allows you to completely override the auto-configured beans by defining your own in one of the @Configuration classes. Specific Axon (Spring) component configurations will be explained in detail in the following sections of this guide. When using Spring to automatically wire everything, sometimes there is a need to know when all the (Command, Event and Query) handlers have been registered to their respective buses. To support this an AxonStartedEvent Spring event is published when the Configuration module has fully started.","title":"Spring Boot Integration","component":"axon-framework-reference","version":"development","name":"spring-boot-integration","url":"/axon-framework-reference/development/spring-boot-integration/","titles":[{"text":"Auto-configuration","hash":"_auto_configuration","id":1},{"text":"JPA and persistence contexts","hash":"_jpa_and_persistence_contexts","id":2},{"text":"Demystifying Axon Spring Boot Starter","hash":"_demystifying_axon_spring_boot_starter","id":3},{"text":"Auto configuration with Spring Boot 2","hash":"_auto_configuration_with_spring_boot_2","id":4},{"text":"Auto configuration with Spring Boot","hash":"_auto_configuration_with_spring_boot","id":5},{"text":"Spring event on startup finished","hash":"_spring_event_on_startup_finished","id":6}]},"33":{"id":33,"text":"Unfortunately, but necessarily, Axon Framework 4.7.0 introduces a few breaking changes. If you migrate from 4.6.x (or earlier) versions, you may need to make some adjustments to your code. If you start a greenfield Axon Framework project, there is nothing to worry about. You may safely skip the following information. The breaking changes are related to the migration from javax to jakarta packages both in Axon Framework and other frameworks often used together with Axon. Depending on what you were using with 4.6.x version, there are three possible migration paths: From javax to javax: This is what you may want if you don’t want Spring 6 and Spring Boot 3 support and expect things to stay the same. From javax to jakarta: This is what you will want if you also upgrade to Spring 6, Spring Boot 3, or another framework that depends on jakarta packages. From jakarta to jakarta: This is what you will want if you have already moved to the optional [module-name]-jakarta modules in Axon Framework 4.6.x. Next to the full scenario descriptions, you are also able to use OpenRewrite migration recipes provided by the Framework. Please go to the Migration automation section for more details. From jakarta to javax While technically possible, the jakarta to javax migration is not something you should do. If you have already made an effort to switch to the new packages, it makes no sense to go back. Zero Axon configuration If you don’t have any manual configuration and use the framework’s axon-spring-boot-starter, than the upgrade to 4.7 is seamless. Adjust packages in import statements and FQCNs according to the new locations mentioned below: Axon 4.6.x Axon 4.7.x org.axonframework.common.jpa.EntityManagerProvider org.axonframework.common.legacyjpa.EntityManagerProvider org.axonframework.common.jpa.PagingJpaQueryIterable org.axonframework.common.legacyjpa.PagingJpaQueryIterable org.axonframework.common.jpa.SimpleEntityManagerProvider org.axonframework.common.legacyjpa.SimpleEntityManagerProvider org.axonframework.eventhandling.deadletter.jpa.DeadLetterJpaConverter org.axonframework.eventhandling.deadletter.legacyjpa.DeadLetterJpaConverter org.axonframework.eventhandling.deadletter.jpa.EventMessageDeadLetterJpaConverter org.axonframework.eventhandling.deadletter.legacyjpa.EventMessageDeadLetterJpaConverter org.axonframework.eventhandling.deadletter.jpa.JpaDeadLetter org.axonframework.eventhandling.deadletter.legacyjpa.JpaDeadLetter org.axonframework.eventhandling.deadletter.jpa.JpaSequencedDeadLetterQueue org.axonframework.eventhandling.deadletter.legacyjpa.JpaSequencedDeadLetterQueue org.axonframework.eventhandling.tokenstore.jpa.JpaTokenStore org.axonframework.eventhandling.tokenstore.legacyjpa.JpaTokenStore org.axonframework.eventsourcing.eventstore.jpa.JpaEventStorageEngine org.axonframework.eventsourcing.eventstore.legacyjpa.JpaEventStorageEngine org.axonframework.eventsourcing.eventstore.jpa.SQLErrorCodesResolver org.axonframework.eventsourcing.eventstore.legacyjpa.SQLErrorCodesResolver org.axonframework.messaging.interceptors.BeanValidationInterceptor org.axonframework.messaging.interceptors.legacyvalidation.BeanValidationInterceptor org.axonframework.messaging.interceptors.JSR303ViolationException org.axonframework.messaging.interceptors.legacyvalidation.JSR303ViolationException org.axonframework.modelling.command.GenericJpaRepository org.axonframework.modelling.command.legacyjpa.GenericJpaRepository org.axonframework.modelling.saga.repository.jpa.JpaSagaStore org.axonframework.modelling.saga.repository.legacyjpa.JpaSagaStore org.axonframework.springboot.autoconfig.JpaAutoConfiguration org.axonframework.springboot.autoconfig.legacyjpa.JpaJavaxAutoConfiguration org.axonframework.springboot.autoconfig.JpaEventStoreAutoConfiguration org.axonframework.springboot.autoconfig.legacyjpa.JpaJavaxEventStoreAutoConfiguration org.axonframework.springboot.util.jpa.ContainerManagedEntityManagerProvider org.axonframework.springboot.util.legacyjpa.ContainerManagedEntityManagerProvider If you have customized the TokenEntry or AbstractTokenEntry, rebase your changes on the current TokenEntry. This is required since the AbstractTokenEntry has been deprecated in favor of the TokenEntry. If you have customized the SagaEntry or AbstractSagaEntry, rebase your changes on the current SagaEntry. This is required since the AbstractSagaEntry has been deprecated in favor of the SagaEntry. Remove most mentions of javax in your codebase and replace them with respective jakarta ones. Note that not every reference of javax is deprecated as part of the Javax-to-Jakarta switch, such as some javax.annotation and javax.cache mentions. You can find an exhaustive list of unaffected packages here. If you are using any other frameworks together with Axon Framework (such as Spring, Hibernate, etc.) make sure to upgrade those to the respective versions supporting jakarta namespace. If you migrate to Hibernate 6 and did not customize the sequence generator of the Framework’s domain_event_entry and association_value_entry, you need to deal with Hibernates adjusted default sequence generator. In this case, your environment uses a so-called hibernate_sequence that is used for all your tables. However, Hibernate 6 will construct dedicated sequences per table using a sequence generator. Although we strongly recommend that you use a dedicated sequence generator per table, the easiest way forward to switch back this new default of Hibernate: persistence.xml configuration Spring Boot - properties file spring.jpa.properties.hibernate.id.db_structure_naming_strategy=legacy #omitting other properties for simplicity... In your dependency configuration (Maven, Gradle, etc.) replace the jakarta-specific Axon Framework modules with the default ones: Axon 4.6.x Axon 4.7.x axon-configuration-jakarta axon-configuration axon-eventsourcing-jakarta axon-eventsourcing axon-messaging-jakarta axon-messaging axon-modelling-jakarta axon-modelling The steps above explain in detail what you need to do to upgrade to Axon Framework 4.7 or higher. If you want to automate some of these steps, there are two OpenRewrite migration recipes you can use: Upgrade to Axon Framework 4.7+ Jakarta - A recipe to upgrade from an Axon Framework Javax-specific project to Jakarta. Upgrade to Axon Framework 4.7+ Javax - A recipe to upgrade an Axon Framework Javax-specific project and remain on Javax. For example, if you want to upgrade to 4.7 and stick with Javax, you can run the following command: mvn -U org.openrewrite.maven:rewrite-maven-plugin:4.40.0:run \\ -Drewrite.recipeArtifactCoordinates=org.axonframework:axon-migration:LATEST \\ -DactiveRecipes=org.axonframework.migration.UpgradeAxonFramework_4_7_Javax If you prefer Gradle over Maven, refer to the OpenRewrite documentation to resolve this. Combining recipes The mentioned recipes above only allow you to upgrade Axon Framework-specific code. However, you can combine recipes into a single command to, for example, upgrade to Spring Boot 3 and Axon Framework 4.7 in one go: mvn -U org.openrewrite.maven:rewrite-maven-plugin:4.40.0:run \\ -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-spring:4.33.0,org.axonframework:axon-migration:LATEST \\ -DactiveRecipes=org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0,org.axonframework.migration.UpgradeAxonFramework_4_7_Jakarta","title":"Upgrading to Axon Framework 4.7","component":"axon-framework-reference","version":"development","name":"upgrading-to-4-7","url":"/axon-framework-reference/development/upgrading-to-4-7/","titles":[{"text":"Steps to upgrade from javax to javax","hash":"_steps_to_upgrade_from_javax_to_javax","id":1},{"text":"Step 1","hash":"_step_1","id":2},{"text":"Step 2","hash":"_step_2","id":3},{"text":"Step 3","hash":"_step_3","id":4},{"text":"Steps to upgrade from javax to jakarta","hash":"_steps_to_upgrade_from_javax_to_jakarta","id":5},{"text":"Step 1","hash":"_step_1_2","id":6},{"text":"Step 2","hash":"_step_2_2","id":7},{"text":"Step 3","hash":"_step_3_2","id":8},{"text":"Steps to upgrade from jakarta to jakarta","hash":"_steps_to_upgrade_from_jakarta_to_jakarta","id":9},{"text":"Migration automation","hash":"_migration_automation","id":10}]},"34":{"id":34,"text":"The Command Handlers pages provide the background on how to handle command messages in your application. The dispatching process is the starting point of such a command message. Axon provides two interfaces you can use to send the commands to your command handlers, being the CommandBus and the CommandGateway. This page will show how and when to use the command gateway and bus. How to configure and specifics on the command gateway and bus implementations are discussed in the infrastructure section. The CommandBus is the mechanism that dispatches commands to their respective command handlers. As such, it is the infrastructure component that is aware of which component can handle which command. Each command is always sent to exactly one command handler. If no command handler is available for the dispatched command, a NoHandlerForCommandException exception is thrown. The CommandBus provides two methods to dispatch commands to their respective handler, being the dispatch(CommandMessage) and dispatch(CommandMessage, CommandCallback) methods: private CommandBus commandBus; (1) public void dispatchCommands() { String cardId = UUID.randomUUID().toString(); (2) (3) (4) commandBus.dispatch(GenericCommandMessage.asCommandMessage(new IssueCardCommand(cardId, 100, \"shopId\"))); (5) (6) commandBus.dispatch( GenericCommandMessage.asCommandMessage(new IssueCardCommand(cardId, 100, \"shopId\")), (CommandCallback) (cmdMsg, cmdResultMsg) -> { (7) if (cmdResultMsg.isExceptional()) { Throwable throwable = cmdResultMsg.exceptionResult(); } else { String commandResult = cmdResultMsg.getPayload(); } } ); } // omitted class, constructor and result usage The CommandDispatcher described above exemplifies a couple of important aspects and capabilities of the dispatching commands: 1 The CommandBus interface providing the functionality to dispatch command messages. 2 The aggregate identifier is, per best practice, initialized as the String of a random unique identifier. Typed identifier objects are also possible, as long as the object implements a sensible toString() function. 3 The GenericCommandMessage#asCommandMessage(Object) method is used to create a CommandMessage. To be able to dispatch a command on the CommandBus, you are required to wrap your own command object (for example, the 'command message payload') in a CommandMessage. The CommandMessage also allows the addition of MetaData to the Command Message. 4 The CommandBus#dispatch(CommandMessage) function will dispatch the provided CommandMessage on the bus, for delivery to a command handler. If an application isn’t directly interested in the outcome of a command, this method can be used. 5 If the outcome of command handling is relevant for your application, the optional second parameter can be provided, the CommandCallback. The CommandCallback allows the dispatching component to be notified when command handling is completed. 6 The Command Callback has one function, onResult(CommandMessage, CommandResultMessage), which is called when command handling has finished. The first parameter is the dispatched command, whilst the second is execution result of the dispatched command. Lastly, the CommandCallback is a 'functional interface' due to onResult being its only method. As such, commandBus.dispatch(commandMessage, (cmdMsg, commandResultMessage) -> { /* …​ */ }) would also be possible. 7 The CommandResultMessage provides the API to verify whether command execution was exceptional or successful. If CommandResultMessage#isExceptional returns true, you can assume that the CommandResultMessage#exceptionResult will return a Throwable instance containing the actual exception. Otherwise, the CommandResultMessage#getPayload method may provide you with an actual result or null, as further specified here. Command Callback consideration In the case that dispatch(CommandMessage, CommandCallback) is used, the calling component may not assume that the callback is invoked in the same thread that dispatched the command. If the calling thread depends on the result before continuing, you can use the FutureCallback. The FutureCallback is a combination of a Future (as defined in the java.concurrent package) and Axon’s CommandCallback. Alternatively, consider using a CommandGateway. The 'Command Gateway' is a convenience approach towards dispatching commands. It does so by abstracting certain aspects for you when dispatching a command on the CommandBus. It this uses the CommandBus underneath to perform the actual dispatching of the message. While you are not required to use a gateway to dispatch commands, it is generally the easiest option to do so. The CommandGateway interface can be separated in two sets of methods, namely send and sendAndWait: private CommandGateway commandGateway; (1) public void sendCommand() { String cardId = UUID.randomUUID().toString(); (2) (3) CompletableFuture futureResult = commandGateway.send(new IssueCardCommand(cardId, 100, \"shopId\")); } // omitted class, constructor and result usage The send API as shown above introduces a couple of concepts, marked with numbered comments: 1 The CommandGateway interface providing the functionality to dispatch command messages. It does so by internally leveraging the CommandBus interface dispatch messages. 2 The aggregate identifier is, per best practice, initialized as the String of a random unique identifier. Typed identifier objects are also possible, as long as the object implements a sensible toString() function. 3 The send(Object) function requires a single parameter, the command object. This is an asynchronous approach to dispatching commands. As such the response of the send method is a CompletableFuture. This allows for chaining of follow-up operations after the command result has been returned. Callback when using send(Object) The CommandGateway#send(Object) method uses the FutureCallback under the hood to unblock the command dispatching thread from the command handling thread. A synchronous approach to sending messages can also be achieved, by using the sendAndWait methods: private CommandGateway commandGateway; public void sendCommandAndWaitOnResult() { IssueCardCommand commandPayload = new IssueCardCommand(UUID.randomUUID().toString(), 100, \"shopId\"); (1) String result = commandGateway.sendAndWait(commandPayload); (2) result = commandGateway.sendAndWait(commandPayload, 1000, TimeUnit.MILLISECONDS); } // omitted class, constructor and result usage 1 The CommandGateway#sendAndWait(Object) function takes in a single parameter, your command object. It will wait indefinitely until the command dispatching and handling process has been resolved. The result returned by this method can either be successful or exceptional, as will be explained here. 2 If waiting indefinitely is not desirable, a 'timeout' paired with the 'time unit' can be provided alongside the command object. Doing so will ensure that the command dispatching thread will not wait longer than specified. If command dispatching/handling was interrupted or the timeout was reached whilst using this approach, the command result will be null. In all other scenarios, the result follows the referenced approach. Dispatching commands will, generally speaking, have two possible outcomes: Command handled successfully, and command handled exceptionally The outcome to some extent depends on the dispatching process, but more so on the implementation of the command handler. Thus, if the @CommandHandler annotated function throws an exception due to some business logic, it will be that exception which will be the result of dispatching the command. The successful resolution of command handling intentionally should not provide any return objects. Thus, if the CommandBus/CommandGateway provides a response (either directly or through the CommandResultMessage), then you should assume the result of successful command handling to return null. While it is possible to return results from command handlers, this should be used sparsely. The intent of the Command should never be to retrieve a value, as that would be an indication that the message should be designed as a Query Message. Exceptions to this would be the identifier of the Aggregate Root, or identifiers of entities the Aggregate Root has instantiated. The framework has one such exception build in, on the @CommandHandler annotated constructor of an Aggregate. In case the 'command handling constructor' has executed successfully, instead of the Aggregate itself, the value of the @AggregateIdentifier annotated field will be returned. site:https://youtu.be/lxonQnu1txQ[Axon Coding Tutorial #5: - Connecting the UI]","title":"Command Dispatchers","component":"axon-framework-reference","version":"development","name":"command-dispatchers","url":"/axon-framework-reference/development/axon-framework-commands/command-dispatchers/","titles":[{"text":"The CommandBus","hash":"command-bus","id":1},{"text":"The CommandGateway","hash":"command-gateway","id":2},{"text":"Command dispatching results","hash":"_command_dispatching_results","id":3}]},"35":{"id":35,"text":"Although Command Handlers can be placed in regular components, it is recommended to define the Command Handlers directly on the Aggregate that contains the state to process this command. To define a Command Handler in an Aggregate, simply annotate the method which should handle the command with @CommandHandler. The @CommandHandler annotated method will become a Command Handler for Command Messages where the command name matches fully qualified class name of the first parameter of that method. Thus, a method signature of void handle(RedeemCardCommand cmd) annotated with @CommandHandler, will be the Command Handler of the RedeemCardCommand Command Messages. Command Messages can also be dispatched with different command names. To be able to handle those correctly, the String commandName value can be specified in the @CommandHandler annotation. In order for Axon to know which instance of an Aggregate type should handle the Command Message, the property carrying the Aggregate Identifier in the command object must be annotated with @TargetAggregateIdentifier. The annotation may be placed on either the field or an accessor method (for example, a getter) in the Command object. Routing in a distributed environment Regardless of the type of command, as soon as you start distributing your application (through Axon Server, for example), it is recommended to specify a routing key on the command. This is the job of the @TargetAggregateIdentifier, but in absence of a field worthy of the annotation, the @RoutingKey annotation should be added to ensure the command can be routed. If neither annotation works for your use case, a different RoutingStrategy can be configured, as is explained in the Routing Strategy section. Taking the GiftCard Aggregate as an example, we can identify two Command Handlers on the Aggregate: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.AggregateIdentifier; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier private String id; private int remainingValue; @CommandHandler public GiftCard(IssueCardCommand cmd) { apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } @CommandHandler public void handle(RedeemCardCommand cmd) { if (cmd.getAmount() remainingValue) { throw new IllegalStateException(\"amount > remaining value\"); } apply(new CardRedeemedEvent(id, cmd.getTransactionId(), cmd.getAmount())); } // omitted event sourcing handlers } The Command objects, IssueCardCommand and RedeemCardCommand, which GiftCard handles have the following format: import org.axonframework.modelling.command.TargetAggregateIdentifier; public class IssueCardCommand { @TargetAggregateIdentifier private final String cardId; private final Integer amount; public IssueCardCommand(String cardId, Integer amount) { this.cardId = cardId; this.amount = amount; } // omitted getters, equals/hashCode, toString functions } public class RedeemCardCommand { @TargetAggregateIdentifier private final String cardId; private final String transactionId; private final Integer amount; public RedeemCardCommand(String cardId, String transactionId, Integer amount) { this.cardId = cardId; this.transactionId = transactionId; this.amount = amount; } // omitted getters, equals/hashCode, toString functions } The cardId present in both commands is the reference to a GiftCard instance and thus is annotated with the @TargetAggregateIdentifier annotation. Commands that create an Aggregate instance do not need to identify the target aggregate identifier, as there is no Aggregate in existence yet. It is nonetheless recommended for consistency to annotate the Aggregate Identifier on them as well. If you prefer to use another mechanism for routing commands, the behavior can be overridden by supplying a custom CommandTargetResolver. This class should return the Aggregate Identifier and expected version (if any) based on a given command. Aggregate Creation Command Handlers When the @CommandHandler annotation is placed on an aggregate’s constructor, the respective command will create a new instance of that aggregate and add it to the repository. Those commands do not require targeting a specific aggregate instance. Therefore, those commands need neither the @TargetAggregateIdentifier nor the @TargetAggregateVersion annotation. Furthermore, a custom CommandTargetResolver will not be invoked for these commands. Within an Aggregate there is a specific location to perform business logic validation and Aggregate state changes. The Command Handlers should decide whether the Aggregate is in the correct state. If yes, an Event is published. If not, the Command might be ignored or an exception could be thrown, depending on the needs of the domain. State changes should not occur in any Command Handling function. The Event Sourcing Handlers should be the only methods where the Aggregate’s state is updated. Failing to do so means the Aggregate would miss state changes when it is being sourced from its events. The Aggregate Test Fixture will guard against unintentional state changes in Command Handling functions. It is thus advised to provide thorough test cases for any Aggregate implementation. Only handle the necessary events The only state an Aggregate requires is the state it needs to make a decision. Handling an Event published by the Aggregate is thus only required if the state change is necessary for future validation of other commands. In some cases, especially when the Aggregate structure grows beyond just a couple of Entities, it is cleaner to react on events being published in other Entities of the same Aggregate (multi-entity Aggregates are explained in more detail here). However, since the Event Handling methods are also invoked when reconstructing Aggregate state, special precautions must be taken. It is possible to apply() new events inside an Event Sourcing Handler method. This makes it possible for an Entity 'B' to apply an event in reaction to Entity 'A' doing something. Axon will ignore the apply()`invocation when replaying historic events upon sourcing the given Aggregate. Do note that in the scenario where Event Messages are published from an Event Sourcing Handler, the Event of the inner `apply() invocation is only published to the entities after all entities have received the first event. If more events need to be published, based on the state of an entity after applying an inner event, use apply(…​).andThenApply(…​). Reacting to external events An Aggregate cannot handle events from other sources then itself. This is intentional as the Event Sourcing Handlers are used to recreate the state of the Aggregate. For this, it only needs its own events as those represent its state changes. To make an Aggregate react to events from other Aggregate instances, Sagas or Event Handling Components should be leveraged Up until now, we have depicted the GiftCard aggregate with roughly two types of command handlers: @CommandHandler annotated constructors @CommandHandler annotated methods Option 1 will always expect to be the instantiation of the GiftCard aggregate, whilst option 2 expects to be targeted towards an existing aggregate instance. Although this may be the default, there is the option to define a creation policy on a command handler. This can be achieved by adding the @CreationPolicy annotation to a command handler annotated method, like so: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.CreationPolicy; import org.axonframework.modelling.command.AggregateCreationPolicy; public class GiftCard { public GiftCard() { // Required no-op constructor } @CommandHandler @CreationPolicy(AggregateCreationPolicy.ALWAYS) public void handle(IssueCardCommand cmd) { // An `IssueCardCommand`-handler which will create a `GiftCard` aggregate } @CommandHandler @CreationPolicy(AggregateCreationPolicy.CREATE_IF_MISSING) public void handle(CreateOrRechargeCardCommand cmd) { // A 'CreateOrRechargeCardCommand'-handler which creates a `GiftCard` aggregate if it did not exist // Otherwise, it will update an existing `GiftCard` aggregate. } // omitted aggregate state, command handling logic and event sourcing handlers } As is shown above, the @CreationPolicy annotation requires stating the AggregateCreationPolicy. This enumeration has the following options available: ALWAYS: Will expect to instantiate the aggregate. This effectively works like a command handler annotated constructor. Without defining a return type, the aggregate identifier used during the creation will be returned. Through this approach, it is possible to return other results next to the aggregate identifier. CREATE_IF_MISSING: Can either create an aggregate or act on an existing instance. This policy should be regarded as an upsert approach of an aggregate. NEVER: Will be handled on an existing aggregate instance. This effectively works like any regular command handler annotated method. Command handling functions are most often directly placed on the Aggregate (as described in more detail here). There are situations, however, where it is not possible nor desired to route a command directly to an Aggregate instance. Message handling functions, like Command Handlers, can, however, be placed on any object. It is thus possible to instantiate a 'Command Handling Object'. A Command Handling Object is a simple (regular) object, which has @CommandHandler annotated methods. Unlike with Aggregates, there is only a single instance of a Command Handling Object, which handles all commands of the types it declares in its methods: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.Repository; public class GiftCardCommandHandler { private final Repository giftCardRepository; (1) @CommandHandler public void handle(RedeemCardCommand cmd) { giftCardRepository.load(cmd.getCardId()) (2) .execute(giftCard -> giftCard.handle(cmd)); (3) } // omitted constructor } In the above snippet we have decided that the RedeemCardCommand should no longer be directly handled on the GiftCard. Instead, we load the GiftCard manually and execute the desired method on it: 1 The Repository for the GiftCard Aggregate, used for retrieval and storage of an Aggregate. If @CommandHandler methods are placed directly on the Aggregate, Axon will automatically know to call the Repository to load a given instance. It is thus not mandatory to directly access the Repository, but a design choice. 2 To load the intended GiftCard Aggregate instance, the Repository#load(String) method is used. The provided parameter should be the Aggregate identifier. 3 After that Aggregate has been loaded, the Aggregate#execute(Consumer) function should be invoked to perform an operation on the Aggregate. Using the execute function ensure that the Aggregate life cycle is correctly started.","title":"Command Handlers","component":"axon-framework-reference","version":"development","name":"command-handlers","url":"/axon-framework-reference/development/axon-framework-commands/command-handlers/","titles":[{"text":"Aggregate command handlers","hash":"_aggregate_command_handlers","id":1},{"text":"Business logic and state changes","hash":"_business_logic_and_state_changes","id":2},{"text":"Applying events from event-sourcing handlers","hash":"_applying_events_from_event_sourcing_handlers","id":3},{"text":"Aggregate command handler creation policy","hash":"_aggregate_command_handler_creation_policy","id":4},{"text":"External command handlers","hash":"external_command_handlers","id":5}]},"36":{"id":36,"text":"This page describes how you can configure your Aggregate model. Core concepts within the Command Model are the Aggregates that are implemented. To instantiate a default Aggregate configuration, you do the following: Configuration API Spring Boot Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate(GiftCard.class); The @Aggregate annotation (in the org.axonframework.spring.stereotype package) triggers auto configuration to set up the necessary components to use the annotated type as an aggregate. Note that only the aggregate root needs to be annotated. Axon will automatically register all the @CommandHandler annotated methods with the command bus and set up a repository if none is present. // ... import org.axonframework.spring.stereotype.Aggregate; // ... @Aggregate public class GiftCard { @AggregateIdentifier private String id; @CommandHandler public GiftCard(IssueCardCommand cmd) { apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } } Often the command handler functions are placed directly on the aggregate. When this approach is taken, simply registering the Aggregate as described above is sufficient for all its command handler methods to be registered too. External Command Handlers however do require direct registration as being a command handler, which is shown in the following sample: Configuration API Spring Boot Given the existence of the following Command Handler: public class GiftCardCommandHandler { private final Repository giftCardRepository; @CommandHandler public void handle(RedeemCardCommand cmd) { giftCardRepository.load(cmd.getCardId()) .execute(giftCard -> giftCard.handle(cmd)); } // omitted constructor } The following is needed to register a GiftCardCommandHandler as being a Command Handler: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerCommandHandler(conf -> new GiftCardCommandHandler()); Or, a more general approach to registering all types of message handlers in a component can be used: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerMessageHandler(conf -> new GiftCardCommandHandler()); When using Spring Boot, simply specifying the Command Handler as a bean is sufficient: @Component public class GiftCardCommandHandler { private final Repository giftCardRepository; @CommandHandler public void handle(RedeemCardCommand cmd) { giftCardRepository.load(cmd.getCardId()) .execute(giftCard -> giftCard.handle(cmd)); } // omitted constructor } Duplicate Command Handlers As specified in the Messaging Concepts section, a command always has exactly one destination. That means there should only be a single Command Handler method for any given command. By default, when a duplicate Command Handler method is registered, the last registration will be kept and a warning is logged. This behavior can be adjusted by specifying a different DuplicateCommandHandlerResolver, as is described in the Runtime Tuning section. The repository is the mechanism that provides access to aggregates. The repository acts as a gateway to the actual storage mechanism used to persist the data. In CQRS, repositories only need to be able to find aggregates based on their unique identifier. Any other types of queries should be performed against the query database. In Axon Framework, all repositories must implement the Repository interface. This interface prescribes three methods: load(identifier, version), load(identifier) and newInstance(factoryMethod). The load methods allows you to load aggregates from the repository. The optional version parameter is used to detect concurrent modifications (see Conflict resolution). newInstance is used to register newly created aggregates in the repository. Depending on your underlying persistence storage and auditing needs, there are a number of base implementations that provide basic functionality needed by most repositories. Axon Framework makes a distinction between repositories that save the current state of the aggregate (see Standard repositories), and those that store the events of an aggregate (see Event Sourcing repositories). Note that the Repository interface does not prescribe a delete(identifier) method. Deleting aggregates is done by invoking the AggregateLifecycle.markDeleted() method from within an aggregate. Deleting an aggregate is a state migration like any other, with the only difference that it is irreversible in many cases. You should create your own meaningful method on your aggregate which sets the aggregate’s state to \"deleted\". This also allows you to register any events that you would like to have published. Configuration API Spring Boot Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate( AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureRepository(c -> EventSourcingRepository.builder(GiftCard.class) .eventStore(c.eventStore()) .build()) ); To fully customize the repository used, you can define one in the application context. For Axon Framework to use this repository for the intended aggregate, define the bean name of the repository in the repository attribute on @Aggregate Annotation. Alternatively, specify the bean name of the repository to be the aggregate’s name, (first character lowercase), suffixed with Repository. So on a class of type GiftCard, the default repository name is giftCardRepository. If no bean with that name is found, Axon will define an EventSourcingRepository (which fails if no EventStore is available). @Bean public Repository repositoryForGiftCard(EventStore eventStore) { return EventSourcingRepository.builder(GiftCard.class).eventStore(eventStore).build(); } @Aggregate(repository = \"repositoryForGiftCard\") public class GiftCard { /*...*/ } Note that this requires full configuration of the Repository, including any SnapshotTriggerDefinition or AggregateFactory that may otherwise have been configured automatically. Standard repositories store the actual state of an aggregate. Upon each change, the new state will overwrite the old. This makes it possible for the query components of the application to use the same information the command component also uses. This could, depending on the type of application you are creating, be the simplest solution. If that is the case, Axon provides some building blocks that help you implement such a repository. Axon provides one out-of-the-box implementation for a standard Repository: the GenericJpaRepository. It expects the Aggregate to be a valid JPA Entity. It is configured with an EntityManagerProvider which provides the EntityManager to manage the actual persistence, and a class specifying the actual type of aggregate stored in the repository. You also pass in the EventBus to which events are to be published when the aggregate invokes the static AggregateLifecycle.apply() method. You can also easily implement your own repository. In that case, it is best to extend from the abstract LockingRepository. As aggregate wrapper type, it is recommended to use the AnnotatedAggregate. See the sources of GenericJpaRepository for an example. Aggregate roots that are able to reconstruct their state based on events may also be configured to be loaded by an event sourcing repository. Those repositories do not store the aggregate itself, but the series of events generated by the aggregate. Based on these events, the state of an aggregate can be restored at any time. The EventSourcingRepository implementation provides the basic functionality needed by any event sourcing repository in the Axon Framework. It depends on an EventStore (see Event store implementations), which abstracts the actual storage mechanism for the events. The AggregateFactory specifies how an aggregate instance is created based on a given event stream. This makes the AggregateFactory a configurable component for the EventSourcingRepository only. Furthermore, it is only invoked for existing aggregate event streams, as an event stream is required. Hence, the command constructing the aggregate will not trigger an AggregateFactory invocation. Axon Framework comes with two AggregateFactory implementations that you may use. If they do not suffice, it is really easy to create your own implementation. The GenericAggregateFactory is a special AggregateFactory implementation that can be used for any type of event sourced aggregate root. The GenericAggregateFactory creates an instance of the aggregate type the repository manages. The aggregate class must be non-abstract and declare a default no-arg constructor that does no initialization at all. The GenericAggregateFactory is suitable for most scenarios where aggregates do not need special injection of non-serializable resources. Depending on your architectural choices, it might be useful to inject dependencies into your aggregates using Spring. You could, for example, inject query repositories into your aggregate to ensure the existence (or nonexistence) of certain values. To inject dependencies into your aggregates, you need to configure a prototype bean of your aggregate root in the Spring context that also defines the SpringPrototypeAggregateFactory. Instead of creating regular instances of using a constructor, it uses the Spring Application Context to instantiate your aggregates. This will also inject any dependencies in your aggregate. Note that although you can inject dependencies as global fields of an aggregate, you can also inject them as parameters. When it comes to parameters added to message handling methods, Axon uses the so-called Parameter Resolver support to inject your beans. As such, the SpringPrototypeAggregateFactory does not play any role to inject dependencies to message handling methods. In some cases, the GenericAggregateFactory just doesn’t deliver what you need. For example, you could have an abstract aggregate type with multiple implementations for different scenarios (for example, PublicUserAccount and BackOfficeAccount both extending an Account). Instead of creating different repositories for each of the aggregates, you could use a single repository, and configure an AggregateFactory that is aware of the different implementations. The bulk of the work the aggregate factory does is creating uninitialized aggregate instances. It must do so using a given aggregate identifier and the first event from the stream. Usually, this event is a creation event which contains hints about the expected type of aggregate. You can use this information to choose an implementation and invoke its constructor. Make sure no events are applied by that constructor; the aggregate must be uninitialized. Initializing aggregates based on the events can be a time-consuming effort, compared to the direct aggregate loading of the simple repository implementations. The CachingEventSourcingRepository provides a cache from which aggregates can be loaded if available.","title":"Configuration","component":"axon-framework-reference","version":"development","name":"configuration","url":"/axon-framework-reference/development/axon-framework-commands/configuration/","titles":[{"text":"Aggregate configuration","hash":"_aggregate_configuration","id":1},{"text":"Registering a command handler","hash":"registering-a-command-handler","id":2},{"text":"Command model repositories","hash":"_command_model_repositories","id":3},{"text":"Standard repositories","hash":"standard-repositories","id":4},{"text":"Event Sourcing repositories","hash":"event-sourcing-repositories","id":5},{"text":"Aggregate factories","hash":"_aggregate_factories","id":6},{"text":"GenericAggregateFactory","hash":"_genericaggregatefactory","id":7},{"text":"SpringPrototypeAggregateFactory","hash":"_springprototypeaggregatefactory","id":8},{"text":"Implementing your own AggregateFactory","hash":"_implementing_your_own_aggregatefactory","id":9}]},"37":{"id":37,"text":"The first type of Message that an Axon application is associated with is the Command Message, or simply Commands. These are messages with the intent to change the state of the application in one way or another. This section of the reference guide covers in detail the capabilities that Axon Framework provides for Command messages. A summary of the various sections is given below. Sub-Section Purpose Modeling Axon Framework provided components to address Aggregate Modeling concerns Command Dispatchers/ Command Handlers Functional Development concerns for Command Messages using the Axon Framework Infrastructure Non-Functional Development concerns for Command Messages using the Axon Framework Configuration Configuration concerns for Command Messages using the Axon Framework This guide is complemented by a video tutorial which gives a practical demonstration of the concepts explained in this section. The tutorial is available at -> Axon Coding Tutorial - Command Messages","title":"Commands","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/axon-framework-commands/","titles":[]},"38":{"id":38,"text":"Command dispatching, as exemplified in the Dispatching Commands page, has a number of advantages. Firstly, it constructs an object that clearly describes the intent of the client. By logging the command, you store both the intent and the related data for future reference. Command handling also makes it easy to expose your command processing components to remote clients, via web services for example. Testing also becomes a lot easier. You could define test scripts by just defining the starting situation (given), command to execute (when) and expected results (then) by listing a number of events and commands (see Testing for more on this). The last major advantage is that it is really easy to switch between synchronous and asynchronous, as well as local versus distributed command processing. This does not mean command dispatching using explicit command objects is the only way to do it. The goal of Axon is not to prescribe a specific way of working, but to support you doing it your way, while providing best practices as the default behavior. It is still possible to use a service layer that you can invoke to execute commands. The method will just need to start a unit of work (see Unit of Work) and perform a commit or rollback on it when the method is finished. The next sections provide an overview of the tasks related to setting up a command dispatching infrastructure with the Axon Framework. The API-friendlier CommandGateway is mentioned, as well as the CommandBus in both a local and distributed environment. The CommandGateway is a convenient interface towards the command dispatching mechanism. While you are not required to use a gateway to dispatch commands, it is generally the easiest option to do so. There are two ways to use a Command Gateway. The first is to use the CommandGateway interface and the DefaultCommandGateway implementation provided by Axon. The command gateway provides a number of methods that allow you to send a command and wait for a result either synchronously, with a timeout or asynchronously. The other option is perhaps the most flexible of all. You can turn almost any interface into a command gateway using the CommandGatewayFactory. This allows you to define your application’s interface using strong typing and declaring your own (checked) business exceptions. Axon will automatically generate an implementation for that interface at runtime. Both your custom Command Gateway and the one provided by Axon need to at least be configured with a Command Bus. In addition, the Command Gateway can be configured with a RetryScheduler, `CommandDispatchInterceptor`s, and `CommandCallback`s. The RetryScheduler is capable of scheduling retries when command execution has failed. When a command fails due to an exception that is explicitly non-transient, no retries are done at all. Note that the retry scheduler is only invoked when a command fails due to a RuntimeException. Checked exceptions are regarded as a \"business exception\" and will never trigger a retry. Currently, two implementations exist: The IntervalRetryScheduler will retry a given command at set intervals until it succeeds, or a maximum number of retries has taken place. The ExponentialBackOffIntervalRetryScheduler retries failed commands with an exponential back-off interval until it succeeds, or a maximum number of retries has taken place. `CommandDispatchInterceptor`s allow modification of `CommandMessage`s prior to dispatching them to the Command Bus. In contrast to `CommandDispatchInterceptor`s configured on the Command Bus, these interceptors are only invoked when messages are sent through this Gateway. For example, these interceptors could be used to attach metadata to a command or perform validation. A CommandCallback can be provided to the Command Gateway upon a regular send, specifying what to do with the command handling result. It works with the CommandMessage and CommandResultMessage classes, thus allowing for some generic behavior for all Commands sent through this gateway regardless of their type. Axon allows a custom interface to be used as a CommandGateway. The behavior of each method declared in the interface is based on the parameter types, return type and declared exception. Using this gateway is not only convenient, it makes testing a lot easier by allowing you to mock your interface where needed. This is how parameters affect the behavior of the command gateway: The first parameter is expected to be the actual command object to dispatch. Parameters annotated with @MetaDataValue will have their value assigned to the metadata field with the identifier passed as annotation parameter. Parameters of type MetaData will be merged with the MetaData on the CommandMessage. Metadata defined by latter parameters will overwrite the metadata of earlier parameters, if their key is equal. Parameters of type CommandCallback will have their onResult(CommandMessage, CommandResultMessage) invoked after the command has been handled. Although the CommandCallback provides a means to deal with the result of command handling, this is no impact on whether you can define a return type on the custom command gateway. In case both a callback and return type are defined, the invocations of the callback will always match with the return value (or exception). Lastly, know that you may pass in several CommandCallback instances, which all will be invoked in order. The last two parameters indicate a timeout and may be of types long (or int) and TimeUnit. The method will block at most as long as these parameters indicate. How the method reacts to a timeout depends on the exceptions declared on the method (see below). Note that if other properties of the method prevent blocking altogether, a timeout will never occur. The declared return value of a method will also affect its behavior: A void return type will cause the method to return immediately, unless there are other indications on the method that one would want to wait, such as a timeout or declared exceptions. Return types of Future, CompletionStage and CompletableFuture will cause the method to return immediately (granted you have configured a CommandBus using its own threads!). You can access the result of the command handler using the CompletableFuture instance returned from the method. Exceptions and timeouts declared on the method are ignored. Any other return type will cause the method to block until a result is available. The result is cast to the return type (causing a ClassCastException if the types do not match). Exceptions have the following effect: Any declared checked exception will be thrown if the command handler (or an interceptor) threw one of that type. If a checked exception is thrown that has not been declared, it is wrapped in a CommandExecutionException, which is a RuntimeException. When a timeout occurs, the default behavior is to return null from the method. This can be changed by declaring a TimeoutException. If this exception is declared, a TimeoutException is thrown instead. When a thread is interrupted while waiting for a result, the default behavior is to return null. In that case, the interrupted flag is set back on the thread. By declaring an InterruptedException on the method, this behavior is changed to throw that exception instead. The interrupt flag is removed when the exception is thrown, consistent with the java specification. Other runtime exceptions may be declared on the method, but will not have any effect other than clarification to the API user. Finally, there is the possibility to use annotations: As specified in the parameter section, the @MetaDataValue annotation on a parameter will have the value of that parameter added as metadata value. The key of the metadata entry is provided as parameter to the annotation. Methods annotated with @Timeout will block at most the indicated amount of time. This annotation is ignored if the method declares timeout parameters. Classes annotated with @Timeout will cause all methods declared in that class to block at most the indicated amount of time, unless they are annotated with their own @Timeout annotation or specify timeout parameters. public interface MyGateway { // fire and forget void sendCommand(MyPayloadType command); // method that attaches metadata and will wait for a result for 10 seconds @Timeout(value = 10, unit = TimeUnit.SECONDS) ReturnValue sendCommandAndWaitForAResult(MyPayloadType command, @MetaDataValue(\"userId\") String userId); // alternative that throws exceptions on timeout @Timeout(value = 20, unit = TimeUnit.SECONDS) ReturnValue sendCommandAndWaitForAResult(MyPayloadType command) throws TimeoutException, InterruptedException; // this method will also wait, caller decides how long void sendCommandAndWait(MyPayloadType command, long timeout, TimeUnit unit) throws TimeoutException, InterruptedException; } // To configure a gateway: public class AxonConfig { // omitting other configuration methods... public MyGateway customCommandGateway(CommandBus commandBus) { CommandGatewayFactory factory = CommandGatewayFactory.builder() .commandBus(commandBus) .build(); return factory.createGateway(MyGateway.class); } } The local command bus is the mechanism that dispatches commands to their respective command handlers within an Axon application. Suggestions on how to use the CommandBus can be found here. Several flavors of the command bus, with differing characteristics, exist within the framework. The SimpleCommandBus is, as the name suggests, the simplest implementation. It does straightforward processing of commands in the thread that dispatches them. After a command is processed, the modified aggregates are saved and generated events are published in that same thread. In most scenarios, such as web applications, this implementation will suit your needs. Like most CommandBus implementations, the SimpleCommandBus allows interceptors to be configured. `CommandDispatchInterceptor`s are invoked when a command is dispatched on the command bus. The `CommandHandlerInterceptor`s are invoked before the actual command handler method is, allowing you to do modify or block the command. See Command Interceptors for more information. Since all command processing is done in the same thread, this implementation is limited to the JVMs boundaries. The performance of this implementation is good, but not extraordinary. To cross JVM boundaries, or to get the most out of your CPU cycles, check out the other CommandBus implementations. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureSimpleCommandBus(Configurer configurer) { configurer.configureCommandBus(config -> { CommandBus commandBus = SimpleCommandBus .builder() .transactionManager(config.getComponent(TransactionManager.class)) .spanFactory(config.spanFactory()) .messageMonitor(config.messageMonitor(SimpleCommandBus.class, \"commandBus\")) // ... .build(); commandBus.registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ); return commandBus; }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public CommandBus simpleCommandBus(TransactionManager transactionManager, GlobalMetricRegistry metricRegistry, SpanFactory spanFactory) { return SimpleCommandBus.builder() .transactionManager(transactionManager) .messageMonitor(metricRegistry.registerCommandBus(\"commandBus\")) .spanFactory(spanFactory) // ... .build(); } @Bean public ConfigurerModule commandBusCorrelationConfigurerModule() { return configurer -> configurer.onInitialize( config -> config.commandBus().registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ) ); } } As the name suggests, the AsynchronousCommandBus implementation executes commands asynchronously from the thread that dispatches them. It uses an Executor to perform the actual handling logic on a different Thread. By default, the AsynchronousCommandBus uses an unbounded cached thread pool. This means a thread is created when a command is dispatched. Threads that have finished processing a command are reused for new commands. Threads are stopped if they have not processed a command for 60 seconds. Alternatively, an Executor instance may be provided to configure a different threading strategy. Note that the AsynchronousCommandBus should be shut down when stopping the application, to make sure any waiting threads are properly shut down. To shut down, call the shutdown() method. This will also shut down any provided Executor instance, if it implements the ExecutorService interface. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureAsynchronousCommandBus(Configurer configurer) { configurer.configureCommandBus(config -> { CommandBus commandBus = AsynchronousCommandBus .builder() .transactionManager(config.getComponent(TransactionManager.class)) .spanFactory(config.spanFactory()) .messageMonitor(config.messageMonitor( AsynchronousCommandBus.class, \"commandBus\" )) // ... .build(); commandBus.registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ); return commandBus; }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public CommandBus asynchronousCommandBus(TransactionManager transactionManager, GlobalMetricRegistry metricRegistry, SpanFactory spanFactory) { return AsynchronousCommandBus .builder() .transactionManager(transactionManager) .messageMonitor(metricRegistry.registerCommandBus(\"commandBus\")) .spanFactory(spanFactory) // ... .build(); } @Bean public ConfigurerModule commandBusCorrelationConfigurerModule() { return configurer -> configurer.onInitialize( config -> config.commandBus().registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ) ); } } The SimpleCommandBus has reasonable performance characteristics. The fact that the SimpleCommandBus needs locking to prevent multiple threads from concurrently accessing the same aggregate causes processing overhead and lock contention. The DisruptorCommandBus takes a different approach to multi-threaded processing. Instead of having multiple threads each doing the same process, there are multiple threads, each taking care of a piece of the process. The DisruptorCommandBus uses the Disruptor, a small framework for concurrent programming, to achieve much better performance, by just taking a different approach to multi-threading. Instead of doing the processing in the calling thread, the tasks are handed off to two groups of threads, that each take care of a part of the processing. The first group of threads will execute the command handler, changing an aggregate’s state. The second group will store and publish the events to the event store. While the DisruptorCommandBus easily outperforms the SimpleCommandBus by a factor of 4(!), there are a few limitations: The DisruptorCommandBus only supports event sourced aggregates. This Command Bus also acts as a Repository for the aggregates processed by the Disruptor. To get a reference to the Repository, use createRepository(AggregateFactory). A command can only result in a state change in a single aggregate instance. When using a cache, it allows only a single aggregate for a given identifier. This means it is not possible to have two aggregates of different types with the same identifier. Commands should generally not cause a failure that requires a rollback of the unit of work. When a rollback occurs, the DisruptorCommandBus cannot guarantee that commands are processed in the order they were dispatched. Furthermore, it requires a retry of a number of other commands, causing unnecessary computations. When creating a new aggregate instance, commands updating that created instance may not all happen in the exact order as provided. Once the aggregate is created, all commands will be executed exactly in the order they were dispatched. To ensure the order, use a callback on the creating command to wait for the aggregate being created. It shouldn’t take more than a few milliseconds. To construct a DisruptorCommandBus instance, you need an EventStore. This component is explained in the Event Bus and Event Store section. Optionally, you can provide a DisruptorConfiguration instance, which allows you to tweak the configuration to optimize performance for your specific environment: Buffer size - the number of slots on the ring buffer to register incoming commands. Higher values may increase throughput, but also cause higher latency. Must always be a power of 2. Defaults to 4096. ProducerType - indicates whether the entries are produced by a single thread, or multiple. Defaults to multiple. WaitStrategy - the strategy to use when the processor threads (the three threads taking care of the actual processing) need to wait for each other. The best wait strategy depends on the number of cores available in the machine, and the number of other processes running. If low latency is crucial, and the DisruptorCommandBus may claim cores for itself, you can use the BusySpinWaitStrategy. To make the command bus claim less of the CPU and allow other threads to do processing, use the YieldingWaitStrategy. Finally, you can use the SleepingWaitStrategy and BlockingWaitStrategy to allow other processes a fair share of CPU. The latter is suitable if the Command Bus is not expected to be processing full-time. Defaults to the BlockingWaitStrategy. Executor - sets the Executor that provides the Threads for the DisruptorCommandBus. This executor must be able to provide at least four threads. Three of the threads are claimed by the processing components of the DisruptorCommandBus. Extra threads are used to invoke callbacks and to schedule retries in case an Aggregate’s state is detected to be corrupt. Defaults to a CachedThreadPool that provides threads from a thread group called \"DisruptorCommandBus\". TransactionManager - defines the transaction manager that should ensure that the storage and publication of events are executed within a transaction. InvokerInterceptors - defines the `CommandHandlerInterceptor`s that are to be used in the invocation process. This is the process that calls the actual Command Handler method. PublisherInterceptors - defines the `CommandHandlerInterceptor`s that are to be used in the publication process. This is the process that stores and publishes the generated events. RollbackConfiguration - defines on which Exceptions a Unit of Work should be rolled back. Defaults to a configuration that rolls back on unchecked exceptions. RescheduleCommandsOnCorruptState - indicates whether Commands that have been executed against an Aggregate that has been corrupted (for example, because a Unit of Work was rolled back) should be rescheduled. If false the callback’s onFailure() method will be invoked. If true (the default), the command will be rescheduled instead. CoolingDownPeriod - sets the number of seconds to wait to make sure all commands are processed. During the cooling down period, no new commands are accepted, but existing commands are processed, and rescheduled when necessary. The cooling down period ensures that threads are available for rescheduling the commands and calling callbacks. Defaults to 1000 (1 second). Cache - sets the cache that stores aggregate instances that have been reconstructed from the Event Store. The cache is used to store aggregate instances that are not in active use by the disruptor. InvokerThreadCount - the number of threads to assign to the invocation of command handlers. A good starting point is half the number of cores in the machine. PublisherThreadCount - the number of threads to use to publish events. A good starting point is half the number of cores, and could be increased if a lot of time is spent on I/O. SerializerThreadCount - the number of threads to use to pre-serialize events. This defaults to 1, but is ignored if no serializer is configured. Serializer - the serializer to perform pre-serialization with. When a serializer is configured, the DisruptorCommandBus will wrap all generated events in a SerializationAware message. The serialized form of the payload and metadata is attached before they are published to the Event Store. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureDisruptorCommandBus(Configurer configurer) { configurer.configureCommandBus(config -> { CommandBus commandBus = DisruptorCommandBus .builder() .transactionManager(config.getComponent(TransactionManager.class)) .messageMonitor(config.messageMonitor( DisruptorCommandBus.class, \"commandBus\" )) .bufferSize(4096) // ... .build(); commandBus.registerHandlerInterceptor(new CorrelationDataInterceptor<>(config.correlationDataProviders())); return commandBus; }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public CommandBus disruptorCommandBus(TransactionManager transactionManager, GlobalMetricRegistry metricRegistry) { return DisruptorCommandBus .builder() .transactionManager(transactionManager) .messageMonitor(metricRegistry.registerCommandBus(\"commandBus\")) .bufferSize(4096) // ... .build(); } @Bean public ConfigurerModule commandBusCorrelationConfigurerModule() { return configurer -> configurer.onInitialize(config -> config .commandBus().registerHandlerInterceptor( new CorrelationDataInterceptor<>(config.correlationDataProviders()) ) ); } } Oftentimes you would want multiple instances of command buses in different JVMs to act as one. Commands dispatched on one JVM’s command bus should be seamlessly transported to a command handler in another JVM while sending back any results. That is where the concept of 'distributing the command bus' comes in. There are a couple of concepts that are configurable, regardless of the type of distributed command bus that is being used: Unlike the local CommandBus implementations, the distributed command buses do not invoke any handlers at all. All they do is form a \"bridge\" between command bus implementations on different JVMs, delegating any received commands to the so-called local segment. By default, this local segment is the SimpleCommandBus. You can configure the local segment to be any of the other local command buses too, like the AsynchronousCommandBus and DisruptorCommandBus. The details of how to configure the local segment are shown in the implementation sections. The load factor defines the amount of load an Axon application would carry compared to other instances. For example, if you have a two machine set up, each with a load factor of 100, they will both carry an equal amount of load. Increasing the load factor to 200 on both would still mean that both machines receive the same amount of load. This points out that the load factor will only change the load amongst systems if the values are not equal. Doing so would make sense in a heterogeneous application landscape, where the faster machines should deal with a bigger portion of command handling than the slower machines. The default load factor set for the distributed CommandBus implementations is 100. The configuration changes slightly per distributed implementation and as such will be covered in those sections. Commands should be routed consistently to the same application, especially those targeted towards a specific Aggregate. This ensures a single instance is in charge of the targeted aggregate, resolving the concurrent access issue and allowing for optimization like caching to work as designed. The component dealing with the consistent routing in an Axon application is the RoutingStrategy. The RoutingStrategy receives a CommandMessage and based on the message returns the routing key to use. Two commands with the same routing key will always be routed to the same segment, as long as there is no topology change in the distributed set-up. At the moment, there are five implementations of the RoutingStrategy. Three of these are intended to be fallback solutions, in case the routing key cannot be resolved: The AnnotationRoutingStrategy - the default routing strategy expects the TargetAggregateIdentifier or RoutingKey annotation to be present on a field inside the command class. The annotated field or getter is searched, and the contents will be returned as the routing key for that command. The MetaDataRoutingStrategy - uses a property defined during creation of this strategy to fetch the routing key from the CommandMessage’s `MetaData. The ERROR UnresolvedRoutingKeyPolicy - the default fallback that will cause an exception to be thrown when the routing key cannot be resolved from the given CommandMessage. The RANDOM_KEY UnresolvedRoutingKeyPolicy - will return a random value when a routing key cannot be resolved from the CommandMessage. This means that those commands will be routed to a random segment of the command bus. The STATIC_KEY UnresolvedRoutingKeyPolicy - will return a static key (named \"unresolved\") for unresolved routing keys. This policy routes all commands to the same segment, as long as the configuration of segments does not change. The AnnotationRoutingStrategy and MetaDataRoutingStrategy are considered the full implementations to configure. The ERROR, RANDOM_KEY and STATIC_KEY are fallback routing strategies that should be configured on the annotation or meta-data implementations. To get a grasp how these are constructed, consider the following sample: AnnotationRoutingStrategy MetaDataRoutingStrategy // A custom annotation can be used to drive the AnnotationRoutingStrategy @interface CustomRoutingAnnotation { } public class AxonConfig { // omitting other configuration methods... public RoutingStrategy routingStrategy() { return AnnotationRoutingStrategy .builder() .annotationType(CustomRoutingAnnotation.class) .fallbackRoutingStrategy(UnresolvedRoutingKeyPolicy.STATIC_KEY) .build(); } } public class AxonConfig { // omitting other configuration methods... public RoutingStrategy routingStrategy() { return MetaDataRoutingStrategy .builder() .metaDataKey(\"my-routing-key\") .fallbackRoutingStrategy(UnresolvedRoutingKeyPolicy.RANDOM_KEY) .build(); } } Of course, a custom implementation of the RoutingStrategy can also be provided when necessary. When we need to deviate from the default AnnotationRoutingStrategy, we should configure it like so: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureRoutingStrategy(Configurer configurer, YourRoutingStrategy yourRoutingStrategy) { configurer.registerComponent(RoutingStrategy.class, config -> yourRoutingStrategy); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public RoutingStrategy routingStrategy() { return /* construct your routing strategy */; } } The AxonServerCommandBus is the default distributed CommandBus implementation that is set by the framework. It connects to AxonServer, with which it can send and receive commands. As it is the default, configuring it is relatively straightforward: Configuration API Spring Boot Declare dependencies: org.axonframework axon-bom ${version.axon} pom import org.axonframework axon-server-connector org.axonframework axon-configuration Configure your application: public class AxonConfig { public void configure() { // The AxonServerCommandBus is configured as Command Bus by default when constructing a DefaultConfigurer. Configurer configurer = DefaultConfigurer.defaultConfiguration(); // ... } } By simply including the axon-spring-boot-starter dependency, Axon will automatically configure the AxonServerCommandBus: org.axonframework axon-spring-boot-starter ${axon.version} Disabling Axon Server There are two options to disable Axon Framework’s default of using the AxonServerCommandBus: By setting axon.server.enabled to false when Spring Boot is used. By excluding the axon-server-connector dependency. When doing any of these, Axon will fall back to the SimpleCommandBus that dispatches commands in the local instance, unless configured otherwise. The load factor for the AxonServerCommandBus is defined through the CommandLoadFactorProvider. This interface allows us to distinguish between commands to, for example, use a different load factor per command message. This might be useful if some commands are routed more often towards one instance in favour of the other. The following should be done to configure a custom local segment and/or load factor: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public CommandBus axonServerCommandBus( CommandBus localSegment, CommandLoadFactorProvider loadFactorProvider ) { return AxonServerCommandBus .builder() .localSegment(localSegment) .targetContextResolver(targetContextResolver) // All required configuration components are specified in the JavaDoc of the Builder .build(); } } @Configuration public class AxonConfig { // The Qualifier annotation specifying \"localSegment\" will make this CommandBus the local segment @Bean @Qualifier(\"localSegment\") public CommandBus localSegment() { return /* construct your local segment */; } @Bean public CommandLoadFactorProvider loadFactorProvider() { return /* construct your load factor provider */; } } The alternative to the AxonServerCommandBus is the DistributedCommandBus. Each instance of the DistributedCommandBus on each JVM is referred to as a \"Segment\". The DistributedCommandBus relies on two components: The CommandBusConnector - implements the communication protocol between the JVM’s to send the command over the wire and to receive the response. The CommandRouter - chooses the destination for each incoming command. It defines which segment of the DistributedCommandBus should be given a command, based on a routing key calculated by the routing strategy. You can choose different flavors of these components that are available as extension modules. Currently, Axon provides two extensions to that end, which are: The SpringCloud extension The JGroups extension Configuring a distributed command bus can (mostly) be done without any modifications in configuration files. The most straightforward approach to this is to include the Spring Boot starter dependency of either the Spring Cloud or JGroups extension. With that in place, a single property needs to be added to the application context, to enable the DistributedCommandBus: axon.distributed.enabled=true It is recommended to visit the respective extension pages on how to configure JGroups or Spring Cloud for the DistributedCommandBus.","title":"Infrastructure","component":"axon-framework-reference","version":"development","name":"infrastructure","url":"/axon-framework-reference/development/axon-framework-commands/infrastructure/","titles":[{"text":"The CommandGateway","hash":"the-command-gateway","id":1},{"text":"Configuring the CommandGateway","hash":"_configuring_the_commandgateway","id":2},{"text":"RetryScheduler","hash":"_retryscheduler","id":3},{"text":"CommandDispatchInterceptor","hash":"_commanddispatchinterceptor","id":4},{"text":"CommandCallback","hash":"_commandcallback","id":5},{"text":"Creating a custom command gateway - CommandGatewayFactory","hash":"_creating_a_custom_command_gateway_commandgatewayfactory","id":6},{"text":"The command bus - local","hash":"the-command-bus-local","id":7},{"text":"SimpleCommandBus","hash":"SimpleCommandBus","id":8},{"text":"AsynchronousCommandBus","hash":"AsynchronousCommandBus","id":9},{"text":"DisruptorCommandBus","hash":"DisruptorCommandBus","id":10},{"text":"The command bus - distributed","hash":"the-command-bus-distributed","id":11},{"text":"Local segment","hash":"_local_segment","id":12},{"text":"Load factor","hash":"_load_factor","id":13},{"text":"Routing strategy","hash":"routing-strategy","id":14},{"text":"AxonServerCommandBus","hash":"AxonServerCommandBus","id":15},{"text":"Local segment and load factor configuration","hash":"_local_segment_and_load_factor_configuration","id":16},{"text":"DistributedCommandBus","hash":"DistributedCommandBus","id":17}]},"39":{"id":39,"text":"Deadlines can be scheduled from sagas and aggregates. The DeadlineManager component is responsible for scheduling deadlines and invoking @DeadlineHandler`when the deadline is met. The `DeadlineManager can be injected as a resource. It has four flavors: SimpleDeadlineManager, JobRunrDeadlineManager, QuartzDeadlineManager and DbSchedulerDeadlineManager. A deadline can be scheduled by providing a Duration after which it will be triggered (or an Instant at which it will be triggered) and a deadline name. Scheduled Events or Scheduled Deadlines Unlike Event Scheduling, when a deadline is triggered there will be no storing of the published message. Scheduling/Triggering a deadline does not involve an EventBus (or EventStore), hence the message is not stored. class DeadlineSchedulingComponent { void scheduleMyDeadline() { String deadlineId = deadlineManager.schedule(Duration.ofMillis(500), \"myDeadline\"); // For example store the `deadlineId` } } As a result we receive a deadlineId which can be used to cancel the deadline. In most cases, storing this deadlineId as a field within your Aggregate/Saga is the most convenient. Cancelling a deadline could come in handy when a certain event means that the previously scheduled deadline has become obsolete (for example, there is a deadline for paying the invoice, but the client paid the amount which means that the deadline is obsolete and can be canceled). class DeadlineCancelingComponent { void cancelMyDeadline(String deadlineId) { deadlineManager.cancelSchedule(\"myDeadline\", deadlineId); } } Note that there are more options to cancel a deadline next to the previously mentioned: cancelAll(String deadlineName) - Cancels every scheduled deadline matching the given deadlineName. Note that this thus also cancels deadlines from other aggregate and/or saga instances matching the name. cancelAllWithinScope(String deadlineName) - Cancels a scheduled deadline matching the given deadlineName, within the Scope the method is invoked in. For example, if this operation is performed from within \"aggregate instance X\", the ScopeDescriptor from \"aggregate instance X\" will be used to cancel. cancelAllWithinScope(String deadlineName, ScopeDescriptor scope) - Cancels a scheduled deadline matching the given deadlineName and ScopeDescriptor. This allows canceling a deadline by name from differing scopes then the one it’s executed in. Caveats for the JobRunr implementation. Since the non-Pro version of JobRunr has no way to search for deadlines, besides by id, all of the cancelAll methods are not implemented for the JobRunrDeadlineManager. The JobRunr Pro extension does support those but requires the Pro version of JobRunr. Caveats for the DbScheduler implementation. Db-scheduler has no way to filter out tasks. This means that the cancelAll implementation will need to serialize all the task data, looping over it. If you have many active deadlines, this might take noticeable time and resources. If you need contextual data about the deadline when the deadline is being handled, you can attach a deadline payload when scheduling a deadline: class DeadlineSchedulingWithPayloadComponent { void scheduleMyDeadlineWithPayload() { String deadlineId = deadlineManager.schedule( Duration.ofMillis(500), \"myDeadline\", new MyDeadlinePayload(/* some user specific parameters */) ); // For example store the `deadlineId` } } We have now seen how to schedule a deadline. When the scheduled time is met, the corresponding @DeadlineHandler is invoked. A @DeadlineHandler is a message handler like any other in Axon - it is possible to inject parameters for which `ParameterResolver`s exist. The Scope of a Deadline When scheduling a deadline, the context from where it was scheduled is taken into account. This means a scheduled deadline will only be triggered in its originating context. Thus, any @DeadlineHandler annotated function you wish to be called on a met deadline, must be in the same Aggregate/Saga from which it was scheduled. Axon calls this context a Scope. If necessary, implementing and providing your own Scope will allow you to schedule deadlines in your custom, 'scoped' components. A Saga can end its lifecycle when @EndSaga is added on a deadline handler. A @DeadlineHandler is matched based on the deadline name and the deadline payload. @DeadlineHandler(deadlineName = \"myDeadline\") public void on(MyDeadlinePayload deadlinePayload) { // handle the deadline } If the deadline’s name is not defined in the @DeadlineHandler, matching will proceed based on the deadline payload alone. @DeadlineHandler public void on(MyDeadlinePayload deadlinePayload) { // handle the deadline } If we scheduled a deadline without a specific payload, the @DeadlineHandler does not have to specify the payload. @DeadlineHandler(deadlineName = \"payloadlessDeadline\") public void on() { // handle the deadline } In cases where applications need to access the clock, they can take advantage of the clock used in the EventMessage, by accessing GenericEventMessage.clock. This clock is set to Clock.systemUTC at runtime, and manipulated to simulate time during testing. public void handle(PublishTime cmd) { apply(new TimePublishedEvent(GenericEventMessage.clock.instant())); } Note that the current timestamp is automatically added to the EventMessage. If handlers only need to rely on the timestamp the event was published, they can access that timestamp directly, as described in Handling Events. Spring Boot users will need to define a DeadlineManager bean using one of the available implementations. Spring Boot users who want to use the JobRunr deadline manager can add either jobrunr-spring-boot-2-starter or jobrunr-spring-boot-3-starter as a dependency. Depending on which version of Spring Boot is used. Doing so will make a JobScheduler bean available, which the auto-configuration can use to create a JobRunrDeadlineManager. Alternatively. the bean can be configured like this: @Bean public DeadlineManager deadlineManager( @Qualifier(\"eventSerializer\") final Serializer serializer, final JobScheduler jobScheduler, final ScopeAwareProvider scopeAwareProvider, final TransactionManager transactionManager, final Spanfactory spanfactory ) { return JobRunrDeadlineManager.builder() .jobScheduler(jobScheduler) .scopeAwareProvider(scopeAwareProvider) .serializer(serializer) .transactionManager(transactionManager) .spanFactory(spanfactory) .build(); } Spring Boot users who want to use the db-scheduler deadline manager can add db-scheduler-spring-boot-starter as a dependency. This will make a Scheduler bean available, which the auto-configuration can use to create a DbSchedulerDeadlineManager. Alternatively, the bean can be configured like this: @Bean public DeadlineManager deadlineManager( Scheduler scheduler, Configuration configuration, @Qualifier(\"eventSerializer\") Serializer serializer, TransactionManager transactionManager, SpanFactory spanFactory) { ScopeAwareProvider scopeAwareProvider = new ConfigurationScopeAwareProvider(configuration); return DbSchedulerDeadlineManager.builder() .scheduler(scheduler) .scopeAwareProvider(scopeAwareProvider) .serializer(serializer) .transactionManager(transactionManager) .spanFactory(DefaultDeadlineManagerSpanFactory.builder() .spanFactory(spanFactory) .build()) .startScheduler(false) .build(); }","title":"Deadline Managers","component":"axon-framework-reference","version":"development","name":"deadline-managers","url":"/axon-framework-reference/development/deadlines/deadline-managers/","titles":[{"text":"Scheduling a deadline","hash":"_scheduling_a_deadline","id":1},{"text":"Handling a deadline","hash":"_handling_a_deadline","id":2},{"text":"Using time in your application","hash":"_using_time_in_your_application","id":3},{"text":"Configuration","hash":"_configuration","id":4}]},"40":{"id":40,"text":"This section will proceed with a suggested course of action when utilizing the EventScheduler for dealing with deadlines. To help understand this better lets take the scenario of a saga: It is easy to make a saga take action when something happens. After all, there is an event to notify the saga. That said, what if you want your saga to do something when nothing happens? That’s what deadlines are used for. For invoices, that is typically several weeks, whereas the confirmation of a credit card payment should occur within a few seconds. In Axon, you can use an EventScheduler to schedule an event for publication. In the example of an invoice, you would expect the invoice to be paid within thirty days. A saga would, after sending the CreateInvoiceCommand, schedule an InvoicePaymentDeadlineExpiredEvent to be published in 30 days. The EventScheduler returns a ScheduleToken after scheduling an event. This token can be used to cancel the schedule, for example when a payment of an Invoice has been received. Axon provides four EventScheduler implementations: Pure Java JobRunr db-scheduler Axon Server Quartz It is important to note that the JubRunrEventScheduler, QuartzEventScheduler, AxonServerEventScheduler and DbSchedulerEventSerializer all should use the event Serializer to serialize and deserialize the scheduled event. If the Serializer used by the scheduler does not align with the Seralizer used by the event store, exceptional scenarios should be expected. The Quartz implementation’s Serializer can be set by defining a different EventJobDataBinder, whereas the JobRunr, Axon Server and db-scheduler implementations allows defining the used Serializer directly through the builder. One or more components will be listening for scheduled Events. These components might rely on a transaction bound to the thread that invokes them. Scheduled events are published by threads managed by the EventScheduler. To manage transactions on these threads, you can configure a TransactionManager or a UnitOfWorkFactory that creates a transaction bound unit of work. The pure-Java implementation of the EventScheduler uses a ScheduledExecutorService to schedule event publication. Although the timing of this scheduler is highly reliable, it is a pure in-memory implementation. Once the JVM is shut down, all schedules are lost. This makes this implementation unsuitable for long-term schedules. The SimpleEventScheduler needs to be configured with an EventBus and a SchedulingExecutorService (see the static methods on the java.util.concurrent.Executors class for helper methods). The JobRunrEventScheduler is a more reliable and enterprise-worthy implementation based on JobRunr. It offers several ways to persist the scheduled jobs, and has good integration with Spring Boot. Using JobRunr as underlying scheduling mechanism, it provides more powerful features, such as clustering, misfire management as well as an optional dashboard. This means event publication is guaranteed. It might be a little late, but it will be published. JobRunr supports both SQL and some NoSQL databases. It needs to be configured with a JobRunr JobScheduler, an EventBus and a Serializer. The DbSchedulerEventScheduler is similar in convenience compared to the JobRunr- and the Axon Server EventScheduler implementations, based on the db-scheduler project. It offers several ways to persist the scheduled jobs, and has good integration with Spring Boot. It’s pretty simple, as it only needs one table. For most sql databases the sql to set the table is available Compared to JobRunr, it lets you set a poll interval for new tasks more freely. Another advantage compared to JobRunr is that adding a task will become part of the current transaction when a TransactionManager is set. The biggest things missing compared to JobRunr are a dashboard, and support for multiple NoSQL databases. The DbSchedulerEventScheduler needs to be configured with a db-scheduler Scheduler, an EventBus, and a Serializer. The data for an event can be serialized in either a binary format or in a human-readable format. Switching between these formats is done via the useBinaryPojo property on the scheduler’s builder. Depending on this property, the correct task should be added in the constructor of the Scheduler. The AxonServerEventScheduler uses Axon Server to schedule events for publication. As such, it is a hard requirement to use Axon Server as your Event Store solution to utilize this event scheduler. Just as the QuartzEventScheduler, the AxonServerEventScheduler is a reliable and enterprise-worthy implementation of the EventScheduler interface. Creating a AxonServerEventScheduler can be done through its builder, whose sole requirement is the AxonServerConnectionManager. The QuartzEventScheduler is an alternative enterprise-worthy implementation based on Quartz, but the project has not seen much recent activity. Using Quartz as underlying scheduling mechanism, it provides features, such as persistence, clustering and misfire management. It needs to be configured with a Quartz Scheduler and an EventBus. Optionally, you may set the name of the group that Quartz jobs are scheduled in, which defaults to \"AxonFramework-Events\". Spring users can use the QuartzEventSchedulerFactoryBean or SimpleEventSchedulerFactoryBean for easier configuration. It allows you to set the PlatformTransactionManager directly. Spring Boot users which rely on Axon Server do not have to define anything. The auto-configuration will automatically create a AxonServerEventScheduler for them. Spring Boot users who want to use the JobRunr event scheduler can add jobrunr-spring-boot-starter as a dependency. In addition, an EventScheduler bean configuration needs to be added. This should look like: @Bean public EventScheduler eventScheduler( @Qualifier(\"eventSerializer\") final Serializer serializer, final JobScheduler jobScheduler, final EventBus eventBus, final TransactionManager transactionManager, final Spanfactory spanfactory ) { return JobRunrEventScheduler.builder() .jobScheduler(jobScheduler) .serializer(serializer) .eventBus(eventBus) .transactionManager(transactionManager) .spanFactory(spanfactory) .build(); } For both JobRunr and db-scheduler, auto-configuration is included via the axon-spring-boot-starter. This means that if you don’t have an EventScheduler configured in the application, but you do have a JobScheduler bean (in the case of JobRunr) or a Scheduler bean (in the case of db-scheduler), an EventScheduler will be auto-configured for you. In these cases, it is recommended to set the axon.axonserver.enabled property to false to prevent the creation of the AxonServerEventScheduler.","title":"Event Schedulers","component":"axon-framework-reference","version":"development","name":"event-schedulers","url":"/axon-framework-reference/development/deadlines/event-schedulers/","titles":[{"text":"Scheduled events as deadlines","hash":"_scheduled_events_as_deadlines","id":1},{"text":"Simple event scheduler","hash":"_simple_event_scheduler","id":2},{"text":"JobRunr event scheduler","hash":"_jobrunr_event_scheduler","id":3},{"text":"Db-scheduler event scheduler","hash":"_db_scheduler_event_scheduler","id":4},{"text":"Axon Server event scheduler","hash":"_axon_server_event_scheduler","id":5},{"text":"Quartz event scheduler","hash":"_quartz_event_scheduler","id":6},{"text":"Spring configuration","hash":"_spring_configuration","id":7}]},"41":{"id":41,"text":"The 'Deadline' concept in Axon Framework is a mechanism which enables certain actions to be executed after a certain amount of time. The context of this execution is an *aggregate or a saga* in which the deadline was scheduled. If the deadline becomes obsolete there is the possibility to cancel it as well. This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help with scheduling and dealing of deadlines. A summary of the various subsections is given below. Sub-Section Purpose Deadline Managers Deadline Handling using Deadline Managers Event Schedulers Deadline Handling using Event Schedulers","title":"Deadlines","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/deadlines/","titles":[]},"42":{"id":42,"text":"Event publication can originate from a couple of locations within your Axon Framework application. In general, these can be grouped in two major areas: Dispatching events from an Aggregate, and Dispatching events from regular components This page will describe how to get an event message on the event bus from both locations. For more specifics regarding event publication and storage implementations in Axon Framework, read this section. The Aggregate or its Entities are typically the starting point of all event messages. The Event Message simply is the notification that a decision has been made; a successful resolution of handling a command message. To publish an event from an Aggregate, it is required to do this from the lifecycle of the Aggregate instance. This is mandatory as we want the Aggregate identifier to be tied to the Event message. It is also of the essence that the events originate in order. This is achieved by adding a sequence number to every event from an Aggregate. The AggregateLifecycle provides a simple means to achieve the above: import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @CommandHandler public GiftCard(IssueCardCommand cmd) { apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } // omitted state, command and event sourcing handlers } The AggregateLifecycle#apply(Object) will go through a number of steps: The current scope of the Aggregate is retrieved. The last known sequence number of the Aggregate is used to set the sequence number of the event to publish. The provided Event payload, the Object, will be wrapped in an EventMessage. The EventMessage will also receive the sequenceNumber from the previous step, as well as the Aggregate its identifier. The Event Message will be published from here on. The event will first be sent to all the Event Handlers in the Aggregate which are interested. This is necessary for Event Sourcing, to update the Aggregate’s state accordingly. After the Aggregate itself has handled the event, it will be published on the EventBus. Adding Meta Data to an Event The AggregateLifecycle also provides an apply(Object, MetaData) function. This can be used to attach command-handler specific MetaData. The AggregateLifecycle#apply method returns an implementation of the ApplyMore interface. This interface provides the following methods: .andThenApply(Supplier) - Applies a next event resulting from the given Supplier in order. .andThen(Runnable) - To execute some logic after the event has been applied .andThenApplyIf(Supplier, Supplier) - To apply a next event in the correct order, depending on a certain condition .andThenIf(Supplier, Runnable runnable) - To execute some logic after the event has been applied, depending on a certain condition In the vast majority of cases, the Aggregates will publish events by applying them. However, occasionally, it is necessary to publish an event (possibly from within another component), directly to the Event Gateway: private EventGateway eventGateway; public void dispatchEvent() { eventGateway.publish(new CardIssuedEvent(\"cardId\", 100, \"shopId\")); } // omitted class and constructor","title":"Event Dispatchers","component":"axon-framework-reference","version":"development","name":"event-dispatchers","url":"/axon-framework-reference/development/events/event-dispatchers/","titles":[{"text":"Dispatching events from an Aggregate","hash":"_dispatching_events_from_an_aggregate","id":1},{"text":"Dispatching events from a Non-Aggregate","hash":"_dispatching_events_from_a_non_aggregate","id":2}]},"43":{"id":43,"text":"An Event Handler is a method that is capable of handling an EventMessage. As such, the method will react to the occurrences within an application. In Axon, an object may declare several event handlers by annotating them with @EventHandler. This object is most often referred to as an Event Handling Component, or simply an Event Handler. When drafting an @EventHandler annotated method, the declared parameters of the method define which events it will receive. Arguably the most important parameter of an event handler is the first parameter which refers to the payload of an EventMessage. If the event handler does not need access to the payload of the message, you can specify the expected payload type on the @EventHandler annotation. Do not configure the payload type on the annotation if you want the payload to be passed as a parameter. For a complete list of all parameters, we refer to this section. In all circumstances, at most one event handler method is invoked per listener instance. Axon will search for the most specific method to invoke, using the following rules: On the actual instance level of the class hierarchy (as returned by this.getClass()), all annotated methods are evaluated. If the framework finds one or more methods for which it can resolve all parameters to a value, the method with the most specific type is chosen and invoked. If the framework finds no methods on this level of the class hierarchy, the supertype is evaluated the same way. When it reaches the top level of the hierarchy and no suitable event handler is found, the event is ignored. Consider the following Event Handling Component sample to explain the event handler invocation rules further: // assume EventB extends EventA // and EventC extends EventB // and a single instance of SubListener is registered public class TopListener { @EventHandler public void handle(EventA event) { } @EventHandler public void handle(EventC event) { } } public class SubListener extends TopListener { @EventHandler public void handle(EventB event) { } } In the example above, Axon will invoke the handler methods of SubListener for all instances of EventB and EventC (as it extends EventB). In other words, the handler methods of TopListener will not receive any invocations for EventC at all. Since EventA is not assignable to EventB (it is its superclass), the TopListener's handler method will process them. Event handling Components are defined using an EventProcessingConfigurer, which can be accessed from the global Axon Configurer. EventProcessingConfigurer is used to configure an EventProcessingConfiguration. Typically, an application will have a single EventProcessingConfiguration defined, but larger, more modular applications may define one per module. To register objects with @EventHandler methods, consider the following samples: Configuration API Spring Boot The Configurer exposes several options towards registering an Event Handling Component: public class AxonConfig { // omitting other configuration methods... public void configureEventHandler(Configurer configurer) { configurer.registerEventHandler( config -> new MyEventHandlingComponent() ); // or, when the handling component contains several message handler types: configurer.registerMessageHandler( config -> new MyEventHandlingComponent() ); // or, directly on the EventProcessingConfigurer: configurer.eventProcessing() .registerEventHandler(config -> new MyEventHandlingComponent() ); } } In a Spring Boot environment, simply adding the Event Handling Components to the Application Context is sufficient: @Component public class MyEventHandlingComponent { @EventHandler public void on(SomeEvent event) { // ... } }","title":"Event Handlers","component":"axon-framework-reference","version":"development","name":"event-handlers","url":"/axon-framework-reference/development/events/event-handlers/","titles":[{"text":"Registering event handlers","hash":"registering-event-handlers","id":1}]},"44":{"id":44,"text":"In the lifecycle of an Axon application, their events will typically change their format. As events are stored indefinitely, the application should be able to cope with several versions of an event. This chapter will discuss what to keep in mind when creating your events, for backwards (and forwards) compatibility. It will also explain the upcasting process. Due to the ever-changing nature of software applications, it is likely that event definitions will also change over time. Since the Event Store is considered a read and append-only data source, your application must be able to read all events, regardless of when they were added. This is where upcasting comes in. Originally a concept of object-oriented programming, where \"a subclass gets cast to its superclass automatically when needed\", the concept of upcasting can also be applied to event sourcing. To upcast an event means to transform it from its original structure to its new structure. Unlike OOP upcasting, event upcasting cannot be done in full automation because the structure of the new event is unknown to the old event. Manually written upcasters have to be provided to specify how to upcast the old structure to the new structure. Upcasters are classes that take one input event of revision x and output zero or more new events of revision x + 1. Moreover, upcasters are processed in a chain, meaning that the output of one upcaster is sent to the input of the next. This allows you to update events in an incremental manner, writing an upcaster for each new event revision, making them small, isolated, and easy to understand. Benefits if Upcasters Perhaps the greatest benefit of upcasting is that it allows you to do non-destructive refactoring. In other words, the complete event history remains intact. In this section we’ll explain how to write an upcaster, describe the different (abstract) implementations of the Upcaster that come with Axon, and explain how the serialized representations of events affects how upcasters are written. To allow an upcaster to see what version of serialized object they are receiving, the Event Store stores a revision number as well as the fully qualified name of the Event. This revision number is generated by a RevisionResolver, configured in the serializer. Axon provides several implementations of the RevisionResolver: The AnnotationRevisionResolver checks for an @Revision annotation on the Event payload. The SerialVersionUIDRevisionResolver uses the serialVersionUID as defined by Java Serialization API. The FixedValueRevisionResolver always returns a predefined value. This is particularly useful when injecting the current application version. It would allow you to see which version of the application generated a specific event. Maven users can use the MavenArtifactRevisionResolver to automatically use the project version. It is initialized using the groupId and artifactId of the project to obtain the version for. Since this only works in JAR files created by Maven, the version cannot always be resolved by an IDE. If a version cannot be resolved, null is returned. Axon’s upcasters do not work with the EventMessage directly, but with an IntermediateEventRepresentation. The IntermediateEventRepresentation provides functionality to retrieve all necessary fields to construct an EventMessage (and thus a upcasted EventMessage too), together with the actual upcast functions. These upcast functions by default only allow the adjustment of the event’s payload, payload type and additions to the event’s metadata. The actual representation of the events in the upcast function may vary based on the event serializer used or the desired form to work with, so the upcast function of the IntermediateEventRepresentation allows the selection of the expected representation type. The other fields, for example the message/aggregate identifier, aggregate type, timestamp etc. are not adjustable by the IntermediateEventRepresentation. Adjusting those fields is not the intended work for an upcaster. As such, those options are not provided by the provided IntermediateEventRepresentation implementations. The basic Upcaster interface for events in the Axon Framework works on a Stream of IntermediateEventRepresentations and returns a Stream of IntermediateEventRepresentations. The upcasting process thus does not directly return the end result of the introduced upcast functions, but chains every upcasting function from one revision to another together by stacking IntermediateEventRepresentations. Once this process has taken place and the end result is pulled from them, that is when the actual upcasting function is performed on the serialized event. Different serialization formats Sometimes the event store can contain events in different serialized formats, since differing Serializer implementations where used. During upcasting it is important to note what the format is of the IntermediateEventRepresentation, as it influences the upcaster solution provided. To validate if the intermediate representation supports a given type, you can invoke IntermediateEventRepresentation#canConvertDataTo(Class). As described earlier, the Upcaster interface does not upcast a single event; it requires a Stream and returns one. However, an upcaster is usually written to adjust a single event out of this stream. More elaborate upcasting setups are also imaginable. For example from one event to multiple, or an upcaster which pulls state from an earlier event and pushes it in a later one. This section describes the currently provided (abstract) implementations of event upcasters which a user can extend to add their own desired upcast functionality. SingleEventUpcaster - a one-to-one implementation of an event upcaster. Extending from this implementation requires one to implement a canUpcast and doUpcast function, which respectively check whether the event at hand is to be upcasted, and if so how it should be upcasted. This is most likely the implementation to extend from, as most event adjustments are based on self contained data and are one to one. EventMultiUpcaster - a one-to-many implementation of an event upcaster. It is mostly identical to a SingleEventUpcaster, with the exception that the doUpcast function returns a Stream instead of a single IntermediateEventRepresentation. As such, this upcaster allows you to convert a single event to several events. This might be useful if you for example have figured out you want more fine grained events from a fat event. ContextAwareSingleEventUpcaster - a one-to-one implementation of an upcaster, which can store context of events during the process. Next to the canUpcast and doUpcast, the context aware upcaster requires one to implement a buildContext function, which is used to instantiate a context which is carried between events going through the upcaster. The canUpcast and doUpcast functions receive the context as a second parameter, next to the IntermediateEventRepresentation. The context can then be used within the upcasting process to pull fields from earlier events and populate other events. It thus allows you to move a field from one event to a completely different event. ContextAwareEventMultiUpcaster - a one-to-many implementation of an upcaster, which can store context of events during the process. This abstract implementation is a combination of the EventMultiUpcaster and ContextAwareSingleEventUpcaster, and thus services the goal of keeping context of IntermediateEventRepresentations and upcasting one such representation to several. This implementation is useful if you not only want to copy a field from one event to another, but have the requirement to generate several new events in the process. EventTypeUpcaster - a full upcaster implementation dedicated to changing the event type. The EventTypeUpcaster is an implementation of the SingleEventUpcaster with predefined canUpcast and doUpcast functions to be able to change an event from one event type to another. This can be used to for example change the class or package name of an event with ease. To create an EventTypeUpcaster, it is recommended to use the EventTypeUpcaster#from(String expectedPayloadType, expectedRevision) and EventTypeUpcaster.Builder#to(upcastedPayloadType, upcastedRevision) methods. What’s part of the context in a Context-Aware Upcasters? A context-aware upcaster allows you to collect state from previous events. As upcasters work on a stream of events, all that can ever belong to the context is the state of that stream. However, this \"stream of events\" is not identical at all times. For example, when an aggregate is event-sourced, the event stream consists of aggregate instance-specific events. Furthermore, the stream of events starts from the tracking token’s position for a Streaming Event Processor. Hence, the context contains different states depending on what’s included in the event stream. The following Java snippets will serve as a basic example of a one-to-one upcaster (the SingleEventUpcaster). Old version of the event: @Revision(\"1.0\") public class ComplaintEvent { private String id; private String companyName; // Constructor, getter, setter... } New version of the event: @Revision(\"2.0\") public class ComplaintEvent { private String id; private String companyName; private String description; // New field // Constructor, getter, setter... } Upcaster from 1.0 revision to 2.0 revision: Event with XStream Event with Jackson public class ComplaintEvent1_to_2Upcaster extends SingleEventUpcaster { private static final SimpleSerializedType TARGET_TYPE = new SimpleSerializedType(ComplaintEvent.class.getTypeName(), \"1.0\"); @Override protected boolean canUpcast(IntermediateEventRepresentation intermediateRepresentation) { return intermediateRepresentation.getType().equals(TARGET_TYPE); } @Override protected IntermediateEventRepresentation doUpcast( IntermediateEventRepresentation intermediateRepresentation ) { return intermediateRepresentation.upcastPayload( new SimpleSerializedType(TARGET_TYPE.getName(), \"2.0\"), org.dom4j.Document.class, document -> { document.getRootElement() .addElement(\"description\") .setText(\"no complaint description\"); // Default value return document; } ); } } public class ComplaintEvent1_to_2Upcaster extends SingleEventUpcaster { // upcaster implementation... private static final SimpleSerializedType TARGET_TYPE = new SimpleSerializedType(ComplaintEvent.class.getTypeName(), \"1.0\"); @Override protected boolean canUpcast(IntermediateEventRepresentation intermediateRepresentation) { return intermediateRepresentation.getType().equals(TARGET_TYPE); } @Override protected IntermediateEventRepresentation doUpcast( IntermediateEventRepresentation intermediateRepresentation ) { return intermediateRepresentation.upcastPayload( new SimpleSerializedType(TARGET_TYPE.getName(), \"2.0\"), com.fasterxml.jackson.databind.JsonNode.class, event -> { ((ObjectNode) event).put(\"description\", \"no complaint description\"); return event; } ); } } After choosing an upcaster type and constructing your first instance, it is time to configure it in your application. Important in the configuration is knowing that upcasters need to be invoked in order. Events tend to move through several format iterations, each with its own upcasting requirements. Since an upcaster only adjusts an event from one version to another, it is paramount to maintain the ordering of the upcasters. The component in charge of that ordering is the EventUpcasterChain. The upcaster chain is what the EventStore uses to attach all the upcast functions to the event stream. When configuring your upcasters, most scenarios will not require you to touch the EventUpcasterChain directly. Instead, consider the following snippets when it comes to registering upcasters: Configuration API Spring Boot with @Order annotation Spring Boot with EventUpcasterChain bean @Configuration public class AxonConfig { // omitting other configuration methods... public void configureUpcasters(Configurer configurer) { // The method invocation order imposes the upcaster ordering configurer.registerEventUpcaster(config -> new ComplaintEvent0_to_1Upcaster()) .registerEventUpcaster(config -> new ComplaintEvent1_to_2Upcaster()); } } Axon honors Spring’s Order annotation on upcasters. The numbers used in the annotation will dictate the ordering. The lower the number, the earlier it is registered to the upcaster chain: @Component @Order(0) public class ComplaintEvent0_to_1Upcaster extends SingleEventUpcaster { // upcaster implementation... } @Component @Order(1) public class ComplaintEvent1_to_2Upcaster extends SingleEventUpcaster { // upcaster implementation... } The annotation can be placed both on the class itself, or on bean creation methods: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean @Order(0) public SingleEventUpcaster complaintEventUpcasterOne() { return new ComplaintEvent0_to_1Upcaster(); } @Bean @Order(1) public SingleEventUpcaster complaintEventUpcasterTwo() { return new ComplaintEvent0_to_1Upcaster(); } } Adding an EventUpcasterChain bean to the Application Context will tell Axon to configure it for your event source: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public EventUpcasterChain eventUpcasterChain() { return new EventUpcasterChain( new ComplaintEvent0_to_1Upcaster(), new ComplaintEvent0_to_1Upcaster() ); } }","title":"Event Versioning","component":"axon-framework-reference","version":"development","name":"event-versioning","url":"/axon-framework-reference/development/events/event-versioning/","titles":[{"text":"Event Upcasting","hash":"event-upcasting","id":1},{"text":"Provided abstract Upcaster implementations","hash":"_provided_abstract_upcaster_implementations","id":2},{"text":"Writing an Upcaster","hash":"_writing_an_upcaster","id":3},{"text":"Configuring an Upcaster","hash":"_configuring_an_upcaster","id":4}]},"45":{"id":45,"text":"The second type of Message that an Axon application is associated with is the Event Message, or simply Events. These are messages that communicate that something has happened in the business domain or application. Other parts of the application, or event other applications, can react to these events. This section of the reference guide covers in detail the capabilities that Axon Framework provides for Event messages. A summary of the various sections is given below. Sub-Section Purpose Event Dispatchers / Event Handlers Functional development for Event Messages using the Axon Framework Event Processors / Event Bus & Event Store Non-Functional development for Event Messages using the Axon Framework Event Versioning Details on Event versioning capabilities provided by the Axon Framework","title":"Events","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/events/","titles":[]},"46":{"id":46,"text":"The EventBus is the mechanism that dispatches events to the subscribed event handlers. Axon provides three implementations of the Event Bus: AxonServerEventStore, EmbeddedEventStore and SimpleEventBus. All three implementations support subscribing and tracking processors (see Event Processors). However, the AxonServerEventStore and EmbeddedEventStore persist events (see Event Store), which allows you to replay them at a later stage. The SimpleEventBus has a volatile storage and 'forgets' events as soon as they have been published to subscribed components. An AxonServerEventStore event bus/store is configured by default. Event sourcing repositories need an event store to store and load events from aggregates. An event store offers the functionality of an event bus. Additionally, it persists published events and is able to retrieve previous events based on a given aggregate identifier. Axon provides an event store out of the box, the AxonServerEventStore. It connects to the AxonIQ AxonServer Server to store and retrieve Events. Configuration API Spring Boot Declare dependencies: org.axonframework axon-server-connector ${axon.version} org.axonframework axon-configuration ${axon.version} Configure your application: // Returns a Configurer instance with default components configured. // `AxonServerEventStore` is configured as Event Store by default. Configurer configurer = DefaultConfigurer.defaultConfiguration(); By simply declaring a dependency on axon-spring-boot-starter, Axon will automatically configure the event bus/event store: org.axonframework axon-spring-boot-starter ${axon.version} Excluding the Axon Server Connector If you exclude the axon-server-connector dependency from axon-spring-boot-starter the EmbeddedEventStore will be auto-configured for you, if a concrete implementation of EventStorageEngine is available. If JPA or JDBC is detected on the classpath, a JpaEventStorageEngine or JdbcEventStorageEngine will respectively be auto-configured as the EventStorageEngine. In absence of either, the auto configuration falls back to the SimpleEventBus. Alternatively, Axon provides a non-axon-server option, the EmbeddedEventStore. It delegates the actual storage and retrieval of events to an EventStorageEngine. There are multiple EventStorageEngine implementations available: The JpaEventStorageEngine stores events in a JPA-compatible data source. The JPA event store stores events in entries. These entries contain the serialized form of an event, as well as some fields where metadata is stored for fast lookup of these entries. To use the JpaEventStorageEngine, you must have the JPA (jakarta.persistence) annotations on your classpath. The old, javax JPA (javax.persistence) annotations are also still supported. This will use an instance of the JpaEventStorageEngine using the legacyjpa namespace. By default, the event store needs you to configure your persistence context (for example, as defined in the META-INF/persistence.xml file) to contain the classes DomainEventEntry and SnapshotEventEntry (both of these classes are located in the org.axonframework.eventsourcing.eventstore.jpa package). Below is an example configuration of a persistence context configuration: (1) org.axonframework.eventsourcing.eventstore.jpa.DomainEventEntry (2) org.axonframework.eventsourcing.eventstore.jpa.SnapshotEventEntry 1 In this example, there is a specific persistence unit for the event store. You may, however, choose to add the third line to any other persistence unit configuration. 2 This line registers the DomainEventEntry (the class used by the JpaEventStorageEngine) with the persistence context. Unique Key Constraint Consideration Axon uses locking to prevent two threads from accessing the same aggregate. However, if you have multiple JVMs using the same database, this won’t help you. In that case, you’d have to rely on the database to detect conflicts. Concurrent access to the event store will result in a Key Constraint Violation, as the table only allows a single event for a given aggregate and sequence number. Therefore, inserting a second event for an existing aggregate with an existing sequence number will result in an error. The JpaEventStorageEngine can detect this error and translate it to a ConcurrencyException. However, each database system reports this violation differently. If you register your DataSource with the JpaEventStorageEngine, it will try to detect the type of database and figure out which error codes represent a Key Constraint Violation. Alternatively, you may provide a PersistenceExceptionResolver instance, which can tell if a given exception represents a key constraint violation. If no DataSource or PersistenceExceptionTranslator is provided, exceptions from the database driver are thrown as-is. By default, the JpaEventStorageEngine requires an EntityManagerProvider implementation that returns the EntityManager instance for the EventStorageEngine to use. This also allows application managed persistence contexts to be used. It is the EntityManagerProvider’s responsibility to provide a correct instance of the `EntityManager. There are a few implementations of the EntityManagerProvider available, each for different needs. The SimpleEntityManagerProvider simply returns the EntityManager instance which is given to it at construction time. This makes the implementation a simple option for container managed contexts. Alternatively, there is the ContainerManagedEntityManagerProvider, which returns the default persistence context, and is used by default by the JPA event store. Move from javax.persistence to jakarta.persistence Since version 4.6.0, we moved to using the jakarta namespace by default. This means some classes like the JpaTokenStore are duplicated to accommodate for the javax to jakarta namespace change. If you have a persistence unit called \"myPersistenceUnit\" which you wish to use in the JpaEventStorageEngine, the EntityManagerProvider implementation could look like this: public class MyEntityManagerProvider implements EntityManagerProvider { private EntityManager entityManager; @Override public EntityManager getEntityManager() { return entityManager; } @PersistenceContext(unitName = \"myPersistenceUnit\") public void setEntityManager(EntityManager entityManager) { this.entityManager = entityManager; } By default, the JPA event store stores entries in DomainEventEntry and SnapshotEventEntry entities. While this will suffice in many cases, you might encounter a situation where the metadata provided by these entities is not enough. It is also possible that you might want to store events for different aggregate types in different tables. If that is the case, you can extend the JpaEventStorageEngine. It contains a number of protected methods that you can override to tweak its behavior. Note that persistence providers, such as Hibernate, use a first-level cache in their EntityManager implementation. Typically, this means that all entities used or returned in queries are attached to the EntityManager. They are only cleared when the surrounding transaction is committed or an explicit \"clear\" is performed inside the transaction. This is especially the case when the queries are executed in the context of a transaction. To work around this issue, make sure to exclusively query for non-entity objects. You can use JPA’s SELECT new SomeClass(parameters) FROM …​ style queries to work around this issue. Alternatively, call EntityManager.flush() and EntityManager.clear() after fetching a batch of events. Failure to do so might result in `OutOfMemoryException`s when loading large streams of events. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public Configurer jpaEventStorageConfigurer( EntityManagerProvider entityManagerProvider, TransactionManager transactionManager ) { return DefaultConfigurer.jpaConfiguration(entityManagerProvider, transactionManager); } } @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore( EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry ) { return EmbeddedEventStore.builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The JpaEventStorageEngine stores events in a JPA-compatible data source. @Bean public EventStorageEngine eventStorageEngine( Serializer serializer, PersistenceExceptionResolver persistenceExceptionResolver, @Qualifier(\"eventSerializer\") Serializer eventSerializer, EntityManagerProvider entityManagerProvider, TransactionManager transactionManager ) { return JpaEventStorageEngine .builder() .snapshotSerializer(serializer) .persistenceExceptionResolver(persistenceExceptionResolver) .eventSerializer(eventSerializer) .entityManagerProvider(entityManagerProvider) .transactionManager(transactionManager) // ... .build(); } } The JDBC event storage engine uses a JDBC Connection to store events in a JDBC compatible data storage. Typically, these are relational databases. Theoretically, anything that has a JDBC driver could be used to back the JdbcEventStorageEngine. Similar to its JPA counterpart, the JDBCEventStorageEngine stores events in entries. By default, each event is stored in a single entry, which corresponds with a row in a table. The storage engine uses one table for events and another for snapshots. The JdbcEventStorageEngine uses a ConnectionProvider to obtain connections. Typically, the engine can obtain these connections directly from a DataSource. However, Axon will bind these connections to a UnitOfWork to use a single connection within a unit of work. This approach ensures that the framework uses a single transaction to store all events, even when multiple units of work are nested in the same thread. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureJdbcEventStorage( Configurer configurer, ConnectionProvider connectionProvider, EventTableFactory eventTableFactory ) { configurer.configureEmbeddedEventStore(config -> { JdbcEventStorageEngine storageEngine = JdbcEventStorageEngine .builder() .snapshotSerializer(config.serializer()) .connectionProvider(connectionProvider) .transactionManager(config.getComponent(TransactionManager.class)) .eventSerializer(config.eventSerializer()) // ... .build(); // If the schema has not been constructed yet, the createSchema method can be used: storageEngine.createSchema(eventTableFactory); return storageEngine; }); } } By having JDBC on the classpath, Axon’s JdbcAutoConfiguration will automatically generate the JdbcEventStorageEngine for you. All that might be left is the creation of the schema. Axon can help you here with the createSchema operation: @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore( EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry ) { return EmbeddedEventStore .builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The JdbcEventStorageEngine stores events in a JDBC-compatible data source. @Bean public EventStorageEngine storageEngine( Serializer serializer, ConnectionProvider connectionProvider, @Qualifier(\"eventSerializer\") Serializer eventSerializer, TransactionManager transactionManager, EventTableFactory tableFactory ) { JdbcEventStorageEngine storageEngine = JdbcEventStorageEngine .builder() .snapshotSerializer(serializer) .connectionProvider(connectionProvider) .eventSerializer(eventSerializer) .transactionManager(transactionManager) // ... .build(); // If the schema has not been constructed yet, the createSchema method can be used: storageEngine.createSchema(tableFactory); return storageEngine; } } Data sources providers with Spring We recommend that Spring users use the SpringDataSourceConnectionProvider to attach a connection from a DataSource to an existing transaction. SQL Statement Customizability Databases have slight deviations from what’s the optimal SQL statement to perform in differing scenarios. Since optimizing for all possibilities out there is beyond the framework’s scope, you can adjust the default statements used by the storage engine. Check the JdbcEventStorageEngineStatements utility class for the default statements used by the JdbcEventStorageEngine. Furthermore, the org.axonframework.eventsourcing.eventstore.jdbc.statements package contains the set of adjustable statements. Each of these statement-builders can be customized through the JdbcEventStorageEngine.Builder. MongoDB is a document based NoSQL store. Its scalability characteristics make it suitable for use as an event store. Axon provides the MongoEventStorageEngine, which uses MongoDB as a backing database. It is contained in the Axon Mongo module (Maven artifactId axon-mongo). Events are stored in two separate collections: one for the event streams and one for snapshots. By default, the MongoEventStorageEngine stores each event in a separate document. It is, however, possible to change the StorageStrategy used. The alternative provided by Axon is the DocumentPerCommitStorageStrategy, which creates a single document for all events that have been stored in a single commit (that is, in the same DomainEventStream). The advantage of storing an entire commit in a single document is that commit is stored atomically. Furthermore, it requires only a single roundtrip for any number of events. The disadvantage is that it becomes harder to query events directly in the database. For example, when refactoring the domain model it is harder to \"transfer\" events from one aggregate to another if they are included in a \"commit document\". The MongoEventStorageEngine does not require a lot of configuration. All it needs is a reference to the collections to store the events in, and you’re set to go. For production environments, you may want to double check the indexes on your collections. If you want transactions to be handled correctly, it’s important to set a TransactionManager. Please note that there are several other optional configuration properties, like the serializers and an (optional) upcaster chain. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureMongoEventStorage(Configurer configurer, MongoTemplate mongoTemplate) { configurer.configureEmbeddedEventStore(config -> MongoEventStorageEngine .builder() .mongoTemplate(mongoTemplate) // ... .build() ); } } @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore(EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry) { return EmbeddedEventStore .builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The MongoEventStorageEngine stores each event in a separate MongoDB document. @Bean public EventStorageEngine storageEngine(MongoClient client) { return MongoEventStorageEngine .builder() .mongoTemplate(DefaultMongoTemplate.builder() .mongoDatabase(client) .build()) // ... .build(); } } Axon provides a number of Event Storage Engines that may be useful in certain circumstances. The InMemoryEventStorageEngine keeps stored events in memory. While it probably outperforms any other event store out there, it is not really meant for long-term production use. However, it is useful in short-lived tools or tests that require an event store. Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureInMemoryEventStorage(Configurer configurer) { configurer.configureEmbeddedEventStore(config -> new InMemoryEventStorageEngine()); } } @Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore(EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry) { return EmbeddedEventStore.builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The InMemoryEventStorageEngine stores each event in memory. @Bean public EventStorageEngine storageEngine() { return new InMemoryEventStorageEngine(); } } The SequenceEventStorageEngine is a wrapper around two other event storage engines. When reading, it returns the events from both event storage engines. Appended events are only appended to the second event storage engine. This is useful in cases where two different implementations of event storage are used for performance reasons, for example. The first would be a larger, but slower event store, while the second is optimized for quick reading and writing. The FilteringEventStorageEngine allows events to be filtered based on a predicate. Only events that match the given predicate will be stored. Note that event processors that use the event store as a source of events may not receive these events because they are not being stored. Event stores need a way to serialize the event to prepare it for storage. By default, Axon uses the XStreamSerializer, which uses XStream to serialize events into XML. XStream is reasonably fast and is more flexible than Java Serialization. Furthermore, the result of XStream serialization is human-readable. This makes it quite useful for logging and debugging purposes. The XStreamSerializer can be configured. You can define aliases it should use for certain packages, classes or even fields. Besides being a nice way to shorten potentially long names, aliases can also be used when class definitions of events change. For more information about aliases, visit the XStream website. Alternatively, Axon also provides the JacksonSerializer, which uses Jackson to serialize events into JSON. While it produces a more compact serialized form, it does require that classes stick to the conventions (or configuration) required by Jackson. You may also implement your own serializer, simply by creating a class that implements Serializer, and configuring the event store to use that implementation instead of the default. Configuration API Spring Boot // Returns a Configurer instance with default components configured. // We explicitly set `JacksonSerializer` as desired event serializer. Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureEventSerializer(c -> JacksonSerializer.builder().build()); You can specify a serializer in your application.properties: # somewhere in your `application.properties` axon.serializer.events=jackson # possible values: java, xstream, jackson Alternatively, you can explicitly define your Serializer in the Spring context: // somewhere in your `@Configuration` class @Qualifier(\"eventSerializer\") @Bean public Serializer eventSerializer() { return JacksonSerializer.builder().build(); } It is possible to use a different serializer for the storage of events, than all other objects that Axon needs to serialize (such as commands, snapshots, sagas, etc). While the XStreamSerializer’s capability to serialize virtually anything makes it a decent default, its output is not always a form that makes it nice to share with other applications. The `JacksonSerializer creates much nicer output, but requires a certain structure in the objects to serialize. This structure is typically present in events, making it a suitable event serializer. If no explicit eventSerializer is configured, events are serialized using the main serializer that has been configured (which defaults to the XStreamSerializer). To distribute events between applications, it is important to know whether the applications belong to the same bounded context. If you don’t recognize this concept, we recommend reading the Bounded Context section first. Applications within the same context \"speak the same language.\" In other words, they communicate using the same set of messages and thus events. As such, we can share the EventStore’s data source between these applications. We may thus achieve distribution by utilizing the source itself. You can use both the EmbeddedEventStore and Axon Server for this. The former would require the applications to point to the same data source, whereas the latter would require the applications to partake in the same context. However, sharing the entire event API is not recommended whenever the applications do not belong to the same context. Instead, we should protect the boundary of the contexts, except for some clearly defined cross-boundary messages. Since accessing the same source isn’t an option, we require a different solution to share events. To distribute events between bounded contexts, you can use Axon Server’s Multi-Context solution, for example. The multi-context support requires application registration to specific contexts. Then, you can open a stream to another context through the AxonServerEventStore#createStreamableMessageSourceForContext(String) operation. With this source in hand, you can configure a Streaming Processor to start reading from it. Alternatively, you can use a message broker to distribute events between contexts. Axon provides a good bunch of these as extension modules, for example Spring AMQP or Kafka. Although this allows further event distribution, we still recommend consciously sharing the correct events. Ideally, we add a form of context mapping, like an anti-corruption layer, between the contexts. In other words, we recommend using a separate component that maps the events from the local context to a shared language right before distribution. For example, this mapper would publish the messages on the AMQP queue or Kafka topic. When it comes to Axon Server, we could, for example, use a distinct shared/global context to contain the shared language.","title":"Event Bus & Event Store","component":"axon-framework-reference","version":"development","name":"infrastructure","url":"/axon-framework-reference/development/events/infrastructure/","titles":[{"text":"Event bus","hash":"_event_bus","id":1},{"text":"Event store","hash":"event-store","id":2},{"text":"Axon Server as an event store","hash":"_axon_server_as_an_event_store","id":3},{"text":"Embedded event store","hash":"embedded-event-store","id":4},{"text":"JpaEventStorageEngine","hash":"JpaEventStorageEngine","id":5},{"text":"JdbcEventStorageEngine","hash":"JdbcEventStorageEngine","id":6},{"text":"MongoEventStorageEngine","hash":"MongoEventStorageEngine","id":7},{"text":"Event store utilities","hash":"_event_store_utilities","id":8},{"text":"In-Memory event storage","hash":"_in_memory_event_storage","id":9},{"text":"Combining multiple event stores into one","hash":"_combining_multiple_event_stores_into_one","id":10},{"text":"Filtering stored events","hash":"_filtering_stored_events","id":11},{"text":"Influencing the serialization process","hash":"_influencing_the_serialization_process","id":12},{"text":"Serializing events vs 'the others'","hash":"_serializing_events_vs_the_others","id":13},{"text":"Distributing events","hash":"_distributing_events","id":14}]},"47":{"id":47,"text":"In Axon, all communication between components is done with explicit messages, represented by the Message interface. A Message consists of a Payload, which is an application-specific object that represents the actual functional message, and Meta Data, which is a key-value pair describing the context of the message. Each of Message’s sub-interfaces represent a specific type of message, and defines additional information that describes that Message. Unlike Meta Data, this additional information defines information required for correct processing of that type of message. Messages are immutable. That means that, to add a Meta Data element, you effectively create a new Message instance, with an additional (or other) Meta Data element. To still be able to consider two Java-instances of a message as representing the same conceptual Message, each message has an identifier. Changing the Meta Data of a message will not change this identifier. Meta Data of messages typically describe the context in which a Message was generated. For example, Meta Data might contain information about the message that caused this Message to be generated (for example, Command handlers generate Events based on an incoming Command). In Axon, Meta Data is represented as a Map of String to Object. While you are free to add any type of object as the Meta Data value, we strongly recommend sticking to primitives and Strings (or at most simple objects). Meta Data does not come with the same flexibility as the payload when it comes to structural changes. Unlike a regular Map, MetaData in Axon is immutable. Mutating methods will create and return a new instance, instead of modifying an existing one. MetaData metaData = MetaData.with(\"myKey\", 42) (1) .and(\"otherKey\", \"some value\"); (2) 1 Creates a MetaData instance with the indicated key-value pair 2 Adds a key-value pair, returning a new instance of MetaData with the additional entry. Meta Data in a message works similarly: EventMessage eventMessage = GenericEventMessage .asEventMessage(\"myPayload\") (1) .withMetaData(singletonMap(\"myKey\", 42)) (2) .andMetaData(singletonMap(\"otherKey\", \"some value\")); (3) 1 Create an EventMessage with \"myPayload\" as the payload 2 withMetaData replaces any Meta Data in the message with the given Map. In this case java.util.Collections.singletonMap() is used to define a single entry. 3 andMetaData adds the entries from the given Map to the Message’s metadata. Existing entries with equal keys are overwritten. MetaData Implementation remark MetaData also implements Map, meaning that instead of passing a singletonMap (or any other type of Map), you can also use MetaData.with(key, value). As MetaData is immutable, all mutating operations of Map will throw an UnsupportedOperationException. Certain types of messages provide extra information (on top of what the Message provides). For example, an EventMessage (an interface extending Message) also provides a timestamp, representing the time at which the event was generated. The QueryMessage carries, besides Payload and Meta Data, a description of the type of response that the requesting component expects.","title":"Anatomy of a Message","component":"axon-framework-reference","version":"development","name":"anatomy-message","url":"/axon-framework-reference/development/messaging-concepts/anatomy-message/","titles":[{"text":"Meta data","hash":"meta-data","id":1},{"text":"Message-specific data","hash":"_message_specific_data","id":2}]},"48":{"id":48,"text":"Exception handling is a well-known concept when developing software. Dealing with exceptions in a distributed application landscape is a little more challenging than we are typically used to. Especially when it comes to failures when handling a command or a query, messages that are intended to have a return value, we should be conscious about how we throw exceptions. The HandlerExecutionException marks an exception which originates from a message handling member. Since an Event message is unidirectional, handling an event does not include any return values. As such, the HandlerExecutionException should only be returned as an exceptional result from handling a command. Axon provides a more concrete implementation of this exception for failed command and query handling, respectively the CommandExecutionException and QueryExecutionException. The usefulness of a dedicated handler execution exception becomes clearer in a distributed application environment where, for example, there is a dedicated application for dealing with commands and another application tasked with the query side. Due to the application division, you loose any certainty that both applications can access the same classes, which thus holds for any exception classes. To support and encourage this decoupling, Axon will generify any exception which is a result of Command or Query Handling. To maintain support for conditional logic dependent on the type of exception thrown in a distributed scenario, it is possible to provide details in a HandlerExecutionException. It is thus recommended to throw a CommandExecutionException / `QueryExecutionException`with the required details, when command/query handling fails. This behaviour could be supported generically by implementing interceptors which perform exception wrapping for you. Axon Framework allows the use of methods annotated with @ExceptionHandler to provide more fine-grained control on how to react to exceptions. More specifically, this is a type of message handler interceptor dedicated to reacting to exceptional results. Note that such an @ExceptionHandler will only handle exceptions thrown from message handling functions in the same class. For more specifics on how to use this annotation, check out this section.","title":"Exception Handling","component":"axon-framework-reference","version":"development","name":"exception-handling","url":"/axon-framework-reference/development/messaging-concepts/exception-handling/","titles":[{"text":"Handler execution exception","hash":"_handler_execution_exception","id":1},{"text":"@ExceptionHandler annotated methods","hash":"_exceptionhandler_annotated_methods","id":2}]},"49":{"id":49,"text":"One of the core concepts in Axon is messaging. All communication between components is done using message objects. This gives these components the location transparency needed to be able to scale and distribute these components when necessary. Although all these messages implement the Message interface, there is a clear distinction between the different types of messages and how they are treated. All messages contain a payload, metadata and unique identifier. The payload of the message is the functional description of what the message means. The combination of the class name of this object and the data it carries, describe the application’s meaning of the message. The metadata allows you to describe the context in which a message is being sent. You can, for example, store tracing information, to allow the origin or cause of messages to be tracked. You can also store information to describe the security context under which a command is being executed. All messages are immutable Note that all messages are immutable. Storing data in a message actually means creating a new message based on the previous one, with extra information added to it. This guarantees that messages are safe to use in a multi-threaded and distributed environment. Commands describe an intent to change the application’s state. They are implemented as (preferably read-only) POJOs that are wrapped using one of the CommandMessage implementations. Commands always have exactly one destination. While the sender does not care which component handles the command or where that component resides, it may be interesting knowing the outcome of it. That is why command messages sent over the command bus allow for a result to be returned. Events are objects that describe something that has occurred in the application. A typical source of events is the aggregate. When something important has occurred within the aggregate, it will raise an event. In Axon Framework, events can be any object. You are highly encouraged to make sure all events are serializable. When Events are dispatched, Axon wraps them in an EventMessage. The actual type of Message used depends on the origin of the event. When an event is raised by an aggregate, it is wrapped in a DomainEventMessage (which extends EventMessage). All other events are wrapped in an EventMessage . Aside from common Message attributes like the unique Identifier an EventMessage also contains a timestamp. The DomainEventMessage additionally contains the type and identifier of the aggregate that raised the event. It also contains the sequence number of the event in the aggregate’s event stream, which allows the order of events to be reproduced. Include aggregate identifiers in tyour events Even though the DomainEventMessage contains a reference to the Aggregate Identifier, you should always include the identifier in the actual Event itself as well. The identifier in the DomainEventMessage is used by the EventStore to store events and may not always provide a reliable value for other purposes. The original event object is stored as the payload of an EventMessage. Next to the payload, you can store information in the metadata of an event message. The intent of the metadata is to store additional information about an event that is not primarily intended as business information. Auditing information is a typical example. It allows you to see under which circumstances an Event was raised. Such as the user account that triggered the processing, or the name of the machine that processed the event. Do not base business decisions on metadata In general, you should not base business decisions on information in the metadata of event messages. If that is the case, you might have information attached that should really be part of the event itself instead. Metadata is typically used for reporting, auditing and tracing. Although not enforced, it is good practice to make domain events immutable, preferably by making all fields final and by initializing the event within the constructor. Consider using a Builder pattern if event construction is too cumbersome. Capture intent in your events Although domain events technically indicate a state change, you should try to capture the intention of the state in the event, too. A good practice is to use an abstract implementation of a domain event to capture the fact that certain state has changed, and use a concrete sub-implementation of that abstract class that indicates the intention of the change. For example, you could have an abstract AddressChangedEvent, and two implementations ContactMovedEvent and AddressCorrectedEvent that capture the intent of the state change. Some listeners don’t care about the intent (for example, database updating event listeners). These will listen to the abstract type. Other listeners do care about the intent and these will listen to the concrete subtypes (for example, to send an address change confirmation email to the customer). When dispatching an Event on the Event Bus, you will need to wrap it in an Event Message. The GenericEventMessage is an implementation that allows you to wrap your Event in a Message. You can use the constructor, or the static asEventMessage() method. The latter checks whether the given parameter doesn’t already implement the Message interface. If so, it is either returned directly (if it implements EventMessage,) or it returns a new GenericEventMessage using the given Message’s payload and Metadata. If an Event is applied (published) by an Aggregate Axon will automatically wrap the Event in a DomainEventMessage containing the Aggregate’s Identifier, Type and Sequence Number. Queries describe a request for information or state. A query can have multiple handlers. When dispatching queries, the client indicates whether he wants a result from one or from all available query handlers. When building Axon Framework applications, you will typically see a flow of messages. Commands are sent to the Command Bus, which dispatches them to the appropriate Command Handler. The command handler will apply events that will be published and handled by Event Handlers. These handlers can update the read model, which can be queried using Query Messages. Using AxonIQ Console, you can monitor the flow of messages in your application as you can see in the image below. Besides seeing the flow, every message handler is individually monitored, providing deep insight into the performance and behavior of your application. For more information, see the AxonIQ Console Reference Guide or sign up directly.","title":"Messaging Concepts","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/messaging-concepts/","titles":[{"text":"Commands","hash":"_commands","id":1},{"text":"Events","hash":"_events","id":2},{"text":"Queries","hash":"_queries","id":3},{"text":"Message flow","hash":"_message_flow","id":4}]},"50":{"id":50,"text":"In messaging systems it is common to group messages together or correlate them. In Axon Framework a Command message might result in one or several Event messages and a Query message might result in one or several QueryResponse messages. Usually, correlation is implemented using a specific message property, a so-called correlation identifier. Messages in Axon Framework use the MetaData property to transport meta-information about the message. The MetaData object is of type Map and is passed around with the message. To fill the MetaData of a new message produced within a Unit of Work, a so called CorrelationDataProvider can be used. It is the Unit of Work that is in charge of populating the MetaData of a new message based on this CorrelationDataProvider. Axon Framework currently provides a couple of implementations of this functional interface: By default, the MessageOriginProvider is registered as the correlation data provider to use. It is responsible for two values to be passed around from one Message to another, namely the correlationId and traceId. The correlationId of a message always references the identifier of the message it originates from (that is, the parent message). The traceId on the other hand references to the message identifier which started the chain of messages (that is, the root message). When neither of these fields is present in the parent message when a new message is created, the message identifier will be used for both. To place this in an example, if you would handle a Command message which in turn publishes an Event message, the Event message’s MetaData will be populated based on: The Command message’s identifier for the correlationId. The Command message’s presence of the traceId in the MetaData or otherwise the message’s identifier for the traceId. The SimpleCorrelationDataProvider is configured to unconditionally copy values of specified keys from one message to metadata of the other. To do so, the constructor of the SimpleCorrelationDataProvider must be called with a list of keys which should be copied. Here is an example how to configure it to copy the myId and myId2 values. public class Configuration { public CorrelationDataProvider customCorrelationDataProvider() { return new SimpleCorrelationDataProvider(\"myId\", \"myId2\"); } } A MultiCorrelationDataProvider is capable to combine the effect of multiple correlation data providers. To do so, the constructor of the MultiCorrelationDataProvider must be called with a list of providers, as shown in the following sample: public class Configuration { public CorrelationDataProvider customCorrelationDataProviders() { return new MultiCorrelationDataProvider>( Arrays.asList( new SimpleCorrelationDataProvider(\"someKey\"), new MessageOriginProvider() ) ); } } If the predefined providers don’t fulfill your requirements, you can always implement your own CorrelationDataProvider. The class must implement the CorrelationDataProvider interface, as is depicted in the following example: public class AuthCorrelationDataProvider implements CorrelationDataProvider { private final Function usernameProvider; public AuthCorrelationDataProvider(Function userProvider) { this.usernameProvider = userProvider; } @Override public Map correlationDataFor(Message message) { Map correlationData = new HashMap<>(); if (message instanceof CommandMessage) { if (message.getMetaData().containsKey(\"authorization\")) { String token = (String) message.getMetaData().get(\"authorization\"); correlationData.put(\"username\", usernameProvider.apply(token)); } } return correlationData; } } When the default MessageOriginProvider isn’t sufficient for your use case, the (custom) correlation data providers need to be registered inside you application. If you are using the Axon Configuration API, make sure to call Configuration#configureCorrelationDataProviders method to register the correlated data providers. If you are relying on Spring Boot Autoconfiguration, just provide a factory method exposing the Spring Bean, or multiple if you need more than one provider. The following snippets show some possible approaches of registration: Configuration API Spring Boot public class Configuration { public void configuring() { Configurer configurer = DefaultConfigurer .defaultConfiguration() .configureCorrelationDataProviders(config -> Arrays.asList( new SimpleCorrelationDataProvider(\"someKey\"), new MessageOriginProvider() )); } } @Configuration public class CorrelationDataProviderConfiguration { // Configuring a single CorrelationDataProvider will automatically override the default MessageOriginProvider @Bean public CorrelationDataProvider someKeyCorrelationProvider() { return new SimpleCorrelationDataProvider(\"someKey\"); } @Bean public CorrelationDataProvider messageOriginProvider() { return new MessageOriginProvider(); } }","title":"Message Correlation","component":"axon-framework-reference","version":"development","name":"message-correlation","url":"/axon-framework-reference/development/messaging-concepts/message-correlation/","titles":[{"text":"Correlation data provider","hash":"_correlation_data_provider","id":1},{"text":"MessageOriginProvider","hash":"MessageOriginProvider","id":2},{"text":"SimpleCorrelationDataProvider","hash":"SimpleCorrelationDataProvider","id":3},{"text":"MultiCorrelationDataProvider","hash":"MultiCorrelationDataProvider","id":4},{"text":"Implementing custom correlation data provider","hash":"_implementing_custom_correlation_data_provider","id":5},{"text":"Configuration","hash":"_configuration","id":6}]},"51":{"id":51,"text":"There are two different types of interceptors: dispatch interceptors and handler interceptors. Dispatch interceptors are invoked before a message is dispatched to a message handler. At that point, it may not even be known that a handler exists for that message. Handler interceptors are invoked just before the message handler is invoked. One of the advantages of using a command bus is the ability to undertake action based on all incoming commands. Examples are logging or authentication, which you might want to do regardless of the type of command. This is done using Interceptors. Message dispatch interceptors are invoked when a command is dispatched on a command bus. They can alter the command message by adding metadata. They can also block the command by throwing an exception. These interceptors are always invoked on the thread that dispatches the command. Let’s create a MessageDispatchInterceptor which logs each command message being dispatched on a CommandBus. public class MyCommandDispatchInterceptor implements MessageDispatchInterceptor> { private static final Logger LOGGER = LoggerFactory.getLogger(MyCommandDispatchInterceptor.class); @Override public BiFunction, CommandMessage> handle(List> messages) { return (index, command) -> { LOGGER.info(\"Dispatching a command {}.\", command); return command; }; } } We can register this dispatch interceptor with a CommandBus by doing the following: public class CommandBusConfiguration { public CommandBus configureCommandBus() { CommandBus commandBus = SimpleCommandBus.builder().build(); commandBus.registerDispatchInterceptor(new MyCommandDispatchInterceptor()); return commandBus; } } There is no point in processing a command if it does not contain all required information in the correct format. In fact, a command that lacks information should be blocked as early as possible, preferably even before a transaction has been started. Therefore, an interceptor should check all incoming commands for the availability of such information. This is called structural validation. Axon Framework has support for the JSR 303 Bean Validation specification. This allows you to annotate the fields on commands with annotations like @NotEmpty and @Pattern. You need to include a JSR 303 implementation (such as Hibernate-Validator) on your classpath. Then, configure a BeanValidationInterceptor on your command bus, and it will automatically find and configure your validator implementation. While it uses sensible defaults, you can fine-tune it to your specific needs. Interceptor Ordering You want to spend as few resources on an invalid command as possible. Therefore, this interceptor is generally placed at the front of the interceptor chain. In some cases, a LoggingInterceptor or AuditingInterceptor might need to be placed first, with the validating interceptor immediately following it. The BeanValidationInterceptor also implements MessageHandlerInterceptor, allowing you to configure it as a handler interceptor as well. Message handler interceptors can take action both before and after command processing. Interceptors can even block command processing altogether, for example for security reasons. Interceptors must implement the MessageHandlerInterceptor interface. This interface declares one method, handle, that takes two parameters: the current UnitOfWork and an InterceptorChain. The InterceptorChain is used to continue the dispatching process. The UnitOfWork gives you (1) the message being handled and (2) provides the possibility to tie in logic prior, during or after (command) message handling (see Unit Of Work for more information about the phases). Unlike dispatch interceptors, handler interceptors are invoked in the context of the command handler. That means they can attach correlation data based on the message being handled to the unit of work, for example. This correlation data will then be attached to messages being created in the context of that unit of work. Handler interceptors are also typically used to manage transactions around the handling of a command. To do so, register a TransactionManagingInterceptor, which in turn is configured with a TransactionManager to start and commit (or roll back) the actual transaction. Let’s create a Message Handler Interceptor which will only allow the handling of commands that contain axonUser as a value for the userId field in the MetaData. If the userId is not present in the metadata, an exception will be thrown which will prevent the command from being handled. Additionally, if the value of userId does not match axonUser, we will also not proceed up the chain. public class MyCommandHandlerInterceptor implements MessageHandlerInterceptor> { @Override public Object handle(UnitOfWork> unitOfWork, InterceptorChain interceptorChain) throws Exception { CommandMessage command = unitOfWork.getMessage(); String userId = Optional.ofNullable(command.getMetaData().get(\"userId\")) .map(uId -> (String) uId) .orElseThrow(IllegalCommandException::new); if (\"axonUser\".equals(userId)) { return interceptorChain.proceed(); } return null; } } We can register the handler interceptor with a CommandBus like so: public class CommandBusConfiguration { public CommandBus configureCommandBus() { CommandBus commandBus = SimpleCommandBus.builder().build(); commandBus.registerHandlerInterceptor(new MyCommandHandlerInterceptor()); return commandBus; } } The framework has the ability to add a Handler Interceptor as a @CommandHandlerInterceptor annotated method on the Aggregate/Entity. The difference between a method on an Aggregate and a \"regular\" Command Handler Interceptor, is that with the annotation approach you can make decisions based on the current state of the given Aggregate. Some properties of an annotated Command Handler Interceptor are: The annotation can be put on entities within the Aggregate. It is possible to intercept a command on Aggregate Root level, whilst the command handler is in a child entity. Command execution can be prevented by firing an exception from an annotated command handler interceptor. It is possible to define an InterceptorChain as a parameter of the command handler interceptor method and use it to control command execution. By using the commandNamePattern attribute of the @CommandHandlerInterceptor annotation we can intercept all commands matching the provided regular expression. Events can be applied from an annotated command handler interceptor. In the example below we can see a @CommandHandlerInterceptor annotated method which prevents command execution if a command’s state field does not match the Aggregate’s state field: public class GiftCard { //.. private String state; //.. @CommandHandlerInterceptor public void intercept(RedeemCardCommand command, InterceptorChain interceptorChain) { if (this.state.equals(command.getState())) { interceptorChain.proceed(); } } } Note that the @CommandHandlerInterceptor is essentially a more specific implementation of the @MessageHandlerInterceptor described here. Similar to command messages, event messages can also be intercepted prior to publishing and handling to perform additional actions on all events. This is simplfied to the same two types of interceptors for messages: the dispatch interceptor and the handler interceptor. Any message dispatch interceptors registered to an event bus will be invoked when an event is published. They have the ability to alter the event message by adding metadata. They can also provide you with overall logging capabilities for when an event is published. These interceptors are always invoked on the thread that published the event. Let’s create an event message dispatch interceptor which logs each event message being published on an EventBus. public class EventLoggingDispatchInterceptor implements MessageDispatchInterceptor> { private static final Logger logger = LoggerFactory.getLogger(EventLoggingDispatchInterceptor.class); @Override public BiFunction, EventMessage> handle( List> messages) { return (index, event) -> { logger.info(\"Publishing event: [{}].\", event); return event; }; } } We can then register this dispatch interceptor with an EventBus by doing the following: public class EventBusConfiguration { public EventBus configureEventBus(EventStorageEngine eventStorageEngine) { // note that an EventStore is a more specific implementation of an EventBus EventBus eventBus = EmbeddedEventStore.builder() .storageEngine(eventStorageEngine) .build(); eventBus.registerDispatchInterceptor(new EventLoggingDispatchInterceptor()); return eventBus; } } Message handler interceptors can take action both before and after event processing. Interceptors can even block event processing altogether, for example for security reasons. Interceptors must implement the MessageHandlerInterceptor interface. This interface declares one method, handle(), that takes two parameters: the current UnitOfWork and an InterceptorChain. The InterceptorChain is used to continue the dispatching process. The UnitOfWork gives you (1) the message being handled and (2) provides the possibility to tie in logic prior, during or after (event) message handling (see Unit Of Work for more information about the phases). Unlike dispatch interceptors, handler interceptors are invoked in the context of the event handler. That means they can attach correlation data based on the message being handled to the unit of work, for example. This correlation data will then be attached to event messages being created in the context of that unit of work. Let’s create a message handler interceptor which will only allow the handling of events that contain axonUser as the value for the userId field in the MetaData. If the userId is not present in the metadata, an exception will be thrown which will prevent the Event from being handled. And if the value of userId does not match axonUser, we will also not proceed up the chain. Authenticating the event message like shown in this example is a regular use case of the MessageHandlerInterceptor. public class MyEventHandlerInterceptor implements MessageHandlerInterceptor> { @Override public Object handle(UnitOfWork> unitOfWork, InterceptorChain interceptorChain) throws Exception { EventMessage event = unitOfWork.getMessage(); String userId = Optional.ofNullable(event.getMetaData().get(\"userId\")) .map(uId -> (String) uId) .orElseThrow(IllegalEventException::new); if (\"axonUser\".equals(userId)) { return interceptorChain.proceed(); } return null; } } We can register the handler interceptor with an EventProcessor like so: public class EventProcessorConfiguration { public void configureEventProcessing(Configurer configurer) { configurer.eventProcessing() .registerTrackingEventProcessor(\"my-tracking-processor\") .registerHandlerInterceptor(\"my-tracking-processor\", configuration -> new MyEventHandlerInterceptor()); } } Interceptor Registration Different from the CommandBus and QueryBus, which both can have handler interceptors and dispatch interceptors, the EventBus can only register dispatch interceptors. This is because the sole purpose of the EventBus is event publishing/dispatching, thus they are where event dispatch interceptors are registered. An EventProcessor is in charge of handling event messages, thus event handler interceptors are registered on them directly. One of the advantages of using a query bus is the ability to undertake action based on all incoming queries. Examples are logging or authentication, which you might want to do regardless of the type of query. This is done using interceptors. Message dispatch interceptors are invoked when a query is dispatched on a query bus or when a subscription update to a query message is dispatched on a query update emitter. They have the ability to alter the message by adding metadata. They can also block the handler execution by throwing an exception. These interceptors are always invoked on the thread that dispatches the message. There is no point in processing a query if it does not contain all required information in the correct format. In fact, a query that lacks information should be blocked as early as possible. Therefore, an interceptor should check all incoming queries for the availability of such information. This is called structural validation. Axon Framework has support for JSR 303 Bean Validation based validation. This allows you to annotate the fields on queries with annotations like @NotEmpty and @Pattern. You need to include a JSR 303 implementation (such as Hibernate-Validator) on your classpath. Then, configure a BeanValidationInterceptor on your query bus, and it will automatically find and configure your validator implementation. While it uses sensible defaults, you can fine-tune it to your specific needs. Interceptor Ordering Tip You want to spend as few resources on invalid queries as possible. Therefore, this interceptor is generally placed at the front of the interceptor chain. In some cases, a logging or auditing interceptor might need to be placed first, with the validating interceptor immediately following it. The BeanValidationInterceptor also implements MessageHandlerInterceptor, allowing you to configure it as a handler interceptor as well. Message handler interceptors can take action both before and after query processing. Interceptors can even block query processing altogether, for example, for security reasons. Interceptors must implement the MessageHandlerInterceptor interface. This interface declares one method, handle, that takes two parameters: the current UnitOfWork and an InterceptorChain. The InterceptorChain is used to continue the dispatching process. The UnitOfWork gives you (1) the message being handled and (2) provides the possibility to tie in logic prior, during or after (query) message handling (see Unit Of Work for more information about the phases). Unlike dispatch interceptors, handler interceptors are invoked in the context of the query handler. That means they can attach correlation data based on the message being handled to the unit of work, for example. This correlation data will then be attached to messages being created in the context of that unit of work. Alongside defining overall MessageHandlerInterceptor instances on the component handling a message (for example, a command, query or event), it is also possible to define a handler interceptor for a specific component containing the handlers. This can be achieved by adding a method handling the message, combined with the @MessageHandlerInterceptor annotation. Adding such a method allows you more fine-grained control over which message handling components should react and how these should react. Several handles are given to you when it comes to adding the @MessageHandlerInterceptor, like: MessageHandlerInterceptor instances work with the InterceptorChain to decide when to proceed with other interceptors in the chain. The InterceptorChain is an optional parameter which can be added to the intercepting method to provide you with the same control. In absence of this parameter, the framework will call InterceptorChain#proceed once the method is exited. You can define the type of Message the interceptor should deal with. By default, it reacts to any Message implementation. If an EventMessage specific interceptor is desired, the messageType parameter on the annotation should be set to EventMessage.class. For even more fine-grained control of which messages should react to the interceptor, the payloadType contained in the Message to handle can be specified. The following snippets shows some possible approaches of using the @MessageHandlerInterceptor annotation: Simple @MessageHandlerInterceptor method public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor public void intercept(Message message) { // Add your intercepting logic here based on the } } @MessageHandlerInterceptor method defining the Message type public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor(messageType = EventMessage.class) public void intercept(EventMessage eventMessage) { // Add your intercepting logic here based on the } } @MessageHandlerInterceptor method defining the Message and payload type public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor( messageType = EventMessage.class, payloadType = CardRedeemedEvent.class ) public void intercept(CardRedeemedEvent event) { // Add your intercepting logic here based on the } } @MessageHandlerInterceptor method defining an InterceptorChain parameter public class CardSummaryProjection { /* * Some @EventHandler and @QueryHandler annotated methods */ @MessageHandlerInterceptor(messageType = QueryMessage.class) public void intercept(QueryMessage queryMessage, InterceptorChain interceptorChain) throws Exception { // Add your intercepting logic before interceptorChain.proceed(); // or after the InterceptorChain#proceed invocation } } Next to the message, payload and InterceptorChain, a @MessageHandlerInterceptor annotated method can resolve other parameters as well. Which parameters the framework can resolve on such a function, is based on the type of Message being handled by the interceptor. For more specifics on which parameters are resolvable for the Message being handled, take a look at this page. The @MessageHandlerInterceptor also allows for a more specific version of an intercepting function. Namely, an @ExceptionHandler annotated method. The framework invokes @ExceptionHandler annotated methods only for exceptional results of message handling. Using exception handlers like this, for example, allows you to throw more domain-specific exceptions as a result of a thrown database/service exception. Or, you can catch an aggregate-specific exception and translate it to a generic error code. To Axon, an exception handler is just like any other message handling method. You can thus wire all default parameters to an exception handler, similar to command, event, and query handlers. Hence, you can add the exception, payload, MetaData, and other options to the @ExceptionHandler annotated function. You can introduce @ExceptionHandler annotated methods in any message handling component, including sagas. Furthermore, you can choose to react to all exceptions or define specific exception/message combinations to which the handler should respond. Check the following samples for some snippets on how to use this: Aggregate exception handlers class GiftCard { // State, command handlers and event sourcing handlers omitted for brevity @ExceptionHandler public void handleAll(Exception exception) { // Handles all exceptions thrown within this component generically } @ExceptionHandler public void handleIssueCardExceptions(IssueCardCommand command) { // Handles all exceptions thrown from the IssueCardCommand handler within this component } @ExceptionHandler(payloadType = IssueCardCommand.class) public void handleIssueCardExceptions() { // Handles all exceptions thrown from the IssueCardCommand handler within this component } @ExceptionHandler public void handleIllegalStateExceptions(IllegalStateException exception) { // Handles all IllegalStateExceptions thrown within this component } @ExceptionHandler(resultType = IllegalStateException.class) public void handleIllegalStateExceptions(Exception exception) { // Handles all IllegalStateExceptions thrown within this component } @ExceptionHandler public void handleIllegalStateExceptionsFromIssueCard(IssueCardCommand command, IllegalStateException exception) { // Handles all IllegalStateExceptions thrown from the IssueCardCommand handler within this component } @ExceptionHandler(resultType = IllegalStateException.class, payloadType = IssueCardCommand.class) public void handleIllegalStateExceptionsFromIssueCard() { // Handles all IllegalStateExceptions thrown from the IssueCardCommand handler within this component } } Exception Handling for Aggregate Constructors The @ExceptionHandler annotated methods require an existing component instance to work. Because of this, exception handlers do not work for (command handling) constructors of an aggregate. If you thus expect exceptions on an aggregate’s command handler that you need to handle differently, it is recommended to use Axon’s creation policy. Projector exception handlers class CardSummaryProjection { // Repositories/Services, event handlers and query handlers omitted for brevity @ExceptionHandler public void handleAll(Exception exception) { // Handles all exceptions thrown within this component generically } @ExceptionHandler public void handleFindCardQueryExceptions(FindCardQuery query) { // Handles all exceptions thrown from the FindCardQuery handler within this component } @ExceptionHandler(payloadType = FindCardQuery.class) public void handleFindCardQueryExceptions() { // Handles all exceptions thrown from the FindCardQuery handler within this component } @ExceptionHandler public void handleIllegalArgumentExceptions(IllegalArgumentException exception) { // Handles all IllegalArgumentExceptions thrown within this component } @ExceptionHandler(resultType = IllegalArgumentException.class) public void handleIllegalArgumentExceptions(Exception exception) { // Handles all IllegalArgumentExceptions thrown within this component } @ExceptionHandler public void handleIllegalArgumentExceptionsFromCardIssued(CardIssuedEvent event, IllegalArgumentException exception) { // Handles all IllegalArgumentExceptions thrown from the CardIssuedEvent handler within this component } @ExceptionHandler(resultType = IllegalArgumentException.class, payloadType = CardIssuedEvent.class) public void handleIllegalArgumentExceptionsFromCardIssued() { // Handles all IllegalArgumentExceptions thrown from the CardIssuedEvent handler within this component } }","title":"Message Intercepting","component":"axon-framework-reference","version":"development","name":"message-intercepting","url":"/axon-framework-reference/development/messaging-concepts/message-intercepting/","titles":[{"text":"Command interceptors","hash":"command-interceptors","id":1},{"text":"Command dispatch interceptors","hash":"_command_dispatch_interceptors","id":2},{"text":"Structural validation","hash":"_structural_validation","id":3},{"text":"Command handler interceptors","hash":"command-handler-interceptors","id":4},{"text":"@CommandHandlerInterceptor annotation","hash":"command-handler-interceptor-annotation","id":5},{"text":"Event interceptors","hash":"_event_interceptors","id":6},{"text":"Event dispatch interceptors","hash":"_event_dispatch_interceptors","id":7},{"text":"Event handler interceptors","hash":"event-handler-interceptors","id":8},{"text":"Query interceptors","hash":"_query_interceptors","id":9},{"text":"Query dispatch interceptors","hash":"_query_dispatch_interceptors","id":10},{"text":"Structural validation","hash":"_structural_validation_2","id":11},{"text":"Query handler interceptors","hash":"_query_handler_interceptors","id":12},{"text":"Annotated MessageHandlerInterceptor","hash":"annotated-MessageHandlerInterceptor","id":13},{"text":"@ExceptionHandler","hash":"ExceptionHandler","id":14}]},"52":{"id":52,"text":"This chapter provides an exhaustive list of all the possible parameters for annotated message handling functions. The framework resolves the parameters for any message handling function through an internal mechanism, called the ParameterResolver. The ParameterResolver, built by a ParameterResolverFactory, is in charge of inserting the parameters for the command, event and query handlers. The set of ParameterResolvers can be extended if custom (or not yet) supported parameters should be injected in to your annotated handlers. You can configure additional ParameterResolvers by implementing the ParameterResolverFactory interface and configuring the new implementation. For more specifics on configuring custom `ParameterResolver`s we suggest reading this section. By default, @CommandHandler annotated methods allow the following parameter types. Parameter designation Purpose The first parameter The first parameter is always the payload of the command message. It may also be of type: Message or CommandMessage, if the @CommandHandler annotation explicitly defined the name of the command the handler can process. By default, a command name is the fully qualified class name of the command its payload. type: MetaData Will contain the entire metadata of a CommandMessage. annotated with @MetaDataValue Will resolve the metadata value with the key as indicated on the annotation. If required is false (default), null is passed when the metadata value is not present. If required is true, the resolver will not match and prevent the method from being invoked when the metadata value is not present. type: Message, or type: CommandMessage Will get the complete message, with both the payload and the metadata. Resolving the entire Message is helpful if a method needs several metadata fields or other properties of the message. type: UnitOfWork Will get the current unit of work injected. The UnitOfWork allows command handlers to register actions to be performed at specific stages of the unit of work or gain access to the resources registered with it. type: String annotated with @MessageIdentifier Will resolve the identifier of the handled CommandMessage. type: ConflictResolver Will resolve the configured ConflictResolver instance. See the Conflict Resolution section for specifics on this topic. type: InterceptorChain Will resolve the chain of MessageHandlerInterceptor`s for a `CommandMessage. You should use this feature in conjunction with a @CommandHandlerInterceptor annotated method. For more specifics on this it is recommended to read this section. subtype of ScopeDescriptor The scope descriptor is helpful when scheduling a deadline through the DeadlineManager. Note that the ScopeDescriptor only makes sense from within the scope of an Aggregate or Saga. Spring Bean If the application runs in a Spring environment, any Spring Bean can be resolved. The parameter can be the annotation with @Qualifier if a specific version of the bean should be wired. By default, @EventHandler annotated methods allow the following parameter types. Parameter designation Purpose The first parameter The first parameter is the payload of the event message. If the event handler does not need access to the payload of the message, you can specify the expected payload type on the @EventHandler annotation. Do not configure the payload type on the annotation if you want the payload passed as a parameter. type: EventMessage Will resolve the EventMessage in its entirety as well. If the first parameter is of type message, it effectively matches an event of any type, even if generic parameters suggest otherwise. Due to type erasure, Axon cannot detect what parameter the implementation expects. It is best to declare a parameter of the payload type as first parameter in such a case, followed by a parameter of type message. type: MetaData Will contain the entire metadata of a EventMessage. annotated with @MetaDataValue Will resolve the metadata value with the key as indicated on the annotation. If required is false (default), null is passed when the metadata value is not present. If required is true, the resolver will not match and prevent the method from being invoked when the metadata value is not present. type: UnitOfWork Will get the current unit of work injected. The UnitOfWork allows event handlers to register actions to be performed at specific stages of the unit of work or gain access to the resources registered with it. type: String annotated with @MessageIdentifier Will resolve the identifier of the handled CommandMessage. type: java.time.Instant annotated with @Timestamp, or type: java.time.temporal.Temporal annotated with @Timestamp Will resolve to the timestamp of the EventMessage. The resolved timestamp is the time at which the event was generated. type: java.lang.Long annotated with @SequenceNumber, or type: long annotated with @SequenceNumber Will resolve to the sequenceNumber of a DomainEventMessage. This parameter provides the order in which the event was generated (within the aggregate scope it originated from). It is important to note that DomainEventMessage can only originate from an Aggregate. Hence, events that have been published directly on the EventBus/EventGateway are not implementations of the DomainEventMessage. As such, they will not resolve a sequence number. type: TrackingToken Will have the current token related to the processed event injected. Note that this will only work for StreamingEventProcessor instances, as otherwise, there is no token attached to the events. type: java.lang.String annotated with @SourceId Will resolve to the aggregateIdentifier of a DomainEventMessage. This parameter provides the identifier of the aggregate from which the event originates. It is important to note that DomainEventMessage can only originate from an Aggregate. Hence, events that have been published directly on the EventBus/EventGateway are not implementations of the DomainEventMessage. As such, they will not resolve a source id. type: DeadLetter> Will have the current dead letter related to the processed event injected. Note that the inserted field is nullable since there is no guarantee the event of the handler is a dead letter, yes or no. type: ReplayStatus Will resolve to the ReplayStatus indicating whether the event is delivered as a 'REGULAR' event or a 'REPLAY' event. Spring Bean If the application runs in a Spring environment, any Spring Bean can be resolved. The parameter can be the annotation with @Qualifier if a specific version of the bean should be wired. By default, @QueryHandler annotated methods allow the following parameter types. Parameter designation Purpose The first parameter The first parameter is always the payload of the query message. It may also be of type: Message or QueryMessage, if the @QueryHandler annotation explicitly defined the name of the query the handler can process. By default, a query name is the fully qualified class name of the query its payload. type: MetaData Will contain the entire metadata of a QueryMessage. annotated with @MetaDataValue Will resolve the metadata value with the key as indicated on the annotation. If required is false (default), null is passed when the metadata value is not present. If required is true, the resolver will not match and prevent the method from being invoked when the metadata value is not present. type: Message, or type: QueryMessage Will get the complete message, with both the payload and the metadata. Resolving the entire Message is helpful if a method needs several metadata fields or other properties of the message. type: UnitOfWork Will get the current unit of work injected. The UnitOfWork allows query handlers to register actions to be performed at specific stages of the unit of work or gain access to the resources registered with it. type: String annotated with @MessageIdentifier Will resolve the identifier of the handled QueryMessage. Spring Bean If the application runs in a Spring environment, any Spring Bean can be resolved. The parameter can be the annotation with @Qualifier if a specific version of the bean should be wired.","title":"Supported Parameters for Annotated Handlers","component":"axon-framework-reference","version":"development","name":"supported-parameters-annotated-handlers","url":"/axon-framework-reference/development/messaging-concepts/supported-parameters-annotated-handlers/","titles":[{"text":"Supported parameters for command handlers","hash":"supported-parameters-for-command-handlers","id":1},{"text":"Supported parameters for event handlers","hash":"supported-parameters-for-event-handlers","id":2},{"text":"Supported parameters for query handlers","hash":"supported-parameters-for-query-handlers","id":3}]},"53":{"id":53,"text":"The UnitOfWork is an important concept in the Axon Framework. Although, in most cases you are unlikely to interact with it directly. The processing of a message is seen as a single unit. The purpose of the unit of work is to coordinate actions performed during the processing of a message (command, event or query). Components can register actions to be performed during each of the stages of a UnitOfWork, such as onPrepareCommit or onCleanup. You are unlikely to need direct access to the UnitOfWork. It is mainly used by the building blocks that the Axon Framework provides. If you do need access to it, for whatever reason, there are a few ways to obtain it. A handler receives the unit of work through a parameter in the handle method. If you use annotation support, you may add a parameter of type UnitOfWork to your annotated method. In other locations, you can retrieve the unit of work bound to the current thread by calling CurrentUnitOfWork.get(). Note that this method will throw an exception if there is no UnitOfWork bound to the current thread. Use CurrentUnitOfWork.isStarted() to find out if one is available. One reason to require access to the current unit of work is to attach resources that need to be reused several times during the course of message processing, or if created resources need to be cleaned up when the unit of work completes. In such case, the unitOfWork.getOrComputeResource() and the lifecycle callback methods, such as onRollback(), afterCommit() and onCleanup() allow you to register resources and declare actions to be taken during the processing of this unit of work. Transaction guarantees with the Unit Of Work The Unit of Work is merely a buffer of changes, not a replacement for transactions. Although all staged changes are only committed when the Unit of Work is committed, its commit is not atomic. That means that when a commit fails, some changes might have been persisted, while others have not been. Best practices dictate that a command should never contain more than one action. If you stick to that practice, a unit of work will contain a single action, making it safe to use as-is. If you have more actions in your unit of work, then you could consider attaching a transaction to the unit of work’s commit. Use unitOfWork.onCommit(..) to register actions that need to be taken when the unit of work is being committed. Your handlers may throw an Exception as a result of processing a message. By default, unchecked exceptions will cause the UnitOfWork to roll back all changes. As a result, scheduled side effects are cancelled. Axon Framework provides a few rollback strategies out-of-the-box: RollbackConfigurationType.NEVER - will always commit the UnitOfWork RollbackConfigurationType.ANY_THROWABLE- will always roll back when an exception occurs RollbackConfigurationType.UNCHECKED_EXCEPTIONS- will roll back on errors and runtime exceptions RollbackConfigurationType.RUNTIME_EXCEPTION- will roll back on runtime exceptions (but not on errors) When using framework components to process messages, the lifecycle of the unit of work will be automatically managed for you. If you choose not to use these components, but implement processing yourself, you will need to programmatically start and commit (or roll back) a unit of work instead. In most cases, the DefaultUnitOfWork will provide you with the functionality you need. It expects processing to happen within a single thread. To execute a task in the context of a unit of work, simply call UnitOfWork.execute(Runnable) or UnitOfWork.executeWithResult(Callable) on a new DefaultUnitOfWork. The unit of work will be started and committed when the task completes, or rolled back if the task fails. You can also choose to manually start, commit or rollback the unit of work if you need more control. Typical usage is as follows: UnitOfWork uow = DefaultUnitOfWork.startAndGet(message); // then, either use the autocommit approach: uow.executeWithResult(() -> ... logic here); // or manually commit or rollback: try { // business logic comes here uow.commit(); } catch (Exception e) { uow.rollback(e); // maybe rethrow... } The Unit Of Work is focused around a Message The Unit of Work revolves around messages. It is always started with a message to be processed. As a result of a Unit-of-Work’s execution (executeWithResult(…​)) a ResultMessage will be returned and the actual execution result will be the payload of that ResultMessage. If problems arose during message processing, we get an exceptional ResultMessage - isExceptional() will return true and exceptionResult() will get us the actual Throwable indicating what went wrong. A UnitOfWork knows several phases. Each time it progresses to another phase, the listeners are notified. Active phase - this is where the Unit of Work is started. The unit of work is generally registered with the current thread in this phase (through CurrentUnitOfWork.set(UnitOfWork)). Subsequently, the message is typically handled by a message handler in this phase. Commit phase - after processing of the message is done but before the Unit of Work is committed, the onPrepareCommit listeners are invoked. If a Unit of Work is bound to a transaction, the onCommit listeners are invoked to commit any supporting transactions. When the commit succeeds, the afterCommit listeners are invoked. If a commit or any step before fails, the onRollback listeners are invoked. The message handler result is contained in the ExecutionResult of the unit of work, if available. Cleanup phase - the phase where any of the resources held by this unit of work (such as locks) are to be released. If multiple units of work are nested, the cleanup phase is postponed until the outer unit of work is ready to clean up. The message handling process can be considered an atomic procedure; it should either be processed entirely, or not at all. Axon Framework uses the unit of work to track actions performed by message handlers. After the handler has completed, Axon will try to commit the actions registered with the unit of work. It is possible to bind a transaction to a unit of work. Many components, such as the CommandBus and QueryBus implementations and all asynchronously processing EventProcessor s, allow you to configure a TransactionManager. This transaction manager will then be used to create the transactions to bind to the unit of work that is used to manage the process of a message. When application components need resources at different stages of message processing, such as a database connection or an EntityManager, these resources can be attached to the UnitOfWork. The unitOfWork.getResources() method allows you to access the resources attached to the current unit of work. Several helper methods are available on the unit of work directly, to make working with resources easier. When nested units of work need to be able to access a resource, it is recommended to register it on the root unit of work, which can be accessed using unitOfWork.root(). If a unit of work is the root, it will simply return itself.","title":"Unit of Work","component":"axon-framework-reference","version":"development","name":"unit-of-work","url":"/axon-framework-reference/development/messaging-concepts/unit-of-work/","titles":[]},"54":{"id":54,"text":"Axon Framework provides health indicators for applications running Spring Boot with the actuator module. These can be used to monitor the health of your application. The Spring Boot Actuator Health Indicator shares whether the contexts to which an Axon Framework application is connected with are active. It does so by requesting the available connections from the AxonServerConnectionManager. When all connections are active, the UP status is shared. When all connections are inactive, the DOWN status is projected. When one of the connections is inactive, the custom WARN status is shown. This approach is in line with what Axon Server’s local health indicator shows. Next to the status, details are provided about the separate connection’s activity. These can be found under {context-name}.connection.active.","title":"Health Indicators","component":"axon-framework-reference","version":"development","name":"health","url":"/axon-framework-reference/development/monitoring/health/","titles":[{"text":"Spring Boot actuator health indicator for Axon Server","hash":"_spring_boot_actuator_health_indicator_for_axon_server","id":1}]},"55":{"id":55,"text":"The ability to monitor and measure what is going on is really important. This section contains all information regarding metrics, tracing and monitoring of your Axon Framework application. AxonIQ Console is the platform to monitor and manage your Axon Framework applications in great detail. It provides insights into each handler, event processor and aggregate with almost zero configuration. You can set alerts on these metrics and get notified when something goes wrong, so you can act before it becomes a problem For more information, see the AxonIQ Console Reference Guide or sign up directly. A summary of the various subsections is given below. Subsection Purpose Tracing Tracing support for Axon Framework Metrics How to configure and use metrics provided by Axon Framework Health Indicators Spring Boot actuator health indicators provided by Axon Framework Event Tracker Status Tracking the status of your event processors Message Tracking Tracking the origin of messages throughout your application","title":"Monitoring","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/monitoring/","titles":[{"text":"New: Easy monitoring and management","hash":"_new_easy_monitoring_and_management","id":1},{"text":"Reference sections","hash":"_reference_sections","id":2}]},"56":{"id":56,"text":"Tracking messages in your system can be useful to analyze what the cause of a message was. There are several ways to track messages in your system. You can correlate messages to each other with a Correlation Data Provider or log the messages being handled and dispatched. The framework provides the CorrelationDataProvider, as described here. This interface and its implementations provide you the means to populate the meta-data of a message based on the message that is currently being handled. For instance, you could use this to store the command that triggered the event in the metadata of the event itself, allowing you to track the cause of it. Axon Framework provides a MessageOriginProvider provider out of the box, which adds a trace-id and correlation-id to all messages. The trace-id is the same over all messages that are triggered because of the same origin, while correlation-id contains the message identifier of the previous message. We can see the effect of this in the following table. Message identifier Type trace-id correlation-id 1 Command - - 2 Event 8231323 1 3 Command 8231323 2 4 Event 8231323 3 Check out the message correlation page to find out more about the MessageOriginProvider. You can also track the flow of messages through your application using logging. You can leverage Handler- and DispatchInterceptors to achieve this. The LoggingInterceptor is provided out-of-the-box solution to log any type of message to SLF4J, but also provides a simple overridable template to set up your own desired logging format.","title":"Message Tracking","component":"axon-framework-reference","version":"development","name":"message-tracking","url":"/axon-framework-reference/development/monitoring/message-tracking/","titles":[{"text":"Correlation data","hash":"_correlation_data","id":1},{"text":"Interceptor logging","hash":"_interceptor_logging","id":2}]},"57":{"id":57,"text":"Interesting metrics in a message centric system come in several forms and flavors, like count, capacity and latency for example. Axon Framework allows you to retrieve such measurements through the use of the axon-metrics or axon-micrometer module. With these modules you can register a number of MessageMonitor implementations to your messaging components, like the CommandBus, EventBus, QueryBus and EventProcessors. axon-metrics module uses Dropwizard Metrics for registering the measurements correctly. That means that MessageMonitors are registered against the Dropwizard MetricRegistry. axon-micrometer module uses Micrometer which is a dimensional-first metrics collection facade whose aim is to allow you to time, count, and gauge your code with a vendor neutral API. That means that MessageMonitors are registered against the Micrometer MeterRegistry. The following monitor implementations are currently provided: CapacityMonitor - Measures message capacity by keeping track of the total time spent on message handling compared to total time it is active. This returns a number between 0 and n number of threads. Thus, if there are 4 threads working, the maximum capacity is 4 if every thread is active 100% of the time. EventProcessorLatencyMonitor - Measures the difference between an event’s timestamp and the current time, showing how far behind an event processor is. Note that triggering a reset will impact this metric! MessageCountingMonitor - Counts the number of ingested, successful, failed, ignored and processed messages. MessageTimerMonitor - Keeps a timer for all successful, failed and ignored messages, as well as an overall timer for all three combined. PayloadTypeMessageMonitorWrapper - A special MessageMonitor implementation which allows setting a monitor per message type instead of per message publishing/handling component. You are free to configure any combination of MessageMonitors through constructors on your messaging components, simply by using the Configuration API. The GlobalMetricRegistry contained in the axon-metrics and axon-micrometer modules provides a set of sensible defaults per type of messaging component. The following example shows you how to configure default metrics for your message handling components: public class MetricsConfiguration { public Configurer buildConfigurer() { return DefaultConfigurer.defaultConfiguration(); } // The MetricRegistry is a class from the Dropwizard Metrics framework public void configureDefaultMetrics(Configurer configurer, MetricRegistry metricRegistry) { GlobalMetricRegistry globalMetricRegistry = new GlobalMetricRegistry(metricRegistry); // We register the default monitors to our messaging components by doing the following globalMetricRegistry.registerWithConfigurer(configurer); } } # The default value is `true`. Thus you will have Metrics configured if `axon-metrics` and `io.dropwizard.metrics` are on your classpath. axon.metrics.auto-configuration.enabled=true public class MetricsConfiguration { public Configurer buildConfigurer() { return DefaultConfigurer.defaultConfiguration(); } // The MeterRegistry is a class from the Micrometer library public void configureDefaultMetrics(Configurer configurer, MeterRegistry meterRegistry) { GlobalMetricRegistry globalMetricRegistry = new GlobalMetricRegistry(meterRegistry); globalMetricRegistry.registerWithConfigurer(configurer); } } public class MetricsConfiguration { public Configurer buildConfigurer() { return DefaultConfigurer.defaultConfiguration(); } // The MeterRegistry is a class from the Micrometer library public void configureDefaultMetrics(Configurer configurer, MeterRegistry meterRegistry) { GlobalMetricRegistry globalMetricRegistry = new GlobalMetricRegistry(meterRegistry); globalMetricRegistry.registerWithConfigurerWithDefaultTags(configurer); } } # The default value is `true`. # Thus you will have Metrics configured if `axon-micrometer` and # appropriate metric implementation (for example: `micrometer-registry-prometheus`) are on your classpath. axon.metrics.auto-configuration.enabled=true # Spring Boot metrics enabled management.endpoint.metrics.enabled=true # Spring Boot (Prometheus) endpoint (`/actuator/prometheus`) enabled and exposed management.metrics.export.prometheus.enabled=true management.endpoint.prometheus.enabled=true # The default value is `true`. # Thus you will have Metrics configured if `axon-micrometer` and # appropriate metric implementation (for example: `micrometer-registry-prometheus`) are on your classpath. axon.metrics.auto-configuration.enabled=true # The default value is `false`. # By enabling this property you will have message (event, command, query) # payload type set as a micrometer tag/dimension by default. # Additionally, the processor name will be a tag/dimension instead of it being part of the metric name. axon.metrics.micrometer.dimensional=true # Spring Boot metrics enabled management.endpoint.metrics.enabled=true # Spring Boot (Prometheus) endpoint (`/actuator/prometheus`) enabled and exposed management.metrics.export.prometheus.enabled=true management.endpoint.prometheus.enabled=true The scenario might occur that more fine-grained control over which MessageMonitor instance are defined is necessary. The following snippet provides as sample if you want to have more specific metrics on any of the message handling components: // Java (Spring Boot Configuration) - Micrometer example @Configuration public class MetricsConfig { @Bean public ConfigurerModule metricConfigurer(MeterRegistry meterRegistry) { return configurer -> { instrumentEventStore(meterRegistry, configurer); instrumentEventProcessors(meterRegistry, configurer); instrumentCommandBus(meterRegistry, configurer); instrumentQueryBus(meterRegistry, configurer); }; } private void instrumentEventStore(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) .and(message.getMetaData().entrySet().stream() .map(s -> Tag.of(s.getKey(), s.getValue().toString())) .collect(Collectors.toList())) ); // Naming the Timer monitor/meter with the name of the component (eventStore) // Registering the Timer with custom tags: payloadType. MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); return new MultiMessageMonitor<>(messageCounter, messageTimer); }; configurer.configureMessageMonitor(EventStore.class, messageMonitorFactory); } private void instrumentEventProcessors(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { // Naming the Counter monitor/meter with the fixed name `eventProcessor`. // Registering the Counter with custom tags: payloadType and processorName. MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( \"eventProcessor\", meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), TagsUtil.PROCESSOR_NAME_TAG, componentName ) ); // Naming the Timer monitor/meter with the fixed name `eventProcessor`. // Registering the Timer with custom tags: payloadType and processorName. MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( \"eventProcessor\", meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), TagsUtil.PROCESSOR_NAME_TAG, componentName ) ); // Naming the Capacity/Gauge monitor/meter with the fixed name `eventProcessor`. // Registering the Capacity/Gauge with custom tags: payloadType and processorName. CapacityMonitor capacityMonitor1Minute = CapacityMonitor.buildMonitor( \"eventProcessor\", meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), TagsUtil.PROCESSOR_NAME_TAG, componentName ) ); return new MultiMessageMonitor<>(messageCounter, messageTimer, capacityMonitor1Minute); }; configurer.configureMessageMonitor(TrackingEventProcessor.class, messageMonitorFactory); } private void instrumentCommandBus(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), \"messageId\", message.getIdentifier() ) ); MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); CapacityMonitor capacityMonitor1Minute = CapacityMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); return new MultiMessageMonitor<>(messageCounter, messageTimer, capacityMonitor1Minute); }; configurer.configureMessageMonitor(CommandBus.class, messageMonitorFactory); } private void instrumentQueryBus(MeterRegistry meterRegistry, Configurer configurer) { MessageMonitorFactory messageMonitorFactory = (configuration, componentType, componentName) -> { MessageCountingMonitor messageCounter = MessageCountingMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of( TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName(), \"messageId\", message.getIdentifier() ) ); MessageTimerMonitor messageTimer = MessageTimerMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); CapacityMonitor capacityMonitor1Minute = CapacityMonitor.buildMonitor( componentName, meterRegistry, message -> Tags.of(TagsUtil.PAYLOAD_TYPE_TAG, message.getPayloadType().getSimpleName()) ); return new MultiMessageMonitor<>(messageCounter, messageTimer, capacityMonitor1Minute); }; configurer.configureMessageMonitor(QueryBus.class, messageMonitorFactory); } }","title":"Metrics","component":"axon-framework-reference","version":"development","name":"metrics","url":"/axon-framework-reference/development/monitoring/metrics/","titles":[{"text":"Dropwizard","hash":"_dropwizard","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Micrometer","hash":"_micrometer","id":4},{"text":"Axon Configuration API - without tags","hash":"_axon_configuration_api_without_tags","id":5},{"text":"Axon Configuration API - with tags","hash":"_axon_configuration_api_with_tags","id":6},{"text":"Spring Boot auto configuration - without tags","hash":"_spring_boot_auto_configuration_without_tags","id":7},{"text":"Spring Boot auto configuration - with tags","hash":"_spring_boot_auto_configuration_with_tags","id":8}]},"58":{"id":58,"text":"Event processors should be kept an eye on when determining the health and status of your application. You can achieve this by checking the Event Tracker Status, or monitoring the event processors through metrics. Since Tracking Tokens \"track\" the progress of a given Streaming Event Processor, they provide a sensible monitoring hook in any Axon application. Such a hook proves its usefulness when we want to rebuild our view model and we want to check when the processor has caught up with all the events. To that end the StreamingEventProcessor exposes the processingStatus() method. It returns a map where the key is the segment identifier and the value is an \"Event Tracker Status\". The Event Tracker Status exposes a couple of metrics: The Segment it reflects the status of. A boolean through isCaughtUp() specifying whether it is caught up with the Event Stream. A boolean through isReplaying() specifying whether the given Segment is replaying. A boolean through isMerging() specifying whether the given Segment is merging. The TrackingToken of the given Segment. A boolean through isErrorState() specifying whether the Segment is in an error state. An optional Throwable if the Event Tracker reached an error state. An optional Long through getCurrentPosition defining the current position of the TrackingToken. An optional Long through getResetPosition defining the position at reset of the TrackingToken. This field will be null in case the isReplaying() returns false. It is possible to derive an estimated duration of replaying by comparing the current position with this field. An optional Long through mergeCompletedPosition() defining the position on the TrackingToken when merging will be completed. This field will be null in case the isMerging() returns false. It is possible to derive an estimated duration of merging by comparing the current position with this field. Only segments that are currently being actively processed or reached an error state during previous processing will be contained in the processingStatus(). For a complete overview, you should retrieve the status from each instance of your application. Besides querying the event processors for their status directly, the metric modules provides a way to monitor event processors as well. The modules contain a MessageMonitor that exposes metrics about the processed messages of each processor, including capacity, latency, processing time and counters. The exposed metrics can be scraped by the tool of your choice (for example, Prometheus) and alerting can be put in place for several useful metrics. Examples of useful monitoring: The latency becomes too high, indicating a long time between the moment an event was published and handled by the processor. The capacity reaches high value (for example, 0.8 when using 1 thread, indicating it is busy 80% of the time). This indicates a performance problem, or that the segment should be split to parallelize processing. The counter metrics can be used to calculate an average number of events processed per minute. If this drops or increases outside the normal operating parameters of your application, this warrants investigation.","title":"Event Processor Monitoring","component":"axon-framework-reference","version":"development","name":"processors","url":"/axon-framework-reference/development/monitoring/processors/","titles":[{"text":"Event tracker status","hash":"event-tracker-status","id":1},{"text":"Metrics","hash":"_metrics","id":2}]},"59":{"id":59,"text":"Distributed Tracing enables you to track the path of a message through your system to see how the system behaves and performs. Axon Framework provides additional tracing functionality to track what takes time in your microservice, such as how long it took to load the aggregate, how long the actual command invocation took, or how long it took to publish events. OpenTracing deprecation warning The OpenTracing extension works in a different way than described on this page. Its functionality is limited and will not be updated to include the additional functionality described on this page. The OpenTracing standard itself is deprecated, please consider moving to OpenTelemetry instead. To provide additional insights in traces, many Axon Framework components use a SpanFactory. This factory is responsible for the creation of multiple instances of a Span with a specific purpose. You can use a SpanFactory provided the framework that matches your tracing standard. Or, if your tracing standard of choice is not supported, you can create one yourself by implementing the SpanFactory and Span interfaces. The following standards are currently supported: Tracing standard Supported Description OpenTelemetry Yes OpenTelemetry is the successor of OpenTracing, with auto-instrumentation being its most prominent feature. OpenTracing Limited OpenTracing is supported by an extension with limited functionality. Usage of OpenTelemetry is recommended instead. SLF4j Yes If you have no monitoring system in place but want to trace through logging, the framework provides a LoggingSpanFactory. You configure a SpanFactory in the following ways: public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.configureSpanFactory(configuration -> new MyCustomSpanFactory()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanFactory spanFactory() { // Any bean implementing the SpanFactory will be picked up automatically and override the defaults return new MyCustomSpanFactory(); } } Note that this is not necessary for all providers, since some may provide Spring Boot auto-configuration out of the box. To configure the provider of your choice, please refer to the specific subsection on this page. A trace is a collection of one or more spans that together form a complete journey through your software. Creating a span that is not part of a trace will automatically create one with that span being the root span of the trace. Tools such as ElasticSearch APM can render tracing information, as visible in the following image: What we observe here is that a command is dispatched, distributed by Axon Server and handled. As a result of the command an AccountRegisteredEvent is published and a deadline is scheduled as well. In this image, the AutomaticAccountCommandDispatcher.dispatch span is the root trace, with each span being part of a call hierarchy within that trace. Sometimes you want the functionality of multiple SpanFactory implementations, while Axon’s configuration only allows one. For this purpose, the framework contains the MultiSpanFactory that you can configure with multiple factories to which it delegates its calls. For example, you can configure both the LoggingSpanFactory and the OpenTelemetrySpanFactory in the following fashion: public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.configureSpanFactory(configuration -> new MultiSpanFactory( Arrays.asList( LoggingSpanFactory.INSTANCE, OpenTelemetrySpanFactory.builder().build() ) )); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanFactory spanFactory() { return new MultiSpanFactory( Arrays.asList( LoggingSpanFactory.INSTANCE, OpenTelemetrySpanFactory .builder() .build() ) ); } } By configuring the MultiSpanFactory a single, delegating span is created whenever the framework requests it. This span contains the multiple span, one of each configured factory. The deleting span makes sure all spans are called, acting as a single one. The following functionality in Axon Framework is traced in addition to the tracing capabilities already provided by the standard of your choice: Dispatching and handling of commands Publishing of events Handling of events by event processors Dispatching and handling of queries Creation and handling of Sagas Scheduling and invocation of deadlines Creation of snapshots Tracing of each message handler invocation (Spring Boot only) Tracing all of this functionality provides you with the best possible insight into the performance of your application. The configured SpanFactory is responsible for creating spans when the framework requests it. The framework specifies the type of span, the name, and a message that triggered the span (if any, it’s not required). The framework can request the span types defined in the following table: Span Type Description Root trace Create a new trace entirely, having no parent. Dispatch span A span which is dispatching a message. Handler span A span which is handling a message. Will set the span that dispatched the message as the parent. Internal span A span which specified something internal. It’s not an entry or exit point. A trace generally consists of multiple spans with different types, depending on the functionality. Starting a span will make it a child span of the currently active one. If there’s currently no span active, the new span will become the root span of a new trace. During invocations which are normally synchronous, Axon Framework will create normal spans which become a child of the currently active one. For example, publishing an event from a command is synchronous, and therefore the publishing span becomes a child of the command handling span. When it comes to asynchronous invocations, the framework forces a new root trace to be created. For example, a streaming event processor that processes an event will not be a child of the command handling span. Instead, it will become its own root trace. This is a measure to prevent traces from becoming too time-spread, making them unreadable. Some standards, like OpenTelemetry, support linking. By linking one span to another, they become correlated despite being part of a different trace. Tooling that supports this creates links for the user to click, allowing for easy navigation between related traces. This is incredibly useful to see causation within your system. Most tracing implementations can add additional attributes to spans. This is useful when debugging your application or finding a specific span you are looking for. The framework provides the SpanAttributesProvider, which can be registered to the SpanFactory either via its builder (if supported) or by calling the SpanFactory.registerSpanAttributeProvider(provider) method. The following SpanAttributesProvider implementations are included in Axon Framework: Class label description AggregateIdentifierSpanAttributesProvider axon_aggregate_identifier The aggregate identifier of the message, only present in case of a DomainEventMessage MessageIdSpanAttributesProvider axon_message_id The identifier of the message MessageNameSpanAttributesProvider axon_message_name The name of the message for Commands and Queries MessageTypeSpanAttributesProvider axon_message_type The class of the message, such as DomainEventMessage or GenericQueryMessage PayloadTypeSpanAttributesProvider axon_payload_type The class of the payload in the message MetadataSpanAttributesProvider axon_metadata_{key} All metadata of the message is also added to the span with its corresponding key In addition to the ones provided by the framework, you can also create a custom SpanAttributesProvider. and add it to the SpanFactory. Use this if you want to add custom information on spans as a label. public class CustomSpanAttributesProvider implements SpanAttributesProvider { @Nonnull @Override public Map provideForMessage(@Nonnull Message message) { // Provide your labels based on the message here return Collections.emptyMap(); } } You can register this custom SpanAttributesProvider in one of the following ways. public class AxonConfig { // omitting other configuration methods... public void configure(Configuration configuration) { configuration.spanFactory().registerSpanAttributeProvider(new CustomSpanAttributesProvider()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanAttributesProvider customSpanAttributesProvider() { // Auto-configuration picks beans of type SpanAttributesProvider up automatically. return new CustomSpanAttributesProvider(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Autowired public void configureSpanFactory(SpanFactory spanFactory) { spanFactory.registerSpanAttributeProvider(new CustomSpanAttributesProvider()); } } Axon Framework provides OpenTelemetry support out of the box. The OpenTelemetry standard improves upon the OpenTracing and OpenCensus standards by providing more auto-instrumentation without the need for the user to configure many things. OpenTelemetry works by adding a Java agent to the execution of the application. Based on the configuration, the agent will collect logs, metrics and tracing automatically before sending it to a collector that can provide insights. ElasticSearch APM, Jaeger and many other tools are available for collecting and visualting the information. The configuration of these tools is beyond the scope of this guide. You can find more information in the \"Getting Started\" section of the OpenTelemetry documentation. OpenTelemetry \"supports a lot of libraries, frameworks and application servers out of the box.\" For example, when a Spring REST endpoint is called it will automatically start a trace. With the axon-tracing-opentelemetry module, this trace will be propagated to all subsequent Axon Framework messages. For example, if the REST call produces a command which is sent over Axon Server, handling the command will be included in the same trace as the original REST call. To get OpenTelemetry support enabled you will need to add the following dependency to your application’s dependencies: org.axonframework axon-tracing-opentelemetry ${axon-framework.version} implementation group: 'org.axonframework', name: 'axon-tracing-opentelemetry', version: axonFrameworkVersion Depending on your application, more configuration might be needed. When using the Spring Boot auto-configuration of Axon Framework, most things will be autoconfigured regardless of the implementation. You might want to configure certain settings that are available. The following table contains all configurable settings, their defaults, and what they change: setting Default Description axon.tracing.showEventSourcingHandlers false Whether to show event sourcing handlers as a trace. This can be noisy and is disabled by default. axon.tracing.attributeProviders.aggregateIdentifier true Whether to add the aggregate identifier as a label when handling a message axon.tracing.attributeProviders.messageId true Whether to add the message identifier as a label when handling a message axon.tracing.attributeProviders.messageName true Whether to add the message name as a label when handling a message axon.tracing.attributeProviders.messageType true Whether to add the message type as a label when handling a message axon.tracing.attributeProviders.payloadType true Whether to add the payload type as a label when handling a message axon.tracing.attributeProviders.metadata true Whether to add the metadata properties as labels when handling a message The OpenTelemetry support can also be configured using the Configurer of Axon Framework to configure the OpenTelemetrySpanFactory. public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.defaultConfiguration() .configureSpanFactory(c -> OpenTelemetrySpanFactory.builder().build()); } } Note that when not using Spring boot, tracing each message handler invocation is not supported due to a limitation. The OpenTracing standard is deprecated. If necessary, you can still use the OpenTracing extension of Axon Framework. Note that the functionality of this extension is rather limited compared to the OpenTelemetry integration. Because of this, it’s recommended to switch to OpenTelemetry if possible. Sometimes you don’t have an APM system available, for instance, during local development. It might still be useful to see the traces that would be started and finished to obtain insights. For this purpose, the framework provides a LoggingSpanFactory. You can configure the LoggingSpanFactory in the following ways: public class AxonConfig { // omitting other configuration methods... public void configure(Configurer configurer) { configurer.configureSpanFactory(c -> LoggingSpanFactory.INSTANCE); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SpanFactory spanFactory() { return LoggingSpanFactory.INSTANCE; } } Axon Framework provides a large range of components that are traced by the configured SpanFactory. The spans created by each component are available for reference in this section, with additional information about how they should be interpreted. It’s important to note that the availability of these spans is highly dependent on the application configuration. For instance, some components are only used when using Axon Server, or you might have created your own CommandBus implementation which does not call the SpanFactory API. The CommandBus is instrumented to create spans for both dispatching and handling commands. The tracing differs based on whether you are using Axon Server. The following tabs show the possible traces. When using the AxonServerCommandBus, there will be two handling and dispatch traces since it uses a second CommandBus to invoke the command locally after receiving it from Axon Server. In addition, you can see the gRPC-call to Axon Server and the time it took to handle the call. Trace name Description AxonServerCommandBus.dispatch(${commandName}) The bus is dispatching the command to Axon Server. AxonServerCommandBus.handle(${commandName}) The bus has received a command and is handling it. ${CommandBusClass}.dispatch(${commandName}) The localSegment invocation, dispatching the command locally. ${CommandBusClass}.handle(${commandName}) The localSegment is handling the command. ${RepositoryClass}.load ${identifier} The aggregate is being loaded by the repository. During this time Axon Framework will obtain a lock, fetch snapshots and events from the event store to hydrate the aggregate. LockingRepository.obtainLock The repository is obtaining a lock for the aggregate. This taking some time indicates that the command was queued due to another command being handled for the same aggregate. Trace name Description ${CommandBusClass}.dispatch(${commandName}) The bus is dispatching the command locally. ${CommandBusClass}.handle(${commandName}) The bus is invoking the handler locally. ${RepositoryClass}.load ${identifier} The aggregate is being loaded by the repository. During this time Axon Framework will obtain a lock, fetch snapshots and events from the event store to hydrate the aggregate. LockingRepository.obtainLock The repository is obtaining a lock for the aggregate. This taking some time indicates that the command was queued due to another command being handled for the same aggregate. During handling of commands, other functionality might be invoked such as scheduling deadlines or publishing events. Please refer to the specific sections of this functionality for more information. When publishing events, spans are created to indicate the event being published. Each event that is being published has its own specific publishing span. Any streaming event processor or saga handling the event in the future will be linked to the publishing spans, allowing easy click-through. Trace name Description ${EventBusClass}.publish(${EventClass}) For each event, a short span is created to indicate that an event was published. ${EventBusClass}.commit Indicates events being committed to the event store. Event processor invocations are traced as well. Since Streaming Event Processors are asynchronous, a new root trace is created for each event. Subscribing event processors, on the other hand, will become part of the current trace because they are invoked synchronously. Trace name Description ${ProcessorType}[${processorName}](${EventClass}) Root trace of handling the event, includes all interceptor invocations. ${ProcessorType}[${processorName}].process(${EventClass}) Inner span of handling the event, after all interceptors have been invoked. Trace name Description ${ProcessorType}[${processorName}].process(${EventClass}) The event is being handled by the subscribing event processor. Any action related to deadlines is traced in order to gain insight into what happened during specific calls. Mutations on deadlines generally happen from another root trace, such as a command or saga. The handling span of a deadline will be linked to the scheduling span for easy navigation. Trace name Description ${DeadlineManagerClass}.schedule(${deadlineName}) A deadline was scheduled. ${DeadlineManagerClass}.cancelSchedule(${deadlineName}, ${scheduleId}) A deadline was cancelled based on name and scheduleId. ${DeadlineManagerClass}.cancelAll(${deadlineName}) All deadlines with a specific name were cancelled. ${DeadlineManagerClass}.cancelAllWithinScope(${deadlineName}) All deadlines within a specific scope with a specific name were cancelled. DeadlineJob.execute(${deadlineName},${DeadlinePayloadClass}) Root trace of a deadline firing, containing the name and payload class. Snapshotting is done in a separate root trace, due to the fact that it’s an asynchronous action and has no user impact. However, it can still be useful to measure the performance of snapshotting and see when it is triggered. The root trace of the Snapshotter invocation will be linked to the command handling span after which the snapshot was scheduled to be created. Trace name Description ${SnapshotterClass}.createSnapshot($aggregateClass) A snapshot creation task is being submitted. Depending on performance, the executor might take a while to pick it up. ${SnapshotterClass}.createSnapshot($aggregateClass, $aggregateIdentifier) The Snapshotter is now creating the snapshot. The root trace does not contain the aggregate identifier so the APM tool groups any Snapshotter calls of the same aggregate type together. Sagas are a special type of event processor that can invoke multiple saga’s for a single event. Because of this the AbstractSagaManager has been instructed with additional tracing information. These spans are descendants of an event processor span that invokes the manager. Trace name Description SagaManager[${SagaTypeName}].invokeSaga ${sagaIdentifier} A matching saga has been found and is being invoked. SagaManager[${SagaTypeName}].startNewSaga The manager is constructing a new saga. Queries support tracing in all of their forms. In order to be clear about how they work, this section is split based upon the query’s type. For all types, the created spans will differ based on whether Axon Server is used or not. The spans that are only available with Axon Server are marked as such. Direct queries fetch a single result (either a single item or a single list) and receive no updates. Traces will differ based on whether Axon Server is used or not. The following tabs show the possible traces. Trace name Description AxonServerQueryBus.query(${queryName}) The requesting service is dispatching the query. QueryProcessingTask(${queryName}) The handling service is handling the query request in a task. SimpleQueryBus.query(${queryName}) The handling service is handling the query. AxonServerQueryBus.ResponseProcessingTask(${queryName}) The requesting service is processing the response. Trace name Description SimpleQueryBus.query(${queryName}) The QueryBus is handling the query locally. Streaming queries look similar to the traces of a Direct query. They do not contain a ResponseProcessingTask span since their results are directly published to the invoker of the query. Traces will differ based on whether Axon Server is used or not. The following tabs show the possible traces. Trace name Description AxonServerQueryBus.streamingQuery(${queryName}) The requesting service is dispatching the query. QueryProcessingTask(${queryName}) The handling service is handling the query request in a task. SimpleQueryBus.streamingQuery(${queryName}) The handling service is handling the streaming query. Trace name Description SimpleQueryBus.streamingQuery(${queryName}) The QueryBus is handling the query locally. Scatter-Gather queries are like a direct query but can fetch results from multiple services at the same time. Part of the trace can thus be duplicated multiple times, since multiple services are invoked. Traces will differ based on whether Axon Server is used or not. The following tabs show the possible traces. Trace name Description AxonServerQueryBus.scatterGather(${queryName}) The requesting service is dispatching the query. QueryProcessingTask(${queryName}) The handling service is handling the query request in a task. SimpleQueryBus.scatterGather(${queryName}) Each handling service is handling the query. Each handler within the same service has its own index. Trace name Description SimpleQueryBus.scatterGather(${queryName}) The QueryBus is handling the query locally. Each handler within the same service has its own index. Subscription queries are traces in a different way than others. Subscription queries have an initial result, which is traces like a direct query. However, new results can later be published at any time after while the caller is still subscribed to it. In order to prevent malformed traces, since most APM tools have a maximum span time before flushing them, publication of new results is not part of the original trace. However, invocations of the SimpleQueryUpdateEmitter will be linked to the span of the queries that are listening to it, so the original call can easily be found. The QueryUpdateEmitter traces will look like the following table: Trace name Description SimpleQueryUpdateEmitter.emit(${PayloadClass}) A new update is emitted. SimpleQueryUpdateEmitter.emit ${queryName} (${PayloadClass}) A new update is emitted for a specific consumer. In addition to this, the spans of the direct queries section apply as well. The TracingHandlerEnhancerDefinition automatically creates a span for each message handler invocation within your application. This is true for commands, events, queries and even custom message handlers. Spans will be created with the following format: ContainingClassName.methodName(ArgumentClass1, Argumentclass2, etc). Examples of this are: RoomAvailabilityHandler.on(RoomAddedEvent) Account(RegisterAccountCommand,DeadlineManager) The TracingHandlerEnhancerDefinition functionality is autoconfigured for Spring Boot, with event sourcing handlers turned off by default. This is because loading an aggregate might invoke many of these handlers, hitting the maximum number of spans for your APM tool. Please refer to the Spring Boot configuration section if you want to enable this.","title":"Distributed Tracing","component":"axon-framework-reference","version":"development","name":"tracing","url":"/axon-framework-reference/development/monitoring/tracing/","titles":[{"text":"Span factories","hash":"_span_factories","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Terminology","hash":"_terminology","id":4},{"text":"Combining factories","hash":"_combining_factories","id":5},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":6},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_2","id":7},{"text":"Features","hash":"_features","id":8},{"text":"Span types","hash":"_span_types","id":9},{"text":"Span nesting","hash":"_span_nesting","id":10},{"text":"Span attribute providers","hash":"_span_attribute_providers","id":11},{"text":"Axon Configuration API","hash":"_axon_configuration_api_3","id":12},{"text":"Spring Boot auto configuration - bean creation","hash":"_spring_boot_auto_configuration_bean_creation","id":13},{"text":"Spring Boot auto configuration - bean injection","hash":"_spring_boot_auto_configuration_bean_injection","id":14},{"text":"OpenTelemetry","hash":"_opentelemetry","id":15},{"text":"Configuration","hash":"_configuration","id":16},{"text":"Maven","hash":"_maven","id":17},{"text":"Gradle","hash":"_gradle","id":18},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_3","id":19},{"text":"Manual configuration","hash":"_manual_configuration","id":20},{"text":"OpenTracing","hash":"_opentracing","id":21},{"text":"Logging","hash":"_logging","id":22},{"text":"Axon Configuration API","hash":"_axon_configuration_api_4","id":23},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_4","id":24},{"text":"Traced components","hash":"_traced_components","id":25},{"text":"Commands","hash":"_commands","id":26},{"text":"Axon Server","hash":"_axon_server","id":27},{"text":"Without Axon Server","hash":"_without_axon_server","id":28},{"text":"Events","hash":"_events","id":29},{"text":"Event processors","hash":"_event_processors","id":30},{"text":"Streaming event processors","hash":"_streaming_event_processors","id":31},{"text":"Subscribing event processors","hash":"_subscribing_event_processors","id":32},{"text":"Deadlines","hash":"_deadlines","id":33},{"text":"Snapshotting","hash":"_snapshotting","id":34},{"text":"Sagas","hash":"_sagas","id":35},{"text":"Queries","hash":"_queries","id":36},{"text":"Direct queries","hash":"_direct_queries","id":37},{"text":"Axon Server","hash":"_axon_server_2","id":38},{"text":"Without Axon Server","hash":"_without_axon_server_2","id":39},{"text":"Streaming queries","hash":"_streaming_queries","id":40},{"text":"Axon Server","hash":"_axon_server_3","id":41},{"text":"Without Axon Server","hash":"_without_axon_server_3","id":42},{"text":"Scatter-gather queries","hash":"_scatter_gather_queries","id":43},{"text":"Axon Server","hash":"_axon_server_4","id":44},{"text":"Without Axon Server","hash":"_without_axon_server_4","id":45},{"text":"Subscription queries","hash":"_subscription_queries","id":46},{"text":"Message handler invocations","hash":"_message_handler_invocations","id":47}]},"60":{"id":60,"text":"This page describes the process when it comes to configuring a Query Handlers. Note, that a Query Handler is a (singleton) object containing @QueryHandler annotated functions. When you register a Query Handler, that means you are registering a class containing annotated query handlers. Upon receiving such a class during configuration, Axon will scan its contents for all @QueryHandler annotated methods. In the registration process the following information defines a given query handling function: The first parameter of the method is the query payload. The method’s response type is the query’s response type. The value of the queryName field in the annotation as the query’s name (this is optional and in its absence will default to the query payload). Note that it is possible to register multiple query handlers for the same query payload, response type and name. Furthermore, when dispatching a query the client can indicate whether it wants the result from a single handler or the result from all handlers corresponding to the query payload, name and response type combination. The following snippets point out how a Query Handler can be registered: Configuration API Spring Boot Given the existence of the following query handler: public class CardSummaryProjection { @QueryHandler public CardSummary handle(FetchCardSummaryQuery query) { CardSummary cardSummary; // Retrieve CardSummary instance, for example from a repository. return cardSummary; } } The following is needed to register a CardSummaryProjection as being a Query Handler: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerQueryHandler(conf -> new CardSummaryProjection()); Or, a more general approach to registering all types of message handlers in a component can be used: Configurer axonConfigurer = DefaultConfigurer.defaultConfiguration() .registerMessageHandler(conf -> new CardSummaryProjection()); When using Spring Boot, simply specifying the query handler as a bean is sufficient: @Component public class CardSummaryProjection { @QueryHandler public CardSummary handle(FetchCardSummaryQuery query) { CardSummary cardSummary; // Retrieve CardSummary instance, for example from a repository. return cardSummary; } } Identical Query Handling methods in a single Query Handler A query handler class can currently contain several identical query handling methods. The outcome of which method will actually be called is however unspecified. Note that this should be regarded as a extremely uncommon scenario, as typically identical query handling methods would be spread over several query handlers.","title":"Configuration","component":"axon-framework-reference","version":"development","name":"configuration","url":"/axon-framework-reference/development/queries/configuration/","titles":[{"text":"Registering a query handler","hash":"_registering_a_query_handler","id":1}]},"61":{"id":61,"text":"When it comes to dispatching queries, as explained in the Dispatching Queries section, there are a couple of implementations when it comes to actually sending the query message in question. The next sections provide an overview of the possible implementations, as well as pointing out how to set up query dispatching infrastructure with Axon. The query gateway is a convenient interface towards the query dispatching mechanism. While you are not required to use a gateway to dispatch queries, it is generally the easiest option to do so. Axon provides a QueryGateway interface and the DefaultQueryGateway implementation. The query gateway provides a number of methods that allow you to send a query and wait for a single or multiple results either synchronously, with a timeout or asynchronously. The query gateway needs to be configured with access to the query bus and a (possibly empty) list of `QueryDispatchInterceptor`s. The query bus is the mechanism that dispatches queries to query handlers. Queries are registered using the combination of the query request name and query response type. It is possible to register multiple handlers for the same request-response combination, which can be used to implement the scatter-gather pattern. When dispatching queries, the client must indicate whether it wants a response from a single handler or from all handlers. Axon provides a query bus out of the box, the AxonServerQueryBus. It connects to the AxonServer to send and receive Queries in a distributed way. Configuration API Spring Boot Declare dependencies: org.axonframework axon-server-connector ${axon.version} org.axonframework axon-configuration ${axon.version} Configure your application: // Returns a Configurer instance with default components configured. // `AxonServerQueryBus` is configured as Query Bus by default. Configurer configurer = DefaultConfigurer.defaultConfiguration(); By simply declaring dependency to axon-spring-boot-starter, Axon will automatically configure the AxonServerQueryBus: org.axonframework axon-spring-boot-starter ${axon.version} Excluding the Axon Server Connector If you exclude the axon-server-connector dependency you will fall back to the non-AxonServer query bus option, the SimpleQueryBus (see below). The SimpleQueryBus does straightforward processing of queries in the thread that dispatches them. To configure a SimpleQueryBus (instead of an AxonServerQueryBus): Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureQueryBus(Configurer configurer) { configurer.configureQueryBus( config -> SimpleQueryBus.builder() .transactionManager(config.getComponent(TransactionManager.class)) .messageMonitor(config.messageMonitor(SimpleQueryBus.class, \"queryBus\")) .build() ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public QueryBus queryBus(GlobalMetricRegistry metricRegistry, SpanFactory spanFactory, TransactionManager transactionManager, QueryUpdateEmitter updateEmitter) { return SimpleQueryBus.builder() .messageMonitor(metricRegistry.registerQueryBus(\"queryBus\")) .transactionManager(transactionManager) .spanFactory(spanFactory) .queryUpdateEmitter(updateEmitter) // .. .build(); } }","title":"Implementations","component":"axon-framework-reference","version":"development","name":"implementations","url":"/axon-framework-reference/development/queries/implementations/","titles":[{"text":"Query gateway","hash":"_query_gateway","id":1},{"text":"Query bus","hash":"_query_bus","id":2},{"text":"AxonServerQueryBus","hash":"AxonServerQueryBus","id":3},{"text":"SimpleQueryBus","hash":"SimpleQueryBus","id":4}]},"62":{"id":62,"text":"The third type of Message that an Axon application is associated with is the Query Message, or simply Queries. These are messages that request information in a certain format. Any application can declare it’s able to handle a query message, and provide a response to it. There are multiple types of queries that cane be distinguished. Point-to-point queries: They are routed to a single handler, which is expected to return a single result. This is the most common type of query. Scatter-gather queries: These queries are dispatched to all handlers that are capable of handling the query. The results of all handlers are then aggregated and returned to the client. Subscription queries: These request an initial result and then continue to receive updates as long as the subscription is active. Streaming queries: These queries are used to request a stream of results, which are returned as they become available. You can find more about each type of query in the Query Dispatchers section. A summary of the various sections is given below. Subsection Purpose Query Dispatchers / Query Handlers Functional Development concerns for Query Messages using the Axon Framework Implementations Non-Functional Development concerns for Query Messages using the Axon Framework Configuration Configuration concerns for Query Messages using the Axon Framework This guide is complemented by a video tutorial which gives a practical demonstration of the concepts explained in this section. The tutorial is available at -> Axon Coding Tutorial - Query Messages","title":"Queries","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/queries/","titles":[{"text":"Types of queries","hash":"_types_of_queries","id":1},{"text":"Subsections","hash":"_subsections","id":2}]},"63":{"id":63,"text":"How to handle a query message has been covered in more detail in the Query Handling section. Queries have to be dispatched, just like any type of message, before they can be handled. To that end Axon provides two interfaces: The Query Bus, and The Query Gateway This page will show how and when to use the query gateway and bus. How to configure and specifics on the the query gateway and bus implementations are discussed here The QueryBus is the mechanism that dispatches queries to query handlers. Queries are registered using the combination of the query request name and query response type. It is possible to register multiple handlers for the same request-response combination, which can be used to implement the scatter-gather pattern. When dispatching queries, the client must indicate whether it wants a response from a single handler or from all handlers. The QueryGateway is a convenient interface towards the query dispatching mechanism. While you are not required to use a gateway to dispatch queries, it is generally the easiest option to do so. It abstracts certain aspects for you, like the necessity to wrap a Query payload in a Query Message. Regardless whether you choose to use the QueryBus or the QueryGateway, both provide several types of queries. Axon Framework makes a distinction between four types, being: Point-to-point queries, Scatter-gather queries, Subscription queries, Streaming queries. The direct query represents a query request to a single query handler. If no handler is found for a given query, a NoHandlerForQueryException is thrown. In case multiple handlers are registered, it is up to the implementation of the Query Bus to decide which handler is actually invoked. In the listing below we have a simple query handler: @QueryHandler (1) public List query(String criteria) { // return the query result based on given criteria } 1 By default the name of the query is fully qualified class name of query payload (java.lang.String in our case). However, this behavior can be overridden by stating the queryName attribute of the @QueryHandler annotation. If we want to query our view model, the List, we would do something like this: (1) GenericQueryMessage> query = new GenericQueryMessage<>(\"criteria\", ResponseTypes.multipleInstancesOf(String.class)); // send a query message and print query response queryBus.query(query).thenAccept(System.out::println); 1 It is also possible to state the query name when we are building the query message, by default this is the fully qualified class name of the query payload. 1 The response of sending a query is a Java CompletableFuture, which depending on the type of the query bus may be resolved immediately. However, if a @QueryHandler annotated function’s return type is CompletableFuture, the result will be returned asynchronously regardless of the type of the query bus. When you want responses from all of the query handlers matching your query message, the scatter-gather query is the type to use. As a response to that query a stream of results is returned. This stream contains a result from each handler that successfully handled the query, in unspecified order. In case there are no handlers for the query, or all handlers threw an exception while handling the request, the stream is empty. In the listing below we have two query handlers: @QueryHandler(queryName = \"query\") public List query1(String criteria) { // return the query result based on given criteria } @QueryHandler(queryName = \"query\") public List query2(String criteria) { // return the query result based on given criteria } These query handlers could possibly be in different components and we would like to get results from both of them. So, we will use a scatter-gather query, like so: // create a query message GenericQueryMessage> query = new GenericQueryMessage<>(\"criteria\", \"query\", ResponseTypes.multipleInstancesOf(String.class)); // send a query message and print query response queryBus.scatterGather(query, 10, TimeUnit.SECONDS) .map(Message::getPayload) .flatMap(Collection::stream) .forEach(System.out::println); The subscription query allows a client to get the initial state of the model it wants to query, and to stay up-to-date as the queried view model changes. In short it is an invocation of the Direct Query with the possibility to be updated when the initial state changes. To update a subscription with changes to the model, we will use the QueryUpdateEmitter component provided by Axon. Let’s take a look at a snippet from the CardSummaryProjection: @QueryHandler public List handle(FetchCardSummariesQuery query) { log.trace(\"handling {}\", query); TypedQuery jpaQuery = entityManager.createNamedQuery(\"CardSummary.fetch\", CardSummary.class); jpaQuery.setParameter(\"idStartsWith\", query.getFilter().getIdStartsWith()); jpaQuery.setFirstResult(query.getOffset()); jpaQuery.setMaxResults(query.getLimit()); return log.exit(jpaQuery.getResultList()); } This query handler will provide us with the list of GiftCard states. Once our GiftCard gets redeemed we would like to update any component which is interested in the updated state of that GiftCard. We’ll achieve this by emitting an update using the QueryUpdateEmitter component within the event handler function of the RedeemedEvt event: @EventHandler public void on(RedeemedEvt event) { (1) CardSummary summary = entityManager.find(CardSummary.class, event.getId()); summary.setRemainingValue(summary.getRemainingValue() - event.getAmount()); (2) queryUpdateEmitter.emit( FetchCardSummariesQuery.class, (3) query -> event.getId().startsWith(query.getFilter().getIdStartsWith()), (4) summary (5) ); } 1 First, we update our view model by updating the existing card. 2 If there is a subscription query interested in updates about this specific GiftCard we emit an update. 3 The first parameter of the emission is the type of the query (FetchCardSummariesQuery in our case) which corresponds to the query type in a previously defined query handler. 4 The second parameter is a predicate that will select the subscription query to be updated. In our case, we will only update subscription queries interested in the GiftCard which has been updated. 5 The third parameter is the actual update, which in our case is the card summary. There are several overloads of the emit method present, feel free to take a look at Javadoc for more specifics on that. Once we have the query handling and the emitting side implemented, we can issue a subscription query to get the initial state of the GiftCard and be updated once this GiftCard is redeemed: (1) commandGateway.sendAndWait(new IssueCmd(\"gc1\", amount)); (2) FetchCardSummariesQuery fetchCardSummariesQuery = new FetchCardSummariesQuery(offset, limit, filter); (3) SubscriptionQueryResult, CardSummary> fetchQueryResult = queryGateway.subscriptionQuery( fetchCardSummariesQuery, ResponseTypes.multipleInstancesOf(CardSummary.class), ResponseTypes.instanceOf(CardSummary.class)); fetchQueryResult (4) .handle(cs -> cs.forEach(System.out::println), System.out::println) (5) .doFinally(it -> fetchQueryResult.close()); (6) commandGateway.sendAndWait(new RedeemCmd(\"gc1\", amount)); 1 Issuing a GiftCard with gc1 id and initial value of amount. 2 Creating a subscription query message to get the list of GiftCards (this initial state is multiple instances of CardSummary) and to be updated once the state of GiftCard with id gc1 is changed (in our case an update means the card is redeemed). The type of the update is a single instance of CardSummary. Do note that the type of the update must match the type of the emission side. 3 Once the message is created, we are sending it via the QueryGateway. We receive a query result which contains two components: one is initialResult and the other is updates. In order to achieve 'reactiveness' we use Project Reactor's Mono for initialResult and Flux for updates. 4 The SubscriptionQueryResult#handle(Consumer, Consumer) method gives us the possibility to subscribe to the initialResult and the updates in one go. If we want more granular control over the results, we can use the initialResult() and updates() methods on the query result. 5 As the queryUpdateEmitter will continue to emit updates even when there are no subscribers, we need to notify the emitting side once we are no longer interested in receiving updates. Failing to do so can result in hanging infinitive streams and eventually a memory leak. Once we are done with using the subscription query, we need to close the used resource. 6 When we issue a RedeemCmd, our event handler in the projection will eventually be triggered, which will result in the emission of an update. Since we subscribed to updates with the println() method, the update will be printed out once it is received. Mandatory dependency The reactor-core dependency is mandatory for usage of subscription queries. However, it is a compile time dependency, and it is not required for other Axon features. The streaming query allows a client to, for example, stream large database result sets. The streaming query relies on the reactive stream model, specifically the Publisher type. The streaming query is flexible enough to handle any query return type. That means that any return type that is not a Publisher will automatically be converted to Publisher. The Publisher will emit one or multiple items based on query handler. The QueryGateway provides the streamingQuery method to utilize the streaming query. It’s simple to use and requires just two parameters: the query payload and the expected response type class. Note that the streamingQuery method is lazy, meaning the query is sent once the Publisher is subscribed to. Let’s see how to use the streamingQuery method: @QueryHandler public List handle(FetchCardSummariesQuery query) { ... return cardRepository.findAll(); (1) } ... public Publisher consumer() { return queryGateway.streamingQuery(query, CardSummary.class); (2) } 1 We are querying the cardRepository for all the cards. The repository can potentially return a result set containing thousands of items. 2 We are using the queryGateway to issue the streaming query. If we used a point-to-point query with multipleInstanceOf(CardSummary.class) response type, we would get an extensive list transferred as a single result message over the network. This result can potentially cause a buffer overflow or maximum message size violation. Instead of the multiple-instance-of approach, we use the streamingQuery(query, CardSummary.class). This method will convert our response to a stream and chunk the result into smaller messages containing the CardSummary instances. Natively, if we want fine-grained control of the producing stream, we can use for example Project Reactor’s Flux as the return type: @QueryHandler public Flux handle(FetchCardSummariesQuery query) { ... return reactiveCardRepository.findAll(); } When using a Flux as the return type, we can control backpressure, stream cancellation and implement more complex features like pagination. Transaction Leaking Concerns Once a consumer of the streaming query receives the Publisher to subscribe to, the transaction will be considered completed successfully. That means that any subsequent messages on the stream will not be part of the transaction, including errors. As the transaction is already over an error will not be propagated to the parent transaction to invoke any rollback method. This has the implication that the streaming query should not be used within a Unit Of Work (within message handlers or any other transactional methods) to chain other transactional actions (like sending a command or query). Back-pressure (flow control) is an essential feature in reactive systems that allows consumers to control the data flow, ensuring they are not overwhelmed by the producer. The streaming query implements a pull-based back-pressure strategy, which means that the producer will emit data when the consumer is ready to receive it. If you are using Axon Server, for more information see the flow control documentation. The streaming query can be implemented as an infinitive stream. Hence, it’s important to cancel it once the client is not interested in receiving any more data. The following sample shows how this could be achieved: public Publisher consumer() { return Flux.from(queryGateway.streamingQuery(query, CardSummary.class)) .take(100) .takeUntil(message -> somePredicate.test(message)); } The example above shows how the take operator limits the number of items to be emitted. A producer that produces an error by calling onError(Throwable) will terminate the handler execution. The consumer will, in turn, have its onError(Throwable) subscription handler called. Note that exceptions do not flow upstream (from consumer to producer). If an error happens on the consumer side, the consumer error will trigger a cancel signal propagated to the producer. This signal will effectively cancel the stream without the producer knowing the reason. Hence, it’s recommended to set a timeout on the query handler’s side in case of a finite stream. Essentially to protect against malfunctioning consumers or producers. @QueryHandler public Flux handle(FetchCardSummariesQuery query) { ... return reactiveCardRepository.findAll().timeout(Duration.ofSeconds(5)); } The example above shows how the timeout operator is used to cancel a request if no responses have been observed during a five-second timespan. Mandatory dependency The reactor-core dependency is mandatory for usage of streaming queries. However, it is a compile time dependency and it is not required for other Axon features. Axon Coding Tutorial #5: - Connecting the UI","title":"Query Dispatchers","component":"axon-framework-reference","version":"development","name":"query-dispatchers","url":"/axon-framework-reference/development/queries/query-dispatchers/","titles":[{"text":"The query bus and query gateway","hash":"_the_query_bus_and_query_gateway","id":1},{"text":"Point-to-point queries","hash":"point-to-point-queries","id":2},{"text":"Scatter-gather queries","hash":"scatter-gather-queries","id":3},{"text":"Subscription queries","hash":"subscription-queries","id":4},{"text":"Streaming queries","hash":"streaming-queries","id":5},{"text":"Streaming back-pressure","hash":"_streaming_back_pressure","id":6},{"text":"Cancellation","hash":"_cancellation","id":7},{"text":"Error handling","hash":"_error_handling","id":8}]},"64":{"id":64,"text":"The handling of a query comes down to an annotated handler returning the query’s response. The goal of this chapter is to describe what such an @QueryHandler annotated method looks like, as well as describing the call order and response type options. For configuration of query handlers and the QueryBus, it is recommended to read the Configuration section. In Axon, an object may declare a number of query handler methods, by annotating them with the @QueryHandler annotation. The object in question is what you would refer to as the Query Handler, or Query Handling Component. For a query handler method, the first declared parameter defines which query message object it will receive. Taking the 'Gift Card' domain which contains a CardSummary Query Model, we can assume there is a query message to fetch a single CardSummary instance. Let us define the format of the query message as follows: public class FetchCardSummaryQuery { private final String cardSummaryId; public FetchCardSummaryQuery(String cardSummaryId) { this.cardSummaryId = cardSummaryId; } // omitted getters, equals/hashCode, toString functions } As shown, we have a regular POJO that will fetch a CardSummary based on the cardSummaryId field. This FetchCardSummaryQuery will be dispatched to a handler that defines the given message as its first declared parameter. The handler will likely be contained in an object which is in charge of or has access to the CardSummary model in question: import org.axonframework.queryhandling.QueryHandler; public class CardSummaryProjection { private Map cardSummaryStorage; @QueryHandler // 1. public CardSummary handle(FetchCardSummaryQuery query) { // 2. return cardSummaryStorage.get(query.getCardSummaryId()); } // omitted CardSummary event handlers which update the model } From the above sample, we want to highlight two specifics when it comes to writing a query handler: The @QueryHandler annotation which marks a function as a query handler method. The method in question is defined by the return type CardSummary, which is called the query response type, and the FetchCardSummaryQuery which is the query payload. Storing a query model For the purpose of the example we have chosen to use a regular Map as the storage approach. In a real life system, this would be replaced by a form of database or repository layer, for example. In all circumstances, at most one query handler method is invoked per query handling instance. Axon will search for the most specific method to invoke, using following rules: On the actual instance level of the class hierarchy (as returned by this.getClass()), all annotated methods are evaluated If one or more methods are found of which all parameters can be resolved to a value, the method with the most specific type is chosen and invoked If no methods are found on this level of the class hierarchy, the super type is evaluated the same way When the top level of the hierarchy is reached, and no suitable query handler is found, this query handling instance is ignored. Note that similar to command handling, and unlike event handling, query handling does not take the class hierarchy of the query message into account. // assume QueryB extends QueryA // and QueryC extends QueryB // and a single instance of SubHandler is registered public class QueryHandler { @QueryHandler public MyResult handle(QueryA query) { // Return result } @QueryHandler public MyResult handle(QueryB query) { // Return result } @QueryHandler public MyResult handle(QueryC query) { // Return result } } public class SubQueryHandler extends QueryHandler { @QueryHandler public MyResult handleEx(QueryB query) { // Return result } } In the example above, the handler method of SubQueryHandler will be invoked for queries for QueryB and result MyResult the handler methods of QueryHandler are invoked for queries for QueryA and QueryC and result MyResult. Axon allows a multitude of return types for a query handler method, as defined earlier on this page. You should think of single objects and collections of objects, taking into account wildcards or generics too. Below we share a list of all the options which are supported and tested in the framework. For clarity, we make a deviation between single instance and multiple instances of a response type. This follows the requirement to specify the ResponseType when dispatching a query, which expects the user to state if either a single result or multiple results are desired. Axon will use this ResponseType object to match a query with a query handler method, alongside the query payload and query name. To query for a single object, the ReponseTypes#instanceOf(Class) method should be used to create the required ResponseType object. This \"instance-of-Class`\" `ResponseType object in turn supports the following query handler return values: An exact match of Class A subtype of Class A generic bound to Class A Future of Class A primitive of Class An Optional of Class Primitive Return Types Among the usual Objects, it is also possible for queries to return primitive data types: public class QueryHandler { @QueryHandler public float handle(QueryA query) { } } Note that the querying party will retrieve a boxed result instead of the primitive type. To query for a multiple objects, the ReponseTypes#multipleInstancesOf(Class) method should be used to create the required ResponseType object. This \"multiple-instances-of-Class`\" `ResponseType object in turn supports the following query handler return values: An array containing: Class A subtype of Class A generic bound to Class An Iterable or a custom implementation of Iterable containing: Class A subtype Class A generic bound to Class A wildcard bound to Class A Stream of Class A Future of an Iterable of Class The following list contains method return values which are not supported when queried for: An array of primitive types A Map of a given key and value type","title":"Query Handlers","component":"axon-framework-reference","version":"development","name":"query-handlers","url":"/axon-framework-reference/development/queries/query-handlers/","titles":[{"text":"Writing a query handler","hash":"writing-query-handler","id":1},{"text":"Query handler call order","hash":"_query_handler_call_order","id":2},{"text":"Query handler return values","hash":"_query_handler_return_values","id":3},{"text":"Supported single instance return values","hash":"_supported_single_instance_return_values","id":4},{"text":"Supported multiple instances return values","hash":"_supported_multiple_instances_return_values","id":5},{"text":"Unsupported return values","hash":"_unsupported_return_values","id":6}]},"65":{"id":65,"text":"The release notes section for the Axon framework for all major/minor releases. Release Type Version Major 4.10 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0 Minor 4.10 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0","title":"Release Notes","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/release-notes/","titles":[]},"66":{"id":66,"text":"All the enhancements and features which have been introduced to our major releases of the Axon Framework are noted here. Persistent streams #3030 Inject multiple test resources #2948 Persistent stream configuration #3043 Rebalance Segments in PooledStreamingEventProcessor #3028 [#3007] Set a SmartLifecycle phase lower than the ones written in the spring WebServer lifecycle ones. #3009 Spring: Place the Axon shutdown hook AFTER the WebServer ones #3007 Update index.adoc, remove link to how-to’s #2978 Automate migration to Axon 4.9+ #2944 refactor: Parameterized logging with constant log values #2910 Enhancement/test container reuse #2883 Removed old from AF reference guide docs module #3046 Updated links to Extensions and appendices #3041 Changed broken xref to broken links - to allow the build process to f… #3032 We’d like to thank all the contributors who worked on this release! @smcvb @MGathier @timtebeek @dgomezg @pckuyer @Sajjad-HTLO @bystam @manishatGit @tharoldD In issue #2778 we adapted the default TrackingToken of each StreamingEventProcessor to become a ReplayToken instead of a null. These changes result in the certainty that tasks that should not be performed on a replay of old events, like virtually any Saga event handlers, are ignored upon introduction of the Event Handling Component. However, if you expect all events to be handled as \"new\" events when introducing a new Event Handling Component, this may come as an unexpected change in behavior. More specifically, if you use the @DisallowReplay annotation or ReplayStatus#REPLAY enumeration on your newly introduced Event Handling Component, you will notice that the annotated method or block of code is no longer invoked. As such, the default ReplayToken should be regarded as a behavioral breaking change if you expect all methods of a new Event Handling Component to be invoked, regardless of any Replay API usage. Add suppressible log message when console client is not on the classpath. #2868 Instruct compiler to include parameter names metadata #2835 Log notification about AxonIQ console, if console-framework-client is not there #2819 Add additional Axon Server connector configuration to the AxonServerConfiguration #2815 Introduce the AxonServerEventStoreFactory #2807 Claim segments operation for Streaming Event Processors #2803 Add property to easily disable using Axon Server as event store. #2801 Add support for Spring Docker Compose #2790 Add CBOR format and Spring Boot properties for support #2777 Allow easy configuration of CBOR #2776 Support Java modules #2427 Add JDK21 to GitHub Actions #2866 [#2843] Make it possible to have multiple instances of the DbScheduler components. #2853 AxonDbSchedulerAutoConfiguration can not be used multiple times in hierarchical Spring context due to static fields #2843 Add intermediate span factories for Event Processors #2834 Add intermediate span factories for Sagas and Repositories #2830 Add intermediate span factories for DeadlineManager #2829 Intermediate Span Factory pattern for buses #2826 Intermediate Span Factory pattern for snapshotters #2824 Dead-Letter Sequence Identifier Caching #2818 Detect empty snapshots due to Serializer misconfiguration #2817 Improve Event Scheduler context configuration #2810 Implement StreamingEventProcessor.claimSegment #2805 Improve Spanfactory configurability #2780 Default to ReplayToken upon creation of new event processor #2778 Prevent processors from resetting when no handlers support replay #2769 Improve JavaDoc of the CommandTargetResolver #2742 Execute the axon-spring-boot-3-integrationtests actually with spring 3 #2862 Resolve classloading issue with ConnectionDetails #2833 Fix some typos #2783 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @lachja @abuijze @CodeDrivenMitch @schananas [#2689] Support Snapshotting for Polymorphic Aggregates #2753 Allow property based configuration of load balancing strategies #2750 Add test-summary step #2745 [#1828] Add Anchore Container Scan step #2744 [#2350] JDBC Dead-Letter Queue #2743 Enable tracing in DistributedCommandBus with SpanFactory #2729 Make the token store claim timeout easily configurable. #2722 Allow easy (property) configuration for the claimTimeout of the default TokenStore #2708 Introduce Polymorphic Aggregate Snapshotting auto-configuration #2689 [#2639] Handler Interceptor support for Dead Letter Processing #2661 [#2640] Support @ExceptionHandler and @MessageHandlerInterceptor annotated methods in Sagas #2656 Support @ExceptionHandler annotated methods in Sagas #2640 Handler Interceptor support for Dead Letter Processing #2639 Add an auto-merge step for Dependabot Pull Request #2608 2581 Allow to override EventSchema without modifying default JdbcEve… #2582 Allow to override EventSchema without modifying default JdbcEventStorageEngine in Spring context #2581 Allow Development mode on test containers #2461 Autoconfigure automatic load balancing #2453 Enable tracing in DistributedCommandBus with SpanFactory #2403 JDBC Dead-Letter Queue #2350 Validate test-summary GitHub Action #2228 Investigate usage of the Anchore Container Scan in GitHub Actions #1828 Introduce AxonServerContainer as test-container #2763 [#2755] Align assertion messages #2757 Put test assertion errors on multiple lines #2755 Add db-scheduler implementation of the Event Scheduler and Deadline Manager #2727 Add db-scheduler implementation of the Event Scheduler and Deadline Manager #2724 Add JCacheAdapter test scenarios #2721 Make Configuration accessible #2700 refactor: Spring Boot 2.x best practices #2663 Improve error message in case a streaming query gives an error. #2662 Error handling of Streaming queries is less than ideal #2660 Add a warning to the creation of the in memory token store. #2650 Add a registerDeadLetterQueueProvider method in the EventProcessingConfigurer. #2633 [#2628] Extended support for Spring application context hierarchy #2629 ObjectMapper cannot be resolved from Spring Parent Context #2628 Move AbstractDeadlineManagerTestSuite to spring module so it’s deployed. #2622 Clean the test logs #2606 Create a SequencedDeadLetterQueueFactory #2598 2581 Do not duplicate bean definition of TokenStore #2587 [#2074] Allow to customize saga schema table and columns #2575 Auto-merge successful Dependabot Pull requests #2569 Move to use job builder to have more control how the jobs are stored. Add auto configuration. #2564 Enable cancelAll and cancelAllwithinScope in the JobRunrDeadlineManager. #2507 Add JCacheAdapter test scenarios #2421 Change jdbc column names to snake case as default. #2074 Add cache using EhCache 3 #2709 Add cache using Ehcache 3 #2420 Remove payloadType tag from EventProcessorLatencyMetric #2683 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @OLibutzki @azzazzel @Morlack @timtebeek @Blackdread @schananas This release introduces compatibility with Spring Boot 3. The support for Spring Boot 3 also entails the removal of the Jakarta-specific modules since Jakarta is now the default. Furthermore, it required us to duplicate the Javax Persistence and Javax Validation classes into dedicated legacy packages. In doing so, we provided support for both Javax and Jakarta, as well as Spring Boot 2 and Spring Boot 3. However, this required us to introduce breaking changes in 4.7 compared to 4.6. To help you upgrade towards Axon Framework 4.7, we provide a dedicated Upgrading to Axon Framework 4.7 page describing the scenarios you may be in and the steps to take for upgrading. Next to the Javax-to-Jakarta adjustments and the Spring Boot 3 support, we’ve added an Event Scheduler and Deadline Manager based on JobRunr. For an exhaustive list of the features, enhancements, and bug fixes introduced, see below: [#1509] Add whenConstructing and whenInvoking to the AggregateTestFixture #2551 [#2476] Support EventMessage handler interceptor registration on the SagaTestFixture #2548 [#2351] The DeadLetter Parameter Resolver #2547 Add Configurer#registerHandlerEnhancerDefinition #2545 [#1123] Support Repository bean wiring through generics #2527 Implement the JobRunr implementation of the event scheduler. #2509 JobRunr DeadlineManager #2499 Added parameter resolver for aggregate type retrieval from domain event messages #2498 Implement Event Handler Interceptors registration on SagaTestFixtures #2476 Message Handler (parameter) support for Dead Letters #2351 Alternative deadline manager: JobRunr (Quartz alternative) #2192 Allow the AggregateTestFixture to expect methods to be called instead of commands passed. #1509 Allow replay on a Saga #1458 Provide alternatives for QuartzEventScheduler and QuartzDeadlineManager #1106 Configurable Locking Scheme in SagaStore #947 Fixed SpringAggregateLookup initialization issue for Spring AOT #2578 [#2561] Move Sonar to JDK17 #2574 Automatically approve Dependabot[bot] PRs #2566 Add Segment and Token to UnitOfWork of PooledStreamingEventProcessor #2562 Move Sonar to JDK17 build #2561 [#2129] Fine tune Repository registration in the AggregateTestFixture #2552 [#1630] Allow disabling of sequence number generation in the GenericJpaRepository #2550 Several fixes to successfully run a JDK17 build #2544 Adjust Dependabot behavior #2536 Enable heartbeats to Axon Server by default #2530 [#2383] Add ConditionalOnMissingBean to SpringAxonConfiguration and SpringConfigurer #2526 Small test and code improvement for JobRunr deadline manager #2510 Introduce the NestingSpanFactory #2487 Improve mismatch messages for Hamcrest Matchers #2400 #2418 Allow OpenTelemetrySpanFactory to only create child spans #2404 Add ConditionalOnBean to InfraConfiguration Beans #2383 AggregateTestFixture creates EventSourcingRepository and does not invalidate it #2129 JDK16 - axon-messaging own unit test fail on #1826 GenericJpaRepository to enable/disable the sequence number generation #1630 Fix typos in Javadoc #2475 Aggregate Repository Spring wiring causes NullPointerException #1123 Asserting checked exception while creating an Aggregate #782 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack @maverick1601 @TomDeBacker @lachja @abuijze @fernanfs Axon Framework 4.6.0 has undergone a great deal of changes. Some noteworthy additions are the Dead-Letter Queue, integrated Tracing with Open Telemetry and Jakarta support. For an exhaustive list of the features, enhancements, and bug fixes with introduced, see below. For a list that also contains the dependency upgrades we refer to this page. Added Slack release announcement #2348 [#2307] Carry the context during reset to the ReplayToken #2312 Propagate ResetContext in ReplayToken #2307 [#2198] Add support for Jakarta #2301 Native Tracing for Axon Framework with OpenTelemetry as default #2294 [#2021] Dead Letter Queue for Event Processing Groups #2258 JPA dead letter queue implementation #2239 Construct means to switch between classes using javax and jakarta #2198 Create add-dependabot-pr-to-project.yml #2183 Create add-issues-to-project.yml #2182 Multiteant support #2156 Spring event for indication that Axon has started #2146 Application events when handlers are registered #2144 [#1125] Introduce SagaLifecycle.associationValues() #2141 [#1964] Include AxonServerHealthIndicator #2130 AggregateTestFixture improvement - Validate Exception Details #2125 AggregateTestFixture improvement - Validate Exception Details #2110 Feature/1466 Additional deadline validation methods #2071 Multi-tenant support #2045 Dead-Letter Queue for Event Processors #2021 Added AxonServerEEContainer and AxonServerSEContainer as an easier way for people to write tests #2020 Streaming query #2001 [#1967] Fetch available segements only from the TokenStore #1997 [#1645] Introduce ObjectNode-to/from-JsonNode ContentTypeConverter for the JacksonSerializer #1995 [#1490] Simplify LockFactory configuration for Aggregates #1992 [#1986 Introduce EventProcessingConfigurer#defaultTransactionManager method #1989 Register default Transaction Manager through Event Processing Configurer #1986 Add method returning the available segments of a TokenStore #1967 Add an actuator health indicator to check the connection between the application and Axon Server #1964 Added the MetaDataSequencingPolicy #1930 Provide a SequencingPolicy based on a MetaData field #1929 Added an option to create a fixture for a state stored aggregate #1772 JsonNode-to-ObjectNode ContentTypeConverter #1645 Simplify LockFactory configuration per aggregate #1490 Additional Deadline Validation methods. #1466 Allow TrackingEventProcessor start to be deferred #1184 Accessing Saga Association Values #1125 Signal when all Handlers have been registered in Spring environment #880 Improve deadline span name. #2360 Make Given-phase Error Handling configurable for Saga Test Fixtures #2356 Improve SpanFactory autoconfiguration mechanism. #2354 Introduce LoggingSpanFactory and MultiSpanFactory #2353 Check if a certain handler contains certain methods before registering it. #2346 Catch exceptions from correlation data providers. #2345 Throw exception on ambiguous dependencies #2344 Integration Test for Command and Query Priority Calculations #2342 Include message identifier in error message if de-serialization fails #2330 Add CorrelationDataProvider error handling on rollback #2328 Strip test prefix once required in JUnit 3 from test method names #2321 Apache Maven Wrapper 3.8.6 #2320 Allow ReplayToken creation to be customizable when resetting a projection #2308 Ensure all dispatchable messages are serialiable by Jackson and XStream. #2295 Testclasses for javax jakarta extension #2280 Remove redundant method definition #2270 Integration Test for Command and Query Priority Calculations #2266 Update the PrioritizedRunnable to a PriorityTask #2265 Automatically add Release Notes on milestone closure to Discuss post #2264 Create a protected method to fetch tracking events on JpaEventStorageEngine #2262 Create a protected method to fetch tracking events on JpaEventStorageEngine. #2259 Allow subtype definition on the Repository builders for Polymorphic Aggregates #2250 Add test for ConsistentHash.equals #2244 Use getHost instead of getContainerIpAddress #2222 Default snapshotfilter with revision null #2213 Default snapshot filter with revision null #2212 Creation policy factory for Aggregates #2209 Removed deprecated code by updating the default serializer initialization #2206 Flux response type rank matching #2197 Introduce conditional variants for ApplyMore #2174 Conditional variant for the ApplyMore methods #2173 Take into account the result of the equals method before attempting… #2171 Improve javadoc of the ReplayStatus enum to reflect changes to the StreamingEventProcessors #2170 MultipleInstancesResponseType should match (lower) on single item #2148 Add duplicate resolution on query handler registration, defaulting to… #2140 Add method on DefaultCommandGateway to be able to customize callbacks #2139 Default Revision SnapshotFilter in absence of annotation #2136 Fine tune the MessageHandlerLookup for Spring Native support #2106 Redesign of Spring Boot Auto Configuration support #2105 Feature/1629 saga test fixture #2101 [#2093] Validate if target Command Handling Member can resolve target #2095 Allow several Aggregate Member collections of the same type #2093 Changed logging about \"processor falling behind\" #2073 Make asDomainEventMessage available to subclasses #2066 Make JpaEventStorageEngine#asDomainEventMessage(EventMessage) protected #2065 Separate Integration Tests and Aggregate coverage reports #2063 [#1646] Update \"No Handler For\" exceptional cases #2062 [#1711] Simplify attachment of Lifecycle Operations #2061 Change how Sonar is invoked for GHA’s #2033 Introduce LifecycleAware interface for managing component lifecycle #2028 Remove MonoWrapper usage. #2008 Replaced method.getParametersTypes().length by method.getParameterCount()) #1987 Methods for testing deadlines when time passed are consistent in TestExecutor & SagaTestFixture (fixes #1974) #1975 Make methods for testing Deadlines consistent for TestExecutor and SagaTestFixture #1974 Added jdk17-ea on our build workflow for early feedback #1915 Add configurable options for checking failure transiency #1910 Prevent stack trace generation for HandlerExecutionException #1905 Allow creation of HandlerExecutionExceptions without stacktrace #1901 [#1898] Empty associationProperty leads to IndexOutOfBoundsException #1899 Empty associationProperty leads to IndexOutOfBoundsException #1898 Provide means of configuring a CommandCallback #1889 Splitted builds into pr and not pr, added ghactions to Dependabot and other minors #1830 Fine tune triggered Deadline validation for Test Fixtures #1797 Simplified DeadlineManager configuration #1796 Expand RetryScheduler to support more granular decision when to retry #1723 Simplify attachment of Lifecycle Operations #1711 Improved termination heuristic when response is < batchsize/2 and the… #1691 Exception in startHandlers is \"swallowed\" by exception in shutdownHandlers #1669 Fine tune \"No Handler For…\" Exception #1646 SagaTestFixture should support expectSuccessfulHandlerExecution() #1629 Large number of rolled back transactions on JPA/JDBC TokenStore #1475 Reduce Reflection usage #1427 Add annotation NonNull/Nullable for better usage in Kotlin (also java) #1280 Spurious warnings when a tracking token gap appears then is filled #1193 Query handlers of the same name and response type within one class #719 MultipleInstancesResponseType should recognize handler with single result #602 Rename SpanFactory.registerTagProvider to registerSpanAttributeProvider #2347 [#2341] Adjust type checking in SimpleQueryUpdateEmitter to accompany type erasure #2343 UpdateEmitter drops MultipleInstancesResponseType updates due to type checking. #2341 Parameter resolver ordering is wrong for test fixtures #2340 Take all types into account when resolving the deadline handler #2336 When moving to a polymorphic Aggregate the stored Deadlines are not handled. #2333 [#2331] Fix deserialization bug GrpcBackedSubscriptionQueryMessage and filter non-handler-matching updates #2332 GrpcBackedSubscriptionQueryMessage overwrites update type with initial response type #2331 [#2317] Using deadlines with DefaultConfigurer leads to NPE #2319 Using deadlines with DefaultConfigurer leads to NPE #2317 Fix streaming queries not respecting PriorityTask mechanism #2309 [#2268] Adjust ConditionalOnClass to validate existence of the AxonServerConnectionManager in absence of the axon-server-connector package. #2269 Bug when using Spring actuator starter and excluding axon server #2268 Support Cache and LockFactory configuration on @Aggregate stereotype #2254 Extracted lambdas to inner static classes #2240 Dependency on reactor is needed to be able to start an Axon app using current 4.6.0-SNAPSHOT #2238 Fix snapshots not being deployed to nexus #2237 fix javadoc: default port is 8124, not 8123 #2223 fix typo in local variable name #2218 Publisher Response Type #2215 EventProcessingModule should lazily initialize processors #2180 Fix StreamingEventProcessor#maxCapacity for the TrackingEventProcessor #2124 Restore missing commit 6e531a6cf173243adf9519905f42cbec0a334238 #2116 Wire eventSerializer into QuartzEventSchedulerFactoryBean #2115 Wire the event Serializer into QuartzEventSchedulerFactoryBean #2088 Fix typo in pom.xml #2022 Fix typos #2016 Exponential Retry for Tracking event processor not happening for transient exceptions when using Postgres JdbcTokenStore #1920 We’d like to thank all the contributors who worked on this release! @mnegacz @WackyS @YvonneCeelie @altuntasfatih @saratry @barbeque-squared @srmppn @krosenvold @gklijs @erikhofer @Dilsh0d @smcvb @sandjelkovic @MGathier @dgomezg @Arnaud-J @sascha-eisenmann @Morlack @andye2004 @nils-christian @lfgcampos @heutelbeck @mikelhamer @m1l4n54v1c @Vermorkentech @lacinoire @jangalinski @azzazzel @eddumelendez @timtebeek @sgrimm-sg @dmurat @abuijze @hatzlj @schananas This release has seen numerous addition towards Axon Framework. The most interesting adjustments can be seen down below. Note that the BOM (as marked in #1200) is not part of the release notes, as this will use its own separate release cycle. For those interested, the BOM repository can be found here. For an exhaustive list of all adjustments made for release 4.5 you can check out this page. A new type of EventProcessor has been introduced in pull request #1712, called the PooledStreamingEventProcessor. This EventProcessor allows the same set of operations as the TrackingEventProcessor, but uses a different threading approach for handling events and processing operations. In all, this solution provides a more straightforward processor implementation and configuration, allowing for enhanced event processing in general. For specifics on how to configure it, check out this section. Sagas support the use of Deadline Handlers, but an @DeadlineHandler annotated method couldn’t automatically close a Saga with the @EndSaga annotation. This enhancement has been described in #1469 and resolved in pull request #1656. As such, as of Axon 4.5, an @DeadlineHandler annotated can also be annotated with @EndSaga, to automatically close the Saga whenever the given deadline is handled. Whenever an application uses snapshots, the point arises that old snapshot versions need to be invalidated when loading an Aggregate. To that end the SnapshotFilter can be configured. As a simplified solution, the @Revision annotation can now be placed on the Aggregate class to automatically configure a revision based SnapshotFilter. Due to this, old snapshots will be filtered out automatically when an Aggregate is reconstructed from the EventStore. For those interested, the implementation of this feature can be found here. At the basis of Axon’s message handling functionality, is the MessageHandlingMember. For the time being, the sole implementation of this is the AnnotatedMessageHandlingMember, which expect the use of annotations like the @CommandHandler and @EventHandler, for example. As a step towards constructing an annotation-less approach, #1621 was introduced into the framework. The first steps taken in this pull request are the deprecation of annotation-specific methods from the MessageHandlingMember interface. Added to this is a new approach towards defining attributes of a message handling member through HandlerAttributes. The InMemoryEventStorageEngine is a good fit for testing purposes. However, it included a discrepancy towards the event storing solution compared to other event storage solutions. This issue was addressed in #1056 and resolved in pull request #1660. In issue #1733 a confusion around the EventUtils#asDomainEventMessage was described. This reiterated the fact that this method is purely intended for internal use inside Axon Framework, which was not clear to the users. As such, it has now been deprecated, containing a clear statement why this method is not to be used. Axon Framework can now be used in conjunction with Spring Boot Developer Tools. You can simply achieve this by adding the required dev-tools dependency to your project. As a partial solution to #1106, Axon Server can now be used to schedule events. Building an AxonServerEventScheduler as the EventScheduler implementation as defined through the builder is sufficient to start with scheduling events through Axon Server. An EventTrackerStatusChangeListener can now be configured for a TrackingEventProcessor, as was requested in #1338. It can be configured through the TrackingEventProcessorConfiguration, allowing users to react upon status changes of each thread processing event messages. Component specific message handler interceptors can now be defined through a dedicated annotation: the @MessageHandlerInterceptor annotation. This annotation allows you to introduce a specific bit of logic to be invoked prior to entering the message handling function or after invocation. It for example allows the additional introduction of a @ExceptionHandler annotation, allowing you to specifically deal with the exceptions thrown from your message handlers. The original pull request can be found under #1394. For more specifics on using this annotation, check out the @MessageHandlerInterceptor section. Configuring a Snapshotter and SnapshotFilter have been simplified in this release. Pull request #1447 shares the load of allowing for distinct Snapshotter configuration. Issue #1391 describes the intent to the configuration of snapshot filtering to be performed on Aggregate level. The former can be configured through the Configurer, whereas the latter is by usage of the AggregateConfigurer. The AggregateTestFixture was incorrectly noting an old method in one of its exceptions. This has been marked and resolved in #1428. The CommandValidator and EventValidator had a minor discrepancy; namely, the CommandValidator cleared out contained commands upon starting whereas the EventValidator didn’t. Pull request #1438 resolved the problem at hand. For a full list of all the feature request and enhancements done for release 4.4, you can check out this page. Aggregate Polymorphism has been introduced, allowing for an aggregate hierarchy to come naturally from a domain model. To set this up, the AggregateConfigurer#withSubtypes(Class…​ aggregates) method can be used. In a Spring environment, an aggregate class hierarchy will be detected automatically. For more details on this feature, read up on it here. An Axon application will now shutdown more gracefully than it did in the previous releases. This is achieved by marking specific methods in Axon’s infrastructure components as a @StartHandler or @ShutdownHandler. A 'phase' is required in those, specifying when the method should be executed. If you want to add your own lifecycle handlers, you can either register a component with the aforementioned annotations or register the methods directly through Configurer#onInitialize, Configuration#onStart and Configuration#onShutdown. We have introduced the @CreationPolicy annotation which you can add to @CommandHandler annotated methods in your aggregate. Through this, it is possible to define if such a command handler should 'never', 'always' or 'create' an aggregate 'if-missing'. For further explanation read the Aggregate Command Handler Creation Policy section. Both the XStreamSerializer and JacksonSerializer provide a means to toggle on \"lenient serialization\" through their builders. Various test fixture improvements have been made, such as options to register a HandlerEnhancerDefinition, a ParameterResolverFactory and a ListenerInvocationErrorHandler. Additional validations have been added too, revolving around asserting scheduled events and deadline message. The Test Fixture page has been updated to define these new operations accordingly. The TrackingEventProcessor#processingStatus method as of 4.3 exposes more status information. The current token position, token-at-reset, is-merging and merge-completed position have been added to the set. Read the Event Tracker Status section for more specifics on this. A ConcurrencyException was thrown when an aggregate was created at two distinct JVM’s at the same time. As ConcurrencyException`s are typically retryable, the creation command would be issued again if a `RetryScheduler was in place. Retrying this operation is however useless and hence has been replaced for an AggregateStreamCreationException in pull request #1333. The test fixtures for state-stored aggregates did unintentionally not allow resource injection. This problem has been resolved in pull request #1315. The MultiStreamableMessageSource did not deal well with one or several exceptional streams. Hence exception handling has been improved on this matter in #1325. For a complete list of all the changes made in 4.3 you can check out this page. Axon Framework applications can now use tags to support a level of 'location awareness' between Axon clients and Axon Server instances. This feature is further described here. Axon Server already supported several contexts, but Axon Framework application could not specify to which context message should be dispatched. The Axon Server Connector has been expanded with a TargetContextResolver to allow just this. A new implementation of the StreamablbeMessageSource has been implemented: the MultiStreamableMessageSource. This implementation allows pairing several \"streamable\" message sources into a single source. This can in turn be used to for example read events from several distinct contexts for a single Tracking Event Processor. Handler Execution Exception now allow application specific information to be sent back over the wire in case of a distributed set up. The TrackingToken interface now provides an estimate of it’s relative position in the event stream through the position() method. Optional return types can now be used for Query Handling methods. An Aggregate’s Snapshotter was not auto configured when Spring Boot is being used, as was filed under #932. The CommandResultMessage was returned as null when using the DisruptorCommandBus. This was solved in pull request #1169. The ScopeDescriptor used by the DeadlineManager had serialization issue when a user would migrate from an Axon 3.x application to Axon 4.x. The axon-legacy package has been expanded to contain legacy `ScopeDescriptor`s to resolve this problem. For a full list of all features, enhancements and bugs, check out the issue tracker. The TrackingEventProcessor now has an API to split and merge TrackingTokens during runtime of an application. Axon Server has additions to the UI to split and merge a given Tracking Event Processor’s tokens. Next to Dropwizard metrics the framework now also supports Micrometer metrics. The MessageMonitor interface is used to allow integration with Micrometer. Lastly, we are incredibly thankful that this has been introduced as a community contribution. Primitive types are now supported as @QueryHandler return types. We have introduced the EventGateway in a similar fashion as the CommandGateway and QueryGateway. As with the command and query version, the EventGateway provides a simpler API when it comes to dispatching Events on the EventBus. Command and Query message priority was not set correctly for the Axon Server Connector. This issue has been addressed under bug #1004. The CapacityMonitor was not registered correctly for Event Processor, which user \"Sabartius\" resolved under issue #961. Some exception were not reported correctly and/or clearly when utilizing the Axon Server Connector (issue marked under number #945). We refer to this page for a full list of all the changes. The package structure of Axon Framework has changed drastically with the aim to provide users the option to pick and choose. For example, if only the messaging components of framework are required, one can directly depend on the axon-messaging package. In part with the package restructure, all components which leverage another framework to provide something extra have been given their own repository. These repositories are called the Axon Framework Extensions. The configuration of Event Processor has been replaced and greatly fine tuned with the addition of the EventProcessingConfigurer. Some new defaults have been introduced in release 4.0, like a bias towards expecting a connection with Axon Server. Another important chance is the switch from defaulting to Tracking Processors instead of Subscribing Processors. The notion of a CommandResultMessage has been introduced as a dedicated message towards the result of command handling. To simplify configuration and more easily overcome deprecation, the Builder pattern has been implemented for all infrastructure components. The bugs marked for release 4.0 were issues introduced to new features or enhancements. As such they should not have impacted users in any way. Regardless, the full list can be found here. For more details, check the list of issues here.","title":"Major Releases","component":"axon-framework-reference","version":"development","name":"major-releases","url":"/axon-framework-reference/development/release-notes/major-releases/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1},{"text":"Features","hash":"_features","id":2},{"text":"Enhancements","hash":"_enhancements","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5},{"text":"Release 4.9","hash":"_release_4_9","id":6},{"text":"Behavioral breaking change","hash":"_behavioral_breaking_change","id":7},{"text":"Features","hash":"_features_2","id":8},{"text":"Enhancements","hash":"_enhancements_2","id":9},{"text":"Bug fixes","hash":"_bug_fixes_2","id":10},{"text":"Contributors","hash":"_contributors_2","id":11},{"text":"Release 4.8","hash":"_release_4_8","id":12},{"text":"Features","hash":"_features_3","id":13},{"text":"Enhancements","hash":"_enhancements_3","id":14},{"text":"Bug fixes","hash":"_bug_fixes_3","id":15},{"text":"Contributors","hash":"_contributors_3","id":16},{"text":"Release 4.7","hash":"_release_4_7","id":17},{"text":"Features","hash":"_features_4","id":18},{"text":"Enhancements","hash":"_enhancements_4","id":19},{"text":"Bug fixes","hash":"_bug_fixes_4","id":20},{"text":"Contributors","hash":"_contributors_4","id":21},{"text":"Release 4.6","hash":"_release_4_6","id":22},{"text":"Features","hash":"_features_5","id":23},{"text":"Enhancements","hash":"_enhancements_5","id":24},{"text":"Bug fixes","hash":"_bug_fixes_5","id":25},{"text":"Contributors","hash":"_contributors_5","id":26},{"text":"Release 4.5","hash":"_release_4_5","id":27},{"text":"Enhancements","hash":"_enhancements_6","id":28},{"text":"Bug fixes","hash":"_bug_fixes_6","id":29},{"text":"Release 4.4","hash":"_release_4_4","id":30},{"text":"Enhancements","hash":"_enhancements_7","id":31},{"text":"Bug fixes","hash":"_bug_fixes_7","id":32},{"text":"Release 4.3","hash":"_release_4_3","id":33},{"text":"Enhancements","hash":"_enhancements_8","id":34},{"text":"Bug fixes","hash":"_bug_fixes_8","id":35},{"text":"Release 4.2","hash":"_release_4_2","id":36},{"text":"Enhancements","hash":"_enhancements_9","id":37},{"text":"Bug fixes","hash":"_bug_fixes_9","id":38},{"text":"Release 4.1","hash":"_release_4_1","id":39},{"text":"Enhancements","hash":"_enhancements_10","id":40},{"text":"Bug fixes","hash":"_bug_fixes_10","id":41},{"text":"Release 4.0","hash":"_release_4_0","id":42},{"text":"Enhancements","hash":"_enhancements_11","id":43},{"text":"Bug fixes","hash":"_bug_fixes_11","id":44}]},"67":{"id":67,"text":"Any patch release made for an Axon project is tailored towards resolving bugs. This page aims to provide a dedicated overview of patch releases per project. Known Issues and Workarounds page #3193 Add retry on error behavior to persistent streams #3196 [#3171] Ensure AggregateAnnotationCommandHandler default CreationPolicyAggregateFactory can kick in #3183 Polymorphic aggregate cannot be instantiated using @CreationPolicy #3171 We’d like to thank all the contributors who worked on this release! @smcvb @MGathier [#3149] Allow queries with a local handler to shortcut to the local segment #3161 Allow queries with a local handler to shortcut to the local segment #3149 fix: log statement issue with Logback classic #3164 Wrap SinksManyWrapper#performWithBusyWaitSpin in ReentrantLock to improve performance of Subscription Query Updates #3163 Deadletter Logging with Logback Classic #3160 [#3157] Skip Axon Server Docker tests on ARM64 for older Axon Server versions #3158 Legacy Axon Server 4.x tests fail on Mac/ARM #3157 Fixed messageSerialization test in GenericMessageTest #3156 Gracefully await queries in progress in the AxonServerQueryBus #3176 [#3171] Set CreationPolicyAggregateFactory for every type in the AggregateModel #3173 Polymorphic aggregate cannot be instantiated using @CreationPolicy #3171 We’d like to thank all the contributors who worked on this release! @smcvb @stoerti @wtrzas2 @mbechto @rsobies [#3123] Introduce SubscriptionQueryResult#handle default implementation that expects a Consumer #3124 Exceptions in QueryHandler methods are swallowed for subscription queries #3123 Reduce the number of property lookups for matching entities #3119 Adjust the AbstractMethodPropertyAccessStrategy to filter better on none-matching methods #3117 Introduce PersistentStreamScheduledExecutorBuilder #3078 Account for contexts call on un-initialized containers #3054 Fix rescheduling of failed Persistent Streams #3130 Allow DLQ to handle deserialization errors #3126 We’d like to thank all the contributors who worked on this release! @smcvb @MGathier @meks77 @abuijze @CodeDrivenMitch @tharoldD Skip jacoco if sonar-enabled is false. #2976 Add additional check for NoToken so we never try to open a stream with it. #2986 Use TransactionManager in the EventProcessorControlService to invoke TokenStore#retrieveStorageIdentifier #2985 Resolve issue with eager gap cleanup #2977 Fix SagaTestFixture use DomainEventMessage #2974 Weird state causing tracking processors to never advance #2958 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @TimoFrye @abuijze Added explicit AutoConfigureBefore and AutoConfigureAfter in JpaAutoConfiguration #2964 Resolved MySQL startup problems in integration tests #2963 Fix Exception on using OpenTelemetry and ScatterGather queries #2960 [#2955] Fix ability to replay when at least one Event Handling Component supports a reset #2957 @DisallowReplay on a single Event Handling Components blocks replay of the entire StreamingEventProcessor #2955 fix: reverse eventBlockListingEnabled value for EventBuffer#disableIg… #2947 We’d like to thank all the contributors who worked on this release! @vitko @abuijze @CptCheesebeard @CodeDrivenMitch Added support for TrackingToken parameter in SagaTestFixture #2917 [#2900] Removed requirement for property to disable AxonServer EventStore and enable another one #2909 Align the TrackingToken assert for JPA, JDBC, and AxonServer #2903 Resolved apparent memory leak in GapAwareTrackingToken #2936 Axon Spring Boot Starter fails to connect to Axon Server on Spring Boot version 3.1.6+ #2914 Integration test should use current Axon version #2908 Behavioral change in 4.9 JpaEventStoreAutoConfiguration #2900 Make the viable name match with the override, the current name can be… #2888 Upgrade Axon Server Connector Java to 2023.2.0 #2913 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @abuijze [#2855] Support Hierarchical Spring Contexts within SpringConfigurer.ComponentLocator #2870 Enhance segment logging for PooledStreamingEventProcessor #2869 ComponentLocator does not resolve beans from Spring Parent Context #2855 [#2844] Improve shutdown behavior for DbSchedulerDeadlineManager #2852 Shutdown-Mechanism of DbSchedulerDeadlineManager #2844 Disable JPA and JDBC EventStorageEngine creation when Axon Server is enabled #2871 [#2845] Ensure ConfigurerModule order is respected in Spring Autoconfiguration #2846 InfraConfiguration.springAxonConfigurer ignores ConfigurerModule.order() #2845 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @abuijze Removed spring-devtools.properties #2820 Add default constructor for the AxonServerContainer #2809 axon-tracing-opentelemetry with Spring Devtools crashes on start #2828 Ensure insert order is maintained for SequencedDeadLetterQueue#deadLetterSequence(String) invocations #2827 Fix inconsistencies around the AxonServerConfiguration #2814 Enable Annotated Message Interceptor support for Command Handling Components #2804 Fix property-based Load Balancing Strategy configuration bug #2802 We’d like to thank all the contributors who worked on this release! @smcvb @abuijze Log when HandlerExecutionException#details are missing and on AbstractRepository failures #2796 Allow Coordinator to extend Token claims as an optimization #2785 Introduce Maven profile to update versions for non-parent POM related module #2638 Enable provisioning a Message with custom MetaData for QueryGateway#streamingQuery #2795 Ensure Aggregate Member Command Handlers are retrievable in complex Aggregate Hierarchy #2794 Aggregate fixture hierarchy behaviour #2792 We’d like to thank all the contributors who worked on this release! @smcvb [#2752] Truncate Cause message to fit default column width #2759 DLQ - PSQLException: ERROR: value too long for type character varying(255) #2752 Synchronize during Event Processor initialization #2756 Duplicate initialization of TrackingEventProcessor worker threads #2751 Fix Initialization of PSEP when using Saga #2736 When registering the same Saga multiple times, only the last one is kept. #2726 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack Fix autoconfiguration not picking up SpanFactory for AxonServerQueryBus 4.7 #2695 We’d like to thank all the contributors who worked on this release! @Morlack Polymorphic Aggregate auto-configuration test enhancements #2690 AbstractRepository logs warning when aggregate is loaded to process deadline message #2669 Don’t log warn when the aggregate is handling a deadline message. #2644 Use cause from decision #2688 Also include custom aggregate names to resolve deadline handlers #2686 Deadline Handlers are not executed when created and handled within Aggregates with custom type name #2678 Spring AOT fix #2675 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @abuijze @hatzlj Include dependency upgrades with migration #2631 Replace SpringPrototypeAggregateFactory BeanDefinition introspection for direct method invocation #2637 Deprecated fallback warning with Spring 6.0.5 #2630 Fix OpenTelemetry warning #2635 We’d like to thank all the contributors who worked on this release! @smcvb @timtebeek @Morlack Add Migration module with OpenRewrite recipes for AxonFramework 4.7 #2597 Automatic migration recipes to 4.7+ #2596 [#2611] Clarify active UnitOfWork expectation in the Repository #2625 ClassCastException on @ExceptionHandler annotated Aggregate when loading Aggregate manually in an @EventHandler annotated method #2611 Add missing copyright notices and remove duplicate notices #2626 [#2620] Test correlation data population for DeadlineManager implementations #2624 SimpleDeadlineManager does not use CorrelationDataProviders #2620 Fix OpenTelemetry support - 4.7 Edition #2617 refactor: Add ASLv2 license header #2613 [#2604] Ensure given(Object…​) can be followed up by andGivenCurrentTime #2607 AggregateTestFixture.andGivenCurrentTime() should not clear fixture given state #2604 [#2555] Switch to ConcurrentHashMap in Saga related classes #2592 Make the AssociationResolver and SagaMethodMessageHandlerDefinition thread safe. #2591 Make SnapshotFilter a hard requirement #2586 SagaFixtureTests in parallel concurrent mode #2555 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack @stefanmirkovic @timtebeek Fix not calling shutdown on EmbeddedEventStore in combination with javax #2585 Axon Spring AutoConfiguration binds wrong EventStore (Jakarta/Javax) #2584 We’d like to thank all the contributors who worked on this release! @gklijs Move the check for whether the event processor is caught up before do… #2714 Make registerHandlerInterceptor lazy #2716 Adjust the JavaDoc of the EventProcessorLatencyMonitor #2704 Wait till processing is done until setting the caughtUp flag for the PooledStreamingEventProcessor. #2698 Fix autoconfiguration not picking up SpanFactory for AxonServerQueryBus 4.6 #2696 Pooled Streaming Event Processor incorrectly sets the caughtUp flag #2694 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Morlack Fix OpenTelemetry warning #2635 We’d like to thank all the contributors who worked on this release! @Morlack Fix OpenTelemetry support on queries #2621 We’d like to thank all the contributors who worked on this release! @Morlack Fix OpenTelemetry support #2612 We’d like to thank all the contributors who worked on this release! @Morlack Ensure retrieved Saga Identifiers collection is thread-safe #2595 We’d like to thank all the contributors who worked on this release! @smcvb Proposed changes to caching saga fix #2532 Allow usage of specific serializers for the JpaDLQ #2486 Ensure default TrackingEventProcessorConfiguration is taken into account for Sagas #2533 Saga Caching Enhancements #2531 Cancel of direct query #2528 [#2514] Fix naming of registered Repository and AggregateFactory beans #2525 Fix caching mechanism for Sagas #2517 Wrong Spring repository bean name when using aggregate polymorphism #2514 SpringAxonAutoConfigurer warns about multiple beans defined for polymorphic aggregates. #2512 Roll back slf4j to major version 1 #2497 DeadLetterQueue uses wrong Serializer to (de)serialize Tokens #2485 Adhere to expected Exception Handler invocation order #2483 [#2481] Check MessageHandlerRegistrar registration to be non-null #2482 NullPointerException on Shutdown without Start #2481 We’d like to thank all the contributors who worked on this release! @smcvb @Morlack @saratry [#2444] Exact class type matcher #2446 Add matcher for exact class type #2444 Update the README.md to guide users better #2470 [#2456] Replace use of unregister for deregister #2466 Prefer 'deregister' to 'unregister' #2456 [#2473] Ensure lifecycle handlers for components declared as Spring beans are invoked #2474 Axon Server event scheduler is never started #2473 Fixes recovering quartz jobs in case of sudden shutdown #2472 [#2464] Set subtypes on SpringPrototypeAggregateFactory #2469 [#2449] Adhere to Spring’s @Order annotation for Message Handling Component registration #2468 Replace IdentifierMissingException in AnnotationCommandTargetResolver for IllegalArgumentException #2465 Commands routed to the parent of polymorphic aggregates cause IncompatibleAggregateException #2464 Fixes the saga list injection bug, issue 2462. #2463 Injecting Lists in Saga no longer works #2462 [#2445] Revert default EventUpcasterChain construction in DefaultConfigurer #2459 CachingSagaStore corrupts Cache entries when using computeIfPresent #2458 [#2454] Reintroduce changes from PR #1905 #2455 Pull request 1905 is missing from master #2454 QuartzDeadlineManager does not recover from failures #2451 Spring @Order seems to be ignored for different event handler components belonging to the same event processor #2449 Fix Cache#computeIfPresent return value in CachingSagaStore #2448 Axon Spring Boot application fails to start when multiple EventUpcasterChain spring beans are defined #2445 Added Spring Resource Injector to Application Context #2441 Add test scope to mysql-connector-java dependency #2436 [#2431] Use XStreamSerializer#defaultSerializer to mitigate XStream exclusion issues #2434 Fix regression for GenericJpaRepository autoconfig #2433 JpaSagaStore cannot be used without XStream #2431 We’d like to thank all the contributors who worked on this release! @gklijs @smcvb @Blackdread @abuijze Added ConditionalOnMissingBean to AutoConfiguration #2414 Add ConditionalOnMissingBean to AxonServerActuatorAutoConfigurationis #2411 Only return unique sequence identifiers in deadLetters call of JPA DLQ #2428 autowiring command model Repository results in NoSuchBeanDefinitionException in 4.6.0 #2426 Deadlines bug #2424 [#1211] Add Cache#computeIfPresent and use in CachingSagaStore for Association Values #2423 Renamed size column name in JdbcTokenStore #2413 [#2393] Move retrieval of Command Handler to the end of the InterceptorChain #2412 JdbcTokenStore uses query that contains reserved word in oracle #2409 [#2389] Make constructors accessible in NoArgumentConstructorCreationPolicyAggregateFactory #2407 Rename index column to sequenceIndex #2401 [#2396] Deadletter logging changes #2398 Dead Letter Queue implementations can leak personal data to log #2396 CommandHandlerInterceptor annotated method in aggregate root doesn’t work when command handling entity not created #2393 [#2382] Disable batch optimization for token-based event reading #2390 Aggregates no longer allow private/protected no-arg constructors #2389 Events are not processed when optimize-event-consumption is disabled #2382 [#2367] Fix Repository beans not being registered to the Spring application context #2370 [#2364] Fix framework failing to start due to a ClassNotFoundException #2369 Fix GA for Slack release announcement #2368 Aggregate org.axonframework.modelling.command.Repository bean not available in Spring context #2367 Event storage engines cannot be used without XStream #2364 Concurrency conflicts in CachingSagaStore #1211 [#2290] TrackingEventProcessor does not wait for his worker threads to shut down #2292 TrackingEventProcessor does not wait for his worker threads to shut down #2290 Improve the concurrent behaviour of the tracking event processor. #2311 Fix a problem where when a shutdown takes places while the worklaunch… #2305 Remove update handler registration on UpdateHandlerRegistration#complete #2300 Canceled subscription query remains active if updates Flux is not subscribed, causing error on emit #2299 Fix duplicate command handler detection. #2298 TrackingEventProcessor cannot be reset immediately after shutdown in rare cases #2293 [#2289] Incorrect warning message in case of shutdown timeout #2291 Incorrect warning message in case of shutdown timeout #2289 Duplicate command handler resolver is triggered in polymorphic aggregates #2243 TrackingEventProcessors shutdown is not working correctly in 4.5.13 #2287 Snapshots are not read with snapshot filter and same serializer for events and snapshots #2286 Snapshots are not considered during loading of an Aggregate using Axon-Server-Connector #2285 Make the shutdown timeout configurable #1981 Pooled Streaming Event Processor configuration enhancement #2276 Introduce mechanism to interrupt TrackingEventProcessor worker threads #2041 Allow lifecycle phase timeout configuration #2037 Retry to initialize the token store correctly on exception for PSEP. #2277 Process events with identical TrackingToken together in the PooledStreamingEventProcessor #2275 PooledStreamingEventProcessor does not Retry if initialization fails #2274 Ensure commands and queries are processed in FIFO order #2263 Commands with same priority are not handled in the correct order #2257 Release announcement on discuss #2256 [#2242] Correctly support null-identifier and no-event scenarios from Command Handling constructors, Always, and Create-If-Missing creation policies #2248 Check attribute filter deep equals #2246 Fix Duplicate command handler resolver is triggered in polymorphic ag… #2245 Duplicate command handler resolver is triggered in polymorphic aggregates #2243 AggregateTestFixture throws AggregateNotFoundException when a command handler with a creation policy applies no events #2242 Axon’s test fixtures perform a \"deep equals\" operation, using reflection as they go. JDK17, rightfully so, does not allow that for all classes. To solve scenarios where users utilize objects from, for example, java.lang, we have introduced a distinct DeepEqualsMatcher in pull request #2210. This matcher implementation considers the situation that an InaccessibleObjectException might be thrown from Axon’s test fixtures, correctly dealing with the scenario by assuming the assertion failed. Contributor fabio-couto noticed a predicament within the PooledStreamingEventProcessor (PSEP for short) when they were facing connectivity issues with their RDBMS. In the face of these issues, the PSEP coordinator is incapable of fetching events, resulting in canceled work packages. As part of canceling, the PSEP actively tries to release token claims, which is yet another database operation. This loop of several connectivity issues causes the PSEP to enter a state it could not recover from. Pull request #2225, provided by fabio-couto, solves this predicament. A fix was introduced to the EventTypeUpcaster to solve issues further down the upcasting chain. Contributor dakr0013 noted that upcaster invoked after an EventTypeUpcaster failed because the expected intermediate event type was adjusted to Object. dakr0013 provided a pull request, which we made some adjustments in PR #2177 to accommodate additional scenarios. You can check out the release notes when you’re looking for an exhaustive list of all the changes. This release brings three adjustments worth mentioning to the framework, namely: Contributor oysteing opened issue #2154, describing that the ReplayStatus enumeration never entered the REPLAY status for a PooledStreamingEventProcessor. We resolved this finding in pull request #2168 by ensuring the TrackingToken carries the replay status as intended. The AggregateTestFixture incorrectly assumed a test succeeded in the absence of an exception when you would use the expectExceptionMessage validation step. We resolved this predicament in pull request #2127. Lastly, we further upgraded the XStream dependency for a CVE in this pull request. This time, for CVE-2021-43859. For an exhaustive list of the changes in 4.5.9, we refer to the release notes. This release brings two adjustments worth mentioning to the framework. Namely: We spotted a bug within the PooledStreamingEventProcessor (PSEP). More specifically, whenever a subset of the tokens for the PSEP existed, calculating the lower bound of a token would cause failures. We addressed this predicament in pull request #2082. We introduce an enhancement in the API of the CommandGateway. You can now directly insert MetaData whenever using the CommandGateway#send or CommandGateway#sendAndWait operations. You can verify the changes #here. This release contains a single fix. Namely, pull request #2067. This pull request solves a bug that had the PooledStreamingEventProcessor not handle new events resulting from an EventMultiUpcaster. The kudos for spotting the bug go to Magnus Heino, which started a discussion on our forum after he noticed the issue. Although Axon Framework doesn’t use the log4j-core dependency directly, we updated it to the most recent version for ease of mind. You can follow these increments in issues #2038, #2040 and #2052. Contributor jasperfect spotted a predicament with duplicate aggregate creation combined with using caches. Axon didn’t invalidate the cache as it should have, causing unexpected behavior. You can find the issue description here. Additionally, you can find the pull request solving the problem here. Contributor shubhojitr stated in issue #2051 that the axonserver-connector-java project pulled in a non-secure version of grpc-netty. As this isn’t an issue on Axon Framework itself, we solved the problem under the connector project. As a follow-up, we incremented the framework’s version for the axonserver-connector-java project to 4.5.4, which contains the most recent version of the grpc-bom. For an exhaustive list of all the changes, check out the 4.5.6 release notes. The auto-configuration we introduced for XStream used a suboptimal approach. We assumed searching for the @ComponentScan would suffice but didn’t consider that Spring enabled SpEL operations in the annotation’s properties. This approach thus caused some applications to break on start-up. As such, this approach is replaced entirely by using the outcome of the AutoConfigurationPackages#get(BeanFactory) method. For those interested in the details of the solution, check out this pull request. Kudos to contributor maverick1601 for drafting issue #1963 explaining the predicament. We introduced an optimization towards updating the TrackingToken. In (distributed) environments where the configuration states several segments per Streaming Processor, there are always threads receiving events that they’re not in charge of due to the configured SequencingPolicy. The old implementation eagerly updated the token in such scenarios, but this didn’t benefit the end-user immediately. Pull request #1999 introduce a wait period for 'event-less-batches', for both the TrackingEventProcessor and PooledStreamingEventProcessor. This adjustment minimizes the number of token updates performed by both processor implementations. The introduction of Spring Boot version 2.6.0 brought an issue to light within Axon’s Spring usage. The AbstractAnnotationHandlerBeanPostProcessor took FactoryBean instances into account when searching for message handling methods. This approach, however, is not recommended by Spring, which they enforced in their latest release. The result was circular dependency exceptions on start-up whenever somebody used Spring Boot 2.6.0. The fix was simple, though, as we should simply ignore FactoryBean instances. After spotting the issue, we resolved it in this pull request. For an exhaustive list of all the changes, check out the 4.5.5 release notes. Firstly, we updated the XStream version to 1.4.18. This upgrade was a requirement since several CVE’s were noted for XStream version 1.4.17. As a consequence of XStream’s solution imposed through the CVE’s, everybody is required to specify the security context of an XStream instance. This change also has an impact on Axon Framework since the XStreamSerializer is the default serializer. So as of this release, any usages of the default XStreamSerializer will come with warnings, stating it is highly recommended to use an XStream instance for which the security context is set through types or wildcards. When your application uses Spring Boot, Axon will default to selecting the secured types based on your @ComponentScan annotated beans (for example, like the @SpringBootApplication annotation). For those interested in the details of the solution, check out this pull request. User 'nils-christian' noted in issue #1892 that Axon executed Upcaster beans in a Spring environment in the incorrect order. This ordering issue was due to a misconception in deducing the @Order annotation on upcaster beans. We resolved the problem in pull request #1895. We noticed a TokenStore operation that Axon did not invoke within a transaction. In most scenarios, this worked out, but when using Micronaut, for example, this (correctly) caused an exception. After spotting the issue, we resolved it in this pull request. For an exhaustive list of all the changes, check out the 4.5.4 release notes. One new feature has been introduced in 4.5.3: the PropertySequencingPolicy by contributor nils-christian. This sequencing policy can be configured to look for a common property in the events. The version of the axonserver-connector-java has been updated to 4.5.2. This update resolves a troublesome issue around permit updates for subscription queries, which exhausted the number of queries an application could have running. For those curious about the solution, pull request 85 addresses this issue. The WorkerLauncher runnable, used by the TrackingEventProcessor to start its threads, was not considered when you shut down a tracking processor. As a consequence, it could start new segment operations while shutdown already completed \"successfully.\" Pull request 1866 resolves this problem, ensuring a tracking processor shuts down as intended. Issue 1853 describes an issue where the creation policy always. Exceptions thrown from within a command handler annotated with @CreationPolicy(ALWAYS) weren’t correctly propagated. Pull request 1854 solves this issue. For an exhaustive list of all the changes, check out the 4.5.3 release notes. Added a missing isReplaying flag on the StreamingEventProcessor. Pull request #1821 reintroduces this functionality in this release. Some enhancements in regards to logging Exceptions and stacktraces when initialization fails. This commit reintroduces this functionality in this release. Improved Axon Framework (AxonServerEventStore) which will now rethrown Exceptions that has a valid Status.Code. Pull request #1842 reintroduces this functionality in this release. General improvements on the PooledStreamingEventProcessor made across several Pull Requests. For a detailed perspective on the release notes, please check this page. Some internals have changed concerning command handling exceptions. Within a single JVM, Axon Framework knows whether the exception is transient or not. This piece of information allows the RetryScheduler to retry a non-transient exception since those are retryable. With the move towards distributed environments, the information whether an exception is transient was lost when we moved to the dedicated CommandHandlingException containing a details object. Pull request #1742 reintroduces this functionality in this release. The new RevisionSnapshotFilter introduced in release 4.5 sneaked in a bug by not validating the aggregate type upon filtering. Pull request #1771 describes and solves the problem by introducing the aggregate type to the RevisionSnapshotFilter. By enabling the CreationPolicy for the DisruptorCommandBus, a timing issue was introduced with handling events. Contributor \"junkdog\" marked the problem in issue #1778, after which pull request #1792 solved it. Contributor \"michaelbub\" noted in issue #1786 that resetting a StreamingEventProcessor to a point in the future reacted differently when no token was stored yet. This followed from the implementation of the ReplayToken, which wrongfully assumed that if the given 'token at reset' was null, the start position should be null too. However, the start position might be the future, and hence it should be used in favor of null. This issue is addressed under this pull request. For a detailed perspective on the release notes, please check this page. Release 4.4.9 of Axon Framework has incremented all used dependencies towards their latest bug release. This has done to resolve potentially security issues, as was reported with XStream 1.4.14 (that was resolved in 1.4.16). For those looking for the set of adjustments please take a look at tag 4.4.9 A bug was noted whenever a query handler returned a Future/CompletableFuture in combination with a subscription query, with Axon Server as the infrastructure. In this format, Axon would incorrectly use the scatter-gather query for the initial result of the subscription query. Whenever the returned result was completed, this didn’t cause any issues. However, for a Future/CompletableFuture a TimeoutException would be thrown. The issue was luckily easily mitigated by changing the \"number of expected results\" from within the QueryRequest to default to 1 instead of zero. As an effect, the point-to-point would be invoked instead of scatter-gather. For reference, the issue can be found here. Whenever an interface is used as the type of an @AggregateMember annotated field, Axon would throw a NullPointerException. This is far from friendly, and has been changed towards an AxonConfigurationException in pull request #1742. Note that the named issues comprise the complete changelist for Axon Framework 4.4.8. The Axon Server Connector Java version 4.4.7 has been included in this release as well. As such, it’s fixes (found here) are thus also part of this release. Contributor \"krosenvold\" noticed that the SQL to retrieve a stream of events was performed twice in quick concession. The provided solution (in pull request #1689) would resolve this, but the problem was spotted to originate elsewhere. Commit 16b7152 saw an end to this occurrence by making a minor tweak in the EmbeddedEventStore. As rightfully noticed by user \"pepperbob\", there was a type discrepancy when reading events through a tracking token. An event would always become a DomainEventMessage when read through the EventStorageEngine, whereas it might originally have been a regular EventMessage. The problem has been fixed in commit c61a95b. Furthermore, the entire description of the issue can be found here. Through the use of the AxonServerQueryBus, a cancelled subscription query was wrongfully completed normally where it should complete exceptionally. This problem is marked and resolved under pull request #1695. For a detailed perspective on the release notes, please check this page. Contributor \"Rafaesp\" noted that a registered CommandHandlerInterceptor in the AggregateTestFixture could be invoked more often than desired. This only occurred if the fixture’s givenCommands(…​) method was invoked, but nonetheless this behaviour was incorrect. The issue is marked under #1665 and resolved in pull request #1666. In 4.4.4, a fix was introduced which ensured a ChildEntity (read, the Aggregate Members) was no longer duplicated in an aggregate hierarchy. This fix had the troublesome side effect that aggregate member command handlers weren’t registered on every level of the aggregate hierarchy anymore. The resolution to this problem can be found in pull request #1674. Using the subscription query in a distributed environment had a possible troublesome side effect. If a consumer of updates was closed for whatever reason, it could also close the producing side. This is obviously undesired, as no single consumer should influence if the producer should still dispatch updates to other consumers. The problem was marked under issue #1680 and resolved in this commit. Right before we aimed to release 4.4.6, contributor \"haraldk\" provided a thorough issue description when using the SequenceEventStorageEngine. He noted that if snapshots were used for an aggregate, there was a window of opportunity that the 'active' EventStorageEngine in the sequencing engine did not return any events. This followed from the sequence number logic, which wrongfully defaulted to position \"0\", even though the starting sequence number is per definition higher if a snapshot has been found. The clarifying issue can be found here, with its resolution present in pull request #1683. For a complete overview of all the changes you can check the release notes here. When creating a TrackingToken at a certain position through StreamableMessageSource#createTokenAt(Instant), a tail token was wrongfully returned if the provided timestamp exceeded the timestamp of the last event. Instead, the token closests to the provided timestamp should be returned, was equals the head token. This discrepancy between documentation and implementation was marked by mbreevoort and resolved in pull request #1607. A certain path within the AxonServerEventStore allowed for event retrieval without correctly deserializing the MetaData of the events. If someone tried to access the MetaData, a CannotConvertBetweenTypesException was being thrown. This problem, among others, was remedied in pull request #1612, by ensuring the correct Serializer taking gRPC message types into account is consistently used. For a complete set of the release notes, please check here. There was a bug which made it so that an @ResetHandler annotated method without any parameters was included for validation if a component could handle a specific type of event. This exact validation is used to filter out events from the event stream to optimize the entire stream. The optimization was thus mitigated by the simple fact of introducing a default @ResetHandler. The problem was marked by @kad-hesseg (for which thanks) and resolved in pull request #1597. A new SnapshotTriggerDefinition called AggregateLoadTimeSnapShotTriggerDefinition has been introduced, which uses the load time of an aggregate to trigger a snapshot creation. When using an aggregate class hierarchy, @AggregateMember annotated fields present on the root would be duplicated for every class in the hierarchy which included message handling functions. This problem was traced back to the AnnotatedAggregateMetaModelFactory.AnnotatedAggregateModel which looped over an inconsistent set of classes to find these members. The issue was marked by @kad-malota and resolved in pull request #1595. For a complete set of the release notes, please check here. An optimization in the snapshotting process was introduced in pull request #1510. This PR ensures no unnecessary snapshots are staged in the AbstractSnapshotter by validating none have been scheduled yet. This fix will resolve potential high I.O. when snapshots are being recreated for aggregates which have a high number of events. The assignment rules used by the EventProcessingConfigurer weren’t always taken into account as desired. This inconsistency compared to regular assignment through the @ProcessingGroup annotation has been resolved in this pull request. Heartbeat messages between Axon Server and an Axon Framework application were already configurable, but only from the server’s side. Properties have been introduced to also enables this from the clients end, as specified further in this pull request. Enabling heartbeat messages will ensure the connection is preemptively closed if no response has been received in the configured time frame. To check out all fixes introduced in 4.4.3, you can check them out on this page. A persistent loop of 500 ms was spotted during event consumption from Axon Server. Credits go to Damir Murat who has spotted the issue. With his help the issue was found quickly and eventually resolved in pull request #1484. A serialization issue was found when working with the ConfigToken and de-/serialize it through the JacksonSerializer. This problem was uncovered in issue #1482 and resolved in pull request #1485. The introduction of the AxonServer Connector for Java to simplify the framework’s integration with Axon Server introduced some configuration issues. For example, the AxonServerConfiguration#isForceReadFromLeader wasn’t used when opening an event stream (resolved in PR #1488). Furthermore, properties like the max-message-size, gRPC keep alive settings and processorNotificationRate weren’t used when forming a connection with Axon Server. This issue was covered by pull request #1487. This page shares a complete list of all resolved issues for this release. A single fix was performed as soon as possible to release 4.4, in conjunction with the new Axon Server Connector used by this release. There was an off by one scenario when an Event Processor started reading events from the beginning of time. This meant that the first event in the event store was systematically skipped. The bug was resolved in this commit. The TrackingEventProcessor#mergeSegment(int) method was invoked with the high segment number of the pair to merge, an error would occur in the process as it expected to receive the lower number on all scenarios. This was resolved in pull request #1450. A small connectivity adjustment which was performed in the AxonServerConnectionManager for bug release 4.3.4 has been reverted. Although it worked successfully for some scenarios, it did not correctly cover all possibilities. The commit can be found here for reference. The full scenario will be covered through the adjusted connector which is underway for beta release in 4.4. For a complete list of all resolved bugs we refer to the issue tracker. Whilst adjusting the JdbcEventStorageEngine in #1187 to allow more flexibility to configure the used statements, we accidentally dropped support for adjusting how the store wrote timestamps. This issue was rectified by user ovstetun in pull request #1454. Snapshots were incorrectly created in the same phase as the publication of events. This has been moved to the after commit phase of the UnitOfWork in issue #1457. When using the SequenceEventStorageEngine to merge an active and historic event stream there was a discrepancy when the active stream didn’t contain any events and the historic stream did. This has been resolved in pull request #1459. For a complete list of all resolved bugs we refer to the issue tracker. This bug release contained a single fix, under pull request #1425. A situation was reported where a Tracking Event Processor did not catch up with the last event, until a new event was available after that event. Effectively causing it to read up to N-1. This only accounted for usages of the MultiStreamableMessageSource, thus when two (or more) event streams were combined into a single source for a TrackingEventProcessor. To remain complete, here is the issue tracker page contained the closed issues for release 4.3.3. When using the QueryGateway, it was not possible to provide a QueryMessage as the query field since the queryName would be derived from the class name of the provided query. Hence, QueryMessage would be the queryName, instead of the actual queryName. This issue has been resolved in #1410. There was a window of opportunity where the Snapshotter would publish the last event in its stream twice. This could cause faulty snapshots in some scenarios. This issue was marked under #1408 and resolved in pull request #1416. The bi-directional stream created by the Axon Server Connector wasn’t always closed correctly; specifically in error cases. This problem has been resolved in pull request 1397. For a complete list of all resolved bugs we refer to the issue tracker. Through the new Create-or-Update feature a bug was introduced which didn’t allow non-String aggregate identifiers. This problem was quickly resolved in #1363, allowing the usage of \"complex\" aggregate identifiers once more. The graceful shutdown process introduced in 4.3 had a couple of minor problems. One of which was the shutdown order within the AxonServerCommandBus and AxonServerQueryBus, which basically made it so that the approach prior to 4.3 was maintained. We also noticed that the AxonServerConnectionManager never shutdown nicely. All of these, plus some other minor fixes, have been performed in #1372. The AggregateCreationPolicy#ALWAYS did not behave as expected, resulting in faulty behaviour when used. Pull request #1371 saw an end to this problem, ensuring the desired usage of all newly introduced creation policies. For a complete list of all resolved bugs we refer to the issue tracker. In a distributed setup, the DisruptorCommandBus was not always correctly identified as being the local segment. Due to this, aggregate repositories weren’t created by the DisruptorCommandBus as is required in such a configuration. This was marked in #874 and resolved through #1287. As described in #1274, a query handler with return type Future was not being returned at all but threw an exception. Pull request #1323 solved that in 4.2.2. An issue was solved where the JdbcAutoConfiguration unintentionally depended on a JPA specific class. For a complete list of all resolved bugs we refer to the issue tracker. A one-to-many Upcaster instance tied to Axon Server would only use the first event result and ignore the rest. This issue has been resolved in pull request #1264. The axon-legacy module’s GapAwareTrackingToken did not implement the TrackingToken interface. This was marked in issue #1230 and resolved in #1231. The builders of the ExponentialBackOffIntervalRetryScheduler and IntervalRetryScheduler previously did not implement the validate() method correctly. Through this a NullPointerException could occur on start-up, as marked in #1293. For a complete list of all resolved bugs we refer to the issue tracker. A dependency on XStream was enforced undesirably through the Builder pattern introduced in 4.0. This has been resolved by using a Supplier of a Serializer in the Builders instead, as described under this issue. Due to a hierarchy issue in the Spring Boot auto configuration, the JdbcTokenStore was not always used as expected. The ordering has been fixed under issue #1077. The ordering of message handling functions was incorrect according to the documentation. Classes take precedence over interface, and the depth of interface hierarchy is calculated based on the inheritance level (as described here). For a complete list of all resolved bugs we refer to the issue tracker. Query Dispatch Interceptors were not called correctly when a subscription query was performed when Axon Server was used as the QueryBus. This issue was marked here and resolved in pull request #1042. When Axon Server was (auto) configured without being able to connect to an actual instance, processing instructions were incorrectly dispatched regardless. Pull request #1040 resolves this by making sure an active connection is present. The Spring Boot auto configuration did not allow the exclusion of the axon-server-connector dependency due to a direct dependency on classes. This has been resolved by expecting fully qualified class names as Strings instead (resolved under this pull request). The JpaEventStorageEngine was not wrapping the appendEvents operation in a transaction. Problem has been resolved under issue #1035. For a complete list of all resolved bugs we refer to the issue tracker. Deserialization failures were accidentally swallowed by the command and query gateway (marked under #967). Resolved an issue where custom exception in a Command Handling constructor caused NullPointerExceptions. For a complete list of all resolved bugs we refer to the issue tracker. The SimpleQueryBus reported exceptions on the initial result incorrectly upon performing a subscription query. Issue has been described and resolved under #913. Resolved issue where the the \"download Axon Server\" message was shown upon a reconnect of an application to a Axon Server node. Large global index gaps between events caused issues when querying the event stream (described here). Fixed inconsistency in the GlobalSequenceTrackingToken#covers(TrackingToken) method. For a complete list of all resolved bugs we refer to the issue tracker. A timeout was thrown instead of a exception by Axon Server when a duplicate aggregate id was created, which is resolved in #903. Command or Query handling exceptions were not properly serialized through Axon Server (resolved in #904). For a complete list of all resolved bugs we refer to the issue tracker. Resolved QueryUpdateEmitter configuration for the Axon Server connector set up (see issue here). For migration purposes legacy TrackingTokens should have been added, which is resolved here. Event Processing was stopped after a reconnection with Axon Server. Resolve the problem in issue #883. For a complete list of all resolved bugs we refer to the issue tracker.","title":"Minor Releases","component":"axon-framework-reference","version":"development","name":"minor-releases","url":"/axon-framework-reference/development/release-notes/minor-releases/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1},{"text":"Release 4.10.3","hash":"_release_4_10_3","id":2},{"text":"Enhancements","hash":"_enhancements","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5},{"text":"Release 4.10.2","hash":"_release_4_10_2","id":6},{"text":"Features","hash":"_features","id":7},{"text":"Enhancements","hash":"_enhancements_2","id":8},{"text":"Bug fixes","hash":"_bug_fixes_2","id":9},{"text":"Contributors","hash":"_contributors_2","id":10},{"text":"Release 4.10.1","hash":"_release_4_10_1","id":11},{"text":"Enhancements","hash":"_enhancements_3","id":12},{"text":"Bug fixes","hash":"_bug_fixes_3","id":13},{"text":"Contributors","hash":"_contributors_3","id":14},{"text":"Release 4.9","hash":"_release_4_9","id":15},{"text":"Release 4.9.3","hash":"_release_4_9_3","id":16},{"text":"Enhancements","hash":"_enhancements_4","id":17},{"text":"Bug fixes","hash":"_bug_fixes_4","id":18},{"text":"Contributors","hash":"_contributors_4","id":19},{"text":"Release 4.9.2","hash":"_release_4_9_2","id":20},{"text":"Bug fixes","hash":"_bug_fixes_5","id":21},{"text":"Contributors","hash":"_contributors_5","id":22},{"text":"Release 4.9.1","hash":"_release_4_9_1","id":23},{"text":"Enhancements","hash":"_enhancements_5","id":24},{"text":"Bug fixes","hash":"_bug_fixes_6","id":25},{"text":"Dependency upgrade","hash":"_dependency_upgrade","id":26},{"text":"Contributors","hash":"_contributors_6","id":27},{"text":"Release 4.8","hash":"_release_4_8","id":28},{"text":"Release 4.8.3","hash":"_release_4_8_3","id":29},{"text":"Enhancements","hash":"_enhancements_6","id":30},{"text":"Bug fixes","hash":"_bug_fixes_7","id":31},{"text":"Contributors","hash":"_contributors_7","id":32},{"text":"Release 4.8.2","hash":"_release_4_8_2","id":33},{"text":"Enhancements","hash":"_enhancements_7","id":34},{"text":"Bug fixes","hash":"_bug_fixes_8","id":35},{"text":"Contributors","hash":"_contributors_8","id":36},{"text":"Release 4.8.1","hash":"_release_4_8_1","id":37},{"text":"Enhancements","hash":"_enhancements_8","id":38},{"text":"Bug fixes","hash":"_bug_fixes_9","id":39},{"text":"Contributors","hash":"_contributors_9","id":40},{"text":"Release 4.7","hash":"_release_4_7","id":41},{"text":"Release 4.7.6","hash":"_release_4_7_6","id":42},{"text":"Enhancements","hash":"_enhancements_9","id":43},{"text":"Bug fixes","hash":"_bug_fixes_10","id":44},{"text":"Contributors","hash":"_contributors_10","id":45},{"text":"Release 4.7.5","hash":"_release_4_7_5","id":46},{"text":"Bug fixes","hash":"_bug_fixes_11","id":47},{"text":"Contributors","hash":"_contributors_11","id":48},{"text":"Release 4.7.4","hash":"_release_4_7_4","id":49},{"text":"Enhancements","hash":"_enhancements_10","id":50},{"text":"Bug fixes","hash":"_bug_fixes_12","id":51},{"text":"Contributors","hash":"_contributors_12","id":52},{"text":"Release 4.7.3","hash":"_release_4_7_3","id":53},{"text":"Enhancements","hash":"_enhancements_11","id":54},{"text":"Bug fixes","hash":"_bug_fixes_13","id":55},{"text":"Contributors","hash":"_contributors_13","id":56},{"text":"Release 4.7.2","hash":"_release_4_7_2","id":57},{"text":"Features","hash":"_features_2","id":58},{"text":"Enhancements","hash":"_enhancements_12","id":59},{"text":"Bug fixes","hash":"_bug_fixes_14","id":60},{"text":"Contributors","hash":"_contributors_14","id":61},{"text":"Release 4.7.1","hash":"_release_4_7_1","id":62},{"text":"Bug fixes","hash":"_bug_fixes_15","id":63},{"text":"Contributors","hash":"_contributors_15","id":64},{"text":"Release 4.6","hash":"_release_4_6","id":65},{"text":"Release 4.6.8","hash":"_release_4_6_8","id":66},{"text":"Enhancements","hash":"_enhancements_13","id":67},{"text":"Bug fixes","hash":"_bug_fixes_16","id":68},{"text":"Contributors","hash":"_contributors_16","id":69},{"text":"Release 4.6.7","hash":"_release_4_6_7","id":70},{"text":"Bug fixes","hash":"_bug_fixes_17","id":71},{"text":"Contributors","hash":"_contributors_17","id":72},{"text":"Release 4.6.6","hash":"_release_4_6_6","id":73},{"text":"Bug fixes","hash":"_bug_fixes_18","id":74},{"text":"Contributors","hash":"_contributors_18","id":75},{"text":"Release 4.6.5","hash":"_release_4_6_5","id":76},{"text":"Bug fixes","hash":"_bug_fixes_19","id":77},{"text":"Contributors","hash":"_contributors_19","id":78},{"text":"Release 4.6.4","hash":"_release_4_6_4","id":79},{"text":"Bug fixes","hash":"_bug_fixes_20","id":80},{"text":"Contributors","hash":"_contributors_20","id":81},{"text":"Release 4.6.3","hash":"_release_4_6_3","id":82},{"text":"Enhancements","hash":"_enhancements_14","id":83},{"text":"Bug fixes","hash":"_bug_fixes_21","id":84},{"text":"Contributors","hash":"_contributors_21","id":85},{"text":"Release 4.6.2","hash":"_release_4_6_2","id":86},{"text":"Features","hash":"_features_3","id":87},{"text":"Enhancements","hash":"_enhancements_15","id":88},{"text":"Bug fixes","hash":"_bug_fixes_22","id":89},{"text":"Contributors","hash":"_contributors_22","id":90},{"text":"Release 4.6.1","hash":"_release_4_6_1","id":91},{"text":"Enhancements","hash":"_enhancements_16","id":92},{"text":"Bug fixes","hash":"_bug_fixes_23","id":93},{"text":"Release 4.5","hash":"_release_4_5","id":94},{"text":"Release 4.5.15","hash":"_release_4_5_15","id":95},{"text":"Enhancements","hash":"_enhancements_17","id":96},{"text":"Bug fixes","hash":"_bug_fixes_24","id":97},{"text":"Release 4.5.14","hash":"_release_4_5_14","id":98},{"text":"Bug fixes","hash":"_bug_fixes_25","id":99},{"text":"Release 4.5.13","hash":"_release_4_5_13","id":100},{"text":"Features","hash":"_features_4","id":101},{"text":"Enhancements","hash":"_enhancements_18","id":102},{"text":"Bug fixes","hash":"_bug_fixes_26","id":103},{"text":"Release 4.5.12","hash":"_release_4_5_12","id":104},{"text":"Bug fixes","hash":"_bug_fixes_27","id":105},{"text":"Release 4.5.11","hash":"_release_4_5_11","id":106},{"text":"Enhancements","hash":"_enhancements_19","id":107},{"text":"Bug fixes","hash":"_bug_fixes_28","id":108},{"text":"Release 4.5.10","hash":"_release_4_5_10","id":109},{"text":"Release 4.5.9","hash":"_release_4_5_9","id":110},{"text":"Release 4.5.8","hash":"_release_4_5_8","id":111},{"text":"Release 4.5.7","hash":"_release_4_5_7","id":112},{"text":"Release 4.5.6","hash":"_release_4_5_6","id":113},{"text":"Release 4.5.5","hash":"_release_4_5_5","id":114},{"text":"Release 4.5.4","hash":"_release_4_5_4","id":115},{"text":"Release 4.5.3","hash":"_release_4_5_3","id":116},{"text":"Release 4.5.2","hash":"_release_4_5_2","id":117},{"text":"Release 4.5.1","hash":"_release_4_5_1","id":118},{"text":"Release 4.4","hash":"_release_4_4","id":119},{"text":"Release 4.4.9","hash":"_release_4_4_9","id":120},{"text":"Release 4.4.8","hash":"_release_4_4_8","id":121},{"text":"Release 4.4.7","hash":"_release_4_4_7","id":122},{"text":"Release 4.4.6","hash":"_release_4_4_6","id":123},{"text":"Release 4.4.5","hash":"_release_4_4_5","id":124},{"text":"Release 4.4.4","hash":"_release_4_4_4","id":125},{"text":"Release 4.4.3","hash":"_release_4_4_3","id":126},{"text":"Release 4.4.2","hash":"_release_4_4_2","id":127},{"text":"Release 4.4.1","hash":"_release_4_4_1","id":128},{"text":"Release 4.3","hash":"_release_4_3","id":129},{"text":"Release 4.3.5","hash":"_release_4_3_5","id":130},{"text":"Release 4.3.4","hash":"_release_4_3_4","id":131},{"text":"Release 4.3.3","hash":"_release_4_3_3","id":132},{"text":"Release 4.3.2","hash":"_release_4_3_2","id":133},{"text":"Release 4.3.1","hash":"_release_4_3_1","id":134},{"text":"Release 4.2","hash":"_release_4_2","id":135},{"text":"Release 4.2.2","hash":"_release_4_2_2","id":136},{"text":"Release 4.2.1","hash":"_release_4_2_1","id":137},{"text":"Release 4.1","hash":"_release_4_1","id":138},{"text":"Release 4.1.2","hash":"_release_4_1_2","id":139},{"text":"Release 4.1.1","hash":"_release_4_1_1","id":140},{"text":"Release 4.0","hash":"_release_4_0","id":141},{"text":"Release 4.0.4","hash":"_release_4_0_4","id":142},{"text":"Release 4.0.3","hash":"_release_4_0_3","id":143},{"text":"Release 4.0.2","hash":"_release_4_0_2","id":144},{"text":"Release 4.0.1","hash":"_release_4_0_1","id":145}]},"68":{"id":68,"text":"When a saga manages a transaction across multiple domain concepts, such as Order, Shipment, Invoice, etc, that saga needs to be associated with instances of those concepts. An association requires two parameters: the key, which identifies the type of association (Order, Shipment, etc) and a value, which represents the identifier of that concept. Associating a saga with a concept is done in several ways. First, when a Saga is newly created when invoking a @StartSaga annotated event handler, it is automatically associated with the property identified in the @SagaEventHandler method. Any other association can be created using the SagaLifecycle.associateWith(String key, String/Number value) method. Use the SagaLifecycle.removeAssociationWith(String key, String/Number value) method to remove a specific association. If you would like to know the associations of the Saga at a certain point you can get all associated values using SagaLifecycle.associationValues(). Note The API to associate domain concepts within a Saga intentionally only allows a String or a Number as the identifying value, since a String representation of the identifier is required for the association value entry which is stored. Using simple identifier values in the API with a straightforward String representation is by design, as a String column entry in the database makes the comparison between database engines simpler. It is intentional that there is no associateWith(String, Object) for example, as the result of an Object#toString() call might provide unwieldy identifiers. Imagine a saga that has been created for a transaction around an Order. The saga is automatically associated with the Order, as the method is annotated with @StartSaga. The saga is responsible for creating an Invoice for that Order, and tell Shipping to create a Shipment for it. Once both the Shipment has arrived and the Invoice has been paid, the transaction is completed and the saga is closed. Here is the code for such a Saga if you use the Spring Boot AutoConfiguration: @Saga public class OrderManagementSaga { private boolean paid = false; private boolean delivered = false; @Inject private transient CommandGateway commandGateway; @StartSaga @SagaEventHandler(associationProperty = \"orderId\") public void handle(OrderCreatedEvent event) { // client generated identifiers ShippingId shipmentId = createShipmentId(); InvoiceId invoiceId = createInvoiceId(); // associate the Saga with these values, before sending the commands SagaLifecycle.associateWith(\"shipmentId\", shipmentId); SagaLifecycle.associateWith(\"invoiceId\", invoiceId); // send the commands commandGateway.send(new PrepareShippingCommand(...)); commandGateway.send(new CreateInvoiceCommand(...)); } @SagaEventHandler(associationProperty = \"shipmentId\") public void handle(ShippingArrivedEvent event) { delivered = true; if (paid) { SagaLifecycle.end(); } } @SagaEventHandler(associationProperty = \"invoiceId\") public void handle(InvoicePaidEvent event) { paid = true; if (delivered) { SagaLifecycle.end(); } } // ... } And here is the same code for when you use the Axon Configuration API: public class OrderManagementSaga { private boolean paid = false; private boolean delivered = false; @Inject private transient CommandGateway commandGateway; @StartSaga @SagaEventHandler(associationProperty = \"orderId\") public void handle(OrderCreatedEvent event) { // client generated identifiers ShippingId shipmentId = createShipmentId(); InvoiceId invoiceId = createInvoiceId(); // associate the Saga with these values, before sending the commands SagaLifecycle.associateWith(\"shipmentId\", shipmentId); SagaLifecycle.associateWith(\"invoiceId\", invoiceId); // send the commands commandGateway.send(new PrepareShippingCommand(...)); commandGateway.send(new CreateInvoiceCommand(...)); } @SagaEventHandler(associationProperty = \"shipmentId\") public void handle(ShippingArrivedEvent event) { delivered = true; if (paid) { SagaLifecycle.end(); } } @SagaEventHandler(associationProperty = \"invoiceId\") public void handle(InvoicePaidEvent event) { paid = true; if (delivered) { SagaLifecycle.end(); } } // ... } By allowing clients to generate an identifier, a saga can be easily associated with a concept, without the need for a request-response type command. We associate the event with these concepts before publishing the command. This way, we are guaranteed to also catch events generated as part of this command. This will end the saga once the invoice is paid and the shipment has arrived.","title":"Associations","component":"axon-framework-reference","version":"development","name":"associations","url":"/axon-framework-reference/development/sagas/associations/","titles":[]},"69":{"id":69,"text":"A Saga is a special type of event listener: one that manages a business transaction. Some transactions could be running for days or even weeks, while others are completed within a few milliseconds. In Axon, each instance of a Saga is responsible for managing a single business transaction. That means a Saga maintains state necessary to manage that transaction, continuing it or taking compensating actions to roll back any actions already taken. Typically, and contrary to regular event listeners, a saga has a starting point and an end, both triggered by events. While the starting point of a saga is usually clear, there could be many ways for a saga to end. In Axon, sagas are classes that define one or more @SagaEventHandler methods. Unlike regular event handlers, multiple instances of a saga may exist at any time. Sagas are managed by a single event processor (Tracking or Subscribing), which is dedicated to dealing with events for that specific saga type. A single Saga instance is responsible for managing a single transaction. That means you need to be able to indicate the start and end of a saga’s life cycle. In a saga, event handlers are annotated with @SagaEventHandler. If a specific event signifies the start of a transaction, add another annotation to that same method: @StartSaga. This annotation will create a new saga and invoke its event handler method when a matching event is published. By default, a new saga is only started if no suitable existing saga (of the same type) can be found. You can also force the creation of a new saga instance by setting the forceNew property on the @StartSaga annotation to true. Ending a saga can be done in two ways. If a certain event always indicates the end of a saga its life cycle, annotate that event handler on the saga with @EndSaga. The saga its life cycle will be ended after the invocation of the handler. Alternatively, you can call SagaLifecycle.end() from inside the saga to end the life cycle. This allows you to conditionally end the saga. Event handling in a saga is quite comparable to that of a regular event listener. The same rules for method and parameter resolution are valid here. There is one major difference, though. While there is a single instance of an event listener that deals with all incoming events, multiple instances of a saga may exist, each interested in different events. For example, a saga that manages a transaction around an Order with Id \"1\" will not be interested in events regarding Order \"2\", and vice versa. Instead of publishing all events to all saga instances (which would be a complete waste of resources), Axon will only publish events containing properties that the saga has been associated with. This is done using AssociationValue`s. An `AssociationValue consists of a key and a value. The key represents the type of identifier used, for example \"orderId\" or \"order\". The value represents the corresponding value, \"1\" or \"2\" in the previous example. The order in which @SagaEventHandler annotated methods are evaluated is identical to that of @EventHandler methods (see Annotated event handler). A method matches if the parameters of the handler method match the incoming event, and if the saga has an association with the property defined on the handler method. The @SagaEventHandler annotation has two attributes, of which associationProperty is the most important one. This is the name of the property on the incoming event that should be used to find associated sagas. The key of the association value is the name of the property. The value is the value returned by property its getter method. For example, consider an incoming Event with a method String getOrderId(), which returns \"123\". If a method accepting this event is annotated with @SagaEventHandler(associationProperty=\"orderId\"), this Event is routed to all Sagas that have been associated with an AssociationValue with key \"orderId\" and value \"123\". This may either be exactly one, more than one, or even none at all. Sometimes, the name of the property you want to associate with is not the name of the association you want to use. For example, you have a Saga that matches \"Sell orders\" against \"Buy orders\", you could have a transaction object that contains the \"buyOrderId\" and a \"sellOrderId\". If you want the saga to associate the \"sellOrderId\" value as \"orderId\", you can define a different keyName in the @SagaEventHandler annotation. It would then become @SagaEventHandler(associationProperty=\"sellOrderId\", keyName=\"orderId\") Sagas generally do more than just maintaining state based on events. They interact with external components. To do so, they need access to the resources necessary to address to components. Usually, these resources aren’t really part of the saga and its state and these resources should not be persisted as such. However, once a saga is reconstructed, these resources must be injected before an event is routed to that instance. For that purpose, there is the ResourceInjector. It is used by the SagaRepository to inject resources into a saga. Axon provides a SpringResourceInjector, which injects annotated fields and methods with resources from the Application Context. Axon also provides a SimpleResourceInjector, which injects resources that have been registered with it into @Inject annotated methods and fields. Tip Since resources should not be persisted with the saga, make sure to add the transient keyword to those fields. This will prevent the serialization mechanism to attempt to write the contents of these fields to the repository. The repository will automatically re-inject the required resources after a saga has been deserialized. The SimpleResourceInjector allows for a pre-specified collection of resources to be injected. It scans the (setter) methods and fields of a Saga to find ones that are annotated with @Inject. When using the Configuration API, Axon will default to the ConfigurationResourceInjector. It will inject any resource available in the configuration. Components like the EventBus, EventStore, CommandBus and CommandGateway are available by default. You can also register your own components using configurer.registerComponent(). The SpringResourceInjector uses Spring’s dependency injection mechanism to inject resources into a Saga. This means you can use setter injection or direct field injection if you require. The method or field to be injected needs to be annotated in order for Spring to recognize it as a dependency, for example with @Autowired. Events need to be redirected to the appropriate saga instances. To do so, some infrastructure classes are required. The most important components are the SagaManager and the SagaRepository. Like any component that handles events, the processing is done by an Event Processor. However, Sagas are not singleton instances handling events. They have individual life cycles that need to be managed. Axon supports life cycle management through the AnnotatedSagaManager, which is provided to an Event Processor to perform the actual invocation of handlers. It is initialized using the type of the Saga to manage, as well as a SagaRepository where Sagas of that type can be stored and retrieved. A single AnnotatedSagaManager can only manage a single Saga type. The SagaRepository is responsible for storing and retrieving sagas, for use by the SagaManager. It is capable of retrieving specific saga instances by their identifier as well as by their association values. There are some special requirements, however. Since concurrency handling in sagas is a delicate procedure, the repository must ensure that for each conceptual saga instance (with an equal identifier) only a single instance exists in the JVM. Axon provides the AnnotatedSagaRepository implementation, which allows the lookup of saga instances while guaranteeing that only a single instance of the saga may be accessed at the same time. It uses a SagaStore to perform the actual persistence of saga instances. The choice for the implementation to use depends mainly on the storage engine used by the application. Axon provides the JdbcSagaStore, InMemorySagaStore, JpaSagaStore and MongoSagaStore. In some cases, applications benefit from caching saga instances. In that case, there is a CachingSagaStore which wraps another implementation to add caching behavior. Note that the CachingSagaStore is a write-through cache, which means save operations are always immediately forwarded to the backing Store, to ensure data safety. The JpaSagaStore uses JPA to store the state and association values of sagas. Sagas themselves do not need any JPA annotations; Axon will serialize the sagas using a Serializer (similar to event serialization, you can choose between an XStreamSerializer or JacksonSerializer, which can be set by configuring the default Serializer in your application. For more details, see Serializers. The JpaSagaStore is configured with an EntityManagerProvider, which provides access to an EntityManager instance to use. This abstraction allows for the use of both application managed and container managed EntityManager`s. Optionally, you can define the serializer to serialize the Saga instances with. Axon defaults to the `XStreamSerializer. The JdbcSagaStore uses plain JDBC to store stage instances and their association values. Similar to the JpaSagaStore, saga instances do not need to be aware of how they are stored. They are serialized using a serializer. The JdbcSagaStore is initialized with either a DataSource or a ConnectionProvider. While not required, when initializing with a ConnectionProvider, it is recommended to wrap the implementation in a UnitOfWorkAwareConnectionProviderWrapper. It will check the current Unit of Work for an already open database connection, to ensure that all activity within a unit of work is done on a single connection. Unlike JPA, the JdbcSagaRepository uses plain SQL statements to store and retrieve information. This may mean that some operations depend on the database specific SQL dialect. It may also be the case that certain database vendors provide non-standard features that you would like to use. To allow for this, you can provide your own SagaSqlSchema. The SagaSqlSchema is an interface that defines all the operations the repository needs to perform on the underlying database. It allows you to customize the SQL statement executed for each operation. The default is the GenericSagaSqlSchema. Other implementations available are PostgresSagaSqlSchema, Oracle11SagaSqlSchema and HsqlSagaSchema. The MongoSagaStore stores the saga instances and their associations in a MongoDB database. The MongoSagaStore stores all sagas in a single collection in a MongoDB database. For each saga instance, a single document is created. The MongoSagaStore also ensures that at any time, only a single Saga instance exists for any unique Saga in a single JVM. This ensures that no state changes are lost due to concurrency issues. The MongoSagaStore is initialized using a MongoTemplate and optionally a Serializer. The MongoTemplate provides a reference to the collection to store the sagas in. Axon provides the DefaultMongoTemplate, which takes a MongoClient instance as well as the database name and name of the collection to store the sagas in. The database name and collection name may be omitted. In that case, they default to \"axonframework\" and \"sagas\", respectively. If a database backed saga storage is used, saving and loading saga instances may be a relatively expensive operation. In situations where the same saga instance is invoked multiple times within a short time span, a cache can be especially beneficial to the application’s performance. Axon provides the CachingSagaStore implementation. It is a SagaStore that wraps another one, which does the actual storage. When loading sagas or association values, the CachingSagaStore will first consult its caches, before delegating to the wrapped repository. When storing information, all calls are always delegated to ensure that the backing storage always has a consistent view on the saga’s state. To configure caching, simply wrap any SagaStore in a CachingSagaStore. The constructor of the CachingSagaStore takes three parameters: 1. The SagaStore to wrap 2. The cache to use for association values 3. The cache to use for saga instances The latter two arguments may refer to the same cache, or to different ones. This depends on the eviction requirements of your specific application. Although a Saga requires a manager, repository / store and wiring to the right message busses, configuring a Saga is straightforward. When using the Configuration API, Axon will use sensible defaults for most components. As a specific type of Event Handling Component, configuration of a Saga is closely related to the configuration of Event Processors. Due to this, configuring a processor will impact the behaviour of a Saga, albeit on a non-functional level. The configuration of error handling or processor assignment rules, for example, are thus equally valid for Sagas as long as the right processor name is used during configuration. Default Saga Processor name As a Saga is a type of event handler, it is part of an Event Processor. Without defining any assignment rules, a Saga’s processor name equals the Saga name appended with \"Processor\", With a Saga called MySaga, that would mean the processor is called MySagaProcessor. Internally, Axon uses a SagaConfigurer to construct the Saga, Saga Manager, Saga Repository and Saga Store. A default configuration for a Saga called MySaga would look as follows: As a specific type of event handler, registering a Saga is done through the EventProcessingConfigurer: public class AxonConfig { // omitting other configuration methods... void configureMySaga(EventProcessingConfigurer eventProcessingConfigurer) { eventProcessingConfigurer.registerSaga(MySaga.class); } } In a Spring environment, the Saga implementation should be annotated with @Saga to MongoSagaStoreto-configure it: import org.axonframework.spring.stereotype.Saga; @Saga class MySaga { // saga implementation left out... } Although the defaults lead us to a working Saga environment, it is recommended to define the SagaStore to use. The SagaStore represents the mechanism that 'physically' stores the Saga instances, for which it uses the AnnotatedSagaRepository (the default) to store and retrieve Saga instances. If no SagaStore is configured Axon defaults an InMemorySagaStore, thus not persisting the Saga on shutdown. To configure a SagaStore for MySaga consider the following snippet: To define a custom SagaStore, the SagaConfigurer should be used through the EventProcessingConfigurer#registerSaga(Class, Consumer>) method: public class AxonConfig { // omitting other configuration methods... void configureMySaga(EventProcessingConfigurer eventProcessingConfigurer, EntityManagerProvider entityManagerProvider) { eventProcessingConfigurer.registerSaga( MySaga.class, sagaConfigurer -> sagaConfigurer.configureSagaStore( c -> JpaSagaStore.builder() .entityManagerProvider(entityManagerProvider) .build() ) ); } } Alternatively, a default store can be defined through EventProcessingConfigurer#registerSagaStore(Function) method. When Spring Boot is used and JPA or JDBC is on the classpath, then Axon auto-configures a JpaSagaStore or JdbcSagaStore respectively. To provide a custom SagaStore, providing a bean to the application context and defining the bean name on the @Saga annotation suffices: import org.axonframework.spring.stereotype.Saga; @Saga(sagaStore = \"mySagaStore\") public class MySaga { // saga implementation left out... } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SagaStore mySagaStore(DataSource dataSource) { return JdbcSagaStore.builder() .dataSource(dataSource) .build(); } }","title":"Implementation","component":"axon-framework-reference","version":"development","name":"implementation","url":"/axon-framework-reference/development/sagas/implementation/","titles":[{"text":"Life cycle","hash":"_life_cycle","id":1},{"text":"Event handling","hash":"_event_handling","id":2},{"text":"Injecting resources","hash":"_injecting_resources","id":3},{"text":"Saga infrastructure","hash":"_saga_infrastructure","id":4},{"text":"Saga manager","hash":"saga-manager","id":5},{"text":"Saga repository and saga store","hash":"saga-repository-and-saga-store","id":6},{"text":"JpaSagaStore","hash":"JpaSagaStore","id":7},{"text":"JdbcSagaStore","hash":"JdbcSagaStore","id":8},{"text":"MongoSagaStore","hash":"MongoSagaStore","id":9},{"text":"Caching","hash":"_caching","id":10},{"text":"Configuring a Saga","hash":"configuring-a-saga","id":11},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":12},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":13},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":14},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_2","id":15}]},"70":{"id":70,"text":"The Axon Framework provides first-class support for long running business transactions or Sagas. This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help facilitate Saga development‌. A summary of the various sub-sections is given below. Sub-Section Purpose ​Implementation​ Implementing Sagas using the Axon Framework ​Associations​ Managing Saga associations using the Axon Framework ​Infrastructure​ Non-Functional Development concerns for Sagas using the Axon Framework","title":"Sagas","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/sagas/","titles":[]},"71":{"id":71,"text":"Events need to be redirected to the appropriate saga instances. To do so, some infrastructure classes are required. The most important components are the SagaManager and the SagaRepository. Like any component that handles events, the processing is done by an event processor. However, sagas are not singleton instances handling events. They have individual life cycles which need to be managed. Axon supports life cycle management through the AnnotatedSagaManager, which is provided to an event processor to perform the actual invocation of handlers. It is initialized using the type of the saga to manage, as well as a SagaRepository where sagas of that type can be stored and retrieved. A single AnnotatedSagaManager can only manage a single saga type. When using the Configuration API, Axon will use sensible defaults for most components. However, it is highly recommended to define a SagaStore implementation to use. The SagaStore is the mechanism that 'physically' stores the saga instances somewhere. The AnnotatedSagaRepository (the default) uses the SagaStore to store and retrieve Saga instances as they are required. Configurer configurer = DefaultConfigurer.defaultConfiguration(); configurer.eventProcessing(eventProcessingConfigurer -> eventProcessingConfigurer .registerSaga(MySaga.class, // Axon defaults to an in-memory SagaStore, // defining another is recommended sagaConfigurer -> sagaConfigurer.configureSagaStore(c -> new JpaSagaStore(...)))); // alternatively, it is possible to register a single SagaStore for all Saga types: configurer.registerComponent(SagaStore.class, c -> new JpaSagaStore(...)); @Saga(sagaStore = \"mySagaStore\") public class MySaga {...} ... // somewhere in configuration @Bean public SagaStore mySagaStore() { return new MongoSagaStore(...); // default is JpaSagaStore } The SagaRepository is responsible for storing and retrieving sagas, for use by the SagaManager. It is capable of retrieving specific saga instances by their identifier as well as by their association values. There are some special requirements, however. Since concurrency handling in sagas is a delicate procedure, the repository must ensure that for each conceptual saga instance (with an equal identifier) only a single instance exists in the JVM. Axon provides the AnnotatedSagaRepository implementation, which allows the lookup of saga instances while guaranteeing that only a single instance of the saga may be accessed at the same time. It uses a SagaStore to perform the actual persistence of saga instances. The choice for the implementation to use depends mainly on the storage engine used by the application. Axon provides the JdbcSagaStore, InMemorySagaStore, JpaSagaStore and MongoSagaStore. In some cases, applications benefit from caching saga instances. In that case, there is a CachingSagaStore which wraps another implementation to add caching behavior. Note that the CachingSagaStore is a write-through cache, which means save operations are always immediately forwarded to the backing Store, to ensure data safety. The JpaSagaStore uses JPA to store the state and association values of sagas. Sagas themselves do not need any JPA annotations; Axon will serialize the sagas using a Serializer (similar to event serialization, you can choose between an XStreamSerializer or JacksonSerializer, which can be set by configuring the default Serializer in your application. For more details, see Serializers. The JpaSagaStore is configured with an EntityManagerProvider, which provides access to an EntityManager instance to use. This abstraction allows for the use of both application managed and container managed EntityManager`s. Optionally, you can define the serializer to serialize the Saga instances with. Axon defaults to the `XStreamSerializer. The JdbcSagaStore uses plain JDBC to store stage instances and their association values. Similar to the JpaSagaStore, saga instances do not need to be aware of how they are stored. The store serializes the saga instances using a serializer. You should configure the JdbcSagaStore with either a DataSource or a ConnectionProvider. While not required, when initializing with a ConnectionProvider, it is recommended to wrap the implementation in a UnitOfWorkAwareConnectionProviderWrapper. It will check the current Unit of Work for an already open database connection to ensure that all activity within a unit of work is done on a single connection. Unlike JPA, the JdbcSagaRepository uses plain SQL statements to store and retrieve information. This approach may mean that some operations depend on the database-specific SQL dialect. It may also be that certain database vendors provide non-standard features that you would like to use. To allow for this, you can provide your own SagaSqlSchema. The SagaSqlSchema is an interface that defines all the operations the repository needs to perform on the underlying database. It allows you to customize the SQL statement executed for each operation. The default is the GenericSagaSqlSchema. Other implementations available are PostgresSagaSqlSchema, Oracle11SagaSqlSchema and HsqlSagaSchema. Schema Construction Note that Axon does not create the database schema for you out of the box. Neither when using Spring Boot, for example. To construct the schema, JdbcSagaStore#createSchema should be invoked. By default, this will use the GenericSagaSqlSchema. You can change the schema by configuring a different version through the JdbcSagaStore.Builder. The MongoSagaStore stores the saga instances and their associations in a MongoDB database. The MongoSagaStore stores all sagas in a single collection in a MongoDB database. For each saga instance, a single document is created. The MongoSagaStore also ensures that at any time, only a single Saga instance exists for any unique Saga in a single JVM. This ensures that no state changes are lost due to concurrency issues. The MongoSagaStore is initialized using a MongoTemplate and optionally a Serializer. The MongoTemplate provides a reference to the collection to store the sagas in. Axon provides the DefaultMongoTemplate, which takes a MongoClient instance as well as the database name and name of the collection to store the sagas in. The database name and collection name may be omitted. In that case, they default to \"axonframework\" and \"sagas\", respectively. If a database backed saga storage is used, saving and loading saga instances may be a relatively expensive operation. In situations where the same saga instance is invoked multiple times within a short time span, a cache can be especially beneficial to the application’s performance. Axon provides the CachingSagaStore implementation. It is a SagaStore that wraps another one, which does the actual storage. When loading sagas or association values, the CachingSagaStore will first consult its caches, before delegating to the wrapped repository. When storing information, all calls are always delegated to ensure that the backing storage always has a consistent view on the saga’s state. To configure caching, simply wrap any SagaStore in a CachingSagaStore. The constructor of the CachingSagaStore takes three parameters: 1. The SagaStore to wrap 2. The cache to use for association values 3. The cache to use for saga instances The latter two arguments may refer to the same cache, or to different ones. This depends on the eviction requirements of your specific application.","title":"Infrastructure","component":"axon-framework-reference","version":"development","name":"infrastructure","url":"/axon-framework-reference/development/sagas/infrastructure/","titles":[{"text":"Saga manager","hash":"_saga_manager","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Saga repository and saga store","hash":"_saga_repository_and_saga_store","id":4},{"text":"JpaSagaStore","hash":"JpaSagaStore","id":5},{"text":"JdbcSagaStore","hash":"JdbcSagaStore","id":6},{"text":"MongoSagaStore","hash":"MongoSagaStore","id":7},{"text":"Caching","hash":"_caching","id":8}]},"72":{"id":72,"text":"One of the benefits of CQRS, and especially that of event sourcing, is that it is possible to express tests purely in terms of events and commands. Both being functional components, events and commands have clear meaning to the domain expert or business owner. Not only does this mean that tests expressed in terms of events and commands have a clear functional meaning, it also means that they hardly depend on any implementation choices. The features described in this chapter require the axon-test module, which can be obtained by configuring a maven dependency (use axon-test and test) or from the full package download. The fixtures described in this chapter work with any testing framework, such as JUnit and TestNG. The command handling component is typically the component in any CQRS based architecture that contains the most complexity. Being more complex than the others, this also means that there are extra test related requirements for this component. Although being more complex, the API of a command handling component is fairly easy. It has a command coming in, and events going out. In some cases, there might be a query as part of command execution. Other than that, commands and events are the only part of the API. This means that it is possible to completely define a test scenario in terms of events and commands. Typically, in the shape of: Given certain events in the past, When executing this command, Expect these events to be published and/or stored Axon Framework provides a test fixture that allows you to do exactly that. The AggregateTestFixture allows you to configure a certain infrastructure, composed of the necessary command handler and repository, and express your scenario in terms of \"given-when-then\" events and commands. Focus of a Test Fixture Since the unit of testing here is the aggregate, AggregateTestFixture is meant to test one aggregate only. So, all commands in the when (or given) clause are meant to target the aggregate under test fixture. Also, all given and expected events are meant to be triggered from the aggregate under test fixture. The following example shows the usage of the \"given-when-then\" test fixture with JUnit 4 on the GiftCard aggregate (as defined earlier): import org.axonframework.test.aggregate.AggregateTestFixture; import org.axonframework.test.aggregate.FixtureConfiguration; public class GiftCardTest { private FixtureConfiguration fixture; @Before public void setUp() { fixture = new AggregateTestFixture<>(GiftCard.class); } @Test public void testRedeemCardCommand() { fixture.given(new CardIssuedEvent(\"cardId\", 100)) .when(new RedeemCardCommand(\"cardId\", \"transactionId\", 20)) .expectSuccessfulHandlerExecution() .expectEvents(new CardRedeemedEvent(\"cardId\", \"transactionId\", 20)); /* These four lines define the actual scenario and its expected result. The first line defines the events that happened in the past. These events define the state of the aggregate under test. In practical terms, these are the events that the event store returns when an aggregate is loaded. The second line defines the command that we wish to execute against our system. Finally, we have two more methods that define expected behavior. In the example, we use the recommended void return type. The last method defines that we expect a single event as result of the command execution. */ } } Aggregate Lifecycle Extension Alternatively, JUnit 5 users can use StubAggregateLifecycleExtension in order to directly attach to the aggregate lifecycle. This might be useful if you prefer not to use the AggregateTestFixture public class AggregateTest { @RegisterExtension static StubAggregateLifecycleExtension testSubject = new StubAggregateLifecycleExtension(); @Test void test() { apply(new Event(...)); assertEquals(1, testSubject.getAppliedEvents().size()); } } The \"given-when-then\" test fixture defines three stages: configuration, execution and validation. Each of these stages is represented by a different interface: FixtureConfiguration, TestExecutor and ResultValidator, respectively. Fluent Interface To make optimal use of the migration between these stages, it is best to use the fluent interface provided by these methods, as shown in the example above. During the configuration phase (that is, before the first \"given\" is provided), you provide the building blocks required to execute the test. Specialized versions of the event bus, command bus and event store are provided as part of the fixture by default. There are accessor methods in place to obtain references to them. Any command handlers not registered directly on the aggregate need to be explicitly configured using the registerAnnotatedCommandHandler method. Besides an Annotated Command Handler, you can register a wide variety of components and settings that define how the infrastructure around the Aggregate’s test should be set up, consisting out of the following: registerRepository: Registers a custom Aggregate Repository. registerRepositoryProvider: Registers a RepositoryProvider used to spawn new Aggregates. registerAggregateFactory: Registers a custom AggregateFactory. registerAnnotatedCommandHandler: Registers a Annotated Command Handler object that interacts with the aggregate. Use this method to register components containing @CommandHandler annotated methods that invoke the Repository to execute operation on an aggregate. You may end up in such a scenario when you prefer that command handlers and/or command messages are not contained inside the domain model (that is, the aggregate). registerCommandHandler: Registers a MessageHandler of CommandMessage. registerInjectableResource: Registers a resource which can be injected in to message handling members. registerParameterResolverFactory: Registers a ParameterResolverFactory to the test fixture. This method is used to complement the default ParameterResolvers with custom ParameterResolver. registerCommandDispatchInterceptor: Registers a command MessageDispatchInterceptor. registerCommandHandlerInterceptor: Registers a command MessageHandlerInterceptor. registerDeadlineDispatchInterceptor: Registers a DeadlineMessage MessageDispatchInterceptor. registerDeadlineHandlerInterceptor: Registers a DeadlineMessage MessageHandlerInterceptor. registerFieldFilter: Registers a Field filter used when comparing objects in the \"then\" phase. registerIgnoredField: Registers a field that should be ignored for a given class when state equality is performed. registerHandlerDefinition: Registers a custom HandlerDefinition to the test fixture. registerHandlerEnhancerDefinition: Registers a custom HandlerEnhancerDefinition to the test fixture. This method is used to complement the default HandlerEnhancerDefinition with a custom HandlerEnhancerDefinition. registerCommandTargetResolver: Registers a CommandTargetResolver to the test fixture. Once you have configured the fixture, you can start the given phase. Axon’s test fixtures provide several given methods aligning with the modeling options of an aggregate. Below is a list of all the operations of the given phase: givenNoPriorActivity: Start the given phase without any prior activity. Use this method to reflect the initialization of an aggregate. given(Object…​): Use the given method to provide several events to initiate the state of an event-sourced aggregate. May be followed up by invocations of andGiven to separate events of the given phase for readability. The fixture wraps any events given in DomainEventMessages. When the given event implements Message, the fixture will include the payload and metadata of that message in the DomainEventMessage. Otherwise, the fixture uses the given event as the message’s payload. givenCommands(Object ..): Use the givenCommands method to provide several commands to initiate the state of an event-sourced aggregate. When using givenCommands, the fixture uses the events generated by those commands to event source the aggregate. May be followed up by invocations of andGivenCommands to separate commands of the given phase for readability. The fixture wraps any commands given in CommandMessages. When the given commands implement Message, the fixture includes the payload and metadata of that message in the CommandMessage. Otherwise, the fixture uses the given command as the message’s payload. givenCurrentTime(Instant): Use givenCurrenTime to simulate the current time the test fixture initiates testing. The fixture uses the given Instant as the timestamp for generated events in the when-phase. Additionally, the fixtures will use the given current time to validate when to trigger deadlines within the aggregate. givenState(Supplier): Use the givenState method to provide the aggregate instance in its entirety when testing a State-Stored Aggregate. Note that it is not recommended to use this operation when you are testing an event-sourced aggregate. The execution phase, or \"when phase,\" allows you several entry points towards the validation phase. Note that the test fixture only monitors activities that occur during the test execution phase. The fixture does not consider any events or side effects generated during the given phase in the validation phase. Illegal State Change Detection During the execution of the test, Axon attempts to detect any illegal state changes in the aggregate under test. It does so by comparing the aggregate’s state after command execution to the aggregate’s state when event sourced from all given and stored events. If that state is not identical, a state change occurred outside an aggregate’s event handler method. Static and transient fields are ignored in the comparison, as they typically contain references to resources. You can switch detection in the configuration of the fixture with the setReportIllegalStateChange() method. We can separate the execution phase options into roughly three variants: Execute a command, time progresses, and invoking a method on the aggregate. Below is a list of all the operations you can use in the execution phase: when(Object): Using the when method, you can provide a command for the fixture to execute against the aggregate under test. Similar to the given events, if the provided command is of type CommandMessage, the fixture dispatches it as is. The fixture monitors the behavior of the invoked handler (either on the aggregate or as an external handler) and compares it to the expectations you register in the validation phase. when(Object, Map): This when method provides a simpler notation to provide both the command and the metadata. When the given command implements Message, the fixture will combine the command’s metadata with the additional metadata provided separately. whenTimeElapses(Duration): Use whenTimeElapses to simulate time moving on based on the given Duration. You should use this method to validate the behavior around deadlines. whenTimeAdvancesTo(Instant): Use whenTimeAdvancesTo to simulate time moving towards the given Instant. You should use this method to validate the behavior around deadlines. whenConstructing(Callable): This test execution phase operation allows you to invoke the constructor of the aggregate under test. Use this method whenever you (1) do not have @CommandHandler annotations inside the command model and (2) have not registered an external command handler with the fixture. Note that whenConstructing should only ever follow up the givenNoPriorActity operation of the given phase. whenInvoking(String, Consumer): This test execution phase operation allows you to invoke methods of the aggregate under test. The fixture expects you to provide an aggregate identifier matching the given phase’s aggregate identifier. Otherwise, the fixture throws an AssertionError. Use this method whenever you (1) do not have @CommandHandler annotations inside the command model and (2) have not registered an external command handler with the fixture. The last phase is the validation phase, which allows you to check on the activities of the aggregate. This is generally done purely in terms of return values and events. The test fixture allows you to validate return values of your command handlers. You can explicitly define the expected return value, or simply require that the method successfully returned. You may also express any exceptions you expect the CommandHandler to throw. The following methods are available for validating Command Results: fixture.expectSuccessfulHandlerExecution(): Validates that the handler returned a regular response, which was not marked as an exceptional response. The exact response is not evaluated. fixture.expectResultMessagePayload(Object): Validates that the handler returned a successful response, with a payload equal to the given payload. fixture.expectResultMessagePayloadMatching(Matcher): Validates that the handler returned a successful response, with a payload matching the given Matcher fixture.expectResultMessage(CommandResultMessage): Validates that the CommandResultMessage received has equal payload and meta data to that of given message. fixture.expectResultMessageMatching(Matcher): Validates that the CommandResultMessage matches the given Matcher. fixture.expectException(Matcher): Validates that the command handling result is an exceptional result, and that the exception matches the given Matcher. fixture.expectException(Class): Validates that the command handling result is an exceptional result with the given type of exception. fixture.expectExceptionMessage(String): Validates that the command handling result is an exceptional result and the exception message is equal to the given message. fixture.expectExceptionMessage(Matcher): Validates that the command handling result is an exceptional result and the exception message matches the given Matcher. * fixture.expectExceptionDetails(Object): Validates that the command handling result is an exceptional result and the exception details equal the given exception details. fixture.expectExceptionDetails(Class): Validates that the command handling result is an exceptional result with the given type of exception details. fixture.expectExceptionDetails(Matcher): Validates that the command handling result is an exceptional result and the exception details match the given Matcher. The other component is validation of published events. There are two ways of matching expected events. The first is to pass in event instances that need to be literally compared with the actual events. All properties of the expected events are compared (using equals()) with their counterparts in the actual Events. If one of the properties is not equal, the test fails and an extensive error report is generated. The other way of expressing expectancies is using \"Matchers\" (provided by the Hamcrest library). Matcher is an interface prescribing two methods: matches(Object) and describeTo(Description). The first returns a boolean to indicate whether the matcher matches or not. The second allows you to express your expectation. For example, a \"GreaterThanTwoMatcher\" could append \"any event with value greater than two\" to the description. Descriptions allow expressive error messages to be created about why a test case fails. Creating matchers for a list of events can be tedious and error-prone work. To simplify things, Axon provides a set of matchers that allow you to provide a set of event specific matchers and tell Axon how they should match against the list. These matchers are statically available through the abstract Matchers utility class. Below is an overview of the available event list matchers and their purpose: List with all of: Matchers.listWithAllOf(event matchers…​) This matcher will succeed if all of the provided event matchers match against at least one event in the list of actual events. It does not matter whether multiple matchers match against the same event, nor if an event in the list does not match against any of the matchers. List with any of: Matchers.listWithAnyOf(event matchers…​) This matcher will succeed if one or more of the provided event matchers matches against one or more of the events in the actual list of events. Some matchers may not even match at all, while another matches against multiple others. Sequence of Events: Matchers.sequenceOf(event matchers…​) Use this matcher to verify that the actual events are matched in the same order as the provided event matchers. It will succeed if each matcher matches against an event that comes after the event that the previous matcher matched against. This means that \"gaps\" with unmatched events may appear. If, after evaluating the events, more matchers are available, they are all matched against “null”. It is up to the event matchers to decide whether they accept that or not. Exact sequence of Events: Matchers.exactSequenceOf(event matchers…​) Variation of the \"Sequence of Events\" matcher where gaps of unmatched events are not allowed. This means each matcher must match against the event directly following the event the previous matcher matched against. For convenience, a few commonly required event matchers are provided. They match against a single event instance: Equal event: Matchers.equalTo(instance…​) Verifies that the given object is semantically equal to the given event. This matcher will compare all values in the fields of both actual and expected objects using a null-safe equals method. This means that events can be compared, even if they do not implement the equals method. The objects stored in fields of the given parameter are compared using equals, requiring them to implement one correctly. No more events: Matchers.andNoMore() or Matchers.nothing() Only matches against a null value. This matcher can be added as last matcher to the exact sequence of events matchers to ensure that no unmatched events remain. Predicate Matching: Matchers.matches(Predicate) or Matchers.predicate(Predicate) Creates a Matcher that matches with values defined by the specified Predicate. Can be used in case the Predicate API provides a better means to validating the outcome. Since the matchers are passed a list of event messages, you sometimes only want to verify the payload of the message. There are matchers to help you out: Payload matching: Matchers.messageWithPayload(payload matcher) Verifies that the payload of a message matches the given payload matcher. Payloads matching: Matchers.payloadsMatching(list matcher) Verifies that the payloads of the messages matches the given matcher. The given matcher must match against a list containing each of the messages payload. The payloads matching matcher is typically used as the outer matcher to prevent repetition of payload matchers. Below is a small code sample displaying the usage of these matchers. In this example, we expect two events to be published. The first event must be a \"ThirdEvent\", and the second \"aFourthEventWithSomeSpecialThings\". There may be no third event, as that will fail against the \"andNoMore\" matcher. import org.axonframework.test.aggregate.FixtureConfiguration; import static org.axonframework.test.matchers.Matchers.andNoMore; import static org.axonframework.test.matchers.Matchers.equalTo; import static org.axonframework.test.matchers.Matchers.exactSequenceOf; import static org.axonframework.test.matchers.Matchers.messageWithPayload; import static org.axonframework.test.matchers.Matchers.payloadsMatching; class MyCommandModelTest { private FixtureConfiguration fixture; public void testWithMatchers() { fixture.given(new FirstEvent(), new SecondEvent()) .when(new DoSomethingCommand(\"aggregateId\")) .expectEventsMatching(exactSequenceOf( // we can match against the payload only: messageWithPayload(equalTo(new ThirdEvent())), // this will match against a Message aFourthEventWithSomeSpecialThings(), // this will ensure that there are no more events andNoMore() )); // or if we prefer to match on payloads only: .expectEventsMatching(payloadsMatching( exactSequenceOf( // we only have payloads, so we can equalTo directly equalTo(new ThirdEvent()), // now, this matcher matches against the payload too aFourthEventWithSomeSpecialThings(), // this still requires that there is no more events andNoMore() ) )); } } In certain circumstances, it may be desirable to validate the state in which an Aggregate was left after a test. This is especially the case in given-when-then scenario’s where the given represents an initial state as well, as is regular when using a State-Stored Aggregate. The fixture provides a method that allows verification of the state of the aggregate, as it is left after the Execution Phase (for example, the when state), to be validated. fixture.givenState(() -> new GiftCard()) .when(new RedeemCardCommand()) .expectState(state -> { // perform assertions }); The expectState method takes a consumer of the Aggregate type. Use regular assertions provided by your test framework to assert the state of the given Aggregate. Any (Runtime) Exception or Error will fail the test case accordingly. Event-Sourced Aggregate State Validation State validation for testing Event Sourced Aggregates is considered bad practice. Ideally, the state of an Aggregate is completely opaque to the testing code, as only the behavior should be validated. Generally, the desire to validate state is an indication that a certain test scenario is missing from the test suite. The validation phase also provides the option to verify scheduled and met xref:../deadlines/deadline-managers.adoc for a given Aggregate instance. You can expect scheduled deadlines both through a Duration or an Instant, using explicit equals, a Matcher or just a deadline type to verify the deadline message. The following methods are available for validating Deadlines: expectScheduledDeadline(Duration, Object): Explicitly expect a given deadline to be scheduled after the specified Duration. expectScheduledDeadlineMatching(Duration, Matcher): Expect a deadline matching the Matcher to be scheduled after the specified Duration. expectScheduledDeadlineOfType(Duration, Class): Expect a deadline matching the given type to be scheduled after the specified Duration. expectScheduledDeadlineWithName(Duration, String): Expect a deadline matching the given deadline name to be scheduled after the specified Duration. expectScheduledDeadline(Instant, Object): Explicitly expect a given deadline to be scheduled at the specified Instant. expectScheduledDeadlineMatching(Instant, Matcher): Expect a deadline matching the Matcher to be scheduled at the specified Instant. expectScheduledDeadlineOfType(Instant, Class): Expect a deadline matching the given type to be scheduled at the specified Instant. expectScheduledDeadlineWithName(Instant, String): Expect a deadline matching the given deadline name to be scheduled at the specified Instant. expectNoScheduledDeadlines(): Expect that no deadlines are scheduled at all. expectNoScheduledDeadlineMatching(Matcher): Expect no deadline matching the Matcher to be scheduled. expectNoScheduledDeadlineMatching(Duration, Matcher): Expect no deadline matching the Matcher to be scheduled after the specified Duration. expectNoScheduledDeadline(Duration, Object) Explicitly expect no given deadline to be scheduled after the specified Duration.` expectNoScheduledDeadlineOfType(Duration, Class) Expect no deadline matching the given type to be scheduled after the specified Duration.` expectNoScheduledDeadlineWithName(Duration, String) Expect no deadline matching the given deadline name to be scheduled after the specified Duration.` expectNoScheduledDeadlineMatching(Instant, Matcher): Expect no deadline matching the Matcher to be scheduled at the specified Instant. expectNoScheduledDeadline(Instant, Object) Explicitly expect no given deadline to be scheduled at the specified Instant.` expectNoScheduledDeadlineOfType(Instant, Class) Expect no deadline matching the given type to be scheduled at the specified Instant.` expectNoScheduledDeadlineWithName(Instant, String) Expect no deadline matching the given deadline name to be scheduled at the specified Instant.` expectDeadlinesMet(Object…​): Explicitly expect a deadline or several deadlines to have been met. expectDeadlinesMetMatching(Matcher>): Expect a matching deadline or several matching deadlines to have been met.","title":"Commands / Events","component":"axon-framework-reference","version":"development","name":"commands-events","url":"/axon-framework-reference/development/testing/commands-events/","titles":[{"text":"Command model testing","hash":"_command_model_testing","id":1},{"text":"Test setup","hash":"test-setup","id":2},{"text":"Given phase","hash":"given-phase","id":3},{"text":"Test execution phase","hash":"test-execution-phase","id":4},{"text":"Validation phase","hash":"validation-phase","id":5},{"text":"Validating command result","hash":"_validating_command_result","id":6},{"text":"Validating published events","hash":"_validating_published_events","id":7},{"text":"Validating aggregate state","hash":"_validating_aggregate_state","id":8},{"text":"Validating deadlines","hash":"validating-deadlines","id":9}]},"73":{"id":73,"text":"The Axon Framework provides a complete test module to help unit test your Axon application. This includes capabilities test your Commands/Events and Sagas. This section of the reference guide intends to cover in detail the capabilities that the Axon Framework provides to help facilitate testing.‌ A summary of the various sub-sections is given below. Sub-Section Purpose ​Commands / Events​ Capabilities provided by the Axon Framework to test Commands/Events ​Sagas​ Capabilities provided by the Axon Framework to test Sagas","title":"Testing","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/testing/","titles":[]},"74":{"id":74,"text":"Similar to command handling components, sagas have a clearly defined interface: they only respond to events. On the other hand, sagas often have a notion of time and may interact with other components as part of their event handling process. Axon Framework’s test support module contains fixtures that help you write tests for sagas. Each test fixture contains three phases, similar to those of the command handling component fixture described in the previous section. Given certain events (from certain aggregates), when an event arrives or time elapses, expect certain behavior or state. Both the \"given\" and the \"when\" phases accept events as part of their interaction. During the \"given\" phase, all side effects, such as generated commands are ignored, when possible. During the \"when\" phase, on the other hand, events and commands generated from the saga are recorded and can be verified. The following code sample shows an example of how the fixtures can be used to test a saga that sends a notification if an invoice is not paid within 30 days: FixtureConfiguration fixture = new SagaTestFixture<>(InvoicingSaga.class); fixture.givenAggregate(invoiceId).published(new InvoiceCreatedEvent()) .whenTimeElapses(Duration.ofDays(31)) .expectDispatchedCommandsMatching(Matchers.listWithAllOf(aMarkAsOverdueCommand())); // or, to match against the payload of a Command Message only .expectDispatchedCommandsMatching(Matchers.payloadsMatching(Matchers.listWithAllOf(aMarkAsOverdueCommand()))); Sagas can dispatch commands using a callback to be notified of command processing results. Since there is no actual command handling done in tests, the behavior is defined using a CallbackBehavior object. This object is registered using setCallbackBehavior() on the fixture and defines if and how the callback must be invoked when a command is dispatched. Instead of using a CommandBus directly, you can also use command gateways. See below on how to specify their behavior. Often, sagas will interact with resources. These resources aren’t part of the saga its state, but are injected after a saga is loaded or created. The test fixtures allow you to register resources that need to be injected in the saga. To register a resource, simply invoke the fixture.registerResource(Object) method with the resource as parameter. The fixture will detect appropriate setter methods or fields (annotated with @Inject) on the saga and invoke it with an available resource. Tip It can be useful to inject mock objects (for example, Mockito or Easymock) into your Saga. It allows you to verify that the saga interacts correctly with your external resources. Command gateways provide sagas with an easier way to dispatch Commands. Using a custom command gateway also makes it easier to create a mock or stub to define its behavior in tests. When providing a mock or stub, however, the actual command might not be dispatched, making it impossible to verify the sent commands in the test fixture. Therefore, the fixture provides two methods that allow you to register Command Gateways and optionally a mock defining its behavior: registerCommandGateway(Class) and registerCommandGateway(Class, Object). Both methods return an instance of the given class that represents the gateway to use. This instance is also registered as a resource, to make it eligible for resource injection. When the registerCommandGateway(Class) is used to register a gateway, it dispatches Commands to the CommandBus managed by the fixture. The behavior of the gateway is mostly defined by the CallbackBehavior defined on the fixture. If no explicit CallbackBehavior is provided, callbacks are not invoked, making it impossible to provide any return value for the gateway. When the registerCommandGateway(Class, Object) is used to register a gateway, the second parameter is used to define the behavior of the gateway. The test fixture tries to eliminate elapsing system time where possible. This means that it will appear that no time elapses while the test executes, unless you explicitly state so using whenTimeElapses(). All events will have the timestamp of the moment the test fixture was created. Having the time stopped during the test makes it easier to predict at what time events are scheduled for publication. If your test case verifies that an event is scheduled for publication in 30 seconds, it will remain 30 seconds, regardless of the time taken between actual scheduling and test execution. Note The fixture uses a StubScheduler for time based activity, such as scheduling events and advancing time. Fixtures will set the timestamp of any events sent to the Saga instance to the time of this scheduler. This means time is 'stopped' as soon as the fixture starts, and may be advanced deterministically using the whenTimeAdvanceTo and whenTimeElapses methods. You can also use the StubEventScheduler independently of the test fixtures if you need to test scheduling of events. This EventScheduler implementation allows you to verify which events are scheduled for which time and gives you options to manipulate the progress of time. You can either advance time with a specific Duration, move the clock to a specific date and time or advance time to the next scheduled event. All these operations will return the events scheduled within the progressed interval.","title":"Sagas","component":"axon-framework-reference","version":"development","name":"sagas-1","url":"/axon-framework-reference/development/testing/sagas-1/","titles":[]},"75":{"id":75,"text":"This page provides specifics around tuning the command processing within an Axon application. As described in the Messaging Concepts page, a command is always routed to a single destination. This means that during the registration of a command handler within a given JVM, a second registration of an identical command handler method should be dealt with in a desirable manner. How an Axon application reacts to such a duplicate registration is defined by the DuplicateCommandHandlerResolver. This resolver is a functional interface ingesting a command name and a registered candidate command handler method; a single command handler method is the return value. By default, the LoggingDuplicateCommandHandlerResolver is used, which will log a warning and returns the candidate handler. To configure the used DuplicateCommandHandlerResolver it is suggested to use the DuplicateCommandHandlerResolution, as this class gives a handle to all provided implementations. To configure the duplicate resolver to, for example, throw a DuplicateCommandHandlerSubscriptionException as a warning, the following approach can be taken: Somewhere in a configuration class: DefaultConfigurer.defaultConfiguration().registerComponent( DuplicateCommandHandlerResolution.class, config -> DuplicateCommandHandlerResolution.rejectDuplicates() ); Somewhere in a configuration class: @Bean public DuplicateCommandHandlerResolver duplicateCommandHandlerResolver() { return DuplicateCommandHandlerResolution.rejectDuplicates(); }","title":"Command Processing","component":"axon-framework-reference","version":"development","name":"command-processing","url":"/axon-framework-reference/development/tuning/command-processing/","titles":[{"text":"Duplicate command handler registration","hash":"_duplicate_command_handler_registration","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3}]},"76":{"id":76,"text":"Typically, application components contain one or more Event Processors which are responsible for processing incoming events. Tracking Event Processors have configuration aspects that can be changed at runtime to accommodate for changes in the system topology. Tracking Event Processors that handle events in multiple threads use segments to separate the events in the stream across these threads in a reliable way. However, especially when these threads are spread across multiple instances of a component, and the number of instances changes, it may be useful to scale the number of segments accordingly. To this end, Axon Framework provides a split and merge API. This API can be utilized directly via a client configuration or through Axon Server, where the latter takes required coordination into account. The Tracking Event Processors in Axon Framework provide methods to increase or decrease the number of segments for that particular instance. When using this API, one must provide the ID of the segment to increase/decrease. Additionally, the instance on which the method is invoked, must be actively processing that segment. First, the instance of the Tracking Event Processor must be obtained. This can be done using Axon’s Configuration API like so: // The `Configuration` was returned through the `Configurer` or is available as a bean in the Spring Application Context public TrackingEventProcessor retrieveTrackingProcessor(org.axonframework.config.Configuration axonConfig, String processorName) { return axonConfig.eventProcessingConfiguration() .eventProcessor(processorName) // This call returns an Optional .filter(eventProcessor -> eventProcessor instanceof TrackingEventProcessor) .map(eventProcessor -> (TrackingEventProcessor) eventProcessor) .orElseThrow(() -> new IllegalStateException( \"No Tracking Event Processor found with name \" + processorName )); } Using the above snippet, a split or merge can be called as follows: int segmentId; TrackingEventProcessor trackingProcessor = retrieveTrackingProcessor(axonConfig, processorName); // Split... CompletableFuture futureResult = trackingProcessor.splitSegment(segmentId); // Merge... CompletableFuture futureResult = trackingProcessor.mergeSegment(segmentId); Multi instance set up If you have several instances of a given Axon application, that regularly means you have duplicated your Tracking Event Processors. Such a set up is a regular scenario to require segment tuning. Note that, especially, in such a setup you would need to delegate said split or merge to the correct instance. The \"correct instance\", in this case, is the instance owning the segment you want to split and merge. In a heterogeneously distributed application landscape your event handling components might receive events they do not have actual event handling members for. That this occurs is completely fine; the chances of a single application handling the entirety of all existing events is really small. This fact however does open up the possibility for optimization by blacklisting events. To this end Axon has to option to automatically blacklist events it cannot handle. The Tracking Event Processor takes the lead in actual blacklisting, which it does by signaling the utilized event stream when none of its handlers can handle the event in question. The event stream provided by the Axon Server connection in turn implements the functionality to notify an Axon Server node that certain events cannot be handled by it. By default, blacklisting is turned for an Axon client connected to Axon Server. To disable blacklisting, the disableEventBlacklisting property can be adjusted as follows: AxonServerConfiguration axonServerConfig = new AxonServerConfiguration(); axonServerConfig.setDisableEventBlacklisting(true); Configurer configurer = DefaultConfigurer.defaultConfiguration() .registerComponent(AxonServerConfiguration.class, c -> axonServerConfig); axon.axonserver.disableEventBlacklisting=true Retrying Blacklisted Events The topology of Event Handlers might change in the lifecycle of a given application. This thus means that once blacklisted events might at a later stage do have Event Handler members present. To cover this scenario, Axon Server will periodically send over blacklisted events to refresh the blacklisted set.","title":"Event Processing","component":"axon-framework-reference","version":"development","name":"event-processing","url":"/axon-framework-reference/development/tuning/event-processing/","titles":[{"text":"Increasing and decreasing segment counts","hash":"_increasing_and_decreasing_segment_counts","id":1},{"text":"Segment tuning through Axon Framework","hash":"_segment_tuning_through_axon_framework","id":2},{"text":"Blacklisting events","hash":"_blacklisting_events","id":3},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":4},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":5}]},"77":{"id":77,"text":"When aggregates live for a long time, and their state constantly changes, they will generate a large amount of events. Having to load all these events in to rebuild an aggregate’s state may have a big performance impact. The snapshot event is a domain event with a special purpose: it summarises an arbitrary amount of events into a single one. By regularly creating and storing a snapshot event, the event store does not have to return long lists of events. Just the latest snapshot events and all events that occurred after the snapshot was made. For example, items in stock tend to change quite often. Each time an item is sold, an event reduces the stock by one. Every time a shipment of new items comes in, the stock is incremented by some larger number. If you sell a hundred items each day, you will produce at least 100 events per day. After a few days, your system will spend too much time reading in all these events just to find out whether it should raise an \"ItemOutOfStockEvent\". A single snapshot event could replace a lot of these events, just by storing the current number of items in stock. To measure it to know! AxonIQ Console can measure the number of events that were loaded during command handling, so you know if you need to create snapshots or not. It’s also able to track many more interesting metrics, such as the load time of the aggregate, and the time it took to store the events. Snapshot creation can be triggered by a number of factors, for example: the number of events created since the last snapshot, the time to initialize an aggregate exceeds a certain threshold, time-based, etc. Currently, Axon provides a mechanism that allows you to trigger snapshots based on an event count threshold. The definition of when snapshots should be created, is provided by the SnapshotTriggerDefinition interface. The EventCountSnapshotTriggerDefinition provides the mechanism to trigger snapshot creation when the number of events needed to load an aggregate exceeds a certain threshold. If the number of events needed to load an aggregate exceeds a certain configurable threshold, the trigger tells a Snapshotter to create a snapshot for the aggregate. The snapshot trigger is configured on an event sourcing repository and has a number of properties that allow you to tweak triggering: Snapshotter sets the actual snapshotter instance, responsible for creating and storing the actual snapshot event; Trigger sets the threshold at which to trigger snapshot creation; A Snapshotter is responsible for the actual creation of a snapshot. Typically, snapshotting is a process that should disturb the operational processes as little as possible. Therefore, it is recommended to run the snapshotter in a different thread. The Snapshotter interface declares a single method: scheduleSnapshot(), which takes the aggregate’s type and identifier as parameters. Axon provides the AggregateSnapshotter, which creates and stores AggregateSnapshot instances. This is a special type of snapshot, since it contains the actual aggregate instance within it. The repositories provided by Axon are aware of this type of snapshot, and will extract the aggregate from it, instead of instantiating a new one. All events loaded after the snapshot events are streamed to the extracted aggregate instance. Serializing a Snapshot Event Do make sure the Serializer instance you use (which defaults to the XStreamSerializer) is capable of serializing your aggregate. The XStreamSerializer requires you to use either a Hotspot JVM, or your aggregate must either have an accessible default constructor or implement the Serializable interface. The AbstractSnapshotter provides a basic set of properties that allow you to tweak the way snapshots are created: EventStore sets the event store, which is used to load past events and store the snapshots. This event store must implement the SnapshotEventStore interface. Executor sets the executor, such as a ThreadPoolExecutor that will provide the thread to process actual snapshot creation. By default, snapshots are created in the thread that calls the scheduleSnapshot() method, which is generally not recommended for production. The AggregateSnapshotter provides one more property: AggregateFactories is the property that allows you to set the factories that will create instances of your aggregates. Configuring multiple aggregate factories allows you to use a single Snapshotter to create snapshots for a variety of aggregate types. The EventSourcingRepository implementations and the AggregateConfiguration provide access to the AggregateFactory being used for a given Aggregate. Both provide the factory through the EventSourcingRepository#getAggregateFactory and AggregateConfiguration#aggregateFactory methods respectively. The result from either can be used to configure the same aggregate factories in the Snapshotter as the ones used by the Aggregate. Snapshotter Configuration If you use an executor that executes snapshot creation in another thread, make sure you configure the correct transaction management for your underlying event store, if necessary. For both non-Spring and Spring users a default Snapshotter is provided. The former uses the Configuration API to provide a default AggregateSnapshotter, retrieving the aggregate factories from the registered Aggregates / AggregateConfiguration`s. Spring uses a `SpringAggregateSnapshotter, which will automatically looks up the right AggregateFactory instances from the application context when a snapshot needs to be created. The @Revision annotation has a dedicated, automatically configured SnapshotFilter implementation. This implementation is used to filter out non-matching snapshots from the Repository’s loading process. So when the `@Revision annotation is used on an aggregate the snapshots will be filtered out automatically. When the`@Revision` on an aggregate is missing a RevisionSnapshotFilter is configured for revision null. AggregateConfigurer giftCardConfigurer = AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureSnapshotTrigger(config -> new EventCountSnapshotTriggerDefinition( config.snapshotter(), 500 )); Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate(giftCardConfigurer); It is possible to define a custom SnapshotTriggerDefinition for an aggregate as a Spring bean. In order to tie the SnapshotTriggerDefinition bean to an aggregate, use the snapshotTriggerDefinition attribute on @Aggregate annotation. Listing below shows how to define a custom EventCountSnapshotTriggerDefinition which will take a snapshot every 500 events. Note that a Snapshotter instance, if not explicitly defined as a bean already, will be automatically configured for you. This means you can simply pass the Snapshotter as a parameter to your SnapshotTriggerDefinition. @Bean public SnapshotTriggerDefinition giftCardSnapshotTrigger(Snapshotter snapshotter) { return new EventCountSnapshotTriggerDefinition(snapshotter, 500); } ... @Aggregate(snapshotTriggerDefinition = \"giftCardSnapshotTrigger\") public class GiftCard {...} When a snapshot is stored in the event store, it will automatically use that snapshot to summarize all prior events and return it in their place. All event store implementations allow for concurrent creation of snapshots. This means they allow snapshots to be stored while another process is adding events for the same aggregate. This allows the snapshotting process to run as a separate process altogether. Snapshots as a replacement of your events? Normally, you can archive all events once they are part of a snapshot event. Snapshotted events will never be read in again by the event store in regular operational scenarios. However, if you want to be able to reconstruct an aggregate state prior to the moment the snapshot was created, you must keep the events up to that date. Axon provides a special type of snapshot event: the AggregateSnapshot, which stores an entire aggregate as a snapshot. The motivation is simple: your aggregate should only contain the state relevant to take business decisions. This is exactly the information you want captured in a snapshot. All event sourcing repositories provided by Axon recognize the AggregateSnapshot, and will extract the aggregate from it. Beware that using this snapshot event requires that the event serialization mechanism needs to be able to serialize the aggregate. When enabling snapshotting, several snapshots would be stored per Aggregate instance in the event store. At a certain stage, some of these snapshot events are no longer being used by the application as newer versions took their place. Especially if these snapshot events portray an old format of the aggregate by using the AggregateSnapshot event would it be smart to no longer load these. You could take the stance of dropping all the snapshots which are stored (for a given aggregate type), but this means snapshots will be recreated with a 100% certainty. It is also possible to filter out snapshot events when reading your Aggregate from the event store. To that end, a SnapshotFilter can be defined per Aggregate type or for the entire EventStore. The SnapshotFilter is a functional interface, providing two main operations: allow(DomainEventData /* allow or disallow this snapshotData */; AggregateConfigurer giftCardConfigurer = AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureSnapshotFilter(config -> giftCardSnapshotFilter); Configurer configurer = DefaultConfigurer.defaultConfiguration() .configureAggregate(giftCardConfigurer); It is possible to define a custom SnapshotFilter for an aggregate as a Spring bean. In order to tie the SnapshotFilter bean to an aggregate, use the snapshotFilter attribute on @Aggregate annotation. @Bean public SnapshotFilter giftCardSnapshotFilter() { return snapshotData -> /* allow or disallow this snapshotData */; } ... @Aggregate(snapshotFilter = \"giftCardSnapshotFilter\") public class GiftCard {...} The above snippet would be feasible to follow if fine-grained control is required when filtering snapshots from the store. For example, when your snapshots are not based on the Aggregate class (which is the default). When this is not required, you can base yourself on the default SnapshotFilter - the RevisionSnapshotFilter. To configure this SnapshotFilter, all you have to do is use the @Revision annotation on your Aggregate class. In doing so, the RevisionSnapshotFilter is set, filtering non-matching snapshots from the Repository’s loading process, based on the value maintained within the `@Revision annotation. Through this, with every new production deployment of your application that adjusts the Aggregate state, you would only have to adjust the revision value in the annotation. Check out the following example for how to set this up: // \"1\" is an example revision value. // You're free to choose whatever value that fits your application's versioning scheme. @Revision(\"1\") public class GiftCard { // Omitted aggregate internals for simplicity. } A snapshot event is an event like any other. That means a snapshot event is handled just like any other domain event. When using annotations to demarcate event handlers (@EventHandler), you can annotate a method that initializes full aggregate state based on a snapshot event. The code sample below shows how snapshot events are treated like any other domain event within the aggregate. public class MyAggregate extends AbstractAnnotatedAggregateRoot { // ... @EventHandler protected void handleSomeStateChangeEvent(MyDomainEvent event) { // ... } @EventHandler protected void applySnapshot(MySnapshotEvent event) { // the snapshot event should contain all relevant state this.someState = event.someState; this.otherState = event.otherState; } } There is one type of snapshot event that is treated differently: the AggregateSnapshot. This type of snapshot event contains the actual aggregate. The aggregate factory recognizes this type of event and extracts the aggregate from the snapshot. Then, all other events are re-applied to the extracted snapshot. That means aggregates never need to be able to deal with AggregateSnapshot instances themselves. A well-designed command handling module should pose no problems when implementing caching. Especially when using event sourcing, loading an aggregate from an Event Store can be an expensive operation. With a properly configured cache in place, loading an aggregate can be converted into a pure in-memory process. To that end, Axon allows the configuration of a Cache object. The framework currently provides several implementations to choose from: WeakReferenceCache - An in-memory cache solution. In most scenarios, this is a good start. EhCacheAdapter - An AbstractCacheAdapter, wrapping EhCache into a usable solution for Axon. This can be used with major version 2, and is therefore deprecated. EhCache3Adapter - An AbstractCacheAdapter, wrapping EhCache into a usable solution for Axon. This can be used only with major version 3. Which has a different group name than version 2. JCacheAdapter - An AbstractCacheAdapter, wrapping JCache into a usable solution for Axon. AbstractCacheAdapter - Abstract implementation towards supporting Axon’s Cache API. Helpful in writing an adapter for a cache implementation that Axon does not support out of the box. Before configuring a Cache, please consider the following guidelines. They will help you get the most out of your caching solution: Make sure the unit of work never needs to perform a rollback for functional reasons. A rollback means that an aggregate has reached an invalid state. Axon will automatically invalidate the cache entries involved. The following request will force the aggregate to be reconstructed from its events. If you use exceptions as a potential (functional) return value, you can configure a RollbackConfiguration on your command bus. By default, the configuration will roll back the unit of work on unchecked exceptions for command handlers and on all exceptions for event handlers. All commands for a single aggregate must arrive on the machine with the aggregate in its cache. This requirement means that commands should be consistently routed to the same machine for as long as that machine is \"healthy.\" Routing commands consistently prevents the cache from going stale. A hit on a stale cache will cause a command to be executed and fail when events are stored in the event store. By default, Axon’s distributed command bus components will use consistent hashing to route commands. Configure a sensible time to live / time to idle. By default, caches tend to have a relatively short time to live, a matter of minutes. For a command handling component with consistent routing, a longer time-to-idle and time-to-live is usually better. This setting prevents the need to re-initialize an aggregate based on its events because its cache entry expired. The time-to-live of your cache should match the expected lifetime of your aggregate. Cache data in-memory. For proper optimization, caches should keep data in-memory (and preferably on-heap) for best performance. This approach prevents the need to (re)serialize aggregates when storing to disk and even off-heap. To configure a cache for your Aggregates, consider the following snippet: public class AxonConfig { // omitting other configuration methods... public void configureAggregateWithCache(Configurer configurer) { AggregateConfigurer giftCardConfigurer = AggregateConfigurer.defaultConfiguration(GiftCard.class) .configureCache(config -> new WeakReferenceCache()); configurer.configureAggregate(giftCardConfigurer); } } The Aggregate annotation allows specification of the cache bean: @Aggregate(cache = \"giftCardCache\") public class GiftCard { // state, command handlers and event sourcing handlers... } This approach does require the bean name to be present in the Application Context of course: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public Cache giftCardCache() { return new WeakReferenceCache(); } }","title":"Event Snapshots","component":"axon-framework-reference","version":"development","name":"event-snapshots","url":"/axon-framework-reference/development/tuning/event-snapshots/","titles":[{"text":"Snapshotting","hash":"_snapshotting","id":1},{"text":"Creating a snapshot","hash":"_creating_a_snapshot","id":2},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":3},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":4},{"text":"Storing snapshot events","hash":"_storing_snapshot_events","id":5},{"text":"Filtering snapshot events","hash":"_filtering_snapshot_events","id":6},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":7},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_2","id":8},{"text":"Initializing an aggregate based on a snapshot event","hash":"_initializing_an_aggregate_based_on_a_snapshot_event","id":9},{"text":"Caching","hash":"_caching","id":10},{"text":"Axon Configuration API","hash":"_axon_configuration_api_3","id":11},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration_3","id":12}]},"78":{"id":78,"text":"Axon framework provides capabilities to tune the performance of your Axon applications. This includes capabilities to take event snapshots, segment tuning, command processing, and general RDBMS tuning suggestions. This section of the documentation intends to detail the capabilities that Axon Framework provides to help tune your Axon applications. A summary of the various subsections is given below: Sub-Section Purpose Event Snapshots Axon Framework provided capabilities to create event snapshots for optimizing Aggregate loading Event Processing Axon Framework provided capabilities for tuning batching and parallel processing of events Command Processing Axon Framework provided capabilities for Command message processing Relational Database Tuning Tuning suggestions when using Axon Framework together with a Relation Database","title":"Tuning","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/tuning/","titles":[]},"79":{"id":79,"text":"When using Axon Framework with a relational database, there are several considerations to take into account when tuning the database for optimal performance: Using the correct indices for the different types of queries used. Configuring the right auto-increment configuration when using JPA. If you have generated the tables automatically using your JPA implementation (for example, Hibernate), you probably do not have all the right indexes set on your tables. Different usages of the event store require different indexes to be set for optimal performance. This list suggests the indexes that should be added for the different types of queries used by the default EventStorageEngine implementation: Normal operational use (storing and loading events) Table DomainEventEntry, columns aggregateIdentifier and sequenceNumber (unique index) Table DomainEventEntry, eventIdentifier (unique index) Snapshotting Table SnapshotEventEntry, aggregateIdentifier column. Table SnapshotEventEntry, eventIdentifier (unique index) Sagas Table AssociationValueEntry, columns sagaType, associationKey and associationValue, Table AssociationValueEntry, columns sagaId and sagaType, The default column lengths generated by, for example, Hibernate may work, but won’t be optimal. A UUID, for example, will always have the same length. Instead of a variable length column of 255 characters, you could use a fixed length column of 36 characters for the aggregate identifier. The timestamp column in the DomainEventEntry table only stores ISO 8601 timestamps. If all times are stored in the UTC timezone, they need a column length of 24 characters. If you use another timezone, this may be up to 28. Using variable length columns is generally not necessary, since time stamps always have the same length. It is highly recommended to store all timestamps in UTC format. In countries with daylight saving time, storing timestamps in local time may result in sorting errors for events generated around and during the timezone switch. This does not occur when UTC is used. Some servers are configured to always use UTC. Alternatively, you should configure the event store to convert timestamps to UTC before storing them. The type column in the DomainEventEntry stores the type identifiers of aggregates. Generally, these are the 'simple name' of the aggregate. Even the infamous AbstractDependencyInjectionSpringContextTests in Spring only counts 45 characters. Here, again, a shorter (but variable) length field should suffice. When using a relational database as an event store, Axon Framework relies on an auto-increment value to allow streaming event processors to read all events roughly in the order they were inserted. We say \"roughly\", because \"insert-order\" and \"commit-order\" are different things. While auto-increment values are (generally) generated at insert-time, these values only become visible at commit-time. This means another process may observe these sequence numbers arriving in a different order. While Axon Framework has mechanisms to ensure that eventually all events are handled, even when they become visible in a different order, there are limitations and performance aspects to consider. When a streaming event processor reads events, it uses the \"global sequence\" to track its progress. When events become available in a different order than they were inserted, Axon Framework will encounter a \"gap.\" Axon Framework will remember these \"gaps\" to verify that data has become available since the last read. These gaps may be the result of events becoming visible in a different order, but also because a transaction was rolled back. It is highly recommended to ensure that no gaps exist because of over eagerly increasing the sequence number. The mechanism for checking gaps is convenient, but comes with a performance impact. When using a JpaEventStorageEngine, Axon Framework relies on the JPA implementation to create the table structure. While this will work, it is unlikely to provide the configuration that has the best performance for the database engine in use. That is because Axon Framework uses default settings for the @GeneratedValue annotation. When using the @GeneratedValue annotation as-is in Hibernate 6, the default increment value jumped to 50. This change, in combination with, for example, the multitenancy extension, may lead to uniqueness issues. Hence, it is strongly recommended to define a custom sequence generator, as described below. To override these settings, create a file called /META-INF/orm.xml on the classpath, which looks as follows: It is important to specify metadata-complete=\"false\". This indicates this file should be used to override existing annotations, instead of replacing them. For the best results, ensure that the DomainEventEntry table uses its own sequence. This can be ensured by specifying a different sequence generator for that entity only. Specific to PostgreSQL is its TOAST and Large Object Storage functionality. TOAST stands for \"the oversized attribute storage technique,\" ensuring columns that are (by default) larger than 8KB are: Compressed if possible. If this is insufficient, the wide columns is broken into chunks and moved to another table. Any field that is moved out of line to this other \"TOAST-table\" will transparently be replaced by out-of-line identifiers. Furthermore, TOASTing is only supported for PostgreSQL data types like BYTEA or TEXT. Large Object Storage takes a slightly different route, as instead, it uses a fixed OID column type. This \"object identifier\" will allow the main table to point to the actual data in a \"large object storage table.\" The Large Object Storage route will be traversed whenever a column type is a LOB, BLOB, or CLOB. Although the Large Object Storage is a useful feature from PostgreSQL to help with large objects, it has some impact too, being: There is some added overhead when reading data, as the original and the large object table should be read. Removing an object that has an OID column does not automatically remove it from the large object table. Manually querying the table will result in an OID column instead of the actual data being shown. Let us look how this behavior from PostgreSQL combines with Axon Framework when combined with JPA and Hibernate. Axon Framework uses the @Lob in several columns and tables for its JPA-based support, being: The payload and meta_data columns in the domain_event_entry table. The payload and meta_data columns in the snapshot_event_entry table. The token column in the token_entry table. The serialized_saga column in the saga_entry table. The diagnostics, payload, metadata, and token column in the dead_letter_entry table. Furthermore, Hibernate will by default use the aforementioned OID type whenever an @Lob annotation is found. Thus, the dedicate large object storage solution will be used if you are using PostgreSQL to store events, snapshots, tokens, sagas, and dead letters. As events and snapshots are frequently read, the overhead predicament discussed earlier will be hit. Arguably more problematic is issue two, especially for the token_entry table. The \"claim\" on a token is frequently updated to allow correct collaboration in a distributed Axon setup (please read our Tracking Tokens section for more details). As the large object table is not automatically cleared, it will eventually overflow through all the updates. Hence, it would be best to avoid the Large Object Storage behavior and instead opt for the transparent TOAST feature. We can achieve this by adjusting Hibernate’s settings, to map the @Lob annotated fields to the BYTEA type. Since Axon Framework stores a byte array in each of the @Lob annotated columns, changing it to the BYTEA type makes sense. Luckily, changing these settings can be done with three easy steps: Adjust the Hibernate dialect. Override the Hibernate mapping. [Optional] Migrate existing columns from OID to BYTEA. To adjust the dialect to not go for OID, we can enforce the type to BYTEA by providing a custom dialect. Down below is a PostgreSQLDialect implementation that would get the trick done: public class ByteaEnforcedPostgresSQLDialect extends PostgreSQLDialect { public ByteaEnforcedPostgresSQLDialect(){ super(DatabaseVersion.make(9, 5)); } @Override protected String columnType(int sqlTypeCode) { return sqlTypeCode == SqlTypes.BLOB ? \"bytea\" : super.columnType(sqlTypeCode); } @Override protected String castType(int sqlTypeCode) { return sqlTypeCode == SqlTypes.BLOB ? \"bytea\" : super.castType(sqlTypeCode); } @Override public void contributeTypes(TypeContributions typeContributions, ServiceRegistry serviceRegistry) { super.contributeTypes(typeContributions, serviceRegistry); JdbcTypeRegistry jdbcTypeRegistry = typeContributions.getTypeConfiguration() .getJdbcTypeRegistry(); jdbcTypeRegistry.addDescriptor(Types.BLOB, BinaryJdbcType.INSTANCE); } } With the dialect in your application, your next step is to configure it to be used. This can for example be done by setting the jpa.database-platform property when using Spring: jpa.database-platform=fully.qualified.classname.ByteaEnforcedPostgresSQLDialect We use the Hibernate metadata override mechanism to tell which columns need to be of the BYTEA type instead of OID. To that end, add a file named orm.xml (ORM stands for object-relational mapping) under src/main/java/resources/META-INF directory containing the overrides. Below is an example of overriding the serializedSaga and token columns from the SagaEntry and TokenEntry respectively: If you already have Axon-specific tables using the OID type, you need to migrate them to BYTEA. The following SQL script can get the job done for the token_entry table: ALTER TABLE token_entry ADD COLUMN token_bytea BYTEA; UPDATE token_entry SET token_bytea = lo_get(token); ALTER TABLE token_entry DROP COLUMN token; ALTER TABLE token_entry RENAME COLUMN token_bytea to token; After making all the changes and running the SQL script, the data-affected columns should now all be readable.","title":"Relational Database Tuning","component":"axon-framework-reference","version":"development","name":"rdbms-tuning","url":"/axon-framework-reference/development/tuning/rdbms-tuning/","titles":[{"text":"Important indices","hash":"_important_indices","id":1},{"text":"Auto-increment and sequences","hash":"_auto_increment_and_sequences","id":2},{"text":"PostgreSQL, @LOB-annotated columns, and default Hibernate mapping","hash":"_postgresql_lob_annotated_columns_and_default_hibernate_mapping","id":3},{"text":"Hibernate dialect changes","hash":"_hibernate_dialect_changes","id":4},{"text":"Hibernate mapping override","hash":"_hibernate_mapping_override","id":5},{"text":"OID to BYTEA column migration","hash":"_oid_to_bytea_column_migration","id":6}]},"80":{"id":80,"text":"Regularly, instantiating a new Aggregate is done by issuing a creation command which is handled by a @CommandHandler annotated Aggregate constructor. Such commands could for example be published by a simple REST endpoint or an Event Handling Component as a reaction to a certain event. Sometimes the Domain however describes certain Entities to be created from another Entity. In this scenario it would thus be more faithful to the domain to instantiate an Aggregate from its parent Aggregate. Aggregate-from-Aggregate Use Case The most suitable scenario to create a \"child\" Aggregate from a \"parent\" Aggregate, is when the decision to create the child lies within the context of a parent Aggregate. This can for example manifest itself if the parent Aggregate contains the necessary state which can drive this child-creation decision. Let us assume we have a ParentAggregate, that upon handling a certain command will decide to create an ChildAggregate. To achieve this, ParentAggregate would look something like this: import org.axonframework.commandhandling.CommandHandler; import static org.axonframework.modelling.command.AggregateLifecycle.createNew; public class ParentAggregate { @CommandHandler public void handle(SomeParentCommand command) { createNew( ChildAggregate.class, () -> new ChildAggregate(/* provide required constructor parameters if applicable */) ); } // omitted no-op constructor, event sourcing handlers and other command handlers } The AggregateLifecycle#createNew(Class, Callable) is key to instantiation another Aggregate like our ChildAggregate as a reaction to handling a command. The first parameter to the createNew method is the Class of the Aggregate to be created. The second parameter is the factory method, which expects the outcome to be an object identical to the given type. The ChildAggregate implementation would in this scenario resemble the following format: import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class ChildAggregate { public ChildAggregate(String aggregateId) { apply(new ChildAggregateCreatedEvent(aggregateId)); } // omitted no-op constructor, command and event sourcing handlers } Note that a ChildAggregateCreatedEvent is explicitly applied to notify the ChildAggregate was created, as this knowledge would otherwise be enclosed in the SomeParentCommand command handler of the ParentAggregate. Creating Aggregates from Event Sourcing Handlers Creation of a new Aggregate should be done in a command handler rather than in an event sourcing handler. The rationale behind this is that you do not want to create new child Aggregates when a parent Aggregate is sourced from its events, as this would undesirably create new child Aggregate instances If the createNew method is however accidentally called within an event sourcing handler, an UnsupportedOperationException will be thrown as stop gap solution.","title":"Aggregate Creation from another Aggregate","component":"axon-framework-reference","version":"development","name":"aggregate-creation-from-another-aggregate","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/","titles":[{"text":"How to create an aggregate from another aggregate","hash":"_how_to_create_an_aggregate_from_another_aggregate","id":1}]},"81":{"id":81,"text":"In certain cases it is beneficial to have a polymorphic hierarchy in aggregate structure. Subtypes in polymorphic aggregate hierarchy inherit @CommandHandler`s, `@EventSourcingHandler`s and `@CommandHandlerInterceptor`s from the super aggregates. Based on `@AggregateIdentifier the correct aggregate type is loaded and command is executed on it. Let’s take a look at the following example: public abstract class Card {} public class GiftCard extends Card {} public class ClosedLoopGiftCard extends GiftCard {} public class OpenLoopGiftCard extends GiftCard {} public class RechargeableGiftCard extends ClosedLoopGiftCard {} We can define this structure as Polymorphic Aggregate of type GiftCard and subtypes of ClosedLoopGiftCard, OpenLoopGiftCard, and RechargeableGiftCard. If there are handlers present on Card class, those will be present on all aggregates as well. While modeling a polymorphic aggregate hierarchy it is important to keep these constraints in mind: It is not allowed to have a constructor annotated with @CommandHandler on abstract aggregate. The rationale for this is that an abstract aggregate can never be created. Having creational command handlers of the same command name on different aggregates in the same hierarchy is forbidden too, since Axon cannot derive which one to invoke. In a polymorphic aggregate hierarchy it is not allowed to have multiple @AggregateIdentifier and @AggregateVersion annotated fields. A polymorphic aggregate hierarchy can be registered via the AggregateConfigurer by invoking AggregateConfigurer#withSubtypes(Set>). Do note that children of the parent aggregate that you do not register as a subtype will be automatically registered by the framework as a subtype. So, in the following example, the ClosedLoopGiftCard is transitively registered as a subtype of GiftCard. However, if there is a LimitedRechargeableGiftCard extends RechargeableGiftCard defined, the framework will not pick it up automatically since it is not a direct child of the parent aggregate. public class AxonConfig { // omitting other configuration methods... public AggregateConfigurer giftCardConfigurer() { Set> subtypes = new HashSet<>(); subtypes.add(OpenLoopGiftCard.class); subtypes.add(RechargeableGiftCard.class); return AggregateConfigurer.defaultConfiguration(GiftCard.class) .withSubtypes(subtypes); } // ... } class GiftCard { // omitted implementation for brevity } class OpenLoopGiftCard extends GiftCard { // omitted implementation for brevity } class RechargeableGiftCard extends GiftCard { // omitted implementation for brevity } Polymorphic Aggregates in Spring If you are using Spring, Axon will automatically detect polymorphic aggregates based on the @Aggregate annotations and class hierarchy. The @Aggregate annotation needs to be put on the shared parent class that contains the aggregate identifier, as well as every subclass that is a potential instance type of that shared parent class.","title":"Aggregate Polymorphism","component":"axon-framework-reference","version":"development","name":"aggregate-polymorphism","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-polymorphism/","titles":[{"text":"Registering aggregate subtypes","hash":"_registering_aggregate_subtypes","id":1}]},"82":{"id":82,"text":"Aggregates are an important concept in Domain-Driven Design. They are clusters of related entities and value objects acting as a single unit. They help maintain consistency and encapsulate domain logic within specific boundaries, ensuring changes to one part don’t mess up others. Aggregates are commonly used to model the core business entities in a system based on Domain-Driven Design and CQRS. This chapter will cover the basics on how to implement one in Axon Framework. An Aggregate is a regular Java object, which contains state and methods to alter that state. When creating the Aggregate object, you are effectively creating the 'Aggregate Root', typically carrying the name of the entire Aggregate. For the purpose of this description the 'Gift Card' domain will be used, which brings us the GiftCard as the Aggregate (Root). By default, Axon will configure your Aggregate as an 'Event Sourced' Aggregate. You can read more about Event-Sourcing here. Henceforth, our basic GiftCard Aggregate structure will focus on the Event Sourcing approach: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.eventsourcing.EventSourcingHandler; import org.axonframework.modelling.command.AggregateIdentifier; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier (1) private String id; @CommandHandler (2) public GiftCard(IssueCardCommand cmd) { (3) apply(new CardIssuedEvent(cmd.getCardId(), cmd.getAmount())); } @EventSourcingHandler (4) public void on(CardIssuedEvent evt) { id = evt.getCardId(); } (5) protected GiftCard() { } // omitted command handlers and event sourcing handlers } There are a couple of noteworthy concepts from the given code snippets, marked with numbered Java comments referring to the following bullets: 1 The @AggregateIdentifier is the external reference point to into the GiftCard Aggregate. This field is a hard requirement, as without it Axon will not know to which Aggregate a given Command is targeted. Note that this annotation can be placed on a field and a method. 2 A @CommandHandler annotated constructor, or differently put the 'command handling constructor'. This annotation tells the framework that the given constructor is capable of handling the IssueCardCommand. The @CommandHandler annotated functions are the place where you would put your decision-making/business logic. 3 The static AggregateLifecycle#apply(Object…​) is what is used when an Event Message should be published. Upon calling this function the provided `Object`s will be published as `EventMessage`s within the scope of the Aggregate they are applied in. 4 Using the @EventSourcingHandler is what tells the framework that the annotated function should be called when the Aggregate is 'sourced from its events'. As all the Event Sourcing Handlers combined will form the Aggregate, this is where all the state changes happen. Note that the Aggregate Identifier must be set in the @EventSourcingHandler of the first Event published by the aggregate. This is usually the creation event. Lastly, @EventSourcingHandler annotated functions are resolved using specific rules. These rules are the same for the @EventHandler annotated methods, and are thoroughly explained in Annotated Event Handler. 5 A no-arg constructor, which is required by Axon. Axon Framework uses this constructor to create an empty aggregate instance before initializing it using past Events. Failure to provide this constructor will result in an exception when loading the Aggregate. Modifiers for Message Handling functions Event Handler methods may be private, as long as the security settings of the JVM allow the Axon Framework to change the accessibility of the method. This allows you to clearly separate the public API of your Aggregate, which exposes the methods that generate events, from the internal logic, which processes the events. Most IDE’s have an option to ignore \"unused private method\" warnings for methods with a specific annotation. Alternatively, you can add an @SuppressWarnings(\"UnusedDeclaration\") annotation to the method to make sure you do not accidentally delete an event handler method. There are a couple of operations which are desirable to be performed whilst in the life cycle of an Aggregate. To that end, the AggregateLifecycle class in Axon provides a couple of static functions: apply(Object) and apply(Object, MetaData): The AggregateLifecycle#apply will publish an Event message on an EventBus such that it is known to have originated from the Aggregate executing the operation. There is the possibility to provide just the Event Object or both the Event and some specific MetaData. createNew(Class, Callable): Instantiate a new Aggregate as a result of handling a Command. Read this for more details on this. isLive(): Check to verify whether the Aggregate is in a 'live' state. An Aggregate is regarded to be 'live' if it has finished replaying historic events to recreate it’s state. If the Aggregate is thus in the process of being event sourced, an AggregateLifecycle.isLive() call would return false. Using this isLive() method, you can perform activity that should only be done when handling newly generated events. markDeleted(): Will mark the Aggregate instance calling the function as being 'deleted'. Useful if the domain specifies a given Aggregate can be removed/deleted/closed, after which it should no longer be allowed to handle any Commands. This function should be called from an @EventSourcingHandler annotated function to ensure that being marked deleted is part of that Aggregate’s state.","title":"Aggregates","component":"axon-framework-reference","version":"development","name":"aggregate","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate/","titles":[{"text":"Basic aggregate structure","hash":"_basic_aggregate_structure","id":1},{"text":"Aggregate lifecycle operations","hash":"_aggregate_lifecycle_operations","id":2}]},"83":{"id":83,"text":"One of the major advantages of being explicit about the meaning of changes, is that you can detect conflicting changes with more precision. Typically, these conflicting changes occur when two users are acting on the same data (nearly) simultaneously. Imagine two users, both looking at a specific version of the data. They both decide to make a change to that data. They will both send a command like \"on version X of this aggregate, do that\", where X is the expected version of the aggregate. One of them will have the changes actually applied to the expected version. The other user won’t. Instead of simply rejecting all incoming commands when aggregates have been modified by another process, you could check whether the user’s intent conflicts with any unseen changes. To detect conflict, pass a parameter of type ConflictResolver to the @CommandHandler method of your aggregate. This interface provides detectConflicts methods that allow you to define the types of events that are considered a conflict when executing that specific type of command. Expected Aggregate Version The ConflictResolver will only contain any potentially conflicting events if the Aggregate was loaded with an expected version. Use @TargetAggregateVersion on a field of a command to indicate the expected version of the Aggregate. If events matching the predicate are found, an exception is thrown (the optional second parameter of detectConflicts allows you to define the exception to throw). If none are found, processing continues as normal. If no invocations to detectConflicts are made, and there are potentially conflicting events, the @CommandHandler will fail. This may be the case when an expected version is provided, but no ConflictResolver is available in the parameters of the @CommandHandler method.","title":"Conflict Resolution","component":"axon-framework-reference","version":"development","name":"conflict-resolution","url":"/axon-framework-reference/development/axon-framework-commands/modeling/conflict-resolution/","titles":[]},"84":{"id":84,"text":"Complex business logic often requires more than what an Aggregate with only an Aggregate Root can provide. In that case, it is important that the complexity is spread over a number of 'Entities' within the aggregate. In this chapter we will discuss the specifics around creating entities in your aggregates and how they can handle message. State among Entities A common misinterpretation of the rule that aggregates should not expose state, is that none of the entities should contain any property accessor methods. This is not the case. In fact, an aggregate will probably benefit a lot if the entities within the aggregate expose state to the other entities in that same aggregate. However, is is recommended not to expose the state outside the aggregate. Within the 'Gift Card' domain, the GiftCard aggregate root was defined in this section. Let’s leverage this domain to introduce entities: import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.EntityId; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember (1) private List transactions = new ArrayList<>(); private int remainingValue; // omitted constructors, command and event sourcing handlers } public class GiftCardTransaction { @EntityId (2) private String transactionId; private int transactionValue; private boolean reimbursed = false; public GiftCardTransaction(String transactionId, int transactionValue) { this.transactionId = transactionId; this.transactionValue = transactionValue; } public String getTransactionId() { return transactionId; } // omitted command handlers, event sourcing handlers and equals/hashCode } Entities are, just like the aggregate root, simple objects, as is shown with the new GiftCardTransaction entity. The snippet above shows two important concepts of multi-entity aggregates: 1 The field that declares the child entity/entities must be annotated with @AggregateMember. This annotation tells Axon that the annotated field contains a class that should be inspected for message handlers. This example shows the annotation on an implementation of Iterable, but it can also be placed on a single Object or a Map. In the latter case, the values of the Map are expected to contain the entities, while the key contains a value that is used as their reference. Note that this annotation can be placed on a field and a method. 2 The @EntityId annotation specifying the identifying field of an Entity. Required to be able to route a command (or event) message to the correct entity instance. The property on the payload that will be used to find the entity that the message should be routed to, defaults to the name of the @EntityId annotated field. For example, when annotating the field transactionId, the command must define a property with that same name, which means either a transactionId or a getTransactionId() method must be present. If the name of the field and the routing property differ, you may provide a value explicitly using @EntityId(routingKey = \"customRoutingProperty\"). This annotation is mandatory on the Entity implementation if it will be part of a Collection or Map of child entities. Note that this annotation can be placed on a field and a method. Defining the Entity type The field declaration for both the Collection or Map should contain proper generics to allow Axon to identify the type of Entity contained in the collection or map. If it is not possible to add the generics in the declaration (for example, because you’re using a custom implementation which already defines generic types), you must specify the entity type by specifying the type field in the @AggregateMember annotation: @AggregateMember(type = GiftCardTransaction.class) @CommandHandler annotations are not limited to the aggregate root. Placing all command handlers in the root will sometimes lead to a large number of methods on the aggregate root, while many of them simply forward the invocation to one of the underlying entities. If that is the case, you may place the @CommandHandler annotation on one of the underlying entities' methods. For Axon to find these annotated methods, the field declaring the entity in the aggregate root must be marked with @AggregateMember: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.EntityId; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember private List transactions = new ArrayList<>(); private int remainingValue; // omitted constructors, command and event sourcing handlers } public class GiftCardTransaction { @EntityId private String transactionId; private int transactionValue; private boolean reimbursed = false; public GiftCardTransaction(String transactionId, int transactionValue) { this.transactionId = transactionId; this.transactionValue = transactionValue; } @CommandHandler public void handle(ReimburseCardCommand cmd) { if (reimbursed) { throw new IllegalStateException(\"Transaction already reimbursed\"); } apply(new CardReimbursedEvent(cmd.getCardId(), transactionId, transactionValue)); } // omitted getter, event sourcing handler and equals/hashCode } Note that only the declared type of the annotated field is inspected for command handlers. If a field value is null at the time an incoming command arrives for that entity, an exception is thrown. If there is a Collection or Map of child entities and none entity can be found which matches the routing key of the command, Axon throws an IllegalStateException as apparently the aggregate is not capable of processing the command at that point in time. Command Handler considerations Each command must have exactly one handler in the aggregate. This means that you cannot annotate multiple entities (either root nor not) with @CommandHandler which handle the same command type. In case you need to conditionally route a command to an entity, the parent of these entities should handle the command, and forward it based on the conditions that apply. The runtime type of the field does not have to be exactly the declared type. However, only the declared type of the @AggregateMember annotated field is inspected for @CommandHandler methods. When using event sourcing as the mechanism to store the aggregates, not only the aggregate root needs to use events to trigger state transitions, but so does each of the entities within that aggregate. Axon provides support for event sourcing complex aggregate structures like these out of the box. When an entity (including the aggregate root) applies an event, it is handled by the aggregate root first, and then bubbles down through every @AggregateMember annotated field to all its containing child entities: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.EntityId; import static org.axonframework.modelling.command.AggregateLifecycle.apply; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember private List transactions = new ArrayList<>(); @CommandHandler public void handle(RedeemCardCommand cmd) { // Some decision making logic apply(new CardRedeemedEvent(id, cmd.getTransactionId(), cmd.getAmount())); } @EventSourcingHandler public void on(CardRedeemedEvent evt) { // 1. transactions.add(new GiftCardTransaction(evt.getTransactionId(), evt.getAmount())); } // omitted constructors, command and event sourcing handlers } public class GiftCardTransaction { @EntityId private String transactionId; private int transactionValue; private boolean reimbursed = false; public GiftCardTransaction(String transactionId, int transactionValue) { this.transactionId = transactionId; this.transactionValue = transactionValue; } @CommandHandler public void handle(ReimburseCardCommand cmd) { if (reimbursed) { throw new IllegalStateException(\"Transaction already reimbursed\"); } apply(new CardReimbursedEvent(cmd.getCardId(), transactionId, transactionValue)); } @EventSourcingHandler public void on(CardReimbursedEvent event) { // 2. if (transactionId.equals(event.getTransactionId())) { reimbursed = true; } } // omitted getter and equals/hashCode } Two specifics are worth mentioning from the above snippet, pointed out with numbered Java comments: The creation of the Entity takes place in an event sourcing handler of its parent. It is thus not possible to have a 'command handling constructor' on the entity class as with the aggregate root. The event sourcing handler in the entity performs a validation check whether the received event actually belongs to the entity. This is necessary as events applied by one entity instance will also be handled by any other entity instance of the same type. The situation described in bullet point two is customizable, by changing the eventForwardingMode on the @AggregateMember annotation: import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import org.axonframework.modelling.command.ForwardMatchingInstances; public class GiftCard { @AggregateIdentifier private String id; @AggregateMember(eventForwardingMode = ForwardMatchingInstances.class) private List transactions = new ArrayList<>(); // omitted constructors, command and event sourcing handlers } By setting the eventForwardingMode to ForwardMatchingInstances an Event Message will only be forwarded if it contains a field/getter which matches the name of the @EntityId annotated field on the entity. This routing behaviour can be further specified with the routingKey field on the @EntityId annotation, mirroring that of routing commands in entities. Other forwarding modes which can be used are ForwardAll (the default) and ForwardNone, which respectively forward all events to all entities or no events at all.","title":"Multi-Entity Aggregates","component":"axon-framework-reference","version":"development","name":"multi-entity-aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/multi-entity-aggregates/","titles":[{"text":"Command handling in entities","hash":"_command_handling_in_entities","id":1},{"text":"Event Sourcing handlers in entities","hash":"_event_sourcing_handlers_in_entities","id":2}]},"85":{"id":85,"text":"In the Aggregate main page we have seen how to create an Aggregate backed by Event Sourcing. In other words, the storage method for an Event Sourced Aggregate is by replaying the events which constitute the changes on the Aggregate. An Aggregate can, however, be stored as-is too. When doing so, the Repository used to save and load the Aggregate, is the GenericJpaRepository. The structure of a state-stored Aggregate is a little different from an Event Sourced Aggregate: import org.axonframework.commandhandling.CommandHandler; import org.axonframework.eventhandling.EventHandler; import org.axonframework.modelling.command.AggregateIdentifier; import org.axonframework.modelling.command.AggregateMember; import jakarta.persistence.CascadeType; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.OneToMany; @Entity (1) public class GiftCard { @Id (2) @AggregateIdentifier private String id; (3) @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = \"giftCardId\") @AggregateMember private List transactions = new ArrayList<>(); private int remainingValue; @CommandHandler (4) public GiftCard(IssueCardCommand cmd) { if (cmd.getAmount() remainingValue) { throw new IllegalStateException(\"amount > remaining value\"); } if (transactions.stream().map(GiftCardTransaction::getTransactionId).anyMatch(cmd.getTransactionId()::equals)) { throw new IllegalStateException(\"TransactionId must be unique\"); } (7) remainingValue -= cmd.getAmount(); transactions.add(new GiftCardTransaction(id, cmd.getTransactionId(), cmd.getAmount())); apply(new CardRedeemedEvent(id, cmd.getTransactionId(), cmd.getAmount())); } @EventHandler (8) protected void on(CardReimbursedEvent event) { this.remainingValue += event.getAmount(); } protected GiftCard() { } (9) } The above code shows a state-stored Aggregate from a 'Gift Card Service'. The numbered comments in the snippet point out Axon specifics which are explained here: 1 As the Aggregate is stored in a JPA repository, it is required to annotated the class with @Entity. 2 An Aggregate Root must declare a field that contains the Aggregate Identifier. This identifier must be initialized at the latest when the first event is published. This identifier field must be annotated by the @AggregateIdentifier annotation. When using JPA to store the Aggregate, Axon knows to use the @Id annotation provided by JPA. Since the Aggregate is an entity, the @Id annotation is a hard requirement. 3 This Aggregate has several 'Aggregate Members'. Since the Aggregate is stored as is, the correct mapping of the entities should be taken into account. 4 A @CommandHandler annotated constructor, or differently put the 'command handling constructor'. This annotation tells the framework that the given constructor is capable of handling the IssueCardCommand. 5 The static AggregateLifecycle#apply(Object…​) may be used to publish an Event Message. Upon calling this function the provided `Object`s will be published as `EventMessage`s within the scope of the Aggregate they are applied in. 6 The Command Handling method will first decide whether the incoming Command is valid to handle at this point. 7 After the business logic has been validated, the state of the Aggregate may be adjusted 8 Entities within an Aggregate can listen to the events the Aggregate publishes, by defining an @EventHandler annotated method. These methods will be invoked when an Event Message is published prior to being handled by any external handlers. 9 A no-arg constructor, which is required by JPA. Failure to provide this constructor will result in an exception when loading the Aggregate. Adjusting state in Command Handlers Differently from Event Sourced Aggregates, State-Stored Aggregates can pair the decission making logic and state changes in a Command Handler. There are no consequences for State-Stored Aggregates in following this paradigm as there are no Event Sourcing Handlers which drive it’s state.","title":"State Stored Aggregates","component":"axon-framework-reference","version":"development","name":"state-stored-aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/state-stored-aggregates/","titles":[]},"86":{"id":86,"text":"When configuring error handling for your event processors, you might want to consider a Dead-Letter Queue to park events that you were unable to handle. Instead of either logging the error and continuing, or infinitely retrying the current event, a Dead-Letter Queue will park the event in the queue so you can decide to try and handle it again later. In addition, it will prevent handling of later events in the same sequence until the failed event is successfully processed. Insight and Management AxonIQ Console provides insight into the Dead-Letter Queue and tools for its management. It’s straightforward to see the dead letters in the queue and decide to retry them or remove them from the queue. You can find more information on the Dead-Letter Queue page of AxonIQ Console. Note that you cannot share a dead-letter queue between different processing groups. Hence, each processing group you want to enable this behavior for should receive a unique dead-letter queue instance. Dead-Letter Queues do not support Sagas Currently, there is no support for using a dead-letter queue for sagas. We’ve taken this decision as we cannot support a sequenced dead lettering approach as we do for regular event handling. Furthermore, we cannot do this, as a saga’s associations can vary widely between events. Due to this, the sequence of events may change, breaking this level of support. Hence, there’s no way of knowing whether a next event in the stream does or does not belong to a saga. Axon Framework’s event processors maintain the ordering of events within the same sequence, even when you configure parallel processing. A perfect example when this is a requirement is the need to handle events of the same aggregate in their publishing order. Simply dead lettering one failed event would cause later events in the sequence to be applied to inconsistent state. So it’s important that a dead-letter queue for events enqueues an event and any following events in the sequence. To that end, the supported dead-letter queue is a so-called SequencedDeadLetterQueue. Integral to its design is to allow for queueing failed events and events that belong to a faulty sequence. It does so by maintaining a sequence identifier for each event, determined by the sequencing policy. We currently provide the following dead-letter queue implementations: InMemorySequencedDeadLetterQueue - In-memory variant of the dead-letter queue. Useful for testing purposes, but as it does not persist dead letters, it is unsuited for production environments. JpaSequencedDeadLetterQueue - JPA variant of the dead-letter queue. It constructs a dead_letter_entry table where it persists failed-events in. The JPA dead-letter queue is a suitable option for production environments by persisting the dead letters. JdbcSequencedDeadLetterQueue - JDBC variant of the dead-letter queue. It constructs a dead_letter_entry table where it persists failed-events in. The JDBC dead-letter queue is a suitable option for production environments by persisting the dead letters. MongoSequencedDeadLetterQueue - Mongo variant of the dead-letter queue, available via the Mongo Extension. It constructs a deadletters collection where it persists failed-events in. The MongoDB dead-letter queue is a suitable option for production environments by persisting the dead letters. Before configuring a SequencedDeadLetterQueue it is vital to validate whether your event handling functions are idempotent. As a processing group consists of several Event Handling Components (as explained in the intro of this chapter), some handlers may succeed in event handling while others will not. As a configured dead-letter queue does not stall event handling, a failure in one Event Handling Component does not cause a rollback for other event handlers. Furthermore, as the dead-letter support is on the processing group level, dead-letter processing will invoke all event handlers for that event within the processing group. Thus, if your event handlers are not idempotent, processing letters may result in undesired side effects. Hence, we strongly recommend making your event handlers idempotent when using the dead-letter queue. The principle of exactly once delivery is no longer guaranteed; at-least-once delivery is the reality to cope with. A JpaSequencedDeadLetterQueue configuration example: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureDeadLetterQueue(EventProcessingConfigurer processingConfigurer) { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. processingConfigurer.registerDeadLetterQueue( \"my-processing-group\", config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .entityManagerProvider(config.getComponent(EntityManagerProvider.class)) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule deadLetterQueueConfigurerModule() { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. return configurer -> configurer.eventProcessing().registerDeadLetterQueue( \"my-processing-group\", config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .entityManagerProvider(config.getComponent(EntityManagerProvider.class)) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } } You can set the maximum number of saved sequences (defaults to 1024) and the maximum number of dead letters in a sequence (also defaults to 1024). If either of these thresholds is exceeded, the queue will throw a DeadLetterQueueOverflowException. This exception means the processing group will stop processing new events altogether. Thus, the processing group moves back to the behavior described at the start of the Error Handling section. To make it easier to use a dead-letter queue on multiple processing groups, it’s possible to set a dead-letter queue provider. The provider is a function that takes a processing group, and returns either null, meaning it will not be configured using a dead-letter queue, or a function that takes the Configuration and returns a new dead-letter queue. Here is a JpaSequencedDeadLetterQueue configuration example that uses a collection to determine if a dead-letter queue should be created for a given processing group: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureDeadLetterQueue(EventProcessingConfigurer processingConfigurer) { processingConfigurer.registerDeadLetterQueueProvider( processingGroup -> { //dlqEnabledGroups is a collection with the groups that should have a dlq if (dlqEnabledGroups.contains(processingGrouping)) { return config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(processingGroup) .entityManagerProvider(config.getComponent( EntityManagerProvider.class )) .transactionManager(config.getComponent( TransactionManager.class )) .serializer(config.serializer()) .build(); } else { return null; } } ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule deadLetterQueueConfigurerModule () { return configurer -> configurer.eventProcessing().registerDeadLetterQueueProvider( processingGroup -> { //dlqEnabledGroups is a collection with the groups that should have a dlq if (dlqEnabledGroups.contains(processingGrouping)) { return config -> JpaSequencedDeadLetterQueue.builder() .processingGroup(processingGroup) .entityManagerProvider(config.getComponent( EntityManagerProvider.class )) .transactionManager(config.getComponent( TransactionManager.class )) .serializer(config.serializer()) .build(); } else { return null; } } ); } } If you are using Spring Boot, a default dead-letter queue provider will be set if using JPA, JDBC, or Mongo. The default dead-letter queue provider will use the axon.eventhandling.processors.my-processor.dlq.enabled property to determine whether to return null or a dead-letter queue factory method. For example, by setting the axon.eventhandling.processors.my-processing-group.dlq.enabled to true you would enable the dead-letter queue for the my-processing-group processing group. Once you resolve the problem that led to dead lettering events, we can start processing the dead letters. We recommend using the SequencedDeadLetterProcessor interface for this, as it processes an entire dead-letter sequence instead of single dead-letter entries. It will thus ensure the event order is maintained during the retry. The SequencedDeadLetterProcessor provides two operations to process dead letters: boolean processAny() - Process the oldest dead-letter sequence. Returns true if it processes a sequence successfully. boolean process(Predicate>) - Process the oldest dead-letter sequence matching the predicate. Note that the predicate only filters based on a sequence’s first entry. Returns true if it processes a sequence successfully. If the processing of a dead letter fails, the event will be offered to the dead-letter queue again. How the dead-lettering process reacts to this depends on the enqueue policy. You can retrieve a SequencedDeadLetterProcessor from the EventProcessingConfiguration based on a processing group name if you have configured a dead-letter queue for this processing group. Below are a couple of examples of how to process dead-letter sequences: Process the oldest dead-letter sequence matching ErrorEvent Process the oldest dead-letter sequence in the queue Process all dead-letter sequences in the queue public class DeadletterProcessor { private EventProcessingConfiguration config; public void retryErrorEventSequence(String processingGroup) { config.sequencedDeadLetterProcessor(processingGroup) .ifPresent(letterProcessor -> letterProcessor.process( deadLetter -> deadLetter.message().getPayload() instanceof ErrorEvent )); } } public class DeadletterProcessor { private EventProcessingConfiguration config; public void retryAnySequence(String processingGroup) { config.sequencedDeadLetterProcessor(processingGroup) .ifPresent(SequencedDeadLetterProcessor::processAny); } } public class DeadletterProcessor { private EventProcessingConfiguration config; public void retryAllSequences(String processingGroup) { Optional>> optionalLetterProcessor = config.sequencedDeadLetterProcessor(processingGroup); if (!optionalLetterProcessor.isPresent()) { return; } SequencedDeadLetterProcessor> letterProcessor = optionalLetterProcessor.get(); // Retrieve all the dead lettered event sequences: Iterable>>> deadLetterSequences = config.deadLetterQueue(processingGroup) .map(SequencedDeadLetterQueue::deadLetters) .orElseThrow(() -> new IllegalArgumentException(\"No such Processing Group\")); // Iterate over all sequences: for (Iterable>> sequence : deadLetterSequences) { Iterator>> sequenceIterator = sequence.iterator(); String firstLetterId = sequenceIterator.next() .message() .getIdentifier(); // SequencedDeadLetterProcessor#process automatically retries an entire sequence. // Hence, we only need to filter on the first entry of the sequence: letterProcessor.process(deadLetter -> deadLetter.message().getIdentifier().equals(firstLetterId)); } } } For some event handlers, it is beneficial to know if the event it is processing is dead-lettered. To that end, you can include a parameter of type DeadLetter> to your event handling methods. The generic refers to the type of event handled by the event handler. The injected DeadLetter parameter exposes several attributes, like the cause() and diagnostics(), for example. Do note that the DeadLetter parameter is nullable. When the injected DeadLetter is null, you deal with a non-dead-lettered event. If it is not null, the event handling occurs as a follow-up of invoking the process(Predicate>) or processAny() methods on the SequencedDeadLetterProcessor. For added clarity, here’s an event handler sample containing a DeadLetter parameter: @ProcessingGroup(\"my-processing-group\") class MyProcessingGroup { // omitted services and other event handlers for simplicity... @EventHandler public void on(SomeEvent event, DeadLetter> deadLetter) { if (deadLetter != null) { // dead-letter processing... } else { // regular event handling... } } } A dead letter contains the following attributes: attribute type description message EventMessage The EventMessage for which handling failed. The message contains your event, among other Message properties. cause Optional The cause for the message to be dead lettered. Empty if the letter is enqueued because it is part of a sequence. enqueuedAt Instant The moment in time when the event was enqueued in a dead-letter queue. lastTouched Instant The moment in time when this letter was last touched. Will equal the enqueuedAt value if this letter is enqueued for the first time. diagnostics MetaData The diagnostic MetaData concerning this letter. Filled through the enqueue policy. By default, when you configure a dead-letter queue and event handling fails, the event is dead-lettered. However, you might not want all event failures to result in dead-lettered entries. Similarly, when letter processing fails, you might want to reconsider whether you want to enqueue the letter again. To that end, you can configure a so-called EnqueuePolicy. The enqueue policy ingests a DeadLetter and a cause (Throwable) and returns an EnqueueDecision. The EnqueueDecision, in turn, describes if the framework should or should not enqueue the dead letter. It’s also possible to change the exception, for example to be sure that it will fit in the database, as the cause will be stored. You can customize the dead-letter policy to exclude some events when handling fails. As a consequence, these events will be skipped. Note that Axon Framework invokes the policy on initial event handling and on dead-letter processing. Reevaluating the policy after processing failed may be essential to ensure a dead letter isn’t stuck in the queue forever. To deal with this scenario, you can attach additional diagnostic information to the dead letter through the policy. For example to add a number of retries to the dead letter to base your decision on. See the sample EnqueuePolicy below for this: public class CustomEnqueuePolicy implements EnqueuePolicy> { @Override public EnqueueDecision> decide(DeadLetter> letter, Throwable cause) { if (cause instanceof NullPointerException) { // It's pointless: return Decisions.doNotEnqueue(); } final int retries = (int) letter.diagnostics().getOrDefault(\"retries\", -1); if (letter.message().getPayload() instanceof ErrorEvent) { // Important and new entry: return Decisions.enqueue(cause); } if (retries l.diagnostics().and(\"retries\", retries + 1)); } // Exhausted all retries: return Decisions.evict(); } } The Decisions utility class provides the most reasonable decisions, but you are free to construct your own EnqueueDecision when necessary. See the following example for configuring our custom policy: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureEnqueuePolicy(EventProcessingConfigurer configurer) { // Replace \"my-processing-group\" for the processing group you want to configure the policy on. configurer.registerDeadLetterPolicy(\"my-processing-group\", config -> new MyEnqueuePolicy()); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule enqueuePolicyConfigurerModule() { // Replace \"my-processing-group\" for the processing group you want to configure the policy on. return configurer -> configurer.eventProcessing() .registerDeadLetterPolicy(\"my-processing-group\", config -> new MyEnqueuePolicy()); } }","title":"Dead-Letter Queue","component":"axon-framework-reference","version":"development","name":"dead-letter-queue","url":"/axon-framework-reference/development/events/event-processors/dead-letter-queue/","titles":[{"text":"Event ordering","hash":"_event_ordering","id":1},{"text":"Implementations","hash":"_implementations","id":2},{"text":"Idempotency","hash":"_idempotency","id":3},{"text":"Configuration","hash":"_configuration","id":4},{"text":"Configuration through a provider","hash":"_configuration_through_a_provider","id":5},{"text":"Processing sequences","hash":"_processing_sequences","id":6},{"text":"Attributes","hash":"_attributes","id":7},{"text":"Enqueue policy","hash":"_enqueue_policy","id":8}]},"87":{"id":87,"text":"Event handlers define the business logic to be performed when an event is received. Event Processors are the components that take care of the technical aspects of that processing. They start a unit of work and possibly a transaction. However, they also ensure that correlation data can be correctly attached to all messages created during event processing, among other non-functional requirements. The image below depicts a representation of the organization of Event Processors and Event Handlers: Axon has a layered approach towards organizing event handlers. First, an event handler is positioned in a Processing Group. Each event handler, or \"Event Handling Component,\" will only ever belong to a single Processing Group. The Processing Group provides a level of configurable non-functional requirements, like error handling and the sequencing policy. The Event Processor, in turn, is in charge of the Processing Group. An Event Processor will control 1 to N Processing Groups, although there will be a one-to-one mapping in most cases. Similar to the Event Handling Component, a Processing Group will belong to a single Event Processor. This last layer allows the definition of the type of Event Processor used and concepts like the threading model and a more fine-grained degree of error handling. Event Processors come in roughly two forms: Subscribing and Streaming. Subscribing Event Processors subscribe to a source of events and are invoked by the thread managed by the publishing mechanism. Streaming Event Processors, on the other hand, pull their messages from a source using a thread that it manages itself. For more specifics on either type, consult their respective sections here and here. The rest of this page dedicates itself to describing the Event Processor’s common concepts and configuration options. Note that throughout, the EventProcessingConfigurer is used. The EventProcessingConfigurer is part of Axon’s Configuration API, dedicated to configuring Event Processors. All processors have a name, which identifies a processor instance across JVM instances. Two processors with the same name are considered as two instances of the same processor. All event handlers are attached to a processor whose name by default is the package name of the event handler’s class. Furthermore, the default processor implementation used by Axon is the Tracking Event Processor. The (default) event processor used can be adjusted, as is shown in the subscribing and streaming sections. Event handlers, or Event Handling Components, come in roughly two flavors: \"regular\" (singleton, stateless) event handlers and sagas. This section describes the process to register an event handler, whereas this page describes the saga registration process. Now let us consider that the following event handlers have been registered: org.axonframework.example.eventhandling.MyHandler org.axonframework.example.eventhandling.MyOtherHandler org.axonframework.example.eventhandling.module.ModuleHandler Without any intervention, this will trigger the creation of two processors, namely: org.axonframework.example.eventhandling with two handlers called MyHandler and MyOtherHandler org.axonframework.example.eventhandling.module with the single handler ModuleHandler Using the package name serves as a suitable default, but using dedicated names for an Event Processor and/or the Processing Group is recommended. The most straightforward approach to reaching a transparent naming scheme of your event handlers is by using the ProcessingGroup annotation. This annotation resembles the Processing Group level discussed in the introduction. The ProcessingGroup annotation requires the insertion of a name and can only be set on the class. Let us adjust the previous sample by using this annotation instead of the package names for grouping handlers: @ProcessingGroup(\"my-handlers\") class MyHandler { // left out event handling functions... } @ProcessingGroup(\"my-handlers\") class MyOtherHandler{ // ... } @ProcessingGroup(\"module-handlers\") class ModuleHandler { // ... } Using the ProcessingGroup annotation as depicted, we again construct two processors: my-handlers with two handlers called MyHandler and MyOtherHandler module-handlers with the single handler ModuleHandler If more control is required to group Event Handling Components, we recommend consulting the assignment rules section. The Configuration API allows you to configure other strategies for assigning event handling classes to processors or assigning specific handler instances to particular processors. We can separate these assignment rules into roughly two groups: Event Handler to Processing Group and Processing Group to Event Processor. Below is an exhaustive list of all the assignment rules the EventProcessingConfigurer exposes: Event Handler to Processing Group byDefaultAssignTo(String): defines the default Processing Group name to assign an event handler to. It will only be taken into account if there are no more specifics rules and if the ProcessingGroup annotation is not present. byDefaultAssignHandlerInstancesTo(Function): defines a lambda invoked to assign an event handling instance to a desired Processing Group by returning that group’s name. It will only be taken into account if there are no more specifics rules and if the ProcessingGroup annotation is not present. byDefaultAssignHandlerTypesTo(Function, String>): defines a lambda invoked to assign an event handler type to a desired Processing Group by returning that group’s name. It will only be taken into account if there are no more specifics rules and if the ProcessingGroup annotation is not present. assignHandlerInstancesMatching(String, Predicate): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handling instance. The operation uses a natural priority of zero. If an instance matches several criteria, the outcome is undefined. assignHandlerTypesMatching(String, Predicate>): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handler type. The operation uses a natural priority of zero. If an instance matches several criteria, the outcome is undefined. assignHandlerInstancesMatching(String, int, Predicate): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handling instance. Uses the given priority to decide on rule-ordering. The higher the priority value, the more important the rule is. If an instance matches several criteria, the outcome is undefined. assignHandlerTypesMatching(String, int, Predicate>): assigns event handlers to the given Processing Group name based on a predicate ingesting an event handler type. Uses the given priority to decide on rule-ordering. The higher the priority, the more important the rule is. If an instance matches several criteria, the outcome is undefined. Processing Group to Event Processor assignProcessingGroup(String, String): defines a given Processing Group name that belongs to the given Event Processor’s name. assignProcessingGroup(Function): defines a lambda invoked to assign a Processing Group name to the desired Event Processor by returning that processor’s name. To order event handlers within an Event Processor, the order in which event handlers are registered (as described in the Registering Event Handlers section) is guiding. Thus, the ordering in which an Event Processor will call event handlers for event handling is the same as their insertion ordering in the Configuration API. If we use Spring as the mechanism for wiring everything, we can explicitly specify the event handler component ordering by adding the @Order annotation. This annotation is placed on the event handler class name, containing an integer value to specify the ordering. Note that it is not possible to order event handlers belonging to different Event Processors. Each Event Processor acts as an isolated component without any intervention from other Event Processors. Ordering Event Handlers within a Processor Although we can place an order among event handlers within an Event Processor, separation of event handlers is recommended. Placing an overall ordering on event handlers means those components are inclined to interact with one another, introducing a form of coupling. Due to this, the event handling process will become complex to manage (for example, for new team members). Furthermore, embracing an ordering approach might lead to place all event handlers in a global ordering, decreasing processing speeds in general. In all, you are free to use an ordering, but we recommend using it sparingly. Errors are inevitable in any application. Depending on where they happen, you may want to respond differently. By default, exceptions raised by event handlers are caught in the Processing Group layer, logged, and processing continues with the following events. When an exception is thrown when a processor is trying to commit a transaction, update a token, or in any other part of the process, the exception will be propagated. In the case of a Streaming Event Processor, this means the processor will go into error mode, releasing any tokens and retrying at an incremental interval (starting at 1 second, up to max 60 seconds). A Subscribing Event Processor will report a publication error to the component that provided the event. To change this behavior, both the Processing Group and Event Processor level allow customization on how to deal with exceptions: The component dealing with exceptions thrown from an event handling method is called the ListenerInvocationErrorHandler. By default, these exceptions are logged (with the LoggingErrorHandler implementation), and processing continues with the next handler or message. The default ListenerInvocationErrorHandler used by each processing group can be customized. Furthermore, we can configure the error handling behavior per processing group: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureProcessingGroupErrorHandling(EventProcessingConfigurer processingConfigurer) { // To configure a default ... processingConfigurer .registerDefaultListenerInvocationErrorHandler(conf -> { /* create listener error handler */ }) // ... or for a specific processing group: .registerListenerInvocationErrorHandler(\"my-processing-group\", conf -> { /* create listener error handler */ }); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processingGroupErrorHandlingConfigurerModule() { return configurer -> configurer.eventProcessing(processingConfigurer -> processingConfigurer.registerDefaultListenerInvocationErrorHandler( conf -> { /* create listener error handler */ } ) // ... or for a specific processing group: .registerListenerInvocationErrorHandler( \"my-processing-group\", conf -> { /* create listener error handler */ } ) ); } } It is easy to implement custom error handling behavior. The error handling method to implement provides the exception, the event that was handled, and a reference to the handler that was handling the message: public interface ListenerInvocationErrorHandler { void onError(Exception exception, EventMessage event, EventMessageHandler eventHandler) throws Exception; } You can choose to retry, ignore or rethrow the exception. The exception will bubble up to the Event Processor level when rethrown. Exceptions occurring outside an event handler’s scope, or have bubbled up from there, are handled by the ErrorHandler. The default error handler is the PropagatingErrorHandler, which will rethrow any exceptions it catches. How the Event Processor deals with a rethrown exception differ per implementation. The behaviour for the Subscribing- and the Streaming Event Processor can respectively be found here and here. We can configure a default ErrorHandler for all Event Processors or an ErrorHandler for specific processors: Configuration API Spring Boot public class AxonConfig { public void configure(EventProcessingConfigurer configurer) { configurer // To configure a default ... .registerDefaultErrorHandler(conf -> { /* create error handler */ }) // ... or for a specific processor: .registerErrorHandler(\"my-processor\", conf -> { /* create error handler */ }); } } @Configuration public class AxonConfig { @Bean public ConfigurerModule processorErrorHandlingConfigurerModule() { return configurer -> configurer.eventProcessing(processing -> processing // Register a global error handler .registerDefaultErrorHandler(conf -> { /* create error handler */ }) // ... or for a specific processor: .registerErrorHandler(\"my-processor\", conf -> { /* create error handler */ }) ); } } For providing a custom solution, the `ErrorHandler’s single method needs to be implemented: public interface ErrorHandler { void handleError(ErrorContext errorContext) throws Exception; } Based on the provided ErrorContext object, you can decide to ignore the error, schedule retries, perform dead-letter-queue delivery, or rethrow the exception. Although configuring a Listener Invocation Error Handler and Error Handler helps you to deal with exceptions when processing events, you still end up in an event handling stop. When you only log the error and allow processing to proceed, you will most likely end up with missing data until you fix the predicament and replay past events. If you instead propagate the exception so the event processor keeps retrying, the event processor will stall entirely when the cause is consistent. Although this behavior is sufficient on many occasions, sometimes it is beneficial if we can unblock event handling by parking the problematic event. This is where the Dead-letter Queue comes in. It is a mechanism to park events until they can be processed successfully. You can find more information in the Dead-Letter Queue section. Alongside handler assignment and error handling, Event Processors allow configuration for other components too. For Subscribing and Streaming Event Processor specific options, their respective sections should be checked. The remainder of this page will cover the generic configuration options for each Event Processor. The EventProcessingConfigurer provides access to a lot of configurable components for Event Processors. Sometimes it is easier or preferable to provide an entire function to construct an Event Processor, however. To that end, we can configure a custom EventProcessorBuilder: @FunctionalInterface interface EventProcessorBuilder { // Note: the `EventHandlerInvoker` is the component which holds the event handling functions. EventProcessor build(String name, Configuration configuration, EventHandlerInvoker eventHandlerInvoker); } The EventProcessorBuilder functional interface provides the event processor’s name, the Configuration and the EventHandlerInvoker, and requires returning an EventProcessor instance. Note that any Axon component that an Event Processor requires (for example, an EventStore) is retrievable from the Configuration. The EventProcessingConfigurer provides two methods to configure an EventProcessorBuilder: registerEventProcessorFactory(EventProcessorBuilder): allows you to define a default factory method that creates event processors for which no explicit factories are defined registerEventProcessor(String, EventProcessorBuilder): defines the factory method to use to create a processor with given name Since the Event Processor is the invoker of event handling methods, it is a spot to configure Message Handler Interceptors too. Since Event Processors are dedicated to event handling, the MessageHandlerInterceptor is required to deal with an EventMessage. Differently put, an EventHandlerInterceptor can be registered to Event Processors. The EventProcessingConfigurer provides two methods to configure MessageHandlerInterceptor instances: registerDefaultHandlerInterceptor(BiFunction>>): registers a default MessageHandlerInterceptor that will be configured on every Event Processor instance registerHandlerInterceptor(String, Function>>): registers a MessageHandlerInterceptor that will be configured for the Event Processor matching the given String Any Event Processor instance provides the means to contain a Message Monitor. Message Monitors (discussed in more detail here) allow for monitoring the flow of messages throughout an Axon application. For Event Processors, the message monitor deals explicitly with the events flowing through the Event Processor towards the event handling functions. The EventProcessingConfigurer provides two approaches towards configuring a MessageMonitor: registerMessageMonitor(String, Function>>): registers the given MessageMonitor to the Event Processor matching the given String registerMessageMonitorFactory(String, MessageMonitorFactory): registers the given MessageMonitorFactory to construct a MessageMonitor for the Event Processor matching the given String The MessageMonitorFactory provides a more fine-grained approach, used throughout the Configuration API, to construct a MessageMonitor: @FunctionalInterface public interface MessageMonitorFactory { MessageMonitor> create(Configuration configuration, Class componentType, String componentName); } We can use the Configuration to retrieve the required dependencies to construct the MessageMonitor. The type and name reflect which infrastructure component the factory constructs a monitor for. Whenever you use the MessageMonitorFactory to construct a MessageMonitor for an Event Processor, the factory expects the componentType to be an EventProcessor implementation. The componentName, on the other hand, would resemble the name of the Event Processor. As components that deal with event handling, the Event Processor is a logical place to provide transaction configuration options. Note that in the majority of the scenarios, the defaults will suffice. This section simply serves to show these options to allow adjustment if the application requires it. The first of these is the TransactionManager. Axon uses the TransactionManager to attach a transaction to every Unit of Work. Within a Spring environment, the TransactionManager defaults to a SpringTransactionManager, which uses Spring’s PlatformTransactionManager under the hood. In non Spring environments, it would be wise to build a TransactionManager implement if transaction management is required, of course. Such an implementation only requires the definition of the TransactionManager#startTransaction() method. To adjust the transaction manager for an Event Processor, the registerTransactionManager(String, Function) on the EventProcessingConfigurer should be used. Secondly, you can adjust the desired RollbackConfiguration per Event Processor. It is the RollbackConfiguration that decide when a Unit of Work should rollback the transaction. The default RollbackConfiguration is to rollback on any type of Throwable; the Unit of Work page describes the other options you can choose. To adjust the default behaviour, the registerRollbackConfiguration(String, Function) function should be invoked on the EventProcessingConfigurer.","title":"Event Processors","component":"axon-framework-reference","version":"development","name":"index","url":"/axon-framework-reference/development/events/event-processors/","titles":[{"text":"Assigning handlers to processors","hash":"_assigning_handlers_to_processors","id":1},{"text":"Event handler assignment rules","hash":"_event_handler_assignment_rules","id":2},{"text":"Ordering event handlers within a processor","hash":"_ordering_event_handlers_within_a_processor","id":3},{"text":"Error handling","hash":"error-handling","id":4},{"text":"Processing group: Listener invocation error handler","hash":"listener-invocation-error-handler","id":5},{"text":"Event processor: Error handler","hash":"event-processor-error-handler","id":6},{"text":"Dead-letter queue","hash":"dead-letter-queue","id":7},{"text":"General processor configuration","hash":"general_processor_configuration","id":8},{"text":"Event processor builders","hash":"_event_processor_builders","id":9},{"text":"Event handler interceptors","hash":"_event_handler_interceptors","id":10},{"text":"Message monitors","hash":"_message_monitors","id":11},{"text":"Transaction management","hash":"_transaction_management","id":12}]},"88":{"id":88,"text":"The StreamingEventProcessor, or Streaming Processor for short, is a type of Event Processor. As any Event Processor, it serves as the technical aspect to handle events by invoking the event handlers written in an Axon application. The Streaming Processor defines itself by receiving the events from a StreamableMessageSource. The StreamableMessageSource is an infrastructure component through which we can open a stream of events. The source can also specify positions on the event stream, so-called Tracking Tokens, used as start positions when opening an event stream. An example of a StreamableMessageSource is the EventStore, like for example Axon Server or an RDBMS. Furthermore, Streaming Processors use separate threads to process the events retrieved from the StreamableMessageSource. Using separate threads decouples the StreamingEventProcessor from other operations (for example, event publication or command handling), allowing for cleaner separation within any application. Using separate threads allows for parallelization of the event load, either within a single JVM or between several. When starting a Streaming Processor, it will open an event stream through the configured StreamableMessageSource. The first time a stream has started, it, by default, will begin at the tail (the oldest/the first token) of the stream. It keeps track of the event processing progress while traversing the stream. It does so by storing the Tracking Tokens, or tokens for short, accompanying the events. This solution works towards tracking the progress since the tokens specify the event’s position on the stream. Head or tail? The oldest (the first) token is located at the tail of the stream, and the latest (newest) token is positioned at the head of the stream. Maintaining the progress through tokens makes a Streaming Processor able to deal with stopping and starting the processor, more resilient against unintended shutdowns, and the token provides a means to replay events by adjusting the position of tokens. All combined, the Streaming Processor allows for decoupling, parallelization, resiliency, and replay-ability. It is these features that make the Streaming Processor the logical choice for the majority of applications. Due to this, the \"Tracking Event Processor,\" a type of Streaming Processor, is the default Event Processor. Default Event Processor Which EventProcessor type becomes the default processor depends on the event message source available in your application. In the majority of use cases, an Event Store is present. As the Event Store is a type of StreamableMessageSource, the default will switch to the Tracking Event Processor. If the application only has an Event Bus configured, the framework will lack a StreamableMessageSource. It will fall back to the Subscribing Event Processor as the default in these scenarios. This implementation will use the configured EventBus as its SubscribableMessageSource. There are two implementations of Streaming Processor available in Axon Framework: the Tracking Event Processor (TEP for short), and the Pooled Streaming Event Processor (PSEP for short). Both implementations support the same set of operations. Operations like replaying events through a reset, parallelism and tracking the progress with tokens. They diverge on their threading approach and work separation, as discussed in more detail in this section. The Streaming Processors have several additional components that you can configure, next to the base options. For other streaming processor features that are configurable, we refer to their respective sections for more details. This chapter will cover how to configure a Tracking or Pooled Streaming Processor respectively. Firstly, to specify that new event processors should default to a TrackingEventProcessor, you can invoke the usingTrackingEventProcessors method: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureProcessorDefault(EventProcessingConfigurer processingConfigurer) { processingConfigurer.usingTrackingEventProcessors(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processorDefaultConfigurerModule() { return configurer -> configurer .eventProcessing(EventProcessingConfigurer::usingTrackingEventProcessors); } } For a specific Event Processor to be a Tracking instance, registerTrackingEventProcessor is used: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureTrackingProcessors(EventProcessingConfigurer processingConfigurer) { // This configuration object allows for fine-grained control over the Tracking Processor TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); // To configure a processor to be tracking ... processingConfigurer .registerTrackingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ } ) // ... to provide additional configuration ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ }, conf -> tepConfig ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule trackingProcessorConfigurerModule() { // This configuration object allows for fine-grained control over the Tracking Processor TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); return configurer -> configurer.eventProcessing(processingConfigurer -> processingConfigurer // To configure a processor to be tracking ... .registerTrackingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ } ) // ... to provide additional configuration ... .registerTrackingEventProcessor( \"my-processor\", conf -> { /* create/return StreamableMessageSource */ }, conf -> tepConfig ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. axon.eventhandling.processors.my-processor.mode=tracking axon.eventhandling.processors.my-processor.source=eventStore If the name of an event processor contains periods ., use the map notation: axon.eventhandling.processors[my.processor].mode=tracking axon.eventhandling.processors[my.processor].source=eventStore For more fine-grained control when Configuring a tracking processor, the TrackingEventProcessorConfiguration can be used. When invoking the registerTrackingEventProcessor method, you can provide a tracking processor configuration object, or you can register the configuration instance explicitly: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void registerTrackingProcessorConfig(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); // To register a default tracking config ... processingConfigurer.registerTrackingEventProcessorConfiguration(config -> tepConfig) // ... to register a config for a specific processor. .registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule trackingProcessorConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing(); return configurer -> configurer.eventProcessing( // To register a default tracking config ... processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration(config -> tepConfig) // ... to register a config for a specific processor. .registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } Firstly, to specify that every new processor should default to a PooledStreamingEventProcessor, you can invoke the usingPooledStreamingEventProcessors method: Axon Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureProcessorDefault(EventProcessingConfigurer processingConfigurer) { processingConfigurer.usingPooledStreamingEventProcessors(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processorDefaultConfigurerModule() { return configurer -> configurer.eventProcessing(EventProcessingConfigurer::usingPooledStreamingEventProcessors); } } For a specific Event Processor to be a Pooled Streaming instance, registerPooledStreamingProcessor is used: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configurePooledStreamingProcessors(EventProcessingConfigurer processingConfigurer) { // This configuration object allows for fine-grained control over the Pooled Streaming Processor EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; // To configure a processor to be pooled streaming ... processingConfigurer.registerPooledStreamingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {}/* create/return StreamableMessageSource */ ) // ... to provide additional configuration ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {} /* create/return StreamableMessageSource */, psepConfig ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule pooledStreamingProcessorConfigurerModule() { // This configuration object allows for fine-grained control over the Pooled Streaming Processor EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; return configurer -> configurer.eventProcessing( // To configure a processor to be pooled streaming ... processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessor(\"my-processor\") // ... to define a specific StreamableMessageSource ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {} /* create/return StreamableMessageSource */ ) // ... to provide additional configuration ... .registerPooledStreamingEventProcessor( \"my-processor\", conf -> {} /* create/return StreamableMessageSource */, psepConfig ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. axon.eventhandling.processors.my-processor.mode=pooled axon.eventhandling.processors.my-processor.source=eventStore If the name of an event processor contains periods ., use the map notation: axon.eventhandling.processors[my.processor].mode=pooled axon.eventhandling.processors[my.processor].source=eventStore For more fine-grained control when Configuring a pooled streaming processor, the PooledStreamingProcessorConfiguration can be used. When invoking the registerPooledStreamingEventProcessor method, you can provide a pooled streaming processor configuration object, or you can register the configuration instance explicitly: Configuration API Spring Boot public class AxonConfig { // omitting other configuration methods... public void registerPooledStreamingProcessorConfig(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; // To register a default pooled streaming config ... processingConfigurer.registerPooledStreamingEventProcessorConfiguration(psepConfig) // ... to register a config for a specific processor. .registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule pooledStreamingProcessorConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder/* ... */; return configurer -> configurer.eventProcessing( // To register a default pooled streaming config ... processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration(psepConfig) // ... to register a config for a specific processor. .registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } The error mode differs between the Tracking- and Pooled Streaming Event Processor. Whenever the error handler rethrows an exception, a TrackingEventProcessor will retry processing the event using an incremental back-off period. It will start at 1 second and double after each attempt until it reaches the maximum wait time of 60 seconds per attempt. This back-off time ensures that in a distributed environment, when another node is able to process events, it will have the opportunity to claim the token required to process the event. The PooledStreamingEventProcessor simply aborts the failed part of the process. The Pooled Streaming Processor can deal with this since the threading mode is different from the Tracking Processor. As such, the chance is high the failed process will be picked up quickly by another thread within the same JVM. This chance increases further whenever the PSEP instance is distributed over several application instances. A vital attribute of the Streaming Event Processor is its capability to keep and maintain the processing progress. It does so through the TrackingToken, the \"token\" for short. Such a token accompanies each message a streaming processor receives through its event stream. It’s this token that: specifies the position of the event on the overall stream, and is used by the Streaming Processor to open the event stream at the desired position on start-up. Using tokens gives the Streaming Event Processor several benefits, like: Being able to reopen the stream at any later point, picking up where it left off with the last event. Dealing with unintended shutdowns without losing track of the last events they’ve handled. Collaboration over the event handling load from two perspectives. First, the tokens make sure only a single thread is actively processing specific events. Secondly, it allows parallelization of the load over several threads or nodes of a Streaming Processor. Replaying events by adjusting the token position of that processor. To be able to reopen the stream at a later point, we should keep the progress somewhere. The progress is kept by updating and saving the TrackingToken after handling batches of events. Keeping the progress requires CRUD operation, for which the Streaming Processor uses the TokenStore. For a Streaming Processor to process any events, it needs \"a claim\" on a TrackingToken. The processor will update this claim every time it has finished handling a batch of events. This so-called \"claim extension\" is, just as updating and saving of tokens, delegated to the Token Store. Hence, the Streaming Processors achieves collaboration among instances/threads through token claims. In the absence of a claim, a processor will actively try to retrieve one. If a token claim is not extended for a configurable amount of time, other processor threads can \"steal\" the claim. Token stealing can, for example, happen if event processing is slow or encountered some exceptions. Easy TrackingToken access When processing an event, it may be beneficial to retrieve the token belonging to that event. First, this can be achieved by adding a parameter of type TrackingToken to the event handler. This support is mentioned in the Supported Parameters for Event Handlers section. Additionally, you can retrieve the token from the resources collection of the Unit of Work. Both the Tracking and Pooled Streaming Event Processor add the current TrackingToken under the key \"Processor[{processor-name}]/Token\". The Streaming Processor uses a StreamableMessageSource to retrieve a stream of events that will open on start-up. It requires a TrackingToken to open this stream, which it will fetch from the TokenStore. However, if a Streaming Processor starts for the first time, there is no TrackingToken present to open the stream with yet. Whenever this situation occurs, a Streaming Processor will construct an \"initial token.\" By default, the initial token will start at the tail of the event stream. Thus, the processor will begin at the start and handle every event present in the message source. This start position is configurable, as is described here. Sagas and their initial token A Streaming Processor dedicated to a Saga will default the initial token to the head of the stream. The default initial token position ensures that the Saga does not react to events from the past, as in most cases, this would introduce unwanted side effects. Conceptually, there are a couple of scenarios when a processor builds an initial token on application startup. The obvious one is already shared, namely when a processor starts for the first time. There are, however, also other situations when a token is built that might be unexpected, like: The TokenStore has (accidentally) been cleared between application runs, thus losing the stored tokens. The application running the processor starts in a new environment (for example, test or acceptance) for the first time. An InMemoryTokenStore was used, and hence the processor could never persist the token to begin with. The application is (accidentally) pointing to another storage solution than expected. Whenever a Streaming Processor’s event handlers show unexpected behavior in the form of missed or reprocessed events, a new initial token might have been triggered. In those cases, we recommend to validate if any of the above situations occurred. There are a couple of things we can configure when it comes to tokens. We can separate these options in \"initial token\" and \"token claim\" configuration, as described in the following sections: The initial token for a StreamingEventProcessor is configurable for every processor instance. When configuring the initial token builder function, the received input parameter is the StreamableMessageSource. The message source, in turn, gives three possibilities to build a token, namely: createHeadToken(): Creates a token from the head of the event stream. createTailToken(): Creates a token from the tail of the event stream. Creating tail tokens is the default value for most Streaming Processors. createTokenAt(Instant) / createTokenSince(Duration): Creates a token that tracks all events after a given time. If there is an event precisely at that given moment in time, it will also be taken into account. Of course, you can completely disregard the StreamableMessageSource input parameter and create a token by yourself. Consider the following snippets if you want to configure a different initial token: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureInitialTrackingToken(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andInitialTrackingToken(StreamableMessageSource::createHeadToken); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule initialTrackingTokenConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andInitialTrackingToken(StreamableMessageSource::createTailToken); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } public class AxonConfig { // omitting other configuration methods... public void configureInitialTrackingToken(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialToken(messageSource -> messageSource.createTokenSince( messageSource -> messageSource.createTokenAt(Instant.parse(\"20020-12-01T10:15:30.00Z\")) )); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule initialTrackingTokenConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialToken( messageSource -> messageSource.createTokenSince(Duration.ofDays(31)) ); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } As described here, a streaming processor should claim a token before it is allowed to perform any processing work. There are several scenarios where a processor may keep the claim for too long. This can occur when, for example, the event handling process is slow or encountered an exception. In those scenarios, another processor can steal a token claim to proceed with processing. There are a couple of configurable values that influence this process: tokenClaimInterval: Defines how long to wait between attempts to claim a segment. A processor uses this value to steal token claims from other processor threads. This value defaults to 5000 milliseconds. eventAvailabilityTimeout: Defines the time to \"wait for events\" before extending the claim. Only the Tracking Event Processor uses this. The value defaults to 1000 milliseconds. claimExtensionThreshold: Threshold to extend the claim in the absence of events. Only the Pooled Streaming Event Processor uses this. The value defaults 5000 milliseconds. Consider the following snippets if you want to configure any of these values: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot public class AxonConfig { // omitting other configuration methods... public void configureTokenClaimValues(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andTokenClaimInterval(1000, TimeUnit.MILLISECONDS) .andEventAvailabilityTimeout(2000, TimeUnit.MILLISECONDS); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule tokenClaimValuesConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forSingleThreadedProcessing() .andTokenClaimInterval(1000, TimeUnit.MILLISECONDS) .andEventAvailabilityTimeout(2000, TimeUnit.MILLISECONDS); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } public class AxonConfig { // omitting other configuration methods... public void configureTokenClaimValues(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.tokenClaimInterval(2000) .claimExtensionThreshold(3000); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule tokenClaimValuesConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.tokenClaimInterval(2000) .claimExtensionThreshold(3000); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } As described at the start, streaming processor threads can \"steal\" tokens from one another. A token is \"stolen\" when a thread loses a token claim. Situations like this internally result in an UnableToClaimTokenException, caught by both streaming event processor implementations and translated into warn- or info-level log statements. Where the framework uses token claims to ensure that a single thread is processing a sequence of events, it supports token stealing to guarantee event processing is not blocked forever. In short, the framework uses token stealing to unblock your streaming processor threads when processing takes too long. Examples may include literal slow processing, blocking exceptional scenarios, and deadlocks. However, token stealing may occur as a surprise for some applications, making it an unwanted side effect. As such, it is good to be aware of why tokens get stolen (as described above), but also when this happens and what the consequences are. In practical terms, a token is stolen whenever the claim timeout is exceeded. This timeout is met whenever the token’s timestamp (for example, the timestamp column of your token_entry table) exceeds the claimTimeout of the TokenStore. By default, the claimTimeout value equals 10 seconds. To adjust it, you must configure a TokenStore instance through its builder, as shown in the Token Store section. If you use Spring Boot, you can alternatively set the axon.eventhandling.tokenstore.claim-timeout for example to 30s to increase it to 30 seconds. The token’s timestamp is equally crucial in deciding when the timeout is met. The streaming processor thread holding the claim is in charge of updating the token timestamp. This timestamp is updated whenever the thread finishes a batch of events or whenever the processor extends the claim. When to extend a claim differs between the Tracking and Pooled Streaming processor. You should check out the token claim section if you want to know how to configure these values. To further clarify, a streaming processor’s thread needs to be able to update the token claim and, by extension, the timestamp to ensure it won’t get stolen. Hence, a staling processor thread will, one way or another, eventually lose the claim. Examples of when a thread may get its token stolen are: - Overall slow event handling - Too large event batch size - Blocking operations inside event handlers - Blocking exceptions inside event handlers The consequence of token stealing is that an event may be handled twice (or more). When a thread steals a token, the original thread was already processing events from the token’s position. To protect against doubling event handling, Axon Framework will combine committing the event handling task with updating the token. As the token claim is required to update the token, the original thread will fail the update. Following this, a rollback occurs on the Unit of Work, resolving most issues arising from token stealing. The ability to rollback event handling tasks sheds light on the consequences of token stealing. Most event processors project events into a projection stored within a database. Furthermore, if you store the projection in the same database as the token, the rollback will ensure the change is not persisted. Thus, the consequence of token stealing is limited to wasting processor cycles. This scenario is why we recommend storing tokens and projections in the same database. If a rollback is out of the question for an event handling task, we strongly recommend making the task idempotent. You may have this scenario when, for example, the projection and tokens do not reside in the same database. or when the event handler dispatches an operation (for example, through the CommandGateway). In making the invoked operation idempotent, you ensure that whenever the thread stealing a token handles an event twice (or more), the outcome will be identical. Without idempotency, the consequences of token stealing can be many fold: - Your projection (stored in a different database than your tokens!) may incorrectly project the state. - An event handler putting messages on a queue will put a message on the queue again. - A Saga Event Handler invoking a third-party service will invoke that service again. - An event handler sending an email will send that email again. In short, any operation introducing a side effect that isn’t handled in an idempotent fashion will occur again when a token is stolen. Concluding, we can separate the consequence of token stealing into roughly three scenarios: 1. We can rollback the operation. In this case, the only consequence is wasted processor cycles. 2. The operation is idempotent. In this case, the only consequence is wasted processor cycles. 3. When the task cannot be rolled back nor performed in an idempotent fashion, compensating actions may be the way out. The TokenStore provides the CRUD operations for the StreamingEventProcessor to interact with TrackingTokens. The streaming processor will use the store to construct, fetch and claim tokens. When no token store is explicitly defined, an InMemoryTokenStore is used. The InMemoryTokenStore is not recommended in most production scenarios since it cannot maintain the progress through application shutdowns. Unintentionally using the InMemoryTokenStore counts towards one of the unexpected scenarios where the framework creates an initial token on each application start-up. The framework provides a couple of TokenStore implementations: InMemoryTokenStore - A TokenStore implementation that keeps the tokens in memory. This implementation does not suffice as a production-ready store in most applications. JpaTokenStore - A TokenStore implementation using JPA to store the tokens with. Expects that a table is constructed based on the org.axonframework.eventhandling.tokenstore.jpa.TokenEntry. It is easily auto-configurable with, for example, Spring Boot. JdbcTokenStore - A TokenStore implementation using JDBC to store the tokens with. Expects that the schema is constructed through the JdbcTokenStore#createSchema(TokenTableFactory) method. Several TokenTableFactory can be chosen here, like the GenericTokenTableFactory, PostgresTokenTableFactory or Oracle11TokenTableFactory implementation. MongoTokenStore- A TokenStore implementation using Mongo to store the tokens with. Keep your tokens close Where possible, we recommend using a token store that stores tokens in the same database as to where the event handlers update the view models. This way, changes to the view model can be stored atomically with the changed tokens. Furthermore, it guarantees exactly once processing semantics. Note that you can configure the token store to use for a streaming processor in the EventProcessingConfigurer: Configuration API Spring Boot To configure a TokenStore for all processors: public class AxonConfig { // omitting other configuration methods... public void registerTokenStore(EventProcessingConfigurer processingConfigurer) { TokenStore tokenStore = JpaTokenStore.builder() // … .build(); processingConfigurer.registerTokenStore(config -> tokenStore); } } Alternatively, to configure a TokenStore for a specific processor, use: public class AxonConfig { // omitting other configuration methods... public void registerTokenStore(EventProcessingConfigurer processingConfigurer, String processorName) { TokenStore tokenStore = JdbcTokenStore.builder() // … .build(); processingConfigurer.registerTokenStore(processorName, config -> tokenStore); } } The default TokenStore implementation is defined base dependencies available in Spring Boot, in the following order: If any TokenStore bean is defined, that bean is used. Otherwise, if an EntityManager is available, the JpaTokenStore is defined. Otherwise, if a DataSource is defined, the JdbcTokenStore is created. Lastly, the InMemoryToken store is used. To override the TokenStore, either define a bean in a Spring @Configuration class: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public TokenStore myTokenStore() { return JpaTokenStore.builder() // … .build(); } } Alternatively, inject the EventProcessingConfigurer, which allows more fine-grained customization: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule tokenStoreConfigurerModule() { TokenStore tokenStore = JdbcTokenStore.builder() // … .build(); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTokenStore(conf -> tokenStore) // or, to define one for a specific processor: .registerTokenStore(\"my-processor\", conf -> tokenStore) ); } } Implementations of TokenStore might share state in the underlying storage. To ensure correct operation, a token store has a unique identifier that uniquely identifies the storage location of the tokens in that store. This identifier can be queried with the retrieveStorageIdentifier method of your event processor. StreamingEventProcessor eventProcessor = /*…*/; String tokenStoreId = eventProcessor.getTokenStoreIdentifier(); Streaming processors can use multiple threads to process an event stream. Using multiple threads allows the StreamingEventProcessor to more efficiently process batches of events. As described here, a streaming processor’s thread requires a claim on a tracking token to process events. Thus, to be able to parallelize the load, we require several tokens per processor. To that end, each token instance represents a segment of the event stream, wherein each segment is identified through a number. The stream segmentation approach ensures events aren’t handled twice (or more), as that would otherwise introduce unintentional duplication. Due to this, the Streaming Processor’s API references segment claims instead of token claims throughout. You can define the number of segments used by adjusting the initialSegmentCount property. Only when a streaming processor starts for the first time can it initialize the number of segments to use. This requirement follows from the fact each token represents a single segment. Tokens, in turn, can only be initialized if they are not present yet, as is explained in more detail here. Whenever the number of segments should be adjusted during runtime, you can use the split and merge functionality. To adjust the number of initial segments, consider the following sample: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot Spring Boot properties The default number of segments of a TrackingEventProcessor is one. public class AxonConfig { // omitting other configuration methods... public void configureSegmentCount(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(2) .andInitialSegmentsCount(2); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } The default number of segments for the TrackingEventProcessor is one. @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule segmentCountConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(2) .andInitialSegmentsCount(2); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } The default number of segments for the PooledStreamingEventProcessor is sixteen. public class AxonConfig { // omitting other configuration methods... public void configureSegmentCount(EventProcessingConfigurer processingConfigurer) { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialSegmentCount(32); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } The default number of segments for the PooledStreamingEventProcessor is sixteen. @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule segmentCountConfigurerModule() { EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.initialSegmentCount(32); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } The default number of segments for a TrackingEventProcessor and PooledStreamingEventProcessor is one and sixteen, respectively. axon.eventhandling.processors.my-processor.mode=pooled # Sets the initial number of segments axon.eventhandling.processors.my-processor.initialSegmentCount=32 Parallel Processing and Subscribing Event Processors Note that Subscribing Event Processors don’t manage their own threads. Therefore, it is not possible to configure how they should receive their events. Effectively, they will always work on a sequential-per-aggregate basis, as that is generally the level of concurrency in the command handling component. The Event Handling Components a processor is in charge of may have specific expectations on the event order. The ordering is guaranteed when only a single thread is processing events. Maintaining the ordering requires additional work when the stream is segmented for parallel processing, however. When this is the case, the processor must ensure it sends the events to these handlers in that specific order. Axon uses the SequencingPolicy for this. The SequencingPolicy is a function that returns a value for any given message. If the return value of the SequencingPolicy function is equal for two distinct event messages, it means that those messages must be processed sequentially. By default, Axon components will use the SequentialPerAggregatePolicy, making it so that events published by the same aggregate instance will be handled sequentially. Check out this section to understand how to influence the sequencing policy. Each node running a streaming processor will attempt to start its configured amount of threads to start processing events. The number of segments that a single thread can claim differ between the Tracking- and Pooled Streaming Event Processor. A tracking processor can only claim a single segment per thread, whereas the pooled streaming processor can claim any amount of segments per thread. These approaches provide different pros and cons for each implementation, which this section explains further. Even though events are processed asynchronously from their publisher, it is often desirable to process certain events in their publishing order. In Axon, the SequencingPolicy controls this order. The SequencingPolicy defines whether events must be handled sequentially, in parallel, or a combination of both. Policies return a sequence identifier of a given event. If the policy returns the same identifier for two events, they must be handled sequentially by the Event Handling Component. Thus, if the SequencingPolicy returns a different value for two events, they may be processed concurrently. Note that if the policy returns a null sequence identifier, the event may be processed in parallel with any other events. Parallel Processing and Sagas A saga instance is never invoked concurrently by multiple threads. Therefore, the SequencingPolicy is irrelevant for a saga. Axon will ensure each saga instance receives the events it needs to process in the order they have been published on the event bus. Conceptually, the SequencingPolicy decides whether an event belongs to a given segment. Furthermore, Axon guarantees that Events that are part of the same segment are processed sequentially. The framework provides several policies you can use out of the box: SequentialPerAggregatePolicy: The default policy. It will force domain events that were raised from the same aggregate to be handled sequentially. Thus, events from different aggregates may be handled concurrently. This policy is typically suitable for Event Handling Components that update details from aggregates in databases. FullConcurrencyPolicy: This policy will tell Axon that this Event Processor may handle all events concurrently. This means that there is no relationship between the events that require them to be processed in a particular order. SequentialPolicy: This policy tells Axon that it can process all events sequentially. Handling of an event will start when the handling of a previous event has finished. PropertySequencingPolicy: When configuring this policy, the user is required to provide a property name or property extractor function. This implementation provides a flexible solution to set up a custom sequencing policy based on a standard value present in your events. Note that this policy only reacts to properties present in the event class. MetaDataSequencingPolicy: When configuring this policy, the user is required to provide a metaDataKey to be used. This implementation provides a flexible solution to set up a custom sequencing policy based on a standard value present in your events' metadata. Consider the following snippets when configuring a (custom) SequencingPolicy: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureSequencingPolicy(EventProcessingConfigurer processingConfigurer) { PropertySequencingPolicy mySequencingPolicy = PropertySequencingPolicy.builder(SomeEvent.class, String.class) .propertyName(\"myProperty\") .build(); processingConfigurer.registerDefaultSequencingPolicy(config -> mySequencingPolicy) // or, to define one for a specific processor: .registerSequencingPolicy(\"my-processor\", config -> mySequencingPolicy); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule sequencingPolicyConfigurerModule(SequencingPolicy> mySequencingPolicy) { return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerDefaultSequencingPolicy(config -> mySequencingPolicy) // or, to define one for a specific processor: .registerSequencingPolicy(\"my-processor\", config -> mySequencingPolicy) ); } @Bean public SequencingPolicy> mySequencingPolicy() { return new SequentialPolicy(); } } When we want to configure the SequencingPolicy in a properties file, we should provide a bean name: axon.eventhandling.processors.my-processor.mode=tracking axon.eventhandling.processors.my-processor.sequencing-policy=mySequencingPolicy This approach does require the bean name to be present in the Application Context of course: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public SequencingPolicy> mySequencingPolicy() { return new FullConcurrencyPolicy(); } } If the available policies do not suffice, you can define your own. To that end, we should implement the SequencingPolicy interface. This interface defines a single method, getSequenceIdentifierFor(T), that returns the sequence identifier for a given event: public interface SequencingPolicy { Object getSequenceIdentifierFor(T event); } A Streaming Processor cannot process events in parallel without multiple threads configured. We can process events in parallel by running several nodes of an application. Or by configuring a StreamingEventProcessor to use several threads. The following section describes the threading differences between the Tracking- and Pooled Streaming Event Processor. These sections are followed up with samples on configuring multiple threads for the TEP and PSEP, respectively. Thread and Segment Count Adjusting the number of threads will not automatically parallelize a Streaming Processor. A segment claim is required to let a thread process any events. Hence, increasing the thread count should be paired with adjusting the segment count. The TrackingEventProcessor uses a ThreadFactory to start the process of claiming segments. It will use a single thread per segment it is able to claim until the processor exhausts the configured amount of threads. Each thread will open a stream with the StreamableMessageSource and start processing events at their own speed. Other segment operations, like split and merge, are processed by the thread owning the segment operated on. Since the tracking processor can only claim a single segment per thread, segments may go unprocessed if there are more segments than threads. Hence, we recommend setting the number of threads (on every node) higher than or equal to the total number of segments. To increase event handling throughput, we recommend changing the number of threads. How to do this is shown in the following sample: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureThreadCount(EventProcessingConfigurer processingConfigurer) { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(4) .andInitialSegmentsCount(4); processingConfigurer.registerTrackingEventProcessorConfiguration(\"my-processor\", config -> tepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule threadCountConfigurerModule() { TrackingEventProcessorConfiguration tepConfig = TrackingEventProcessorConfiguration.forParallelProcessing(4) .andInitialSegmentsCount(4); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessorConfiguration( \"my-processor\", config -> tepConfig ) ); } } axon.eventhandling.processors.my-processor.mode=tracking axon.eventhandling.processors.my-processor.thread-count=4 axon.eventhandling.processors.my-processor.initial-segment-count=4 The PooledStreamingEventProcessor uses two threads pools instead of the single fixed set of threads used by the TrackingEventProcessor. The first thread pool is in charge of opening a stream with the event source, claiming as many segments as possible, and delegating all the work. The work it coordinates is foremost the events to handle. Next to event coordination, it deals with segment operations like split and merge. The component coordinating all the work is called the Coordinator. This coordinator defaults to using a ScheduledExecutorService with a single thread, which suffices in most scenarios. The second thread pool deals with all the segments the Coordinator of the pooled streaming processor could claim. The Coordinator starts a WorkPackage for each segment and provides them the events to handle. The work package will, in turn, invoke the Event Handling Components to process the events. These packages run within the second thread pool, the so-called \"worker executor\" pool. The worker-pool also defaults to ScheduledExecutorService with a single thread. When you want to increase event handling throughput, we recommend changing the number of threads for the worker thread pool. How to do this is shown in the following sample: Configuration API Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureThreadCount(EventProcessingConfigurer processingConfigurer) { // the \"name\" is the name of the processor, which can be used to define the thread factory name Function coordinatorExecutorBuilder = name -> Executors.newScheduledThreadPool(1, new AxonThreadFactory(\"Coordinator - \" + name)); Function workerExecutorBuilder = name -> Executors.newScheduledThreadPool(16, new AxonThreadFactory(\"Worker - \" + name)); EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.coordinatorExecutor(coordinatorExecutorBuilder) .workerExecutor(workerExecutorBuilder) .initialSegmentCount(32); processingConfigurer.registerPooledStreamingEventProcessorConfiguration(\"my-processor\", psepConfig); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule threadCountConfigurerModule() { // the \"name\" is the name of the processor, which can be used to define the thread factory name Function coordinatorExecutorBuilder = name -> Executors.newScheduledThreadPool(1, new AxonThreadFactory(\"Coordinator - \" + name)); Function workerExecutorBuilder = name -> Executors.newScheduledThreadPool(16, new AxonThreadFactory(\"Worker - \" + name)); EventProcessingConfigurer.PooledStreamingProcessorConfiguration psepConfig = (config, builder) -> builder.coordinatorExecutor(coordinatorExecutorBuilder) .workerExecutor(workerExecutorBuilder) .initialSegmentCount(32); return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessorConfiguration( \"my-processor\", psepConfig ) ); } } axon.eventhandling.processors.my-processor.mode=pooled # Only the thread count of the Worker can be influenced through a properties file! axon.eventhandling.processors.my-processor.thread-count=16 axon.eventhandling.processors.my-processor.initial-segment-count=32 Based on the threading approaches of the tracking processor and pooled streaming processor, there are a couple of differences to note: Open Event Streams - The tracking processor will open a stream per segment it claims. The pooled streaming processor will always open a single event stream and delegate the events to the segment workers. Due to this, the tracking processor will use more I/O resources than the pooled streaming processor. However, the TEP’s segments can move at their own speed as they open a dedicated event stream. The PSEP’s segments will at least process as fast as the slowest segment in the set. Segment Claims per Thread - The tracking processor can only claim a single segment per thread. The pooled streaming processor can claim any amount of segments, regardless of the number of threads configured. The maxClaimedSegments is configurable if required (the defaults is Short.MAX). The fact the TEP can only claim a single segment per thread highlights a problem of that implementation. Events will go unprocessed if there are more segments than threads when using the tracking processor since events belong to a single segment. Furthermore, it makes dynamic scaling tougher since you cannot adjust the number of threads at runtime. Here we see significant benefits for using the PSEP instead of the TEP since it completely drops the \"one segment per thread\" policy. As such, partial processing is never a problem, the PooledStreamingEventProcessor would encounter. Thread Pool Configuration - The tracking processor does not allow sharing a thread pool between different instances. For the pooled streaming processor, a ScheduledExecutorService is configurable, which allows sharing the executor between different processor instances. Thus, the PSEP provides a higher level of flexibility towards optimizing the total amount of threads used within an application. The freedom in thread pool configuration is helpful when, for example, the number of different Event Processors in a single application increases. Which Streaming Processor should I use? In most scenarios, the PooledStreamingEventProcessor is the recommended processor implementation. We conclude this based on the segment-to-thread-count ratio, its ability to share thread pools, and the lower amount of opened event streams. The TrackingEventProcessor will still be ideal if you anticipate the processing speed between segments to differ significantly. Also, if the application does not have too many processor instances, the need to share thread pools is loosened. For streaming processors, it doesn’t matter whether the threads handling the events are all running on the same node or on different nodes hosting the same (logical) processor. When two (or more) instances of a streaming processor with the same name are active on different machines, they are considered two instances of the same logical processor. Hence, it is not just a processor’s own threads that compete for segments but also the processors on different application instances. Thus, in a multi-node setup, each processor instance will try to claim segments, preventing events assigned to that segment from being processed on other nodes. In this process, the processor updates the token by adding a node identifier when it claims a segment to enforce the claim. The node identifier is configurable on the TokenStore. By default, it will use the JVM’s name (usually a combination of the hostname and process ID) as the nodeId. In a multi-node scenario, a fair distribution of the segments is often desired. Otherwise, the event processing load could be distributed unequally over the active instances. There are roughly three approaches to balancing the number of segments claimed per node: Through the Axon Server Dashboard’s load balancing feature. For Axon Server and Spring Boot users, you can use the axon.axonserver.eventhandling.processors.[processor-name].load-balancing-strategy application property. Directly on a StreamingEventProcessor, with the releaseSegment(int segmentId) or releaseSegment(int segmentId, long releaseDuration, TimeUnit unit) method. When Axon Server is in place, we recommend using either option one or two. Where option one requires access to the dashboard before load balancing is activated, option two works from within your framework application’s properties file. For those looking to configure load balancing through option 2, please consider the following application.properties file example: # Enables automatic balancing for event processor \"my-processor.\" # Setting automatic balancing to true causes Axon Server to periodically check whether the segments are balanced. # Note that automatic balancing is an Enterprise feature of Axon Server. axon.axonserver.eventhandling.processors.my-processor.automatic-balancing=true # Set the load balancing strategy to, for example, \"threadNumber.\" # Note that this task is executed only once, on the start up of the Axon Framework application. axon.axonserver.eventhandling.processors.my-processor.load-balancing-strategy=threadNumber Whenever Axon Server is not used, we can achieve load balancing by having a streaming processor release its segments. Releasing segments is done by calling the releaseSegment method. When invoking releaseSegment, the StreamingEventProcessor will \"let go of\" the segment for some time. class StreamingProcessorService { // The EventProcessingConfiguration allows access to all the configured EventProcessors private EventProcessingConfiguration processingConfiguration; // ... void releaseSegmentFor(String processorName, int segmentId) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> streamingProcessor.releaseSegment(segmentId)); } } The Streaming Event Processor provides scalability by supporting parallel processing. Through this, it is possible to tune the processor’s performance by adjusting the number of threads. However, only changing the number of threads is insufficient since the parallelization is dictated through the number of segments. When there is a high event load, ideally, we increase the number of segments. In turn, we can reduce the number of segments again if the load on the streaming processor decreases. To change the number of segments at runtime, the split and merge operations should be used. Splitting and merging allow you to control the number of segments dynamically. There are roughly three approaches to do this. Through AxonIQ Console's processor detail page, where you can scale the segments manually, or configure your segments to scale automatically with the number of your application’s replicas. It’s the easiest to set up and use. The Axon Server Dashboard contains split and merge buttons to adjust the number of segments. While it’s straightforward to use as well, it does not support automatic scaling based on the number of replicas. If none of the other two options are available, you can adjust the number of segments through the Axon Framework API. The StreamingEventProcessor exposes the splitSegment(int segmentId) and mergeSegment(int segmentId) methods. To obtain the StreamingEventProcessor, you can use the EventProcessingConfiguration to retrieve the processor by name. For those taking this approach, consider the following snippet as a form of guidance: class StreamingProcessorService { // The EventProcessingConfiguration allows access to all the configured EventProcessors private EventProcessingConfiguration processingConfiguration; // ... void splitSegmentFor(String processorName, int segmentId) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // Use the result to check whether the operation succeeded CompletableFuture result = streamingProcessor.splitSegment(segmentId); }); } void mergeSegmentFor(String processorName, int segmentId) { processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // Use the result to check whether the operation succeeded CompletableFuture result = streamingProcessor.mergeSegment(segmentId); }); } } Note that if you are moving towards a solution using the StreamingProcessorController, there are a couple of points to consider. When invoking the split/merge operation on a StreamingEventProcessor, that processor should be in charge of the segment you want to split or merge. Thus, either the streaming processor already has a claim on the segments or can claim the segments. Without the claims, the processor will simply fail the split or merge operation. It is advised to check which segments a streaming processor has a claim on. For that, status of the processor is used. The status information shows which segments a processor instance owns. This guides which processor to invoke the split or merge on. When doing a merge, the streaming processor should be in charge of both the provided segmentId and the segment the framework will merge it with. We can calculate the segment identifier the provided segmentId will be merged with through the`Segment#mergeableSegmentId method. Segment Selection Considerations When splitting or merging through AxonIQ Console and Axon Server, it chooses the most appropriate segment to split or merge for you. When using the Axon Framework API directly, the developer should deduce the segment to split or segments to merge by themselves: Split: for fair balancing, a split is ideally performed on the largest segment Merge: for fair balancing, a merge is ideally performed on the smallest segment A benefit of streaming events is that we can reopen the stream at any point in time. Whenever some event handling components misbehaved, and the view models they update or actions they triggered should happen again, starting anew can be useful. Handling events again by adjusting the position on the stream is what’s called \"a replay,\" a feature supported by the StreamingEventProcessor. You can trigger a reset using AxonIQ Console, or programmatically through the Axon Framework API. Triggering a reset through the AxonIQ Console is straightforward. It will make sure all processors are stopped, the tokens reset, and the replay is started, without any need for manual intervention. Go to the detail page of the processor you would like to reset. On the left side, under the configuration details, is a \"Reset Processor\" button. Clicking this button will open a dialog in which you can choose the desired position in the event store to replay from. You can choose of resetting to the tail, head, or a custom date. After resetting the processor, the replay will start immediately. You can track its progress under the \"Segments\" tab. During a replay, each segment has its own pace. During this time, it’s normal to see the latency of the processor at a high value, because it’s processing events from a long time ago. This will slowly decrease until it’s back at the head position. You can also trigger a reset using the Axon Framework API. This API revolves around the resetTokens() method and provides a couple of options: resetTokens(): Simple reset, adjusting the TrackingToken to the configured initial tracking token resetTokens(R resetContext): Resets the TrackingToken to the configured initial tracking token, providing the resetContext to the ResetHandlers resetTokens(Function>, TrackingToken> initialTrackingTokenSupplier): Resets the TrackingToken to the results of the initialTrackingTokenSupplier resetTokens(Function>, TrackingToken> initialTrackingTokenSupplier, R resetContext): Resets the TrackingToken to the results of the initialTrackingTokenSupplier, providing the resetContext to the ResetHandlers resetTokens(TrackingToken startPosition): Resets the TrackingToken to the provided startPosition resetTokens(TrackingToken startPosition, R resetContext): Resets the TrackingToken to the provided startPosition, providing the resetContext to the ResetHandlers As the method name suggests, the reset adjusts the tracking token to a new position. When starting a reset, the streaming processor is required to claim all its segments. All claims are required since the processor needs to update all tokens to their new position to start the replay. To achieve this, the streaming event processor must be inactive when starting a reset. Hence, it is required to be shut down first before invoking the resetTokens operation. Once the reset was successful, the processor can be started up again. Consider the following sample on how to trigger a reset within an application: Reset without reset context Reset with reset context class StreamingProcessorController { private EventProcessingConfiguration processingConfiguration; // ... void resetTokensFor(String processorName) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // shutdown this streaming processor streamingProcessor.shutDown(); // reset the tokens to prepare the processor streamingProcessor.resetTokens(); // start the processor to initiate the replay streamingProcessor.start(); }); } } class StreamingProcessorController { private EventProcessingConfiguration processingConfiguration; // ... void resetTokensFor(String processorName, Object resetContext) { // EventProcessingConfiguration#eventProcessor(String, Class) returns an optional of the event processor processingConfiguration.eventProcessor(processorName, StreamingEventProcessor.class) .ifPresent(streamingProcessor -> { // shutdown this streaming processor streamingProcessor.shutDown(); // reset the tokens to prepare the processor streamingProcessor.resetTokens(resetContext); // start the processor to initiate the replay streamingProcessor.start(); }); } } Resets in multi-node environments If you are in a multi-node scenario, that means all nodes should shut down the StreamingEventProcessor. Otherwise, another node will pick up the segments released by the inactive processor instance. Being able to shut down or start up all streaming processor instances is most easily achieved through the Axon Server Dashboard or AxonIQ Console. They both provide a \"start\" and \"stop\" button, which will start/stop the processor on every node. With AxonIQ Console you can also reset the processor. When Axon Server is not used, you should construct a custom endpoint in your application. The StreamingProcessorService sample shared above would be ideal for adding a start and stop method. A replay does not always have to start \"from the beginning of time.\" Partially replaying the event stream suffices for a lot of applications. To perform a so-called \"partial replay,\" you should provide the token at a specific point in time. The StreamableMessageSource’s `createTokenAt(Instant) and createTokenSince(Duration) can be used for this. If creating tokens based on time is not sufficient, but creating tokens based on the exact position is something that is more convenient, you could create a TrackingToken providing the position and give it to resetTokens(TrackingToken startPosition) or resetTokens(TrackingToken startPosition, R resetContext) methods. The concrete implementation of TrackingToken to provide depends on the Token Store being used. Be mindful that when initiating a partial replay, the event handlers may handle an event in the middle of model construction. Hence, event handlers need to be \"aware\" that some events might not have been handled at all. Making the event handlers lenient (for example, deal with missing data) or performing ad-hoc manual replays would help in that area. Initiating a replay through the StreamingEventProcessor opens up an API to tap into the process of replaying. It is, for example, possible to define a @ResetHandler, which provides a hook to prepare an Event Handling Component before the replay begins. A processor will invoke ResetHandler annotated methods as a result of StreamingEventProcessor#resetTokens. During a reset through the StreamingEventProcessor#resetTokens API, you can supply a resetContext parameter. This context is supplied to @ResetHandler annotated methods and saved in the ReplayToken. This context can, for the duration of the replay, be accessed using the ReplayToken.replayContext methods or can be injected into event handlers using the @ReplayContext annotation. The following sample Event Handling Component shows the available replay API: @AllowReplay (1) @ProcessingGroup(\"card-summary\") public class CardSummaryProjection { //... @EventHandler @DisallowReplay (2) public void on(CardIssuedEvent event) { // This event handler performs a \"side effect\", // like sending an e-mail or a sms. // Neither, is something we want to reoccur when a // replay happens, hence we disallow this method // to be replayed } @EventHandler public void on(CardRedeemedEvent event, ReplayStatus replayStatus) { (3) // We can wire a ReplayStatus here so we can see whether this // event is delivered to our handler as a 'REGULAR' event or // a 'REPLAY' event // Perform event handling } @ResetHandler (4) public void onReset(ResetContext resetContext) { // Do pre-reset logic, like clearing out the projection table for a // clean slate. The given resetContext is [optional], allowing the // user to specify in what context a reset was executed. } @EventHandler public void on(CardCancelledEvent event, @ReplayContext CardReplayContext context) { (5) // During replays, this method will get the CardReplayContext injected that was providing during the reset call. // If there is no replay, no context was supplied or the context type does not match, the parameter is null. } //... } The CardSummaryProjection shows a couple of interesting things to take note of when it comes to \"being aware\" of a replay in progress: 1 An @AllowReplay can be used, situated either on an entire class or an @EventHandler annotated method. It defines whether the processor should invoke the given class or method when a replay is in transit. 2 In addition to allowing a replay, @DisallowReplay can also be used. Similar to @AllowReplay, you can place it on class level and methods. It serves to define whether a processor should not invoke the class or method when a replay is in transit. 3 To have more fine-grained control on what (not) to do during a replay, we can use the ReplayStatus parameter. The ReplayStatus is an additional parameter that we can add to @EventHandler annotated methods. It allows conditional operations in the event handlers based on whether a replay is taking place. 4 If it is necessary to perform certain pre-replay logic, such as clearing out a projection table, we can use the @ResetHandler annotation. It allows adding a \"reset context\" to provide more information on why the reset is taking place. To include a resetContext the resetTokens(R resetContext) method (or other methods containing the resetContext parameter) should be invoked. The type of the resetContext is up to the user. 5 If it is necessary to use information that was available at time of calling resetTokens(R resetContext) in your event handlers during a replay, you can use the @ReplayContext annotation to get access to this information. This information is stored in the ReplayToken and will be available until the end of the replay. The type of the resetContext is up to the user and is the same context as is used for the @ResetHandler (see 4). The type of the resetContext has to match the parameter’s, or it will be null. You can configure a Streaming Event Processor to use multiple sources to process events from. When required to process events from several sources, we can configure a specific type of StreamableMessageSource: the MultiStreamableMessageSource. The MultiStreamableMessageSource is useful when a streaming processor should act on the events from: several event stores, multiple-contexts, or from different storage types (for example, an Event Store and a Kafka Stream) Having multiple sources means that there might be a choice of multiple events that the processor could consume at any given instant. Therefore, you can specify a Comparator to choose between them. The default implementation chooses the event with the oldest timestamp (that is, the event waiting for the longest). Using multiple sources also means that the streaming processor’s polling interval needs to be divided between sources. Some sources might use a strategy to optimize event discovery, thus minimizing overhead in establishing costly connections to the data sources. To that end, you can choose which source the processor does most of the polling on using the longPollingSource() method in the builder. This operation ensures one source consumes most of the polling interval while also checking intermittently for events on the other sources. The MultiStreamableMessageSource defaults the longPollingSource to the last configured source. Consider the following sample when constructing a MultiStreamableMessageSource: public class AxonConfig { // omitting other configuration methods... public MultiStreamableMessageSource buildMultiStreamableMessageSource( StreamableMessageSource> eventSourceA, StreamableMessageSource> eventSourceB, Comparator>> priorityA ) { return MultiStreamableMessageSource.builder() .addMessageSource(\"eventSourceA\", eventSourceA) .addMessageSource(\"eventSourceB\", eventSourceB) .longPollingSource(\"eventSourceA\") // Overrides eventSourceB as the longPollingStream .trackedEventComparator(priorityA) // Where 'priorityA' is a comparator prioritizing events from eventSourceA .build(); } } Assuming a buildMultiStreamableMessageSource(…​) method is present, we can use the outcome to register a processor with the configuring EventProcessingConfigurer: Tracking: Configuration API Tracking: Spring Boot Pooled streaming: Configuration API Pooled streaming: Spring Boot Spring Boot properties public class AxonConfig { // omitting other configuration methods... public void configureTrackingProcessor(EventProcessingConfigurer processingConfigurer) { processingConfigurer.registerTrackingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule trackingProcessorConfigurerModule() { return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerTrackingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ) ); } } public class AxonConfig { // omitting other configuration methods... public void configurePooledStreamingProcessor(EventProcessingConfigurer processingConfigurer) { processingConfigurer.registerPooledStreamingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule pooledStreamingProcessorConfigurerModule() { return configurer -> configurer.eventProcessing( processingConfigurer -> processingConfigurer.registerPooledStreamingEventProcessor( \"my-processor\", config -> buildMultiStreamableMessageSource(/*...*/) ) ); } } When we want to configure the StreamableMessageSource in a properties file, we should provide a bean name: axon.eventhandling.processors.my-processor.mode=pooled axon.eventhandling.processors.my-processor.source=multiStreamableMessageSource This approach does require the bean name to be present in the Application Context of course: @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public MultiStreamableMessageSource multiStreamableMessageSource( StreamableMessageSource> eventSourceA, StreamableMessageSource> eventSourceB, Comparator>> priorityA ) { return MultiStreamableMessageSource.builder() .addMessageSource(\"eventSourceA\", eventSourceA) .addMessageSource(\"eventSourceB\", eventSourceB) .longPollingSource(\"eventSourceA\") .trackedEventComparator(priorityA) .build(); } }","title":"Streaming Event Processor","component":"axon-framework-reference","version":"development","name":"streaming","url":"/axon-framework-reference/development/events/event-processors/streaming/","titles":[{"text":"Configuring","hash":"configuring","id":1},{"text":"Configuring a tracking processor","hash":"_configuring_a_tracking_processor","id":2},{"text":"Configuring a pooled streaming processor","hash":"_configuring_a_pooled_streaming_processor","id":3},{"text":"Error mode","hash":"error-mode","id":4},{"text":"Tracking tokens","hash":"tracking-tokens","id":5},{"text":"Initial tracking token","hash":"_initial_tracking_token","id":6},{"text":"Configuration","hash":"_configuration","id":7},{"text":"Initial token","hash":"_initial_token","id":8},{"text":"Token claims","hash":"_token_claims","id":9},{"text":"Token stealing","hash":"token-stealing","id":10},{"text":"When is a token stolen?","hash":"_when_is_a_token_stolen","id":11},{"text":"What are the consequences of token stealing?","hash":"_what_are_the_consequences_of_token_stealing","id":12},{"text":"Token store","hash":"token-store","id":13},{"text":"Retrieving the token store identifier","hash":"_retrieving_the_token_store_identifier","id":14},{"text":"Parallel processing","hash":"parallel-processing","id":15},{"text":"Sequential processing","hash":"sequential-processing","id":16},{"text":"Thread configuration","hash":"_thread_configuration","id":17},{"text":"Tracking processor threading","hash":"_tracking_processor_threading","id":18},{"text":"Pooled streaming processor threading","hash":"_pooled_streaming_processor_threading","id":19},{"text":"Differences between tracking and pooled streaming","hash":"_differences_between_tracking_and_pooled_streaming","id":20},{"text":"Multi-node processing","hash":"_multi_node_processing","id":21},{"text":"Splitting and merging segments","hash":"splitting-and-merging-segments","id":22},{"text":"1. AxonIQ Console","hash":"_1_axoniq_console","id":23},{"text":"2. Axon Server","hash":"_2_axon_server","id":24},{"text":"3. Manual programming","hash":"_3_manual_programming","id":25},{"text":"Replaying events","hash":"replaying-events","id":26},{"text":"Triggering a reset with Console","hash":"reset-console","id":27},{"text":"Triggering a reset programmatically","hash":"reset-programmatically","id":28},{"text":"Partial replays","hash":"_partial_replays","id":29},{"text":"Replay API","hash":"_replay_api","id":30},{"text":"Multiple event sources","hash":"_multiple_event_sources","id":31}]},"89":{"id":89,"text":"The SubscribingEventProcessor, or Subscribing Processor for short, is a type of Event Processor. As any Event Processor, it serves as the technical aspect to handle events by invoking the event handlers written in an Axon application. The Subscribing Processor defines itself by receiving the events from a SubscribableMessageSource. The SubscribableMessageSource is an infrastructure component to register a Subscribing Processor too. After registration to the SubscribableMessageSource, the message source gives the events to the SubscribingEventProcessor in the order they are received. Examples of a SubscribableMessageSource are the EventBus or the AMQP Extension. Both the EventBus and the AMQP Extension are simple message bus solutions for events. The simple bus solution makes the SubscribableMessageSource and thus the Subscribing Processor an approach to only receive current events. Operations like replaying are, therefore, not an option for any Subscribing Processor as long as the SubscribableMessageSource follows this paradigm. Furthermore, the message source will use the same thread that receives the events to invoke the registered Subscribing Processors. When the EventBus is, for example, used as the message source, this means that the event publishing thread is the same one handling the event in the Subscribing Processor. Although this approach deserves a spot within the framework, most scenarios require further decoupling of components by separating the threads as well. When, for example, an application requires event processing parallelization to get a higher performance, this can be a blocker. This predicament is why the SubscribingEventProcessor is not the default in Axon Framework. Instead, the \"Tracking Event Processor\" (a Streaming Processor implementation) takes up that role. It provides greater flexibility for developers for configuring the event processor in greater detail. Subscribing Processor Use Cases Although the SubscribingEventProcessor does not support easy parallelization or replays, there are still scenarios when it is beneficial. When a model, for example, should be updated within the same thread that published the event, the Subscribing Processor becomes a reasonable solution. In combination with Axon’s AMQP or Kafka extension, some of these concerns are alleviated too, making it a viable option. Other than configuring that an app uses a Subscribing Event Processor, everything is covered here. Firstly, to specify that a new Event Processors should default to a SubscribingEventProcessor, you can use the usingSubscribingEventProcessors method: public class AxonConfig { // omitting other configuration methods... public void configureProcessorDefault(EventProcessingConfigurer processingConfigurer) { processingConfigurer.usingSubscribingEventProcessors(); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule processorDefaultConfigurerModule() { return configurer -> configurer.eventProcessing(EventProcessingConfigurer::usingSubscribingEventProcessors); } } For a specific Event Processor to be a Subscribing instance, registerSubscribingEventProcessor is used: public class AxonConfig { // omitting other configuration methods... public void configureSubscribingProcessors(EventProcessingConfigurer processingConfigurer) { // To configure a processor to be subscribing ... processingConfigurer.registerSubscribingEventProcessor(\"my-processor\") // ... to define a specific SubscribableMessageSource ... .registerSubscribingEventProcessor(\"my-processor\", conf -> /* create/return SubscribableMessageSource */); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule subscribingProcessorsConfigurerModule() { return configurer -> configurer.eventProcessing( // To configure a processor to be subscribing ... processingConfigurer -> processingConfigurer.registerSubscribingEventProcessor(\"my-processor\") // ... to define a specific SubscribableMessageSource ... .registerSubscribingEventProcessor( \"my-processor\", conf -> /* create/return SubscribableMessageSource */ ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. axon.eventhandling.processors.my-processor.mode=subscribing axon.eventhandling.processors.my-processor.source=eventBus If the name of an event processor contains periods ., use the map notation: axon.eventhandling.processors[my.processor].mode=subscribing axon.eventhandling.processors[my.processor].source=eventBus Whenever the error handler rethrows an exception, the SubscribingEventProcessor will have it bubble up to the publishing component of the event. Providing the exception to the event publisher allows the publishing component to deal with it accordingly. Persistent streams require Axon Server version 2024.1 or higher. A Subscribing Processor can use a Persistent Stream as its message source. By using a persistent stream we allow a Subscribing Processor to process events in parallel and to replay events. When a processor uses a persistent stream, it receives events from Axon Server. After processing (a batch of) events, it sends an acknowledgment back to Axon Server. The persistent stream can be split in segments to allow for parallel processing within a single client or across multiple instances of the client. The number of segments can be changed dynamically. Axon Server distributes the segments across the subscribers to ensure that all segments are connected. Events are assigned to a specific segment based on the sequencing policy for the persistent stream. Persistent streams support all the standard sequencing policies that also can be used for streaming processors. Clients can provide a filter in the persistent stream definition. This reduces the number of events that the client receives from Axon Server. The expression used to filter events are the same as expressions used in the ad-hoc query option in Axon Server. Persistent streams do not require a token store in the client. The state of the stream is maintained in Axon Server. For a specific Event Processor to be a Subscribing instance using a persistent stream, registerSubscribingEventProcessor is used. The message source for the event processor must be a PersistentStreamMessageSource. The PersistentStreamMessageSource requires a PersistentStreamProperties to set the initial properties to create the persistent stream. The properties contain: streamName: The name of the persistent stream. segments: The initial number of segments. sequencingPolicyName: The sequencing policy name. sequencingPolicyParameters: List of parameters for the sequencing policy. initialPosition: First token to read. filter: Filter for events on Axon Server side, use null to receive all events. The sequencingPolicyParameters must be set if the sequencing policy is PropertySequencingPolicy or MetaDataSequencingPolicy. For the MetaDataSequencingPolicy, the sequencingPolicyParameters must contain the name of one or more of the event’s metadata fields. Events with the same value for these fields are passed in the same segment. The PropertySequencingPolicy requires 4 values in the sequencingPolicyParameters list. The serialization type for the events. Supported values are JSON or XML. The payload type to apply the policy on. An expression to extract the property value from the event payload. If the serialization type is JSON this must be a JsonPath expression. For XML this must be an Xpath expression. A fallback policy, the name of a sequencing policy to use if the payload type does not match the type specified in the second parameter. This may be PropertySequencingPolicy to specify an expression for another payload type. In this case add the serialization type, payload type, expression and fallback policy parameters for the alternative payload type. public class AxonConfig { // omitting other configuration methods... public void configureSubscribingProcessors(EventProcessingConfigurer processingConfigurer) { // To configure a processor to be subscribing ... processingConfigurer.registerSubscribingEventProcessor(\"my-processor\", conf -> /* create/return PersistentStreamMessageSource */); } } @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule subscribingProcessorsConfigurerModule() { return configurer -> configurer.eventProcessing( // To configure a processor to be subscribing ... processingConfigurer -> processingConfigurer.registerSubscribingEventProcessor( \"my-processor\", conf -> /* create/return PersistentStreamMessageSource */ ) ); } } A properties file allows the configuration of some fields on an Event Processor. Do note that the Java configuration provides more degrees of freedom. The source property for the processor must point to a Spring Bean which is a PersistentStreamMessageSource or a PersistentStreamMessageSourceDefinition. This bean can also be defined in the properties file. axon.eventhandling.processors.my-processor.mode=subscribing axon.eventhandling.processors.my-processor.source=my-persistent-stream axon.axonserver.persistent-streams.my-persistent-stream.name=My Persistent Stream axon.axonserver.persistent-streams.my-persistent-stream.batch-size=100 axon.axonserver.persistent-streams.my-persistent-stream.initial-segment-count=4","title":"Subscribing Event Processor","component":"axon-framework-reference","version":"development","name":"subscribing","url":"/axon-framework-reference/development/events/event-processors/subscribing/","titles":[{"text":"Configuring","hash":"configuring","id":1},{"text":"Axon Configuration API","hash":"_axon_configuration_api","id":2},{"text":"Spring Boot auto configuration","hash":"_spring_boot_auto_configuration","id":3},{"text":"Axon Configuration API","hash":"_axon_configuration_api_2","id":4},{"text":"Spring Boot auto configuration - Java","hash":"_spring_boot_auto_configuration_java","id":5},{"text":"Spring Boot auto configuration - Properties file","hash":"_spring_boot_auto_configuration_properties_file","id":6},{"text":"Error mode","hash":"error-mode","id":7},{"text":"Persistent streams","hash":"_persistent_streams","id":8},{"text":"Configuration","hash":"_configuration","id":9},{"text":"Axon Configuration API","hash":"_axon_configuration_api_3","id":10},{"text":"Spring Boot auto configuration - Java","hash":"_spring_boot_auto_configuration_java_2","id":11},{"text":"Spring Boot auto configuration - Properties file","hash":"_spring_boot_auto_configuration_properties_file_2","id":12}]},"90":{"id":90,"text":"The SpringAMQPPublisher forwards events to an AMQP exchange. It is initialized with a SubscribableMessageSource, which is generally the EventBus or EventStore. Theoretically, this could be any source of events that the publisher can subscribe to. To forward events generated in the application to an AMQP Channel, a single line of application.properties configuration is sufficient: axon.amqp.exchange=ExchangeName This will automatically send all published events to the AMQP Exchange with the given name. By default, no AMQP transactions are used when sending. This can be overridden using the axon.amqp.transaction-mode property, and setting it to transactional or publisher-ack. Note that exchanges are not automatically created. You must still declare the Queues, Exchanges and Bindings you wish to use. Check the Spring documentation for more information.","title":"Forwarding Events to an AMQP Exchange","component":"amqp-extension-reference","version":"4.10","name":"forwarding","url":"/amqp-extension-reference/4.10/forwarding/","titles":[]},"91":{"id":91,"text":"Spring AMQP is an alternative approach to distributing events, besides Axon Server which is the default. Axon provides out-of-the-box support to transfer events to and from an AMQP message broker, such as RabbitMQ. To use the Spring AMQP components from Axon, make sure the axon-amqp module is available on the classpath. Once added to the classpath of your application, you can use the Spring AMQP extension to: Forward events to an AMQP exchange Read events from an AMQP queue","title":"Spring AMPQ","component":"amqp-extension-reference","version":"4.10","name":"index","url":"/amqp-extension-reference/4.10/","titles":[]},"92":{"id":92,"text":"Spring has extensive support for reading messages from an AMQP Queue. However, this needs to be 'bridged' to Axon, so that these messages can be handled from Axon as if they are regular event messages. The SpringAMQPMessageSource allows event processors to read messages from a queue instead of the event store or event bus. It acts as an adapter between Spring AMQP and the SubscribableMessageSource needed by these processors. To receive events from a queue and process them inside an Axon application, you need to configure a SpringAMQPMessageSource: @Bean public SpringAMQPMessageSource myQueueMessageSource(AMQPMessageConverter messageConverter) { return new SpringAMQPMessageSource(messageConverter) { @RabbitListener(queues = \"myQueue\") @Override public void onMessage(Message message, Channel channel) throws Exception { super.onMessage(message, channel); } }; } and then configure a processor to use this bean as the source for its messages: axon.eventhandling.processors.name.source=myQueueMessageSource Note that tracking processors are not compatible with the SpringAMQPMessageSource.","title":"Reading Events from an AMQP Queue","component":"amqp-extension-reference","version":"4.10","name":"reading","url":"/amqp-extension-reference/4.10/reading/","titles":[]},"93":{"id":93,"text":"You can find the release notes for the AMQP Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the AMQP Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes AMQP Extension","component":"amqp-extension-reference","version":"4.10","name":"release-notes","url":"/amqp-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"94":{"id":94,"text":"JGroups is an alternative approach to distributing command bus (commands) besides Axon Server. The JGroupsConnector uses (as the name already gives away) JGroups as the underlying discovery and dispatching mechanism. Describing the features of JGroups is beyond the scope this reference guide Please refer to the JGroups User Guide for more information. To use the JGroups components from Axon, make sure the axon-jgroups module is available on the classpath through the preferred dependency management system. When combined with Spring Boot, the axon-jgroups-spring-boot-starter dependency can be included to enable auto-configuration. Since JGroups handles both discovery of nodes and the communication between them, the JGroupsConnector acts as both a CommandBusConnector and a CommandRouter. You can find the JGroups specific components for the DistributedCommandBus in the axon-distributed-commandbus-jgroups module. The JGroupsConnector has four mandatory configuration elements: channel - which defines the JGroups protocol stack. Generally, a JChannel is constructed with a reference to a JGroups configuration file. JGroups comes with a number of default configurations which can be used as a basis for your own configuration. Do keep in mind that IP Multicast generally doesn’t work in Cloud Services, like Amazon. TCP Gossip is generally a good start in such type of environment. clusterName - defines the name of the cluster that each segment should register to. Segments with the same cluster name will eventually detect each other and dispatch commands among each other. localSegment - the Command Bus implementation that dispatches Commands destined for the local JVM. These commands may have been dispatched by instances on other JVMs or from the local one. serializer - used to serialize command messages before they are sent over the wire. When using a cache, it should be cleared out when the ConsistentHash changes to avoid potential data corruption (for example, when commands do not specify a @TargetAggregateVersion and a new member quickly joins and leaves the JGroup, modifying the aggregate while it is still cached elsewhere.) Ultimately, the JGroupsConnector needs to actually connect in order to dispatch messages to other segments. To do so, call the connect() method. JChannel channel = new JChannel(\"path/to/channel/config.xml\"); CommandBus localSegment = SimpleCommandBus.builder().build(); Serializer serializer = XStreamSerializer.builder().build(); JGroupsConnector connector = JGroupsConnector.builder() .channel(channel) .clusterName(\"myCommandBus\") .localSegment(localSegment) .serializer(serializer) .build(); DistributedCommandBus commandBus = DistributedCommandBus.builder() .connector(connector) .commandRouter(connector) .build(); // on one node: commandBus.subscribe(CommandType.class.getName(), handler); connector.connect(); // on another node, with more CPU: commandBus.subscribe(CommandType.class.getName(), handler); commandBus.subscribe(AnotherCommandType.class.getName(), handler2); commandBus.updateLoadFactor(150); // defaults to 100 connector.connect(); // from now on, just deal with commandBus as if it is local... Note that it is not required that all segments have command handlers for the same type of commands. You may use different segments for different command types altogether. The distributed command bus will always choose a node to dispatch a command to that has support for that specific type of command.","title":"JGroups","component":"jgroups-extension-reference","version":"4.10","name":"index","url":"/jgroups-extension-reference/4.10/","titles":[]},"95":{"id":95,"text":"You can find the release notes for the Jobrunr Pro Extension for version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the JGroups Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes JGroups Extension","component":"jgroups-extension-reference","version":"4.10","name":"release-notes","url":"/jgroups-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"96":{"id":96,"text":"If you use Spring, you may want to consider using the JGroupsConnectorFactoryBean. It automatically connects the connector when the ApplicationContext is started, and does a proper disconnect when the ApplicationContext is shut down. Furthermore, it uses sensible defaults for a testing environment (but should not be considered production ready) and autowiring for the configuration. If Spring Boot is used, the configuration can be further simplified by including the axon-jgroups-spring-boot-starter dependency. The settings for the JGroups connector are all prefixed with axon.distributed.jgroups. # enables Axon to construct the DistributedCommandBus axon.distributed.enabled=true # defines the load factor used for this segment. Defaults to 100 axon.distributed.load-factor=100 # the address to bind this instance to. By default, it attempts to find the Global IP address axon.distributed.jgroups.bind-addr=GLOBAL # the port to bind the local instance to axon.distributed.jgroups.bind-port=7800 # the name of the JGroups Cluster to connect to axon.distributed.jgroups.cluster-name=Axon # the JGroups Configuration file to configure JGroups with axon.distributed.jgroups.configuration-file=default_tcp_gossip.xml # The IP and port of the Gossip Servers (comma separated) to connect to axon.distributed.jgroups.gossip.hosts=localhost[12001] # when true, will start an embedded Gossip Server on bound to the port of the first mentioned gossip host. axon.distributed.jgroups.gossip.auto-start=false","title":"Configuration in SpringBoot","component":"jgroups-extension-reference","version":"4.10","name":"springboot-config","url":"/jgroups-extension-reference/4.10/springboot-config/","titles":[]},"97":{"id":97,"text":"The purpose of this extension is to leverage some features only available in the Pro version of JobRunr. Only the Pro version allows to search existing jobs by status and label. This is required for the deadline manager to implement the cancelAll methods. The deadline managers section has more in depth information on deadline managers. Although jobs created with the non-pro DeadlineManager will be eligible to be canceled, this is only true when they were created with the 4.8 or later versions. Jobs created with the 4.7.x version are missing the correct labels and will not be found when trying to cancel them. For Spring usage, be sure to include the starters, both of JobRunr Pro and the extension. The deadline manager should be available by using parameter-based injection. It can be used in aggregates and sagas using something like: Aggregate Saga @CommandHandler public void handle(SomeCommand command, @Autowired DeadlineManager deadlineManager) { ... } @StartSaga public void handle(SomeEvent event, @Autowired DeadlineManager deadlineManager) { ... } Alternatively, you could also auto wire the deadline manager to the class like: @Autowired void setDeadlineManager(DeadlineManager deadlineManager) { this.deadlineManager = deadlineManager; } An JobRunrProDeadlineManager instance can be created using the builder like this: JobRunrProDeadlineManager.proBuilder() .jobScheduler(jobScheduler) .storageProvider(storageProvider) .scopeAwareProvider(scopeAwareProvider) .serializer(serializer) .transactionManager(transactionManager) .spanFactory(spanFactory) .build(); You probably want to use some form of dependency injection instead of creating a new deadline manager each time you need one.","title":"JobRunr Pro","component":"jobrunr-pro-extension-reference","version":"4.10","name":"index","url":"/jobrunr-pro-extension-reference/4.10/","titles":[{"text":"Spring usage","hash":"_spring_usage","id":1},{"text":"Non Spring usage","hash":"_non_spring_usage","id":2}]},"98":{"id":98,"text":"You can find the release notes for the Jobrunr Pro Extension from version 4.10.0 onwards below. For earlier release, please go to the legacy documentation. Upgrades the Jobrunr Pro Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Jobrunr Pro Extension","component":"jobrunr-pro-extension-reference","version":"4.10","name":"release-notes","url":"/jobrunr-pro-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10.0","hash":"_release_4_10_0","id":1}]},"99":{"id":99,"text":"Event messages in an Axon application can be consumed through either a Subscribing or a Tracking Event Processor. Both options are maintained when it comes to consuming events from a Kafka topic, which from a set-up perspective translates to a SubscribableMessageSource or a StreamableKafkaMessageSource respectively, Both will be described in more detail later on, as we first shed light on the general requirements for event consumption in Axon through Kafka. Both approaches use a similar mechanism to poll events with a Kafka Consumer, which breaks down to a combination of a ConsumerFactory and a Fetcher. The extension provides a DefaultConsumerFactory, whose sole requirement is a Map of configuration properties. The Map contains the settings to use for the Kafka Consumer client, such as the Kafka instance locations. Please check the Kafka documentation for the possible settings and their values. public class KafkaEventConsumptionConfiguration { // ... public ConsumerFactory consumerFactory(Map consumerConfiguration) { return new DefaultConsumerFactory<>(consumerConfiguration); } // ... } It is the Fetcher instance’s job to retrieve the actual messages from Kafka by directing a Consumer instance it receives from the message source. You can draft up your own implementation or use the provided AsyncFetcher to this end. The AsyncFetcher doesn’t need to be explicitly started, as it will react on the message source starting it. It does need to be shut down, to ensure any thread pool or active connections are properly closed. public class KafkaEventConsumptionConfiguration { // ... public Fetcher fetcher(long timeoutMillis, ExecutorService executorService) { return AsyncFetcher.builder() .pollTimeout(timeoutMillis) // Defaults to \"5000\" milliseconds .executorService(executorService) // Defaults to a cached thread pool executor .build(); } // ... } Using the SubscribableKafkaMessageSource means you are inclined to use a SubscribingEventProcessor to consume the events in your event handlers. When using this source, Kafka’s idea of pairing Consumer instances into \"Consumer Groups\" is used. This is strengthened by making the groupId upon source construction a hard requirement. To use a common groupId essentially means that the event-stream-workload can be shared on Kafka’s terms, whereas a SubscribingEventProcessor typically works on its own accord regardless of the number of instances. The workload sharing can be achieved by having several application instances with the same groupId or by adjusting the consumer count through the SubscribableKafkaMessageSource builder. The same benefit holds for resetting an event stream, which in Axon is reserved to the TrackingEventProcessor, but is now opened up through Kafka’s own API’s. Although the SubscribableKafkaMessageSource thus provides the niceties the tracking event processor normally provides, it does come with two catches: Axon’s approach of the SequencingPolicy to deduce which thread receives which events is entirely lost. It is thus dependent on which topic-partition pairs are given to a Consumer for the events your handlers receives. From a usage perspective this means event message ordering is no longer guaranteed by Axon. It is thus the user’s job to ensure events are published in the right topic-partition pair. The API Axon provides for resets is entirely lost, since this API can only be correctly triggered through the TrackingEventProcessor#resetTokens operation Due to the above it is recommended the user is knowledgeable about Kafka’s specifics on message consumption. When it comes to configuring a SubscribableKafkaMessageSource as a message source for a SubscribingEventProcessor, there is one additional requirement beside source creation and registration. The source should only start with polling for events as soon as all interested subscribing event processors have been subscribed to it. To ensure the SubscribableKafkaMessageSource#start() operation is called at the right point in the configuration lifecycle, the KafkaMessageSourceConfigurer should be utilized: public class KafkaEventConsumptionConfiguration { // ... public KafkaMessageSourceConfigurer kafkaMessageSourceConfigurer(Configurer configurer) { KafkaMessageSourceConfigurer kafkaMessageSourceConfigurer = new KafkaMessageSourceConfigurer(); configurer.registerModule(kafkaMessageSourceConfigurer); return kafkaMessageSourceConfigurer; } public SubscribableKafkaMessageSource subscribableKafkaMessageSource(List topics, String groupId, ConsumerFactory consumerFactory, Fetcher> fetcher, KafkaMessageConverter messageConverter, int consumerCount, KafkaMessageSourceConfigurer kafkaMessageSourceConfigurer) { SubscribableKafkaMessageSource subscribableKafkaMessageSource = SubscribableKafkaMessageSource.builder() .topics(topics) // Defaults to a collection of \"Axon.Events\" .groupId(groupId) // Hard requirement .consumerFactory(consumerFactory) // Hard requirement .fetcher(fetcher) // Hard requirement .messageConverter(messageConverter) // Defaults to a \"DefaultKafkaMessageConverter\" .consumerCount(consumerCount) // Defaults to a single Consumer .build(); // Registering the source is required to tie into the Configurers lifecycle to start the source at the right stage kafkaMessageSourceConfigurer.registerSubscribableSource(configuration -> subscribableKafkaMessageSource); return subscribableKafkaMessageSource; } public void configureSubscribableKafkaSource(EventProcessingConfigurer eventProcessingConfigurer, String processorName, SubscribableKafkaMessageSource subscribableKafkaMessageSource) { eventProcessingConfigurer.registerSubscribingEventProcessor( processorName, configuration -> subscribableKafkaMessageSource ); } // ... } The KafkaMessageSourceConfigurer is an Axon ModuleConfiguration which ties in to the start and end lifecycle of the application. It should receive the SubscribableKafkaMessageSource as a source which should start and stop. The KafkaMessageSourceConfigurer instance itself should be registered as a module to the main Configurer. If only a single subscribing event processor will be subscribed to the Kafka message source, SubscribableKafkaMessageSource.Builder#autoStart() can be toggled on. This will start the SubscribableKafkaMessageSource upon the first subscription. Using the StreamableKafkaMessageSource means you are inclined to use a TrackingEventProcessor to consume the events in your event handlers. Whereas the subscribable Kafka message source uses Kafka’s idea of sharing the workload through multiple Consumer instances in the same \"Consumer Group\", the streamable approach doesn’t use a consumer group, and assigns all available partitions. public class KafkaEventConsumptionConfiguration { // ... public StreamableKafkaMessageSource streamableKafkaMessageSource(List topics, ConsumerFactory consumerFactory, Fetcher fetcher, KafkaMessageConverter messageConverter, int bufferCapacity) { return StreamableKafkaMessageSource.builder() .topics(topics) // Defaults to a collection of \"Axon.Events\" .consumerFactory(consumerFactory) // Hard requirement .fetcher(fetcher) // Hard requirement .messageConverter(messageConverter) // Defaults to a \"DefaultKafkaMessageConverter\" .bufferFactory( () -> new SortedKafkaMessageBuffer<>(bufferCapacity)) // Defaults to a \"SortedKafkaMessageBuffer\" with a buffer capacity of \"1000\" .build(); } public void configureStreamableKafkaSource(EventProcessingConfigurer eventProcessingConfigurer, String processorName, StreamableKafkaMessageSource streamableKafkaMessageSource) { eventProcessingConfigurer.registerTrackingEventProcessor( processorName, configuration -> streamableKafkaMessageSource ); } // ... } Note that as with any tracking event processor, the progress on the event stream is stored in a TrackingToken. Using the StreamableKafkaMessageSource means a KafkaTrackingToken containing topic-partition to offset pairs is stored in the TokenStore. If no other TokenStore is provided, and auto-configuration is used, a KafkaTokenStore will be set instead of an InMemoryTokenStore. The KafkaTokenStore by default uses the __axon_token_store_updates topic. This should be a compacted topic, which should be created and configured automatically.","title":"Consuming Events from Kafka","component":"kafka-extension-reference","version":"4.10","name":"consuming","url":"/kafka-extension-reference/4.10/consuming/","titles":[{"text":"Consuming Events with a subscribable message source","hash":"subscribable-message-source","id":1},{"text":"Consuming Events with a streamable message source","hash":"streamable-messasge-source","id":2}]},"100":{"id":100,"text":"Apache Kafka is a popular system for publishing and consuming events. Its architecture is fundamentally different from most messaging systems and combines speed with reliability. Axon provides an extension dedicated to publishing and receiving event messages from Kafka. The Kafka Extension should be regarded as an alternative approach to distributing events, besides (the default) Axon Server. It’s also possible to use the extension to stream events from Kafka to Axon server, or the other way around. The implementation of the extension can be found here. The shared repository also contains a sample project using the extension. To use the Kafka Extension components from Axon, make sure the axon-kafka module is available on the classpath. Using the extension requires setting up and configuring Kafka following your project’s requirements. How this is achieved is outside of the scope of this reference guide and should be found in Kafka’s documentation. Note that Kafka is a perfectly fine event distribution mechanism, but it is not an event store. Along those lines this extension only provides the means to distributed Axon’s events through Kafka. Due to this the extension cannot be used to event source aggregates, as this requires an event store implementation. We recommend using a built-for-purpose event store like Axon Server, or alternatively an RDBMS based (the JPA or JDBC implementations for example).","title":"Kafka Extension","component":"kafka-extension-reference","version":"4.10","name":"index","url":"/kafka-extension-reference/4.10/","titles":[]},"101":{"id":101,"text":"In the previous sections the KafkaMessageConverter has been shown as a requirement for event production and consumption. The K is the format of the message’s key, where the V stand for the message’s value. The extension provides a DefaultKafkaMessageConverter which converts an axon EventMessage to a Kafka ProducerRecord, and an ConsumerRecord back into an EventMessage. This DefaultKafkaMessageConverter uses String as the key and byte[] as the value of the message to de-/serialize. Albeit the default, this implementation allows for some customization, such as how the EventMessage MetaData is mapped to Kafka headers. This is achieved by adjusting the \"header value mapper\" in the DefaultKafkaMessageConverter builder. The SequencingPolicy can be adjusted to change the behaviour of the record key being used. The default sequencing policy is the SequentialPerAggregatePolicy, which leads to the aggregate identifier of an event being the key of a ProducerRecord and ConsumerRecord. The format of an event message defines an API between the producer and the consumer of the message. This API may change over time, leading to incompatibility between the event class' structure on the receiving side and the event structure of a message containing the old format. Axon addresses the topic of Event Versioning by introducing Event Upcasters. The DefaultKafkaMessageConverter supports this by provisioning an EventUpcasterChain and run the upcasting process on the MetaData and Payload of individual messages converted from ConsumerRecord before those are passed to the Serializer and converted into Event instances. Note that the KafkaMessageConverter feeds the upcasters with messages one-by-one, limiting it to one-to-one or one-to-many upcasting only. Upcasters performing a many-to-one or many-to-many operation thus won’t be able to operate inside the extension (yet). Lastly, the Serializer used by the converter can be adjusted. See the Serializer section for more details on this. public class KafkaMessageConversationConfiguration { // ... public KafkaMessageConverter kafkaMessageConverter(Serializer serializer, SequencingPolicy> sequencingPolicy, BiFunction headerValueMapper, EventUpcasterChain upcasterChain) { return DefaultKafkaMessageConverter.builder() .serializer(serializer) // Hard requirement .sequencingPolicy(sequencingPolicy) // Defaults to a \"SequentialPerAggregatePolicy\" .upcasterChain(upcasterChain) // Defaults to empty upcaster chain .headerValueMapper(headerValueMapper) // Defaults to \"HeaderUtils#byteMapper()\" .build(); } // ... } Make sure to use an identical KafkaMessageConverter on both the producing and consuming end, as otherwise exception upon deserialization should be expected. A CloudEventKafkaMessageConverter is also available using the Cloud Events spec.","title":"Customizing Event Message Format","component":"kafka-extension-reference","version":"4.10","name":"message-format","url":"/kafka-extension-reference/4.10/message-format/","titles":[]},"102":{"id":102,"text":"When Event Messages are published to an Event Bus (or Event Store), they can be forwarded to a Kafka topic using the KafkaPublisher. To achieve this it will utilize a Kafka Producer, retrieved through Axon’s ProducerFactory. The KafkaPublisher in turn receives the events to publish from a KafkaEventPublisher. Since the KafkaEventPublisher is an event message handler in Axon terms, we can provide it to any Event Processor to receive the published events. The choice of event processor which brings differing characteristics for event publication to Kafka: Subscribing Event Processor - publication of messages to Kafka will occur in the same thread (and Unit of Work) which published the events to the event bus. This approach ensures failure to publish to Kafka enforces failure of the initial event publication on the event bus Tracking Event Processor - publication of messages to Kafka is run in a different thread (and Unit of Work) than the one which published the events to the event bus. This approach ensures the event has been published on the event bus regardless of whether publication to Kafka works When setting up event publication it is also important to take into account which ConfirmationMode is used. The ConfirmationMode influences the process of actually producing an event message on a Kafka topic, but also what kind of Producer the ProducerFactory will instantiate: TRANSACTIONAL - This will require the Producer to start, commit and (in case of failure) rollback the transaction of publishing an event message. Alongside this, it will create a pool of Producer instances in the ProducerFactory to avoid continuous creation of new ones, requiring the user to provide a \"transactional id prefix\" to uniquely identify every Producer in the pool. WAIT_FOR_ACK - Setting \"WAIT_FOR_ACK\" as the ConfirmationMode will require the Producer instance to wait for a default of 1 second (configurable on the KafkaPublisher) until the event message publication has been acknowledged. Alongside this, it will create a single, shareable Producer instance from within the ProducerFactory. NONE - This is the default mode, which only ensures a single, shareable Producer instance from within the ProducerFactory. It is a several step process to configure Event publication to Kafka, which starts with the ProducerFactory. Axon provides the DefaultProducerFactory implementation of the ProducerFactory, which should be instantiated through the provided DefaultProducerFactory.Builder. The builder has one hard requirement, which is the Producer configuration Map. The Map contains the settings to use for the Kafka Producer client, such as the Kafka instance locations. Please check the Kafka documentation for the possible settings and their values. public class KafkaEventPublicationConfiguration { // ... public ProducerFactory producerFactory(Duration closeTimeout, int producerCacheSize, Map producerConfiguration, ConfirmationMode confirmationMode, String transactionIdPrefix) { return DefaultProducerFactory.builder() .closeTimeout(closeTimeout) // Defaults to \"30\" seconds .producerCacheSize(producerCacheSize) // Defaults to \"10\"; only used for \"TRANSACTIONAL\" mode .configuration(producerConfiguration) // Hard requirement .confirmationMode(confirmationMode) // Defaults to a Confirmation Mode of \"NONE\" .transactionalIdPrefix(transactionIdPrefix) // Hard requirement when in \"TRANSACTIONAL\" mode .build(); } // ... } The second infrastructure component to introduce is the KafkaPublisher, which has a hard requirement on the ProducerFactory. Additionally, this would be the place to define the Kafka topics upon which Axon event messages will be published. You can set a function from event to Optional. You can use this to only publish certain events, or put different events to different topics. Its not uncommon for Kafka topics to only contain one type of message. Note that the KafkaPublisher needs to be shutDown properly, to ensure all Producer instances are properly closed. public class KafkaEventPublicationConfiguration { // ... public KafkaPublisher kafkaPublisher(String topic, ProducerFactory producerFactory, KafkaMessageConverter kafkaMessageConverter, int publisherAckTimeout) { return KafkaPublisher.builder() .topicResolver(m -> Optional.of(topic)) // Defaults to \"Axon.Events\" for all events .producerFactory(producerFactory) // Hard requirement .messageConverter(kafkaMessageConverter) // Defaults to a \"DefaultKafkaMessageConverter\" .publisherAckTimeout(publisherAckTimeout) // Defaults to \"1000\" milliseconds; only used for \"WAIT_FOR_ACK\" mode .build(); } // ... } Lastly, we need to provide Axon’s event messages to the KafkaPublisher. To that end a KafkaEventPublisher should be instantiated through the builder pattern. Remember to add the KafkaEventPublisher to an event processor implementation of your choice. It is recommended to use the KafkaEventPublisher#DEFAULT_PROCESSING_GROUP as the processing group name of the event processor to distinguish it from other event processors. public class KafkaEventPublicationConfiguration { // ... public KafkaEventPublisher kafkaEventPublisher(KafkaPublisher kafkaPublisher) { return KafkaEventPublisher.builder() .kafkaPublisher(kafkaPublisher) // Hard requirement .build(); } public void registerPublisherToEventProcessor(EventProcessingConfigurer eventProcessingConfigurer, KafkaEventPublisher kafkaEventPublisher) { String processingGroup = KafkaEventPublisher.DEFAULT_PROCESSING_GROUP; eventProcessingConfigurer.registerEventHandler(configuration -> kafkaEventPublisher) .assignHandlerTypesMatching( processingGroup, clazz -> clazz.isAssignableFrom(KafkaEventPublisher.class) ) .registerSubscribingEventProcessor(processingGroup); // Replace `registerSubscribingEventProcessor` for `registerTrackingEventProcessor` to use a tracking processor } // ... } Kafka ensures message ordering on a topic-partition level, not on an entire topic. To control events of a certain group to be placed in a dedicated partition, based on aggregate identifier for example, the message converter’s SequencingPolicy can be utilized. The topic-partition pair events have been published in also has impact on event consumption. This extension mitigates any ordering concerns with the streamable solution, by ensuring a Consumer always receives all events of a topic to be able to perform a complete ordering. This guarantee is however not given when using the subscribable event consumption approach. The subscribable stream leaves all the ordering specifics in the hands of Kafka, which means the events should be published on a consistent partition to ensure ordering.","title":"Publishing Events to Kafka","component":"kafka-extension-reference","version":"4.10","name":"publishing","url":"/kafka-extension-reference/4.10/publishing/","titles":[{"text":"Configuring event publication to Kafka","hash":"_configuring_event_publication_to_kafka","id":1},{"text":"Topic partition publication considerations","hash":"_topic_partition_publication_considerations","id":2}]},"103":{"id":103,"text":"You can find the release notes for the Kafka Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Kafka Extension to be compatible with Axon Framework 4.10.0 Updates various dependencies Adds the ability to ignore metadata keys See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Kafka Extension","component":"kafka-extension-reference","version":"4.10","name":"release-notes","url":"/kafka-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"104":{"id":104,"text":"This extension can be added as a Spring Boot starter dependency to your project using group id org.axonframework.extensions.kafka and artifact id axon-kafka-spring-boot-starter. When using the auto configuration, the following components will be created for you automatically: A using the configured eventSerializer (which defaults to XStreamSerializer), which is used by default to convert between Axon Event messages and Kafka records. Uses a String for the keys and a byte[] for the record’s values. When the property axon.kafka.message-converter-mode is set to cloud_event a CloudEventKafkaMessageConverter will be used instead. This will use String for the keys and CloudEvent. For each the matching Kafka (de)serializers will also be set as default. A DefaultProducerFactory using a String for the keys and a byte[] for the record’s values. This creates a ProducerFactory in confirmation mode \"NONE\", as is specified here. The axon.kafka.publisher.confirmation-mode should be adjusted to change this mode, where the \"TRANSACTIONAL\" mode requires axon.kafka.producer.transaction-id-prefix property to be provided. If the axon.kafka.producer.transaction-id-prefix is non-null and non-empty,it is assumed a \"TRANSACTIONAL\" confirmation mode is desired. Uses a Producer instance from the ProducerFactory to publish events to the configured Kafka topic. Used to provide events to the KafkaPublisher and to assign a processor name and processing group called __axon-kafka-event-publishing-group to it. Defaults to a SubscribingEventProcessor. If a TrackingEventProcessor is desired, the axon.kafka.producer.event-processor-mode should be set to tracking. A DefaultConsumerFactory using a String for the keys and a byte[] for the record’s values An AsyncFetcher. To adjust the Fetcher poll timeout, the axon.kafka.fetcher.poll-timeout can be set. A StreamableKafkaMessageSource which can be used for TrackingEventProcessor instances When using the Spring Boot auto-configuration be mindful to provide an application.properties file. The Kafka extension configuration specifics should be placed under prefix axon.kafka. On this level, the bootstrapServers (defaults to localhost:9092) and default-topic used by the producing and consuming side can be defined. The DefaultProducerFactory and DefaultConsumerFactory expects a Map of configuration properties, which correspond to Kafka Producer and Consumer specific properties respectively. As such, Axon itself passes along these properties without using them directly itself. The application.properties file provides a number of named properties under the axon.kafka.producer. and axon.kafka.consumer. prefixes. If the property you are looking for is not predefined in Axon KafkaProperties file, you are always able to introduce properties in a map style. # This is a sample properties file to configure the Kafka Extension axon: kafka: bootstrap-servers: localhost:9092 client-id: kafka-axon-example default-topic: local.event properties: security.protocol: PLAINTEXT publisher: confirmation-mode: transactional producer: transaction-id-prefix: kafka-sample retries: 0 event-processor-mode: subscribing # For additional unnamed properties, add them to the `properties` map like so properties: some-key: [some-value] fetcher: poll-timeout: 3000 consumer: enable-auto-commit: true auto-commit-interval: 3000 event-processor-mode: tracking # For additional unnamed properties, add them to the `properties` map like so properties: some-key: [some-value] Auto configuring a SubscribableKafkaMessageSource The auto configured StreamableKafkaMessageSource can be toggled off by setting the axon.kafka.consumer.event-processing-mode to subscribing. Note that this does not create a SubscribableKafkaMessageSource for you out of the box. To set up a subscribable message, we recommend to read this section.","title":"Configuration in SpringBoot","component":"kafka-extension-reference","version":"4.10","name":"springboot-configuration","url":"/kafka-extension-reference/4.10/springboot-configuration/","titles":[{"text":"Generic components","hash":"_generic_components","id":1},{"text":"DefaultKafkaMessageConverter","hash":"_defaultkafkamessageconverter","id":2},{"text":"Producer components","hash":"_producer_components","id":3},{"text":"DefaultProducerFactory","hash":"_defaultproducerfactory","id":4},{"text":"KafkaPublisher","hash":"_kafkapublisher","id":5},{"text":"KafkaEventPublisher","hash":"_kafkaeventpublisher","id":6},{"text":"Consumer components","hash":"_consumer_components","id":7},{"text":"DefaultConsumerFactory","hash":"_defaultconsumerfactory","id":8},{"text":"AsyncFetcher","hash":"_asyncfetcher","id":9},{"text":"StreamableKafkaMessageSource","hash":"_streamablekafkamessagesource","id":10},{"text":"Properties file configuration","hash":"_properties_file_configuration","id":11}]},"105":{"id":105,"text":"This section describes the additional functionality attached to Axon’s command dispatching and handling logic. An inlined method has been introduced on the CommandGateway which allows the introduction of a dedicated function to be invoked upon success or failure of handling the command. As such it provides a shorthand instead of using the CommandCallback directly yourself. Here is a sample of how this can be utilized within your own project: import org.axonframework.commandhandling.CommandMessage import org.axonframework.commandhandling.gateway.CommandGateway import org.axonframework.messaging.MetaData import org.slf4j.LoggerFactory class CommandDispatcher(private val commandGateway: CommandGateway) { private val logger = LoggerFactory.getLogger(CommandDispatcher::class.java) // Sample usage providing specific logging logic, next to for example the LoggingInterceptor fun issueCardCommand() { commandGateway.send( command = IssueCardCommand(), onSuccess = { message: CommandMessage, result: Any, _: MetaData -> logger.info(\"Successfully handled [{}], resulting in [{}]\", message, result) }, onError = { result: Any, exception: Throwable, _: MetaData -> logger.warn( \"Failed handling the IssueCardCommand, with output [{} and exception [{}]\", result, exception ) } ) } } class IssueCardCommand","title":"Commands","component":"kotlin-extension-reference","version":"4.10","name":"commands","url":"/kotlin-extension-reference/4.10/commands/","titles":[{"text":"CommandGateway","hash":"commandgateway","id":1}]},"106":{"id":106,"text":"This section describes the additional functionality attached to Axon’s event publication and handling logic. A simplified implementation of the Single Event Upcaster is given, which allows for a shorter implementation cycle. Making an upcaster to upcast the CardIssuedEvent from revision 0 to 1 can be written as follows: import com.fasterxml.jackson.databind.JsonNode import org.axonframework.serialization.upcasting.event.SingleEventUpcaster fun `CardIssuedEvent 0 to 1 Upcaster`(): SingleEventUpcaster = EventUpcaster.singleEventUpcaster( eventType = CardIssuedEvent::class, storageType = JsonNode::class, revisions = Revisions(\"0\", \"1\") ) { event -> // Perform your upcasting process of the CardIssuedEvent here event } class CardIssuedEvent Alternatively, since Revisions is essentially a Pair of String, it is also possible to use Kotlin’s to function: EventUpcaster.singleEventUpcaster( eventType = CardIssuedEvent::class, storageType = JsonNode::class, revisions = \"0\" to \"1\" ) { event -> // Perform your upcasting process of the CardIssuedEvent here event }","title":"Events","component":"kotlin-extension-reference","version":"4.10","name":"events","url":"/kotlin-extension-reference/4.10/events/","titles":[{"text":"Event upcasters","hash":"_event_upcasters","id":1}]},"107":{"id":107,"text":"Kotlin is a programming language which interoperates fully with Java and the JVM. As Axon is written in Java it can be used in conjunction with Kotlin too, offering a different feel when using the framework. Some of Axon’s API’s work perfectly well in Java, but have a rather awkward feel when transitioning over to Kotlin. The goal of the Kotlin Extension is to remove that awkwardness, by providing inline and reified methods of Axon’s API. Several solutions are currently given, which can roughly be segregated into the distinct types of messages used by Axon. This thus provides a Commands, Events and Queries section on this guide. Experimental Release Currently, the Kotlin Extension has been release experimentally (for example, release 0.1.0). This means that all implementations are subject to change until a full release (for example, a release 1.0.0) has been made.","title":"Kotlin","component":"kotlin-extension-reference","version":"4.10","name":"index","url":"/kotlin-extension-reference/4.10/","titles":[]},"108":{"id":108,"text":"This section describes the additional functionality attached to Axon’s query dispatching and handling logic. Several inlined methods have been introduced on the QueryGateway to use generics instead of explicit Class objects and ResponseType parameters. import org.axonframework.queryhandling.QueryGateway class QueryDispatcher(private val queryGateway: QueryGateway) { fun getTotalNumberOfCards(): Int { val query = CountCardSummariesQuery() // Query will return a CompletableFuture so it has to be handled return queryGateway.query(query) .join() } } data class CountCardSummariesQuery(val filter: String = \"\") In some cases, Kotlin’s type inference system can deduce types without explicit generic parameters. One example of this would be an explicit return parameter: import org.axonframework.queryhandling.QueryGateway import java.util.concurrent.CompletableFuture class QueryDispatcher(private val queryGateway: QueryGateway) { fun getTotalNumberOfCards(): CompletableFuture = queryGateway.query(CountCardSummariesQuery()) } data class CountCardSummariesQuery(val filter: String = \"\") There are multiple variants of the query method provided, for each type of ResponseType: query queryOptional queryMany An inline emit method has been added to QueryUpdateEmitter to simplify emit method’s call by using generics and moving the lambda predicate at the end of parameter list. This way the lambda function can be moved outside of the parentheses. import org.axonframework.queryhandling.QueryUpdateEmitter import org.axonframework.eventhandling.EventHandler class CardSummaryProjection (private val queryUpdateEmitter : QueryUpdateEmitter) { @EventHandler fun on(event : CardIssuedEvent) { // Update projection here // Then emit the CountChangedUpdate to subscribers of CountCardSummariesQuery // with the given filter queryUpdateEmitter .emit(CountChangedUpdate()) { query -> // Sample filter based on ID field event.id.startsWith(query.idFilter) } } } class CardIssuedEvent(val id : String) class CountChangedUpdate data class CountCardSummariesQuery(val idFilter: String = \"\")","title":"Queries","component":"kotlin-extension-reference","version":"4.10","name":"queries","url":"/kotlin-extension-reference/4.10/queries/","titles":[{"text":"QueryGateway","hash":"querygateway","id":1},{"text":"QueryUpdateEmitter","hash":"queryupdateemitter","id":2}]},"109":{"id":109,"text":"You can find the release notes for the Kotlin Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Kotlin Extension to be compatible with Axon Framework 4.10.0 Adds a serializer with kotlin.serialization support See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Kotlin Extension","component":"kotlin-extension-reference","version":"4.10","name":"release-notes","url":"/kotlin-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"110":{"id":110,"text":"See Dead-Letter Queue for the general information about the Dead-Letter Queue. @Configuration public class AxonConfig { // omitting other configuration methods... @Bean public ConfigurerModule deadLetterQueueConfigurerModule( MongoTemplate mongoTemplate ) { // Replace \"my-processing-group\" for the processing group you want to configure the DLQ on. return configurer -> configurer.eventProcessing().registerDeadLetterQueue( \"my-processing-group\", config -> MongoSequencedDeadLetterQueue.builder() .processingGroup(\"my-processing-group\") .maxSequences(256) .maxSequenceSize(256) .mongoTemplate(mongoTemplate) .transactionManager(config.getComponent(TransactionManager.class)) .serializer(config.serializer()) .build() ); } }","title":"Configuration of the MongoDB Dead-Letter Queue with Spring","component":"mongodb-extension-reference","version":"4.10","name":"dlq-spring-config","url":"/mongodb-extension-reference/4.10/dlq-spring-config/","titles":[]},"111":{"id":111,"text":"The MongoEventStorageEngine has an @PostConstruct annotated method, called ensureIndexes which will generate the indexes required for correct operation. That means, when running in a container that automatically calls @PostConstruct handlers, the required unique index on \"Aggregate Identifier\" and \"Event Sequence Number\" is created when the event store is created. Note that there is always a balance between query optimization and update speed. Load testing is ultimately the best way to discover which indices provide the best performance. An index is automatically created on \"aggregateIdentifier\", \"type\" and \"sequenceNumber\" in the domain events (default name: \"domainevents\") collection. Additionally, a non-unique index on \"timestamp\" and \"sequenceNumber\" is configured on the domain events (default name: \"domainevents\") collection, for tracking event processors. A (unique) index on \"aggregateIdentifier\" and \"sequenceNumber\" is automatically created in the snapshot events (default name: \"snapshotevents\") collection. Put a (unique) index on the \"sagaIdentifier\" in the saga (default name: \"sagas\") collection. Put an index on the \"sagaType\", \"associations.key\" and \"associations.value\" properties in the saga (default name: \"sagas\") collection. Put a (unique) index on the combination of \"processingGroup\", \"sequenceIdentifier\" and \"index\" in the dead letter (default name: \"deadletters\") collection. Put an index on the \"processingGroup\", and \"sequenceIdentifier\" properties in the dead letter (default name: \"deadletters\") collection. Put an index on the \"processingGroup\" property in the dead letter (default name: \"deadletters\") collection. In pre Axon Framework 3 release we found MongoDb to be a good fit as an Event Store. However, with the introduction of Tracking Event Processors and how they track their events, we have encountered some inefficiencies regarding the Mongo Event Store implementation. We recommend using a built-for-purpose event store like Axon Server, or alternatively an RDBMS based (the JPA or JDBC implementations for example), and would only suggest to use Mongo for this use case if you have found its performance to be beneficial for your application.","title":"MongoDB Extension","component":"mongodb-extension-reference","version":"4.10","name":"index","url":"/mongodb-extension-reference/4.10/","titles":[{"text":"Normal operation use","hash":"_normal_operation_use","id":1},{"text":"Snapshotting","hash":"_snapshotting","id":2},{"text":"Sagas","hash":"_sagas","id":3},{"text":"Dead letter queue","hash":"_dead_letter_queue","id":4}]},"112":{"id":112,"text":"You can find the release notes for the Mongo Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Mongo Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Mongo Extension","component":"mongodb-extension-reference","version":"4.10","name":"release-notes","url":"/mongodb-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"113":{"id":113,"text":"@Configuration public class AxonConfig { // omitting other configuration methods... // The EmbeddedEventStore delegates actual storage and retrieval of events to an EventStorageEngine. @Bean public EventStore eventStore(EventStorageEngine storageEngine, GlobalMetricRegistry metricRegistry) { return EmbeddedEventStore.builder() .storageEngine(storageEngine) .messageMonitor(metricRegistry.registerEventBus(\"eventStore\")) .spanFactory(spanFactory) // ... .build(); } // The MongoEventStorageEngine stores each event in a separate MongoDB document. @Bean public EventStorageEngine storageEngine(MongoDatabaseFactory factory, TransactionManager transactionManager) { return MongoEventStorageEngine.builder() .mongoTemplate(SpringMongoTemplate.builder() .factory(factory) .build()) .transactionManager(transactionManager) // ... .build(); } }","title":"Configuration of the Event Store with Spring","component":"mongodb-extension-reference","version":"4.10","name":"spring-config","url":"/mongodb-extension-reference/4.10/spring-config/","titles":[]},"114":{"id":114,"text":"This extension can be added as a Spring Boot starter dependency to your project using group id org.axonframework.extensions.mongo and artifact id axon-mongo-spring-boot-starter. When using the autoconfiguration, by default the following components will be created for you automatically: A MongoTransactionManager to enable transactions with Mongo. A SpringMongoTransactionManager, this is the wrapped Spring mongo transaction manager, and will also be injected where applicable in other components created by the auto-config. A SpringMongoTemplate, this will use a MongoDatabaseFactory that should be available. To use transaction with Mongo the collections need to be accessed in a certain way, and this component makes sure of that. A MongoTokenStore, this will be used by the event processors to can keep track which events have been processed, and which segments are claimed. A MongoSagaStore, this will be used to store and retrieve saga’s. It’s also possible to autoconfigure the StorageStrategy and EventStorageEngine by setting the mongo.event-store.enabled to true. The creation of the token store and the saga store can be turned off by setting mongo.token-store.enabled or mongo.saga-store.enabled to false. It’s also possible to use a different database for the axon collections than the default the MongoDatabaseFactory uses by setting the axon.mongo.database-name property. The relevant configuration could look like this: spring: data: mongodb: uri: mongodb://localhost:27017/test mongo: database-name: axon token-store: enabled: true saga-store: enabled: false event-store: enabled: false While test is the default database name, for the Axon collections the axon database will be used instead. The saga store will not be initialised.","title":"Configuration in SpringBoot","component":"mongodb-extension-reference","version":"4.10","name":"springboot-config","url":"/mongodb-extension-reference/4.10/springboot-config/","titles":[]},"115":{"id":115,"text":"Minimal configuration is needed to get extension up and running. If you know list of contexts that you want your application to connect in advanced configure them coma separated in application.properties via following properties: axon.axonserver.contexts=tenant-context-1,tenant-context-2,tenant-context-3 If you don’t know tenants in advance and you plan to create them in runtime, you can define a predicate which will tell application to which contexts to connect to in runtime: @Bean public TenantConnectPredicate tenantFilterPredicate() { return context -> context.tenantId().startsWith(\"tenant-\"); } Note that in this case you need to remove axon.axonserver.contexts property. By default, to route message to specific tenant you need to tag initial message that enters your system with metadata . This is done with meta-data helper, and you need to add tenant name to metadata with key TenantConfiguration.TENANT_CORRELATION_KEY. message.andMetaData(Collections.singletonMap(TENANT_CORRELATION_KEY, \"tenant-context-1\") Metadata needs to be added only to initial message that enters your system. Any message that is produced by consequence of initial message will have this metadata copied automatically using to CorrelationProvider. If you wish to disable default meta-data based routing define following property: axon.multi-tenancy.use-metadata-helper=false And define custom tenant resolver bean. For example following imaginary bean can use message payload to route message to specific tenant: @Bean public TargetTenantResolver> customTargetTenantResolver() { return (message, tenants) -> (1) TenantDescriptor.tenantWithId( message.getPayload().getField(\"tenantName\") ); } 1 First lambda parameter message represents message to be routed, while second parameter tenants represents list of currently registered tenants, if you wish to use is to route only to one of connected tenants. If you wish to use distinct database to store projections and token store for each tenant, configure following bean: @Bean public Function tenantDataSourceResolver() { return tenant -> { DataSourceProperties properties = new DataSourceProperties(); properties.setUrl(\"jdbc:postgresql://localhost:5432/\"+tenant.tenantId()); properties.setDriverClassName(\"org.postgresql.Driver\"); properties.setUsername(\"postgres\"); properties.setPassword(\"postgres\"); return properties; }; } Note that this works by using JPA multi-tenancy support, that means only SQL Databases are supported out of the box. If you wish to implement multi-tenancy for a different type of databases (for example, NoSQL) make sure that your projection database supports multi-tenancy. While in transaction you may find out which tenant owns transaction by calling: TenantWrappedTransactionManager.getCurrentTenant(). For more hints how to enable multi-tenancy for NoSQL databases check on how JPA SQL version is implemented In this case Liquibase or Flyway will not be able to initialise schemas for dynamic data sources. Any datasource that you use needs to have pre-initialized schema. In order to correctly resolve right query update emitter inject update emitter in following style: @EventHandler public void on(Event event, QueryUpdateEmitter queryUpdateEmitter) { //queryUpdateEmitter will route updates to same tenant as event will be ... } Resetting projections works a bit different because you have instanced of each event processor group for each tenant. Reset specific tenant event processor group: TrackingEventProcessor trackingEventProcessor = configuration.eventProcessingConfiguration() .eventProcessor(\"com.demo.query-ep@tenant-context-1\", TrackingEventProcessor.class) .get(); Name of each event processor is: {even processor name}@{tenant name} Access all tenant event processors by retrieving MultiTenantEventProcessor only. MultiTenantEventProcessor acts as a proxy Event Processor that references all tenant event processors. The configuration of a dead-letter queue is similar to a non-multi-tenant environment. The tenant will be resolved through the Message’s MetaData and routed to the corresponding DLQ. If you wish to have different enqueuing policies per tenant, you can use the MetaData from the dead letter message to determine to which tenant the message belongs to act accordingly. Do note that processing dead letters from the queue is slightly different, as you need the specific tenant context to process dead-letter from. To select the tenant for which you want to process a dead letter, you need to cast the SequencedDeadLetterProcessor to a MultiTenantDeadLetterProcessor. From the MultiTenantDeadLetterProcessor, you need to use the forTenant method to select the tenant-specific SequencedDeadLetterProcessor. public class DlqManagement { private MultiTenantDeadLetterProcessor multiTenantDeadLetterProcessor; // Axon Framework's org.axonframework.config.Configuration public DlqManagement(Configuration configuration) { SequencedDeadLetterProcessor deadLetterProcessor = configuration.sequencedDeadLetterProcessor(); this.multiTenantDeadLetterProcessor = (MultiTenantDeadLetterProcessor) deadLetterProcessor; } public void processDeadLetterSequenceForTenant(String tenantId, Predicate>> sequenceFilter) { multiTenantDeadLetterProcessor.forTenant(tenantId) .process(sequenceFilter); } } Here is a full example of a REST endpoint to retry dead letters for a specific tenant: public class DlqManagementController { // Axon Framework's org.axonframework.config.Configuration private Configuration configuration; @PostMapping(path = \"/retry-dlq\") public void retryDLQ(@RequestParam String tenant, @RequestParam String processingGroup) { configuration.eventProcessingConfiguration() .sequencedDeadLetterProcessor(processingGroup) .map(p -> (MultiTenantDeadLetterProcessor) p) .map(mp -> mp.forTenant(TenantDescriptor.tenantWithId(tenant))) .ifPresent(SequencedDeadLetterProcessor::processAny); } } Only JPA Dead letter queue and In-Memory queues are supported. As of now, there is no plan to support deadline manager out of the box. None of deadline manager implementation support multi-tenancy. See Event scheduler section as alternative. You can use the MultiTenantEventScheduler to schedule events for specific tenants. To do so, you can inject the EventScheduler and use it to schedule events: public class EventHandlingComponentSchedulingEvents { private EventScheduler eventScheduler; @EventHandler public void eventHandler(Event event) { // Schedules the given event to be published in 10 days. ScheduledToken token = eventScheduler.schedule(Instant.now().plusDays(10), event); // The token returned by EventScheduler#schedule can be used to, for example, cancel the scheduled task. eventScheduler.cancelSchedule(token); } } If you use the EventScheduler from any message handling method, it will automatically pick up tenant from Message#metadata. Hence, there is no need to specify the tenant you want to schedule an event for. If you wish to use the EventScheduler outside of message handlers, you are inclined to wrap the execution into a so-called TenantWrappedTransactionManager. Within this TenantWrappedTransactionManager you can schedule the event: public class EventSchedulingComponent { private EventScheduler eventScheduler; public void schedule(Event event) { ScheduledToken token; // Schedules the given event to be published in 10 days. new TenantWrappedTransactionManager( TenantDescriptor.tenantWithId(tenantName)) .executeInTransaction( () -> token = eventScheduler.schedule(Instant.now().plusDays(10), event) ); // The token returned by EventScheduler#schedule can be used to, for example, cancel the scheduled task. new TenantWrappedTransactionManager( TenantDescriptor.tenantWithId(tenantName)) .executeInTransaction( () -> eventScheduler.cancelSchedule(token) ); } } You can override the default message source for each tenant by defining the following bean: @Bean public MultiTenantStreamableMessageSourceProvider multiTenantStreamableMessageSourceProvider(AxonServerEventStore customSource) { return (defaultTenantSource, processorName, tenantDescriptor, configuration) -> { if (tenantDescriptor.tenantId().startsWith(\"tenant-custom\")) { return customSource; } return defaultTenantSource; }; } This bean should return a StreamableMessageSource that will be used for specific tenants. This lambda will be called for each tenant and each event processor, so be sure to return a default tenant source if you don’t want to override it. In certain cases, you may want to disable multi-tenancy for specific Event Processor which does not have any tenants. For example, when you have an event processor that is consuming events from an external context. Per default, each event processor is scaled, and duplicated for each tenant. To disable this behavior for a specific processing, you can define following bean: @Bean public MultiTenantEventProcessorPredicate multiTenantEventProcessorPredicate() { return (processorName) -> !processorName.equals(\"external-context\"); } This bean should return true for each processor that you want to be multi-tenant, and false for each processor that you want to be single tenant. This extension provides several factory interfaces that are used to create tenant-specific segments for various Axon components, such as Command Bus, Query Bus, Event Store, and Event Scheduler. These factories allow you to configure and customize the behavior of these components for each tenant. The following tenant segment factories are available: This factory is responsible for creating a CommandBus instance for each tenant. By default, it creates an AxonServerCommandBus that uses a SimpleCommandBus as the local segment and connects to Axon Server. You can override this factory to provide a custom implementation of the CommandBus for specific tenants. This factory creates a QueryBus instance for each tenant. By default, it creates an AxonServerQueryBus that uses a SimpleQueryBus as lhe local segment and connects to Axon Server. You can override this factory to provide a custom implementation of the QueryBus for specific tenants. This factory is responsible for creating an EventStore instance for each tenant. By default, it creates an AxonServerEventStore that connects to Axon Server. You can override this factory to provide a custom implementation of the EventStore for specific tenants. This factory creates an EventScheduler instance for each tenant. By default, it creates an AxonServerEventScheduler that connects to Axon Server. You can override this factory to provide a custom implementation of the EventScheduler for specific tenants. This factory creates a TenantDescriptor for each event processor, which is used to identify the tenant associated with the event processor. By default, it uses the tenant identifier as the TenantDescriptor. You can override this factory to provide a custom implementation of the TenantDescriptor for specific event processors.","title":"Configuration","component":"multitenancy-extension-reference","version":"4.10","name":"configuration","url":"/multitenancy-extension-reference/4.10/configuration/","titles":[{"text":"Static tenants configuration","hash":"_static_tenants_configuration","id":1},{"text":"Dynamic tenants configuration","hash":"_dynamic_tenants_configuration","id":2},{"text":"Route message to specific tenant","hash":"_route_message_to_specific_tenant","id":3},{"text":"Custom resolver","hash":"_custom_resolver","id":4},{"text":"Multi-tenant projections","hash":"_multi_tenant_projections","id":5},{"text":"Query update emitter","hash":"_query_update_emitter","id":6},{"text":"Resetting projections","hash":"_resetting_projections","id":7},{"text":"Dead-letter queue","hash":"_dead_letter_queue","id":8},{"text":"Deadline manager","hash":"_deadline_manager","id":9},{"text":"Event scheduler","hash":"_event_scheduler","id":10},{"text":"Advanced configuration","hash":"_advanced_configuration","id":11},{"text":"Overriding default message source","hash":"_overriding_default_message_source","id":12},{"text":"Disable multi-tenancy for specific event processor","hash":"_disable_multi_tenancy_for_specific_event_processor","id":13},{"text":"Tenant Segment Factories","hash":"_tenant_segment_factories","id":14},{"text":"TenantCommandSegmentFactory","hash":"_tenantcommandsegmentfactory","id":15},{"text":"TenantQuerySegmentFactory","hash":"_tenantquerysegmentfactory","id":16},{"text":"TenantEventSegmentFactory","hash":"_tenanteventsegmentfactory","id":17},{"text":"TenantEventSchedulerSegmentFactory","hash":"_tenanteventschedulersegmentfactory","id":18},{"text":"TenantEventProcessorControlSegmentFactory","hash":"_tenanteventprocessorcontrolsegmentfactory","id":19}]},"116":{"id":116,"text":"By default, extension is automatically enabled. If you wish to disable extension without removing extension use following property. axon.multi-tenancy.enabled=false","title":"Disable Extension","component":"multitenancy-extension-reference","version":"4.10","name":"disable","url":"/multitenancy-extension-reference/4.10/disable/","titles":[]},"117":{"id":117,"text":"Axon Framework Multitenancy Extension provides your application ability to serve multiple tenants (event-stores) at once. Multi-tenancy is important in cloud computing and this extension will provide ability to connect to tenants dynamically, physical separate tenants data, scale tenants independently…​ Currently, following requirements needs to be meet for extension to work: Use Spring Framework together with Axon Framework 4.6+ Use Axon Server EE 4.6+ or Axon Cloud as event store This is not hard requirement but if you wish to enable multitenancy on projection side, only SQL databases are supported out-of-the box Only components that interact with Axon Server and or database via JPA are supported out of the box. If you wish to use other components, you need to implement multi-tenancy support for them.","title":"Introduction","component":"multitenancy-extension-reference","version":"4.10","name":"index","url":"/multitenancy-extension-reference/4.10/","titles":[{"text":"Requirements","hash":"_requirements","id":1},{"text":"Restrictions","hash":"_restrictions","id":2}]},"118":{"id":118,"text":"Currently, supported multi-tenants components are as follows: MultiTenantCommandBus MultiTenantEventProcessor MultiTenantEventStore MultiTenantQueryBus MultiTenantQueryUpdateEmitter MultiTenantEventProcessorControlService MultiTenantDataSourceManager MultiTenantEventScheduler Not supported components are: Deadline Manager","title":"Supported Multi-Tenant Components","component":"multitenancy-extension-reference","version":"4.10","name":"multi-tenant-components","url":"/multitenancy-extension-reference/4.10/multi-tenant-components/","titles":[]},"119":{"id":119,"text":"You can find the release notes for the MultiTenancy Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Implements support for Persistent Streams, the new feature introduced in Axon Framework 4.10.0 in combination with Axon Server. See the GitHub release notes for an exhaustive list of all changes. Pass through missing span factories #232 We’d like to thank all the contributors who worked on this release! @sandjelkovic Enhances the flexibility and security of the MultiTenantDataSourceManager See the GitHub release notes for an exhaustive list of all changes. Fixes the Spring Boot Aut-configuration ordering See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Multi-Tenancy Extension","component":"multitenancy-extension-reference","version":"4.10","name":"release-notes","url":"/multitenancy-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10.0","hash":"_release_4_10_0","id":1},{"text":"Patch releases","hash":"_patch_releases","id":2},{"text":"Release 4.10.3","hash":"_release_4_10_3","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5},{"text":"Release 4.10.2","hash":"_release_4_10_2","id":6},{"text":"Release 4.10.1","hash":"_release_4_10_1","id":7}]},"120":{"id":120,"text":"Overlooking Axon Frameworks architecture, you can notice that in general systems using the framework are \"Message Driven\", \"Responsive\", \"Resilient\" and \"Elastic\". According to Reactive Manifesto, the same holds for Reactive Systems in general. Although we can state that Axon Framework is a type of reactive system, we can’t say that it is fully reactive. Reactive programming is an approach to writing software that embraces asynchronous I/O. Asynchronous I/O is a small idea that portends big changes for software. The idea is simple: alleviate inefficient resource utilization by reclaiming resources that would otherwise be idle, as they waited for I/O activity. Asynchronous I/O inverts the normal design I/O processing: the clients are notified of new data instead of asking for it, which frees the client to do other work while waiting for these notifications. By their nature, a reactive API and Axon are a great fit, as most of framework’s operations are async and non-blocking. Providing a dedicated extension for this was thus a logical step to take. To that end, we chose to use Pivotal’s Project Reactor to build this extension. Reactor builds on top of the Reactive Streams specification and is the de-facto standard for Java enterprise and Spring applications. As such, we feel it to be a great fit to provide an extension in, making Axon more reactive. Not all Axon components offer a reactive API, yet. We will incrementally introduce more \"reactiveness\" to this extension, giving priority to components where users can benefit the most. To use the Axon Reactor Extension, make sure that axon-reactor module is available on the classpath.","title":"Reactor","component":"reactor-extension-reference","version":"4.10","name":"index","url":"/reactor-extension-reference/4.10/","titles":[]},"121":{"id":121,"text":"The \"Reactive Gateways\" offer a reactive API wrapper around the command, query and event bus. Most of the operations are similar to those from non-reactive gateways, simply replacing the CompletableFuture with either a Mono or Flux. In some cases, the API is expended to ease use of common reactive patterns. Reactor doesn’t allow null values in streams. Any null value returned from the handler will be mapped to Mono#empty(). Retrying operations All operations support Reactor’s retry mechanism: reactiveQueryGateway.query(query, ResponseType.class).retry(5); This call will retry sending the query a maximum of five times when it fails. This extension can be added as a Spring Boot starter dependency to your project using group id org.axonframework.extensions.reactor and artifact id axon-reactor-spring-boot-starter. The implementation of the extension can be found here. This section describes the methods on the ReactorCommandGateway. Sends the given command once the caller subscribes to the command result. Returns immediately. A common pattern is using the REST API to send a command. In this case it is recommend to for example use WebFlux, and return the command result Mono directly to the controller: Sending a command from a Spring WebFlux Controller. class SpringCommandController { private final ReactorCommandGateway reactiveCommandGateway; @PostMapping public Mono sendCommand(@RequestBody CommandBody command) { return reactiveCommandGateway.send(command); } } If the command handling function returns type void, Mono should be replaced with Mono Another common pattern is \"send and forget\": Function that sends a command and returns immediately without waiting for the result. class CommandDispatcher { private final ReactorCommandGateway reactiveCommandGateway; public void sendAndForget(MyCommand command) { reactiveCommandGateway.send(command) .subscribe(); } } This method uses the given Publisher of commands to dispatch incoming commands. This operation is available only in the Reactor extension. Use it to connect third-party streams that delivers commands. Connects an external input stream directly to the Reactor Command Gateway. class CommandPublisher { private final ReactorCommandGateway reactiveCommandGateway; @PostConstruct public void startReceivingCommands(Flux inputStream) { reactiveCommandGateway.sendAll(inputStream) .subscribe(); } } The sendAll operation will keep sending commands until the input stream is canceled. send and sendAll do not offer any backpressure, yet. The only backpressure mechanism in place is that commands will be sent sequentially; thus once the result of a previous command arrives. The number of commands is prefetched from an incoming stream and stored in a buffer for sending (see Flux#concatMap). This slows down sending, but does not guarantee that the Subscriber will not be overwhelmed with commands if they are sent too fast. Sends the given query, expecting a response in the form of responseType from a single source. Recommended way of using the Reactor query gateway within a Spring REST controller. class SpringQueryController { private final ReactorQueryGateway reactiveQueryGateway; // The query's Mono is returned to the Spring controller. Subscribe control is given to Spring Framework. @GetMapping public Mono findAll(FindAllQuery query, Class responseType) { return reactiveQueryGateway.query(query, responseType); } } Sends the given query, expecting a response in the form of responseType from several sources within a specified duration. Sends a given query that stops after receiving three results, or after 5 seconds. class SpringQueryController { private final ReactorQueryGateway reactiveQueryGateway; @GetMapping public Flux findMany(FindManyQuery query) { return reactiveQueryGateway.scatterGather(query, SomeResponseType.class, Duration.ofSeconds(5)).take(3); } } Firstly, the Reactor API for subscription queries in Axon is not new. However, we noticed several patterns which are often used, such as: Concatenating initial results with query updates in a single stream, or skipping the initial result all together. As such, the Reactor Extension provides several methods to ease usage of these common patterns. Sends the given query, returns the initial result and keeps streaming incremental updates until a subscriber unsubscribes from the Flux. Note that this method should be used when the response type of the initial result and incremental update match. Flux resultFlux = reactiveQueryGateway.subscriptionQuery(\"criteriaQuery\", ResultType.class); The above invocation through the ReactorQueryGateway is equivalent to: class SubscriptionQuerySender { private final ReactorQueryGateway reactiveQueryGateway; public Flux sendSubscriptionQuery(SomeQuery query, Class responseType) { return reactiveQueryGateway.subscriptionQuery(query, responseType, responseType) .flatMapMany(result -> result.initialResult() .concatWith(result.updates()) .doFinally(signal -> result.close())); } } Sends the given query, returns the initial result and keeps streaming incremental updates until a subscriber unsubscribes from the Flux. This operation should be used when the initial result contains multiple instances of the response type which needs to be flattened. Additionally, the response type of the initial response and incremental updates need to match. Flux resultFlux = reactiveQueryGateway.subscriptionQueryMany(\"criteriaQuery\", ResultType.class); The above invocation through the ReactorQueryGateway is equivalent to: class SubscriptionQuerySender { private final ReactorQueryGateway reactiveQueryGateway; public Flux sendSubscriptionQuery(SomeQuery query, Class responseType) { return reactiveQueryGateway.subscriptionQuery(query, ResponseTypes.multipleInstancesOf(responseType), ResponseTypes.instanceOf(responseType)) .flatMapMany(result -> result.initialResult() .flatMapMany(Flux::fromIterable) .concatWith(result.updates()) .doFinally(signal -> result.close())); } } Sends the given query and streams incremental updates until a subscriber unsubscribes from the Flux. This method could be used when subscriber is only interested in updates. Flux updatesOnly = reactiveQueryGateway.queryUpdates(\"criteriaQuery\", ResultType.class); The above invocation through the ReactorQueryGateway is equivalent to: class SubscriptionQuerySender { private final ReactorQueryGateway reactiveQueryGateway; public Flux sendSubscriptionQuery(SomeQuery query, Class responseType) { return reactiveQueryGateway.subscriptionQuery(query, ResponseTypes.instanceOf(Void.class), responseType) .flatMapMany(result -> result.updates() .doFinally(signal -> result.close())); } } In the above shown methods, the subscription query is closed automatically after a subscriber has unsubscribed from the Flux. When using the regular QueryGateway, the subscription query needs to be closed manually however. Reactive variation of the EventGateway. Provides support for reactive return types such as Flux. Publishes the given events once the caller subscribes to the resulting Flux. This method returns events that were published. Note that the returned events may be different from those the user has published, granted an interceptor has been registered which modifies events. Example of dispatcher modified events, returned to user as the result Flux. class EventPublisher { private final ReactorEventGateway reactiveEventGateway; // Register a dispatch interceptor to modify the event messages public EventPublisher() { reactiveEventGateway.registerDispatchInterceptor( eventMono -> eventMono.map(event -> GenericEventMessage.asEventMessage(\"intercepted\" + event.getPayload())) ); } public void publishEvent() { Flux result = reactiveEventGateway.publish(\"event\"); } } Axon provides a notion of interceptors. The Reactor gateways allow for similar interceptor logic, namely the ReactorMessageDispatchInterceptor and ReactorResultHandlerInterceptor. These interceptors allow us to centrally define rules and filters that will be applied to a message stream. Interceptors will be applied in order they have been registered to the given component. The ReactorMessageDispatchInterceptor should be used to centrally apply rules and validations for outgoing messages. Note that a ReactorMessageDispatchInterceptor is an implementation of the default MessageDispatchInterceptor interface used throughout the framework. The implementation of this interface is described as follows: @FunctionalInterface public interface ReactorMessageDispatchInterceptor> extends MessageDispatchInterceptor { Mono intercept(Mono message); @Override default BiFunction handle(List messages) { return (position, message) -> intercept(Mono.just(message)).block(); } } It thus defaults the MessageDispatchInterceptor#handle(List method to utilize the ReactorMessageDispatchInterceptor#intercept(Mono) method. As such, a ReactorMessageDispatchInterceptor could thus be configured on a plain Axon gateway too. Here are a couple of examples how a message dispatch interceptor could be used: Dispatch interceptor that adds key-value pairs to the message’s MetaData. class ReactorConfiguration { public void registerDispatchInterceptor(ReactorCommandGateway reactiveGateway) { reactiveGateway.registerDispatchInterceptor( msgMono -> msgMono.map(msg -> msg.andMetaData(Collections.singletonMap(\"key1\", \"value1\"))) ); } } Dispatch interceptor that discards the message, based on a security flag in the Reactor Context. class ReactorConfiguration { public void registerDispatchInterceptor(ReactorEventGateway reactiveGateway) { reactiveGateway.registerDispatchInterceptor( msgMono -> msgMono.filterWhen(v -> Mono.subscriberContext() .filter(ctx-> ctx.hasKey(\"security\")) .map(ctx->ctx.get(\"security\"))) ); } } The ReactorResultHandlerInterceptor should be used to centrally apply rules and validations for incoming messages, a.k.a. results. The implementation of this interface is described as follows: @FunctionalInterface public interface ReactorResultHandlerInterceptor, R extends ResultMessage> { Flux intercept(M message, Flux results); } The parameters are the message that has been sent, and a Flux of results from that message, which is going to be intercepted. The message parameter can be useful if you want to apply a given result rule only for specific messages. Here are a couple of examples how a message result interceptor could be used: This type of interceptor is available only in the Reactor Extension. Result interceptor which discards all results that have a payload matching blockedPayload class ReactorConfiguration { public void registerResultInterceptor(ReactorQueryGateway reactiveGateway) { reactiveGateway.registerResultHandlerInterceptor( (msg, results) -> results.filter(r -> !r.getPayload().equals(\"blockedPayload\")) ); } } Result interceptor which validates that the query result does not contain an empty String. class ReactorConfiguration { public void registerResultInterceptor(ReactorQueryGateway reactiveGateway) { reactiveQueryGateway.registerResultHandlerInterceptor( (query, results) -> results.flatMap(r -> { if (r.getPayload().equals(\"\")) { return Flux.>error(new RuntimeException(\"no empty strings allowed\")); } else { return Flux.just(r); } }) ); } } Result interceptor which discards all results where the queryName matches myBlockedQuery. class ReactorConfiguration { public void registerResultInterceptor(ReactorQueryGateway reactiveGateway) { reactiveQueryGateway.registerResultHandlerInterceptor( (q, results) -> results.filter(it -> !((boolean) q.getQueryName().equals(\"myBlockedQuery\"))) ); } } Result interceptor which limits the result waiting time to thirty seconds per message. class ReactorConfiguration { public void registerResultInterceptor(ReactorCommandGateway reactiveGateway) { reactiveGateway.registerResultHandlerInterceptor( (msg,results) -> results.timeout(Duration.ofSeconds(30)) ); } } Result interceptor which limits the number of results to five entries, and logs all results. class ReactorConfiguration { public void registerResultInterceptor(ReactorCommandGateway reactiveGateway) { reactiveGateway.registerResultHandlerInterceptor( (msg,results) -> results.log().take(5) ); } }","title":"Reactor Gateways","component":"reactor-extension-reference","version":"4.10","name":"reactor-gateways","url":"/reactor-extension-reference/4.10/reactor-gateways/","titles":[{"text":"Configuration in SpringBoot","hash":"_configuration_in_springboot","id":1},{"text":"Reactor command gateway","hash":"_reactor_command_gateway","id":2},{"text":"send","hash":"send","id":3},{"text":"sendAll","hash":"sendall","id":4},{"text":"Reactor query gateway","hash":"_reactor_query_gateway","id":5},{"text":"query","hash":"query","id":6},{"text":"scatterGather","hash":"scattergather","id":7},{"text":"Subscription queries","hash":"_subscription_queries","id":8},{"text":"subscriptionQuery","hash":"subscriptionquery","id":9},{"text":"subscriptionQueryMany","hash":"subscriptionquerymany","id":10},{"text":"queryUpdates","hash":"queryupdated","id":11},{"text":"Reactor event gateway","hash":"_reactor_event_gateway","id":12},{"text":"publish","hash":"publish","id":13},{"text":"Interceptors","hash":"_interceptors","id":14},{"text":"React dispatch interceptors","hash":"_react_dispatch_interceptors","id":15},{"text":"Reactor result handler interceptors","hash":"_reactor_result_handler_interceptors","id":16}]},"122":{"id":122,"text":"You can find the release notes for the Reactor Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Reactor Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Reactor Extension","component":"reactor-extension-reference","version":"4.10","name":"release-notes","url":"/reactor-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"123":{"id":123,"text":"Before you set up this extension, it’s important to read through the documentation from Spring itself. There are some known limitations that might require additional changes to the application. In addition, this extension needs to be added by adding the following dependency: org.axonframework.extensions.spring-aot axon-spring-aot 4.8.0 This should be enough to have additional hints with ahead of time compilation to successfully build and run your Axon application.","title":"Compiling to Native","component":"spring-aot-extension-reference","version":"4.10","name":"compile-to-native","url":"/spring-aot-extension-reference/4.10/compile-to-native/","titles":[]},"124":{"id":124,"text":"Spring AOT processing is part of the process to create a native binary from a Spring (Boot) application. This extension will help in adding a lot of hints which are needed for Axon Framework. Please note this extension can only be used with Spring Boot 3, as such it requires at least Java 17. Besides the extension, it might be necessary to make more changes to successfully compile and run an application as a native image. For example, when a message isn’t used in a handler. This is quite common when the application is split, and the application sending certain messages is not the same as the application handling the messages. In those cases these messages need to be added to the ImportRuntimeHints annotation. Otherwise, these messages can’t be deserialized, leading to errors at runtime. If something is not working or only works with additional hints, and it’s Axon-specific, please let us know either at GitHub or Discuss.","title":"Spring Ahead of Time","component":"spring-aot-extension-reference","version":"4.10","name":"index","url":"/spring-aot-extension-reference/4.10/","titles":[]},"125":{"id":125,"text":"It can be beneficial to move from JPA implementations to JDBC implementations. This likely decreases both the time it takes to compile the image and the time to start the image.","title":"Performance Tips","component":"spring-aot-extension-reference","version":"4.10","name":"performance","url":"/spring-aot-extension-reference/4.10/performance/","titles":[]},"126":{"id":126,"text":"You can find the release notes for the Spring AOT Extension of version 4.10 below. For earlier releases, please go to the legacy documentation. Upgrades the Spring AOT Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes. Added native-compilation hints for reflection #197 Aggregate member causes errors in running Spring Boot AOT application #193 Command handler interceptor causes errors in running Spring Boot AOT application #192 Spring AOT doesn’t work when using custom or spring beans as parameters in handler methods #183 We’d like to thank all the contributors who worked on this release! @abuijze","title":"Release Notes Spring AOT Extension","component":"spring-aot-extension-reference","version":"4.10","name":"release-notes","url":"/spring-aot-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1},{"text":"Patch releases","hash":"_patch_releases","id":2},{"text":"Release 4.10.1","hash":"_release_4_10_1","id":3},{"text":"Bug fixes","hash":"_bug_fixes","id":4},{"text":"Contributors","hash":"_contributors","id":5}]},"127":{"id":127,"text":"The SpringCloudCommandRouter uses Spring Cloud’s discovery mechanism to find the other nodes in the cluster. To that end it uses the DiscoveryClient and Registration from Spring Cloud. These are respectively used to gather remote command routing information and maintain local information. The most straightforward way to retrieve both is by annotating your application with @EnableDiscoveryClient. Gathering and storing the command routing information revolves around Spring Cloud’s ServiceInstances. A Registration is just the local ServiceInstance, whereas the DiscoveryClient provides the API to find remote ServiceInstances. Furthermore, it is the ServiceInstance which provides us with the required information (for example, the URI) to retrieve a node’s capabilities. Spring Cloud’s Heartbeat Requirement When using the SpringCloudCommandRouter, make sure your Spring application has heartbeat events enabled. The heartbeat events published by a Spring Cloud application are the trigger to check if the set of ServiceInstances from the DiscoveryClient has been changed. Additionally, it is used to validate whether the command routing capabilities for known nodes has been altered. Thus, if heartbeat events are disabled, your instance will no longer be updated with the current command routing capabilities. If so, this will cause issues during command routing. The logic to store the local capabilities and discovering the remote capabilities of a ServiceInstance is maintained in the CapabilityDiscoveryMode. It is thus the CapabilityDiscoveryMode which provides us the means to actually retrieve a ServiceInstance 's set of commands it can handle (if any). The sole full implementation provided of the CapabilityDiscoveryMode, is the RestCapabilityDiscoveryMode, using a RestTemplate and the ServiceInstance URI to invoke a configurable endpoint. This endpoint leads to the MemberCapabilitiesController which in turn exposes the MemberCapabilities on the RestCapabilityDiscoveryMode of that instance. There are decorators present for the CapabilityDiscoveryMode, providing two additional features: IgnoreListingDiscoveryMode - a CapabilityDiscoveryMode decorator which on failure of retrieving the MemberCapabilities will place the given ServiceInstance on a list to be ignored for future validation. It thus effectively removes discoverable ServiceInstances from the set. AcceptAllCommandsDiscoveryMode - a CapabilityDiscoveryMode decorator which regardless of what this instance can handle as commands, state it can handle anything. This decorator comes in handy if the nodes in the system are homogeneous (aka, everybody can handle the same set of commands). The Registration, DiscoveryClient and CapabilityDiscoveryMode are arguably the heart of the SpringCloudCommandRouter. There are, however, a couple of additional things you can configure for this router, which are the following: RoutingStrategy - The component in charge of deciding which of the nodes receives the commands consistently. By default, a AnnotationRoutingStrategy is used (see Distributing the Command Bus for more). A ServiceInstance filter - This Predicate is used to filter out ServiceInstance retrieved through the DiscoveryClient. For example, it allows the removal of instances which are known to not handle any command messages. This might be useful if you have several services within the Spring Cloud Discovery Service set up, which you do not ever want to take into account for command handling. ConsistentHashChangeListener - Adding a consistent hash change listener provides you with the opportunity to perform a specific task if new nodes have been added to the known command handlers set. Differing Command Capabilities per Node It is not required for all nodes to have the same set of command handlers. You may use different segments for different command types altogether. The Distributed Command Bus will always choose a node to dispatch a command to the one that has support for that specific type of command.","title":"Discovering Command Routes","component":"spring-cloud-extension-reference","version":"4.10","name":"command-routes","url":"/spring-cloud-extension-reference/4.10/command-routes/","titles":[]},"128":{"id":128,"text":"Chances are high that you will be using Spring Boot if you are also using Spring Cloud. As configuring goes, this would opt for usage of the axon-springcloud-spring-boot-starter dependency to automatically retrieve all required beans. In either case, your application should be marked to enable it as a discoverable service through Spring Cloud. This can, for example, be done by annotating the main class with @EnableDiscoveryClient. There are still quite a few customizable components. For some suggestions, take a look at the following examples: Custom Bean Configuration Spring Boot AutoConfiguration // Custom Spring Boot app, enabling a 'DiscoveryClient' and 'Registration' through `@EnableDiscoveryClient` @EnableDiscoveryClient @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } @Bean public CapabilityDiscoveryMode capabilityDiscoveryMode(RestTemplate restTemplate, Serializer serializer) { return RestCapabilityDiscoveryMode.builder() .restTemplate(restTemplate) .serializer(serializer) // Allows changing the endpoint used to find member capabilities .messageCapabilitiesEndpoint(/* custom message information endpoint */) .build(); } @Bean public CommandRouter springCloudCommandRouter(DiscoveryClient discoveryClient, Registration localServiceInstance, CapabilityDiscoveryMode capabilityDiscoveryMode) { return SpringCloudCommandRouter.builder() .discoveryClient(discoveryClient) .routingStrategy(new AnnotationRoutingStrategy()) .localServiceInstance(localServiceInstance) .capabilityDiscoveryMode(capabilityDiscoveryMode) .serviceInstanceFilter(/* custom ServiceInstance filter */) .consistentHashChangeListener(/* ConsistentHash change listener */) .build(); } // Only required if Axon Spring Boot Starter is not used @Bean @Qualifier(\"localSegment\") public CommandBus localSegment() { return SimpleCommandBus.builder().build(); } @Bean public CommandBusConnector springHttpCommandBusConnector(@Qualifier(\"localSegment\") CommandBus localSegment, RestOperations restOperations, Serializer serializer) { return SpringHttpCommandBusConnector.builder() .localCommandBus(localSegment) .restOperations(restOperations) .serializer(serializer) .executor(/* custom Executor */) .build(); } @Bean @Primary public DistributedCommandBus distributedCommandBus(CommandRouter commandRouter, CommandBusConnector commandBusConnector) { return DistributedCommandBus.builder() .commandRouter(commandRouter) .connector(commandBusConnector) .build(); } } # Required to enabled the DistributedCommandBus axon.distributed.enabled=true # Defines the load factor used for this segment. Defaults to 100 axon.distributed.load-factor=100 # Defines the CapabilityDiscoveryMode used. Defaults to REST axon.distributed.spring-cloud.mode=rest # Defines the endpoint used to retrieve member capabilities from. Defaults to \"/member-capabilities\" axon.distributed.spring-cloud.rest-mode-url=\"/my-custom-endpoint\" # Defines whether the CapabilityDiscoveryMode should be decorated to ignore faulty ServiceInstances axon.distributed.spring-cloud.enable-ignore-listing=true # Defines whether the CapabilityDiscoveryMode should be decorated to accept all types of commands axon.distributed.spring-cloud.enable-accept-all-commands=true","title":"Configuring This Extension","component":"spring-cloud-extension-reference","version":"4.10","name":"config","url":"/spring-cloud-extension-reference/4.10/config/","titles":[]},"129":{"id":129,"text":"Spring Cloud is an alternative approach to distributing the command bus (commands), besides Axon Server as the default. The Spring Cloud Extension uses the service registration and discovery mechanism described by Spring Cloud for distributing the command bus. You thus have the choice of which Spring Cloud implementation to use when discovering the routes to distribute your commands. An example of that would be Netflix' Eureka Discovery/Eureka Server combination or HashiCorp’s Consul. To use the Spring Cloud components from Axon, make sure the axon-springcloud module is available on the classpath. The easiest way is to include the Spring Cloud starter (axon-springcloud-spring-boot-starter) from this extension to your project. Giving a description of every Spring Cloud implementation would push this reference guide too far. For information on other Spring Cloud implementation options out there, please refer to their respective documentations. The Spring Cloud connector setup is a combination of the SpringCloudCommandRouter and a SpringHttpCommandBusConnector. The former is the CommandRouter and latter the CommandBusConnector, both used by the DistributedCommandBus to enable command distribution.","title":"Spring Cloud","component":"spring-cloud-extension-reference","version":"4.10","name":"index","url":"/spring-cloud-extension-reference/4.10/","titles":[]},"130":{"id":130,"text":"The CommandBusConnector is in charge of sending commands, based on a given route, from one node to another. This extension to that end provides the SpringHttpCommandBusConnector, which uses plain REST for sending commands. There are three hard requirements when creating this service and one optional configuration: Local CommandBus - This \"local segment\" is the command bus which dispatches commands into the local JVM. It is thus invoked when the SpringHttpCommandBusConnector receives a command from the outside, or if it receives a command which is meant for itself. RestOperations - The service used to POST a command message to another instance. In most situations the RestTemplate is used for this. Serializer - The serializer is used to serialize the command messages before they are sent over and deserialize when they are received. Executor (optional) - The Executor is used to handle incoming commands and to dispatch commands. Defaults to a DirectExecutor instance for backwards compatibility. Non-blocking command dispatching Note that the configurable Executor impacts how command dispatching acts when invoking CommandGateway#send methods returning a CompletableFuture. Although the CompletableFuture return type suggests a non-blocking result, if the bus under the hood reuses the dispatching thread we are still faced with a blocking operation. Hence, to make the SpringHttpCommandBusConnector fully non-blocking, it is recommended to adjust the Executor to use its own thread pool.","title":"Sending Commands between Nodes","component":"spring-cloud-extension-reference","version":"4.10","name":"internode-commands","url":"/spring-cloud-extension-reference/4.10/internode-commands/","titles":[]},"131":{"id":131,"text":"You can find the release notes for the Spring Cloud Extension of version 4.10.0 below. For earlier releases, please go to the legacy documentation. Upgrades the Spring Cloud Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Spring Cloud Extension","component":"spring-cloud-extension-reference","version":"4.10","name":"release-notes","url":"/spring-cloud-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"132":{"id":132,"text":"The extension can be disabled setting the property axon.extension.tracing.enabled to false (default=true). This will give you the possibility to turn it off when needed (for example, for a certain environment). Furthermore, there is a more fine-grained configuration option of the tracing span tags on commands, events and queries. You can customize span tags easily, mixing and matching between available tag MESSAGE_ID, AGGREGATE_ID, MESSAGE_TYPE, PAYLOAD_TYPE, MESSAGE_NAME and PAYLOAD. Take into account that some of the tags make sense on a certain span type, but not on another, and some of them have an hidden cost on network (such as payload). Use them wisely. axon.extension.tracing.span.commandTags=MESSAGE_ID, MESSAGE_TYPE, PAYLOAD_TYPE, MESSAGE_NAME axon.extension.tracing.span.eventTags=MESSAGE_ID, AGGREGATE_ID, MESSAGE_TYPE, PAYLOAD_TYPE axon.extension.tracing.span.queryTags=MESSAGE_ID, MESSAGE_TYPE, PAYLOAD_TYPE, MESSAGE_NAME Above an example of the default value. Available tags field are listed in MessageTag.java class.","title":"Configuring the Extension","component":"tracing-extension-reference","version":"4.10","name":"config","url":"/tracing-extension-reference/4.10/config/","titles":[]},"133":{"id":133,"text":"This extension provides functionality to trace command, event and query messages flowing through an Axon application by providing a specific implementation of the CommandGateway, QueryGateway, MessageDispatchInterceptor and MessageHandlerInterceptor. The Open Tracing standard is used to provide tracing capabilities, which thus allows usage of several Open Tracing implementations. With this instrumentation, we can chain synchronous and asynchronous commands and queries, all belonging to the same parent span. A request can be visualized and analysed across Axon clients, command handlers, query handlers and event handlers, when running together or decomposed and deployed as separate parts (distributed). org.axonframework.extensions.tracing axon-tracing-spring-boot-starter 4.4 io.opentracing.contrib opentracing-spring-jaeger-web-starter 3.2.2 The first dependency is Spring Boot starter for Axon Tracing extension, which is the quickest start in to an extension configuration. The second dependency is Jaeger implementation for OpenTracing. There are other supported tracers that can be used: LightStep, Instana, Apache SkyWalking, Datadog, Wavefront by VMware, Elastic APM and many more.","title":"Tracing","component":"tracing-extension-reference","version":"4.10","name":"index","url":"/tracing-extension-reference/4.10/","titles":[]},"134":{"id":134,"text":"You can find the release notes for the Tracing Extension of version 4.10 below. For earlier releases, please go to the legacy documentation. Upgrades the Tracing Extension to be compatible with Axon Framework 4.10.0, and updates various dependencies. See the GitHub release notes for an exhaustive list of all changes.","title":"Release Notes Tracing Extension","component":"tracing-extension-reference","version":"4.10","name":"release-notes","url":"/tracing-extension-reference/4.10/release-notes/","titles":[{"text":"Release 4.10","hash":"_release_4_10","id":1}]},"135":{"id":135,"text":"","title":"Axon Server Configuration","component":"axon-server-reference","version":"v2024.1","name":"configuration","url":"/axon-server-reference/v2024.1/configuration/","titles":[]},"136":{"id":136,"text":"","title":"Axon Server gRPC API","component":"axon-server-reference","version":"v2024.1","name":"grpc-api","url":"/axon-server-reference/v2024.1/grpc-api/","titles":[]},"137":{"id":137,"text":"Axon Server is the flagship product of AxonIQ, and companion product to the Open Source Axon Framework. Axon Server itself is available in two editions, Standard and Enterprise, with Axon Server Standard Edition (SE) available under the AxonIQ Open Source license, while Axon Server Enterprise Edition (EE) is licensed as a commercial product with a full range of support options. Axon Framework version compatibility All Axon Server versions are compatible with all Axon Framework 4.x.y releases. A summary of the various subsections is given below: Sub-Section Purpose Installation Installing Axon Server Administration Administering an Axon Server Clustering Clustering Axon Server nodes Security Securing an Axon Server deployment Performance Tuning an Axon Server deployment Migration Migration capabilities provided by Axon Server","title":"Introduction","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/","titles":[]},"138":{"id":138,"text":"Axon Server receives a major release three times a year. The versioning scheme aligns with the year it has been released in, followed by an incremental counter starting at zero. This results in 20XX.{0..2}.0 versions. Furthermore, the last release of the year is the LTS (long-term support) version of Axon Server. As such, the 20XX.2 version receives minor release to fix issues for an extended period of time. The non-LTS releases receive patches until the next major release is present. Note that an LTS is supported for a little over 2 years. This time window allows for skipping a given LTS version if this would be required. Down below is a table of all the release notes the major and minor release of Axon Server: Release Type Version Major 2024.1 2024.0 2023.2 2023.1 2023.0 Minor 2024.0 2023.2 2023.1 Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust.","title":"Release Notes","component":"axon-server-reference","version":"v2024.1","name":"release-notes","url":"/axon-server-reference/v2024.1/release-notes/","titles":[]},"139":{"id":139,"text":"","title":"Axon Server REST API","component":"axon-server-reference","version":"v2024.1","name":"rest-api","url":"/axon-server-reference/v2024.1/rest-api/","titles":[]},"140":{"id":140,"text":"Persistent streams provide the option to open an event stream from a client and let Axon Server track the progress. This was already available as a preview version in 2024.0, but is now available by default. Persistent streams are supported in Axon Framework 4.10 as an alternative to tracking or pooled streaming event processors. For more information see Subscribing event processor in the Axon Framework section. Prevent stale threads when an Axon Server node closes the connection to another node Clean up metrics from disconnected clients prevent WARN log messages when a query completed message was received from an unexpected client Allow context with ephemeral events without a license Fix for listing event processors when there are more than 512 event processors The default Java version for the Docker images has changed from Java 11 to Java 17. This means that the docker images with tag \"latest\", \"latest-nonroot\", \"2024.1.0\", and \"2024.1.0-nonroot\" use Java 17. Java 11 based images are still available with the \"-jdk-11\" extensions in the tag name. gRPC version updated to 1.65.1 Updated H2 database to store the Control DB, addressing some issues from previous H2 version (see the upgrade instructions in https://library.axoniq.io/axon-server-upgrade/upgrading_as_2024.html). Redesigned User Interface: The UI has been completely revamped with a modern look and feel for a better user experience. The changes include: Simplified Overview Page: Access node information easily with filtering and scaling options. Dedicated License Page: Track license expiry dates and view available features for non-enterprise users. Monitoring Page: View important health information, display logs, and download diagnostic packages. System Tasks: List and cancel running system tasks. Search Event Store Page: Improved usability with removable columns, formatted code styles, and auto-composable queries. Command and Queries Pages: Revamped for a better overview of messages in the system. Long-Running Commands Component: View and cancel commands running longer than 1 second. Scheduled Events Page: View and cancel scheduled events. Streams Page (Experimental): Accessible for persistent streams if dev mode is enabled. API Tokens (formerly Applications): Renamed for clarity, with improved token management. Support for Wide Screens and Dark/Light Themes: Enhanced viewing experience. Connection, Health, and Early Event Processor Issue Detection: Improved issue detection and resolution. Embedded Documentation Snippets: Access documentation directly within the UI. Preview of new persistent streams feature, event streams where Axon Server manages the publication of events to clients and keeps track of the progress. This feature is enabled when development mode is enabled or when axoniq.axonserver.preview.persistent-streams property is set to true. Axon Server now supports the hot (runtime) replacement of certificates and keys used for TLS, eliminating the need for server restarts. We have revamped the metrics exposed by Axon Server for better clarity and comprehensibility. Adhering to the 4 golden signals terminology, metrics are now systematically organized. Users can access both old and new style metrics in this version. However, there’s an option to disable the old style metrics. To aid in issue resolution, Axon Server now provides a more comprehensive diagnostics package. The package now contains more detailed information about raft status. It offers a snapshot of metrics and health information. There’s a listing of files in the replication group. Information about multi-tier storage is included. Logs are included as well. We’ve addressed various security concerns through dependency updates. Additionally, several bugs have been identified and rectified. The role ‘MONITOR’ is now granted permission to access the ‘internal/raft/status’ endpoint. We’ve transitioned to new versions for some of the external libraries used in Axon Server. The new Event Transformation feature allows users to perform specific event transformations like updates and deletes in the event store, utilizing the Event Transformation API.This functional change is intended to facilitate more flexible event management in rare instances where modifications are unavoidable. In the application view, users are now provided with an option to force the client to reconnect. This addition aims to offer a practical tool for addressing client connectivity issues. It is now possible to remove a node from the cluster through the user interface (UI). This functionality, previously accessible only via the command-line interface (CLI) and REST API, has been expanded to the UI for broader accessibility. In this release, we have temporarily disabled the 'Development Mode/Event Purge' feature. Users should now utilize the 'Delete/Create Context' operation as an alternative. This change will remain in place until a more efficient solution is implemented. In an effort to optimize performance, we have updated Axon Server’s approach to memory management for file resources. Prior to this release, Axon Server primarily depended on the Java garbage collector to reclaim memory used by memory-mapped files. With this update, memory management is now undertaken directly by Axon Server, enhancing efficiency in file resource usage. This release also contains fixes for the following issues: Replication group creation did not work in conjunction with the HTTPS (-s) option Race condition in unregister node leaves node partially in the cluster The Axon Server artifact has been updated to simplify the deployment process. Instead of separate artifacts for the Axon Server Standard Edition and Enterprise Edition, we are releasing a single artifact from now on. The Axon Server features will adjust automatically based on the presence of a provided license. Note that the Axon Server Standard Edition remains open-source, but separate releases will no longer be made. The axoniq/axonserver-enterprise docker image is no longer updated. To use the latest version, use the axoniq/axonserver image with tags ending with -dev. For instance, if you use axoniq/axonserver-enterprise:2023.0.1-dev, you can switch to axoniq/axonserver:2023.1.0-dev. If you are used to Axon Server Standard Edition, note that there is a difference in the server’s initialization. As the server can now run standalone or as a node in a cluster, you have to tell it how it should initialize itself. The dashboard provides an initial page to do this initialization. To automatically initialize the server as a standalone server, add the following properties: axoniq.axonserver.autocluster.first= axoniq.axonserver.autocluster.contexts=default Our new release strategy involves releasing three versions each year, with new releases being named based on the year, such as 2023.0, 2023.1, and 2023.2. The third release is dedicated to providing long-term support. Customers that wish to upgrade less frequently can choose to stay on these long-term support releases. We chose this approach to separate versioning from the Axon Framework and maintained flexibility and independence in versioning. This strategy provides predictable release dates, better alignment with customer needs, faster feature updates, and increased responsiveness to user feedback and market demands. Overall, this approach will enable us to deliver better products and services to our customers while ensuring maximum flexibility and independence in versioning. The 2023.0 release brings us these new features: - Tiered Storage - Ephemeral Contexts Tiered Storage is a highly anticipated feature of the Axon Server Enterprise’s 2023.0.0 release, allowing each node to store its data across different storage locations. With its ability to optimize performance and reduce storage costs, Tiered Storage is a powerful tool for businesses seeking to improve their storage management strategies. By distributing data across different levels of storage media based on access speed and cost, Tiered Storage enables organizations to minimize the cost of storing infrequently accessed data while ensuring fast access to frequently accessed data. The Tiered Storage feature is especially powerful in combination with the use of secondary nodes, a feature that has been around since Axon Server Enterprise version 4.4: Tiered Storage enables the configuration and maintenance of a variable number of storage tiers for each node, depending on its role, such as primary, secondary, or backup nodes. Secondary nodes enable you to reduce the number of copies of data that are stored by keeping only the most recent events stored on your primary nodes and keeping the full event store on the secondary nodes. The configuration of Tiered Storage on these secondary nodes can focus on lower storage costs and large volumes of data, while Primary nodes focus on speed of access. With its advanced capabilities, Tiered Storage is poised to become a critical asset for enterprises seeking to streamline their data storage and management processes. Ephemeral contexts are a new type of context that store events for a limited time before automatically removing them permanently. These contexts are particularly useful in scenarios such as time-limited audit systems or integration contexts, where events are broadcasted to multiple observers in real-time, after which they are no more of use. As events might become outdated and irrelevant over time, ephemeral contexts can help to manage storage space and maintain system efficiency by automatically deleting these events after a specified time period. By using ephemeral contexts, organizations can efficiently store only necessary data and reduce clutter in their systems.","title":"Major Releases","component":"axon-server-reference","version":"v2024.1","name":"rn-as-major-releases","url":"/axon-server-reference/v2024.1/rn-as-major-releases/","titles":[{"text":"Release 2024.1","hash":"_release_2024_1","id":1},{"text":"Persistent streams","hash":"_persistent_streams","id":2},{"text":"Bug fixes and improvements","hash":"_bug_fixes_and_improvements","id":3},{"text":"Docker image changes","hash":"_docker_image_changes","id":4},{"text":"Dependency updates","hash":"_dependency_updates","id":5},{"text":"Release 2024.0","hash":"_release_2024_0","id":6},{"text":"Database update","hash":"_database_update","id":7},{"text":"New features and improvements","hash":"_new_features_and_improvements","id":8},{"text":"Release 2023.2","hash":"_release_2023_2","id":9},{"text":"TLS certificate and key replacement at runtime","hash":"_tls_certificate_and_key_replacement_at_runtime","id":10},{"text":"Enhanced metrics exposure","hash":"_enhanced_metrics_exposure","id":11},{"text":"Upgraded diagnostics package","hash":"_upgraded_diagnostics_package","id":12},{"text":"Other improvements","hash":"_other_improvements","id":13},{"text":"Release 2023.1","hash":"_release_2023_1","id":14},{"text":"New features and enhancements","hash":"_new_features_and_enhancements","id":15},{"text":"Event transformation","hash":"_event_transformation","id":16},{"text":"Forced client reconnection","hash":"_forced_client_reconnection","id":17},{"text":"Node removal from cluster","hash":"_node_removal_from_cluster","id":18},{"text":"Temporary adjustment to development Mode","hash":"_temporary_adjustment_to_development_mode","id":19},{"text":"Enhanced memory management","hash":"_enhanced_memory_management","id":20},{"text":"Bug fixes","hash":"_bug_fixes","id":21},{"text":"Product updates","hash":"_product_updates","id":22},{"text":"Unified Axon Server artifact","hash":"_unified_axon_server_artifact","id":23},{"text":"Release 2023.0","hash":"_release_2023_0","id":24},{"text":"New release schedule","hash":"_new_release_schedule","id":25},{"text":"New features","hash":"_new_features","id":26},{"text":"Tiered storage","hash":"_tiered_storage","id":27},{"text":"Ephemeral contexts","hash":"_ephemeral_contexts","id":28}]},"141":{"id":141,"text":"This page provides a dedicated overview of patch releases for Axon Server. Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted with access control enabled UI fixes for non-admin users: username and roles visible on top of the page user’s contexts are now visible in the dropdown list for Search/Commands/Queries/Events pages user’s contexts are now visible in the Context page Bug fixes and improvements: Axon Server node should return information about the clients connected to that node only Backing up the RAFT log entries should take into account replication group rather than context Record handling duration for initial query of a subscription query Persistent streams improvements: Prevent closing the stream for slow clients Improved error handling Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted Event processor operations fail when the processing group contains a forward slash Potential replication issue when trying to apply events for already closed contexts during shutdown of Axon Server Increased maximum length for the username to 255 characters Update the event store size when a new index file is created Visual improvements in search table: headers not visible by default & action not visible by default Improved logging in the event store Stop replication applying process when the replication group is stopped Global Index pre-load for configured contexts Bug fixes and improvements: Revert optimization in replication from version 2023.2.4, as it could lead to a node entering fatal state Stop Axon Server from redirecting a client to a node that is in fatal state Reduce communication between the leader and follower and logging when a node is starting up Search page improvements Set correct permissions for persistent stream API calls Add validation of newly created index files Allow non-pristine clusters to connect to Console Fix the event store size in the context page Fixes and improvements: Fix for a problem starting up Axon Server with plugins configured Removed race condition causing a possible delay in receiving the first event on a newly registered event handler Improve the diagnostics package to contain full log information when \"logging.config\" property is set - Fixes and improvements: Add an option to reduce the number of global index segments Axon Server checks when the first event for a new aggregate is stored. This can be configured globally with the property \"axoniq.axonserver.event.global-index-segments-check\" or on a context level with the property \"event.global-index-segments-check\". The value is the number of global index segments to check, with a minimal value of 2. Fix for Control DB migration in case of plugin configuration properties with long values Updating a license through Axon Console now takes effect immediately Improved distribution of queries to different instances of the query handlers Fixes and improvements: Updating a license through Axon Console now takes effect immediately Reduced memory usage for internal communication Reduced the number of threads used with a large number of contexts UI improvements The dialogs for adding replication groups, API tokens, and users were not always cleared when opened show the number of events in each context improved notification when the current version is not the latest one add an option to set X-Frame-Options to SAMEORIGIN in the response messages New configuration parameters: axoniq.axonserver.accesscontrol.same-origin=false (true sets the X-Frame-Options header to SAMEORIGIN) axoniq.axonserver.event-store-background-thread-count=8 axoniq.axonserver.event-store-processors-thread-count=8 Fix the increasing number of threads on the running Axon Server nodes when one node in the cluster is down. Small fixes in the replication process: remove delay in starting to synchronize with a node that is far behind improve the performance for a follower catching up with the leader prevent situations where a follower attempts to apply replication log entries that were already included in a snapshot Fix for authentication issue when multiple applications have the same token UI, copy token to clipboard fails when not running on a trusted URL UI, improved validations for applications, replication groups and contexts operations Improved handling for missing connection to Axon Console Support for Google Marketplace licenses Axon Server now performs a clean shutdown when it was started with an incorrect node name or internal hostname/port Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted with access control enabled Bug fixes and improvements: Redistribute clients across Axon Server nodes when a node is restarted Event processor operations fail when the processing group contains a forward slash Potential replication issue when trying to apply events for already closed contexts during shutdown of Axon Server Bug fixes and improvements: Revert optimization in replication from version 2023.2.4, as it could lead to a node entering fatal state Stop Axon Server from redirecting a client to a node that is in fatal state Reduce communication between the leader and follower and logging when a node is starting up Bug fixes: Improved distribution of queries to different instances of the query handlers Prevent stale threads when an Axon Server node closes the connection to another node Clean up metrics from disconnected clients prevent WARN log messages when a query completed message was received from an unexpected client Dependency updates: gRPC version updated to 1.65.1 Fixes and improvements: Add an option to reduce the number of global index segments Axon Server checks when the first event for a new aggregate is stored. This can be configured globally with the property \"axoniq.axonserver.event.global-index-segments-check\" or on a context level with the property \"event.global-index-segments-check\". The value is the number of global index segments to check, with a minimal value of 2. Reduced memory usage for internal communication Fix the increasing number of threads on the running Axon Server nodes when one node in the cluster is down. Small fixes in the replication process: remove delay in starting to synchronize with a node that is far behind improve the performance for a follower catching up with the leader prevent situations where a follower attempts to apply replication log entries that were already included in a snapshot Fix for authentication issue when multiple applications have the same token Bug fix: Increasing number of threads on the running Axon Server nodes when one node in the cluster is down. Bug fixes: Fix for an error handling subscription query responses during the upgrade from a version before 2023.2.0 to 2023.2.0 or 2023.2.1. Improved readiness probe to return 200 (OK) once the communication services are ready and the replication groups are completely initialized. The endpoint for the new readiness probe is /actuator/health/readiness. This release contains fixes for the following issues: TLS communication between Axon Server nodes cannot validate trusted certificates when there is no trust manager file configured Deleting a context does not delete all its metrics This release contains fixes for the following issues: - Metrics no longer collected when an application reconnects to Axon Server Initialize standalone To simplify initialization of Axon Server, it now supports a new property \"axoniq.axonserver.standalone=true\". When this property is set on a clean Axon Server instance it initializes the server with a \"default\" context. Development mode Fixed the option to reset the event store from the UI (in development mode). This option now also works in an Axon Server cluster. LDAP extension update The new version of the LDAP extension supports configuration of a trust manager file. The location of the file can be specified through the property \"axoniq.axonserver.enterprise.ldap.trust-manager-file\". This release contains fixes for the following issues: - Validation of tiered storage properties when not using the UI - Race condition while writing to the global index - Limitation on the number of requests per context fails if there are timed out requests","title":"Minor Releases","component":"axon-server-reference","version":"v2024.1","name":"rn-as-minor-releases","url":"/axon-server-reference/v2024.1/rn-as-minor-releases/","titles":[{"text":"Release 2024.1","hash":"_release_2024_0","id":1},{"text":"Release 2024.1.4","hash":"_release_2024_1_4","id":2},{"text":"Release 2024.1.3","hash":"_release_2024_1_3","id":3},{"text":"Release 2024.1.2","hash":"_release_2024_1_2","id":4},{"text":"Release 2024.1.1","hash":"_release_2024_1_1","id":5},{"text":"Release 2024.0.4","hash":"_release_2024_0_4","id":6},{"text":"Release 2024.0.3","hash":"_release_2024_0_3","id":7},{"text":"Release 2024.0.2","hash":"_release_2024_0_2","id":8},{"text":"Release 2024.0.1","hash":"_release_2024_0_1","id":9},{"text":"Release 2023.2","hash":"_release_2023_2_","id":10},{"text":"Release 2023.2.10","hash":"_release_2023_2_10","id":11},{"text":"Release 2023.2.9","hash":"_release_2023_2_9","id":12},{"text":"Release 2023.2.8","hash":"_release_2023_2_8","id":13},{"text":"Release 2023.2.7","hash":"_release_2023_2_7","id":14},{"text":"Release 2023.2.6","hash":"_release_2023_2_6","id":15},{"text":"Release 2023.2.5","hash":"_release_2023_2_5","id":16},{"text":"Release 2023.2.4","hash":"_release_2023_2_4","id":17},{"text":"Release 2023.2.3","hash":"_release_2023_2_3","id":18},{"text":"Release 2023.2.2","hash":"_release_2023_2_2","id":19},{"text":"Release 2023.2.1","hash":"_release_2023_2_1","id":20},{"text":"Bug fixes","hash":"_bug_fixes","id":21},{"text":"Release 2023.1","hash":"_release_2023_1_","id":22},{"text":"Release 2023.1.2","hash":"_release_2023_1_2","id":23},{"text":"Bug fixes","hash":"_bug_fixes_2","id":24},{"text":"Release 2023.1.1","hash":"_release_2023_1_1","id":25},{"text":"New features and enhancements:","hash":"_new_features_and_enhancements","id":26},{"text":"Bug fixes","hash":"_bug_fixes_3","id":27}]},"142":{"id":142,"text":"The core strategy employed by AxonServer to keep data available, is to replicate it over various cluster nodes. These nodes should be in availability zones that are isolated from each other in relevant disaster scenarios. With Axon Server 4.3, the introduction of specific backup_nodes makes it easier to set up and operate AxonServer without ever making explicit backups to off-line media. Nevertheless, there are also environments where such backups are a strict requirement and for that reason, AxonServer does support it. There are three types of items that need to be backed up Control Database Event Store Segments Log Entry Segments To support the creation of consistent backups, Axon Server provides a REST API. This API provides three controllers to perform backup operations Backup Info Rest Controller - End point for Axon SE/EE for event stream segment backup Backup Control DB Rest Controller - End point for Axon SE for control database backup Cluster Backup Info Rest Controller - End points for Axon EE for control database and log entry segment backup The API documentation is accessible at http:[server]:[port]/swagger-ui.html. The control database is a relational H2 database and contains important configuration information for your Axon Server SE/EE deployment. Although it’s stored in a single file, this file cannot be simply copied for backup as it may not be in a safe state. For Axon Server SE, a call to the POST endpoint http://[server]/createControlDbBackup forces the creation of a proper backup file. For Axon Server EE, a call to the POST endpoint `http://[server]/v1/backup/createControlDbBackup`forces the creation of a proper backup file. The [server] could be any node within the cluster which serves the _admin context. In both cases, it returns the full path to that file (.zip), which can then be used to move that file to another storage medium. The event store segments are either closed and immutable, or still open for new events. For the closed segments, it is feasible to only back up the ones that haven’t been backed-up yet, since the ones that have been are guaranteed not to change. For both Axon Server SE/EE, a call to the GET endpoint http://[server]/v1/backup/filenames with event type (either EVENT or SNAPSHOT), the context name and optionally the last segment that has already been backed up will return a list of file names belonging to segments that haven’t been backed up yet, but which are now safe to backup by simply copying them. For Axon SE, the [server] is the single Axon Server SE node while in the case of Axon EE, the [server] could be any node that is a PRIMARY member node for the context that needs to be backed up. In addition, you may choose to back up the current segment file that is being written to. These are files with names larger than the last entry returned to the filenames from the backup endpoint. It is important to overwrite this file with subsequent backups, because no guarantees can be given about the completeness of this file. This means the filename of this file should not be used to construct the \"lastSegmentBackedUp\" in subsequent requests to the backup endpoint. Note From Axon Server SE version 4.5.12 / Axon Server EE version 4.5.17 onwards there is a new endpoint available: /v1/backup/eventstore. This endpoint returns a JSON object with the files to back up, including the currently active event store segment. It also returns the number of last closed event store segment. This number can be used in subsequent backups to retrieve files updated since the last backup. Unlike the event stream segments, the log entry segments backup should not be done incrementally. All the files are replaced by the next backup. The log entry segments backup is supported by the GET endpoint http:[server]/v1/backup/log/filenames. It takes the replication group name and returns a list of file names that completely replace the previous backup for that replication group. The [server] could be any node that is a PRIMARY member node for the replication group that needs to be backed up. Even if the recent file has incomplete data, a node will be able to recover a consistent state from such a file and will initialize itself at the position immediately after the last complete write. The replication process (if present) will ensure subsequent entries are automatically synchronized. Because the control database contains a pointer to the last log entry that is known to be stored safely on the cluster (the commit index), the proper order of doing this is to first create the control database backup and then backing up the log entry segments and the event stream segments. This will ensure that the log entry segments may have entries beyond the commit index (which is ok) but there are not missing entries before the commit index (which would be bad). The log entries segments must be backed up within *30 minutes* after the backup of the controlDB, to prevent the log compaction procedure causes data inconsistencies.","title":"Backups","component":"axon-server-reference","version":"v2024.1","name":"backups","url":"/axon-server-reference/v2024.1/axon-server/administration/backups/","titles":[{"text":"Control database","hash":"control-database","id":1},{"text":"Event store segments","hash":"event-stream-segments","id":2},{"text":"Log entry segments (only for Axon Server clusters)","hash":"log-entry-segments","id":3}]},"143":{"id":143,"text":"This page depicts the various Error codes that Axon Server will return in the case of any problems while Processing Client Requests / Message Handling / Administrative Tasks / Cluster Errors. Error Code Error Description AXONIQ-1000 AUTHENTICATION TOKEN MISSING This indicates that the Axon Server has been configured with authentication enabled and a client application did not pass a token. AXONIQ-1001 AUTHENTICATION INVALID TOKEN This indicates that the Axon Server has been configured with authentication enabled and a client application has supplied an invalid token. AXONIQ-1002 UNSUPPORTED INSTRUCTION This error is returned when the Axon Server cannot recognize the instruction passed to it. AXONIQ-1003 INSTRUCTION EXECUTION ERROR This error is returned when the Axon Server throws an error during the execution of the instruction passed to it. AXONIQ-1004 INSTRUCTION RESULT TIMEOUT This indicates that the execution of the instruction did not finish within the timeout set. AXONIQ-1100 NODE IS REPLICA This error is returned when a request from a node to join a cluster is received by a node that is no longer leader. Normally the node would forward the request to the leader, but if there is a leader change during the processing of the join request this may happen. AXONIQ-1300 NO SUCH APPLICATION This error is returned when any client sends any instruction with a specific application name that has not been registered with Axon Server. AXONIQ-1301 NO SUCH NODE This error is returned when any client sends any instruction with a specific node name that has not been registered with Axon Server. AXONIQ-1302 CONTEXT NOT FOUND This error is returned when any client sends any instruction with a specific context that has not been registered with Axon Server. AXONIQ-1304 CONTEXT EXISTS This error is returned when there is an instruction to create a specific context within Axon Server and it already exists. AXONIQ-1305 REPLICATION GROUP EXISTS This error is returned when there is an instruction to create a specific replication group within Axon Server and it already exists. AXONIQ-1400 NO AXONSERVER FOR CONTEXT This error is returned when there is no Axon Server node available for the specified context. AXONIQ-1500 AXONSERVER NODE NOT CONNECTED This error is returned when there is an instruction to create a specific context within Axon Server, and it already exists. AXONIQ-1700 LICENSE ERROR This error is returned when the request cannot be executed due to license restrictions. AXONIQ-1900 TOO MANY REQUESTS This error is returned when clients send too many commands or queries to Axon Server and its internal queue is full. Error Code Error Description AXONIQ-2000 INVALID SEQUENCE This error is returned when there is a gap between the sequence number for a particular aggregate instance that the client application sends and the current sequence number for that instance in the Axon Server Event Store. AXONIQ-2001 PAYLOAD TOO LARGE This error is returned when the payload for the message to be executed is too large. AXONIQ-2002 TOO MANY EVENTS This error is returned when an ad-hoc query (for example from the Search Page) has buffered too many rows to send to the client, this error also is returned when a single transaction from a client contains more than 32767 events (due to a limitation in the event store format, we can only store MAX_SHORT events in a single transaction). AXONIQ-2100 NO LEADER AVAILABLE This error is returned when no leader is available to execute any instruction sent to the Axon Server cluster. AXONIQ-2101 NOT RUNNING IN CLUSTER This error is returned when Axon Server is not running in a cluster. AXONIQ-2107 REPLICATION GROUP UPDATE IN PROGRESS This error is returned when an instruction on a specific replication group is rejected as it is undergoing an update. AXONIQ-2108 REPLICATION GROUP NOT FOUND This error is returned when an instruction is requested for a non-existing replication group. AXONIQ-2200 INVALID TRANSACTION TOKEN This error is returned when during replication there is a mismatch between the transaction token in the new transaction and the transaction token that the event store node expects. This means that there is a likely inconsistency in the data between the nodes. AXONIQ-2301 CLUSTER NOT ALLOWED This error is returned when an instruction to create a cluster is rejected. AXONIQ-2302 CONTEXT CREATION NOT ALLOWED This error is returned when an instruction to create a context on an Axon Server cluster is rejected due to invalid permissions. AXONIQ-2303 NOT SUPPORTED IN DEVELOPMENT This error is returned when an instruction valid only in non-development mode is attempted when development mode is active. AXONIQ-2304 CANNOT DELETE INTERNAL CONTEXT This error is returned when an operation to delete any internal context is attempted on an Axon Server cluster. AXONIQ-2305 MAX CLUSTER SIZE REACHED This error is returned when the maximum size of the cluster is reached. AXONIQ-2306 ALREADY MEMBER OF CLUSTER This error is returned when an attempt is made to add an already existing node to a cluster. AXONIQ-2307 NOT A MEMBER This error is returned when a cluster related instruction was sent to a node that is not a member of the cluster. AXONIQ-2308 INVALID CONTEXT NAME This error is returned when an instruction is attemped on a non-existing context. AXONIQ-2310 CANNOT REMOVE LAST NODE This error is returned when a user tries to remove the last node from a replication group. In this case, the user should delete the replication group. AXONIQ-2311 INVALID PROPERTY VALUE This error is returned in multiple conditions for example when creating a context with properties and one of the properties does not have a valid value, also when updating a license and the license file is invalid or the environment variable. AXONIQ-2500 SAME NODE NAME This error is returned when a node tries to join the cluster with the same internal hostname and port as the leader. AXONIQ-2501 UNKNOWN HOST This error is returned when a hostname was passed that did not resolve to a valid IP address. AXONIQ-2502 CANNOT JOIN This error is returned when a node tries to join the cluster and there is an error. AXONIQ-2510 UNKNOWN ROLE This error is returned when an unknown role is assigned to a user or application. This can only happen when this is done through the REST interface directly or through the CLI. AXONIQ-2511 INVALID QUERY This error is returned when the user sends a query in the search window that is not valid. AXONIQ-2700 PLUGIN NOT FOUND This error is returned when the user sends a request for a plugin that cannot be found. AXONIQ-2701 INVALID PLUGIN CONFIGURATION This error is returned when the user tries to update the configuration of a plugin with invalid values. AXONIQ-2800 EVENT PROCESSOR NOT FOUND This error is returned when the user tries to update the configuration of a non-existing event processor. AXONIQ-2801 EVENT PROCESSOR MOVE UNKNOWN TARGET This error is returned when the user tries to move an event processor segment to a client that is no longer connected. AXONIQ-2802 EVENT PROCESSOR MOVE NO AVAILABLE THREADS This error is returned when the user tries to move an event processor segment to a client that does not have any available threads. Error Code Error Description AXONIQ-4000 NO HANDLER FOR COMMAND This error is returned when a command message instruction is sent to the Axon Server and there is no corresponding handler available for it. AXONIQ-4001 CONNECTION TO HANDLER LOST This error is returned when Axon Server loses connection to any of the Command Handlers. AXONIQ-4002 COMMAND TIMEOUT This error is returned when a command message instruction is sent to the Axon Server and there is an error while processing it. AXONIQ-4003 COMMAND DISPATCH ERROR This error is returned when a command message instruction is sent to the Axon Server and there is an error while dispatching it. AXONIQ-4005 COMMAND DUPLICATED This error is returned when a command with the same message identifier is sent multiple times. Error Code Error Description AXONIQ-5000 NO HANDLER FOR QUERY This error is returned when a query message instruction is sent to the Axon Server and there is no corresponding handler available for it. AXONIQ-5002 QUERY DISPATCH ERROR This error is returned when a query instruction is sent to the Axon Server and there is an error while dispatching it. AXONIQ-5006 QUERY TIMEOUT This error is returned when a query takes too long. AXONIQ-5007 QUERY DUPLICATED This error is returned when a query with the same message identifier is sent multiple times. Error Code Error Description AXONIQ-3004 EVENT REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects an event. AXONIQ-3005 SNAPSHOT REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a snapshot. AXONIQ-4004 COMMAND REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a command. AXONIQ-5004 QUERY REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a query. AXONIQ-5005 SUBSCRIPTION QUERY REJECTED BY INTERCEPTOR This error is returned when an interceptor in a plugin rejects a subscription query request. AXONIQ-6100 EXCEPTION IN INTERCEPTOR This error is returned when an interceptor in a plugin throws an exception. AXONIQ-6101 POST COMMIT HOOK EXCEPTION This error is returned when an post commit hook in a plugin throws an exception. Error Code Error Description AXONIQ-7000 NODE NOT READY FOR BACKUP This error is returned when an Axon Server node is not available for any backup operation. Error Code Error Description AXONIQ-9000 DATAFILE READ ERROR This error is returned when Axon Server is unable to read from the Event/Snapshot Data Files. AXONIQ-9001 INDEX READ ERROR This error is returned when Axon Server is unable to read from the Index files. AXONIQ-9100 DATAFILE WRITE ERROR This error is returned when Axon Server is unable to write to the Event/Snapshot Data files. AXONIQ-9101 INDEX WRITE ERROR This error is returned when Axon Server is unable to write to the Index files. AXONIQ-9102 DIRECTORY CREATION FAILED This error is returned when Axon Server is unable to create a directory for storing events/snapshots or indexes. AXONIQ-9200 VALIDATION FAILED This error is returned during startup of Axon Server when it performs a validation of the most recent event store segments. This error code is returned when the validation fails. AXONIQ-9900 TRANSACTION ROLLED BACK This error is returned when any transaction is rolled back. AXONIQ-9500 INTERRUPTED This error is returned when Axon Server process is stopped while waiting for events to be written to the event store segment. AXONIQ-6000 NO EVENTSTORE This error is returned when the Axon Server Event Store is not available to perform any instructions. AXONIQ-6001 CLIENT DISCONNECTED This error is returned when an Axon Framework client application disconnects from the Axon Server. AXONIQ-6002 LIST AGGREGATE EVENTS TIMEOUT This error is returned when a request to return the events for a specific aggregate takes too long. Error Code Error Description AXONIQ-10001 SERVER TOO SLOW This error is returned when any instruction to update the Axon Server cluster fails as the server is too slow to respond. AXONIQ-10002 UNCOMMITTED CONFIGURATION This error is returned when an instruction to update configuration for the Axon Server cluster fails. AXONIQ-10007 UNCOMMITTED TERM Update the configuration of a replication group is received before there are any actions committed. The request is refused to prevent potential replication issues. AXONIQ-10003 REPLICATION TIMEOUT This error is returned when the replication process between the nodes of the Axon Server cluster times out. Error Code Error Description AXONIQ-0001 OTHER Any other errors. AXONIQ-2610 SCHEDULED EVENT NOT FOUND This error is returned when a scheduled event is not found. AXONIQ-11000 INSTRUCTION TIMEOUT This error is returned when an instruction sent to a client takes too long to complete. AXONIQ-11001 INSTRUCTION ACK ONLY This error is returned when an instruction is sent to a client which only acknowledges the request, but does not confirm the result of the instruction.","title":"Error Codes","component":"axon-server-reference","version":"v2024.1","name":"error-codes","url":"/axon-server-reference/v2024.1/axon-server/administration/error-codes/","titles":[{"text":"Client request processing errors","hash":"_client_request_processing_errors","id":1},{"text":"Input errors","hash":"_input_errors","id":2},{"text":"Command handling errors","hash":"_command_handling_errors","id":3},{"text":"Query handling errors","hash":"_query_handling_errors","id":4},{"text":"Plugin errors","hash":"_plugin_errors","id":5},{"text":"Backup errors","hash":"_backup_errors","id":6},{"text":"Internal errors","hash":"_internal_errors","id":7},{"text":"Cluster errors","hash":"_cluster_errors","id":8},{"text":"Other errors","hash":"_other_errors","id":9}]},"144":{"id":144,"text":"It might be desirable to reset the position an event processor works on. This causes a replay of the events for this event processor. Resetting the position is done by resetting the token of the event processor. We document the following ways to reset the token of an event processor: - Using Axon Framework - Using the REST API - Using the Axon Server Connector A minimal project showing these approaches can be found here. Independent of the method chosen, an event processor needs to be stopped before its token can be reset. This requires all instances of the event processor (on all nodes) to release their claims on segments. Now, when resetTokens() is called, the executing instance can temporarily claim all segments, reset the tokens and store the new values. After the token has been reset, the event processor can be started again. Note that older versions of axon framework (pre 4.6) directly acknowledge a received admin instruction, without waiting for its execution. This might require manually waiting for an Event Processor to be fully stopped before the token can be reset. A possible approach for this is shown in the last section of this page. Axon Framework exposes all required functionality for a reset in the StreamingEventProcessor class. In the following, we provide a sample for its usage. For more details, read the documentation on the framework classes here. Instances of StreamingEventProcessor can be obtained by querying the eventProcessingConfiguration method of your global configuration. import org.axonframework.config.Configuration; // … private final Configuration configuration; // … configuration.eventProcessingConfiguration() .eventProcessorByProcessingGroup(processorName, StreamingEventProcessor.class) // … Calling shutDown, resetTokens and start on the retrieved StreamingEventProcessor performs the required steps to reset its token. This can be achieved as shown in the following code snippet: configuration.eventProcessingConfiguration() .eventProcessorByProcessingGroup(processorName, StreamingEventProcessor.class) .ifPresent(streamingEventProcessor -> \\{ if (streamingEventProcessor.supportsReset()) \\{ streamingEventProcessor.shutDown(); streamingEventProcessor.resetTokens(); streamingEventProcessor.start(); } }); Note that this only concerns stopping the local instances. If there are instances running on other nodes, you either need to use Axon Server or build a solution for this yourself. For more details, refer to the section in the Axon Framework reference guide. Axon Server exposes a REST API to pause and start Event Processors. When used in conjunction with the resetTokens method from earlier, this can be used to make sure that all instances of an Event Processor are paused before a token is reset. The required parameters to do this are the following: - component: name of the component the Event Processor is part of - processor: name of the Event Processor itself - context: name of the context for which to reset the tokens - tokenStoreId: the identifier used to distinguish the desired token from other tokens stored in the same store. Now /v1/components/{component}/processors/{processor}/pause?context={context}&tokenStoreIdentifier={tokenStoreId} can be called, causing Axon Server to request all matched Event Processors to stop. Then a reset as shown in the example using the framework can be performed. This is not Axon Server specific and hence is the same for all shown methods. As a final step, the Event Processors can be started again with a patch request to the following URL: /v1/components/{component}/processors/{processor}/start?context={context}&tokenStoreIdentifier={tokenStoreId} . To reset Event Processors with the Axon Server Connector, the dependency has to be available on your classpath, for example by using the following maven dependency. io.axoniq axonserver-connector-java 4.6.1 All operations related to administration go through an AdminChannel, which can be obtained from an AxonServerConnectionFactory as follows. private AdminChannel adminChannel() \\{ AxonServerConnectionFactory connectionFactory = AxonServerConnectionFactory.forClient(componentName).build(); return connectionFactory.connect(contextName).adminChannel(); } In this example, componentName and contextName are values supplied by external configuration. In simple cases, these might be the same as in your Axon Framework configuration. Using the provided admin channel, you can pause, reset, and restart the event processors. In contrast to the approach based on the Axon Framework, you also need to provide a tokenStoreIdentifier, since there can be multiple applications connected to one Axon Server that share the same token store. An example on how to get this identifier can be found in the Axon Framework Documentation on Retrieving the Token Store Identifier. Now resetting the tokens can be done by simply calling the pauseEventProcessor, resetTokens and startEventProcessor methods in the correct order. adminChannel().pauseEventProcessor(eventProcessorName, tokenStoreIdentifier) .thenRun(eventProcessor::resetTokens) .thenRun(() -> adminChannel().startEventProcessor(eventProcessorName, tokenStoreIdentifier)) Note that Axon Server makes sure to stop and start all matched EventProcessors on all nodes with this call. Prior to version 4.6, Axon Framework did immediately acknowledge receiving a pause instruction. This means, that the Axon Server would receive these ACCEPTED Results before all Event Processors have terminated. Starting from Axon Framework version 4.6, Axon Server will only respond with SUCCESS once all connected Event Processors have successfully been paused. To make sure that older Axon Framework versions wait until all Event Processors have terminated, we need to implement a bit of custom logic. This works with both, the Axon Server Connector approach and the REST API approach. In the following, we will show an approach using the axon server connector admin channel. We use the following method to allow waiting for all instances of an event processor, identified by a tuple of eventProcessorName and tokenStoreIdentifier to reach a desired state, either running or not running. Since APIs are built around an asynchronous execution model, we work with Mono and Flux here. protected Mono awaitForStatus(String eventProcessorName, String tokenStoreIdentifier, boolean running) \\{ return Flux.from(new ResultStreamPublisher<>(adminChannel::eventProcessors)) .filter(eventProcessor -> eventProcessor.getIdentifier().getProcessorName() .equals(eventProcessorName)) .filter(eventProcessor -> eventProcessor.getIdentifier().getTokenStoreIdentifier() .equals(tokenStoreIdentifier)) .flatMap(eventProcessor -> Flux.fromIterable(eventProcessor.getClientInstanceList())) .map(clientInstance -> clientInstance.getIsRunning() == running) .reduce(Boolean::logicalAnd) .filter(result -> result.equals(true)) .switchIfEmpty(Mono.error(new RuntimeException(\"\"))) .retryWhen(Retry.fixedDelay(3, Duration.ofSeconds(2))) .thenReturn(Result.SUCCESS); } The basic idea is to filter all received event processor descriptions to only retain the relevant ones, get a list of all connected client nodes and ensure their state equals the desired state passed in as a parameter. If one of them is in the wrong state, the check is repeated at most 3 times with a fixed delay of 2 seconds. If there are still clients in the wrong state, an error is returned. Using an approach like this allows you to build custom functionality to handle unresponsive clients in a tailor-made solution.","title":"Event Processors","component":"axon-server-reference","version":"v2024.1","name":"event-processors","url":"/axon-server-reference/v2024.1/axon-server/administration/event-processors/","titles":[{"text":"How to reset the token of an event processor","hash":"_how_to_reset_the_token_of_an_event_processor","id":1},{"text":"General","hash":"_general","id":2},{"text":"Using Axon Framework","hash":"using-axon-framework","id":3},{"text":"Using the REST API","hash":"_using_the_rest_api","id":4},{"text":"Using the Axon Server Connector","hash":"_using_the_axon_server_connector","id":5},{"text":"Handling asynchronous behaviour in older Axon Framework versions (pre 4.6)","hash":"_handling_asynchronous_behaviour_in_older_axon_framework_versions_pre_4_6","id":6}]},"145":{"id":145,"text":"The new Event Transformation feature allows users to perform specific event transformations like updates and deletes in the event store, utilizing the Event Transformation API. This functional change is intended to facilitate more flexible event management in rare instances where modifications are unavoidable. Event transformation sounds like an oxymoron to you? Don’t worry, it is not our intention to change what is by its nature immutable: a fact happened in the past. But there are situations when we believe it is not forbidden to manipulate the way the events are stored. An event is immutable. An event lasts forever. This is true, and we strongly believe in these rules. But like any other rule, there are few exceptions that should not be underestimated. Let’s say that you start using your event store in production. After some time you realize you have a security issue since you forgot to encrypt the sensitive data inside your events. What should you do? The only solution is to change the way events are stored in the event store. This does not mean they change their semantic, but only their persisted representation. Another typical use-case is when you want to forget some old data, because it is stale. You just want to get rid of it, to free some space. So, to sum it up: we transform events either by changing their format (not the semantic) or by deleting them. The event transformation feature fits well all situations where you need to manipulate the persisted representation of the events, without touching their semantic. It could be used, for example, in the following cases: to get rid of a large number of up-casters, which could affect your performance to encrypt sensitive data inside your events The event transformation feature is not intended to manipulate events semantically. It should not be used, for example, in the following cases: to fix a bug to change history Whenever we need to change the representation of events in the Event Store, we desire this change to be as atomic as possible. We are going to change events by introducing the concept of the Transformation. Transformation is essentially a bucket of actions that are going to be performed against the Event Store. Currently, the supported actions are the deletion of events and the replacement of events. Once we gather all actions that we want to use to transform our Event Store, we are going to apply those actions to it. Since the number of those actions we want to perform against the Event Store can be large, we must ensure that our Event Store is not impacted by the Transformation itself. In other words, it must behave as the Transformation is not happening at all. Our little helper in this scenario is the fact that Event Store is immutable by its nature. We are going to create a new version of our event segments by reading current events and transforming them according to the bucket of actions we have collected for the specific Transformation. Axon Server will make sure to always read the latest version of event segments. The transformation process will increase disk space usage, since it creates multiple versions of the same events. For this reason, before you start transforming your events, make sure there is enough free disk space. If you decide to change the entire Event Store in one Transformation, this would require free space larger than twice the space occupied by the event store. Once the transformation is complete, the disk space can be freed up again through the compaction procedure, a way to clean older versions of event segments that should be invoked only when we are absolutely sure they are no longer needed. To limit the possible misusing of the Event Store Transformation, we are going to make sure that there is only one ACTIVE Transformation of the Event Store at the time. Having this in mind there are several states in which our Event Store can end up in. Let’s talk about them. In order to prevent more than one transformation happening at the same time we are going to have our Event Store transition between IDLE, TRANSFORMING, and COMPACTING states. IDLE state is the state representing a normal operation of the Event Store, meaning that there is no any Transformation happening at the time. While being in this state, Event Store is open for starting a new Transformation. If choosing so, we are going to end up in the following state called TRANSFORMING. Once our Event Store ends up in TRANSFORMING state, that means that no new Transformation can be accepted until we either apply this Transformation or we cancel it. Do note, that even during TRANSFORMING state, Event Store can append new events and can also read existing ones. By applying the Transformation to the Event Store, we are creating the new version of event segments. This can make a significant impact on our disk space availability. To overcome that, Event Store introduces a compact option which will get rid of all older versions of event segments. By compacting the Event Store we enter the COMPACTING state and once compaction is done, we move back to IDLE. Let’s depict what we have talked about in previous chapter in a form of a state diagram. As we already said, the Transformation is a bucket of actions. Those actions are event deletion and event replacement. The Transformation itself is started by invoking the START TRANSFORMATION operation which moves the Event Store to TRANSFORMING state and initializes the newly created Transformation in the ACTIVE state. After that, we are allowed to send DELETE and REPLACE event actions to the Axon Server. Axon Server will store them durably. Up until this point, the content of the Event Store remains unchanged. Once we are happy with the Transformation Actions, we can call the APPLY operation to apply the Transformation; in other words, to effectively change the Event Store. Depending on the number of actions, apply operation can take a while, but once it’s completed, we can say that the Transformation is APPLIED. After that, the Event Store moves to IDLE state. Instead of applying the Transformation, we can also decide to CANCEL it; after the active Transformation has been cancelled, the Event Store moves to IDLE state and this makes it available for accepting new Transformations. As you might have concluded already, the apply process can take a while. This means that the caller cannot wait for this process to complete. Hence, the caller is only going to START applying process, and it will be done in the background. By monitoring the state of the Transformation you can understand when the apply process has been completed. During the apply process, it might happen that while reading events you get a mixture of old and newly transformed events. This is absolutely fine, and you must take this fact into the consideration when building your system that invokes the Transformation. Let’s depict what we have talked about in previous chapter in a form of a state diagram. Once we apply or cancel the Transformation, the actions we have collected and stored are useless. To mitigate this issue there is a Cleaning Task that is going to from time to time check whether there are resources to be cleaned. Basically, it’ll check for all applied and cancelled transformations and clean their resources. When a Transformation runs in a cluster environment, several aspects must be taken into consideration. The Transformation creation is replicated across the nodes in the same replication group. The Transformation Actions are replicated too. In other word, each node will persist all Transformation Actions. Apply and Cancel Operations are replicated. Each node does the applying of the Transformation at its own pace. Once all storage nodes in the replication group have applied the Transformation, the Transformation is considered APPLIED. The majority of nodes in not enough. The reason for this maybe strong requirement is to prevent possible mixed scenarios. Axon Server will need to persist your Event Transformation Actions to a dedicated storage. By default, the location where all transformation data is stored is the transformation folder. You can customize this location using the following property: axoniq.axonserver.transformation.storage Please be aware that the transformation store could be huge, exactly like the event store. Select a storage location with a suitable size. Anytime you want to change events already written in the event store, you need to create a new Transformation. A newly created Transformation is in ACTIVE state. While being ACTIVE, the Transformation can accept all changes you want to perform. Once all changes have been registered, the Transformation can be APPLIED. Only when the Transformation is applied the changes are effective inside your Event Store. The simplest way to transform the events in your Java project, is to use the Axon Server Connector. Axon Server Connector supports Event Transformation feature starting from version 2023.1.0. You can use AxonServerConnectionFactory#forClient static method to build your AxonServerConnectionFactory that could be used to open a new AxonServerConnection. See the following example: AxonServerConnectionFactory.forClient(\"event-transformer\") .routingServers(new ServerAddress(\"localhost\", 8124)) .build(); The AxonServerConnectionFactory can be used to establish a connection with a specific context, using the method AxonServerConnectionFactory#connect(context). This method establishes a long living connection to Axon Server for the specified context. This connection remains open until the AxonServerConnection#disconnect method is invoked. You can check whether your client is connected by invoking the AxonServerConnection#isConnected method. Remember to always disconnect your client after you performed the desired operation. The simplest way to transform your events is to implement your own EventTransformer. The EventTransformer is simply a BiConsumer, where the first argument is the original event, and the second argument is the Appender that can be used to append the desired transformation action for the event. In other words, the Appender allows you to perform two different operations: - delete event - replace event To better understand how to use the EventTransformer, we will analyze the following example: EventSources.range) -> connection.eventChannel(), 0, 200) .filter(eventWithToken -> isUnencrypted(eventWithToken.getEvent() .transform(\"Encryption of sensitive data\", (eventWithToken, appender) -> appender.replaceEvent(eventWithToken.getToken(), encrypt(eventWithToken.getEvent()))) .execute) -> connection.eventTransformationChannel( .get(); In order to access to the events currently stored in your Event Store, you can use the static methods offered by EventSources interfaces. The range(eventChannelProvider, fistToken, lastToken) method, will allow you to access the event stream starting from the specified firstToken, until the specified lastToken. It is possible to filter the event stream, invoking the filter(predicate) method. When the stream is properly filtered (if needed), it is possible to transform the events, by invoking the transform method, with the description of the Transformation and the EventTransformer that implements the business logic of the transformation itself. Since the EventTransformer is a functional interface, it can also be expressed as a lambda. These APIs take a declarative approach, that means that nothing happens until the pipeline is not executed, invoking the execute(eventTranformationChannelSupplier) method. This method takes care of multiple operations: - open a new transformation with the specified description - run the event transformer - request the transformation to be applied The execute method returns a CompletableFuture: wait for the completion before checking the result. The request to apply the transformation is executed by a scheduled task. That means that you could wait some time before being able to see the events transformed in your Event Store. If you don’t need to read the events currently stored in your Event Store, you can transform your events by implementing your own Transformer. The Transformer#transform(appender) provides you the Appender needed to append the required transformation actions. For example, you can delete the event with token 100 and replace event with token 562L with the following snippet: Transformer transformer = appender -> { appender.deleteEvent(100L); appender.replaceEvent(562L, replacement); }; You can run the Transformation by invoking the EventTransformationChannel#transform method. connection.eventTransformationChannel() .transform(\"Transformation test\", transformer); As before, this method takes care of multiple operations: - open a new transformation with the specified description - run the transformer - request the transformation to be applied And don’t forget that also the transform method returns a CompletableFuture. As before, you must wait for its completion, and after that, you could wait some time before being able to see the events transformed in your Event Store. If you want to have a full control of all the state changes of your transformation, you can use the ActiveTransformation. In order to open a new transformation, use the EventTransformationChannel#newTransformation(description) method. To transform your Event Store, you need to implement a Transformer (just like in the prev example). The transformer will be executed by invoking the ActiveTransformation#transform(transformer) method. An active transformation can be either applied or cancelled. To apply the active transformation, you can use ActiveTransformation#startApplying() method. To cancel the active transformation, you can use ActiveTransformation#cancel() method. All methods in ActiveTransformation return `CompletableFuture`s. Remember to compose them when needed. This is the snippet of code that opens a new Transformation with the specified description, runs the transformer and finally requests the transformation to be applied. connection.eventTransformationChannel() .newTransformation(\"My transformation description\") .thenCompose(activeTransformation -> activeTransformation.transform(transformer)) .thenCompose(ActiveTransformation::startApplying); When engaging in event transformation, certain roles are necessary to ensure secured process. Here’s a detailed explanation of each role: TRANSFORM Users granted the TRANSFORM role can prepare a transformation and get information about transformations. However, they are not able to apply transformations. TRANSFORM_ADMIN To apply a transformation you need the transform_admin role. To create and apply transformations users will need both roles. In order to read all transformations that have been created for a context, you can use the EventTransformationChannel provided by your AxonServerConnection. The method EventTransformationChannel#transformations will provide a CompletableFuture of all the transformations created for a context and their current state. Remember, you can have one and only one ACTIVE transformation for each context. Whenever a transformation is applied, the events in the Event Store are changed. Axon Server, to perform the changes, does not delete the previous form of the events, it just creates a new version of the events saving them into a new segment version. This choice was made for security reasons, because we don’t want the Axon Server to delete anything unless explicitly requested. However, this choice has a negative impact on disk space. In fact, every time I create a new segment version, I’m doubling the space needed to save those events. For this reason, Axon Server provides a feature that allows you to compact the event store, deleting the previous versions once they are no longer needed. You can request the compaction by invoking the EventTransformationChannel#startCompacting method. Be carefull, this will permanently delete the previous versions of your events. Remember, you can have one and only one ACTIVE transformation for each context. If you try to create a new transformation when there is another one in ACTIVE state, you will receive this error. To solve the problem, you can either - cancel the already existing ACTIVE transformation - apply the already existing ACTIVE transformation - continue working on already existing ACTIVE transformation starting from where it stopped In the last case, you can retrieve the ActiveTransformation that is already created with the method EventTransformationChannel#activeTransformation. If you are not using Java, or if you are just curious to try, you can try to use the gRPC/HTTP operations directly. For HTTP endpoints, please refer to the Swagger UI for the documentation. The Event Transformation functionality is enabled by default, starting from AxonServer 2023.1.0. In order to deactivate the feature, it is sufficient to add the following property in Axon Server property file: axoniq.axonserver.event-transformation.enabled=false","title":"Event Transformation","component":"axon-server-reference","version":"v2024.1","name":"event-transformation","url":"/axon-server-reference/v2024.1/axon-server/administration/event-transformation/","titles":[{"text":"Objective and justification","hash":"_objective_and_justification","id":1},{"text":"What does it mean to transform events?","hash":"_what_does_it_mean_to_transform_events","id":2},{"text":"When you could transform your events?","hash":"_when_you_could_transform_your_events","id":3},{"text":"When you should not transform your events?","hash":"_when_you_should_not_transform_your_events","id":4},{"text":"What?","hash":"_what","id":5},{"text":"The event store states","hash":"_the_event_store_states","id":6},{"text":"IDLE","hash":"_idle","id":7},{"text":"TRANSFORMING","hash":"_transforming","id":8},{"text":"COMPACTING","hash":"_compacting","id":9},{"text":"State flow of the event store","hash":"_state_flow_of_the_event_store","id":10},{"text":"The transformation","hash":"_the_transformation","id":11},{"text":"APPLY considerations","hash":"_apply_considerations","id":12},{"text":"State flow of the transformation","hash":"_state_flow_of_the_transformation","id":13},{"text":"Cleaning transformation resources","hash":"_cleaning_transformation_resources","id":14},{"text":"Cluster considerations","hash":"_cluster_considerations","id":15},{"text":"How?","hash":"_how","id":16},{"text":"How to transform events","hash":"_how_to_transform_events","id":17},{"text":"Connecting to Axon Server","hash":"_connecting_to_axon_server","id":18},{"text":"Fluent API","hash":"_fluent_api","id":19},{"text":"Step-by-step way to transform your events","hash":"_step_by_step_way_to_transform_your_events","id":20},{"text":"Access control","hash":"_access_control","id":21},{"text":"How to check the transformations for a context","hash":"_how_to_check_the_transformations_for_a_context","id":22},{"text":"How to compact the event store","hash":"_how_to_compact_the_event_store","id":23},{"text":"Troubleshooting","hash":"_troubleshooting","id":24},{"text":"\"There is already ongoing transformation\"","hash":"_there_is_already_ongoing_transformation","id":25},{"text":"How to use the gRPC API directly","hash":"_how_to_use_the_grpc_api_directly","id":26},{"text":"How to deactivate the transformation feature in Axon Server","hash":"_how_to_deactivate_the_transformation_feature_in_axon_server","id":27}]},"146":{"id":146,"text":"The administration section of the reference guide addresses the operational and maintenance aspects of Axon Server deployments (Axon Server SE/EE). The following table gives a summary of the various sub-sections. Sub-Section Purpose Configuration Configuration aspects of an Axon Server deployment Monitoring Monitoring aspects of an Axon Server deployment Multi-Context Multi-Context support within Axon Server Tiered-Storage Tiered storage capabilities in Axon Server Tagging Location awareness capabilities within Axon Server Backups Backup aspects of an Axon Server deployment Recovery Recovery aspects of an Axon Server deployment Plugins Managing Axon Server plugins Logging Axon Server logging customization Event transformation Event transformation tool","title":"Administration","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/","titles":[]},"147":{"id":147,"text":"This feature is only available on the Enterprise Edition of AxonServer To recap the definition as we have seen in the clustering section, contexts allow for strong separation of data without requiring deploying and managing full instances. An Axon Server EE cluster can be setup to store events for multiple contexts. Each context has it own set of files (containing Event/Snapshot data) stored in a separate directory. Axon Server will replicate the context data to a number of nodes depending on the replication group the context is assigned to. When you are creating a context you can either add it to an already existing replication group, or create a new replication group for this context. More on replication groups can be found in the replication groups section. Each context has a separate physical directory on each of the member nodes. This directory is by default determined by the *axoniq.axonserver.events.storage* and *axoniq.axonserver.snapshot.storage* properties. Each context getting a subdirectory below the location specified by the property. Upon creation of a context you can specify a different location. A depiction of multiple registered contexts within an Axon Server EE cluster is shown below The clustering section details the creation of the admin and default contexts_ when a new Axon Server cluster is created. The admin_ context is used to process all configuration changes in Axon Server, so it contains the master configuration from which all contexts get their information. The _admin context does not have an event store and the configuration information is stored in a control database. The default context is the context used by clients when they have not specified any context information. In case you would like to create a cluster without creating a default context, it is recommended to use the Automatic-Initialization feature where you can control explicitly which contexts can be created or not. When you create a context, there are a number of default properties that you can override, specifically for the context. These are: property default value description event.storage [axoniq.axonserver.event.storage]/[context-name] Location where the event store’s event information will be stored event.segment-size 250 MB Size of the event store’s event segments event.index-format JUMP_SKIP_INDEX Index type used for the events in this context (JUMP_SKIP_INDEX or BLOOM_FILTER_INDEX event.max-bloom-filters-in-memory 100 Number of bloom filters for events to be kept in memory (only applicable if index is BLOOM_FILTER_INDEX) event.max-indexes-in-memory 50 Number of index files for events to be kept in memory event.retention-time 7 d Retention time for the events in the primary locations (if secondary location specified) snapshot.storage [axoniq.axonserver.snapshot.storage]/[context-name] Location where the event store’s event information will be stored snapshot.segment-size 250 MB Size of the event store’s snapshot segments snapshot.index-format JUMP_SKIP_INDEX Index type used for the snapshots in this context (JUMP_SKIP_INDEX or BLOOM_FILTER_INDEX snapshot.max-bloom-filters-in-memory 100 Number of bloom filters for snapshots to be kept in memory (only applicable if index is BLOOM_FILTER_INDEX) snapshot.max-indexes-in-memory 50 Number of index files for snapshots to be kept in memory snapshot.retention-time 7 d Retention time for the snapshots in the primary locations (if secondary location specified) As of version 4.4, Axon Server has a new format for the index of events and snapshots, called JUMP_SKIP_INDEX. This is the default format for all contexts that are created from this version onwards. This index format uses a global index to locate the last event for a specific aggregate, and maintains per segment per aggregate the location of the previous event. It improves the efficiency in looking up aggregates that are distributed over segments that are further apart. For instance if you have 2000 event segments and an aggregate has events in segment 1500, 1000, and 500, using this index, Axon Server will find the latest event using the global index, and then from the index for segment 1500 that the previous event is in segment 1000. This prevents checking (the indexes of) all the files in between. When using this index, Axon Server will no longer create bloom filter files. For existing contexts the index format will remain BLOOM_FILTER_INDEX. After a context has been set up in Axon Server EE, Axon Framework applications can connect to it by setting the axon.axonserver.context property when using Spring Boot, or setting the defaultContext on the builder of AxonServerConnectionManager that is passed to the event store. If you are not using Spring Boot, you likely also have to register the AxonConfiguration as a component on the Configurer. Using something like AxonServerConfiguration.builder().context(otherContext).build() to use a different context. Note that depending on message source configuration, other contexts may be used besides the default. All messages in that application will be sent and received only from the default context, unless specified otherwise. In order to send commands and queries to a different context, you can provide a TargetContextResolver to the Configurer as follows: Axon Configurer Spring Boot public class Configuration { public void configuring() { Configurer configurer = DefaultConfigurer .defaultConfiguration() .registerComponent(TargetContextResolver.class, configuration -> message -> message.getPayloadType() .getName() .startsWith(\"com.context.booking\") ? \"booking\" : \"payment\" ); } } @Configuration public class Configuration { @Bean public TargetContextResolver targetContextResolver() { return message -> message.getPayloadType().getName().startsWith(\"com.context.booking\") ? \"booking\" : \"payment\"; } } You can stream events from multiple contexts in the same processor. This is described in the Streaming Events Processors' Multiple event sources section. When an application handles multiple tenants, it might make sense to create separate store per tenant. Handling multiple tenants needs additional infrastructure, such as duplication of the event processor for each tenant, as well as datasource configuration. For this we have created the Multi-Tenancy extension to Axon Framework, that takes care of this infrastructure for you. Pre-4.4 Context Deletion Note that when you delete an existing context with the preserve data option and then recreate it, without specifying the index format, Axon Server will use the JUMP_SKIP_INDEX format. This means that it will create a new index for the existing data, if the old format was BLOOM_FILTER_INDEX. Depending on the size of the event store this can take a long time. The operational maintenance of contexts within an Axon Server EE cluster can be done via any one of the following provided utilities: CLI (axonserver-cli.jar) provided by Axon Server UI Console of Axon Server REST API provided by Axon Server Let us deep dive into these capabilities in more detail. Axon’s command-line utility (axonserver-cli.jar - part of the Axon Server distributable) offers the following options to operate and maintain contexts The register-context command helps in the registration and creation of a new context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar register-context -S http://[node]:[port] -c [context-name] -n [members] This will create a new replication group with the name of the context, with the specified member nodes, and creates a context in this replication group. Another example: $ java -jar ./axonserver-cli.jar register-context -S http://[node]:[port] -c [context-name] -g [replication-group] -prop event.storage=[location] -prop snapshot.storage=[location] This creates a new context in an already existing replication group. Event and snapshot files are stored in the specified location. Mandatory parameters *-c* refers to the context name. The context name must match the following regular expression \"[a-zA-Z][a-zA-Z_-0-9]*\", so it should start with a letter (uppercase or lowercase), followed by a combination of letters, digits, hyphens and underscores. Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-g* refers to the name of the replication group where the context will be added to *-n* refers to the comma separated list of node names that should be members of the new context. This parameter registers them as \"PRIMARY\" member nodes of that context *-a* refers to the comma separated list of node names that should be \"ACTIVE_BACKUP\" member nodes of that context *-m* refers to the comma separated list of node names that should be \"MESSAGING_ONLY\" member nodes of that context *-p* refers to the comma separated list of node names that should be \"PASSIVE_BACKUP\" member nodes of that context *-s* refers to the comma separated list of node names that should be \"SECONDARY\" member nodes of that context *-prop* refers to properties that can be set for the new context. The value should be in the form \\=\\ *-t* refers to the access token to authenticate at server *Deleting contexts* The delete-context command helps in the deletion of a context and its associated data from all member nodes of that context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar delete-context -S http://[node]:[port] -c [context-name] Mandatory parameters *-c* refers to the context that needs to be deleted Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *–preserve-event-store\"* option to keep the event store files when deleting the context (Axon Server deletes the event files by default) *Adding a node to a Context* The add-node-to-context command helps in the registration of a new member node creation of an existing context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar add-node-to-context -S http://[node]:[port] -c [context-name] -r [role of the node] -n [node name] Mandatory parameters *-c* refers to an existing context *-n* refers to the node name that should be a member of this context *-r* refers to the role of this node within the context Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *Deleting a node from a context* The delete-node-from-context command helps in the deletion member node from an existing context. A sample of the command with the mandatory parameters is depicted below $ java -jar ./axonserver-cli.jar delete-node-from-context -S http://[node]:[port] -c [context-name] -n [node name] Mandatory parameters *-c* refers to an existing context *-n* refers to the node name that should no longer be a member of this context Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *–preserve-event-store* removes the node from the context but leaves the event store files on that node. *List all contexts* The contexts command lists down all the contexts registered within the cluster, including its name, the leader member node of the context and all the member nodes within the context $ java -jar ./axonserver-cli.jar contexts Optional parameters *-o json* will display the output in a JSON format Another option to maintain contexts is via the UI console of Axon Server EE. Navigate to the Contexts icon on the navigation menu of the console which will open up the context maintenance screen. The operations listed above are possible through the console. Axon Server EE provides a REST API to perform context maintenance operations. The API is accessible at http:[server]:[port]/swagger-ui.html and offers the context-rest-controller to help perform context maintenance operations","title":"Multi-Context","component":"axon-server-reference","version":"v2024.1","name":"multi-context","url":"/axon-server-reference/v2024.1/axon-server/administration/multi-context/","titles":[{"text":"Index formats","hash":"_index_formats","id":1},{"text":"Usage in Axon Framework","hash":"_usage_in_axon_framework","id":2},{"text":"Sending messages to other contexts","hash":"_sending_messages_to_other_contexts","id":3},{"text":"Reading events from multiple contexts","hash":"_reading_events_from_multiple_contexts","id":4},{"text":"Multi-tenancy","hash":"_multi_tenancy","id":5},{"text":"Context maintenance","hash":"_context_maintenance","id":6},{"text":"Command-line interface","hash":"command-line-interface","id":7},{"text":"Creating contexts","hash":"_creating_contexts","id":8},{"text":"User interface","hash":"user-interface","id":9},{"text":"REST API","hash":"rest-api","id":10}]},"148":{"id":148,"text":"This feature is only available with Axon Server version 4.5 onwards. Plugins allow you to add specific interceptors in Axon Server. This enables intercepting commands and queries before they are updated and after they are executed, and it enables intercepting events and snapshots before they are stored and when they are read. A plugin is an OSGi package, that you can upload to Axon Server. The package can implement a number of interceptors, Axon Server will discover these and start using them. The OSGi package runs in an OSGi container, using its own class loader and it only has access to specific Axon Server classes. A plugin package has a symbolic name and version. This information is part of the information in the manifest file of the package. If you upload a package with the same name and version, it will replace the already available package. You can have multiple versions of the same package available. Plugins are managed at a context level, you can configure and activate plugins per context. Per context, you can only have one version of a plugin active. In Axon Server Standard Edition there only is one context, you can still active or pause the plugin for the default context. Axon Server stores plugins on disk on each node. It is important that the location where the plugins are stored is persistent. By default, Axon Server stores the plugin in the directory plugins/bundles. Apart from this directory, there is also a cache directory used by the OSGi container internally (plugins/cache by default). The cache directory does not need to be persistent, Axon Server reinstalls the configured extensions on restart. For more information on plugin development, check the API module in GitHub https://github.com/AxonIQ/axon-server-plugin-api. You can administer plugins through the UI or using the command-line interface. This uploads a plugin to Axon Server and makes it available for further configuration. When you upload the plugin Axon Server will perform some basic validation, to verify that it is a valid OSGi bundle and it can be loaded in the OSGi container. If the uploaded plugin has the same name and version as an already existing plugin, it will immediately replace the existing plugin. To upload a plugin through the command-line interface, use: java -jar axonserver-cli.jar upload-plugin -f [file] Note that there are default settings for the maximum file size (1M) and maximum request size (10M) for the upload request. If you want to upload larger bundles, increase these limits in axonserver.properties (spring.servlet.multipart.max-file-size and spring.servlet.multipart.max-request-size). If your plugin contains registered services of the type io.axoniq.axonserver.plugin.ConfigurationListener, you can configure the plugin through Axon Server. In the UI you will see a form with the properties that are defined in the ConfigurationListeners, initially filled with the default values. Note that you set the values per context. A plugin can have multiple ConfigurationListeners, each one is identified by a name. This name is shown in the Axon Server UI. If you want to set the configuration values through the command-line interface, you have two options, either specify the values as parameters in the command or provide a YAML file containing the parameter values. Here’s an example of a configuration listener that defines two properties: package org.sample; import io.axoniq.axonserver.plugin.Configuration; import io.axoniq.axonserver.plugin.ConfigurationListener; import io.axoniq.axonserver.plugin.PluginPropertyDefinition; import java.util.Map; import static java.util.Arrays.asList; /** * @author Marc Gathier */ public class SampleConfigurationListener implements ConfigurationListener { private final Configuration configuration = new Configuration( asList( PluginPropertyDefinition.newBuilder(\"mypropid1\", \"My first property\").build(), PluginPropertyDefinition.newBuilder(\"mypropid2\", \"My second property\").build() ), \"myname\" ); @Override public Configuration configuration() { return configuration; } @Override public void updated(String s, Map map) { } } To set the properties through the command line using the parameters option use: java -jar axonserver-cli.jar upload-plugin -p -v -c -prop myname:mypropid1=myvalue -prop myname:mypropid2=myvalue2 To do the same using a YAML file create a file with the following content: myname: mypropid1: myvalue mypropid2: myvalue3 And use the following command-line command: java -jar axonserver-cli.jar configure-plugin -p -v -c -f You can activate a plugin through the UI or use the following command-line command: java -jar axonserver-cli.jar activate-plugin -p -v -c If you want to stop an plugin being used temporarily for a context, you can pause it through the UI or the command-line interface. This will keep all the configuration for the plugin, so when you later start it again it will use the same configuration as before. The command-line command for this is: java -jar axonserver-cli.jar pause-plugin -p -v -c This unregisters a plugin for a specific context. The plugin will still be active for other contexts. The command-line command for this is: java -jar axonserver-cli.jar unregister-plugin -p -v -c Deleting a plugin unregisters it from all the contexts and deletes the package from all the nodes. The command-line command for this is: java -jar axonserver-cli.jar delete-plugin -p -v","title":"Axon Server Plugins","component":"axon-server-reference","version":"v2024.1","name":"plugins","url":"/axon-server-reference/v2024.1/axon-server/administration/plugins/","titles":[{"text":"Plugin development","hash":"_plugin_development","id":1},{"text":"Plugin administration","hash":"_plugin_administration","id":2},{"text":"Upload plugin","hash":"_upload_plugin","id":3},{"text":"Configuring a plugin","hash":"_configuring_a_plugin","id":4},{"text":"Activating a plugin","hash":"_activating_a_plugin","id":5},{"text":"Pausing a plugin","hash":"_pausing_a_plugin","id":6},{"text":"Unregistering a plugin","hash":"_unregistering_a_plugin","id":7},{"text":"Deleting a plugin","hash":"_deleting_a_plugin","id":8}]},"149":{"id":149,"text":"This feature is available in Axon Server Enterprise version 4.3 onwards. In case of a major network change, when the host names of all Axon Server nodes have changed, or when you want to move an Axon Server cluster to a new environment, you will have to start Axon Server in recovery mode. This is needed as Axon Server maintains the information about the nodes in the cluster in its control database, and this needs to be updated on all nodes. Axon Server will start in recovery mode when it finds a file called recovery.json in its startup directory, or in a location defined by the property axoniq.axonserver.recoveryfile. The recovery file must contain a JSON array of the nodes in the cluster with their host names and port numbers, for example: [ { \"name\": \"axonserver-1\", \"hostName\": \"axonserver-1\", \"internalHostName\": \"axonserver-1.internal\", \"grpcInternalPort\": 8224, \"httpPort\": 8024, \"grpcPort\": 8124 }, { \"name\": \"axonserver-2\", \"hostName\": \"axonserver-2\", \"internalHostName\": \"axonserver-2.internal\", \"grpcInternalPort\": 8224, \"httpPort\": 8024, \"grpcPort\": 8124 }, { \"name\": \"axonserver-3\", \"hostName\": \"axonserver-3\", \"internalHostName\": \"axonserver-3.internal\", \"grpcInternalPort\": 8224, \"httpPort\": 8024, \"grpcPort\": 8124 } ] The hostName defines the hostname that clients will use to connect to the Axon Server node. The internalHostName contains the name one Axon Server uses to connect to the other. Any elements that have not changed (except for the name) may be omitted, so if you want to use the same port numbers you can omit the grpcInternalPort, httpPort, and grpcPort elements. In the sample above, the node names for the Axon Server nodes will remain the same as they were before. As Axon Server derives its node name from the host name, when not explicitly set in properties, this may cause an issue when host names are changed. To change the node names for Axon Server nodes, add an oldName element in the JSON file. [ { \"name\": \"new-axonserver-1\", \"oldName\": \"axonserver-1\", \"hostName\": \"new-axonserver-1\", \"internalHostName\":\" new-axonserver-1.internal\" }, { \"name\": \"new-axonserver-2\", \"oldName\": \"axonserver-2\", \"hostName\": \"new-axonserver-2\", \"internalHostName\": \"new-axonserver-2.internal\" }, { \"name\": \"new-axonserver-3\", \"oldName\": \"axonserver-3\", \"hostName\": \"new-axonserver-3\", \"internalHostName\": \"new-axonserver-3.internal\" } ]","title":"Recovery","component":"axon-server-reference","version":"v2024.1","name":"recovery","url":"/axon-server-reference/v2024.1/axon-server/administration/recovery/","titles":[]},"150":{"id":150,"text":"You can use tagging in Axon for 2 different scenarios: You want to control which command handler or query handler executes a command or query, or You want to control to which Axon Server node a particular client connects. This feature is only available with Axon Server version 4.4 onwards. Axon Server matches metadata elements provided in a command or a query to tags defined on the command and client handling applications. For instance, you could tag commands with a country code and set the country code in the tags of the handler application. In this case, Axon Server will try to find a command handler with the same country code and send the command to that handler. If there are multiple applications found with a command handler for the requested command and matching tags, Axon Server will pick one based on the provided routing key. The same will happen if there are no applications found with matching tags, so commands will not fail because there are no matching tags. You can, of course, have multiple tags on an application, Axon Server will select the one with most the matching tags. This feature is only available in Axon Server Enterprise and compatible with version 4.2 onwards of Axon. To optimize the connections between framework clients and Axon Server, it is possible to tag both clients and Axon Server with information which describes properties of those clients and nodes. Axon Server will then use these tags to make a connection to the client. A typical tag could describe where the respective client and server node are running (for instance a cloud provider’s region) encouraging that the nearest, and therefore fastest, connections are made. A match is made when the the label and the value of the tag matches. For example, a server tagged with computeRegion=europe will match with a client tag of computeRegion=europe. Similarly, if a server is tagged with computeRegion=europe and client is tagged with computeRegion=asia then this is not considered a match. If both client and server are tagged with multiple tags then the connection that is made will be based on the highest number of matches. If multiple nodes have a equal number of matching tags then the node with the lightest load is chosen. If no matching tags are available at all, it will connect to any available node. To enable tagging you must configure both the client and server. You can configure the tags that you would like for each node through properties using axoniq.axonserver.tags.computeRegion=europe. Additional tags can be specified by adding to the tags element (for instance axoniq.axonserver.tags.networkSpeed=fast). On the client side, there are two approaches through which you can specify tags. Either the properties file is expanded (similar to server configuration, also allowing additional tags to be added) in a Spring Boot environment, or a TagsConfiguration object is registered to the Configurer. Axon Configuration API Spring Boot AutoConfiguration Map tags = new HashMap(); // Insert tags DefaultConfigurer.defaultConfiguration() .configureTags(config -> new TagsConfiguration(tags)); axon.tags.computeRegion=europe","title":"Tagging","component":"axon-server-reference","version":"v2024.1","name":"tagging","url":"/axon-server-reference/v2024.1/axon-server/administration/tagging/","titles":[{"text":"Tag based routing","hash":"_tag_based_routing","id":1},{"text":"Connection distribution","hash":"_connection_distribution","id":2},{"text":"Tag matching","hash":"tag-matching","id":3},{"text":"Enabling tagging","hash":"enabling-tagging","id":4},{"text":"Axon Server","hash":"axon-server","id":5},{"text":"Client","hash":"client","id":6}]},"151":{"id":151,"text":"Tiered storage is a useful feature that allows you to store data across different levels of storage media based on access speed and cost. This helps optimize performance and reduce overall storage costs by placing frequently accessed data on faster storage media, such as SSDs, and less frequently accessed data on slower but more cost-effective storage media, such as HDDs. In a tiered storage system, data is usually classified according to its importance or frequency of use, and then automatically migrated between storage tiers based on these criteria. This approach helps users to optimize their storage resources, reduce costs, and improve performance by ensuring that data is stored on the most appropriate type of storage media. In Axon Server, there are two features that allow you to manage how data is stored: tiered storage and secondary nodes. They work differently but can complement each other. Let’s first explain these two different options and compare them to each other. Tier configuration is shared with all nodes. Each node maintains tiered storage independently storing on its own unique storage locations. Tiered Storage is a feature that enables each node to maintain a local representation of its own tiered storage over its event store replica. This feature allows you to configure multiple storage tiers based on each node’s role, such as primary, secondary, or backup nodes. Nodes of the same role share a tiered configuration execute segment-moving operations locally, and independently. For this reason, it is possible for segments to not be transferred at the same time on all nodes due to timing differences, but this is not a problem, and over time, the tiers will become synchronized. With Tiered Storage, you can configure as many tiers as you need, and you can set retention intervals for each tier to determine after which interval the data should be moved from one tier to another. There are several supported tier types available, including the default, custom storage, and black hole. Tiered configuration within Context page - Axon Server Enterprise Edition Lazy tiers As all available tier types are eagerly initialized they are not suitable for cold storage or archiving. In the future, we will aim to support lazy initialization of tiers, which will allow support for cold storage and archiving. The Default tier type is a convenient option that allows you to quickly set up your event store without having to specify a custom location on disk. If you do not have any specific requirements for the physical storage location of your event data or you are migrating from an older version of Axon Server where the event store location was set via environment variables, then using the Default tier type is a suitable initial tier to use. The Custom storage tier type enables you to set a custom location for a specific tier in Axon Server. You can choose storage via a dropdown menu. To add storage locations to the dropdown menu, you need to configure Axon Server with additional properties. This can be done either through a property file or environment variables, using the following syntax: axoniq.axonserver.event.storages.{storage name}={path to storage} axoniq.axonserver.snapshot.storages.{storage name}={path to storage} For example, to set the slow_disk storage location to /hhd2/eventstore, you can add the following line to your configuration: axoniq.axonserver.event.storages.slow_disk=/hhd2/eventstore axoniq.axonserver.snapshot.storages.slow_disk=/hhd2/eventstore You can add as many storage locations as needed, such as different hard drives or even mounted network drives, but it is important to configure the given storage on all nodes in the Axon Server cluster. Configuration is shared for all nodes of the same role. That’s why all nodes should provide paths where they want to store data for certain named locations (storages). After configuration is set, it’s replicated to all nodes, after that nodes maintain and run segment-moving operations on their own, independently. Storage locations are referenced by name (for instance slow_disk), and the provided path is resolved at runtime on each node. It’s important that path on each node points to a unique physical location! The Black Hole is tier type in Axon Server that consumes your events, and you will never see them again. Using the Black Hole tier will mark your context as ephemeral, which means that data is permanently removed after a specified retention interval. Once the data is removed, it cannot be recovered, so it’s essential to use this feature with caution and only if you’re certain that you no longer need the data. Context using a black hole tier will be marked as ephemeral and the flow of data will be visualized (only for primary nodes) To configure context as ephemeral, you first need to choose storage where you want to store events or snapshots initially. You can do so by choosing default tier type or selecting the storage location from the dropdown menu. After that, you need to add Black Hole tier type and set retention interval for this tier. Example on how to configure ephemeral context Ephemeral context is particularly useful in scenarios such as event streaming or integration contexts, where events are published to multiple observers in real-time, and after some time, the events are no longer of interest. Another use case is for contexts that produce many events, like notifications, which are no longer useful for the business after a certain period. However: The Black Hole tier should not be used if you have event-sourced aggregates. Ephemeral context is not suitable for fine-grain event removal as it removes segments per whole, that contain many different events of different types of aggregates, making it difficult to remove specific events. In the case you need to use event-sourced aggregates and want to delete events after a period of time and ensure that you always have a valid state, Axon Server provides an experimental feature called conditional removal, which allows you to remove segments conditionally. To use this feature, you first need to enable snapshots for your aggregates. Setting the conditional property (available by editing context properties in the UI) experimental.black-hole.conditional-remove = 1 instructs the black hole tier to remove an event segment only if each event in the segment was previously included in a snapshot. It also removes a snapshot segment only if there is a newer snapshot for each snapshot in the segment. However, note that this feature is experimental, and it comes with some caveats. For example, there are many events of different aggregates in one segment. If only one aggregate from this segment does not have a snapshot, it may prevent the segment from being deleted indefinitely. This feature is best used if you have a small number of aggregate instances, ideally one aggregate, which is a common case for integration purposes contexts. Another safer usage of condition removal and black hole tier, is to enable it only for snapshot storage. With that after some time older non-used snapshots will be removed, but latest snapshot will be always available for each aggregate. Configuring conditional remove in context properties Axon Server supports both time-based and size-based retention intervals for tiered storage. ] Retention interval options for tiered storage Time-based retention specifies how long a segment should be in one tier before being moved to another tier. After the segment is closed for writing and the retention time is due, the segment becomes eligible to move to the next tier. Size-based retention monitors the size of the whole tier. After the size threshold is breached, the oldest segments in the tier that are outside of the size boundary are moved to the next tier, maintaining the specified size of the tier. Specified size is calculated only using event segment file sizes and does not include index file sizes. So, make sure to leave enough space on the disk for indexes and for the currently open segment. Size-based retention is useful when you want to keep the newest events on fast storage limited by size, while moving everything else to a slower disk. Axon Server allows you to control the flow of data between tiers. You can limit the rate of segment moves to prevent large IO spikes. You can also pause the segment moving operation to prevent data from being moved between tiers. You can limit the max number of segments that can be moved per minute by setting the following properties: event.segment-move-rate=5 By default, the max number of segments that can be moved per minute is set to 5. This setting can be changed within the context properties in Axon Server UI. Limiting IO rate in context properties for a given context In some cases, you may want to pause the segment moving operation. This can be useful in emergency situations or during maintenance/backup operations. To pause the segment moving operation, set the segment move rate to zero: event.segment-move-rate=0 To resume the segment moving operation, simply set the segment move rate to a non-zero value. To track the flow of data from one tier to another, we provide a few useful metrics: file_segment_moved_initiated_total{axonserver=\"axonserver-enterprise-1\",context=\"mycontext\",fromTierLevel=\"0\",type=\"EVENT\",} 11.0 file_segment_moved_completed_total{axonserver=\"axonserver-enterprise-1\",context=\"mycontext\",fromTierLevel=\"0\",type=\"EVENT\",}10.0 file_segment_moved_duration_seconds_sum{axonserver=\"axonserver-enterprise-1\",context=\"mycontext\",fromTierLevel=\"1\",type=\"SNAPSHOT\",} 0.53 Example of metrics for tracking the flow of data in tiered storage file_segment_moved_initiated - counts how many segments, per context, per tier level, were initiated to be moved to next tier file_segment_moved_completed - counts how many segments, per context, per tier level, was successfully moved to next tier file_segment_moved_duration - measures how long did it take to move segments to next tier file.segment.per.tier - current number of segments per each tier Limitations to changing and adding to tier configuration While it is possible to change the conditions for moving data from one tier to the next, it is not possible to change the order of tiers. Currently, new tiers can only be added at the end and removal of existing tiers is not possible. In the future, it is expected that it will be possible to alter the configuration completely. Secondary Nodes are a feature in Axon Server that allows you to reduce the number of copies of data that is stored, by keeping only the most recent event store on your primary nodes and keeping the full event store on the secondary nodes. The primary nodes can have faster (more expensive) disks, while the secondary nodes can have slower but more cost-effective disks. This can help reduce storage costs without significantly impacting performance. When Axon Server processes a transaction to append events, the leader replicates this transaction to all of the nodes in the cluster. This includes the primary nodes, as well as the secondary and backup nodes. While the leader will be satisfied when the majority of the primary nodes have acknowledged the receipt of the transaction, it will also keep track of the progress of the other nodes. Each node holds an exact copy of the data initially. So with a cluster of three nodes, each element of data (typically events) will be stored a total of three times. The main reason for this is to ensure that the failure of a single node will not result in the data becoming unavailable or lost. This is particularly relevant for recent information, which is accessed frequently by various event processors, and when using event sourcing. However, the added value of these extra copies degrades over time, as these entries are accessed less frequently. Secondary nodes contain a full copy of all the data that the primary nodes also process. While replicating that data, they inform the primary nodes of their progress. Once the data has aged to the configured retention time, it becomes eligible for removal from the last tier in primary nodes, but only if all available secondary nodes have a safe copy of that data. When primary nodes need to access old data, they will retrieve it from the secondary nodes. By using secondary nodes, you can leverage concurrent access performance of faster disks while minimizing cost by moving events to slower disks once access requirements are reduced. Additionally, a secondary node could be used to keep access for incidental operational use of older events. This secondary node could use several storage tiers to be able to cope with the large amount of data to store. If needed, after a certain retention period, data can be removed altogether. The main difference between Secondary Nodes and Tiered Storage is the cardinality of data. Secondary Nodes allow for a reduction in the number of copies of each data element that is stored; whereas in Tiered Storage, the number of copies always equals to the number of nodes in the cluster. Another significant difference is that Secondary Nodes copy all the data, including the most recent events, even though they still exist on the primary node. Once the data has aged to the configured retention time, it becomes eligible for removal from the primary nodes, but only if all available secondary nodes have a safe copy of that data. In contrast, Tiered Storage involves an actual data copy operation at the moment data transitions from one tier to the next. The differences between Secondary Nodes and Tiered Storage allow for interesting data management techniques. High-performance systems require the ability to concurrently ingest data and read events for event sourcing. Additionally, events that are \"cooling down\" may still occasionally be needed for operational purposes, making the availability of this data essential. In such scenarios, one could use SSD and HDD on the primary nodes to leverage the concurrent access performance of SSD and minimize costs by moving events to a local HDD once access requirements are reduced. Additionally, a Secondary node could be used to keep access for incidental operational use of older events. This Secondary node could use several storage tiers to cope with large amounts of data to store. By combining Secondary Nodes and Tiered Storage, users can effectively manage their data and strike a balance between performance and cost. Example of a tiered setup that keeps most up-to-date events in primary nodes. After a given period of time data is removed from primary nodes and reduced to one replica in one secondary node which deletes data after a long period of time. To use secondary nodes, the replication group for the context must have nodes with SECONDARY role. You may consider to have at least two nodes with SECONDARY role to prevent a single point of failure. To configure a secondary node, you need to add it to the Axon Server cluster as a new node with the SECONDARY role. You can do this by installing Axon Server on a new machine, configuring it to use the same Axon Server instance as the primary node, and starting it up with the SECONDARY role. Once the secondary node is up and running, it will automatically start replicating data from the primary node. By default, the secondary node will store a full copy of all data that the primary nodes also process. While replicating that data, the secondary node informs the primary nodes of its progress. To control the retention time of events on the primary nodes, you can set the retention time properties in the context properties. event.retention-time=10d snapshot.retention-time=10d Entering number without unit defaults to milliseconds, but you can specify a value with a unit, for instance 1d or 5h. This allows you to specify how long events will be kept on the primary nodes before they are eligible for removal. If you have primary nodes with multiple tiers, data will be removed only from last tier. Once events are removed from the primary nodes, they will still be available on the secondary nodes. To access old data on the primary nodes, you can retrieve it from the secondary nodes. This ensures that your data remains available even after it has been removed from the primary nodes, as long as it is still available on the secondary nodes. Overall, secondary nodes provide a way to reduce the number of copies of each data element that is stored, while still maintaining the availability of that data.","title":"Tiered Storage","component":"axon-server-reference","version":"v2024.1","name":"tiered-storage","url":"/axon-server-reference/v2024.1/axon-server/administration/tiered-storage/","titles":[{"text":"Introduction","hash":"_introduction","id":1},{"text":"Axon Server tiered storage","hash":"_axon_server_tiered_storage","id":2},{"text":"Default","hash":"_default","id":3},{"text":"Custom storage","hash":"_custom_storage","id":4},{"text":"Black Hole Tier","hash":"_black_hole_tier","id":5},{"text":"Configuring ephemeral context","hash":"_configuring_ephemeral_context","id":6},{"text":"Use cases for ephemeral context","hash":"_use_cases_for_ephemeral_context","id":7},{"text":"Conditional Removal","hash":"_conditional_removal","id":8},{"text":"Retention Intervals","hash":"_retention_intervals","id":9},{"text":"Time-Based Retention","hash":"_time_based_retention","id":10},{"text":"Size-Based Retention","hash":"_size_based_retention","id":11},{"text":"Controlling the flow of data","hash":"_controlling_the_flow_of_data","id":12},{"text":"Setting IO Rate Limits","hash":"_setting_io_rate_limits","id":13},{"text":"Pausing moving operation","hash":"_pausing_moving_operation","id":14},{"text":"Metrics","hash":"_metrics","id":15},{"text":"Secondary Nodes","hash":"_secondary_nodes","id":16},{"text":"Tiered storage vs Secondary Nodes","hash":"_tiered_storage_vs_secondary_nodes","id":17},{"text":"How are Secondary Nodes Different?","hash":"_how_are_secondary_nodes_different","id":18},{"text":"How Can They Complement Each Other?","hash":"_how_can_they_complement_each_other","id":19},{"text":"Configuring and Using Secondary Nodes","hash":"_configuring_and_using_secondary_nodes","id":20}]},"152":{"id":152,"text":"","title":"Control Database","component":"axon-server-reference","version":"v2024.1","name":"control-database","url":"/axon-server-reference/v2024.1/axon-server/architecture/control-database/","titles":[]},"153":{"id":153,"text":"The architecture section describes numerous concepts and flows within Axon Server that make it tick. Although interesting information, note that none of the upcoming pages are regarded as must know for users of Axon Server. Hence, they are just there for those that want to dive a little deeper into the matter. The following table contains a single subsection for the time being. Sub-Section Purpose Control Database Section describing the importance of the Control Database","title":"Architecture","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/architecture/","titles":[]},"154":{"id":154,"text":"Axon Server can be deployed as a cluster to guarantee high availability. A cluster of Axon Server nodes will provide multiple connection points for (Axon Framework-based) client applications, and thus share the load of managing message delivery and event storage. Client applications will dynamically connect to a node in the cluster and automatically reconnect to another, should the node that they are currently connected to become unreachable. An Axon Server cluster has 3 main areas of administration, Cluster Nodes - \"Instances\" of Axon Server that need to be part of the cluster. Replication Groups - Responsible for event data replication and transaction management between the various nodes of a cluster. Contexts - Responsible for event storage within the various nodes of a cluster. A visual representation of the relationship between the 3 is shown below. The cluster setup process always begins by designating any one clean/uninitialized Axon Server node as the first member of the cluster. You can then run the \"init-cluster\" command on it which will create the following replication groups and contexts -> admin/default. From thereon, there are multiple ways to continue the setup depending upon your Event Store deployment topology. Any other Axon Server node can be added to the cluster using the \"register-node\" command without associating it with any Replication Group / Context. New Replication Groups/Contexts can be added and cluster member nodes can be associated with these. Member nodes can be removed from the cluster at any point of time. Axon provides two ways for automating cluster configuration. The first is the Automatic Initialization feature and the other is the Cluster Template feature. The manual process of member registration of the cluster can be bypassed by setting a couple of properties in the axonserver.properties file. axoniq.axonserver.autocluster.first=internal-hostname:internal-port axoniq.axonserver.autocluster.contexts=context1,context2 The axoniq.axonserver.autocluster.first property defines the first node in the cluster, by specifying its internal hostname (the hostname used by other Axon Server nodes to connect to this host), and the internal port. If the internal port is default (8224) it can be omitted. axoniq.axonserver.autocluster.contexts defines the contexts to create on the first node and the context to join for the other nodes. All of these contexts will be joined as primary nodes. When you don’t specify any contexts, the initial node will only create an admin context, the other nodes will join the cluster, but not be a member of any contexts. The autocluster properties will only take effect on a clean start of a node. If a node is already initialized, it will not create any contexts anymore, nor join the cluster again. This feature is only available in Axon Server Enterprise (since v4.4) The cluster template is defined as a YAML file, describing a cluster’s configuration. It is possible to predefine replication groups, contexts, metadata, applications (with tokens), and users (with their roles), so that the configuration can be shared across teams. The cluster template runs exactly once, on the first clean Axon Server start-up, if there is no previous cluster configuration defined. Therefore, the cluster template will not override any existing configuration. Its purpose is to be used during active development, to be able to share the configuration across development teams. To use the cluster template feature, all you need to do is define a valid cluster template YAML file. If this file is present on a fresh Axon Server startup, it will automatically be picked up and the cluster will be configured accordingly. Each cluster node needs to have the cluster template YAML file copy. Each node will read this file, find its own configuration and configure itself. Default path from which Axon Server reads configuration is ./cluster-template.yml You can override this path anytime by setting Axon Server property: axoniq.axonserver.clustertemplate.path:/mypath/cluster-template.yml Below you can find an example of a basic cluster setup: the _admin and default contexts are in separate replication nodes, replicated across all nodes that are marked as primary. axoniq: axonserver: cluster-template: first: internal-hostname:internal-port replicationGroups: - name: _admin roles: - node: axonserver-enterprise-1 role: PRIMARY - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY contexts: - name: _admin - name: default roles: - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY - node: axonserver-enterprise-1 role: PRIMARY contexts: - name: default applications: [] users: [] Cluster overview after default configuration is applied In order to avoid mistakes while writing a cluster configuration file, we have implemented an export button that will generate a cluster template file based on current setup. Location of export button at Settings page Recommended mechanism - Creating an advanced cluster setup Start a fresh Axon Server setup (use basic cluster template setup mentioned above). Configure a cluster via the UI, by creating users, applications, replication groups and contexts. Use the export button located at \"Settings -> Configuration\" panel to download the current cluster configuration. Replace the basic cluster template with the newly exported cluster template configuration. Use export button from any admin node to ensure that the configuration file contains all the relevant information.","title":"Cluster Basics","component":"axon-server-reference","version":"v2024.1","name":"cluster-basics","url":"/axon-server-reference/v2024.1/axon-server/clustering/cluster-basics/","titles":[{"text":"Introduction","hash":"_introduction","id":1},{"text":"Setup process","hash":"_setup_process","id":2},{"text":"Automatic initialization","hash":"automatic-initialization","id":3},{"text":"Cluster templates","hash":"cluster-templates","id":4},{"text":"Usage","hash":"_usage","id":5},{"text":"Configuration","hash":"_configuration","id":6},{"text":"Export","hash":"_export","id":7}]},"155":{"id":155,"text":"This section addresses the specifics of clustering Axon Server nodes. It covers how to cluster nodes, what roles each node may have, as well as specific data Axon Server generates in a clustered scenario, with the control database and the replication logs sections. The option to cluster Axon Server nodes is not supported in the Developer plan. The following table gives a summary of the various subsections. Sub-Section Purpose Cluster Basics Section describing the basics on how to cluster Axon Server nodes Node Roles Listing and description of the varying roles Axon Server nodes can have Replication Groups Section describing the intent of Replication Groups in an Axon Server cluster Replication Logs Section describing the Replication Logs purpose","title":"Clustering","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/clustering/","titles":[]},"156":{"id":156,"text":"This feature is only available in Axon Server Enterprise versions 4.3 and higher. When you have larger clusters and specific requirements, you may want to have nodes acting in a different way within a replication group. For this reason, in Axon Server Enterprise 4.3, we have introduced a number of new roles that can be assigned to a node. These are: Primary nodes -> This is the role for nodes prior to 4.3. Primary nodes handle client connections and messages, store events and may act as the leader for a replication group. Backup nodes -> These nodes maintain a copy of the event store, but will never become the leader of a replication group. There are two types of Backup nodes - Active Backup and Passive Backup. Messaging-only nodes -> They handle client connections and all types of messages (Commands/Queries/Events) but they do not have an event store. Secondary nodes -> Support for tiered storage. If a replication group contains secondary nodes the primary nodes will only retain recent data. Each replication group needs to have at least one Primary node. This node is capable of becoming a leader and coordinating transactions across the replication group between the different member nodes. Even if you are not using Axon Server as an event store, you still need a leader as transactions also include making changes to the replication group configuration and access control lists. It is also possible to change the role that a particular node plays within a context. You can use backup nodes for instance when you want to ensure that you have a copy of your event store in another data center. As the backup node will never become the leader for a replication group it reduces the risk of high latency, compared to having a normal (Primary) node in another data center. By default, clients can connect to backup nodes. This can be disabled by setting the axoniq.axonserver.force-connection-to-primary-or-messaging-node property to true. Backup nodes come in two flavors Active backup nodes maintain a real time copy of the Event Store by being active participants in transactions. To expand this, suppose a replication group within an Axon Server EE cluster has Active Backup nodes assigned to it (in addition to the Primary nodes). When an event is raised within a context the transaction to commit it in the Event Store is only confirmed if it receives a successful acknowledgement from at-least a certain number of those Active Backup nodes. It is possible to customize the number of active backup nodes involved in the transactions by changing the value of the property axoniq.axonserver.replication.min-active-backups . The default value of this parameter is *\"1\"* which means that if you have Active Backup nodes, at least one of them needs to be up at any time. The higher the value set for this property, the higher the number of Active backup member nodes that need to be available for a successful transaction, so this property affects the availability of the cluster and hence needs to be carefully managed. There are three possible ways to assign the ACTIVE_BACKUP role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as an ACTIVE_BACKUP role within a replication group. B) The add-node-to-replication-group command with the role option as ACTIVE_BACKUP $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r PASSIVE_BACKUP Mandatory parameters *-g* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as PASSIVE_BACKUP* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations Passive Backup nodes follow the primary nodes with on a best effort base. If they are disconnected for some time, it will not impact the overall availability of the replication group. Once the Passive backup nodes are connected again, they will update their event stores with the events that were added while they were gone. If you don’t require the backup node to be fully up-to-date at any moment, you can configure one passive backup node. There are three possible ways to assign the PASSIVE_BACKUP role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as a PASSIVE_BACKUP role within a replication group. B) The add-node-to-replication-group command with the role option as PASSIVE_BACKUP $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r PASSIVE_BACKUP Mandatory parameters *-g* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as PASSIVE_BACKUP* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations You can add nodes as messaging-only nodes to a replication group, if you don’t want to use Axon Server as an event store, or if you want to have a large number of Axon Server nodes for a single replication group, without storing the events on each node. As the name already suggests, messaging-only nodes only route messages, they do not store events themselves. They do not participate in transactions and will clearly never become the leader for a replication-group. There are three possible ways to assign the MESSAGING_ONLY role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as a MESSAGING_ONLY role within a replication group. B) The add-node-to-replication-group command with the role option as MESSAGING_ONLY $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r MESSAGING_ONLY Mandatory parameters *-c* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as MESSAGING_ONLY* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations Axon Server version 4.4 and higher You can add nodes as secondary nodes to a replication group, if you want to limit the amount of data stored on primary nodes. You could for example have fast (more expensive) storage on the primary nodes and less expensive storage on the secondary nodes. Most activity will take place on recent data, and only when you need to access older data you have to go to the secondary nodes. Once you have defined secondary nodes for a replication group, this will apply for all contexts that are defined in the replication group. You can configure the retention time per context, so for some contexts you may have a longer retention time than for others. As the old data still needs to be available at least one SECONDARY node needs to be up at all times. PRIMARY nodes will not delete information from their event stores until all SECONDARY nodes have this information. There are three possible ways to assign the SECONDARY role to a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. The nodes can be added as a MESSAGING_ONLY role within a replication group. B) The add-node-to-replication-group command with the role option as SECONDARY. $ java -jar axonserver-cli.jar add-node-to-replication-group -S http://[node]:[port] -n [node name] -g [replication-group-name] -r SECONDARY Mandatory parameters *-c* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group *-r as SECONDARY* refers to the role of this node within the replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations. Sometimes you may want to change the role a node has for a specific replication group. This may happen when you have a pre-existing cluster replication grou configuration (pre 4.3) and now you want to be able to start using the new roles. The way to do this is to remove a node from a replication group and then add it again in the new role. When you remove the node from the replication group you have an option to preserve the event store. Preserving the event store is recommended when you want to change the role for a node from PRIMARY to BACKUP, or vice versa, as it would prevent a full replication of the event store when the node is added again with the new role. There are three possible ways to change the role of a node within a replication group: A) The Axon Server EE UI Console. Navigate to the Replication Groups icon on the navigation menu of the console which will open up the replication group maintenance screen. You can choose to delete the specific node from the context (using the delete icon). In case you would like to preserve the event store, click on the check-box in the pop-up. B) The delete-node-from-replication-group command $ java -jar ./axonserver-cli.jar delete-node-from-replication-group -S http://[node]:[port] -g [replication-group-name] -n [node name] Mandatory parameters *-g* refers to an existing replication group *-n* refers to the node name that should be a member of this replication group Optional parameters *-S* if not supplied connects by default to http://localhost:8024. If supplied, it should be any node serving the _admin context *-t* refers to the access token to authenticate at server *–preserve-event-store* removes the node from the replication group but leaves the event store files on that node. C) Axon Server EE provided REST API (http:[server]:[port]/swagger-ui.html) which offers the replication-group-rest-controller to help perform role maintenance operations","title":"Node Roles","component":"axon-server-reference","version":"v2024.1","name":"node-roles","url":"/axon-server-reference/v2024.1/axon-server/clustering/node-roles/","titles":[{"text":"Backup nodes","hash":"backup-nodes","id":1},{"text":"Active backup node","hash":"active-backup-node","id":2},{"text":"Passive backup node","hash":"passive-backup-node","id":3},{"text":"Messaging-only nodes","hash":"messaging-only-nodes","id":4},{"text":"Secondary nodes","hash":"secondary-nodes","id":5},{"text":"Changing node roles","hash":"changing-node-roles","id":6}]},"157":{"id":157,"text":"Within a single cluster you can define *replication groups*. A replication group is responsible for transaction coordination as well as event data replication among the various nodes within the cluster. A visual representation of Replication Groups is depicted below. Each node has a specific role in a replication group. The nodes in a replication group will elect a leader which will be responsible for managing transactions in the replication group. Within a replication group you can define a number of contexts (see the in the multi-context section). When you define a replication group, you assign nodes that will serve that replication group. A node can have different roles in a context: A “PRIMARY” node is a fully functional (and voting) member of that replication group. A majority of primary nodes is needed for a replication group to be available to client applications. A “MESSAGING_ONLY” member will not provide event storage, and (as it is not involved with the transactions) is a non-voting member of the replication group. An “ACTIVE_BACKUP” node is a voting member which provides an event store for each context in the replication group, but it does not provide the messaging services, so clients will not connect to it. Note that you must have at least one active backup node that needs to be up if you want a guarantee that you have up-to-date backups. A “PASSIVE_BACKUP” will provide event stores, but not participate in transactions or even elections, nor provide messaging services. It being up or down will never influence the availability of the replication group, and the leader will send any events accumulated during maintenance, as soon as it comes back online. Lastly, a \"SECONDARY\" node will provide event stores, but not participate in transactions or even elections, nor provide messaging services. The leader will send any events accumulated during maintenance, as soon as it comes back online. When there are secondary nodes in a replication group, the primary nodes will only keep the most recent data in their event store. There are multiple options available of assigning roles to nodes within a replication group. The Command Line interface section details this out in the clusters and replication groups sub-sections. All nodes serving a particular context maintain a complete copy, with a “replication leader” in control of the distributed transaction. The leader is determined by elections, following the RAFT protocol. An important consequence has to do with those elections: nodes need to be able to win them, or at least feel the support of a clear majority that is to have a valid leader for a context, a *majority of the nodes must be active* (for instance when you have a cluster with 3 nodes, you need at least 2 active nodes, for a cluster of 4 nodes you would need 3 active nodes).‌ The leader orchestrates the distributed transaction (that is replication of data between the nodes) and confirms to clients when transactions are committed. While an Axon Server cluster does not need to have an odd number of nodes, every individual replication group does, to prevent the chance for a draw in an election. This also holds for the internal replication group named “_admin”, which is used by the admin nodes and stores the cluster structure data. As a consequence most clusters will have an odd number of nodes, and will keep functioning as long as a majority (for a particular replication group) is responding and storing events. Axon Server EE has one special replication group and context, called \"_admin\". This context is used to process all configuration changes in Axon Server, so it contains the master configuration from which all replication groups get their information.‌ You cannot add additional context to the \"_admin\" replication group.","title":"Replication Groups","component":"axon-server-reference","version":"v2024.1","name":"replication-groups","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-groups/","titles":[{"text":"Node roles","hash":"_node_roles","id":1},{"text":"Consensus and elections","hash":"_consensus_and_elections","id":2},{"text":"Special replication group","hash":"_special_replication_group","id":3}]},"158":{"id":158,"text":"","title":"Replication Logs","component":"axon-server-reference","version":"v2024.1","name":"replication-logs","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-logs/","titles":[]},"159":{"id":159,"text":"This section of the manual contains information on installing Axon Server. A summary of the various subsections is given below: Sub-Section Purpose Local Installation Covers all aspects of installing Axon Server locally. Docker / K8s Covers all aspects of installing Axon Server in Docker / K8s.","title":"Installation","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/installation/","titles":[]},"160":{"id":160,"text":"Options Description Non-Axon Server to Axon Server Migrating your non-Axon Server based deployment (Relational DB) to an Axon Server based deployment","title":"Migration","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/migration/","titles":[]},"161":{"id":161,"text":"The Axon EE Server package contains a migration tool to migrate from an already existing RDBMS event store to a new Axon EE Server instance. The tool reads events and snapshots from the existing store and pushes them to an Axon EE Server. The migration tool maintains the state of its migration, so it can be run multiple times. Provision an Axon Server EE cluster with the required number of nodes setup. Startup all the nodes. On any one of the admin nodes, create a new file `application.properties`under the following location ${axon_ee_server_home} containing the properties which define the existing event store and the target Axon Server server axoniq.axonserver.servers - comma separated list of hostnames and ports for the Axon Server cluster. axoniq.datasource.eventstore.url - URL of the JDBC data store containing the existing event store axoniq.datasource.eventstore.username - username to connect to the JDBC data store containing the existing event store axoniq.datasource.eventstore.password - password to connect to the JDBC data store containing the existing event store axon.serializer.events*=jackson- The default settings expect the data in the current event store to be serialized using the XstreamSerializer. Add this property if the data is serialized using the JacksonSerializer. Create a folder called libs under the ${axon_ee_server_home}. Depending upon the type of Database (Postgres/MySql), the required JDBC driver jar files should be placed in this directory. Run the command axonserver-migration.jar The time to migrate data will vary depending upon the size of the existing data store and the number of nodes setup within the cluster. Logon to the Axon Server EE console and query the store to check if the migrated event data is present. The migration tool only migrates the event store data to Axon Server. It does not update the tracking token values in token_entry tables. Tracking tokens are highly dependent on the implementation of the actual event store used. Migrating them is case specific and error-prone. The recommendation is to reset the tracking processors after the migration. The migration tool is like a regular Axon Framework application so properties can be setup accordingly (for example Access Control/Tokens).","title":"Non-Axon Server to Axon Server","component":"axon-server-reference","version":"v2024.1","name":"non-axon-server-to-axon-server","url":"/axon-server-reference/v2024.1/axon-server/migration/non-axon-server-to-axon-server/","titles":[{"text":"Pre-upgrade process","hash":"_pre_upgrade_process","id":1},{"text":"Upgrade process","hash":"_upgrade_process","id":2},{"text":"Verification","hash":"_verification","id":3},{"text":"Notes","hash":"_notes","id":4}]},"162":{"id":162,"text":"There are multiple benefits of moving from an Axon Server SE based deployment to an Axon Server EE based deployment and Axon provides an easy mechanism to achieve this. The up-gradation process primarily involves the movement of the Event/Snapshot data from the an Axon Server SE node to the Axon Server EE cluster. All Event/Snapshots Data (*.events / *.snapshots) in Axon Server SE will be under the folder ${axon_se_server_home}/data/default Provision the Axon Server EE cluster with the required number of nodes setup for the default context. Once this is completed and validated, shut down all the nodes within the cluster Copy and Replace the Event/Snapshots data from the single SE node to every node on the EE cluster. The files should be copied to the_${axon_ee_server_home}/data/default_ location to each of the EE nodes Restart the Nodes Logon to the Axon Server EE console and query the store to check if the migrated event data is present The controldb file on Axon Server SE just contains information on the users allowed access to the server. Users in Axon Server SE are not assigned to any contexts or roles. It is recommended that this file is not copied over over and these users be recreated in Axon Server EE and assigned the proper roles/contexts. Any token setup for client access to the Axon Server SE must be setup on the Axon Server EE cluster too.","title":"Standard to Enterprise Edition","component":"axon-server-reference","version":"v2024.1","name":"standard-to-enterprise-edition","url":"/axon-server-reference/v2024.1/axon-server/migration/standard-to-enterprise-edition/","titles":[{"text":"Pre-upgrade process","hash":"_pre_upgrade_process","id":1},{"text":"Upgrade process","hash":"_upgrade_process","id":2},{"text":"Verification","hash":"_verification","id":3},{"text":"Notes","hash":"_notes","id":4}]},"163":{"id":163,"text":"Flow control is the process of managing the rate of data transmission between two nodes to prevent a fast sender from overwhelming a slow receiver. In the messaging platform flow control is possible both between the messaging platform and the message handlers, and between the nodes in the messaging platform cluster. Messaging Platform - Messaging Handler: The client (the Axon Application) needs to set the following properties to configure flow control: axon.axonserver.initial-nr-of-permits [1000] - number of messages that the server can initially send to client. axon.axonserver.nr-of-new-permits [500] - additional number of messages that the server can send to client. axon.axonserver.new-permits-threshold [500] - when client reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. Axon Server Nodes: Set the following properties to control 'list aggregate events' prefetch rate, per aggregate and per segment: axoniq.axonserver.event.aggregate.prefetch [5] - Ensures that backpressure signals from clients are split into batches. The initial request amount is {prefetch}*5, and subsequent (or replenishing) request amount is {prefetch} axoniq.axonserver.event.events-per-segment-prefetch [10] - the maximum prefetched events from each opened event segment (max two opened segments in parallel) Set the following properties to set flow control on the synchronization between nodes in an Axon Server cluster: axoniq.axonserver.commandFlowControl.initial-nr-of-permits [10000] - number of messages that the master can initially send to replica. axoniq.axonserver.commandFlowControl.nr-of-new-permits [5000] - additional number of messages that the master can send to replica. axoniq.axonserver.commandFlowControl.new-permits-threshold [5000] - when replica reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. axoniq.axonserver.queryFlowControl.initial-nr-of-permits [10000] - number of messages that the master can initially send to replica. axoniq.axonserver.queryFlowControl.nr-of-new-permits [5000] - additional number of messages that the master can send to replica. axoniq.axonserver.queryFlowControl.new-permits-threshold [5000] - when replica reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. Flow control and stream cancellation features are only available with Axon Server 4.6.0 and up. Under the hood, backpressure does Hop to Hop signal propagation (see below) and inherits gRPC’s HTTP2-based backpressure model. As a result, backpressure will not behave intuitively and will not propagate exact request signals from consumer to producer. HTTP/2 and Netty flow control have internal buffers based on message size. In turn, Axon Framework and Axon Server prefetch messages into internal buffers based on message count. The result is that the producer will send a number of messages until it fills all the buffers. Only then will backpressure kick in. Hop to hop The backpressure signal is propagated per-hop. This approach makes it not an end-to-end connection that allows intermediate Axon Server instances to handle backpressure between two connections and pre-fetch additional messages to increase overall performance. It’s important to note that similar to backpressure, the cancellation signal is also per hop. This means it’s propagated over the network to Axon Server and then to the producer. This solution will thus introduce some latency in the stream cancellation. Even though there is potential latency involved in cancellation, any messages produced after the consumer signaled cancellation will be ignored. In order to stream query results, the producer of those results, the consumer, and all Axon Server nodes in between must be at 4.6.0 or higher version. In addition to that, both, consumer and producer must have Project Reactor on the classpath. If the consumer is not at 4.6.0 or higher version, and/or does not have a Project Reactor on the classpath, it is not possible to invoke streaming of query results at all. In all other cases, it is possible to invoke streaming of query results, but it will fallback to the point-to-point query behavior.","title":"Flow Control","component":"axon-server-reference","version":"v2024.1","name":"flow-control","url":"/axon-server-reference/v2024.1/axon-server/performance/flow-control/","titles":[{"text":"Streaming query","hash":"_streaming_query","id":1},{"text":"Compatibility with Axon Framework","hash":"_compatibility_with_axon_framework","id":2}]},"164":{"id":164,"text":"As you operate applications with Axon Server, you may need to fine tune the configuration to have AxonServer running optimally and to it full potential. This generally relates to event segmentation / flow control of messages and general compute recommendations around disk storage, O/S characteristics. The summary below mentions these performance considerations. Performance Area Description Event Segments Performance tuning for event segmentation Flow Control Performance tuning for message flow control","title":"Performance","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/performance/","titles":[]},"165":{"id":165,"text":"Typically, application components contain one or more Event Processors which are responsible for processing incoming events. Streaming Event Processors have configuration aspects that can be changed at runtime to accommodate for changes in the system topology. Streaming Event Processors that handle events in multiple threads use segments to separate the events in the stream across these threads in a reliable way. However, especially when these threads are spread across multiple instances of a component, and the number of instances changes, it may be useful to scale the number of segments accordingly. To this end, Axon Framework provides a split and merge API. This API can be utilized directly or through Axon Server, where the latter takes required coordination into account. Axon Server provides an API to trigger the increase and decrease of the number of Segments, at runtime, across different instances of a processor. Follow these steps to increase or decrease the number of segments for a processor: In the UI, navigate to the component overview, and select one of the application instances that contains the component to change the number of segments for. In the Component Details screen, scroll down to the list of processors. In the list of processors, click the \"Scale\" icon to open the Scaling dialogue In the Scaling dialogue, either click \"Increase\" or \"Decrease\" to adjust the number of segments for the processor. Using the REST API The exposed buttons in the UI can also be targeted directly through REST calls through curl for example. It is recommended to check the Swagger UI for the split and merge endpoint information if such an approach is necessary.","title":"Event Segments","component":"axon-server-reference","version":"v2024.1","name":"tuning-event-processing","url":"/axon-server-reference/v2024.1/axon-server/performance/tuning-event-processing/","titles":[{"text":"Increasing and decreasing segment counts","hash":"increasing-and-decreasing-segment-counts","id":1},{"text":"Segment tuning through Axon Server","hash":"segment-tuning-through-axon-server","id":2}]},"166":{"id":166,"text":"When access control for Axon Server is enabled, you’ll need to provide user credentials or a token. The UI uses username and password to establish a session, while the CLI can use a token. If you are using tools such as “curl”, or have coded your own tool to access the REST API, you’ll need to do this also. The gRPC APIs do not accept user credentials, but always expect a token. Note that the internal API (by default on port 8224) will only accept the \"internal-token\", while the client API (by default on port 8124) will only accept application tokens. Axon Server expects user credentials using the Basic Authentication method. For example, to list the contexts with “curl” using user account \"user\" with password \"password\", you would use: $ curl -u user:password http://localhost:8024/v1/public/context | jq [ { \"changePending\": false, \"leader\": null, \"pendingSince\": 0, \"metaData\": { \"event.index-format\": \"JUMP_SKIP_INDEX\", \"snapshot.index-format\": \"JUMP_SKIP_INDEX\" }, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"node-1\" }, { \"role\": \"PRIMARY\", \"node\": \"node-2\" }, { \"role\": \"PRIMARY\", \"node\": \"node-3\" } ], \"replicationGroup\": \"_admin\", \"context\": \"_admin\" }, { \"changePending\": false, \"leader\": null, \"pendingSince\": 0, \"metaData\": { \"event.index-format\": \"JUMP_SKIP_INDEX\", \"snapshot.index-format\": \"JUMP_SKIP_INDEX\" }, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"node-1\" }, { \"role\": \"PRIMARY\", \"node\": \"node-2\" }, { \"role\": \"PRIMARY\", \"node\": \"node-3\" } ], \"replicationGroup\": \"default\", \"context\": \"default\" } ] To pass a token to the REST and gRPC APIs, you must add the “AxonIQ-Access-Token” header, with the token as value. For example, when using “curl” as in the previous section, but now with a token instead of user credentials: $ curl -H 'AxonIQ-Access-Token: cfd7304a-950e-4e32-86ba-5ecb2c4d23ec' https://localhost:8024/v1/public/context | jq ...output omitted","title":"Access Control on the REST and gRPC APIs","component":"axon-server-reference","version":"v2024.1","name":"access-control-api","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-api/","titles":[{"text":"Passing user credentials to the REST API","hash":"_passing_user_credentials_to_the_rest_api","id":1},{"text":"Passing a Token to the REST and gRPC APIs","hash":"_passing_a_token_to_the_rest_and_grpc_apis","id":2}]},"167":{"id":167,"text":"When access control has been enabled, you may initially find yourself without a user account for the UI. Cluster templates can be used to combine the initial configuration of your replication groups, registrations of client application, and a core set of user accounts, but you can also use the CLI to do this. For this you still need an admin-level token, which for Axon Server SE can be configured in the properties. For Axon Server EE such a token is by default generated by Axon Server itself, and stored in a file named “./security/.token”. This default location is known by the CLI, so if you run in the working directory of Axon Server, it will check for that file and automatically use the token. If you have overridden the location or provided your own file with a token, for example to ensure that all nodes use the same token, then you must use the \"`-t` \" option to provide it to the CLI.","title":"Access Control and the CLI","component":"axon-server-reference","version":"v2024.1","name":"access-control-cli","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-cli/","titles":[]},"168":{"id":168,"text":"Applications need to provide a valid token before they can perform all operations. The access token can be setup in the client using the property axon.axonserver.token=. The Axon Server connector will use this to authenticate the client to the server. In Axon Server EE, instead of setting a single token in axonserver.properties, you must register applications with specific roles. Please do note that you’ll need either a user with ADMIN level access to do this in the UI, or access to the system token for use with the CLI. To register an application and get an access token use the “register-application” command. This command will return the token to use, which can be specified on the commandline, or generated by Axon Server. Note that this token is only generated once; if you lose it you must delete the application and register it again to get a new token. The command register-application has several options: $ java -jar axonserver-cli.jar register-application usage: register-application -a,--application Name of the application -d,--description [Optional] Description of the application -i,--insecure-ssl Do not check the certificate when connecting using HTTPS. -o,--output Output format (txt,json) -prop,--property [Optional] properties for a context/application (specify as name=value) -r,--roles Roles for the application, use role@context -S,--server Server to send command to (default http://localhost:8024) -s,--https Use HTTPS to connect to the server, rather than HTTP. -t,--access-token [Optional] Access token to authenticate at server -T,--token use this token for the app Error processing command 'register-application': Invalid command -a or --application specifies the name of the application. -r or --roles specifies the roles of the application. Specify multiple roles by giving a comma separated list, for example “READ,ADMIN”. -d or --description specifies a description of the application, which will be shown in overviews. -T or --token can be used to specify the token you want to use for a newly registered application. -prop or --property adds an application specific property. These properties will be provided to any plugin processing messages from/for that application. -t or --access-token specifies the access token to authenticate at the server to which the command is sent to. For SE this should be the same as the (admin) token set in the properties. For EE this should be the security token discussed above. -S or --server can be used to specify the URL to the server that the command needs to be sent to. If this is not supplied it connects to “http://localhost:8024”; by default. -s or --https will cause the CLI to use TLS, in effect changing the URL to “https://localhost:8024”;. Note that if you also want to change the port, you’ll have to use “-S”, in which case you can leave out “-s”. -i or --insecure-ssl will tell the CLI that Axon Server is using a certificate which is not signed by a known CA, for example when using self-signed certificates. The ADMIN role is only valid for the admin context, the other roles are specific to another context. In addition to the role name you can also supply the context to which this role applies, for example _{role_name}@{context_name}. Also if no context is mentioned in Axon Server EE, the role is granted to the application for all registered contexts, including contexts that are created after the role has been granted. The token that you set here must be used by all Axon Framework Applications connecting to Axon Server. The access token can be setup in the client using the property axon.axonserver.token=[Token] If you are using the REST APIs, you can specify the token in the HTTP requests via the following header: AxonIQ-Access-Token: my-token-value-here","title":"Security for Axon Framework Client Applications","component":"axon-server-reference","version":"v2024.1","name":"access-control-clients","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-clients/","titles":[{"text":"Using the CLI to register client apps (Axon Server EE only)","hash":"_using_the_cli_to_register_client_apps_axon_server_ee_only","id":1},{"text":"Mandatory parameters","hash":"_mandatory_parameters","id":2},{"text":"Optional parameters","hash":"_optional_parameters","id":3}]},"169":{"id":169,"text":"When you set the “axoniq.axonserver.accesscontrol.enabled” property to “true”, Axon Server will require a token or user account for access to its APIs. In Axon Server, there are three types of tokens that can be defined: Type Property Purpose Internal axoniq.axonserver.accesscontrol.internal-token Define a token for nodes in the cluster to authenticate each other. System axoniq.axonserver.accesscontrol.systemtokenfile Define a file for a token with administrative rights. Default value is “./security/.token”. Application (Through the UI or CLI) Applications are registered using the UI or CLI and assigned roles. See below for more details. Axon Server will generate the system token for the CLI if none is found, and the CLI (if started in the Axon Server working directory) will know the default location. Axon Framework based applications should only need the non-admin token. If you wish to use tools to access the REST API directly, you must add an HTTP header named “AxonIQ-Access-Token”, as in the following example: $ curl -H 'AxonIQ-Access-Token: system-token' -s http://localhost:8024/v1/public/context | jq '.[] | select(.context==\"default\")' { \"context\": \"default\", \"replicationGroup\": \"default\", \"metaData\": { \"event.index-format\": \"JUMP_SKIP_INDEX\", \"snapshot.index-format\": \"JUMP_SKIP_INDEX\" }, \"changePending\": false, \"pendingSince\": 0, \"leader\": \"e32c48ab5047\", \"roles\": [ { \"node\": \"e32c48ab5047\", \"role\": \"PRIMARY\" } ] } When you create a user account, you assign roles, which will determine the user’s access rights. The user accounts are generally only used for the UI, although they are also valid for access to the REST API, using Basic Authentication. In contrast to SE, where you could only choose between \"normal\" and \"admin\" accounts, you can now assign several roles from a long list, and each per context using \"role`@`context\". You can also assign a role for context “*”, which means that the user gets that role for any context existing now, or created in the future. In Axon Server we can grant specific roles to applications and users that will allow specific operations. Apart from just assigning the roles, you must also indicate for which context the role is granted, so that an application/user that has rights on only one context is not able to access data from other contexts.‌ A summary of the various roles is depicted below Role Name Description ADMIN Administer the cluster, manage contexts, users and applications VIEW_CONFIGURATION View cluster configuration with contexts, users, applications, replication groups, and plugins (only for _admin context) CONTEXT_ADMIN Manage event processors within a specific context DISPATCH_COMMANDS Dispatch commands DISPATCH_QUERY Dispatch queries and subscription queries MONITOR View context information PUBLISH_EVENTS Publish events and snapshots READ_EVENTS Read events and snapshots from the event store SUBSCRIBE_COMMAND_HANDLER Register command handlers SUBSCRIBE_QUERY_HANDLER Register query handlers USE_CONTEXT Perform all operations on a context READ (Deprecated) Read events and perform queries WRITE (Deprecated) Publish events and perform commands For a detailed overview of the mapping between operations and roles see Access Control Matrix. Using the CLI it is possible to create an account without a password. This does not mean that the account requires no password to login, but rather that the account is only used to assign roles to, while the password needs to be checked using an external tool. To create such an account, use the “--no-password” option: $ java -jar axonserver-cli.jar register-user -u username -r roles --no-password See the section on OAuth2 integration for an example.","title":"Access Control for Axon Server","component":"axon-server-reference","version":"v2024.1","name":"access-control-ee","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ee/","titles":[{"text":"Tokens in Axon Server","hash":"_tokens_in_axon_server","id":1},{"text":"User accounts in Axon Server","hash":"_user_accounts_in_axon_server","id":2},{"text":"Assigning roles","hash":"_assigning_roles","id":3},{"text":"Accounts without a password","hash":"_accounts_without_a_password","id":4}]},"170":{"id":170,"text":"This extension will allow you to use LDAP for authentication and authorization in Axon Server. User accounts and roles from LDAP are not synchronized to the Axon Server cluster, so they won’t show up on the \"Users\" tab. To install the LDAP Extension, you need to unpack the distribution ZIP-file, so the JAR files are in the “exts” subdirectory of the working directory of Axon Server: $ mkdir exts $ unzip -j axon-server-extension-ldap-4.5.1-bin.zip -d exts Archive: axon-server-extension-ldap-4.5-bin.zip inflating: exts/axon-server-extension-ldap-4.5.1-sources.jar inflating: exts/axon-server-extension-ldap-4.5.1.jar inflating: exts/javax.inject-1.jar inflating: exts/spring-ldap-core-2.3.4.RELEASE.jar inflating: exts/spring-security-ldap-5.4.7.jar $ Note that version 4.5.1 is the current version at the time of Axon Server 4.5.13. The options used are: axoniq.axonserver.accesscontrol.enabled This must be set to “true” to enable access control. axoniq.axonserver.enterprise.ldap.enabled Set this to “true” to enable the plugin. axoniq.axonserver.enterprise.ldap.server-name This sets the LDAP server’s hostname, which is defaulted to “localhost”. axoniq.axonserver.enterprise.ldap.server-port This sets the LDAP server’s port, which is defaulted to 389. axoniq.axonserver.enterprise.ldap.server-url As an alternative, for example when you want to use a TLS-secured connection, you can provide the URL to the LDAP server, such as “ldaps://ldap-server.local”. axoniq.axonserver.enterprise.ldap.initialBindUserDN If the LDAP server does not accept unauthenticated initial binds, set the DN of the user for that, for example “cn=admin,dc=demo,dc=io”. Only if both this property and the corresponding password are set, will they be used. axoniq.axonserver.enterprise.ldap.initialBindPassword If the LDAP server does not accept unauthenticated initial binds, set the password for that. Only if both this property and the corresponding User DN are set, will they be used. axoniq.axonserver.enterprise.ldap.search-base This setting provides the base context for searching users, for example “ou=people,dc=planetexpress,dc=com”. axoniq.axonserver.enterprise.ldap.search-filter This is the filter to be used for searching, so you typically add object types, and the attribute to match on. An example would be “(&(objectClass=inetOrgPerson)(uid={0}))”. The “{0}” notation is used to place the username. axoniq.axonserver.enterprise.ldap.group-base Similarly to the “search-base” setting, you can add a “group-base”. This setting is optional and normally not needed. axoniq.axonserver.enterprise.ldap.group-filter The “group-filter” is the search pattern for groups, which will be translated to roles, for example “(&(objectclass=Group)(member={0}))” When using ActiveDirectory, the following properties are needed: axoniq.axonserver.enterprise.ldap.activeDirectory This must be set to “true”. axoniq.axonserver.enterprise.ldap.adDomain This must be set to the AD Domain serviced by the controller. An example of an Active Directory configuration is: axoniq.axonserver.accesscontrol.enabled=true axoniq.axonserver.enterprise.ldap.enabled=true axoniq.axonserver.enterprise.ldap.activeDirectory=true axoniq.axonserver.enterprise.ldap.serverName=my-ad axoniq.axonserver.enterprise.ldap.adDomain=demo.io axoniq.axonserver.enterprise.ldap.searchFilter=(&(objectClass=user)(sAMAccountName=\\{1})) axoniq.axonserver.enterprise.ldap.roles.AxonAdmin=ADMIN@_admin In order to translate LDAP Groups, you must provide properties as follows: axoniq.axonserver.enterprise.ldap.roles.= For example, if we have a group \"ADMIN_STAFF\" that we want to make administrators, and a group \"SHIP_CREW\" that should be normal users of the \"default\" context, then we would use: axoniq.axonserver.enterprise.ldap.roles.ADMIN_STAFF=ADMIN@_admin axoniq.axonserver.enterprise.ldap.roles.SHIP_CREW=USE_CONTEXT@default Two further options exist that may be used to tune the connection with the LDAP server. Both have a default value of “true”. axoniq.axonserver.enterprise.ldap.using-pooled-queries axoniq.axonserver.enterprise.ldap.allowing-referrals","title":"Axon Server EE - LDAP Extension","component":"axon-server-reference","version":"v2024.1","name":"access-control-ldap","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ldap/","titles":[{"text":"Installing the LDAP extension","hash":"_installing_the_ldap_extension","id":1},{"text":"Configuring the LDAP extension","hash":"_configuring_the_ldap_extension","id":2},{"text":"Active Directory specific settings","hash":"_active_directory_specific_settings","id":3},{"text":"Linking LDAP groups to roles in Axon Server","hash":"_linking_ldap_groups_to_roles_in_axon_server","id":4},{"text":"Tuning the LDAP extension","hash":"_tuning_the_ldap_extension","id":5}]},"171":{"id":171,"text":"The following table gives an overview of the roles in Axon Server and the operations that the role gives access to: Role Operations ADMIN DELETE_USER DOWNLOAD_DIAGNOSE DOWNLOAD_TEMPLATE GET_APP_DETAILS GET_EVENT_PROCESSOR_STRATEGY GET_EVENT_PROCESSORS GET_EVENT_PROCESSORS_STRATEGIES GET_PLUGIN_CONFIGURATION INIT_CLUSTER LIST_APPS LIST_BACKUP_FILENAMES LIST_BACKUP_LOGFILES LIST_COMMANDS LIST_CONTEXTS LIST_NODES LIST_PLUGINS LIST_QUERIES LIST_REPLICATION_GROUPS LIST_TASKS LIST_USERS MERGE_USER RAFT_CLEAN_LOG RAFT_GET_STATUS RAFT_LIST_APPLICATIONS RAFT_LIST_CONTEXT_MEMBERS RAFT_LIST_CONTEXTS RAFT_START_CONTEXT RAFT_STEPDOWN RAFT_STOP_CONTEXT REMOVE_NODE_FROM_CLUSTER RENEW_APP_TOKEN UNREGISTER_PLUGIN UPDATE_CONTEXT_PROPERTIES UPLOAD_LICENSE CONTEXT_ADMIN AUTO_REBALANCE_PROCESSOR GET_EVENT_PROCESSOR_STRATEGY GET_EVENT_PROCESSORS GET_EVENT_PROCESSORS_STRATEGIES LIST_BACKUP_FILENAMES LIST_BACKUP_LOGFILES LOCAL_GET_LAST_EVENT LOCAL_GET_LAST_SNAPSHOT MERGE_EVENT_PROCESSOR_SEGMENTS MOVE_EVENT_PROCESSOR_SEGMENT PAUSE_EVENT_PROCESSOR REBALANCE_PROCESSOR RECONNECT_CLIENT SET_EVENT_PROCESSOR_STRATEGY SPLIT_EVENT_PROCESSOR_SEGMENTS START_EVENT_PROCESSOR DISPATCH_COMMANDS DISPATCH_COMMAND DISPATCH_QUERY DISPATCH_QUERY DISPATCH_SUBSCRIPTION_QUERY MONITOR GET_COMMANDS_COUNT GET_COMMANDS_QUEUE PUBLISH_EVENTS APPEND_EVENT APPEND_SNAPSHOT CANCEL_SCHEDULED_EVENT RESCHEDULE_EVENT SCHEDULE_EVENT READ DISPATCH_QUERY DISPATCH_SUBSCRIPTION_QUERY GET_FIRST_TOKEN GET_LAST_TOKEN GET_TOKEN_AT HANDLE_QUERIES LIST_EVENTS LIST_SNAPSHOTS SEARCH_EVENTS READ_EVENTS GET_FIRST_TOKEN GET_LAST_TOKEN GET_TOKEN_AT LIST_EVENTS LIST_SNAPSHOTS READ_HIGHEST_SEQNR SEARCH_EVENTS SUBSCRIBE_COMMAND_HANDLER HANDLE_COMMANDS SUBSCRIBE_QUERY_HANDLER HANDLE_QUERIES USE_CONTEXT APPEND_EVENT APPEND_SNAPSHOT AUTO_REBALANCE_PROCESSOR CANCEL_SCHEDULED_EVENT DISPATCH_COMMAND DISPATCH_QUERY DISPATCH_SUBSCRIPTION_QUERY GET_COMMANDS_COUNT GET_COMMANDS_QUEUE GET_EVENT_PROCESSOR_STRATEGY GET_EVENT_PROCESSORS GET_EVENT_PROCESSORS_STRATEGIES GET_FIRST_TOKEN GET_LAST_TOKEN GET_TOKEN_AT HANDLE_COMMANDS HANDLE_QUERIES LIST_BACKUP_FILENAMES LIST_BACKUP_LOGFILES LIST_EVENTS LIST_QUERIES LIST_SNAPSHOTS LOCAL_GET_LAST_EVENT LOCAL_GET_LAST_SNAPSHOT MERGE_EVENT_PROCESSOR_SEGMENTS MOVE_EVENT_PROCESSOR_SEGMENT PAUSE_EVENT_PROCESSOR READ_HIGHEST_SEQNR REBALANCE_PROCESSOR RECONNECT_CLIENT RESCHEDULE_EVENT SCHEDULE_EVENT SEARCH_EVENTS SET_EVENT_PROCESSOR_STRATEGY SPLIT_EVENT_PROCESSOR_SEGMENTS START_EVENT_PROCESSOR VIEW_CONFIGURATION LIST_APPS LIST_CONTEXTS LIST_NODES LIST_PLUGINS LIST_REPLICATION_GROUPS LIST_USERS WRITE APPEND_EVENT APPEND_SNAPSHOT CANCEL_SCHEDULED_EVENT DISPATCH_COMMAND HANDLE_COMMANDS RESCHEDULE_EVENT SCHEDULE_EVENT The following table gives an overview of the operations in Axon Server and the roles that can execute the operation: Operation Role ACTIVATE_PLUGIN ADMIN ADD_NODE_TO_CLUSTER ADMIN ADD_NODE_TO_CONTEXT ADMIN ADD_NODE_TO_REPLICATION_GROUP ADMIN ADD_PLUGIN ADMIN APPEND_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE APPEND_SNAPSHOT PUBLISH_EVENTS USE_CONTEXT WRITE AUTO_REBALANCE_PROCESSOR CONTEXT_ADMIN USE_CONTEXT CANCEL_SCHEDULED_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE CONFIGURE_PLUGIN ADMIN CREATE_APP ADMIN CREATE_CONTEXT ADMIN CREATE_CONTROLDB_BACKUP ADMIN CREATE_REPLICATION_GROUP ADMIN DELETE_APP ADMIN DELETE_CONTEXT ADMIN DELETE_NODE_FROM_CONTEXT ADMIN DELETE_NODE_FROM_REPLICATION_GROUP ADMIN DELETE_PLUGIN ADMIN DELETE_REPLICATION_GROUP ADMIN DELETE_TASK ADMIN DELETE_USER ADMIN DISPATCH_COMMAND DISPATCH_COMMANDS USE_CONTEXT WRITE DISPATCH_QUERY DISPATCH_QUERY READ USE_CONTEXT DISPATCH_SUBSCRIPTION_QUERY DISPATCH_QUERY READ USE_CONTEXT DOWNLOAD_DIAGNOSE ADMIN DOWNLOAD_TEMPLATE ADMIN GET_APP_DETAILS ADMIN GET_COMMANDS_COUNT MONITOR USE_CONTEXT GET_COMMANDS_QUEUE MONITOR USE_CONTEXT GET_EVENT_PROCESSOR_STRATEGY ADMIN CONTEXT_ADMIN USE_CONTEXT GET_EVENT_PROCESSORS ADMIN CONTEXT_ADMIN USE_CONTEXT GET_EVENT_PROCESSORS_STRATEGIES ADMIN CONTEXT_ADMIN USE_CONTEXT GET_FIRST_TOKEN READ READ_EVENTS USE_CONTEXT GET_LAST_TOKEN READ READ_EVENTS USE_CONTEXT GET_PLUGIN_CONFIGURATION ADMIN GET_TOKEN_AT READ READ_EVENTS USE_CONTEXT HANDLE_COMMANDS SUBSCRIBE_COMMAND_HANDLER USE_CONTEXT WRITE HANDLE_QUERIES READ SUBSCRIBE_QUERY_HANDLER USE_CONTEXT INIT_CLUSTER ADMIN LIST_APPS ADMIN VIEW_CONFIGURATION LIST_BACKUP_FILENAMES ADMIN CONTEXT_ADMIN USE_CONTEXT LIST_BACKUP_LOGFILES ADMIN CONTEXT_ADMIN USE_CONTEXT LIST_COMMANDS ADMIN LIST_CONTEXTS ADMIN VIEW_CONFIGURATION LIST_EVENTS READ READ_EVENTS USE_CONTEXT LIST_NODES ADMIN VIEW_CONFIGURATION LIST_PLUGINS ADMIN VIEW_CONFIGURATION LIST_QUERIES ADMIN USE_CONTEXT LIST_REPLICATION_GROUPS ADMIN VIEW_CONFIGURATION LIST_SNAPSHOTS READ READ_EVENTS USE_CONTEXT LIST_TASKS ADMIN LIST_USERS ADMIN VIEW_CONFIGURATION LOCAL_GET_LAST_EVENT CONTEXT_ADMIN USE_CONTEXT LOCAL_GET_LAST_SNAPSHOT CONTEXT_ADMIN USE_CONTEXT MERGE_EVENT_PROCESSOR_SEGMENTS CONTEXT_ADMIN USE_CONTEXT MERGE_USER ADMIN MOVE_EVENT_PROCESSOR_SEGMENT CONTEXT_ADMINv USE_CONTEXT PAUSE_EVENT_PROCESSOR CONTEXT_ADMIN USE_CONTEXT RAFT_CLEAN_LOG ADMIN RAFT_GET_STATUS ADMIN RAFT_LIST_APPLICATIONS ADMIN RAFT_LIST_CONTEXT_MEMBERS ADMIN RAFT_LIST_CONTEXTS ADMIN RAFT_START_CONTEXT ADMIN RAFT_STEPDOWN ADMIN RAFT_STOP_CONTEXT ADMIN READ_HIGHEST_SEQNR READ_EVENTS USE_CONTEXT REBALANCE_PROCESSOR CONTEXT_ADMIN USE_CONTEXT RECONNECT_CLIENT CONTEXT_ADMIN USE_CONTEXT REMOVE_NODE_FROM_CLUSTER ADMIN RENEW_APP_TOKEN ADMIN RESCHEDULE_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE SCHEDULE_EVENT PUBLISH_EVENTS USE_CONTEXT WRITE SEARCH_EVENTS READ READ_EVENTS USE_CONTEXT SET_EVENT_PROCESSOR_STRATEGY CONTEXT_ADMIN USE_CONTEXT SPLIT_EVENT_PROCESSOR_SEGMENTS CONTEXT_ADMIN USE_CONTEXT START_EVENT_PROCESSOR CONTEXT_ADMIN USE_CONTEXT UNREGISTER_PLUGIN ADMIN UPDATE_CONTEXT_PROPERTIES ADMIN UPLOAD_LICENSE ADMIN","title":"Operation to Role Mapping","component":"axon-server-reference","version":"v2024.1","name":"access-control-matrix","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-matrix/","titles":[]},"172":{"id":172,"text":"This extension will allow you to use OAuth2 integration for authentication in Axon Server. User accounts and roles from the OAuth provider are not synchronized to the Axon Server cluster, because no roles are associated with them. This means an account needs to be made in the cluster with the username from the provider, and roles assigned. To install the OAuth Extension, you need to unpack the distribution ZIP-file, so the JAR files are in the “exts” subdirectory of the working directory of Axon Server: $ mkdir exts $ unzip -j axon-server-extension-oauth-4.5-SNAPSHOT-bin.zip -d exts Archive: axon-server-extension-oauth-4.5-SNAPSHOT-bin.zip inflating: exts/axon-server-extension-oauth-4.5-SNAPSHOT.jar inflating: exts/commons-compress-1.9.jar inflating: exts/commons-lang3-3.8.1.jar inflating: exts/content-type-2.1.jar inflating: exts/javax.inject-1.jar inflating: exts/javax.persistence-api-2.2.jar inflating: exts/javax.transaction-api-1.3.jar inflating: exts/jcip-annotations-1.0-1.jar inflating: exts/lang-tag-1.4.4.jar inflating: exts/nimbus-jose-jwt-9.1.3.jar inflating: exts/oauth2-oidc-sdk-8.23.1.jar inflating: exts/spring-boot-starter-oauth2-client-2.1.6.RELEASE.jar inflating: exts/spring-security-oauth2-client-5.1.5.RELEASE.jar inflating: exts/spring-security-oauth2-core-5.1.5.RELEASE.jar inflating: exts/spring-security-oauth2-jose-5.1.5.RELEASE.jar inflating: exts/tomcat-embed-el-9.0.21.jar inflating: exts/validation-api-2.0.1.Final.jar $ Note that the actual version numbers may differ in your case. The options used are: axoniq.axonserver.accesscontrol.enabled This must be set to “true” to enable access control. axoniq.axonserver.enterprise.oauth2.enabled This must be set to “true” to enable the OAuth extension. axoniq.axonserver.enterprise.oauth2.mode Set this value to “google” for Google Apps authentication, or “oidc” to use the generic OpenID Connect integration. The OpenID Connect integration is known to work with KeyCloak server. For authentication using Google Apps accounts, you’ll can use the following properties: axoniq.axonserver.enterprise.oauth2.authorization-uri This optional value can be used to configure the URI that will trigger the authentication using OAuth2. The default value is “/oauth2/authorization” and should work fine. spring.security.oauth2.client.registration.google.client-id This should be set to the client-id provided by the Google Developer Console where you registered the cluster. spring.security.oauth2.client.registration.google.client-secret This should be set to the secret provided by the Google Developer Console where you registered the cluster. spring.security.oauth2.client.registration.google.scope This setting is used to configure what information Google should share with the Axon Server cluster. A good value to use is “email”, which will allow you to use the email address as username, as is common with Google accounts. axoniq.axonserver.enterprise.oauth2.username-map.google This setting tells the extension what value to use as username and requires that this value is provided by Google using the “scope” setting described above. If the email address is to be used, as suggested above, the value should be “email”. axoniq.axonserver.enterprise.oauth2.request-params This setting defines a map of parameters to add to the redirect URL, to customize the behavior of the provider’s integration. For Google, if the users use the same browser with multiple Google accounts, a good setting to add is “prompt”, with value “select_account”: `properties axoniq.axonserver.enterprise.oauth2.request-params.prompt=select_account ` This will force Google to always ask which account must be used to continue, even if there is only a single account in use, and that account is currently active. For authentication using KeyCloak, you need to configure a realm and, in it, configure Axon Server as a client. You can use the following properties: axoniq.axonserver.enterprise.oauth2.forceOidcLogout Setting this property to “true” will ensure that, when the user logs out from the Axon Server UI, a logout request will also be sent to KeyCloak. If set to “false” (the default), the user will still have a valid session in KeyCloak, and a subsequent login attempt using the same browser window may immediately succeed, without a prompt for a password. Naturally this is dependent on session validity settings within KeyCloak. spring.security.oauth2.client.registration.oidcclient.client-id This should be set to the client ID configured for Axon Server. spring.security.oauth2.client.registration.oidcclient.client-secret This should be set to the client secret configured for Axon Server. spring.security.oauth2.client.registration.oidcclient.client-name This should be set to the client name configured for Axon Server. spring.security.oauth2.client.registration.oidcclient.provider This should be set to the value “keycloak”. * spring.security.oauth2.client.registration.oidcclient.scope This should be set to a (comma separated) list of the information that needs to be shared, typically “openid,email,profile”. spring.security.oauth2.client.provider.keycloak.issuer-uri This should be set to the realm’s URL on KeyCloak. For example, if the realm is named “test-realm” and KeyCloak is exposed at “http://keycloak-test:8090”;, then the value is “http://keycloak-test:8090/realms/test-realm”;. axoniq.axonserver.enterprise.oauth2.username-map.oidcclient This setting tells the extension what value to use as username. The suggested value is “username”, which refers to that value from the “profile” scope. Alternatively, just as with the Google Apps integration mentioned above, you can use “email”. If a username is unknown in the Axon Server cluster, even when authentication succeeds, the user will not be allowed to log in. To allow this, a user with “ADMIN” level access needs to create a user, optionally without a password, and assign the roles for this user. The Axon Server CLI has a special options (“--no-password”) to allow the creation of accounts without a password. Note that if you create an account with a password, this will allow the user to choose to use that as well as the OAuth integration.","title":"Axon Server EE - OAuth Extension","component":"axon-server-reference","version":"v2024.1","name":"access-control-oauth2","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-oauth2/","titles":[{"text":"Installing the OAuth Extension","hash":"_installing_the_oauth_extension","id":1},{"text":"Configuring the OAuth Extension","hash":"_configuring_the_oauth_extension","id":2},{"text":"Configuration Google Apps Authentication","hash":"_configuration_google_apps_authentication","id":3},{"text":"Configuring OpenID Connect authentication with KeyCloak","hash":"_configuring_openid_connect_authentication_with_keycloak","id":4},{"text":"Configuring the User’s Access and Roles","hash":"_configuring_the_users_access_and_roles","id":5}]},"173":{"id":173,"text":"This section is specific for Axon Server Standard Edition (versions before 2023.1). From versions 2023.1 onwards, refer to this page. When you set the “axoniq.axonserver.accesscontrol.enabled” property to “true”, Axon Server requires a token or user account for access to its APIs. In Axon Server SE, there are two tokens that administrators can define: Property Purpose axoniq.axonserver.accesscontrol.token Define a token with normal (limited) rights. axoniq.axonserver.accesscontrol.admin-token Define a token with administrative rights. Generally, you use the admin-token only for the CLI, to issue commands for managing user accounts and plugins. Axon Framework based applications should only need the non-admin token. If you wish to use tools to access the REST API directly, you must add an HTTP header named “AxonIQ-Access-Token”, as in the following example: $ curl -H 'AxonIQ-Access-Token: my-token' -s http://localhost:8024/v1/public/users | jq [ { \"userName\": \"admin\", \"password\": null, \"roles\": [ \"ADMIN@*\" ] } ] When you create a user account, you can optionally assign the role “ADMIN”, which is a shorthand for “ADMIN@*” and allow the user to access the user-administration and plugin pages in the UI. These user accounts are generally only used for the UI, although they are also valid for access to the REST API, using Basic Authentication.","title":"Access control for Axon Server SE","component":"axon-server-reference","version":"v2024.1","name":"access-control-se","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-se/","titles":[{"text":"Tokens in Axon Server SE","hash":"_tokens_in_axon_server_se","id":1},{"text":"User accounts in Axon Server SE","hash":"_user_accounts_in_axon_server_se","id":2}]},"174":{"id":174,"text":"As Axon Server is an event store and may contain sensitive data, it is always a good practice to enable access control in production and production-like environments. Enabling access control will require applications to provide a token when accessing Axon Server services (both through gRPC and HTTP), and require users to login to the dashboard.‌ In this section we will describe how to configure access control on both the Axon Server side and the Axon Framework side. To enable access control in Axon Server (SE/EE) add the following property to axonserver.properties: axoniq.axonserver.accesscontrol.enabled=true Because Axon Server SE deals with this differently than Axon Server EE, they will separately address: Axon Server SE Axon Server EE Axon Framework apps Axon Server CLI Direct access to the REST and gRPC APIs For Axon Server EE, we have additional sections on the external authentication extensions: LDAP Extension OAuth2 Extension If you haven’t used the cluster template to create an initial user, you can use the CLI to create it. For this you will need an admin-level access token, as described here. To do this, execute the “register-user” command: $ java -jar axonserver-cli.jar register-user usage: register-user -i,--insecure-ssl Do not check the certificate when connecting using HTTPS. --no-password [Optional] Create a (locked) user account without a password. -o,--output Output format (txt,json) -p,--password [Optional] Password for the user -r,--roles [Optional] roles for the user -S,--server Server to send command to (default http://localhost:8024) -s,--https Use HTTPS to connect to the server, rather than HTTP. -t,--access-token [Optional] Access token to authenticate at server -u,--username Username -u or --username specifies the username. -r or --roles specifies the role of the user. Specify multiple roles by giving a comma separated list (without spaces), for example “READ,ADMIN”. -p or --password specifies the password of the user. If you do not specify a password with the “-p” option, the command line interface will prompt you for one. If you instead want a use account without a password‌, for example when using Google OAuth2 authentication, use “--no-password”. --no-password will cause the CLI to create a user acount with no password set, which means you cannot login unless you use an external authentication provider. -t or --access-token specifies the access token to authenticate at the server to which the command is sent to. This should be the security token discussed above. -S or --server can be used to specify the URL to the server that the command needs to be sent to. If this is not supplied it connects to “http://localhost:8024”; by default. -s or --https will cause the CLI to use TLS, in effect changing the URL to “https://localhost:8024”;. Note that if you also want to change the port, you’ll have to use “-S”, in which case you can leave out “-s”. -i or --insecure-ssl will tell the CLI that Axon Server is using a certificate which is not signed by a known CA, for example when using self-signed certificates. Users can also be added using the REST API / UI Console that Axon Server SE provides. The CLI also allows the capabilities to list all users as well as delete specific users.","title":"Access Control","component":"axon-server-reference","version":"v2024.1","name":"access-control","url":"/axon-server-reference/v2024.1/axon-server/security/access-control/","titles":[{"text":"Using the CLI to create a user","hash":"_using_the_cli_to_create_a_user","id":1},{"text":"Mandatory parameters","hash":"_mandatory_parameters","id":2},{"text":"Optional parameters","hash":"_optional_parameters","id":3}]},"175":{"id":175,"text":"Axon provides various features such as authentication, access control, encryption, and SSL to secure your Axon Server deployments. A summary of the various sub-sections is given below. Sub-Section Purpose SSL Encryption of network traffic to and between Axon Server Nodes Access Control Enforces Authentication and Role Based access control for Axon Server Access Control - Enterprise Edition Access Control settings for Axon Server Access Control - Client Applications Access Control settings for Axon Server client applications Access Control - CLI Access Control as required by the Axon Server CLI Access Control - API Axon Server’s Access Control gRPC API Access Control - LDAP Extension LDAP Extension for Axon Server Enterprise Edition Access Control - OAuth 2.0 Extension OAuth 2.0 Extension for Axon Server Enterprise Edition","title":"Security","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/security/","titles":[]},"176":{"id":176,"text":"Axon Server supports TLS/SSL (Transport Layer Security/Secure Sockets Layer) to encrypt all of Axon Server’s network traffic - From Axon Framework client applications to Axon Server (SE/EE) as well as between Axon Server nodes within a cluster (EE only). Axon Server (SE/EE) has two ports (HTTP/gRPC) that need to be enabled for SSL and hence there are two different groups of settings to use, one for each port. The HTTP port uses the generic Spring Boot configuration settings, and requires a Java compatible keystore. For the gRPC port we use standard PEM files. The following properties need to be setup in axonserver.properties for both SE and EE: Port Type Property Name Description SSL (Axon Server - HTTP Port) security.require-ssl Determines whether the server has SSL enabled on the HTTP port. server.ssl.key-store-type Keystore type. (should be PKCS12) server.ssl.key-store Location of the keystore. server.ssl.key-store-password Password to access the keystore. server.ssl.key-alias Alias to be used to access the keystore. SSL (Axon Server - gRPC Port) axoniq.axonserver.ssl.enabled Determines whether the server has SSL enabled on the gRPC port. axoniq.axonserver.ssl.cert-chain-file Location of the public certificate file. axoniq.axonserver.ssl.private-key-file Location of the private key file. axoniq.axonserver.ssl.internal-cert-chain-file axoniq.axonserver.ssl.internal-trust-manager-file axoniq.axonserver.ssl.internal-private-key-file With Axon Server EE SSL is also used for the communication between the Axon Server nodes. If the internal host names of the Axon Server nodes differ from the host names as they’re used by clients, it is required to use another certificate (bound to the internal hostname). If this is the case, you can specify the certificate used for cluster-internal traffic using the “…ssl.internal-cert-chain-file” property. The certificate used by internal traffic may be generated using its own private key. If this is the case, you must specify the location of this key file in the property \"…ssl.internal-private-key-file\". If the certificates used for internal traffic are self-signed certificates, you must ensure that these are trusted by the other nodes. In this case you add the certificates (or the root certificate) in the (PEM) keystore specified by the “…ssl.internal-trust-manager-file” property. As of Axon Server version 2023.2.0, you can update the certificates without restarting Axon Server. When a certificate is about to expire you can replace it with a new certificate, using the same file name. To load the new certificate for the gRPC communication you must ensure that the modified timestamp for both the key file and the certificate file are updated. The optional trust manager file used for the internal communication in an Axon Server cluster is also monitored. If this file is updated, Axon Server will use the new version. When you update the certificate in the keystore used for the Tomcat HTTP server, it is also reloaded automatically. Axon Server checks the TLS artifacts for updates once a minute. The following properties are available for Axon client applications to use TLS/SSL for the traffic to Axon Server: Property Name Description axon.axonserver.ssl-enabled Is SSL enabled for the traffic with Axon Server axon.axonserver.cert-file (PEM) keystore containing trusted certificates, in case that the certificate that’s used by Axon Server is not issued by a trusted certificate authority. A thing to remember is that enabling SSL on an Axon Server cluster will require downtime, as the “…ssl.enabled” setting controls both server and client side code. This is intentional, as it’s unreasonable to expect all nodes to have individual settings per node showing which ones communicate using SSL and which don’t, so it is recommended to get this done in the beginning during the installation phase of Axon Server.","title":"SSL","component":"axon-server-reference","version":"v2024.1","name":"ssl","url":"/axon-server-reference/v2024.1/axon-server/security/ssl/","titles":[{"text":"Client configuration","hash":"_client_configuration","id":1},{"text":"Downtime considerations","hash":"_downtime_considerations","id":2}]},"177":{"id":177,"text":"Cluster Templates enable administrators to maintain AxonServer cluster configuration as code. The cluster template is a YAML file, describing a cluster’s configuration. It’s possible to predefine replication groups, contexts, metadata, applications (with tokens), users, and their roles, so that teams can share the configuration. The cluster template runs exactly once, on the first clean Axon Server start-up, if there is no previous cluster configuration defined. Therefore, the cluster template doesn’t override any existing configuration. Its purpose is to use them during active development, to be able to share the configuration across development teams. To use the cluster template feature, all you need to do is define a valid cluster template YAML file. If this file is present on a fresh Axon Server startup, it automatically picks it up and configures the cluster accordingly. Each cluster node needs to have the cluster template YAML file copy. Each node reads this file, finds its own configuration and configures itself. Default path from which Axon Server reads configuration is ./cluster-template.yml You can override this path anytime by setting Axon Server property: axoniq.axonserver.clustertemplate.path:/mypath/cluster-template.yml Below you can find an example of a basic cluster setup: the _admin and default contexts are in separate replication groups, replicated across all nodes. axoniq: axonserver: cluster-template: first: axonserver-enterprise-1 replicationGroups: - name: _admin roles: - node: axonserver-enterprise-1 role: PRIMARY - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY contexts: - name: _admin - name: default roles: - node: axonserver-enterprise-2 role: PRIMARY - node: axonserver-enterprise-3 role: PRIMARY - node: axonserver-enterprise-1 role: PRIMARY contexts: - name: default applications: [] users: [] Cluster overview after applying default configuration In order to avoid mistakes while writing a cluster configuration file, Axon Server provides an export button that generates a cluster template file based on current setup. Location of export button at Settings page Recommended mechanism - Creating an advanced cluster setup Start a fresh Axon Server setup (use basic cluster template setup mentioned above). Configure a cluster via the UI, by creating users, applications, replication groups and contexts. Use the export button located at \"Settings -> Configuration\" panel to download the current cluster configuration. Replace the basic cluster template with the newly exported cluster template configuration. Use export button from main - leader node. Leader node always contains complete cluster configuration, while it might happen that followers don’t.","title":"Cluster Templates","component":"axon-server-reference","version":"v2024.1","name":"cluster-template","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/cluster-template/","titles":[{"text":"Usage","hash":"_usage","id":1},{"text":"Configuration","hash":"_configuration","id":2},{"text":"Export","hash":"_export","id":3}]},"178":{"id":178,"text":"The Axon Server provides a command line utility which allows for updating the Axon Server configuration through scripts or from the command line interface.‌ The utility is available as a jar file (axonserver-cli.jar) which is available as part of the Axon Server distributable (SE/EE). The following table shows a quick summary of the various commands. Each command has a specific Format to it and may require access control on it for security purposes. Command name Description users Lists all users register-user Registers a user within an Axon Server delete-user Deletes a user within Axon Server metrics Lists all metrics for an Axon Server applications Lists all applications within an Axon Server register-application Registers an application with Axon Server delete-application Deletes a registered application cluster Lists all the details of a cluster within an Axon Server EE deployment init-cluster Initiates a cluster within an Axon Server EE deployment register-node Registers a node as a member within a cluster unregister-node Unregisters a member node within a cluster. You should only use this command if you want to permanently remove the node from the cluster. Use with caution. update-license Uploads a new license file to the cluster replication-groups Lists all details of registered replication groups within an Axon Server EE deployment add-node-to-replication-group Adds a node as a member of a replication group register-replication-group Creates a new replication group delete-node-from-replication-group Unregisters a member node of a replication group delete-replication-group Deletes a replication group contexts Lists all details of registered contexts within an Axon Server EE deployment register-context Creates a new context delete-context Deletes a context plugins Lists all details of installed plugins upload-plugin Upload a plugin package configure-plugin Configures a plugin for a context active-plugin Activates a plugin for a context pause-plugin Temporarily stops a plugin for a context unregister-plugin Unregisters a plugin for a context delete-plugin Deletes a plugin package purge-events Purges events from an Event Store The general format of any command line command is: java -jar axonserver-cli.jar -S -t Or when running from a bash-like shell: axonserver-cli.jar -S -t The option -S with the URL to the Axon Server is optional, it defaults to http://localhost:8024.The URL must point to any node serving the _admin context within an Axon Server cluster. The valid for all commands, are: -S, -s, -i, -o. Their effect is described in the table below. Option - Short Option - Long Description -S server Server to send command to (default http://localhost:8024) -s https Use HTTPS (SSL,TLS) to connect to the server, rather than HTTP. -i insecure-ssl Don’t check the certificate when connecting using HTTPS. -o output Output format (txt,json) For options specific to individual commands, see the descriptions of the commands below. When running Axon Server with access control enabled, executing commands remotely requires an access token. You need to provide this token with the -t option. When you run a command on the Axon Server node itself from the directory where you started Axon Server, you don’t have to provide a token.‌ To send command line requests from another node or from another directory, you need to register an application with ADMIN role. When you register an application, Axon Server generates a token, if you did not specify one. You need to supply this token using the *-t* option in any of the commands. This section describes all commands supported by the command line interface, grouped by the specific area.‌ For all command line commands there are 2 common (optional) parameters: *-S* refers to the server to send the command to and if not supplied connects by default to http://localhost:8024. The URL must point to any node serving the _admin context within an Axon Server cluster. *-t* refers to the access token to authenticate at the server. When using Axon Server with access control enabled, you need to define user to access the Axon Server Console’s Dashboard. Users with only READ role can view the information in the console dashboard but not make any changes, users with ADMIN role can make changes.‌ users Returns a list of all registered users and their roles. $ java -jar axonserver-cli.jar users [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-user Registers a user with specified roles. For Axon Server SE, the only two roles possible are READ/ADMIN while for Axon Server EE, the following roles can be granted ADMIN CONTEXT_ADMIN DISPATCH_COMMANDS DISPATCH_QUERY MONITOR PUBLISH_EVENTS READ_EVENTS SUBSCRIBE_COMMAND_HANDLER SUBSCRIBE_QUERY_HANDLER USE_CONTEXT VIEW_CONFIGURATION In addition to the role name you can also supply the context to which this role applies like {role_name}@{context_name}. For Axon Server SE, the only context available is the default context so the role will only apply to that context (hence not necessary to supply the context name). For Axon Server EE, the specific context can be included as required. Also if no context is mentioned in Axon Server EE, the role is granted to the user for all registered contexts. $ java -jar axonserver-cli.jar register-user -u -r [-p ] Mandatory parameters *-u* refers to the username. *-r* refers to the role of the user. Specify multiple roles by giving a comma separated list (without spaces), for example READ,ADMIN. *-p* refers to the password of the user. If you do not specify a password with the -p option, the command line interface will prompt you for one.‌ Optional parameters delete-user Deletes the specified user. $ java -jar axonserver-cli.jar delete-user -u Mandatory parameters *-u* refers to the username of the user that needs to be deleted. Optional parameters Overview of all Axon specific metrics.‌ $ java -jar axonserver-cli.jar metrics Optional parameters applications Lists all applications and the roles per application per context.‌ $ java -jar axonserver-cli.jar applications [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-application Registers an application with specified name and role. The following roles can be granted: ADMIN CONTEXT_ADMIN DISPATCH_COMMANDS DISPATCH_QUERY MONITOR PUBLISH_EVENTS READ_EVENTS SUBSCRIBE_COMMAND_HANDLER SUBSCRIBE_QUERY_HANDLER USE_CONTEXT VIEW_CONFIGURATION In addition to the role name you can also supply the context to which this role applies like {role_name}@{context_name}. Also if no context is mentioned in Axon Server EE, the role is granted to the application for all registered contexts. This command returns the generated token to use. Note that this token is only generated once, if you lose it you must delete the application and register it again to get a new token. If you want to define the token yourself, you can provide one in the command line command using the -T flag, for example: $ java -jar axonserver-cli.jar register-application -a -r [-d ] [-T ] Mandatory parameters *-a* refers to the name of the application *-r* refers to the role of the application. Specify multiple roles by giving a comma separated list (without spaces), for example READ,ADMIN. Optional parameters *-d* refers to the description of the application. *-T* in case you want to define the token yourself for newly registered application. delete-application Deletes the application from Axon Server EE $ java -jar axonserver-cli.jar delete-application -a Mandatory parameters *-a* refers to the name of the application Optional parameters cluster Shows all the nodes in the cluster, including their hostnames, HTTP ports and gRPC ports.‌ $ java -jar axonserver-cli.jar cluster [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text init-cluster Initializes the cluster, creates the _admin context and the specified context. $ java -jar axonserver-cli.jar init-cluster [-c ] Optional parameters *-c* refers to the context that needs to be created along with the _admin context. If the caller does not specify a context Axon Server creates a context called default. register-node Registers an Axon Server node with a cluster. $ java -jar axonserver-cli.jar register-node -h [-p ] [-c ] [--no-contexts] If you specify a context, the new node will be a member of the specified context. If you haven’t specified a context, the new node will become a member of all defined contexts.‌ Mandatory parameters *-h* refers to the internal host name of the node that needs to be added to the cluster. Optional parameters *-p* refers to the internal gRPC port of the node that needs to be added to the cluster. By default, it’s 8224. *-c* refers to the context which this axon server node will be a member of. If no context is specified, the new node will become a member of all defined contexts. *–no-contexts* will add the node to the cluster but will not register it to any of the defined contexts. unregister-node Removes the node with specified name from the cluster. After this, the deleted node still runs in standalone mode.‌ $ java -jar axonserver-cli.jar unregister-node -n Mandatory parameters *-n* refers to the name of the node that needs to be removed from the cluster. Optional parameters update-license Uploads a new license file to the cluster. Axon Server distributes the new license file to all nodes in the cluster. $ java -jar axonserver-cli.jar update-license -f Mandatory parameters *-f* refers to the file containing the license to update. Optional parameters replication-groups Lists all replication groups and the nodes assigned to the replication groups. For each replication groups it shows the name of the replication group, the master node for the replication group and the member nodes of the replication group.‌ $ java -jar axonserver-cli.jar replication-groups [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-replication-group The register-replication-group command helps in the registration and creation of a new replication group. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar register-replication-group -g -n [-a ] [-m ] [-p ] [-s ] Mandatory parameters *-g* refers to the replication group name. The replication group name must match the following regular expression \"[a-zA-Z][a-zA-Z_-0-9]*\", so it should start with a letter (uppercase or lowercase), followed by a combination of letters, digits, hyphens and underscores. *-n* refers to the comma separated list of node names that should be members of the new replication group. This parameter registers them as \"PRIMARY\" member nodes of that context. Optional parameters *-a* refers to the comma separated list of node names that should be \"ACTIVE_BACKUP\" member nodes of that replication group. *-m* refers to the comma separated list of node names that should be \"MESSAGING_ONLY\" member nodes of that replication group. *-p* refers to the comma separated list of node names that should be \"PASSIVE_BACKUP\" member nodes of that replication group. *-p* refers to the comma separated list of node names that should be \"SECONDARY\" member nodes of that replication group. delete-replication-group The delete-replication-group command helps in the deletion of a replication group and its associated data from all member nodes of that replication group. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar delete-replication-group -g [replication-group-name] [--preserve-event-store] Mandatory parameters *-g* refers to the replication group that needs to be deleted. Optional parameters –preserve-event-store option to keep all the event store data for all the nodes in the replication group (false by default) add-node-to-replication-group The add-node-to-replication-group command helps in the registration of a new member node creation of an existing replication group. $ java -jar ./axonserver-cli.jar add-node-to-replication-group -g -n -r Mandatory parameters *-g* refers to an existing replication group. *-n* refers to the node name that should be a member of this replication group. *-r* refers to the role of this node within the replication group (PRIMARY/MESSAGING_ONLY/ACTIVE_BACKUP/PASSIVE_BACKUP/SECONDARY). Optional parameters delete-node-from-replication-group The delete-node-from-replication-group command helps in the deletion member node from an existing replication group. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar delete-node-from-replication-group -g -n [--preserve-event-store] Mandatory parameters *-g* refers to an existing replication group. *-n* refers to the node name that should no longer be a member of this context. Optional parameters *–preserve-event-store* removes the node from the replication group but leaves the event store files on that node. contexts Lists all contexts and the nodes assigned to the contexts. For each context it shows the name of the context, the master node for the context and the member nodes of the context.‌ $ java -jar axonserver-cli.jar contexts [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text register-context The register-context command helps in the registration and creation of a new context. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar register-context -c -g [-n ]‌ [-a ] [-m ] [-p ] If you don’t provide an existing replication group name, you need to provide the names and roles of the nodes to include in the replication group to create. If you don’t provide a replication group name, but do provide nodes, it will create a replication group with the same name as the context. Mandatory parameters *-c* refers to the context name. The context name must match the following regular expression \"[a-zA-Z][a-zA-Z_-0-9]*\", so it should start with a letter (uppercase or lowercase), followed by a combination of letters, digits, hyphens and underscores. Optional parameters *-g* refers to the name of the replication group *-n* refers to the comma separated list of node names that should be members of the new context. This parameter registers them as \"PRIMARY\" member nodes of that context. *-a* refers to the comma separated list of node names that should be \"ACTIVE_BACKUP\" member nodes of that context. *-m* refers to the comma separated list of node names that should be \"MESSAGING_ONLY\" member nodes of that context. *-p* refers to the comma separated list of node names that should be \"PASSIVE_BACKUP\" member nodes of that context. *-s* refers to the comma separated list of node names that should be \"SECONDARY\" member nodes of that context. delete-context The delete-context command helps in the deletion of a context and its associated data from all member nodes of that context. A sample of the command with the mandatory parameters is depicted below: $ java -jar ./axonserver-cli.jar delete-context -c -S http://: Mandatory parameters *-c* refers to the context that needs to be deleted. Optional parameters –preserve-event-store option to keep the event store data (false by default). plugins Lists all the installed plugins and their status per context. $ java -jar ./axonserver-cli.jar plugins [-o json] Optional parameters *-o* produces output in JSON format instead of formatted text upload-plugin Uploads a new plugin package to Axon Server. In Enterprise Edition this command needs to be targetted to an _admin node. $ java -jar ./axonserver-cli.jar upload-plugin -f Mandatory parameters *-f* refers to the jar file containing the OSGi bundle for the plugin Optional parameters configure-plugin Configures a plugin for a specific context. $ java -jar ./axonserver-cli.jar configure-plugin -p -v -c [ --prop | -f -v -c Mandatory parameters *-p* refers to the name of the plugin *-v* refers to the version of the plugin *-c* refers to the context for which to activate the plugin Optional parameters pause-plugin Pauses an plugin for a specific context. $ java -jar ./axonserver-cli.jar pause-plugin -p -v -c Mandatory parameters *-p* refers to the name of the plugin *-v* refers to the version of the plugin *-c* refers to the context for which to pause the plugin Optional parameters unregister-plugin Removes a plugin for a specific context. $ java -jar ./axonserver-cli.jar unregister-plugin -p -v -c Mandatory parameters *-p* refers to the name of the plugin *-v* refers to the version of the plugin *-c* refers to the context for which to unregister the plugin Optional parameters *delete-plugin* Removes an plugin from all Axon Server nodes and for all contexts. $ java -jar ./axonserver-cli.jar delete-plugin -p -v Mandatory parameters *-p* refers to the name of the v *-v* refers to the version of the plugin Optional parameters","title":"Command Line Interface","component":"axon-server-reference","version":"v2024.1","name":"command-line-interface","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/command-line-interface/","titles":[{"text":"Quick summary","hash":"_quick_summary","id":1},{"text":"Format","hash":"format","id":2},{"text":"Access control","hash":"_access_control","id":3},{"text":"Commands","hash":"_commands","id":4},{"text":"Users","hash":"users","id":5},{"text":"Metrics","hash":"metrics","id":6},{"text":"Applications","hash":"application-enterprise-edition-only","id":7},{"text":"Cluster","hash":"cluster-enterprise-edition-only","id":8},{"text":"Replication groups","hash":"replication-groups-enterprise-edition-only","id":9},{"text":"Contexts","hash":"context-enterprise-edition-only","id":10},{"text":"Plugins","hash":"plugins","id":11}]},"179":{"id":179,"text":"The system configuration can be maintained/supplied in three ways. Configuration File Command Line Environment Variables The most commonly and preferred way is to have an axonserver.properties or axonserver.yml file which contains the desired configuration parameters. The location of the file should be the current working directory or alternatively can be placed within a \"config\" subdirectory (relative to the current working directory). An important note - In case both files are detected by Axon Server, it will read from both. In case the server is being started using “java –jar …”, you can also supply individual configuration properties with “-Dproperty=value” Configuration values can also be supplied using environment variables. The parameter name should be all in upper case with any kebab-case(-) / camelCase and snake_case() substituted with _\"\"_ There are some recommendations around Axon Server EE/SE configuration, Use “./axonserver.properties” for common settings. Use “./config/axonserver.properties” for environment/node-specific overrides. Use “-D” or environment variables for one-time settings. A list of all the configuration properties by area is denoted below. Unless explicitly specified all property names are to be prefixed with \"axoniq.axonserver\" Area Property Name Description Default Value Node setup name Unique node name of the Axon Server node. Hostname of the server hostname Hostname of the Axon Server node as communicated to clients. Hostname of the server internal-hostname Hostname as communicated to other nodes of the cluster. Hostname of the server domain Domain of this node as communicated to clients. Optional, if set will be appended to the hostname in communication with clients. None internal-domain Domain as communicated to other nodes of the cluster. \"domain\" value port gRPC port for the Axon Server node. 8124 server.port (no prefix) HTTP port for the Axon Server console. 8024 internal-port 8224 tags Key/value pairs of tags for tag based connections for clients. None devmode.enabled (Axon SE only) false set-web-socket-allowed-origins Set WebSocket CORS Allowed Origins. false web-socket-allowed-origins List of WebSocket CORS Allowed Origins. File Locations event.storage Path where (regular) events are stored as segmented files on disk. ./data directory snapshot.storage Path where Snapshot Events are stored as segmented files on disk. ./data directory controldb-path Path where Axon Server’s control database (axonserver-controldb) is created. ./data directory controldb-backup-location Location where the control DB backups are created. . pid-file-location Location where AxonServer creates its pid file. . replication.log-storage-folder Directory where the transaction logs for replication are stored. ./log directory accesscontrol.token-dir Directory where token is stored on startup. ./security directory enterprise.license-directory Directory where the license file can be found. . File Names event.bloom-index-suffix File suffix for bloom files .bloom event.events-suffix File suffix for events files. .events event.index-suffix File suffix for index files .index event.new-index-suffix File suffix for new index files .nindex event.global-index-suffix File suffix for global index files .xref snapshot.bloom-index-suffix File suffix for snapshot bloom files .sbloom snapshot.events-suffix File suffix for snapshot files .snapshots snapshot.index-suffix File suffix for index files for snapshots .sindex replication.index-suffix File suffix for index files for transaction logs .index replication.log-suffix File suffix for transaction log files .log Event Store event.bloom-index-fpp False-positive percentage allowed for bloom index. Decreasing the value increases the size of the bloom indexes. 0.03 event.force-interval Interval to force syncing files to disk (ms). 1000 event.primary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for writable segments. 15 event.secondary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for read-only segments. 15 event.segment-size Size for new storage segments. 256Mb event.sync-interval Interval (ms) to check if there are files that are complete and can be closed. 1000 event.validation-segments Number of segments to validate to on startup after unclean shutdown. 10 event.memory-mapped-segments Number of recent segments that Axon Server keeps memory mapped. 5 event.events-per-segment-prefetch Number of events to prefetch from disk when streaming events to the client. 50 snapshot.bloom-index-fpp False-positive percentage allowed for bloom index for snapshots. Decreasing the value increases the size of the bloom indexes. 0.03 snapshot.force-interval Interval to force syncing files to disk (ms). 1000 snapshot.primary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for writable segments. 15 snapshot.secondary-cleanup-delay Delay to clear ByteBuffers from off-heap memory for read-only segments. 15 snapshot.segment-size Size for new storage segments. 256Mb snapshot.sync-interval Interval (ms) to check if there are files that are complete and can be closed. 1000 snapshot.validation-segments Number of snapshot segments to validate to on startup after unclean shutdown. 10 snapshot.memory-mapped-segments Number of recent segments that Axon Server keeps memory mapped. 5 query.limit 200 new-permits-timeout Timeout for event trackers while waiting for new permits. 120000 blacklisted-send-after Force sending an event on an event tracker after this number of blacklisted events. Ensures that the token in the client application is updated. 1000 max-events-per-transaction Maximum number of events that can be sent in a single transaction. 32767 enterprise.default-index-type (Since 4.4.7, EE only) Sets the default index type to be used for new contexts. Values are JUMP_SKIP_INDEX and BLOOM_FILTER_INDEX. JUMP_SKIP_INDEX read-sequence-validation-strategy (Since 4.4.14) Sets how to handle validation errors while reading aggregates from the event store. Values are LOG and FAIL. LOG event.use-mmap-index By default, AxonServer will determine whether to use memory mapped indexes for event files in the event store based on operating system and java version, in rare cases it may be useful to override the default event.force-clean-mmap-index Option to forcefully close unused memory mapped files instead of leaving the garbage collector do this, by default, AxonServer will determine this based on operating system and java version, in rare cases it may be useful to override the default event.aggregate.prefetch Ensures that backpressure signals from clients are split into batches. The initial request amount is {prefetch}*5, and subsequent (or replenishing) request amount is {prefetch} 5 event.aggregate.retry.attempts Number of retries for reading event aggregate stream. 3 event.aggregate.retry.delay Delay (ms) between retries for reading event aggregate stream. 100 event.leader.retry.attempts Number of retries for finding an event store. 3 event.leader.retry.delay Delay (ms) between retries for finding an event store. 100 event-processor-permits-check Delay (ms) between checking if tracking event processors are waiting for new permits for a long time. 2000 check-sequence-nr-for-snapshots Whether to check for invalid sequence numbers on appending a snapshot. true Logging logging.level.package_name (no prefix) Change the logging level for specific packages or classes. (for example logging.level.io.axoniq.axonserver = INFO) WARN level for all packages logging.file.name (no prefix) File name where log entries should be written to. Names can be an exact location or relative to the current directory. (for example logging.file.name = messaging.log) stdout logging.path (no prefix) Location where log files should be created. Names can be an exact location or relative to the current directory. (for example logging.path = /var/log) Cluster setup autocluster.first For auto cluster option, set to the internal host name for the first node in the cluster. None autocluster.contexts For auto cluster option, defines the list of contexts to connect to or create. None SSL (Axon Server - HTTP Port) security.require-ssl (No prefix) Determines whether the server has ssl enabled on the HTTP port. false server.ssl.key-store-type (No prefix) Keystore type. (should be PKCS12) None server.ssl.key-store (No prefix) Location of the keystore. None server.ssl.key-store-password (No prefix) Password to access the keystore. None server.ssl.key-alias (No prefix) Alias to be used to access the keystore. None SSL (Axon Server - gRPC Port) ssl.enabled Determines whether the server has ssl enabled on the gRPC port. false ssl.cert-chain-file Location of the public certificate file. None ssl.private-key-file Location of the private key file. None ssl.internal-cert-chain-file None ssl.internal-trust-manager-file None ssl.internal-private-key-file None Access Control accesscontrol.enabled Indicates that access control is enabled for the server. false accesscontrol.cache-ttl Timeout for authenticated tokens. 300000 accesscontrol.internal-token accesscontrol.token accesscontrol.admin-token accesscontrol.systemtokenfile File containing a predefined system token. Messaging (Between Clients and Axon Server) max-message-size Maximum size of a message to be sent to the node. 4 MB initial-nr-of-permits Number of messages that the server can initially send to a client. 1000 nr-of-new-permits Additional number of messages that the server can send to a client. 500 new-permits-threshold When a client reaches this threshold in remaining messages, it sends a request with additional number of messages to receive. 500 force-connection-to-primary-or-messaging-node Whether to force applications to connect to Primary nodes or Messaging Only nodes. When false, all nodes for a context are eligible to accept client connections. false instruction.result.timeout Timeout in seconds for instruction results received via client server communication 10 Messaging (Between nodes of an Axon Server Cluster) command-flow-control.initial-nr-of-permits Number of command messages that the master can initially send to a replica. 10000 command-flow-control.nr-of-new-permits Additional number of command messages that the master can send to replica. 5000 command-flow-control.new-permits-threshold When a replica reaches this threshold in remaining command messages, it sends a request with this additional number of command messages to receive. 5000 query-flow-control.initial-nr-of-permits Number of query messages that the master can initially send to a replica. 10000 query-flow-control.nr-of-new-permits Additional number of query messages that the master can send to replica. 5000 query-flow-control.new-permits-threshold When a replica reaches this threshold in remaining query messages, it sends a request with this additional number of query messages to receive. 5000 Replication replication.flow-buffer Number of unconfirmed append entry messages that may be sent to peer. 1000 replication.force-interval Interval to force writes to disk. 1000 replication.force-snapshot-on-join Option to force new members to first receive a snapshot when they join a cluster. true replication.heartbeat-timeout Leader sends a heartbeat to followers if it has not sent any other messages to a follower for this time (in ms) 300 replication.initial-election-timeout Extra time (in ms) that follower waits initially before moving to candidate state. 0 replication.log-compaction-enabled Deletes old log files when all the entries in the file are applied for more than log-retention-hours hour. true replication.log-retention-hours Time to keep log files after all entries have been applied. 1 replication.max-election-timeout Maximal time (in ms.) that a follower waits before moving to candidate state, if it has not received any messages from a leader. Also, time that leader waits before stepping down if it has not heard from the majority of its followers. 2500 replication.max-entries-per-batch Maximum number of append entry messages sent to one peer before moving to the next. 10 replication.max-indexes-in-memory Number of index files for replication segments that Axon Server keeps in memory 10 storage.event.max-indexes-in-memory Number of index files for event segments that Axon Server keeps in memory 50 snapshot.max-indexes-in-memory Number of index files for snapshot segments that Axon Server keeps in memory 50 replication.max-replication-round The number of attempts the log replication process will do during the replication a snapshot until the follower is caught up. 10 replication.max-snapshot-chunks-per-batch Maximum number of objects that can be sent in a single install snapshot message 1000 replication.min-active-backups When active backup nodes are added to a context, this indicates on how many active backup nodes transactions must be confirmed before the transaction is ready for commit. 1 replication.min-election-timeout Minimal time (in ms.) that a follower waits before moving to candidate state, if it has not received any messages from a leader. 1000 replication.primary-cleanup-delay Windows only. Delay before forcing the primary segment file from memory when no longer in use. 5 replication.secondary-cleanup-delay Windows only. Delay before forcing the other segment files from memory when no longer in use. 30 replication.segment-size Size of a transaction log file. 16 MB replication.snapshot-flow-buffer Number of unconfirmed install snapshot messages that may be sent to peer. 50 replication.sync-interval Interval to check for files that can be closed. 1000 replication.wait-for-leader-timeout Timeout (in ms.) to wait for leader when requesting access to event store while leader change in progress, if not set defaults to maxElectionTimeout. -1 replication.use-mmap-index By default, AxonServer will determine whether to use memory mapped indexes for replication logs based on operating system and java version, in rare cases it may be useful to override the default replication.force-clean-mmap-index Option to forcefully close unused memory mapped files instead of leaving the garbage collector do this, by default, AxonServer will determine this based on operating system and java version, in rare cases it may be useful to override the default context-validation.rate Rate of checks to verify that for each context, the corresponding replication group is ready for handling client requests. 5000 context-validation.initial-delay Initial delay of checks to verify that for each context, the corresponding replication group is ready for handling client requests. 5000 Keep Alive keep-alive-time Interval at which AxonServer will send timeout messages. Set to 0 to disable gRPC timeout checks. 2500 keep-alive-timeout Timeout (in ms.) for keep alive messages on gRPC connections. 5000 min-keep-alive-time Minimum keep alive interval (in ms.) accepted by this end of the gRPC connection. 1000 client-heartbeat-timeout Timeout (in ms.) on application level heartbeat between client and Axon Server. 5000 client-heartbeat-check-initial-delay Initial time delay (in ms.) before Axon Server checks for heartbeats from clients. 10000 client-heartbeat-check-rate How often (in ms.) does Axon Server check for heartbeats from clients. 1000 heartbeat.enabled If this is set Axon Server will respond to heartbeats from clients and send heartbeat false client-heartbeat-frequency Frequency (ms) for sending heartbeats 500 client-heartbeat-initial-delay Initial delay (ms) for sending heartbeats 5000 Maintenance Tasks cluster.connection-check-delay Delay before the first run of the connection checker (in ms.) 1000 cluster.connection-check-interval Interval between each run of the connection checker (in ms.) 1000 cluster.connection-wait-time Timeout for connection request (in ms.) 3000 cluster.metrics-distribute-delay Delay before the first run of the metrics distributor (in ms.) 1000 cluster.metrics-distribute-interval Interval between each run of the metrics distributor (in ms.) 1000 cluster.rebalance-delay Delay before the first run of the rebalancer (in seconds) 7 cluster.rebalance-interval Interval between each run of the rebalancer (in seconds) 15 cluster.auto-balancing Automatic rebalancing of client connections enabled. true cluster.balancing-rate Rate at which rebalancing is attempted. 15000 cache-close-rate Interval (in ms.) at which to check for timed out queries and commands. 5000 processor-info-timeout Time in ms after which collected event processor info expires. 30000 enterprise.context-configuration-sync-rate Rate of updating the status of pending configuration changes in raft group members 3600000 Performance event.max-bloom-filters-in-memory Maximum number of bloom filters to keep in memory 100 event.max-indexes-in-memory Maximum number of indexes to keep open in memory 50 event.read-buffer-size Size of the buffer when reading from non-memory mapped files. (SE only) 32KB snapshot.max-bloom-filters-in-memory Maximum number of bloom filters to keep in memory 100 snapshot.max-indexes-in-memory Maximum number of indexes to keep open in memory 50 snapshot.read-buffer-size Size of the buffer when reading from non-memory mapped files. (SE only) 32KB snapshot.use-mmap-index By default, AxonServer will determine whether to use memory mapped indexes for snapshot files in the event store based on operating system and java version, in rare cases it may be useful to override the default snapshot.force-clean-mmap-index Option to forcefully close unused memory mapped files instead of leaving the garbage collector do this, by default, AxonServer will determine this based on operating system and java version, in rare cases it may be useful to override the default executor-thread-count Number of threads for executing incoming gRPC requests 16 command-thread Threads per client responsible for sending commands to the client. 1 query-thread Threads per client responsible for sending queries to the client. 1 cluster-executor-thread-count Number of threads for executing incoming gRPC requests for internal communication 16 cluster.query-threads Threads per connected Axon Server node responsible for forwarding queries to that node. 1 cluster.command-threads Threads per connected Axon Server node responsible for forwarding commands to that node. 1 grpc-buffered-messages The initial flow control setting for gRPC level messages. This is the number of messages that may be en-route before the sender stops emitting messages. This setting is per-request and only affects streaming requests or responses. Application-level flow control settings and buffer restriction settings are still in effect. 500 default-command-timeout Timeout (in ms.) for commands sent to command handler 300000 default-query-timeout Timeout (in ms.) for queries sent to query handler 300000 query.timeout Timeout for ad-hoc queries 300000 websocket-update.rate Settings to influence how often Axon Server (in ms.) sends updates to the dashboard for updated metrics or tracking event processor status. 1000 websocket-update.initial-delay On start, it will wait \"initial-delay\" (in ms.) before sending any updates. After that it will check every \"rate\" milliseconds. 10000 command-cache-capacity Limits the total number of pending commands on an Axon Server node. If it is set to 0, the limit is determined dynamically based on the maximum memory available to the JVM. 0 query-cache-capacity Limits the total number of pending queries on an Axon Server node. If it is set to 0, the limit is determined dynamically based on the maximum memory available to the JVM. 0 messages.context-buffer-limit (Since 4.4.8) Limits the total number of pending commands or queries per context on an Axon Server node. If less than 0, there is no limit. -1 query-handler-selector (Since 4.4.10) Determines how Axon Server distributes queries over instances of the same application. By default, it will favor instances that give a faster response. Set to \"round-robin\" to distribute in a round robin way. metrics metrics-query-handler-selector.min-requests (Since 4.4.10) Used in conjunction with the query-handler-selector set to \"metric\". Determines the minimum number of queries to be set to each instance of an application, before the router will distribute based on the metrics. 20 command-queue-capacity-per-client Number of command requests for a specific command handling client that Axon Server will cache waiting for permits. 10000 query-queue-capacity-per-client Number of query requests for a specific query handling client that Axon Server will cache waiting for permits. 10000 data-fetcher-threads Number of threads that are allocated for doing longer running operations on the event store 24 data-writer-threads Number of threads that are allocated for writing events to storage. 8 query-threads Number of threads that are allocated for processing of external queries. Not to be confused with cluster.query-threads. 1 Recovery recoveryfile Start up with a recovery file to update node names in the controldb. recovery.json Plugins plugins-enabled enabled true plugin-package-directory Directory where Axon Server stores the installed plugins. This directory must be writeable and persistent. plugins/bundles plugin-cache-directory Cache directory fot the OSGi container. This directory must be writeable. plugins/cache plugin-clean-policy Specifies if the OSGi container should clean up its cache directory on restart of the Axon Server node. Possible values are \"none\" and \"onFirstInit\". onFirstInit spring.servlet.multipart.max-file-size (no prefix) Specifies the maximum size permitted for uploaded files. 10 MB spring.servlet.multipart.max-request-size (no prefix) Specifies the maximum size allowed for multipart/form-data requests. 10 MB","title":"System Properties","component":"axon-server-reference","version":"v2024.1","name":"configuration","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/configuration/","titles":[{"text":"Configuration file","hash":"configuration-file","id":1},{"text":"Command-line","hash":"command-line","id":2},{"text":"Environment variables","hash":"environment-variables","id":3},{"text":"Recommendations","hash":"_recommendations","id":4},{"text":"Configuration properties","hash":"_configuration_properties","id":5}]},"180":{"id":180,"text":"Service name: EventProcessorAdminService Operation Purpose Method List all even processor Provide a list of all event processors defined by the connected applications. rpc GetAllEventProcessors(google.protobuf.Empty) returns (stream EventProcessor) List event processors by component Provide a list of all event processors defined by the specified component. rpc GetEventProcessorsByComponent(Component) returns (stream EventProcessor) Start event processor Start a distributed event processor, propagating the start request to all EP instances connected to AS * rpc StartEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) Pause event processor Pause a distributed event processor, propagating the pause request to all EP instances connected to AS * rpc PauseEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) Split event processor segment Split the largest known segment of the distributed event processor into two segments. rpc SplitEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) Merge event processor segments Merge the smallest known two segments of the distributed event processor into one. ** rpc MergeEventProcessor(EventProcessorIdentifier) returns (AdminActionResult) List load balance strategies Provide a list of all load balancing strategies. rpc GetBalancingStrategies(google.protobuf.Empty) returns (stream LoadBalancingStrategy) Load balance event processor Balance the load across several instances of an event processor, accordingly to the selected strategy. rpc LoadBalanceProcessor(LoadBalanceRequest) returns (stream google.protobuf.Empty) Set auto load balance strategy Define the load balancing strategy to use for automatic load balancing. rpc SetAutoLoadBalanceStrategy(LoadBalanceRequest) returns (stream google.protobuf.Empty) Clients need to be already running and connected to AS before the operation is executed. It may not work if the two smallest segments are not claimed by applications connected to AS. Service name: ContextAdminService Operation Purpose Method Context details Provide all details about a context. rpc GetContext(GetContextRequest) returns (ContextOverview) List contexts Provide a stream of all contexts with details. rpc GetContexts(google.protobuf.Empty) returns (stream ContextOverview) Create context Create a new context. rpc CreateContext(CreateContextRequest) returns (stream google.protobuf.Empty) Delete context Delete an existing context. rpc DeleteContext(DeleteContextRequest) returns (stream google.protobuf.Empty) Update context properties Update specified properties of a context. rpc UpdateContextProperties(UpdateContextPropertiesRequest) returns (stream google.protobuf.Empty) Subscribe to contexts' updates Provide a stream of all changes in cluster configuration related to context (creations, deletions, updates). rpc SubscribeContextUpdates(google.protobuf.Empty) returns (stream ContextUpdate) Service name: ReplicationGroupAdminService Operation Purpose Method Replication group details Provide all details about a replication group. rpc GetReplicationGroup(GetReplicationGroupRequest) returns (ReplicationGroupOverview) List replication groups Provide a stream of all replication groups with details. rpc GetReplicationGroups(google.protobuf.Empty) returns (stream ReplicationGroupOverview) List nodes Provide a stream of all nodes in the cluster with details. rpc GetNodes (google.protobuf.Empty) returns (stream NodeOverview) Create replication group Create a new replication group. rpc CreateReplicationGroup(CreateReplicationGroupRequest) returns (stream google.protobuf.Empty) Delete replication group Delete an existing replication group. rpc DeleteReplicationGroup(DeleteReplicationGroupRequest) returns (stream google.protobuf.Empty) Add node Add a node to a replication group with the specified role. rpc AddNodeToReplicationGroup(JoinReplicationGroup) returns (stream google.protobuf.Empty) Remove node Remove a node from a replication group. rpc RemoveNodeFromReplicationGroup(LeaveReplicationGroup) returns (stream google.protobuf.Empty) Service name: ApplicationAdminService Operation Purpose Method Application details Provide all details about an application. rpc GetApplication(ApplicationId) returns (ApplicationOverview) List applications Provide a stream of all applications with details. rpc GetApplications(google.protobuf.Empty) returns (stream ApplicationOverview) Create/update application Create or update an application. rpc CreateOrUpdateApplication(ApplicationRequest) returns (Token) Delete application Delete an existing application. rpc DeleteApplication(ApplicationId) returns (stream google.protobuf.Empty) Refresh token Regenerate the token for the specified application. rpc RefreshToken(ApplicationId) returns (Token) Service name: UserAdminService Operation Purpose Method List users Provide a stream of all users with details. rpc GetUsers(google.protobuf.Empty) returns (stream UserOverview) Create/update user Create or update a user. rpc CreateOrUpdateUser(CreateOrUpdateUserRequest) returns (stream google.protobuf.Empty) Delete user Delete an existing user. rpc DeleteUser(DeleteUserRequest) returns (stream google.protobuf.Empty)","title":"gRPC API","component":"axon-server-reference","version":"v2024.1","name":"grpc-api","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/grpc-api/","titles":[{"text":"Event processor administration","hash":"_event_processor_administration","id":1},{"text":"Context administration","hash":"_context_administration","id":2},{"text":"Replication group administration","hash":"_replication_group_administration","id":3},{"text":"Applications administration","hash":"_applications_administration","id":4},{"text":"Users administration","hash":"_users_administration","id":5}]},"181":{"id":181,"text":"There are various options that AxonServer provides to maintain its configuration. The summary below mentions these options and the configurations that they can perform. Option Area System Properties System Configuration → Node setup (for example Ports / Hostnames) / File Locations (for example Event storage) / Event Store / Security (for example SSL) / Cluster setup / Logging / Message Flows / Replication / Performance / Recovery Command Line Interface Access control configuration → Users / Applications Cluster configuration → Replication groups/Contexts REST API Access control configuration → Users / Applications Cluster configuration → Replication groups/Contexts gRPC API Access control configuration → Users / Applications Cluster configuration → Replication groups/Contexts Cluster template Managing cluster configuration as code","title":"Configuration","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/","titles":[]},"182":{"id":182,"text":"Axon Server also allows for updating its configuration through a REST API. A list of the resources is provided below. Resource Purpose URL applications Maintenance of applications /v1/applications users Maintenance of users /v1/users context Maintenance of contexts /v1/context cluster Maintenance of clusters /v1/cluster The complete API documentation is available at {AXON_SERVER_URL}/swagger-ui/index.html.","title":"REST API","component":"axon-server-reference","version":"v2024.1","name":"rest-api","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/rest-api/","titles":[]},"183":{"id":183,"text":"The logging section of the reference guide addresses the configuration, operational, and maintenance aspects of Axon Server Logging. Topic Purpose Logging format Configuration of logging format","title":"Logging","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/","titles":[]},"184":{"id":184,"text":"Axon Server logging is based on Spring logging. For this reason you can customize logging configuration simply by using system properties. If you want to have your logs in JSON format, you can customize the Logback configuration. The property that needs to be configured is logging.config with a path to your custom logback.xml. An example how to configure this property would be logging.config=logback.xml In case you have not already configured logback.xml for Axon Server, a good starting point for JSON logging format is this example The XML tag is the one that configures the format of the output. yyyy-MM-dd'T'HH:mm:ss.SSSX Etc/UTC true false","title":"Logging Format","component":"axon-server-reference","version":"v2024.1","name":"logging-format","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/logging-format/","titles":[{"text":"JSON format","hash":"_json_format","id":1}]},"185":{"id":185,"text":"For monitoring, AxonServer includes Spring Boot Actuator endpoints which are available under the /actuator URL path of the AxonServer. For Axon Server SE, the URL for the Axon Server SE will be the single running node, while for Axon Server EE the URL should be pointing to any node serving the _admin context within an Axon Server EE cluster. The `/actuator`URL path returns a list of all available actuators. A list of the endpoints is given below. /actuator/health endpoint is used to check the health of Axon Server itself, and (in the case of Axon Server EE) the health of the cluster. The HTTP status return code *is not 200* when cluster health is anything other than \"UP\". /actuator/info endpoint informs you about some basic attributes of an AxonServer (name, description, version). This is more useful for liveness/readiness probes. /actuator/metrics endpoint publishes information about OS, JVM as well as application level metrics /actuator/loggers endpoint exposes detailed view of the loggers configuration /actuator/prometheus endpoint exposes metrics data in a format that can be scraped by a Prometheus server (Monitoring system & time series database) /actuator/env endpoint exposes the current environment properties The /actuator/health endpoint provides information on various components of Axon Server: cluster, shows the status of the connection between the current Axon Server node and other nodes in the cluster. This section also shows information on the flow control between Axon Server nodes. If the value for commands.waiting or queries.waiting is not zero for a longer period of time, it means that the connected Axon Server node cannot process the commands or queries fast enough. If there are waiting commands or queries, or the connection with one of the other nodes is down, this component will show status WARN. If the connections to all other nodes is down, the status of the cluster component is DOWN. command, shows the status of command handling applications connected to the current Axon Server node. For each connected application it shows the number of commands waiting to be sent to the command handler. If this value is higher than zero, it means that commands are being sent faster than the command handler can handle them. db, shows the status of the control DB * diskSpace, shows the diskspace in use and available for each storage location (this includes the locations where events and snapshots are stored, and the location of the replication logs). if the available space in any of these locations is below the threshold, the health for the diskSpace component will be WARN. license, shows the status of the license. If the license is in the grace period, this component gets status WARN, if license is expired the status becomes DOWN. localEventStore, shows the status of the local replica for each context available on the current node. ping, always shows UP * query, shows the status of query handling applications connected to the current Axon Server node. For each connected application it shows the number of queries waiting to be sent to the query handler. If this value is higher than zero, it means that queries are being sent faster than the query handler can handle them. raft, shows the status of the replication process per replication group. It shows the leader of the replication group. For the leader it shows the status of the followers, checking if the follower has recently confirmed messages and if the follower is not too far behind. If there is a problem with the replication on one of the replication groups the health for this component is WARN. If there are issues for all replication groups the status is DOWN. The overall health status is derived from the status of the components. If one of the components is WARN, the overall status is WARN. If one of the components is DOWN, it is DOWN. The default setting for the health endpoint in Axon Server is to show the details, even when the user is not authenticated. To hide the details for non-authenticated users add this property to the axonserver.properties file: management.endpoint.health.show-details=when-authorized","title":"Actuator Endpoints","component":"axon-server-reference","version":"v2024.1","name":"actuator-endpoints","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/actuator-endpoints/","titles":[{"text":"Health endpoint","hash":"_health_endpoint","id":1}]},"186":{"id":186,"text":"Axon Server provides metrics to inspect the state of the process. A full list of all the active metrics is available under the /actuator/metrics endpoint. The next sections give an overview of the metrics related to client request handling. Metric name Description axon.commands.throughput.count number of commands processed since the start of the server axon.commands.throughput.rate.oneMinuteRate average number of commands per second processed in the last minute axon.commands.throughput.rate.fiveMinuteRate average number of commands per second processed in the five minutes axon.commands.throughput.rate.fifteenMinuteRate average number of commands per second processed in the fifteen minutes axon.commands.duration Duration of commands, from received by Axon Server until response sent to requester axon.commands.duration.handling Duration of commands, from sent to handler until response received from handler axon.commands.error.count Number of errors axon.commands.saturation.queued.count Number of commands queued in Axon Server axon.commands.saturation.active.count Number of in-flight commands Metric name Description axon.queries.throughput.count number of queries processed since the start of the server axon.queries.throughput.rate.oneMinuteRate average number of queries per second processed in the last minute axon.queries.throughput.rate.fiveMinuteRate average number of queries per second processed in the five minutes axon.queries.throughput.rate.fifteenMinuteRate average number of queries per second processed in the fifteen minutes axon.queries.duration Duration of queries, from received by Axon Server until response sent to requester axon.queries.duration.handling Duration of queries, from sent to handler until response received from handler axon.queries.error.count Number of errors axon.queries.saturation.queued.count Number of queries queued in Axon Server axon.queries.saturation.active.count Number of in-flight queries axon.queries.subscriptionquery.throughput.total Total number of subscription queries subscribed axon.queries.subscriptionquery.duration Duration of a subscription query connection axon.queries.subscriptionquery.throughput.updates Total number of updates submitted on subscription queries axon.queries.subscriptionquery.saturation.active Active number of subscription queries on this node Metric name Description axon.events.append.throughput.count number of events appended since the start of the server axon.events.append.throughput.rate.oneMinuteRate average number of events appended per second processed in the last minute axon.events.append.throughput.rate.fiveMinuteRate average number of events appended per second processed in the five minutes axon.events.append.throughput.rate.fifteenMinuteRate average number of events appended per second processed in the fifteen minutes axon.events.append.duration Duration of append events request, from the first event in a transaction received by Axon Server until it completes the transaction axon.events.append.error.count Number of errors appending events axon.events.append.saturation.active.count Number of active append event transactions axon.events.read.aggregate.throughput.count number of aggregates read since the start of the server axon.events.read.aggregate.throughput.rate.oneMinuteRate average number of aggregates read per second processed in the last minute axon.events.read.aggregate.throughput.rate.fiveMinuteRate average number of aggregates read per second processed in the five minutes axon.events.read.aggregate.throughput.rate.fifteenMinuteRate average number of aggregates read per second processed in the fifteen minutes axon.events.read.aggregate.duration Duration of read aggregate request axon.events.read.aggregate.error.count Number of errors axon.events.read.aggregate.saturation.active.count Number of active aggregate read actions axon.snapshots.append.throughput.count number of snapshots appended since the start of the server axon.snapshots.append.throughput.rate.oneMinuteRate average number of snapshot appends per second processed in the last minute axon.snapshots.append.throughput.rate.fiveMinuteRate average number of snapshot appends per second processed in the five minutes axon.snapshots.append.throughput.rate.fifteenMinuteRate average number of snapshot appends per second processed in the fifteen axon.snapshots.append.duration Duration of append snapshot request, from the snapshot received by Axon Server until it completes the transaction axon.snapshots.append.error.count Number of errors axon.snapshots.append.saturation.active.count Number of active append snapshot requests axon.snapshots.read.throughput.count Number of snapshots read since the start of the server axon.snapshots.read.throughput.rate.oneMinuteRate average number of snapshot reads per second processed in the last minute axon.snapshots.read.throughput.rate.fiveMinuteRate average number of snapshot reads per second processed in the five minutes axon.snapshots.read.throughput.rate.fifteenMinuteRate average number of snapshot reads per second processed in the fifteen axon.snapshots.read.duration Duration of read aggregate request axon.snapshots.read.error.count Number of errors axon.snapshots.read.saturation.active.count Number of active aggregate read actions Metric name Description axon.tasks.saturation.scheduled.count Number of scheduled tasks axon.tasks.error.count Number of errors executing tasks axon.tasks.duration Duration of task execution Metric name Description axon.applications.duration.connection Duration of application connections axon.applications.throughput.connect.count Number of application connect requests axon.applications.saturation.connected.count Number of applications currently connected axon.applications.throughput.disconnect.count Number of application disconnect requests axon.authentication.error.count Number of authentication errors Release 2023.2.0 deprecates the following metrics. These will be removed from Axon Server in release 2024.0.0: Metric name Replaced by axon.commands.count axon.commands.throughput.count axon.commands.rate.oneMinuteRate axon.commands.throughput.rate.oneMinuteRate axon.commands.rate.fiveMinuteRate axon.commands.throughput.rate.fiveMinuteRate axon.commands.rate.fifteenMinuteRate axon.commands.throughput.rate.fifteenMinuteRate axon.command axon.commands.duration axon.commands.active axon.commands.saturation.active.count axon.ApplicationCommandQueue.size axon.commands.saturation.queued.count axon.queries.count axon.queries.throughput.count axon.queries.rate.oneMinuteRate axon.queries.throughput.rate.oneMinuteRate axon.queries.rate.fiveMinuteRate axon.queries.throughput.rate.fiveMinuteRate axon.queries.rate.fifteenMinuteRate axon.queries.throughput.rate.fifteenMinuteRate axon.query axon.queries.duration axon.queries.active axon.queries.saturation.active.count axon.ApplicationQueryQueue.size axon.queries.saturation.queued.count axon.event.count axon.events.append.throughput.count axon.event.rate.oneMinuteRate axon.events.append.throughput.rate.oneMinuteRate axon.event.rate.fiveMinuteRate axon.events.append.throughput.rate.fiveMinuteRate axon.event.rate.fifteenMinuteRate axon.events.append.throughput.rate.fifteenMinuteRate axon.snapshot.count axon.snapshots.append.throughput.count axon.snapshot.rate.oneMinuteRate axon.snapshots.append.throughput.rate.oneMinuteRate axon.snapshot.rate.fiveMinuteRate axon.snapshots.append.throughput.rate.fiveMinuteRate axon.snapshot.rate.fifteenMinuteRate axon.snapshots.append.throughput.rate.fifteenMinuteRate axon.GlobalSubscriptionMetricRegistry.total axon.queries.subscriptionquery.throughput.total axon.GlobalSubscriptionMetricRegistry.updates axon.queries.subscriptionquery.throughput.updates axon.GlobalSubscriptionMetricRegistry.active axon.queries.subscriptionquery.saturation.active axon.QuerySubscriptionMetricRegistry.total axon.queries.subscriptionquery.throughput.total axon.QuerySubscriptionMetricRegistry.updates axon.queries.subscriptionquery.throughput.updates axon.QuerySubscriptionMetricRegistry.active axon.queries.subscriptionquery.saturation.active axon.ApplicationSubscriptionMetricRegistry.total axon.queries.subscriptionquery.throughput.total axon.ApplicationSubscriptionMetricRegistry.updates axon.queries.subscriptionquery.throughput.updates axon.ApplicationSubscriptionMetricRegistry.active axon.queries.subscriptionquery.saturation.active The deprecated metrics are still collected by default. To stop collecting the deprecated metrics set the property: axoniq.axonserver.legacy-metrics-enabled=false","title":"Axon Server Metrics","component":"axon-server-reference","version":"v2024.1","name":"axon-server-metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/axon-server-metrics/","titles":[{"text":"Command handling metrics","hash":"_command_handling_metrics","id":1},{"text":"Query handling metrics","hash":"_query_handling_metrics","id":2},{"text":"Event store metrics","hash":"_event_store_metrics","id":3},{"text":"Scheduler metrics","hash":"_scheduler_metrics","id":4},{"text":"Application connection metrics","hash":"_application_connection_metrics","id":5},{"text":"Deprecated metrics","hash":"application-level-metrics-deprecated","id":6}]},"187":{"id":187,"text":"When reaching out to AxonIQ for Axon Server support related questions, the support team needs information about the environment and its current state. Axon Server provides an endpoint that collects the relevant information into a zip file. The URL is v1/diagnose/download. The zip file contains the following information: cluster layout (nodes in the cluster) application logs replication status per replication group list of files per context system information (available processors, memory and java version used) thread dump of the Axon Server process health status (information from /actuator/health) metrics","title":"Diagnostics","component":"axon-server-reference","version":"v2024.1","name":"diagnostics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/diagnostics/","titles":[]},"188":{"id":188,"text":"To enable the gRPC metrics, for the Axon Server, the following properties need to be set in the axonserver.properties (or .yaml file). Property Name Default Value Description axoniq.axonserver.metrics.grpc.enabled false Enables Axon Server gRPC metrics axoniq.axonserver.metrics.grpc.jaeger-enabled false Enables exporter for Jaeger axoniq.axonserver.metrics.grpc.jaeger-endpoint Endpoint to access Jaeger exporter. Will not be considered if jaeger-enabled is set to false. axoniq.axonserver.metrics.grpc.jaeger-service-name Service name to be set to Jaeger exporter. axoniq.axonserver.metrics.grpc.prometheus-enabled false Enables exporter for Prometheus. axoniq.axonserver.metrics.grpc.z-paged-enabled false Enables ZPages for displaying traces/stats. axoniq.axonserver.metrics.grpc.z-pages-port 8888 HTTP port to access ZPages.","title":"gRPC Metrics","component":"axon-server-reference","version":"v2024.1","name":"grpc-metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/grpc-metrics/","titles":[]},"189":{"id":189,"text":"You can enable the heartbeat monitoring in Axon Server in order to activate an high level monitoring of client connection availability. Axon Framework and Axon Server need to know whether the connection is still alive. GRPC already provides an internal heartbeat in its protocol but does not suffice in many situations, such as in the cloud or when using a service mesh. Proxies and Load Balancers understand this heartbeat and respond to it, while the connection beyond that’s connected to Axon Server is not checked properly. For this reason, the API of Axon Server implements a non-protocol heartbeat that is a regular gRPC call, sent at intervals. If the call is not responded to in time, the connection is terminated and re-established, providing recoverability from various network issues. Therefore it’s enabled by default. This feature can be enabled by configuring the following property: axoniq.axonserver.heartbeat.enabled=true Please note that when combining Axon Server with Axon Framework, the framework application should also have Heartbeat Monitoring enabled. Note that this is enabled by default in Axon Framework. If you want to disable heartbeat monitoring this further, regard the following configuration: Axon Configuration API Spring Boot Auto Configuration public class AxonConfig { // ... public void disableHeartbeats(Configurer configurer) { configurer.registerComponent(AxonServerConfiguration.class, config -> { AxonServerConfiguration.HeartbeatConfiguration heartbeatConfig = new AxonServerConfiguration.HeartbeatConfiguration(); heartbeatConfig.setEnabled(false); AxonServerConfiguration serverConfig = new AxonServerConfiguration(); serverConfig.setHeartbeat(heartbeatConfig); return serverConfig; }); } } axon.axonserver.heartbeat.enabled=false Axon Framework supports heartbeat monitoring starting from 4.2.1 version.","title":"Heartbeat Monitoring","component":"axon-server-reference","version":"v2024.1","name":"heartbeat-monitoring","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/heartbeat-monitoring/","titles":[]},"190":{"id":190,"text":"AxonServer provides a set of actuator endpoints, gRPC metrics and heartbeat monitoring capabilities that help monitor vital aspects of an AxonServer SE/EE deployment. These help in : Retrieving basic information about the AxonServer Monitoring the general health of the AxonServer Retrieving Metrics around the OS/JVM Retrieving Message (Commands/Queries/Events) flow metrics Retrieving environmental properties of the AxonServer","title":"Monitoring","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/","titles":[]},"191":{"id":191,"text":"This section is split into 4 sub-sections. The Axon Server Docker Image Construction of the Axon Server Docker Image Deployment using Docker Compose Deployment using Kubernetes Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust. AxonIQ provides ready to use Axon Server images. There are two types of images available: one with Axon Server running as the user “root” and one with Axon Server running as user “axonserver”. Both images are based on Eclipse Temurin, which means they include a (limited) shell that allows you to connect \"into\" the running image and perform some commands. The “root” image of version 2023.1 is available as “axoniq/axonserver:2023.1” and is based on “eclipse-temurin:11-focal”. This image is particularly useful for running in Docker Desktop, as it will not have any trouble creating files and directories as user “root”. The “axonserver” image of version 2023.1 is available as “axoniq/axonserver:2023.1-nonroot” and is based on the same Eclipse Temurin image. This image is more secure and useful in Kubernetes and OpenShift clusters. You should take care to declare the user- and group-id, both of which are 1001 and are named “axonserver”. Doing this will ensure that any mounted volumes will be writable by the user running Axon Server. The images export the following volumes: “/axonserver/config” This is where you can add configuration files, such as an additional axonserver.properties and the license file. However, you can also opt to use, for instance, Kubernetes, or Docker-compose secrets. Note that Axon Server EE assumes it can write to the directory configured with “axoniq.axonserver.enterprise.licenseDirectory”, so you don’t have to put the license on all nodes. * “/axonserver/data” This is where the ControlDB, the PID file, and a copy of the application logs are written to. * “/axonserver/events” In this volume the Event Store is created, with a single directory per context. * “/axonserver/log” In this volume the Replication Logs are created, with a single directory per Replication Group. * “/axonserver/exts” In this volume you can place Extension JAR-files, such as the LDAP and OAuth2 extensions. * “/axonserver/plugins” In this volume Axon Server will place all uploaded plugins. Using the axoniq/axonserver:latest image Up to release 2023.2.0 the default Axon Server image (axoniq/axonserver:latest) was using Axon Server Standard Edition version 4.6.11. There is a difference in the directory structure between version 4.6.11 and the current version. One change is that the working directory has changed from / to /axonserver. All files and directories created by Axon Server are stored in this directory (or subdirectories). The following locations have new default values: Property Axon Server SE 4.6.11 Axon Server 2023.2 axoniq.axonserver.event.storage /eventdata /axonserver/events axoniq.axonserver.snapshot.storage /eventdata /axonserver/events axoniq.axonserver.controldb-path /data /axonserver/data axoniq.axonserver.plugin-package-directory /data/plugins/bundles /axonserver/plugins/bundles axoniq.axonserver.plugin-cache-directory /data/plugins/cache /axonserver/plugins/cache logging.file /data/axonserver.log /axonserver/data/axonserver.log As these locations have changed you need to update the volume mappings that you use in the container. The mapping for /eventdata must be changed to /axonserver/events, and the mapping for /data must be changed to /axonserver/data. A starter Dockerfile is included below which can be tailored as per your requirements. The starter file helps create the image in multiple stages, The image will be based on a compact image from Google’s “distroless” base images at the gcr.io repository, in this case “gcr.io/distroless/java:11”. The first stage creates the directories that will become our volumes. This step cannot be performed in the Distroless image, because that image does not provide a shell. The second stage begins by copying the home directory with its volume mount points, carefully keeping ownership set to the new user. The last steps copy the executable jar named axonserver.jar and a common set of properties. It marks the volume mounting points and exposed ports and finally specifies the command to start Axon Server EE. FROM busybox as source RUN mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts FROM gcr.io/distroless/java:11 COPY --from=source /axonserver /axonserver COPY axonserver.jar axonserver.properties /axonserver/ WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] If you want to build a \"nonroot\" version, you need to adjust this as follows: FROM busybox as source RUN addgroup -S -g 1001 axonserver \\ && adduser -S -u 1001 -G axonserver -h /axonserver -D axonserver \\ && mkdir -p /axonserver/config /axonserver/data /axonserver/events /axonserver/log /axonserver/exts \\ && chown -R axonserver:axonserver /axonserver FROM gcr.io/distroless/java:11 COPY --from=source /etc/passwd /etc/group /etc/ COPY --from=source --chown=axonserver /axonserver /axonserver COPY --chown=axonserver axonserver.jar axonserver.properties /axonserver/ USER axonserver WORKDIR /axonserver VOLUME [ \"/axonserver/config\", \"/axonserver/data\", \"/axonserver/events\", \"/axonserver/log\", \"/axonserver/exts\", \"/axonserver/plugins\" ] EXPOSE 8024/tcp 8124/tcp 8224/tcp ENTRYPOINT [ \"java\", \"-jar\", \"./axonserver.jar\" ] As you can see this will start by creating the user “axonserver” belonging to a group with the same name. When copying the directory, we now have to ensure that ownership transfers correctly and specify the user to run as, but otherwise it looks pretty similar. For the common properties (axonserver.properties), the minimum set can be added to ensure that the volumes get mounted and logs generated. Again these can be tailored as per the deployment requirements. axoniq.axonserver.event.storage=./events axoniq.axonserver.snapshot.storage=./events axoniq.axonserver.replication.log-storage-folder=./log axoniq.axonserver.enterprise.licenseDirectory=./config #axoniq.axonserver.accesscontrol.systemtokenfile=./config/axonserver.token axoniq.axonserver.controldb-path=./data axoniq.axonserver.pid-file-location=./data logging.file=./data/axonserver.log logging.file.max-history=10 logging.file.max-size=10MB Place the Dockerfile, the Axon Server jar file (axonserver.jar), the Axon Server client jar file (axonserver-cli.jar) and the axonserver.properties in the current directory. Assuming we are building version 2023.1.1, the image can be constructed using the following command: $ docker build --tag my-repository/axonserver:2023.1.1. This completes the construction of the Docker image. The image can pushed to your local repository or you could keep it local if you only want to run it on your development machine. The next step is to run it either using Docker Compose or Kubernetes. If you want to run the docker image for a standalone instance of Axon Server and have it initialized automatically, you can start it with the \"axoniq.axonserver.standalone\" property set through the environment, for instance: $ docker run -dit -e axoniq.axonserver.standalone=true -p 8024:8024 -p 8124:8124 my-repository/axonserver:2023.1.1 Axon Server is meant to be run in a distributed manner, as a cluster where there will be multiple instances of Axon Server nodes running all interconnected to each other. The installation process assumes that Docker Compose will be used to run a 3-node Axon Server cluster, that is running 3 services of the same container image we built above. Let us designate these services as \"axonserver-1\", \"axonserver-2\" and \"axonserver-3\". We will also give a tag to the image that we constructed above as \"my-repository/axonserver:2023.1\". Each container instance will use separate volumes for “data”, “events”, and “log”. An environment variable is added to tell Axon Server about the location of the license file. We will use \"secrets\" to inject the license file, tokens as well as the cluster/context definitions using the autocluster mechanism. The complete docker-compose file is depicted below. version: '3.3' services: axonserver-1: image: my-repository/axonserver:2023.1 hostname: axonserver-1 volumes: - axonserver-data1:/axonserver/data - axonserver-events1:/axonserver/events - axonserver-log1:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8024:8024' - '8124:8124' - '8224:8224' networks: - axon-demo axonserver-2: image: my-repository/axonserver:2023.1 hostname: axonserver-2 volumes: - axonserver-data2:/axonserver/data - axonserver-events2:/axonserver/events - axonserver-log2:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8025:8024' - '8125:8124' - '8225:8224' networks: - axon-demo axonserver-3: image: my-repository/axonserver:2023.1 hostname: axonserver-3 volumes: - axonserver-data3:/axonserver/data - axonserver-events3:/axonserver/events - axonserver-log3:/axonserver/log secrets: - source: axoniq-license target: /axonserver/config/axoniq.license - source: axonserver-properties target: /axonserver/config/axonserver.properties - source: axonserver-token target: /axonserver/config/axonserver.token environment: - AXONIQ_LICENSE=/axonserver/config/axoniq.license ports: - '8026:8024' - '8126:8124' - '8226:8224' networks: - axon-demo volumes: axonserver-data1: driver: local driver_opts: type: none device: ${PWD}/data1 o: bind axonserver-events1: driver: local driver_opts: type: none device: ${PWD}/events1 o: bind axonserver-log1: driver: local driver_opts: type: none device: ${PWD}/log1 o: bind axonserver-data2: driver: local driver_opts: type: none device: ${PWD}/data2 o: bind axonserver-events2: driver: local driver_opts: type: none device: ${PWD}/events2 o: bind axonserver-log2: driver: local driver_opts: type: none device: ${PWD}/log2 o: bind axonserver-data3: driver: local driver_opts: type: none device: ${PWD}/data3 o: bind axonserver-events3: driver: local driver_opts: type: none device: ${PWD}/events3 o: bind axonserver-log3: driver: local driver_opts: type: none device: ${PWD}/log3 o: bind networks: axon-demo: secrets: axonserver-properties: file: ./axonserver.properties axoniq-license: file: ./axoniq.license axonserver-token: file: ./axonserver.token The “axonserver-token” secret is used to allow the CLI to talk with nodes. The access control section details the generation of these tokens. A similar approach can be used to configure more secrets for the certificates, and so enable SSL. The \"axonserver.properties\" properties file referred to in the secrets’ definition section is depicted below. axoniq.axonserver.autocluster.first=axonserver-1 axoniq.axonserver.autocluster.contexts=_admin,default # We highly recommend protecting your installations at all time, hence why access control is enabled here. # For quick testing, you can disable this, but be sure to switch it big with high priority. axoniq.axonserver.accesscontrol.enabled=true axoniq.axonserver.accesscontrol.internal-token=${generated_token} axoniq.axonserver.accesscontrol.systemtokenfile=/axonserver/config/axonserver.tok Starting Axon Server using the docker-compose command is depicted below. $ docker-compose up For example purposes only The examples below show only one of the ways you could deploy Axon Server to Kubernetes. As discussed in this Blog article, there are many aspects that you need to carefully plan ahaead for. A complete set of examples can be found in the \"Running Axon Server\" GitHub repository. We especially recommend using the \"Singleton StatefulSet\" approach. Although the complexity of deploying any application to Kubernetes can be overwhelming, we strongly recommend you to study this subject carefully. The examples we provide are not necessarily the best approach for your particular situation, so be careful about copying them without any further modifications, if only because they generate self-signed certificates that have a one-year validity. An important thing to consider is the use of a \"nonroot\" image. This is due to the fact that volumes are mounted as owned by the mount location’s owner in Docker, while Kubernetes uses a special security context, defaulting to “root”. Since a \"nonroot\" image runs Axon Server under its own user, it has no rights on the mounted volume other than “read”. The context can be specified, but only through the user or group’s ID, and not using their name as we did in the image, because that name does not exist in the k8s management context. So we have to adjust the first stage to specify a specific numeric value (here we have given 1001) , and then use that value in the security context of the Stateful set which we shall see below. We would need to supply a licence/token file (for client applications) and cluster/context definitions via an axonserver.properties file. Unlike Docker Compose, Kubernetes mounts Secrets and ConfigMaps as directories rather than files, so we need to split license and configuration to two separate locations. For the license secret we can use a new location “/axonserver/license/axoniq.license” and adjust the environment variable to match. For the system token we’ll use “/axonserver/security/token.txt”, and for the properties file we’ll use a ConfigMap that we mount on top of the “/axonserver/config” directory. These can be created using \"kubectl\" directly from their respective file as depicted below. It is recommended to create a dedicated namespace before creating the secrets and the config maps. $ kubectl create secret generic axonserver-license --from-file=./axoniq.license -n ${axonserver-ns} secret/axonserver-license created $ kubectl create secret generic axonserver-token --from-file=./axoniq.token -n ${axonserver-ns} secret/axonserver-token created $ kubectl create configmap axonserver-properties --from-file=./axonserver.properties -n ${axonserver-ns} configmap/axonserver-properties created $ In the descriptor we now have to declare the secret, add a volume for it, and mount the secret on the volume. Then a list of volumes has to be added to link the actual license and properties. The complete spec for the Axon Server Stateful set is given below. This includes the security context, the volume mounts, the readiness and liveness probes and finally the volumes. apiVersion: apps/v1 kind: StatefulSet metadata: name: axonserver labels: app: axonserver spec: serviceName: axonserver replicas: 1 selector: matchLabels: app: axonserver template: metadata: labels: app: axonserver spec: securityContext: runAsUser: 1001 fsGroup: 1001 containers: - name: axonserver image: axoniq/axonserver:latest-dev-nonroot imagePullPolicy: IfNotPresent ports: - name: grpc containerPort: 8124 protocol: TCP - name: gui containerPort: 8024 protocol: TCP env: - name: AXONIQ_LICENSE value: \"/axonserver/license/axoniq.license\" volumeMounts: - name: data mountPath: /axonserver/data - name: events mountPath: /axonserver/events - name: log mountPath: /axonserver/log - name: config mountPath: /axonserver/config readOnly: true - name: system-token mountPath: /axonserver/security readOnly: true - name: license mountPath: /axonserver/license readOnly: true readinessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 1 failureThreshold: 30 livenessProbe: httpGet: path: /actuator/info port: 8024 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 failureThreshold: 3 volumes: - name: config configMap: name: axonserver-properties - name: system-token secret: secretName: axonserver-token - name: license secret: secretName: axonserver-license volumeClaimTemplates: - metadata: name: events spec: accessModes: [ \"ReadWriteOnce\" ] resources: requests: storage: 5Gi - metadata: name: log spec: accessModes: [ \"ReadWriteOnce\" ] resources: requests: storage: 1Gi - metadata: name: data spec: accessModes: [ \"ReadWriteOnce\" ] resources: requests: storage: 1Gi The StatefulSet can be applied using the following command (assuming that the StatefulSet spec is stored in the file \"axonserver-sts.yml\"). $ kubectl apply -f axonserver-sts.yml -n ${axonserver-ns} statefulset.apps/axonserver created The next step would be to create the two services required for Axon Server, that is axonserver-gui on 8024 (HTTP) and axonserver on 8124 (gRPC). --- apiVersion: v1 kind: Service metadata: name: axonserver-gui labels: app: axonserver spec: ports: - name: gui port: 8024 targetPort: 8024 selector: app: axonserver type: ClusterIP --- apiVersion: v1 kind: Service metadata: name: axonserver labels: app: axonserver spec: ports: - name: grpc port: 8124 targetPort: 8124 clusterIP: None selector: app: axonserver --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: axonserver annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent spec: rules: - host: axonserver http: paths: - backend: serviceName: axonserver-gui servicePort: 8024 --- The services use an Ingress to allow incoming traffic and can be deployed with the following command (assuming that the Service specs are stored in the file \"axonserver-ing.yml\"). $ kubectl apply -f axonserver-ing.yml -n ${axonserver-ns} service/axonserver-gui created service/axonserver created ingress.networking.k8s.io/axonserver created The final step is to scale out the cluster. The simplest approach, and most often correct one, is to use a scaling factor other than 1, letting Kubernetes take care of deploying several instances. This means we will get several nodes that Kubernetes can dynamically manage and migrate as needed, while at the same time fixing the name and storage. We will get a number suffixed to the name starting at 0, so a scaling factor of 3 gives us “axonserver-0” through “axonserver-2”. $ kubectl scale sts axonserver -n ${axonserver-ns} --replicas=3 statefulset.apps/axonserver scaled This completes a basic setup to help install Axon Server on Kubernetes. The customer can choose to tailor the entire setup based on their requirements and usage of Kubernetes.","title":"Axon Server","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/installation/docker-k8s/","titles":[{"text":"Docker image","hash":"docker-image","id":1},{"text":"Building you own image","hash":"build-image","id":2},{"text":"Docker compose","hash":"docker-compose","id":3},{"text":"Kubernetes","hash":"kubernetes","id":4},{"text":"Creating the Secrets and ConfigMap","hash":"_creating_the_secrets_and_configmap","id":5},{"text":"Deploying Axon Server","hash":"_deploying_axon_server","id":6}]},"192":{"id":192,"text":"Unified Axon Server Artifact In an effort to simplify the deployment process, since 2023.1 version we’ve updated Axon Server to release a single artifact, replacing the previously separate artifacts for the Standard and Enterprise edition. Depending on the presence of a license, Axon Server will now automatically adjust. The Axon Server ZIP download contains executable JAR files for the server itself and the CLI. In addition to the archive file, you would also need a license to run it. You may run Axon Server in a variety of ways. The following sections will guide you through the process of setting up Axon Server in a variety of ways. Before we get into the setup, a short introduction to the concept of clusters and contexts within Axon Server. A single Axon Server node will provide a single connection point for (Axon Framework-based) client applications. This node will manage message delivery and event storage. To run Axon Server in a non-clustered mode with initialized context, you can simply add these properties to the axonserver.properties or add them as environment properties. axoniq.axonserver.standalone=true Another way to initialize a context is to use the Axon Server UI, CLI, or Cluster template. A cluster of Axon Server nodes will provide multiple connection points for (Axon Framework-based) client applications, and thus share the load of managing message delivery and event storage. Client applications will dynamically connect to a node in the cluster and automatically reconnect to another, should the node that they are currently connected to become unreachable.‌ This ensures a highly available deployment. Within a single cluster you can define *contexts*. Contexts are comparable to logical databases in a RDBMS. They allow for strong separation without requiring deploying and managing full instances. They may be used for \"bounded contexts\" in the DDD sense, multi-tenancy (with a context per tenant), and have different retention policies. The Clustering and Contexts sections provide more insights into these aspects. Setting up a cluster generally involves three steps: Provision \"uninitialized\" Axon Server nodes Admin Node initialization Add additional nodes to the cluster. To get started with setting up a cluster, you need to provision a set of *uninitialized* nodes. Extract the Zip on all the nodes that you want to be part of the cluster. The nodes will need to run on separate ports if run on the same machine. From the location where the files have been extracted, please run the following command. $ ./axonserver.jar _ ____ / \\ __ _____ _ __ / ___| ___ _ ____ _____ _ __ / _ \\ \\ \\/ / _ \\| '_ \\\\___ \\ / _ \\ '__\\ \\ / / _ \\ '__| / ___ \\ > < (_) | | | |___) | __/ | \\ V / __/ | /_/ \\_\\/_/\\_\\___/|_| |_|____/ \\___|_| \\_/ \\___|_| Powered by AxonIQ This will start Axon Server using the default ports - 8024 for HTTP / 8124 and 8224 for gRPC The HTTP port is used to serve the Management UI and the REST API provided by Axon Server. The gRPC 8124 port is used by Axon Framework client applications to connect to Axon Server, while the gRPC 8224 port is used for internal communication between the nodes of an Axon Server cluster. The management UI can be opened at \"http://localhost:8024\" while the REST API is accessible at \"http://localhost:8024/v1\". The REST API provides an operation at \"/v1/public/me\" to get the configuration details for a running instance of Axon Server. A representation of the response is given below. { \"authentication\": false, \"clustered\": true, \"ssl\": false, \"adminNode\": false, \"developmentMode\": false, \"storageContextNames\": [], \"contextNames\": [], \"internalHostName\": ${hostname}, \"grpcInternalPort\": 8224, \"grpcPort\": 8124, \"httpPort\": 8024, \"name\": ${hostname}, \"hostName\": ${hostname} } Repeat this for every node that needs to be a part of the cluster. To summarize, Extract the Axon Server zip (along with the license file) on each node which needs to be part of the cluster and start each instance. Ensure that the gRPC / internal gRPC ports are open and accessible between the various nodes. The REST API call to each node at \"/v1/public/me\" gives you the configuration details of the running Axon Server instance. This configuration can be customized using the system properties file axonserver.properties located within the Axon Server distributable. The System Properties section details these values. This completes the process of setting up the uninitialized nodes. Next, we need to initialize one of the nodes as the \"Admin Node\" To convert a group of uninitialized Axon Server nodes into a cluster, you need to select any one of them as a starting point and run the “init-cluster” command on it. This is done using the \"command-line\" utility (axonserver-cli.jar) available as part of the Axon Server distributable. $ ./axonserver-cli.jar init-cluster Once successfully executed, this will do the following, Designate this node as the admin node of the Axon Server cluster Creates the \"admin\" context which stores the configuration details of the Axon Server cluster Creates a \"default\" context which is available for event storage/message routing for client applications The REST API operation at \"/v1/public/me\" should now show the following response (assuming axonserver-0 as the hostname of the admin node) { \"authentication\": false, \"clustered\": true, \"ssl\": false, \"adminNode\": true, \"developmentMode\": false, \"storageContextNames\": [ \"default\" ], \"contextNames\": [ \"_admin\", \"default\" ], \"name\": \"axonserver-1\", \"hostName\": \"axonserver-1\", \"internalHostName\": \"axonserver-1\", \"grpcInternalPort\": 8224, \"grpcPort\": 8124, \"httpPort\": 8024 } All admin nodes are member of the “_admin” context, and it is used to distribute cluster structure data in the same way as it distributes Events, Commands, and Queries. The UI console displays the newly initialized admin node as shown below (assuming axonserver-1 as the name of the node) The other nodes can be added to the cluster using the “register-node” command, pointing it at an admin node already in the cluster. On every other node, the following command needs to be executed by pointing to the admin node created above. $ ./axonserver-cli.jar register-node -h axonserver-1 Assuming that the additional node being added has its hostname as \"axonserver-2\", if the REST API operation at \"/v1/public/me\" is run against the second node, the following response is shown. { \"authentication\": false, \"clustered\": true, \"ssl\": false, \"adminNode\": true, \"developmentMode\": false, \"storageContextNames\": [ \"default\" ], \"contextNames\": [ \"_admin\", \"default\" ], \"name\": \"axonserver-2\", \"hostName\": \"axonserver-2\", \"internalHostName\": \"axonserver-2\", \"grpcInternalPort\": 8224, \"grpcPort\": 8124, \"httpPort\": 8024 } To get the complete details of the cluster configuration, the REST API operation at \"/v1/public/context\" if run against the admin node. A sample response is shown below (assuming that the hostnames of the admin node and the additional node are \"axonserver-1\" and \"axonserver-2\") [ { \"metaData\": {}, \"nodes\": [\"axonserver-1\", \"axonserver-2\"], \"leader\": \"axonserver-1\", \"pendingSince\": 0, \"changePending\": false, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"axonserver-1\" }, { \"role\": \"PRIMARY\", \"node\": \"axonserver-2\" } ], \"context\": \"_admin\" }, { \"metaData\": {}, \"nodes\": [\"axonserver-1\", \"axonserver-2\"], \"leader\": \"axonserver-1\", \"pendingSince\": 0, \"changePending\": false, \"roles\": [ { \"role\": \"PRIMARY\", \"node\": \"axonserver-1\" }, { \"role\": \"PRIMARY\", \"node\": \"axonserver-2\" } ], \"context\": \"default\" } ] The cluster configuration information depicts: The leader of the cluster The contexts available within the cluster (in this case \"_admin\" and \"default\") The nodes within the a cluster The roles that the nodes play within a specific context (in this case PRIMARY) The UI console displays the newly initialized admin node as shown below (assuming axonserver-1 as the name of the node) A production grade setup would require more advanced configuration. For example an Axon Server node can be assigned to play different roles within a cluster - it may serve as an admin node, providing services to configure the cluster and keep it running, next to the “regular” event store and messaging functions. It can also be configured to only service specific *contexts* in various roles. Contexts are comparable to logical databases in a RDBMS. They allow for strong separation without requiring deploying and managing full instances. This is detailed in the Clustering and the Contexts sections. This completes a quick basic setup of an Axon Server cluster using the default configurations. To summarize, _*The Axon Server is not available for event storage or message routing unless a cluster is setup. By default, access control and SSL is not enabled. The basic setup involves the creation of an Axon Server cluster - This involves configuring an Admin Node and registering additional nodes to the cluster. The default ports are 8024/8124 and 8224. These values can be changed via configuration. The name and hostname default to the hostname of the system Axon Server is running on. These values can be changed via configuration ( “axoniq.axonserver.name” / “axoniq.axonserver.hostname”). The \"internalHostName\" and \"grpcInternalPort\" are used for internal communication between the nodes of an Axon Server cluster. These values can be changed via configuration. A new feature available since 4.3 is that you can use configuration setting “axoniq.axonserver.autocluster.first” (in the axonserver.properties file) to provide it with the hostname of a known Admin node. If that name happens to be the hostname of the node starting up, it will automatically perform the “init-cluster” command on itself if needed. If the name is not the current hostname, it will schedule a task to perform the “register-node” command, which will keep trying until successful, which is when the first node is itself available and initialized. In addition if needed, you can use the “axoniq.axonserver.autocluster.contexts” setting to provide a comma-separated list of contexts to create or join. (The “_admin” context needs to be explicitly added if you want all nodes to become admin nodes.) Axon Server creates a folder for each context under a directory named “data”. This is where the events and snapshots for the contexts will be stored. The location can be customized using the “axoniq.axonserver.event.storage” and “axoniq.axonserver.snapshot.storage” settings. Do note that the location customization is applicable for all contexts, you cannot customize it for a specific context. Axon Server will also create a folder for each context under a directory named \"log\". This is where the replication log for each context is stored. The replication log stores context data as it comes in and is distributed. The storage location for the replication log can be adjusted using the “axoniq.axonserver.replication.log-storage-folder” property. Again, this is applicable for all contexts. There is also a small database in the “data” directory, which is referred to as the “ControlDB”, and is used for administrative data. This location you can customize by using the “axoniq.axonserver.controldb-path” setting. The configuration section details the steps required to setup the storage required for Axon Server including some advanced options. As Axon Server is an event store and may contain sensitive data it is always a good practice to enable access control in production and production-like environments. The Access Control section details the steps required to set up access control in Axon Server. Axon Server supports TLS/SSL (Transport Layer Security/Secure Sockets Layer) to encrypt all of Axon Server SE’s network traffic - From Axon Framework client applications to Axon Server as well as between the various nodes of an Axon Server EE cluster. The SSL section details the steps required to setup SSL in Axon Server.","title":"Axon Server","component":"axon-server-reference","version":"v2024.1","name":"index","url":"/axon-server-reference/v2024.1/axon-server/installation/local-installation/","titles":[{"text":"Binaries","hash":"_binaries","id":1},{"text":"Setting up Axon Server","hash":"_setting_up_axon_server","id":2},{"text":"Non-clustered","hash":"_non_clustered","id":3},{"text":"Clustered","hash":"_clustered","id":4},{"text":"Cluster setup","hash":"_cluster_setup","id":5},{"text":"Provision Axon Server nodes","hash":"_provision_axon_server_nodes","id":6},{"text":"Admin node initialization","hash":"_admin_node_initialization","id":7},{"text":"Additional nodes","hash":"_additional_nodes","id":8},{"text":"Auto-clustering","hash":"auto-clustering","id":9},{"text":"Storage","hash":"_storage","id":10},{"text":"Access Control","hash":"_access_control","id":11},{"text":"SSL","hash":"_ssl","id":12}]},"193":{"id":193,"text":"Filters are expressions that evaluate to either true or false. Basic filter operations do comparisons between fields and other fields or fixed values. The following are samples of valid filters: token > 1000000 aggregateIdentifier = \"1234\" payloadType = aggregateType Basic operators: = > >= 100) Counts the number of events with aggregateSequenceNumber > 100.","title":"Filters","component":"axon-server-query-language-guide","version":"master","name":"filters","url":"/axon-server-query-language-guide/filters/","titles":[{"text":"Basic operators","hash":"_basic_operators","id":1},{"text":"Logical operators","hash":"_logical_operators","id":2},{"text":"Arithmetic operators","hash":"_arithmetic_operators","id":3},{"text":"Matching functions","hash":"_matching_functions","id":4},{"text":"Examples","hash":"_examples","id":5}]},"194":{"id":194,"text":"The Axon Server query language processes a stream of events. Processing steps include filters and projections, defined in a pipeline. The query engine executes each step in the pipeline and forwards the result to the next step. The result of the last step is returned. The idea is based on the UNIX pipe commands. The input of a query is a stream of events with the following fields: token - a unique sequence number for an event aggregateIdentifier - the unique identifier for the aggregate aggregateSequenceNumber - sequence number of the event for the aggregate aggregateType - the type of the aggregate payloadType - the type of the payload of the event payloadRevision - version number of the payload type payloadData - content of the event, the format of this depends on the serializer used to store the data timestamp - time when the event was created (milliseconds since 1970/01/01).","title":"Principles","component":"axon-server-query-language-guide","version":"master","name":"index","url":"/axon-server-query-language-guide/","titles":[]},"195":{"id":195,"text":"xpath(data, expression [,resultType]) - performs an XPath function on the first parameter value. Data must contain XML (so depends on the serializer used for events). The resultType may be specified to indicate if you want to have an XML node, an XML nodelist, a string or a number returned. jsonpath(data, expression) - performs a jsonpath function on the first parameter value. Data must contain JSON formatDate(data, format [,timezone]) - converts a timestamp value to a readable date concat(listData, delimiter) - concatenates all elements in the listData to a single string, with delimiter between the elements. left( data, n ) - returns the first n characters from data. If data is shorter than n it returns the whole string, right( data, n ) - returns the last n characters from data. If data is shorter than n it returns the whole string, length( data ) - returns the length of the string lower( data ) - converts string to lowercase upper( data) - converts string to lowercase substring( data, first [, last]) - returns substring from first to end of string or last (exclusive). If string is shorter than first it returns an empty string. hour(timestamp) minute(timestamp) day(timestamp) week(timestamp) month(timestamp) year(timestamp) select( xpath(payloadData, \"//customerId\") as customerId) Gets the first customerId in the payloadData. xpath(payloadData, \"count(//customerId)\", \"NUMBER\") > 10 Returns events with more than 10 customerId elements in the payload. select(jsonpath(payloadData, \"$.book[*].title\") as titles) Gets the titles for all books.","title":"Other Functions","component":"axon-server-query-language-guide","version":"master","name":"other-functions","url":"/axon-server-query-language-guide/other-functions/","titles":[{"text":"Examples","hash":"_examples","id":1}]},"196":{"id":196,"text":"Expressions can be put together in a pipeline aggregateType contains \"abcde\" | groupby(payloadType, count()) or even more steps: aggregateType contains \"abcde\" | groupby(payloadType, count() as count) | count > 10","title":"Pipelines","component":"axon-server-query-language-guide","version":"master","name":"pipelines","url":"/axon-server-query-language-guide/pipelines/","titles":[]},"197":{"id":197,"text":"Projection functions change the shape of the data. The following projection functions are available: select - map each element in the stream to a new element, for instance with less fields or with calculated fields. groupby - map elements with the same value for the group by fields to a new element. count - counts the number of elements in the stream, when used with a parameter counts the number of non-null/true fields for the parameter value. min - minimum value for the paramater value max - maximum value for the paramater value avg - average value for the paramater value The count, min, max and avg functions can also be used inside a group by.","title":"Projections","component":"axon-server-query-language-guide","version":"master","name":"projections","url":"/axon-server-query-language-guide/projections/","titles":[]},"198":{"id":198,"text":"When an event store contains many millions of events it is usually not required to search through all the events. You can add time constraints to the pipeline to only search recent events. last X minutes last X hours last X days last X weeks last X months last X years last 2 minutes Returns all events from the last 2 minutes. aggregateSequenceNumber = 0 | last hour All events with aggregateSequenceNumber 0 for the last hour. last minute | groupby(payloadType, count()) groupby(payloadType, count()) | last minute These 2 are the same. The time constraint may be anywhere in the pipeline, always applies to the timestamp of the event.","title":"Time Constraints","component":"axon-server-query-language-guide","version":"master","name":"time-constraints","url":"/axon-server-query-language-guide/time-constraints/","titles":[]},"199":{"id":199,"text":"Axon Server Enterprise is now listed in Google GCP Marketplace. This allows your team to deploy a single instance or a 3-node cluster Axon Server in your Google Project. This guide is intended for engineers, developers, and system administrators who want to install Axon Server on the Google Marketplace. The guide covers Requirements for your Google Project An overview of required and recommended fields How to secure your Axon Server installation Basic maintenance guide for your cluster The network is the backbone for communication between Axon Server Enterprise nodes and applications. During the installation process, a DNS entry is created for each Axon Server node: this is used to configure and set up communication between the nodes. VPC Network and Subnetwork Your Google project must have an existing VPC Network and Subnetwork configured for the zones in where you want to install your cluster: you can define one using the Google Console UI Cloud DNS Zone Your Google project must have a Cloud DNS Zone configured: you can define one using the Google Console UI. Write down the name of your Cloud DNS Zone : it will be requested in a form field during the installation process. Cloud Resource Manager API The deployment uses Cloud Resource Manager API, therefore this API must be enabled before proceeding with the installation. Secret manager API If you plan to store your sensitive data in Google Secret Manager, you must enable the API first. The following is a list of fields that you will be prompted to fill in during your installation. Deployment name This is used in the installation to give the deployment a name and to distinguish it from other deployments in the same Google project. It is also used as a PREFIX to name resources used by the deployment. Deployment Service Account / Service account ID / Service Account description Used by Google as the user to run Terraform: it requires several admin roles because they are used to create resources in the project itself. Cloud DNS Zone of your network domain (mandatory / prerequisite) This is a prerequisite that must be created in the project beforehand. It is used to create DNS entries for instances, for example axonserver-1.mydomain.net, axonserver-2.mydomain.net axonserver-3.mydomain.net. These addresses are used by the configuration for internal calls and can be used by the user to connect to the VM from a running Axon Framework application. Internal Network Domain This is the domain to append to the hostname of the VM’s. It should match the value the user entered in the DNS zone details (for example, mydomain.net). Enable Google Ops Agent This is a non-mandatory option, but recommended. You may incur in additional charges from Google for using this service. Google Ops Agent is the Google way to collect logs and metrics, and is displayed in the dashboard / log explorer. Use Google Secret Manager This is a non-mandatory option, but recommended. You may incur in additional charges from Google for using this service. If selected, sensitive data such as the admin password (randomly generated during the installation) will be stored in the Google Secrets Manager, where only accounts with specific permissions can access and read/change the value. If not selected these values will be stored in the VM Metadata : these values can be read by anyone who has access to the Google Dashboard, even users with lower permissions (such as editor role). After the installing Axon Server Enterprise three new VMs will be available in your project. You can gather the list of available VMs using the following command gcloud compute instances list --project=YOUR_PROJECT_ID If you want to adjust some properties for your cluster, you can ssh into your machine with the following command gcloud compute ssh YOUR_INSTANCE_NAME-0 --project=YOUR_PROJECT_ID --zone=YOUR_ZONE You can connect to the AxonServer UI by opening a tunnel on port 8024 to one of the instances in your cluster, and then opening http://localhost:8024 in your browser. gcloud compute start-iap-tunnel YOUR_INSTANCE_NAME-0 --project=YOUR_PROJECT_ID --zone=YOUR_ZONE 8024 --local-host-port=localhost:8024 If you enabled Google Ops Agent during the installation, you can check the logs by going to Google Logs Explorer and selecting axonserver in the _Select log names dropdown. The Observability panel of your VMs will display important information such as CPU Utilization, Memory Utilization, Disk Space Utilization, Disk IOPS and details of running processes If you haven’t enabled the Google Ops Agent option, you can check the logs and VM resources using Axonserver UI or by opening an ssh connection to the VM. Axon Server is installed as a Linux package in your VM instance. You can then update it as a regular package, using sudo apt update axonserver -y After the update process, you will need to stop and restart the process. sudo systemctl stop axonserver sudo systemctl start axonserver As a regular Axon Server cluster, we recommend that you update and restart a single instance at a time to ensure that your cluster is running with zero downtime. After each restart, you need to check the health of your cluster. You can do this by looking at one of your AxonServer UIs that is not restarting. By default, your cluster is installed without TLS/SSL enabled. To secure your AxonServer installation and prepare it for production, please consult the Security section of the Axon Server reference guide.","title":"Axon Server Google Marketplace Installation Guide","component":"as-marketplace-installation-guide","version":"main","name":"index","url":"/as-marketplace-installation-guide/main/","titles":[{"text":"Installing Axon Server using Google Marketplace","hash":"_installing_axon_server_using_google_marketplace","id":1},{"text":"Purpose and intended audience","hash":"_purpose_and_intended_audience","id":2},{"text":"Pre-requisites","hash":"_pre_requisites","id":3},{"text":"Required and recommended fields overview","hash":"_required_and_recommended_fields_overview","id":4},{"text":"Basic maintenance of your cluster","hash":"_basic_maintenance_of_your_cluster","id":5},{"text":"Check logs and VMs resources","hash":"_check_logs_and_vms_resources","id":6},{"text":"Update your Axon Server","hash":"_update_your_axon_server","id":7},{"text":"Secure your AxonServer installation","hash":"_secure_your_axonserver_installation","id":8}]},"200":{"id":200,"text":"Welcome to the Axon Synapse Quick Start Guide. Here, you’ll find everything necessary to get started with Axon Synapse and Axon Server. Axon Synapse is a standalone executable that enables non-Java applications to easily communicate with the Axon Server. This enables developers to send and receive commands, queries, and events from Axon Server using their preferred programming environments, such as: C# .NET Python 3 Python 2 Node.js Typescript Rust … and any language that supports HTTP Axon Synapse works as an HTTP Bridge between third party applications written in any HTTP-capable language to publish and consume (send and receive) commands, queries, and events from the Axon Server. Although developers have created various types of applications using Axon Synapse and Axon Server, it’s best suited for microservices architectures. Axon provides an innovative and powerful way of sensibly evolving to event-driven microservices within a microservices architecture.","title":"Axon Synapse Quick Start Guide","component":"synapse-quick-start","version":"v0.11","name":"index","url":"/synapse-quick-start/v0.11/","titles":[{"text":"Introducing Axon Synapse","hash":"_introducing_axon_synapse","id":1},{"text":"Axon Synapse architecture overview","hash":"_axon_synapse_architecture_overview","id":2}]},"201":{"id":201,"text":"To quickly get started with Axon Synapse, here are all the steps necessary to download and install Axon Synapse, Axon Server, and a basic demo application. Both Axon Synapse and Axon Server are standalone Java executables. Therefore, you need a development environment that supports Java and Maven to accomplish the steps in this guide. The \"AxonIQ Quick Start Toolkit\" package is available at https://download.axoniq.io/quickstart/AxonQuickStart.zip. The zip file contains the Axon Server (Standard Edition) and a sample Giftcard application, which you can use as an example application. Move the AxonQuickStart.zip to your preferred location and unzip the file. The first step is to get the Axon Server up and running since it’s the central point of communication in this example. To run the Axon Server, open a terminal window and cd to the folder where you unzipped the Quick Start file and execute the following command $ java -jar AxonServer/axonserver-{VERSION}.jar If your system can correctly execute JAR files, you should see the following status message on the command terminal. Figure 1. A screenshot of successfully started Axon Server Now you can visit the Axon Server’s Dashboard running on port 8024. It should look like the screenshot below. Figure 2. A screenshot of Axon Server’s Dashboard Click on the \"Overview\" tab on the left side to see a list of applications connected to your Axon Server instance. Figure 3. A screenshot of Axon Server’s overview page You only have the Axon Server running right now. Before you can run the Giftcard demo application, you need to build it. Use your preferred IDE or build tool to do so. Then execute the JAR file in a new terminal window. $ java -jar ./giftcard-demo-{VERSION}.jar --server.port=8081 In the command above, you’re telling the Giftcard app to use port 8081. Otherwise, it would bind to its default port (8080) which would conflict with Axon Synapse. You should see the following status message on the command terminal if the application starts correctly. Figure 4. A screenshot of successfully started Giftcard application Now that the Giftcard app is running, look again at the Axon Server’s Dashboard on port 8024. Figure 5. A screenshot of Axon Server’s overview page You can see that the Giftcard app has successfully connected to Axon Server. The final step is to download and install Axon Synapse. The Axon Synapse is available for download at https://download.axoniq.io/axonserver/axon-synapse.zip. The zip file contains the Axon Synapse as an executable JAR file. Move the JAR file to your preferred location. To run the Axon Synapse, open a terminal window, and cd to the folder where you moved the JAR file, and execute the JAR file. $ java -jar axon-synapse.jar You should see the following status message on the command terminal. Figure 6. A screenshot of successfully started Synapse application Now that you have Axon Synapse running, take one final look at the Axon Server’s Dashboard on port 8024. Figure 7. A screenshot of Axon Server’s overview page Now you have two applications running and connected to Axon Server: the Giftcard app and Axon Synapse. As previously mentioned, Axon Synapse runs on port 8080, so you can open a browser window to port 8080 to view the admin pages for Axon Synapse. Figure 8. A screenshot of Synapse’s admin interface You’ve just accomplished all the steps necessary to set up and configure Axon Synapse with Axon Server and a demo application.","title":"Installation","component":"synapse-quick-start","version":"v0.11","name":"installation","url":"/synapse-quick-start/v0.11/installation/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"Download the AxonIQ quick start toolkit","hash":"_download_the_axoniq_quick_start_toolkit","id":2},{"text":"Run the Axon Server","hash":"_run_the_axon_server","id":3},{"text":"Run the Giftcard demo application","hash":"_run_the_giftcard_demo_application","id":4},{"text":"Download the Axon Synapse","hash":"_download_the_axon_synapse","id":5},{"text":"Run the Axon Synapse","hash":"_run_the_axon_synapse","id":6}]},"202":{"id":202,"text":"You learned how to send messages to Axon Synapse in the previous section. In this one, you’ll listen to messages from Axon Synapse. Again the three message types you can listen for are commands, queries, and events. To accomplish the steps in this guide, you need to download and install Axon Synapse, Axon Server, and the Giftcard demo application. Before you continue, please complete the steps detailed on the Installation page. Additionally, you need to download and install Postman. Go to Postman’s download page for detailed instructions. When you send messages to Axon Synapse, you send HTTP requests. To receive messages, Axon Synapse sends HTTP requests to your application. You may create such an application in any language. From Axon Synapse’s perspective, all that matters is that it can receive an HTTP request and process the message in the payload. For the purposes of this example, you’ll simulate your application by using Postman’s mock server feature. A command message is a request to perform a specific operation. Axon Synapse sends such messages via regular HTTP requests. Select Mock Servers in Postman’s sidebar, then select +. Figure 1. A screenshot of the first step of creating the command handling mock in the Postman Next, give it a name. You can leave default values in other options. Figure 2. A screenshot of the second step of creating the command handling mock in the Postman The new mock server is ready and waiting for incoming messages. Figure 3. A screenshot of the command handling mock in the Postman You must inform Axon Synapse what commands it should send to the application (the mock server in this case). Sending a registration request to Axon Synapse, as demonstrated below, is one way to do it. (1) (2) (3) POST http://localhost:8080/v1/contexts/default/handlers/commands Content-Type: application/json { \"names\": [ \"io.axoniq.demo.giftcard.api.IssueCardCommand\" (4) ], \"endpoint\": \"https://cb5b8a7d-d2d1-4583-a6bc-31c70e9d0593.mock.pstmn.io/gift-cards\", (5) \"endpointType\": \"http-raw\", (6) \"clientId\": \"Postman\", (7) \"componentName\": \"Giftcard\" (8) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 v1/contexts/default/handlers/commands - registering a command handler 4 io.axoniq.demo.giftcard.api.IssueCardCommand - the command name 5 The command handler endpoint, in this example the Postman mock 6 The command handler endpoint type (http-raw means the payload is in the request’s body) 7 The unique identifier of the command handling application instance 8 The application of the application component Alternatively, you can use Axon Synapse’s UI to register the handler. Figure 4. A screenshot of registering the command handling mock in the Synapse UI If you configured the mock server correctly, there are now two command handlers in the system for the IssueCardCommand message. There is one in the Giftcard demo app and the Postman mock server you created. As new command messages of type IssueCardCommand arrive, they’re load-balanced between the two handlers. Go to the admin page for the Giftcard demo app and issue several new gift cards. Doing so creates and sends several IssueCardCommand command messages. At least some of them should go to Postman mock server. Once it receives such a command, you should see the content of the command and its meta-data, as on the screen below. Figure 5. A screenshot of a command captured by the Postman mock A query message is a request for information and so the handler must respond. Responding to a query message received from Axon Synapse is nothing more than replying to the HTTP request. You’ll use a Postman mock server again to simulate the behavior of an HTTP application. Select Mock Servers in Postman’s sidebar, then select +. Figure 6. A screenshot of the first step of creating the query handling mock in the Postman For the Response Body, you can use the template sown below. (1) (2) http-based-gift-card (3) 155 (4) 155 (5) 1 The response with list of gift cards 2 The first gift card 3 The id property 4 The initialValue property 5 The remainingValue property Proceed to the next step and give the mock a name. Figure 7. A screenshot of the second step of creating the query handling mock in the Postman Finally, you can listen to requests: Figure 8. A screenshot of the query handling mock in the Postman Go to the Collections tab and add headers to the response: AxonIQ-PayloadType: java.util.ArrayList Figure 9. A screenshot of the header view for query handling mock in the Postman You need to register the query handler with Axon Synapse as you did with the command handlers. The code below shows an example of doing so via the HTTP API. (1) (2) (3) POST http://localhost:8080/v1/contexts/default/handlers/queries Content-Type: application/json { \"names\": [ \"io.axoniq.demo.giftcard.api.FetchCardSummariesQuery\" (4) ], \"endpoint\": \"https://ac365f15-964b-4083-af93-1536f297fd7e.mock.pstmn.io/list-gift-cards/\", (5) \"endpointType\": \"http-raw\", (6) \"clientId\": \"Postman\", (7) \"componentName\": \"Giftcard\" (8) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 v1/contexts/default/handlers/queries - creating a query handler 4 io.axoniq.demo.giftcard.api.FetchCardSummariesQuery - the query name 5 The query handler endpoint, in this example the Postman mock 6 The query handler endpoint type (http-raw means the payload is in the request’s body) 7 The unique identifier of the command handling application instance 8 The application of the application component Alternatively, you can use Axon Synapse’s UI to register the handler. Figure 10. A screenshot of registering the query handling mock in the Synapse UI Again, if you configured everything correctly, there are two query handlers for the FetchCardSummariesQuery - the one from the Giftcard demo app and the one from Postman’s mock server. Therefore, routing a query to the mock server may take several tries. You can test the query handler using the Giftcard demo app or Synapse HTTP query. Figure 11. A screenshot of a query result returned by the Postman mock in the Giftcard demo application UI Axon Synapse can send events to your application through HTTP requests, one by one, ordered by the sequence index. Create a new Mock Server in the Postman. Figure 12. A screenshot of the first step of creating the event handling mock in the Postman Figure 13. A screenshot of the second step of creating the event handling mock in the Postman Figure 14. A screenshot of the event handling mock in the Postman As with the other message types, you must register the event handler in Axon Synapse. Below is an example of the HTTP API approach. (1) (2) (3) POST http://localhost:8080/v1/contexts/default/handlers/events Content-Type: application/json { \"names\": [ \"io.axoniq.demo.giftcard.api.CardIssuedEvent\" (4) ], \"endpoint\": \"https://1d5cae3d-b328-4565-a36b-2d4a49de79de.mock.pstmn.io/card-issued\", (5) \"endpointType\": \"http-raw\", (6) \"clientId\": \"Postman\", (7) \"componentName\": \"Giftcard\" (8) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 v1/contexts/default/handlers/events - creating an event handler 4 io.axoniq.demo.giftcard.api.CardIssuedEvent - the event type 5 The event handler endpoint, in this example the Postman mock 6 The event handler endpoint type (http-raw means the payload is in the request’s body) 7 The unique identifier of the event-handling application instance 8 The application of the application component Similarly to the earlier examples, you can use Synapse UI. Figure 15. A screenshot of registering the event handling mock in the Synapse UI As soon as you register the event handler, you should see the events in Postman’s mock server window. Figure 16. A screenshot of an event captured by the Postman mock","title":"Receive Messages with Postman","component":"synapse-quick-start","version":"v0.11","name":"postman-receive","url":"/synapse-quick-start/v0.11/postman-receive/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"Postman mock servers","hash":"_postman_mock_servers","id":2},{"text":"Handle a command message","hash":"_handle_a_command_message","id":3},{"text":"Create a dedicated mock server","hash":"_create_a_dedicated_mock_server","id":4},{"text":"Configure Axon Synapse to send commands to the mock server","hash":"_configure_axon_synapse_to_send_commands_to_the_mock_server","id":5},{"text":"Confirm it works","hash":"_confirm_it_works","id":6},{"text":"Handle a query message","hash":"_handle_a_query_message","id":7},{"text":"Create a dedicated mock server","hash":"_create_a_dedicated_mock_server_2","id":8},{"text":"Configure Axon Synapse to send queries to the mock server","hash":"_configure_axon_synapse_to_send_queries_to_the_mock_server","id":9},{"text":"Confirm it works","hash":"_confirm_it_works_2","id":10},{"text":"Handle an event message","hash":"_handle_an_event_message","id":11},{"text":"Create a dedicated mock server","hash":"_create_a_dedicated_mock_server_3","id":12},{"text":"Configure Axon Synapse to send events to the mock server","hash":"_configure_axon_synapse_to_send_events_to_the_mock_server","id":13},{"text":"Confirm it works","hash":"_confirm_it_works_3","id":14}]},"203":{"id":203,"text":"Postman is popular development tool allowing to interact with web applications over HTTP. You can use it to communicate with Axon Synapse, to send commands, queries, and events to Axon Server. To accomplish the steps in this guide, you need to download and install Axon Synapse, Axon Server, and the Giftcard demo application. Please complete the steps detailed on the Installation page before you continue. Additionally, you need to download and install Postman. Go to Postman’s download page for detailed instructions. In order to manage the Giftcard application, browse to the admin page for the application on port 8081. Figure 1. A screenshot of the Giftcard demo application UI By default, the Giftcard application starts up without any gift cards created, however, by using the UI shown above, you can create sample cards with balances. To experiment with sending a command over HTTP, you’re going to create a new gift card for $55 with a cardID of, \"sample-card-6\". Below are the details of the HTTP POST request that Axon Synapse expects. (1) (2) (3) (4) POST http://localhost:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.IssueCardCommand Content-Type: application/xml (5) (6) sample-card-6 (7) 55 (8) 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 /v1/contexts/default/commands/ - sending a command 4 io.axoniq.demo.giftcard.api.IssueCardCommand - the command name 5 The command payload is in XML format 6 The command payload type (the same as the command name in this case) 7 The value of the id field 8 The value of the amount field The screenshot below shows how you can configure this request in Postman: Figure 2. A screenshot of the Postman UI After sending the request, return back to the admin page for the Giftcard demo app to see that the application issued a new gift card (with a balance of 55$). Figure 3. A screenshot of the Giftcard demo application UI You’ve just accomplished all the steps to send a command using an ordinary HTTP POST request to Axon Synapse. Axon Synapse (in turn) relayed the message to Axon Server, which gave the command message to its appropriate command handler. To experiment with sending a query over HTTP, list the gift cards you’ve created in the previous section. Read the listing below to see the HTTP POST request that Axon Synapse expects. (1) (2) (3) (4) POST http://localhost:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.FetchCardSummariesQuery AxonIQ-PayloadType: io.axoniq.demo.giftcard.api.FetchCardSummariesQuery (5) AxonIQ-ResponseType: io.axoniq.demo.giftcard.api.CardSummary (6) AxonIQ-ResponseCardinality: multiple (7) Content-Type: application/xml (8) (5) 0 (9) 10 (10) 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 /v1/contexts/default/queries/ - sending a query 4 io.axoniq.demo.giftcard.api.FetchCardSummariesQuery - the query name 5 The payload type 6 The response payload type 7 Expect multiple responses (list) 8 The query payload is in XML format 9 The value of the offset field 10 The value of the limit field The screenshot below shows how you can configure this request in Postman: Figure 4. A screenshot of the Postman UI To experiment with publishing an event over HTTP, you’ll redeem an amount from an already existing gift card. Read the listing below to see the HTTP POST request that Axon Synapse expects. (1) (2) (3) (4) POST http://localhost:8080/v1/contexts/default/events/io.axoniq.demo.giftcard.api.CardRedeemedEvent AxonIQ-AggregateId: sample-card-6 (5) AxonIQ-AggregateType: Giftcard (6) AxonIQ-SequenceNumber: 1 (7) Content-Type: application/json (8) { \"id\": \"sample-card-6\", (9) \"amount\": 4 (10) } 1 POST - indicates a POST request 2 http://localhost:8080 - the instance of Axon Synapse 3 /v1/contexts/default/events/ - sending a query 4 io.axoniq.demo.giftcard.api.CardRedeemedEvent - the event name 5 The aggregate ID 6 The aggregate type 7 The event sequence number 8 The event payload is in JSON format 9 The value of the id field 10 The value of the amount field The screenshot below shows how you can configure this request in Postman: Figure 5. A screenshot of the Postman UI Return to the admin page for the Giftcard demo app to confirm the system deducted the amount from the gift card. Figure 6. A screenshot of the Giftcard demo application UI Alternatively, you can look at the Search Page on the Axon Server Dashboard Figure 7. A screenshot of Axon Server’s Dashboard","title":"Send Messages with Postman","component":"synapse-quick-start","version":"v0.11","name":"postman-send","url":"/synapse-quick-start/v0.11/postman-send/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"Examining the Giftcard demo application","hash":"_examining_the_giftcard_demo_application","id":2},{"text":"Send a command from Postman to Giftcard demo via Axon Synapse","hash":"_send_a_command_from_postman_to_giftcard_demo_via_axon_synapse","id":3},{"text":"Send a query from Postman to Giftcard demo via Axon Synapse","hash":"_send_a_query_from_postman_to_giftcard_demo_via_axon_synapse","id":4},{"text":"Publish an event from Postman to Giftcard demo via Axon Synapse","hash":"_publish_an_event_from_postman_to_giftcard_demo_via_axon_synapse","id":5}]},"204":{"id":204,"text":"When using Synapse there are three different areas of access control: Access to the Synapse API or user interface Access to Axon Server for sending messages Access to the handlers for receiving messages To control access to the Synapse API for registering handlers, the administrator must enable access control through the synapse.auth.enabled property. If access control is on, all the APIs that work on Synapse configuration expect clients to provide either a valid username and password combination or a valid token. A valid username/password combination is such that exists in Axon Server so it can verify the user has the correct roles for the request. Same for the token, it must exist in Axon Server with the required role. The required roles for the specific request types are: GET ADMIN@_admin, VIEW_CONFIGURATION@_admin (to get information from any context), ADMIN@context, USE_CONTEXT@context (to get information from a specific context) other ADMIN@_admin, ADMIN@context If you are using Axon Synapse in combination with Axon Server Standard edition the token must be the token specified in the Axon Server axoniq.axonserver.accesscontrol.token property for the GET operations, and the axoniq.axonserver.accesscontrol.admin-token property for the other requests. When a client sends a request to Synapse, it needs to provide a token to authenticate itself. The client must provide this token through the X-API-KEY header. The token must be valid in Axon Server, for an application to execute the request type in the specified context. The application may provide this header, even if the synapse.auth.enabled property is false. If you are using Axon Synapse in combination with Axon Server Standard edition the token must be the token specified in the Axon Server axoniq.axonserver.accesscontrol.token property. When you register a request handler in Synapse, you can specify two types of tokens: client token server token The client token is the token that Synapse passes to the request handler. This way you can protect the request handler from illegal access. Axon Synapse passes the client token to the request handler as a Bearer token in the Authentication header. Axon Server verifies the server token on requests to register the handler. It needs to be a valid application token, with a role that allows registering that type of handler. For instance, to register a command handler, you need the token of an application to contain one of the following roles in Axon Server: SUBSCRIBE_COMMAND_HANDLER, WRITE, or USE_CONTEXT. If you are using Axon Synapse in combination with Axon Server Standard edition the token must be the token specified in the Axon Server axoniq.axonserver.accesscontrol.token property.","title":"Access Control","component":"synapse-reference","version":"v0.11","name":"access-control","url":"/synapse-reference/v0.11/access-control/","titles":[{"text":"Access to the Axon Synapse API","hash":"_access_to_the_axon_synapse_api","id":1},{"text":"Sending messages","hash":"_sending_messages","id":2},{"text":"Receiving messages","hash":"_receiving_messages","id":3}]},"205":{"id":205,"text":"","title":"Aggregates","component":"synapse-reference","version":"v0.11","name":"aggregates","url":"/synapse-reference/v0.11/aggregates/","titles":[]},"206":{"id":206,"text":"While these configuration options are still valid, please migrate to the new ones specified below. In future releases, these configuration options might no longer exists. Comma-separated list of Axon Servers. The property is deprecated. Please use synapse.axonServer.server-list instead. SYNAPSE_SERVERLIST localhost Whether Axon Server connection is TLS encrypted The property is deprecated. Please use synapse.axonServer.tlsEnabled instead. SYNAPSE_USETLS Path to the file with a certificate The property is deprecated. Please use synapse.axonServer.trustManagerFile instead. SYNAPSE_CERTIFICATECHAIN Comma-separated list of known Axon Server instances. See \"TLS for outgoing connections to AxonServer\" below for TLS settings SYNAPSE_AXONSERVER_SERVERLIST localhost:8124 gRPC max inbound message size SYNAPSE_AXONSERVER_MAXMESSAGESIZE 4MB HTTP port of Axon Server. See \"TLS for outgoing connections to AxonServer\" below for TLS settings SYNAPSE_AXONSERVERHTTP_PORT 8024 Path in Axon Server used to retrieve information about other synapse instances SYNAPSE_AXONSERVERHTTP_CLIENTSFORCOMPONENTENDPOINTSPATH v1/components/clients Synapse instance identifier as seen by the Axon Server SYNAPSE_CLIENTID JVM process name Synapse component name as seen by the Axon Server SYNAPSE_COMPONENTNAME synapse Synapse client component name as seen by the Axon Server SYNAPSE_CLIENTCOMPONENTNAME synapse-client Duration of inactivity, after which Synapse closes the connection to the Axon Server SYNAPSE_CONNECTIONTIMEOUT 30s The name of the default Axon Server context. It’s applied when the environment doesn’t provide context listing, for example, AS SE or AxonIQ Cloud. SYNAPSE_DEFAULTCONTEXT default Comma-separated list of Axon Server’s REST endpoints for fallback (applies for AS before 2023.0.0) SYNAPSE_HTTPENDPOINTS Context this synapse instance connects to SYNAPSE_INTERNAL_CONTEXT _admin Client id used by this synapse instance. Important if using multiple synapse instances. SYNAPSE_INTERNAL_CLIENTID unspecifiedSynapseInstance Component name used when contacting Axon Server. Should be the same for all synapse instances. SYNAPSE_INTERNAL_COMPONENTNAME synapse Whether Synapse configuration APIs expect clients to provide username/password combination or token SYNAPSE_AUTH_ENABLED false Axon Server access control token. Used by synapse to connect to AxonServer SYNAPSE_AUTH_TOKEN Encryption key for securing sensitive data. It’s not possible to change the key once set without recreating authentication objects. SYNAPSE_AUTH_SENSITIVEDATAENCRYPTIONKEY Whether to enable TLS for connections from synapse to Axon Server via gRPC SYNAPSE_AXONSERVER_TLSENABLED false File containing a trust manager for specifying trust for certificates presented by Axon Server via gRPC SYNAPSE_AXONSERVER_TRUSTMANAGERFILE Whether to enable TLS for connections from synapse to Axon Server via http SYNAPSE_AXONSERVERHTTP_TLSENABLED false File containing a trust manager for specifying trust for certificates presented by Axon Server via http SYNAPSE_AXONSERVERHTTP_TRUSTMANAGERFILE File containing a trust manager for specifying trust for certificates presented by client applications SYNAPSE_SYNAPSEHANDLERSHTTP_TRUSTMANAGERFILES Whether to enable TLS for connections coming to synapse SYNAPSE_SERVER_TLSENABLED false A file containing a key store. Synapse expects either PKCS12 or JKS as a file format SYNAPSE_SERVER_KEYSTOREFILE The password for the selected key store SYNAPSE_SERVER_KEYSTOREPASSWORD The type of the selected key store. Synapse expects either PKCS12 or JKS SYNAPSE_SERVER_KEYSTORETYPE Allowed origins as defined in Cross-Origin Resource Sharing (CORS) SYNAPSE_SECURITY_CORSALLOWEDORIGINS * The number of events the Synapse is pre-fetching SYNAPSE_EVENT_STREAMING_BUFFERSIZE 100 Interval at which Synapse tries to reconnect to Axon Server for subscribing to streams to receive updates for event handlers. SYNAPSE_EVENTHANDLER_SUBSCRIPTIONRETRYINTERVAL 2s Used storage backend. Valid values are axonserver and local. Refer to Storage. SYNAPSE_STORAGE_TYPE local Context to use when using axonserver as the storage backend SYNAPSE_STORAGE_CONTEXT synapse Component-name to use when using axonserver as the storage backend. Has to be the same on all Synapse instances. SYNAPSE_STORAGE_COMPONENTNAME synapse-storage Minimum amount of events an event-token (an event processor) needs to have progressed before it stores progress back to configuration. SYNAPSE_STORAGE_MINTOKENOFFSET 100 Authentication token used for the storage component to connect to Axon Server. This may be different from the system token used. SYNAPSE_STORAGE_TOKEN Interval at which Synapse retries to contact Axon Server for the first time to retrieve storage-related information. SYNAPSE_STORAGE_INITIALSUBSCRIPTION_RETRYINTERVAL 2s Interval at which Synapse retries to contact Axon Server to retrieve storage-related information. SYNAPSE_STORAGE_SUBSCRIPTION_RETRYINTERVAL 2s Ensure these properties are the same on all Synapse instances except you have good reasons to do otherwise. Whether or not to enable balancing of event handlers between synapse instances. Refer to High Availability. SYNAPSE_EVENTHANDLER_BALANCING_ENABLED false Timeout for contacting AS to discover synapse topology SYNAPSE_EVENTHANDLER_BALANCING_SYNAPSEDISCOVERY_TIMEOUT 3s Interval for retrying to contact AS to discover synapse topology SYNAPSE_EVENTHANDLER_BALANCING_SYNAPSEDISCOVERY_RETRYINTERVAL 3s Interval for polling new synapse discovery from AS. If zero, Synapse relies on topology updates via WebSocket instead of polling SYNAPSE_EVENTHANDLER_BALANCING_SYNAPSEDISCOVERY_POLLINTERVAL 0s Specifies the endpoint to use for the WS connection to detect topology updates SYNAPSE_EVENTHANDLER_BALANCING_WEBSOCKET_PLATFORMENDPOINT axonserver-platform-websocket Interval of attempting reconnects of the WS connection SYNAPSE_EVENTHANDLER_BALANCING_WEBSOCKET_RECONNECTINTERVAL 3s Inertia Synapse to changes in configuration. Synapse waits for at least the configured amount of time before applying a bunch of new changes. This allows Synapse to process multiple changes in one go SYNAPSE_EVENTHANDLER_BALANCING_HANDLERRUNINTERTIA 5s Name of the hashing function to use to decide which Synapse instance takes which handler. Valid values are MURMUR3_32, MURMUR3_128, SHA256, SHA512 SYNAPSE_EVENTHANDLER_BALANCING_CONSISTENTHASHINGFUNCTION MURMUR3_32","title":"Configuration","component":"synapse-reference","version":"v0.11","name":"configuration","url":"/synapse-reference/v0.11/configuration/","titles":[{"text":"Configuration properties","hash":"_configuration_properties","id":1},{"text":"Deprecated settings for Axon Server connection","hash":"_deprecated_settings_for_axon_server_connection","id":2},{"text":"synapse.server-list","hash":"_synapse_server_list","id":3},{"text":"synapse.use-tls","hash":"_synapse_use_tls","id":4},{"text":"synapse.certificate-chain","hash":"_synapse_certificate_chain","id":5},{"text":"Axon Server connection","hash":"_axon_server_connection","id":6},{"text":"synapse.axon-server.server-list","hash":"_synapse_axon_server_server_list","id":7},{"text":"synapse.axon-server.max-message-size","hash":"_synapse_axon_server_max_message_size","id":8},{"text":"synapse.axon-server-http.port","hash":"_synapse_axon_server_http_port","id":9},{"text":"synapse.axon-server-http.clients-for-component-endpoints-path","hash":"_synapse_axon_server_http_clients_for_component_endpoints_path","id":10},{"text":"synapse.client-id","hash":"_synapse_client_id","id":11},{"text":"synapse.component-name","hash":"_synapse_component_name","id":12},{"text":"synapse.client-component-name","hash":"_synapse_client_component_name","id":13},{"text":"synapse.connection-timeout","hash":"_synapse_connection_timeout","id":14},{"text":"synapse.default-context","hash":"_synapse_default_context","id":15},{"text":"Security","hash":"_security","id":16},{"text":"synapse.http-endpoints","hash":"_synapse_http_endpoints","id":17},{"text":"Authentication and authorization","hash":"_authentication_and_authorization","id":18},{"text":"synapse.internal.context","hash":"_synapse_internal_context","id":19},{"text":"synapse.internal.client-id","hash":"_synapse_internal_client_id","id":20},{"text":"synapse.internal.component-name","hash":"_synapse_internal_component_name","id":21},{"text":"synapse.auth.enabled","hash":"_synapse_auth_enabled","id":22},{"text":"synapse.auth.token","hash":"_synapse_auth_token","id":23},{"text":"synapse.auth.sensitive-data-encryption-key","hash":"_synapse_auth_sensitive_data_encryption_key","id":24},{"text":"TLS for outgoing connections to AxonServer","hash":"_tls_for_outgoing_connections_to_axonserver","id":25},{"text":"synapse.axon-server.tls-enabled","hash":"_synapse_axon_server_tls_enabled","id":26},{"text":"synapse.axon-server.trust-manager-file","hash":"_synapse_axon_server_trust_manager_file","id":27},{"text":"synapse.axon-server-http.tls-enabled","hash":"_synapse_axon_server_http_tls_enabled","id":28},{"text":"synapse.axon-server-http.trust-manager-file","hash":"_synapse_axon_server_http_trust_manager_file","id":29},{"text":"TLS for outgoing connections client applications","hash":"_tls_for_outgoing_connections_client_applications","id":30},{"text":"synapse.synapse-handlers-http.trust-manager-files","hash":"_synapse_synapse_handlers_http_trust_manager_files","id":31},{"text":"TLS for incoming connections","hash":"_tls_for_incoming_connections","id":32},{"text":"synapse.server.tls-enabled","hash":"_synapse_server_tls_enabled","id":33},{"text":"synapse.server.key-store-file","hash":"_synapse_server_key_store_file","id":34},{"text":"synapse.server.key-store-password","hash":"_synapse_server_key_store_password","id":35},{"text":"synapse.server.key-store-type","hash":"_synapse_server_key_store_type","id":36},{"text":"Other security related settings for synapse","hash":"_other_security_related_settings_for_synapse","id":37},{"text":"synapse.security.cors-allowed-origins","hash":"_synapse_security_cors_allowed_origins","id":38},{"text":"Events","hash":"_events","id":39},{"text":"synapse.event.streaming.buffer-size","hash":"_synapse_event_streaming_buffer_size","id":40},{"text":"synapse.event-handler.subscription.retry-interval","hash":"_synapse_event_handler_subscription_retry_interval","id":41},{"text":"Storage","hash":"_storage","id":42},{"text":"synapse.storage.type","hash":"_synapse_storage_type","id":43},{"text":"synapse.storage.context","hash":"_synapse_storage_context","id":44},{"text":"synapse.storage.component-name","hash":"_synapse_storage_component_name","id":45},{"text":"synapse.storage.min-token-offset","hash":"_synapse_storage_min_token_offset","id":46},{"text":"synapse.storage.token","hash":"_synapse_storage_token","id":47},{"text":"synapse.storage.initial-subscription.retry-interval","hash":"_synapse_storage_initial_subscription_retry_interval","id":48},{"text":"synapse.storage.subscription.retry-interval","hash":"_synapse_storage_subscription_retry_interval","id":49},{"text":"High availability","hash":"_high_availability","id":50},{"text":"synapse.event-handler.balancing.enabled","hash":"_synapse_event_handler_balancing_enabled","id":51},{"text":"synapse.event-handler.balancing.synapse-discovery.timeout","hash":"_synapse_event_handler_balancing_synapse_discovery_timeout","id":52},{"text":"synapse.event-handler.balancing.synapse-discovery.retry-interval","hash":"_synapse_event_handler_balancing_synapse_discovery_retry_interval","id":53},{"text":"synapse.event-handler.balancing.synapse-discovery.poll-interval","hash":"_synapse_event_handler_balancing_synapse_discovery_poll_interval","id":54},{"text":"synapse.event-handler.balancing.web-socket.platform-endpoint","hash":"_synapse_event_handler_balancing_web_socket_platform_endpoint","id":55},{"text":"synapse.event-handler.balancing.web-socket.reconnect-interval","hash":"_synapse_event_handler_balancing_web_socket_reconnect_interval","id":56},{"text":"synapse.event-handler.balancing.handler-run-inertia","hash":"_synapse_event_handler_balancing_handler_run_inertia","id":57},{"text":"synapse.event-handler.balancing.consistent-hashing-function","hash":"_synapse_event_handler_balancing_consistent_hashing_function","id":58}]},"207":{"id":207,"text":"Welcome to the Axon Synapse Reference documentation. A few important parts of this documentation: If you are looking for a quick start, refer to the Quick Start Guide To install synapse, refer to Installation docs. For your implementations of clients, refer to the API documentation.","title":"Axon Synapse Reference Documentation","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/","titles":[]},"208":{"id":208,"text":"Axon Synapse is available for download at https://download.axoniq.io/axonserver/axon-synapse.zip. The zip file contains Axon Synapse as an executable JAR file. Move the JAR file to your preferred location. Synapse reads configuration from the axonsynapse.properties file in the startup directory. You can also provide properties as parameters for the Java process, or as environment variables. The default HTTP port for Synapse is 8080. You can customize this by setting the server.port property. For Synapse to work it’s important that it can connect to Axon Server. To specify the location of the Axon Server nodes, specify the property synapse.server-list. This is a comma separated list of host names and optional port numbers. For example, to use 3 axon server nodes: synapse.server-list=axonserver1,axonserver2,axonserver3 For example, an axon server node using a custom gRPC port (not 8124): synapse.server-list=axonserver:7124 If you configure Axon Server to use transport layer security (TLS) for the gRPC communication, you need to perform additional steps to configure your installation. In this case, set the property synapse.use-tls to true. If Axon Server requires authentication, you need to specify a token that Synapse uses to connect to Axon Server for its internal tasks (like retrieving the existing contexts). Create the synapse.auth.token property. This token should have an ADMIN or VIEW_CONFIGURATION role to get all contexts from Axon Server, or it can have roles for specific contexts to only get those contexts. Please refer to the Configuration section for more information. To run Axon Synapse, open a terminal window, and cd to the folder where you moved the JAR file, and execute the JAR file. $ java -jar axon-synapse.jar You should see the following status message on the command terminal. Started Synapse in 5.268 seconds (JVM running for 6.321) You can access the Synapse admin interface using a browser at port 8080.","title":"Installation","component":"synapse-reference","version":"v0.11","name":"installation","url":"/synapse-reference/v0.11/installation/","titles":[{"text":"Download Axon Synapse","hash":"_download_axon_synapse","id":1},{"text":"Configuration","hash":"_configuration","id":2},{"text":"Run Axon Synapse","hash":"_run_axon_synapse","id":3}]},"209":{"id":209,"text":"Within Axon Server you can define multiple contexts. When registering handlers or sending messages you need to provide the name of the context this applies to. The context name is part of the URL used to send the request. The following URL demonstrates how to register a command handler in the orders context: http://{synapse-host-and-port}/v1/contexts/orders/handlers/commands To send a command to the finance context use a URL like this: http://{synapse-host-and-port}/v1/contexts/finance/commands/{command-name}","title":"Multi-Context","component":"synapse-reference","version":"v0.11","name":"multi-context","url":"/synapse-reference/v0.11/multi-context/","titles":[]},"210":{"id":210,"text":"The purpose of Axon Synapse is to help software developers design and build solutions. It’s an HTTP bridge between applications in any language and the Axon Server.","title":"High-Level Overview","component":"synapse-reference","version":"v0.11","name":"overview","url":"/synapse-reference/v0.11/overview/","titles":[]},"211":{"id":211,"text":"Any service available at an accessible URL can be a command handler. Synapse can send commands to such services via HTTP requests. The service must be able to handle requests containing commands. A command handler may return a response message or send a status without a body. Axon Synapse can send HTTP requests containing commands in two different ways. Each endpoint that registers as a command handler must support one of them. Axon Synapse serializes a single command directly into the HTTP request’s body when interacting with http-raw endpoints. It provides all other relevant information in the HTTP headers of the request: Content-Type AxonIQ-MessageId AxonIQ-CommandName AxonIQ-PayloadType AxonIQ-Priority Please refer to the API documentation for detailed information about the HTTP request structure. When interacting with http-message endpoints, Axon Synapse generates a JSON message that contains the serialized command and all information related to the command. It then sends that JSON message in the HTTP request’s body. Please refer to the API documentation for detailed information about the HTTP request structure. Command handlers must explicitly register in Axon Synapse to receive commands from Axon Server. There are two ways to register a command handler - using Synapse’s Web interface or through the Synapse HTTP API. In both cases, Axon Synapse needs the following information: Command names a list of names for the commands that this handler can handle Client ID unique id for the handler application instance Component name a logical name for the handler application HTTP Endpoint the URL of the handler Endpoint Type specifies whether the handler expects a raw or message request type Endpoint Options any key/value pairs that Axon Synapse should include in requests to the handler (as HTTP headers) Load Factor relative weight for this handler, if there are multiple handlers for a command, handlers with a higher load factor get a higher percentage of the requests. For a full list of parameters, including optional ones, please refer to the API documentation. To register a command handler via Axon Synapse UI, go to Command Handlers Register new command handler and fill in the form: To register a command handler via Axon Synapse API, send a JSON request to the respective endpoint. You can find detailed information about the endpoint in the API documentation. Below is a sample JSON request to register a handler: POST http://synapse:8080/v1/contexts/default/handlers/commands Content-Type: application/json { \"names\": [ \"local.application.client.Command\" ], \"endpoint\": \"https://client.application.local/v1/message\", \"endpointType\": \"http-raw\", \"endpointOptions\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"clientId\": \"application-name-7c78946494-p86ts\", \"componentName\": \"application-name\", \"loadFactor\": 100, \"concurrency\": 1, \"enabled\": true } For a given command handler, synapse allows you to specify the maximum amount of concurrent requests, Synapse calls your application with. You can achieve this by setting the maxConcurrency parameter for a given registration. Synapse does however never send you two concurrent requests for the same routing key. This allows you not to keep track of ordering of concurrent requests. However, this also might lead to lower rates of concurrent processing than specified in the maxConcurrency parameter. The decision-making whether Synapse may send a request concurrently, works in the following order: 1. ensure there are less than maxConcurrency requests already ongoing. 2. ensure there is no other request running for the current routingKey. While this may allow a lot of requests for the same routingKey block processing for commands of a different routing key that arrive later and Synapse could forward it, this approach the safest and most defensive one. Note that the maxConcurrency parameter refers to the maximum amount of concurrent requests. Depending on your routing key, your application might observe a lower amount of concurrency (see section above).","title":"Receiving Commands","component":"synapse-reference","version":"v0.11","name":"receiving-commands","url":"/synapse-reference/v0.11/receiving-commands/","titles":[{"text":"Endpoint types","hash":"_endpoint_types","id":1},{"text":"http-raw","hash":"_http_raw","id":2},{"text":"http-message","hash":"_http_message","id":3},{"text":"Registering command handlers","hash":"_registering_command_handlers","id":4},{"text":"Registering a command handler via Axon Synapse UI","hash":"_registering_a_command_handler_via_axon_synapse_ui","id":5},{"text":"Registering a command handler via Axon Synapse API","hash":"_registering_a_command_handler_via_axon_synapse_api","id":6},{"text":"Concurrency control","hash":"_concurrency_control","id":7}]},"212":{"id":212,"text":"Any service available at an accessible URL can be an event handler. Synapse can send events to such services via HTTP requests. The service must be able to handle requests containing events. Axon Synapse can send HTTP requests containing events in three different ways. Each endpoint that registers as an event handler must support one of them. Axon Synapse serializes a single event directly into the HTTP request’s body when interacting with http-raw endpoints. It provides all other relevant information in the HTTP headers of the request: Content-Type AxonIQ-MessageId AxonIQ-EventName AxonIQ-DateTime AxonIQ-Index AxonIQ-AggregateId AxonIQ-AggregateType AxonIQ-SequenceNumber Please refer to the API documentation for detailed information about the HTTP request structure. When interacting with http-message endpoints, Axon Synapse generates a JSON message that contains the serialized event and all information related to the event. It then sends that JSON message in the HTTP request’s body. Please refer to the API documentation (select application/json request body schema) for detailed information about the HTTP request structure. When interacting with http-list-of-messages endpoints, Axon Synapse generates a JSON message that contains a list of events. Each element includes a serialized event and all additional information relevant to the event. Please refer to the API documentation (select application/vnd.axoniq.event.list+json request body schema) for detailed information about the HTTP request structure. Event handlers must explicitly register in Axon Synapse to receive events from Axon Server. There are two ways to register an event handler - using Synapse’s Web interface or through the Synapse HTTP API. In both cases, Axon Synapse needs the following information: Event names a list of event type names that this handler can handle (when empty, the handler receives all events) Client ID unique ID for the handler application instance Component name a logical name for the handler application HTTP Endpoint the URL of the handler Endpoint Type specifies whether the handler expects a raw or message request type Endpoint Options any key/value pairs that Axon Synapse should include in requests to the handler (as HTTP headers) Batch size the maximum number of events that Synapse sends in one request to the handler if the endpoint type is http-list-of-messages. Start the global index of the first event to read from the event store (use 0 to start from the first event, use -1 to start from the last event) To register an event handler via Axon Synapse UI, go to Event Handlers Register new event handler and fill in the form: To register an event handler via Axon Synapse API, send a JSON request to the respective endpoint. You can find detailed information about the endpoint in the API documentation. Below is a sample JSON request to register a handler: POST http://synapse:8080/v1/contexts/default/handlers/events Content-Type: application/json { \"names\": [ \"local.application.client.Event\" ], \"endpoint\": \"https://client.application.local/v1/message\", \"endpointType\": \"http-raw\", \"endpointOptions\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"clientId\": \"application-name-7c78946494-p86ts\", \"componentName\": \"application-name\", \"batchSize\": 0, \"start\": 0, \"enabled\": true }","title":"Receiving Events","component":"synapse-reference","version":"v0.11","name":"receiving-events","url":"/synapse-reference/v0.11/receiving-events/","titles":[{"text":"Endpoint types","hash":"_endpoint_types","id":1},{"text":"http-raw","hash":"_http_raw","id":2},{"text":"http-message","hash":"_http_message","id":3},{"text":"http-list-of-messages","hash":"_http_list_of_messages","id":4},{"text":"Registering event handlers","hash":"_registering_event_handlers","id":5},{"text":"Registering an event handler via Axon Synapse UI","hash":"_registering_an_event_handler_via_axon_synapse_ui","id":6},{"text":"Registering an event handler via Axon Synapse API","hash":"_registering_an_event_handler_via_axon_synapse_api","id":7}]},"213":{"id":213,"text":"You can register handlers in Axon Synapse to receive messages via HTTP from Axon Server. Synapse supports three types of messages: Commands Queries Events In general, Synapse uses two forms to send HTTP requests to handlers: http-raw where the HTTP content is the actual payload of the message, and all additional information is in the HTTP headers (see Client Raw API for details) http-message, where the HTTP content is a JSON object containing the message and all the relevant information (see Client Message API for details)","title":"Receiving Messages","component":"synapse-reference","version":"v0.11","name":"receiving-messages","url":"/synapse-reference/v0.11/receiving-messages/","titles":[]},"214":{"id":214,"text":"Any service available at an accessible URL can be a query handler. Synapse can send events to such services via HTTP requests. The service must be able to handle requests containing queries and respond to them. Axon Synapse can send HTTP requests containing queries in two different ways. Each endpoint that registers as a query handler must support one of them. Axon Synapse serializes a single query directly into the HTTP request’s body when interacting with http-raw endpoints. It provides all other relevant information in the HTTP headers of the request: Content-Type AxonIQ-MessageId AxonIQ-QueryName AxonIQ-PayloadType Please refer to the API documentation for detailed information about the HTTP request structure. When interacting with http-message endpoints, Axon Synapse generates a JSON message containing the serialized query and all related information. It then sends that JSON message in the HTTP request’s body. Please refer to the API documentation for detailed information about the HTTP request structure. Query handlers must explicitly register in Axon Synapse to receive queries from Axon Server. There are two ways to register a query handler - using Synapse’s Web interface or through the Synapse HTTP API. In both cases, Axon Synapse needs the following information: Query names a list of names for the commands that this handler can handle Client ID unique ID for the handler application instance Component name a logical name for the handler application HTTP Endpoint the URL of the handler Endpoint Type specifies whether the handler expects a raw or message request type Endpoint Options any key/value pairs that Axon Synapse should include in requests to the handler (as HTTP headers) To register a query handler via Axon Synapse UI, go to Query Handlers Register new query handler and fill in the form: To register a query handler via Axon Synapse API, send a JSON request to the respective endpoint. You can find detailed information about the endpoint in the API documentation. Below is a sample JSON request to register a handler: POST http://synapse:8080/v1/contexts/default/handlers/queries Content-Type: application/json { \"names\": [ \"local.application.client.Query\" ], \"endpoint\": \"https://client.application.local/v1/message\", \"endpointType\": \"http-raw\", \"endpointOptions\": [ { \"key\": \"string\", \"value\": \"string\" } ], \"clientId\": \"application-name-7c78946494-p86ts\", \"componentName\": \"application-name\", \"enabled\": true }","title":"Receiving Queries","component":"synapse-reference","version":"v0.11","name":"receiving-queries","url":"/synapse-reference/v0.11/receiving-queries/","titles":[{"text":"Endpoint types","hash":"_endpoint_types","id":1},{"text":"http-raw","hash":"_http_raw","id":2},{"text":"http-message","hash":"_http_message","id":3},{"text":"Registering query handlers","hash":"_registering_query_handlers","id":4},{"text":"Registering a query handler via Axon Synapse UI","hash":"_registering_a_query_handler_via_axon_synapse_ui","id":5},{"text":"Registering a query handler via Axon Synapse API","hash":"_registering_a_query_handler_via_axon_synapse_api","id":6}]},"215":{"id":215,"text":"Upgrade your Synapse installation to 0.10 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Synapse supports messages (event, command, and query) without body. The maximum size of a gRPC message can be specified through the synapse.axon-server.max-message-size property. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.10 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Event handler batching no longer sends one-sized batches, except for the first batch. Message identifier, payload revision and metadata are correctly propagated for queries and query responses. A query message handler isn’t required to return a body anymore. Axon Server connections are closed only after an inactivity timeout. This fixes an observable race condition. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.9 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. A command handler follows the concurrent execution restriction from the maxConcurrency attribute. The concurrency attribute is deprecated in favor of the maxConcurrency. The event.handler.threads property is deprecated and has no effect anymore. An Axon Server authorization token passed in the X-API-KEY header is uniformly propagated to Axon Server for all message types (event, command, and query) and message representations (payload as body and message as body). The synapse.auth.enabled property is no longer required to send a message with an authorization token in the X-API-KEY header. A potential StackOverflowError, which could occur during a reconnection to Axon Server, is fixed. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.8 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Query defaults to java.lang.Object for the responseType. Synapse doesn’t require the Axon Server to run during the startup. Synapse doesn’t initiate multiple synapse-storage connections to Axon Server when the original connection breaks. Fixed the issue of an event handler not always publishing processor information. Deleting a non-existing handler returns 204 No Content. Referencing a non-existent clientAuthenticationId or serverAuthenticationId returns 400 Bad Request. Exposing he first and last token of a context at the /v1/contexts/{context}/events endpoint. The dateTime of a message sent to a message handler follows the format of ISO 8601. A command message handler isn’t required to return a body anymore. Configure the Content-Type header for an event list handler to application/json through the property synapse.http.handlers.event.list.content-type=application-json. Payload revision is correctly propagated from a command response to the sender. Synapse supports the optional header AxonIQ-MessageId for specifying a message identifier for raw messages. Routing key is correctly propagated to command handlers. Context endpoint doesn’t return Axon Server internal contexts starting with the _ anymore. The endpoint /actuator/info provides the Synapse version. Resume event streaming to event handlers after Axon Server reconnection. Synapse is available as a docker image at axoniq/synapse. Returned error body doesn’t follow its OpenApi specification. Upgrade your Synapse installation to 0.7 by performing the following steps: Stop your Synapse instance. Replace your previous axonsynapse-*.jar file with the new one from the distribution package. Start your Synapse instance. Share Axon Server-based configuration storage among all Synapse instances. Event handler balancing across many Synapse instances. Date and time parsing improvement. The HTTP PUT method for creating or replacing a message handler doesn’t require the handler to exist. Sending a command or issuing a query that causes an error in a handler results in the 502 Bad Gateway response. Publishing a domain event with invalid sequenceNumber results in the 409 Conflict response. Property synapse.is-use-tls deprecated in favor of synapse.axon-server.tls-enabled. Property synapse.certificate-chain deprecated in favor of synapse.axon-server.trust-manager-file. Property synapse.server-list deprecated in favor of synapse.axon-server.server-list. Issuing a query to an Axon Framework-based query handler requires specifying responseType. Synapse won’t boot up when it can’t establish an initial connection to Axon Server. Synapse may initiate multiple synapse-storage connections to Axon Server when the original connection breaks. Returned error body doesn’t follow its OpenApi specification.","title":"Release Notes","component":"synapse-reference","version":"v0.11","name":"release-notes","url":"/synapse-reference/v0.11/release-notes/","titles":[{"text":"0.11.0 (15-07-2024)","hash":"_0_11_0_15_07_2024","id":1},{"text":"Upgrade instructions","hash":"_upgrade_instructions","id":2},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes","id":3},{"text":"Known issues","hash":"_known_issues","id":4},{"text":"0.10.0 (16-02-2024)","hash":"_0_10_0_16_02_2024","id":5},{"text":"Upgrade instructions","hash":"_upgrade_instructions_2","id":6},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_2","id":7},{"text":"Known issues","hash":"_known_issues_2","id":8},{"text":"0.9.0 (19-01-2024)","hash":"_0_9_0_19_01_2024","id":9},{"text":"Upgrade instructions","hash":"_upgrade_instructions_3","id":10},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_3","id":11},{"text":"Known issues","hash":"_known_issues_3","id":12},{"text":"0.8.0 (15-09-2023)","hash":"_0_8_0_15_09_2023","id":13},{"text":"Upgrade instructions","hash":"_upgrade_instructions_4","id":14},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_4","id":15},{"text":"Known issues","hash":"_known_issues_4","id":16},{"text":"0.7.0 (08-08-2023)","hash":"_0_7_0_08_08_2023","id":17},{"text":"Upgrade instructions","hash":"_upgrade_instructions_5","id":18},{"text":"New features, improvements, and bug fixes","hash":"_new_features_improvements_and_bug_fixes_5","id":19},{"text":"Known issues","hash":"_known_issues_5","id":20},{"text":"0.6.2 (19-04-2023)","hash":"_0_6_2_19_04_2023","id":21}]},"216":{"id":216,"text":"Any application that can not connect directly to Axon Server can still send commands through Axon Synapse’s HTTP APIs. This document explains the two ways to do so. Axon Server routes commands based on a routing key in the request. If multiple handlers exist for the same command, Axon Server sends requests with the same routing key to the same handler. Command handlers often rely on the routing consistency provided by routing keys to cache data between requests. You can only pass metaData using the http-message endpoint. The http-raw endpoint doesn’t provide a way to do so. The http-raw endpoint URL path follows the /v1/context/[contextName]/commands/[commandName] pattern. The content of the HTTP request is the serialized command. The sender may provide additional information through HTTP headers. There is one required header: Content-Type: the serialization type for the context The following headers are optional: AxonIQ-PayloadType: defines the type of the payload (if missing, the command name as the payload type) AxonIQ-Priority: priority of the request (default is 0, a higher value means higher priority) AxonIQ-RoutingKey: the key used for routing (auto-generated if missing) The code below represents a sample request to the http-raw endpoint sending an io.axoniq.demo.giftcard.api.IssueCardCommand. POST http://synapse:8080/v1/contexts/default/commands/io.axoniq.demo.giftcard.api.IssueCardCommand Content-Type: application/xml sample-card-5 110 When Axon Synapse processes this HTTP request, it sends the command to Axon Server on behalf of the client application. Axon Server then delegates the command to a command handler registered in the default context. For more details about the http-raw endpoint, please refer to the Send Command API docs. The http-message endpoint URL path follows the /v1/context/[contextName]/commands pattern. The content of the HTTP request is a JSON message containing all the information for a single command. Below is the above request in http-message form. POST http://synapse:8080/v1/contexts/default/commands Content-Type: application/json { \"payload\": \"sample-card-5110\" \"name\": \"io.axoniq.demo.giftcard.api.IssueCardCommand\" } The message may contain additional optional fields like payloadType, routingKey, priority, and metaData. The serialization format of the query object must match the serialization the query handler expects. Even though the HTTP payload is JSON, if the query handler expects XML, the payload must be XML. If the handler expects a JSON serialized payload, the request would be: POST http://synapse:8080/v1/contexts/default/commands Content-Type: application/json { \"payload\": { \"id\": \"sample-card-5\", \"amount\": 110 }, \"name\": \"io.axoniq.demo.giftcard.api.IssueCardCommand\" } For more details about the http-raw endpoint, please refer to the Send Command Message API docs.","title":"Sending Commands","component":"synapse-reference","version":"v0.11","name":"sending-commands","url":"/synapse-reference/v0.11/sending-commands/","titles":[{"text":"The http-raw endpoint","hash":"_the_http_raw_endpoint","id":1},{"text":"Message endpoint","hash":"_message_endpoint","id":2}]},"217":{"id":217,"text":"Any application that can not connect directly to Axon Server can still send events to it through Axon Synapse’s HTTP APIs. This document explains the three ways to do so. You can only pass metaData using the http-message or http-list-of-messages endpoints. The http-raw endpoint doesn’t provide a way to do so. The http-raw endpoint URL path follows the /v1/context/[contextName]/events/[eventName] pattern. The content of the HTTP request is the serialized event. The sender may provide additional information through HTTP headers. There is one required header: Content-Type: the serialization type for the context The following headers are optional: AxonIQ-AggregateId: AxonIQ-AggregateType: AxonIQ-SequenceNumber: AxonIQ-DateTime: The code below represents a sample request to the http-raw endpoint sending a local.application.client.Event. POST http://synapse:8080/v1/contexts/default/events/local.application.client.Event Content-Type: application/json AxonIQ-AggregateId: 901aa5ce-b281-4788-97f2-2be7f236dde6 AxonIQ-AggregateType: Aggregate AxonIQ-SequenceNumber: 0 AxonIQ-DateTime: 2022-09-22T21:37:00.000+00:00 { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"New customer created\" } When Axon Synapse processes this HTTP request, it publishes an event to the Axon Server on behalf of the client application. Axon Server stores the event in the default context of the event store as specified in the request’s URL. For more details about the http-raw endpoint, please refer to the Publish Event API docs. The http-message endpoint URL path follows the /v1/context/[contextName]/events pattern. The content of the HTTP request is a JSON message containing all the information for a single event. Below is the above request in http-message form. POST http://synapse:8080/v1/contexts/default/events Content-Type: application/json { \"payload\": { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"New customer created\" }, \"name\": \"local.application.client.Event\", \"aggregateId\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"aggregateType\": \"Aggregate\", \"sequenceNumber\": 0, \"dateTime\": \"2022-09-22T21:37:00.000+00:00\" } The JSON payload may contain additional optional fields such as metaData. Again when Axon Synapse receives such an HTTP request, it publishes an event to Axon Server on behalf of the client application, which stores it in the default context. For more details about the http-message endpoint, please refer to the Publish Event Message API docs (select application/json request body schema). This is technically the same endpoint as http-message one above. It uses the same URL path pattern of /v1/context/[contextName]/events. The difference is in the content type. While for the http-message, it’s application/json, and for the http-list-of-messages, it’s application/vnd.axoniq.event.list+json. This content type indicates the JSON payload is a list (named items) of events instead of a single event. Below is a sample request in http-list-of-messages form. POST http://synapse:8080/v1/contexts/default/events Content-Type: application/vnd.axoniq.event.list+json { \"items\": [ { \"payload\": { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"New customer created\" }, \"name\": \"local.application.client.Event\", \"aggregateId\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"aggregateType\": \"Aggregate\", \"sequenceNumber\": 0, \"dateTime\": \"2022-09-22T21:37:00.000+00:00\" }, { \"payload\": { \"id\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"text\": \"Customer moved\" }, \"name\": \"local.application.client.Event\", \"aggregateId\": \"901aa5ce-b281-4788-97f2-2be7f236dde6\", \"aggregateType\": \"Aggregate\", \"sequenceNumber\": 1, \"dateTime\": \"2022-09-22T21:37:01.000+00:00\" } ] } When Axon Synapse receives such an HTTP request, it publishes the event to Axon Server on behalf of the client application. For more details about the http-list-of-messages endpoint, please refer to the Publish Event Message API docs (select application/vnd.axoniq.event.list+json request body schema).","title":"Sending Events","component":"synapse-reference","version":"v0.11","name":"sending-events","url":"/synapse-reference/v0.11/sending-events/","titles":[{"text":"The http-raw endpoint","hash":"_the_http_raw_endpoint","id":1},{"text":"The http-message endpoint","hash":"_the_http_message_endpoint","id":2},{"text":"The http-list-of-messages endpoint","hash":"_the_http_list_of_messages_endpoint","id":3}]},"218":{"id":218,"text":"You can use Axon Synapse to send messages to Axon Server via HTTP requests. Synapse supports three types of messages: Commands Queries Events In general, you can use two forms to send these requests to Synapse: http-raw where the HTTP content is the actual payload of the message, and all additional information is in the HTTP headers http-message, where the HTTP content is a JSON object containing the message together with all the relevant information For the operations on the requests to send messages, check the Axon Synapse API.","title":"Sending Messages","component":"synapse-reference","version":"v0.11","name":"sending-messages","url":"/synapse-reference/v0.11/sending-messages/","titles":[]},"219":{"id":219,"text":"Any application that can not connect directly to Axon Server can still send queries to it through Axon Synapse’s HTTP APIs. This document explains the two ways to do so. Axon Synapse only supports request-response queries. It’s unable to take care of scatter-gather and subscription queries at this moment. You can only pass metaData using the http-message endpoint. The http-raw endpoint doesn’t provide a way to do so. The http-raw endpoint URL path follows the /v1/context/[contextName]/queries/[queryName] pattern. The content of the HTTP request is the serialized query. The sender may provide additional information through HTTP headers. There is one required header: Content-Type: the serialization type for the context The following headers are optional: AxonIQ-PayloadType: defines the type of the payload (if missing, the command name is the payload type) AxonIQ-ResponseType: the expected response type (required when the handler uses Axon Framework) AxonIQ-ResponseCount: use MULTIPLE to indicate that the query handler can return multiple instances of the response type The code below represents a sample request to the http-raw endpoint sending an io.axoniq.demo.giftcard.api.FetchCardSummariesQuery. POST http://synapse:8080/v1/contexts/default/queries/io.axoniq.demo.giftcard.api.FetchCardSummariesQuery Content-Type: application/xml AxonIQ-ResponseType: io.axoniq.demo.giftcard.api.CardSummary AxonIQ-ResponseCount: MULTIPLE 0 100 When Axon Synapse processes this HTTP request, it sends the query to Axon Server on behalf of the client application. Axon Server then delegates the query to a query handler registered in the default context. When the handler responds with a zero or more io.axoniq.demo.giftcard.api.CardSummary objects, Axon Synapse serializes the payload and sends it back in the response payload of the HTTP request. For more details about the http-raw endpoint, please refer to the Send Query API docs. The http-message endpoint URL path follows the /v1/context/[contextName]/queries pattern. The content of the HTTP request is a JSON message containing all the information for a single query. Below is the above request in http-message form. POST http://synapse:8080/v1/contexts/default/queries Content-Type: application/json { \"payload\": \"0100\" \"name\": \"io.axoniq.demo.giftcard.api.FetchCardSummariesQuery\", \"responseType\": \"io.axoniq.demo.giftcard.api.CardSummary\" } The message may contain additional optional fields like payloadType and metaData. You can use the payloadType field to specify the payload type in cases where the query name doesn’t equal the payload type for the query message. The serialization format of the query object must match the serialization the query handler expects. Even though the HTTP payload is JSON, if the query handler expects XML, the payload must be to XML. If the handler expects a JSON serialized payload, the request would be: POST http://synapse:8080/v1/contexts/default/commands Content-Type: application/json { \"payload\": { \"offset\": 0, \"limit\": 100 }, \"name\": \"io.axoniq.demo.giftcard.api.FetchCardSummariesQuery\", \"responseType\": \"io.axoniq.demo.giftcard.api.CardSummary\" } For more details about the http-raw endpoint, please refer to the Send Query Message API docs.","title":"Sending Queries","component":"synapse-reference","version":"v0.11","name":"sending-queries","url":"/synapse-reference/v0.11/sending-queries/","titles":[{"text":"The http-raw endpoint","hash":"_the_http_raw_endpoint","id":1},{"text":"The http-message endpoint","hash":"_the_http_message_endpoint","id":2}]},"220":{"id":220,"text":"Configuring HA for Synapse involves multiple configuration options. For a conceptual overview of how HA works in Synapse, refer to High Availability. # You need to have selected axonserver as your storage implementation. You can achieve this by setting the synapse.storage.type property. Refer to Storage and Configuration for details. The most important steps used for configuring HA in Synapse are the following. For a full list of available properties, refer to Configuration. Tell Synapse to use AxonServer as your storage backend by setting synapse.storage.type=axonserver Enable load balancing of event handlers by setting synapse.event-handler.balancing.enabled=true If you encounter stability or performance problems, refer to Configuration to adjust settings like the used hash function and means of discovering available synapse settings.","title":"HA Configuration","component":"synapse-reference","version":"v0.11","name":"ha-config","url":"/synapse-reference/v0.11/ha/ha-config/","titles":[{"text":"Storage","hash":"_storage","id":1},{"text":"High availability","hash":"_high_availability","id":2}]},"221":{"id":221,"text":"Synapse does support high availability (HA). This page explains how the HA features in Synapse work. To see how to configure them, refer to HA Configuration. For using HA, you need to have selected AxonServer as a means of storing your Synapse configuration. Refer to Storage on how to do this. Whilst it’s possible to simply run multiple independent Synapse instances without shared configuration, this is highly discouraged and generally regarded as a bad idea. Using HA in Synapse does provide you with the following: Tolerate individual Synapse instances to go down for maintenance or crash Provide a way for the different handler types to balance themselves and be re-assigned when a Synapse instance goes down. Synapse handles the different handler types in different ways: Each Synapse instance registers all configured command handlers with AxonServer. AxonServer then makes sure to send the commands to the correct handler instance via the Synapse instance used to register the handler. To prevent duplication of events as far as possible, Synapse instances cooperate to register event handlers only from one Synapse instance. This allows your client application to receive events from only one Synapse instance, as long as the topology doesn’t change. When changing synapse instances, you may see slight duplication of events delivered. This is normal and unavoidable. When topology changes (for example when a Synapse instance crashes or a new one appears), handlers are re-assigned to available Synapse instances according to a consistent hashing algorithm. This makes sure that if a Synapse instance goes down, other instances pick up the now unassigned event handlers. As with Command Handlers, each Synapse instance registers all configured query handlers with AxonServer. Again, AxonServer then makes sure to send the queries to the correct client application. To be fully high-available, it’s not enough to have Synapse set to HA. One should take the following aspects into consideration. Synapse instances (and other client applications directly connecting to AxonServer, like AxonFramework applications) should have the addresses of all primary AxonServer nodes in the cluster configured. This allows them to reconnect if an AxonServer node were to go down. Using the AxonServer as storage implementation and enabling HA allows you to tolerate synapse nodes going down and the remaining ones taking over. If you use Synapse to publish events, commands or queries, make sure that your client applications know all available Synapse instances and can retry if one should go down. Alternatively, add a reverse proxy with multiple upstream destinations for the publish endpoints. Further, have your client applications run in a highly available manner. If Synapse is available but your client application goes down, you didn’t win much in regards to availability. Further, since registered handlers in Synapse only can have one configured URL, make sure to place a reverse proxy with multiple upstream destinations in between Synapse and the client applications it’s calling. Thereby, synapse can retry calling endpoints if one of the instances of your client application were to go down.","title":"High Availability","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/ha/","titles":[{"text":"Prerequisites","hash":"_prerequisites","id":1},{"text":"What HA in synapse covers","hash":"_what_ha_in_synapse_covers","id":2},{"text":"Command handlers","hash":"_command_handlers","id":3},{"text":"Event handlers","hash":"_event_handlers","id":4},{"text":"Query handlers","hash":"_query_handlers","id":5},{"text":"Infrastructure","hash":"_infrastructure","id":6},{"text":"Axon server","hash":"_axon_server","id":7},{"text":"Synapse","hash":"_synapse","id":8},{"text":"Client applications","hash":"_client_applications","id":9}]},"222":{"id":222,"text":"","title":"","component":"synapse-reference","version":"v0.11","name":"client-message","url":"/synapse-reference/v0.11/openapi/client-message/","titles":[]},"223":{"id":223,"text":"","title":"","component":"synapse-reference","version":"v0.11","name":"client-raw","url":"/synapse-reference/v0.11/openapi/client-raw/","titles":[]},"224":{"id":224,"text":"Axon Synapse communicates with third-party applications via HTTP (a.k.a. RESTful) APIs. It uses the OpenAPI Specification to define the methods and types available in those APIs. This is the API third-party applications use to communicate with an Axon Synapse instance. It provides means to sends commands, queries, and events register command handlers, query handlers, and event handlers obtain all events associated with an aggregate The Axon Synapse API page contains the documentation for this API. The Client API comes in two flavors. Both specify the payload client applications should expect when Axon Synapse sends messages to them. Clients specify the actual endpoints and which API type Synapse should use when they register. When a third-party application registers a client handler, it may specify http-message as endpointType. In such a case, Axon Synapse sends a JSON object. It places the message (command, query, event) payload in that object’s payload field. See Client Message API page for the complete structure of those messages. When a third-party application registers a client handler, it may specify http-raw as endpointType. In such a case, Axon Synapse sends the actual message (command, query, event) as payload and all the relevant information in HTTP headers. See Client Raw API page for the complete structure of those messages.","title":"Open API Documentation","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/openapi/","titles":[{"text":"Synapse API","hash":"_synapse_api","id":1},{"text":"Client API","hash":"_client_api","id":2},{"text":"Client API - message","hash":"_client_api_message","id":3},{"text":"Client API - raw","hash":"_client_api_raw","id":4}]},"225":{"id":225,"text":"","title":"","component":"synapse-reference","version":"v0.11","name":"synapse","url":"/synapse-reference/v0.11/openapi/synapse/","titles":[]},"226":{"id":226,"text":"Synapse currently does support two ways of storing data: Locally in an embedded database In AxonServer Since HA does require you to use AxonServer as the storage backend, also refer to High Availability. When switching between storage types, you lose the stored configuration. Synapse allows you to select the used storage implementation by configuring the property synapse.storage.type. The only valid values are axonserver and local. When using local storage (synapse.storage.type=local), Synapse stores all its configuration in its own local embedded database. Your specific Synapse instance utilizes these settings, which are unique for your instance. When using AxonServer as the storage implementation (synapse.storage.type=axonserver), Synapse uses a context in the specified AxonServer to store its configuration. It also uses the local embedded database to keep a representation of the current state. Using AxonServer storage does require you to have multiple contexts in your AxonServer, which in turn requires you to have valid license for AxonServer. Many synapse instances can share the configuration stored when using AxonServer as the storage implementation. Refer to High Availability to find out more about this feature. When connecting to AxonServer, Synapse may need to authenticate itself. To allow for a fine-grained Access Control List, configure a separate token used for connecting to the storage context. Use the property synapse.storage.token. Further, you may need to change the used context for storing Synapse configuration in. Use the property: synapse.storage.context. To see all supported configuration options, refer to Configuration It currently isn’t possible to switch between storage types whilst keeping your Synapse data. To achieve reproducible and easier-to-migrate setups, consider setting up the configuration in an automated way. This allows you, should you decide to switch storage types, to wipe the Synapse storage, change the used implementation and then use your automation to re-create the configuration. If you want to change the used implementation, you have to remove the Synapse database file (axon-synapse.mv.db by default) before changing the settings. This results in loss of the stored configuration.","title":"Storage","component":"synapse-reference","version":"v0.11","name":"index","url":"/synapse-reference/v0.11/storage/","titles":[{"text":"Selecting the used storage type","hash":"_selecting_the_used_storage_type","id":1},{"text":"Local storage","hash":"_local_storage","id":2},{"text":"Axon Server storage","hash":"_axon_server_storage","id":3},{"text":"Switching storage types","hash":"_switching_storage_types","id":4}]},"227":{"id":227,"text":"The AxonIQ Console is an advanced management platform designed to maximize the effectiveness of applications developed with Axon Framework and supported through Axon Server. It facilitates near-zero configuration and provides a single platform for insight, management, control, and reporting of your application infrastructure. This manual serves as a guide for engineers, developers, and system administrators who aim to leverage AxonIQ Console to oversee their message-driven systems built with AxonIQ technologies. The Console is crafted to cater to users who seek a graphical interface for an intuitive and comprehensive overview of their systems.","title":"AxonIQ Console Getting Started Guide","component":"axoniq-console-getting-started","version":"main","name":"index","url":"/axoniq-console-getting-started/main/","titles":[{"text":"Introducing AxonIQ Console","hash":"_introducing_axoniq_console","id":1},{"text":"Purpose and intended audience","hash":"_purpose_and_intended_audience","id":2}]},"228":{"id":228,"text":"Administrators have the capability to add and remove access tokens used by the Console, as shown in the image below. The \"Access Token\" section provides a list of the current Access Tokens that have been created with the option to configure or remove them entirely. The tokens should be set in the properties of applications or Axon Server nodes that want to connect with your Environment. The tokens should be set in the properties of applications or Axon Server nodes that want to connect with your Environment. Hence, the Access Tokens page allows administrators to configure these.","title":"Access Tokens","component":"axoniq-console-getting-started","version":"main","name":"access-tokens","url":"/axoniq-console-getting-started/main/ac-as-superuser/access-tokens/","titles":[]},"229":{"id":229,"text":"The \"Applications\" section provides a list of the applications that have been discovered by the Console and provides administrators the ability to view the application name, the number of clients, as well as the option to remove it from the Console. Note: Removing an application from the Console only removes it from your Environment. Hence, the application itself will remain running.","title":"Applications","component":"axoniq-console-getting-started","version":"main","name":"applications","url":"/axoniq-console-getting-started/main/ac-as-superuser/applications/","titles":[]},"230":{"id":230,"text":"AxonIQ Console is a robust tool designed to aid in the management of message-driven systems. It stands as a testament to AxonIQ’s commitment to evolving its products to meet the needs of its users. Administrators have the ability to manage the applications, servers, and access tokens within the Console in order to have direct visibility of their applications and services using AxonIQ technologies.","title":"Conclusion","component":"axoniq-console-getting-started","version":"main","name":"conclusion","url":"/axoniq-console-getting-started/main/ac-as-superuser/conclusion/","titles":[]},"231":{"id":231,"text":"Owners and Administrators have special privileges in order to manage their Workspace. This includes the capability to add and delete users, servers, and applications, and to manage access tokens. To manage the Console as an administrator, click on the \"Settings\" tab.","title":"Using The \"Settings\" Tab To Manage The AxonIQ Console","component":"axoniq-console-getting-started","version":"main","name":"settings-tab","url":"/axoniq-console-getting-started/main/ac-as-superuser/settings-tab/","titles":[]},"232":{"id":232,"text":"After logging in to AxonIQ Console and selecting an Environment in one of your Workspaces, you will be presented with the AxonIQ Console dashboard, which contains a tab to show the information from your Axon Server Cluster. Click on that last tab to access the Axon Server panel. If you have never set up or run Axon Server before, then the panel will show you a summary of the various options you have for running Axon Server and connecting it to AxonIQ Console To set up a new instance node or cluster of Axon Server, click the blue button on the left side of the screen titled “How Can I Install Axon Server?”. The tab content will now display various options for running your Axon Server instance or cluster. Depending on your preferred method of running Axon Server, click on the blue button and the page will provide the information you need to quickly get a new instance of Axon Server up and running. Follow the steps and configure your Axon Server instance or cluster according to the instructions. When you are finshed, launch your local Axon Server instance or cluster. Once you have your local Axon Server starter you need to enable the plan to monitor Axon Server in AxonIQ Console. Select the plan that best meets your needs from the table. If you are evaluating AxonIQ Console, simply click the \"Choose Developer\" button, which is sufficient to connect a standalone Axon Server instance. After selecting your plan, you will see the panel content change to display information about the status of your various Axon Server nodes. Depending on your plan and the number of nodes in your Axon Server cluster, you will see the information provided by the connected nodes. More information on how to setup Axon Server clusters for Production use can be found below: Local installation of Axon Server, Non-Clustered and Clustered Setting Up and Managing Clusters of Axon Server","title":"Installing A New Instance Of Axon Server","component":"axoniq-console-getting-started","version":"main","name":"installing-instance-as","url":"/axoniq-console-getting-started/main/ac-gs-deploy-axonserver/installing-instance-as/","titles":[{"text":"Setting up your local Axon Server to connect to AxonIQ Console","hash":"_setting_up_your_local_axon_server_to_connect_to_axoniq_console","id":1},{"text":"Activating your Axon Server plan in AxonIQ Console","hash":"_activating_your_axon_server_plan_in_axoniq_console","id":2},{"text":"Additional information to setup Axon Server cluster","hash":"_additional_information_to_setup_axon_server_cluster","id":3}]},"233":{"id":233,"text":"In order to begin using AxonIQ Console, navigate to the following URL: https://console.axoniq.io You will be presented with the AxonIQ Console login screen. Authenticate with your preferred sign-in method and your valid credentials.","title":"Accessing AxonIQ Console","component":"axoniq-console-getting-started","version":"main","name":"access","url":"/axoniq-console-getting-started/main/ac-gs-setup/access/","titles":[]},"234":{"id":234,"text":"Environments play a crucial role for both Axon Server instances and Axon Framework applications. For apps that utilize Axon Framework, they report their metrics within the Environment itself. When using Axon Server, all server instances with the Environment can be discovered, viewed, and managed. Environments allow you to specify deployment scenarios such as: Development Testing Pre-production Production Therefore, Environments are extremely versatile logical groupings for your Axon Server instances. For example, if you want to separate your Axon Server instances by geographic regions, you can name them according to their location, such as: North America Europe Asia Rest of the World The best practice is to specify a name for the Environment with an idea of other Environments that you may want to create in the future.","title":"Environments in AxonIQ Console","component":"axoniq-console-getting-started","version":"main","name":"environments","url":"/axoniq-console-getting-started/main/ac-gs-setup/environments/","titles":[]},"235":{"id":235,"text":"On the right aisw of the 'Start' tab in the dasboard, you’ll see a panel that allows you to give us some feedback. Apart from rating your experience with AxonIQ Console, if you have questions, comments, or suggestions for improvement of the AxonIQ Console, we encourage you to go to our Discuss platform and join the conversations with us and the rest of AxonIQ Console users. To access our Discuss platform (the AxonIQ Console forums), you can click on the 'Disucss Platform' link in the feedback panel or you can click on the 'Discuss' button shown at the top header in any page of AxonIQ Console. We’ve made AxonIQ Console to be simple, straightforward, and easy to use. The Console is designed to consolidate a lot of information contained in your systems that use Axon Framework, Axon Server, or both. Therefore, be sure to mouse over the entries in the tables of AxonIQ Console for additional details and context.","title":"We Value Your Feedback!","component":"axoniq-console-getting-started","version":"main","name":"feedback","url":"/axoniq-console-getting-started/main/ac-gs-setup/feedback/","titles":[{"text":"Final note: Be sure to follow the tooltips!","hash":"_final_note_be_sure_to_follow_the_tooltips","id":1}]},"236":{"id":236,"text":"The AxonIQ Console is an advanced management platform designed to maximize the effectiveness of applications developed with Axon Framework and supported through Axon Server. It facilitates near-zero configuration and provides a single platform for insight, management, control, and reporting of your application infrastructure. This manual serves as a guide for engineers, developers, and system administrators who aim to leverage AxonIQ Console to oversee their message-driven systems built with AxonIQ technologies. The Console is crafted to cater to users who seek a graphical interface for an intuitive and comprehensive overview of their systems.","title":"Connect And Setup AxonIQ Console Access","component":"axoniq-console-getting-started","version":"main","name":"index","url":"/axoniq-console-getting-started/main/ac-gs-setup/","titles":[{"text":"Introducing AxonIQ Console","hash":"_introducing_axoniq_console","id":1},{"text":"Purpose and intended audience","hash":"_purpose_and_intended_audience","id":2}]},"237":{"id":237,"text":"As a first-time user, you will be presented with a 3-step process to set up your account. As shown below, the first step after successful authentication is to provide basic information about yourself and your company. Provide the necessary information, read and accept the \"AxonIQ Service Subscription Aggreement\" and click the \"Continue\" button. Once you have created your account, you will have the option to connect your own Axon application or, if you don’t have an Axon application ready to connect to AxonIQ Console, we also offer you the option to run our \"Bike Rental Demo\" application through a docker-compose file that is already configured to connect to and be monitored by AxonIQ Console. You can also learn a little bit more about the different tools that Axon provides and how they are related. Click on the \"Connect My Application\" button to continue setting up your account. One of the most important aspects of AxonIQ Console is your Workspace. Workspaces are collections of users and environments that allow teams and departments to define an instance (or group of instances) of AxonIQ technologies. You can start by creating a workspace using the name of your project. After setting up your Workspace or project, the next step is to connect your Axon Framework-based application, so that it can be monitored by AxonIQ Console. The process to connect your application built with Axon Framework and/or Axon Server depends a little bit on whether your application is built with Axon Framework using plain Java, or if you have an Axon Framework application built with Spring Boot. Click on the option that matches your case and follow the instructions to configure your application. At the end you will be see a screen waiting for you to run your application and connect to AxonIQ Console. After you run the application (or applications), you will see a page with the confirmation of the connected applications. Click on the 'Go to My Workspace' button to access the AxonIQ Console dashboard.","title":"First Time Setup","component":"axoniq-console-getting-started","version":"main","name":"setting-up-your-account","url":"/axoniq-console-getting-started/main/ac-gs-setup/setting-up-your-account/","titles":[{"text":"Part 1. Setting up your account","hash":"_part_1_setting_up_your_account","id":1},{"text":"Part 2. Setting up your workspace","hash":"_part_2_setting_up_your_workspace","id":2},{"text":"Part 3. Connect your application","hash":"_part_3_connect_your_application","id":3}]},"238":{"id":238,"text":"Now that you have successfully specified your workspace and environment, the home screen for the AxonIQ Console dashboard is shown below. The AxonIQ Console Dashboard arranges the information collected from your Axon applications in several different tabs. Each of those tabs is focused on showing a specific part of the behaviour of your application. The 'Start' Tab shows a summary of the Axon Framework applications connected and also information about any Axon Server instances connected. For now, we only have connected a couple of Axon Framework applications. We will see in a later section how to connect an Axon Server instance to our AxonIQ Console dashboard. In case you did not connect any applications, the 'Start' tab on the AxonIQ Console dashboard, will show a panel with instructions to connect your Axon Framework applications or run our \"Bike Rental Demo\" application, which is already prepared for you to run and connect with AxonIQ Console. The AxonIQ Console provides different capabilities depending upon if you are using Axon Framework or Axon Server. Choose the guide below depending on your needs: Using AxonIQ Console to Manage and Deploy Axon Server Using AxonIQ Console to Monitor Axon Framework Applications Managing AxonIQ Console Itself as the Super User","title":"Success! Your AxonIQ Console Dashboard","component":"axoniq-console-getting-started","version":"main","name":"success","url":"/axoniq-console-getting-started/main/ac-gs-setup/success/","titles":[]},"239":{"id":239,"text":"The Aggregates tab lists the Aggregates within your Workspace and Environment. So, what exactly is an Aggregate? In the context of the Axon Framework, an Aggregate is a logical group of domain objects that can be treated as a single unitin regards to data changes. In doing so, they reflect the class’ that are configured as aggregates (for example through the @Aggregate annotation) in your application. Using AxonIQ Console, developers can get the necessary insight into all the aggregates defined within their system, including their types and instances. As shown in the table above, developers can also see which aggregates are defined per application. Click on any row in the table to get more details on the statistics of the selected Aggregate, just as with Processors. The aggergate detail view has two main areas: At the top there is a table that allows you to choose to display a list of handlers defined for the aggregate, a list of message sources for the aggregate, or a list of message destinations for the aggregate. Clicking on any row in this table will take you to the Handler Details view in the AxoniQ Console 'Handler Insights' tab. At the bottom you will find some graphs showing statistics on the performance of the aggregate over the last few minutes or hours. In this area, you can find graphs showing the message rate, total processing time, or handler execution time, among others. Clicking on any of the graphs will bring it to the front in bigger size. In addition to the specific details for the aggregate, there is a panel on the right side of the tab that displays the alerts detected for this aggregate, if any. This section also includes a button to configure the conditions under which alerts are triggered for this particular aggregate. Without specifying a rule for a specific metric, the environment-wide default for aggregates applies, which can be configured in the Monitoring tab. If you create a specific condition for this aggregate in this configuration section, this aggregate will ignore the environment-wide conditions. The panel also displays, under the 'Environment conditions' section, the list of rules defined to trigger an alert for all the agregates found in any application connected to this environment. The conditions defined in this panel apply only to the specific aggregate selected in the Aggregates tab. If you want to configure alerts for all aggregates found in any application connected to this environment, you should use the Monitoring tab.","title":"The \"Aggregates\" Tab","component":"axoniq-console-getting-started","version":"main","name":"aggregates-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/aggregates-tab/","titles":[{"text":"Aggregate details","hash":"_aggregate_details","id":1},{"text":"Aggregate alerts","hash":"_aggregate_alerts","id":2}]},"240":{"id":240,"text":"AxonIQ Console is a robust tool designed to aid in the management of message-driven systems. It stands as a testament to AxonIQ’s commitment to evolving its products to meet the needs of its users. By using the Console, teams can ensure efficient management of their applications, leading to improved performance and productivity.","title":"Conclusion","component":"axoniq-console-getting-started","version":"main","name":"conclusion","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/conclusion/","titles":[]},"241":{"id":241,"text":"The AxonIQ Console collects performance and behavior information from your Axon applications and server and organizes it into several different tabs, each of them focused on a specific type of information. The first time you access AxonIQ Console, if you don’t have any Axon applications connected, you will see a dashboard with only the 'Start' tab enabled. The 'Start' tab contains several panels with a summary of the Axon Framework applications and Axon Server cluster or instance that are connected to AxonIQ Console. It also shows some useful links to learn more about how to connect applications or to learn more about Axon Server. If you don’t have any applications connected, the 'Start' tan will include a panel to provide you with detailed instructions on how to connect your first Axon Framework based application. If you don’t have an application of your own ready to be connected to AxonIQ Console, don’t worry, there is also a \"Bike Rental Demo\" application that we have prepared and ready for you to run and connect with your AxonIQ Console workspace. If you don’t have any applications already connected, click on the installation method that applies to your case, and follow the instructions to connect your application. Once you have successfully connected your applications to the AxonIQ Console, you will see a panel listing them and their status. In the following sections, we will go through the different tabs to explore the insights that the AxonIQ Console provides into the performance of your applications.","title":"The AxonIQ Console Dashboard","component":"axoniq-console-getting-started","version":"main","name":"dashboard","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/dashboard/","titles":[{"text":"Connecting your Axon Framework applications.","hash":"_connecting_your_axon_framework_applications","id":1},{"text":"Dashboard with your applications connected","hash":"_dashboard_with_your_applications_connected","id":2}]},"242":{"id":242,"text":"The Handler Insights tab in AxonIQ Console provides detailed information about the message handlers in your system. Message handlers are components that handle commands, events, and queries in an Axon Framework application. In the Handler Insights tab, you can see various metrics related to each handler, such as: The application in which the handler is defined (refer to the Application column) The Component in which the handler is defined (refer to the Component column) The message that the handler processes (refer to the Message column) The number of messages processed by the handler per minute (refer to the “Troughput” column) The percentage of messages that produced an error while the handler was processing it (refer to the Error Rate column) The minimin processing time for a message (refer to the Min column) The median processing time per message (refer to the “Median” column) The time in which 90% of the fastests messages are processed by the handler (refer to the 90 th column) The max processing time for a message (refer to the “Max” column) This information can be extremely useful for understanding the performance of your handlers and identifying any potential issues. If you click on any of the handlers, you will see a graph with more detailed information about the specific handler performance over time. The detail view also allows you to see the message sources and message destinations of the message associated with this handler. In addition to the specific details for the message handler, there is a panel on the right side of the tab that displays the alerts detected for this handler, if any. This section also includes a button to configure the conditions under which alerts are triggered for this particular handler. Without specifying a rule for a specific metric, the environment-wide default for handlers applies, which can be configured in the Monitoring tab. If you create a specific condition for this handler in this configuration section, this handler will ignore the environment-wide conditions. The alert configuration panel also displays, under the 'Environment conditions' section, the list of rules defined to trigger an alert for all the message handlers found in any application connected to this environment. The conditions defined in this panel apply only to the specific message handler selected in the handler insights tab. If you want to configure alerts for all the message handlers found in any application connected to this environment, you should use the Monitoring tab.","title":"The \"Handler Insights\" Tab","component":"axoniq-console-getting-started","version":"main","name":"handler-insights-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/handler-insights-tab/","titles":[{"text":"Handler details","hash":"_handler_details","id":1},{"text":"Handler alerts","hash":"_handler_alerts","id":2}]},"243":{"id":243,"text":"The Message Flow tab in AxonIQ Console provides a visual representation of the flow of messages between different components of your system. This includes commands, events, and queries that are being sent and received by your applications. The Message Flow tab can be particularly useful for understanding how data is moving through your system and for identifying any potential bottlenecks or issues. It provides a real-time view of the system’s activity, making it easier to monitor and troubleshoot. In addition to the visual representation, the Message Flow tab allows you to click through to the Handler Insights, detailing the statistics about each message, including its type, the components it has passed through, and any errors that have occurred. This can provide valuable insights into the performance and health of your system.","title":"The \"Message Flow\" Tab","component":"axoniq-console-getting-started","version":"main","name":"message-flow-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/message-flow-tab/","titles":[]},"244":{"id":244,"text":"The Monitoring tab in AxonIQ Console contains information about alerts related to poor performance of your applications. This tab also allows you to configure the conditions that trigger these alerts. On the left side of the panel, you can select different sections to display in the Monitoring tab: Monitoring, Conditions, Overrides, and Integrations. The 'Overview' is the default option displayed when you access the Monitoring tab. The Overview displays a list of all performance alerts currently occurring in any of the applications connected to the AxonIQ Console. When a specified condition is matched AxonIQ Console will create an alert and display it on this panel. The alert is initially displayed as a warning with the status \"Pending Alert\". The alert will also indicate how much time it will take for the alert to become active if the performance does not return to within the limits defined by the alert Conditions. If the observed values for that metric do not return to the accepted range, the alert will become active after the specified time and the panel will show for how long the problem was detected. You can configure this time when creating the condition. A higher value means less chance of false positives, but you will be notified later after detecting a metric has shifted away from its expected range. These alerts are not only displayed in the 'Monitoring' tab. The 'Overview' section of this tab shows a summary of all detected alerts and also provides a link to view the details of these alerts. However, these alerts are also displayed in the form of warning or error icons on other tabs of the AxonIQ Console dashboard that display information corresponding to the components that are not performing well. Example of alerts for underperforming processors shown in the Processors tab This option allows you to view and configure the various alerts and thresholds that will be monitored in the applications connected to the AxonIQ Console. The alerts are grouped into four groups depending on the component for which the alert is defined: Processors, Aggregates, Handlers and Applications. When you click on one of the groups, the panel displays the list of conditions that trigger an alert, along with two buttons to edit or delete the condition, and another button that allows you to define new conditions to trigger alerts under different performance conditions. The conditions defined in this section apply to all components and applications connected to that environment in the AxonIQ Console. You can also define more fine-grained conditions associated with a specific component using the Alerts panel in the detailed view of an application, processor, aggregate, or handler. Each condition is defined based on three properties: The level, which represents the priority (or importance) of this alert. The level of the alert can be defined as Incident, Critical, Major or Minor. The threshold condition, which defines the metric to be monitored and the threshold above which the alert is triggered. The condition consists of: The metric to monitor. The list of possible metrics depends on the component for which the condition is defined. The logical comparator used to evaluate the condition. The threshold value beyond which the alert is triggered. The duration in minutes that the condition must continue to occur before the alert is moved from `Pending' to `Active' status. Consider the Pending status of an alert as a warning that something has started to deviate from the expected behavior. This panel displays the specific conditions defined to trigger alerts associated with a specific component (a specific processor, a specific aggregate, or a specific handler). The conditions defined to trigger an alert associated with a specific component override the default conditions defined in the Conditions section. The 'overrides' are grouped into four categories depending on the type of component they are associated with: applications, processors, aggregates or handlers: The definition of the overrides (specific conditions to trigger an alert associated with specific components) is done clicking on the \"Configure\" button on the alerts panel at the details page of the application, processor, aggregate, or handler tabs The Monitoring feature of AxonIQ Console allows you to configure several tools to send notifications when an alert becomes active. In this panel you can configure the integration with these tools.","title":"The Monitoring Tab","component":"axoniq-console-getting-started","version":"main","name":"monitoring-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/monitoring-tab/","titles":[{"text":"Overview","hash":"_overview","id":1},{"text":"Conditions","hash":"_conditions","id":2},{"text":"Overrides","hash":"_overrides","id":3},{"text":"Integrations","hash":"_integrations","id":4}]},"245":{"id":245,"text":"The applications tab provides an overall snapshot of your current environment. This includes detailed information about the AxonIQ applications running in your environment, as shown in the image below. The tab content for the Applications is split up into two sections. The \"Applications list\" section located on the left half (or top half in smaller screens) of the tab provides you with a list of all Axon Framework-based applications that the Console has detected. Here, you can see, for each application connected, if there is any alerts for them, the version of Axon Framework each application is using, the number of application instances connected, as well as the version number of the console-framework-client library the application is using to connect to AxonIQ Console. The \"Installation Instructions\" section located at the right half (or bottom half in smaller screens) of the page provides links to the installation instructions to connect more applications. Clicking on any of the applications shown in the Applications list will display all the known details for that particular application. The application details include three tables that display: The list of online clients (or instances) of this application, including the node name, the Axon Framework version, and the version of the console-client-library used by the application to connect to AxonIQ Console. the slowest 5 handlers detected in the application, including information about the component for which the handler is defined, the message that the handler is associated with, and the time that each handler takes to process the message, expressed as the mean value and the ninetieth percentile value. The configuration for the Axon Framework components used in the application: Message buses, such as CommandBus, QueryBus or EventStore. Processors Library versions used by the application. Apart from the specific details of the application, there is a panel on the right side of the tab containing the performance alerts detected for this application, if any. This section also includes a button to configure the conditions under which an alert is triggered for this specific application. The panel also displays, under the \"Environment Conditions\" section, the list of rules that are definned to trigger an alert for any application connected to this environment. The specific conditions defined in this panel only apply to the specific application selected in the Applications tab. If you want to configure alerts for all applications in this environment, you should use the Monitoring tab.","title":"The Applications Tab","component":"axoniq-console-getting-started","version":"main","name":"overview-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/overview-tab/","titles":[{"text":"Application details","hash":"_application_details","id":1},{"text":"Application alerts","hash":"_application_alerts","id":2}]},"246":{"id":246,"text":"The Processor tab in AxonIQ Console provides a view of the Event Processors in your system. Event Processors are components that handle events and perform actions based on those events. They are a crucial part of any system built with Axon Framework. In the Processor tab, you can see the status of each Event Processor, including: Whether it’s running or not (refer to the “Status” column) The percentage of segments that are actively processed (refer to the “Claimed” column) A button to access, including things like split, merge, reset, and load balance These statistics can be used to understand the health of your system, gain deeper insights and diagnose any issues. Clicking on any row in the Processors list of the Processors tab will display more details about the statistics of the selected Event Processor, as shown in the image below. The Processor Details view displays three panels that provide insight into the processor’s behavior and configuration: At the top left of the panel is a table that provides a summary of processor status and general information, such as the processor name, processor mode, number of running instances, number and percentage of claimed segments, free segment capacity, updated information on current processor latency, and information on configured automation actions, if any. There are also some buttons for pausing, restarting the processor, and merging or splitting segments. At the top center of the tab is a table that allows the user to view the list of instances, list of segments, event handlers, and also allows to configure automation settings for the processor. At the bottom of the panel are some graphs that show segment utilization, processor latency, and the number of nodes online. You can click on any of the graphs to view them in more detail. In addition to the specific details for the processor, there is a panel on the right side of the tab that displays the performance alerts detected for this processor, if any. This section also includes a button to configure the conditions under which alerts are triggered. The panel also displays, under the 'Environment conditions' section, the list of rules defined to trigger an alert for all processors in any application connected to this environment. The conditions defined in this panel apply only to the specific application selected in the Applications tab. If you want to configure alerts for all processors in any application connected to this environment, you should use the Monitoring tab.","title":"The \"Processors\" Tab","component":"axoniq-console-getting-started","version":"main","name":"processors-tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/processors-tab/","titles":[{"text":"Processor details","hash":"_processor_details","id":1},{"text":"Processor alerts","hash":"_processor_alerts","id":2}]},"247":{"id":247,"text":"To access AxonIQ Console’s functionalities, you can register and log in using either an OAuth2 provider or a username and password. Registering using an OAuth2 provider is the recommended way to log into AxonIQ Console, as this automatically proves your e-mail is verified, and you don’t need to verify it manually. AxonIQ Console currently supports the following OAuth2 providers: GitHub Google You can click on the respective button to log in using the OAuth2 provider of your choice. If this is your first time, you will be asked to authorize AxonIQ Console to access your account information. We authenticate you to the OAuth provider with the three basic scopes of the OIDC protocol: openid, profile, and email. This means we receive your email, first name, last name, profile picture and other basic information. AxonIQ Console will never be able to access resources in the connected account. If you prefer not to use an OAuth2 provider, log in using your e-mail and a password. To register with an E-mail and password, click the \"Sign up\" button on the login screen. You will be asked to enter your e-mail address and password. After creating your account, you will be automatically logged in. However, you will need to verify your e-mail address before you can use AxonIQ Console. You will receive an e-mail with a verification link. Click on the link to verify your e-mail address. After verification, the onboarding will automatically continue. When successfully logged in, you will be taken to the onboarding process. This process will guide you through creating your first workspace and environment or running our Demo application.","title":"Authentication","component":"axoniq-console-reference","version":"","name":"authentication","url":"/axoniq-console-reference/authentication/","titles":[{"text":"Registering using an OAuth2 Provider","hash":"_registering_using_an_oauth2_provider","id":1},{"text":"Data accessed","hash":"_data_accessed","id":2},{"text":"Registering using e-mail and Password","hash":"_registering_using_e_mail_and_password","id":3},{"text":"After registration: Onboarding","hash":"_after_registration_onboarding","id":4}]},"248":{"id":248,"text":"","title":"Data Processing","component":"axoniq-console-reference","version":"","name":"data-processing","url":"/axoniq-console-reference/data-processing/","titles":[]},"249":{"id":249,"text":"With AxonIQ Console you can manage anything AxonIQ. Whether you want to use Axon Server, find performance bottlenecks in your Axon Framework application, or manage your event processors, AxonIQ Console has you covered. For example, AxonIQ Console gives you deep insight into the performance of aggregates in your Axon Framework application, as you can see in the image below. You get access to many Axon Server features through our Developer plan. This requires no credit card and is free of charge. Try out subscription queries, multi-context, and much more. Sign up now. AxonIQ Console provides a variety of features to help you manage your Axon Framework applications and Axon Server environments. Use the many insightful metrics that tell the health of any part of the application. Manage event processors of with ease. You can start, stop, and reset event processors, as well as scale them automatically. Retry or delete items in Dead-Letter Queues without any hassle. Visualize the message flow in your application. Set up alerts to get notified when something goes wrong. Many features are included in the Developer plan, free of charge. Check out the pricing page for more information. Would you like to follow our tutorial to get started with AxonIQ Console? Check out the AxonIQ Console Getting Started Guide!","title":"AxonIQ Console Reference Guide","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/","titles":[{"text":"Features","hash":"_features","id":1},{"text":"Getting started","hash":"_getting_started","id":2}]},"250":{"id":250,"text":"While the basic functionalities of AxonIQ Console are free through the Developer plan, some features require a subscription. You can see the features of each plan within AxonIQ Console itself, as shown below. Each environment can have a subscription to AxonIQ Professional, which unlocks all features that you will need in a production environment. This page describes the features of each plan and how to manage your subscription. The AxonIQ Developer plan is free and offers the following features: An Axon Server instance with: Multi-context support Authentication of unlimited users Authentication of applications Up to 10 connections Monitoring of Axon Framework applications Advanced metrics, such as aggregate load times Set up and see alerts in the Console UI Visualize the message flow in your application Thirty days of metric retention Management of Axon Framework applications Event processor actions, such as stop, start and replay Dead-letter queue retries Any environment without a subscription will be on the AxonIQ Developer plan automatically. It is possible to run Axon Server without connecting it to AxonIQ Console. However, this will limit the features available to you to the free Axon Server features. You will, for example, not be able to use multi-context or authentication mechanisms. Taking a subscription to AxonIQ Professional unlocks the following features: Clustering of Axon Server, which provides high availability and scalability Integration of AxonIQ Console with existing tools Automatic scaling and balancing of event processors The number of connections you can establish to Axon Server depends on the number of connections you choose. You can freely choose the number of connections you want to use, and adjust it up to two times a day. Clicking the \"Start your Subscription\" button, will take you to the payment page. This will require a credit card to be registered, which will be billed monthly. This is not required if another environment in the same workspace already has a subscription. In that case, the same credit card will be billed. See more in the Consolidated billing section. You can freely change the number of connections up to two times a day. These changes follow the rules outlined in the Changes to your subscription section. You can do this by clicking the \"Change Subscription\" button in the \"Subscription\" section. Alternatively, you can downgrade to AxonIQ Developer by clicking the \"Downgrade\" button. You can change or cancel your subscription at any time. Changes are limited to twice a day per environment. Upgrades to your subscription, such as increasing the connections, will be charged immediately prorated for the rest of your subscription period. Downgrading your subscription, such as cancelling or reducing the number of connections, will go into effect immediately. You will receive a credit for the remaining days of the month, which will be used for future invoices. The current credit is bound to the workspace and can be found on the \"Subscription\" page of any environment in it. The billing of a workspace is consolidated. While every environment has its own subscription, you will receive one invoice every month for all subscriptions in the workspace. If you take a subscription to a second environment, its price will be prorated for the remaining days of the month in the original subscription, and charged immediately to the credit card. It will then automatically be charged monthly on the same day as the original subscription. For example, you have a workspace with two environments. The first environment has a subscription that started on the first of the month, costing 40$ a month. On the fifteenth of the month, you take a subscription for the second environment, costing $100 per month. Immediately, the credit card is charged for about $50. Then, on the first of the next month, the credit card is charged $140. If you cancel a subscription to one of the environments, you will be credited for the remaining days of the month. This credit is then used for any future invoices. Read more in the Changes to your subscription section.","title":"Subscriptions","component":"axoniq-console-reference","version":"","name":"subscriptions","url":"/axoniq-console-reference/subscriptions/","titles":[{"text":"Developer","hash":"_developer","id":1},{"text":"Professional","hash":"_professional","id":2},{"text":"Changes to your subscription","hash":"_changes_to_your_subscription","id":3},{"text":"Consolidated billing","hash":"_consolidated-billing","id":4}]},"251":{"id":251,"text":"","title":"Axon Framework","component":"axoniq-console-reference","version":"","name":"axon-framework","url":"/axoniq-console-reference/connectors/axon-framework/","titles":[]},"252":{"id":252,"text":"","title":"Axon Server","component":"axoniq-console-reference","version":"","name":"axon-server","url":"/axoniq-console-reference/connectors/axon-server/","titles":[]},"253":{"id":253,"text":"","title":"Connectors","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/connectors/","titles":[]},"254":{"id":254,"text":"Everything you do in AxonIQ Console happens in a workspace. The workspace controls the authentication and authorization of your team members. You can assign different roles to your team members, depending on their responsibilities. The workspace consists of environments. For example, production, staging, and development. Each environment can have a subscription to AxonIQ Professional, which unlocks all features that you will need in a production environment. You can freely change the name of the environment on the settings page. You can also add new environments to the workspace from this page. You can access the workspace’s settings directly from the Settings page of the environment. Here you can change the name of the workspace, add or remove team members, and change the roles of team members. You can have a number of environments in a Workspace, each with its own subscription. The billing of a workspace is consolidated, meaning you will receive one invoice every month for all subscriptions in the workspace. The billing cycle starts on the day you take the first subscription in the workspace. In addition, whenever you downgrade or cancel an AxonIQ product, you will receive credit as restituition for the remaining days of the month. This credit will be used for future invoices for any current or future AxonIQ product in the workspace. For more information, see the Subscriptions page.","title":"Workspaces and Environments","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/environments/","titles":[{"text":"Environment settings","hash":"_environment_settings","id":1},{"text":"Workspace settings","hash":"_workspace_settings","id":2},{"text":"Subscription cycle","hash":"_subscription_cycle","id":3}]},"255":{"id":255,"text":"At AxonIQ Console you can set up four main roles, each with different responsibilities assigned to them, to manage and use the platform effectively. The roles and responsibilities are as follows: Owner role can do everything the Admin, Developer, and Viewer roles can, plus: create/remove a workspace name or change the name of a workspace create/remove environments within that workspace name or change the name of an environment manage subscription plans invite/remove team members assign/un-assign/change roles to all team members assign or un-assign an admin on the same workspace change the admin role to the developer/viewer role transfer the ownership of a workspace to another user Admin role can do everything the Developer and Viewer roles can, plus: create/remove new environments in the workspace name or change the name of an environment invite team members add and assign Developer and Viewer roles to users that are not Admin or Owner Developer role can do everything the Viewer role can, plus: start/stop/pause/reset event processors split/merge segments enable autoscaling retry/delete items in the Dead-Letter Queue (DLQ) adjust various monitoring views remove statistics has access to information in all environments within a workspace Viewer role can: only see the information displayed on various environments preview the subscription plan(s) Note: Each Workspace can only have one Owner role. Each Workspace can only have one Admin. Each Workspace can have multiple Developer or Viewer roles. Here’s the information about system roles organized in a matrix format with columns representing roles and their maximum possible responsibilities: Responsibilities Owner Admin Developer Viewer Create/Remove Workspace ✔️ ❌ ❌ ❌ Name/Change Workspace ✔️ ❌ ❌ ❌ Create/Remove Environments ✔️ ✔️ ❌ ❌ Name/Change Environment ✔️ ✔️ ❌ ❌ Manage Subscription Plans ✔️ ❌ ❌ ❌ Invite/Remove Team Members ✔️ ✔️ ❌ ❌ Assign/Un-assign/Change Roles ✔️ ❌ ❌ ❌ Assign/Un-assign Admin ✔️ ✔️ ❌ ❌ Change Admin Role ✔️ ✔️ ❌ ❌ Transfer Ownership ✔️ ❌ ❌ ❌ Create/Remove New Environments ❌ ✔️ ❌ ❌ Invite Team Members ❌ ✔️ ❌ ❌ Add/Assign Developer/Viewer Roles ❌ ✔️ ❌ ❌ Start/Stop/Pause/Reset Event Processors ❌ ❌ ✔️ ❌ Split/Merge Segments ❌ ❌ ✔️ ❌ Enable Autoscaling ❌ ❌ ✔️ ❌ Retry/Delete Items in DLQ ❌ ❌ ✔️ ❌ Adjust Monitoring Views ❌ ❌ ✔️ ❌ Remove Statistics ❌ ❌ ✔️ ❌ Access Information in all Environments ❌ ❌ ✔️ ❌ View Information ✔️ ✔️ ✔️ ✔️ Preview Subscription Plans ✔️ ✔️ ✔️ ✔️","title":"AxonIQ Console Roles","component":"axoniq-console-reference","version":"","name":"roles","url":"/axoniq-console-reference/environments/roles/","titles":[{"text":"System roles and responsibilities matrix","hash":"_system_roles_and_responsibilities_matrix","id":1}]},"256":{"id":256,"text":"","title":"Manage Axon Server","component":"axoniq-console-reference","version":"","name":"axon-server","url":"/axoniq-console-reference/features/axon-server/","titles":[]},"257":{"id":257,"text":"Version 4.6.0 of Axon Framework introduced the Dead-Letter Queue (DLQ) mechanism. This mechanism allows you to store messages that could not be processed by an Event Processor, for example due to an exception being thrown. The messages can then be inspected and possibly retried. Axon Framework only provides a programmatic interface to see and manage the DLQ, and any mechanism for retries needs to be implemented by the user. AxonIQ Console provides a graphical interface to inspect and manage the DLQ, and also provides a mechanism to delete and retry messages. You can only see the amount of messages in the DLQ by default, not its contents. This is to prevent unwanted access to the contents of the DLQ. If you want to see the contents of the DLQ, you can enable this in the properties of the Framework client. See Axon Framework Connector for more information. When a processor has one or more DLQs, you can see this in the Processor overview under the \"Dead Letters\" column, as shown below. Clicking on the queue will take you to the DLQ overview page, where you can see all sequences in the Dead-Letter Queue, along with the number of messages in the sequence, the cause of the failure, and the time the message was added to the DLQ. To retry processing of the sequence you can click \"Retry\" on the row of that sequence. You can also click the \"Delete\" button to delete the entire sequence from the DLQ. This will remove all messages in the sequence from the DLQ.","title":"Dead-Letter Queues","component":"axoniq-console-reference","version":"","name":"dlq","url":"/axoniq-console-reference/features/dlq/","titles":[]},"258":{"id":258,"text":"","title":"Flow Diagram","component":"axoniq-console-reference","version":"","name":"flow","url":"/axoniq-console-reference/features/flow/","titles":[]},"259":{"id":259,"text":"AxonIQ Console provides a variety of features to help you manage your Axon Framework applications and Axon Server environments. Use the many insightful metrics that tell the health of any part of the application. Manage event processors of with ease. You can start, stop, and reset event processors, as well as scale them automatically. Retry or delete items in Dead-Letter Queues without any hassle. Visualize the message flow in your application. Set up alerts to get notified when something goes wrong. Many features are included in the Developer plan, free of charge. Check out the pricing page for more information.","title":"Features","component":"axoniq-console-reference","version":"","name":"index","url":"/axoniq-console-reference/features/","titles":[]},"260":{"id":260,"text":"Event processors are the components in your application that process events. They can be used to update a read model, send an email, or do any other action based on the events in your system. AxonIQ Console provides you with an overview of all your processors, their instances, and their segments. It also allows you to act on these processors, like starting, stopping, or pausing. You can also set up alerts for your processors, so you get notified when something goes wrong. This page describes the features individually. For an in-depth explanation of the screens, see the Onboarding Guide. For more information about the statistics available on the processor detail page, see the Metrics feature page. Streaming event processors are processors that process events asynchronously by streaming the event store. They claim segments of the event store and process the events that match that segment’s filter. This allows you to process events in parallel, which can greatly improve the performance of your application. When a segment is being processed, it is claimed by a single instance of the processor. This means that no other instance can claim that segment. However, if a segment is not being processed, that means that a part of your event stream is not being processed. This can lead to outdated read models, or other problems in your application. Or, if your event processor is too slow, it can lead to an increased latency (time until data is available) in your application. It’s thus crucial to ensure that all segments are being processed, and that the processors are not too slow. You will also want to be able to manage the processors by implementing controls that can pause and start them, increase or decrease the number of segments, and trigger a replay of the events. While you can build it yourself using the Axon Framework API This is where AxonIQ Console comes in. You can pause processors to stop them from processing events. This can be useful if you want to stop processing events for a while, for example, to do maintenance on your application. To pause all instances of a processor, click the \"Pause\" button in the left processor detail page. When you are done, you can click the \"Start\" button to start processing events on all instances again. The \"Start\" button is the first button and the \"Pause\" button is the second button in the image below. These actions are done on the currently online nodes. If a node comes online with the event processor started, it will start processing events anyway. If you want to stop an individual instance of a processor, you can do so by clicking the \"Pause\" button of that row in the instances table. This will stop processing events on that instance, but not on the other instances. When you are done, you can click the \"Start\" button to start processing events on that instance again. As mentioned in Streaming event processors, segments are parts of the event stream that are processed in parallel. By default, a Pooled Streaming Event Processor has 16 segments, and a Tracking Event Processor 1, depending on the configuration at the time the processor was created. You can increase or decrease the number of segments to increase or decrease the parallelism of your application. However, this can not be done using configuration because segments are only initialized when the processor is started for the first time. After that, you need to use the Split and Merge actions of Axon Framework programmatically, or you can use AxonIQ Console. It’s likely that your event processor interacts with the database, or you use a token store implementation that stores the tokens in the database. This means that more segments require a higher number of connections to the database. If you use a database, it’s important that your database pool can handle this increase in number of connections. Make sure your database and the connection pool of your application can handle this, or you might run into problems. You can use the \"Split\" and \"Merge\" buttons in the Processor detail page to split or merge segments. These buttons are shown in the image below. The \"Merge\" button is the third button in the left column, and the \"Split\" button is the fourth button in the image below. The \"Split\" button will only be enabled if the event processor has \"Free Segment Capacity\", which can be found in the left column. This is the number of segments that can be claimed by an instance of the processor. If this number is 0, you can not split the segments, as then the segment would not be able to be processed. We recommend using Pooled Streaming Event Processors for most applications. While every segment requires a thread when using Tracking Event Processors, Pooled Streaming Event Processors use one thread for reading events and handing packages to a pool of threads that process the events. Because of this design, Pooled Streaming Event Processors are more efficient in most cases. You can reset the position of the segments of a processor, causing what we call a replay. This can be useful if you want to consume the whole event stream, or part thereof, again, for example to fix a bug in your application. In order to execute a reset well, you need to ensure that the processor is paused on all nodes before the reset. Likewise, you need to ensure that the processor is started on all nodes after the reset. AxonIQ Console makes sure this is done in the right order, and that all instances of the processor are stopped before the reset is executed. To reset a processor, click the \"Reset\" button in the left column of the processors' detail page. This will open a dialog in which you can specify to which point you want to reset the processor. You can choose to reset to position 0 (tail), to the latest position (head), or to a specific time. As the dialog already mentions, this will invoke any @ResetHandler of the processor, which can be used to, for example, clear the read model before filling it again. This action can not be undone. Make sure you want to reset the processor before you do it. While replaying events can be useful, it can take some time, during which your application has an outdated read model. During the replay, the segments table will show the progress of the replay, like in the image below. Once the replay is done, the status will return to \"Running\". You can move a segment from one instance to another. This can be useful if you want to balance the load of your processors, or if you want to move a segment to another instance for maintenance. To move a segment, click the \"Move\" button in the row of the segment you want to move. This will open a dialog in which you can select the instance you want to move the segment to. After clicking \"Move Segment\", all processors except the one chosen will be asked to blacklist that segment for a short period of time. This is to ensure that the segment is not claimed by another instance while it is being moved. Then, the chosen instance will be asked to claim the specific segment. While you can load-balance a processor’s segment manually, like outlined in Moving a segment, AxonIQ Console can also do this for you automatically. This feature is only available in the Premium and Enterprise plans of AxonIQ Console. You can enable automatic load balancing by going to the \"Automation\" tab of the processor’s detail page. Here you can enable or disable the automatic load balancing. When automatic load balancing is enabled, AxonIQ Console will automatically balance the segments of the processor over the instances of the processor. This is done by moving segments from instances that have a lot of segments to instances that have fewer segments. Additionally, you can add automatic scaling, defining how many segments you want per instance. AxonIQ Console will then create or remove segments to ensure that the number of segments per instance is as close to the defined number as possible. AxonIQ Console will never exceed the \"Free Segment Capacity\" of the processor. If the processor has a \"Free Segment Capacity\" of 0, AxonIQ Console will not create any new segments for scaling. You can choose whether AxonIQ Console will execute your chosen strategy this upon node connection changes, periodically, or both.","title":"Processor Management","component":"axoniq-console-reference","version":"","name":"management","url":"/axoniq-console-reference/features/management/","titles":[{"text":"Streaming event processors","hash":"streaming_event_processors","id":1},{"text":"Starting and pausing processors","hash":"_starting_and_pausing_processors","id":2},{"text":"Splitting and merge segments","hash":"_splitting_and_merge_segments","id":3},{"text":"Trigger a replay","hash":"_trigger_a_replay","id":4},{"text":"Moving a segment","hash":"moving_a_segment","id":5},{"text":"Automatic balancing and scaling","hash":"_automatic_balancing_and_scaling","id":6}]},"261":{"id":261,"text":"AxonIQ Console gathers metrics on your Axon Framework applications. These metrics provide information about the performance of your applications and potential problems. All metrics that gather times are measured in milliseconds. AxonIQ Console measures the minimum, median, ninetieth percentile, and maximum values for these metrics. When looking at these values, it’s important to look at the ninetieth percentile, as this value is the value that 90% of the measurements are below. This gives you a good indication of the performance of your application. You can see an example below. Individual measurements of timers count toward their percentiles for 5 minutes, after which they expire and no longer count toward the percentiles. This means that the percentiles are always based on the last 5 minutes of data. All metrics that gather rates are measured in counts per minute. Only the items counted in the last 10 seconds are counted toward the rate. This means that the rate is always based on the last 10 seconds of data, multiplied by 6 to get a rate per minute. You can see an example below. Event processors metrics provide information about the status of your event processors. You can see an example below. The Segment claim Percentage shows the percentage of segments claimed by the event processor. This should, under normal situations, always be 100%. If the segment claim percentage is lower than 100%, it means that some segments are not claimed by the event processor and a part of your event processing is not happening. However, if it’s higher than 100%, this means you either have an in-memory token store configured (which can be a valid use-case to process all events on all application instances), or your applications are stealing tokens from each other because the work in a batch takes longer than the configured claim timeout of the token store. The Ingest latency and Commit latency metrics indicate the amount of time that passes between the publishing of an event and the processing of that event by the event processor. The ingest latency is the time between the publication of the event and the moment it is available for processing. The commit latency is the time between the moment the event is processed and the moment the event processor commits the processing of the event. The Nodes graph shows the number of nodes currently online that are reporting to have this event processor in their configuration. Handler metrics provide information about the performance of your handlers. You can see an example below. The Overview graph shows a breakdown of the time spent on processing the messages by the handler. The time not accounted for is \"Overhead,\" which is time spent outside specific measurements. This can be due to Garbage Collection, I/O, or other system activities. The Message Rate shows the number of messages processed by the aggregate per second. It also shows the number of failed messages per second. The Total Time shows the total time spent processing the message by the handler. This metric can vary based on the type of handler. For example, for aggregates it includes the loading of the aggregate from the event store, the processing of the command, and the committing of the events to the event store. The Handler Time shows the time spent in your handler code. Aggregate metrics provide information about the performance of your aggregates. As aggregates handle messages, they have the same metrics as Handlers. In addition, they have several special metrics. You can see an example below. The Lock Time shows the time spent acquiring the lock on the aggregate. This is the time spent waiting for the lock to be available. As aggregates can only handle one command at a time, it is essential to keep this time as low as possible. High values here can indicate a slow event store, long-running actions in the aggregate, or a high contention on the aggregate. The Load Time shows the time spent loading the aggregate from the event store. This is the time spent reading the events from the event store and applying them to the aggregate. This time includes the time spent acquiring the lock on the aggregate as well. The Event Store Commit Time shows the time spent committing the events to the event store. This is the time spent writing the events to the event store. High values here can indicate a slow event store. The EventStream Size shows the number of events that need to be read from the event store to load the aggregate. As the stream can grow over time, it’s important to consider enabling snapshots to reduce the number of events that need to be read. Generally, we recommend keeping this number below 250 events. Application metrics provide information about the performance of your application. This includes information about the memory usage, garbage collection, and threads. The Process CPU Usage shows the percentage of CPU used by the JVM process. Regardless of the number of cores, this number will always be between 0 and 100%. The System CPU Usage shows the percentage of CPU used by the system. This includes all processes running on the system. The Heap Usage shows the memory usage of the JVM. The JVM has a heap where all objects are stored. This graph shows the usage of this heap. A rising percentage without a drop can indicate a memory leak. A high percentage can indicate that the JVM is running out of memory. JVMs commit memory as needed, allowing three 8 GB Java applications on an 8 GB system. As such, the reported free memory might not be available once needed. Make sure to monitor the memory usage of the system as well, or you might run into issues. The CommandBus Capacity shows the percentage of the current CommandBus-threads being used over time. This can be used to determine if the CommandBus is able to keep up with the incoming commands. If this number is consistently high, you may need to increase the number of threads in the CommandBus. Note that this only applies to the AxonServerCommandBus. The QueryBus Capacity shows the percentage of the current QueryBus-threads being used over time. This can be used to determine if the QueryBus is able to keep up with the incoming queries. If this number is consistently high, you may need to increase the number of threads in the QueryBus. Note that this only applies to the AxonServerQueryBus. The Live Thread Count shows the number of live threads in the JVM. This includes all threads: the main thread, the garbage collector threads, and the threads used by the application. A high number of threads can indicate a problem in the application. The System Load shows the system load of the system. This is the number of processes that are waiting for CPU time. This number is divided by the number of cores in the system. A system load of 1 means that there is one process waiting for CPU time. A system load of 2 means that there are two processes waiting for CPU time. A system load of 8 on an 8-core system means that all cores are busy. The Nodes graph shows the number of nodes currently online. AxonIQ Console always tries to show you the most relevant information. When you view the metrics of the handler of an event processor, we will also show the metrics of that event processor itself, and the application. This way you can easily correlate problems in your application. The AxonIQ Console will do this as well in the following situations: When viewing the metrics of an event processor, we will show the metrics of the application and the event processor. When viewing the metrics of an aggregate, we will show the metrics of the application and the aggregate. When viewing the metrics of a handler, we will show the metrics of the application and the handler, as well as aggregate metrics if the handler is part of an aggregate, or event processor metrics if the handler is part of an event processor.","title":"Framework Metrics","component":"axoniq-console-reference","version":"","name":"metrics","url":"/axoniq-console-reference/features/metrics/","titles":[{"text":"Measurements: Timers","hash":"_measurements_timers","id":1},{"text":"Measurements: Rates","hash":"_measurements_rates","id":2},{"text":"Event processors metrics","hash":"event_processors_metrics","id":3},{"text":"Handler metrics","hash":"handler_metrics","id":4},{"text":"Aggregate metrics","hash":"aggregate_metrics","id":5},{"text":"Applications metrics","hash":"applications_metrics","id":6},{"text":"Correlation","hash":"_correlation","id":7}]},"262":{"id":262,"text":"AxonIQ Console provides a comprehensive monitoring solution for your Axon Server cluster and Axon Framework applications. By defining conditions based on the Axon Server health status or Axon Framework metrics, you can get notified when something goes wrong. This way, you can take action before it becomes a problem. The conditions of the workspace, and individual resources, are checked once per minute against the metrics and health collected by AxonIQ Console. When a condition is met, a pending alert is created of the defined level by the condition. If the condition is met for the duration specified in the condition, the alert will no longer be pending and be sent to the configured integrations. You can set up conditions for all monitored resources in your environment. For an overview of all the possible metrics to monitor, see available metrics. To provide a good starting point, AxonIQ Console sets up some conditions by default. You can set up a condition for the entire environment at once. So, for example, you can set up a condition that triggers an alert when the ingest latency of any event processor in any application exceeds a certain threshold. However, sometimes there is a subset of resources that have different requirements. For example, you have a specific event processor that calls a slow legacy system, and can be slower than normal. You can then define a condition for the ingest latency of that specific event processor, overriding the environment-wide condition for that specific processor alone. On the Monitoring page, you can set up the environment-wide conditions. You can add a condition to any resource type by clicking \"Add new condition\". This adds a new condition to the list that you can configure and then save. The formula has the following parts: Field Description Possible values Level The level of the alerts, useful for filtering which integration receives which alerts Incident, Critical, Major, Minor Metric The metric to check Differs per resource, see available metrics. Operator The operator to use for the check =, !=, >, =, when for minutes\", or \"Create critical when segment claim percentage != 100% for 2 minutes\". You can see this in the screen below. You can always adjust the conditions by clicking the \"Edit\" button next to the condition. This makes the entire row editable. You can change any field, except the level and metric. If you want to change the level or metric, you need to delete the condition and add a new one. If you want to set up conditions for a specific resource, you can do so by navigating to the resource and clicking \"Configure\" next to the Alerts header in the top right corner. This opens a dialog where you can add a new condition for that specific instance. Setting up conditions for a specific instance works similar to setting up conditions for all instances. You can find a list of all available metrics and their defaults below. After adding a specific condition, it can be found in the resource itself. Conditions with an override are shown on the Monitoring page by a clickable text on the condition’s row that will open a dialog with the overrides defined. When a condition is met, an alert is created. You can see all alerts in the \"Current alerts\" section on the Monitoring page. Each resource page also has an Alerts section where you can see all alerts for that specific resource. You can also see a badge in all tables where resources are listed with the number of alerts, like in the example below. When you click on a row with alerts, you are taken to the resource page where you can see all alerts for that resource. AxonIQ Console can send alerts to various integrations. This feature is only available in the AxonIQ Professional plan. You can get started by going to the Integrations page. There are three steps to set up Slack integration: Add our Slack app to your workspace Connect your Slack workspace to your AxonIQ Console workspace Set up the channels to send alerts to Due to the dynamic nature of set-up instructions, we cannot provide a step-by-step guide here. However, you can find this information on the Integrations page. Setting up email integration is easy. Just enter the email address, the level of the alerts you want to receive, and click \"Add integration\". The following table contains all their available metrics and their defaults. The defaults have been found by our Solution Engineers to be a good start to set up monitoring. Some of these are automatically set up for you when you start using AxonIQ Console. Resource Metric Default threshold Set up by default Message Handler Error Rate > 1% Yes Message Handler Latency (P90) > 200 ms Yes Message Handler Throughput > 1000/minute No Aggregate Error Rate > 1% Yes Aggregate Latency (P90) > 200 ms Yes Aggregate Lock Time (P90) > 25 ms Yes Aggregate Load Time (P90) > 100 ms Yes Aggregate Event Commit Time (P90) > 300 ms Yes Event Processor Segment Claim Percentage != 100% Yes Event Processor Ingest latency > 100 ms Yes Event Processor Commit latency > 300 ms Yes Event Processor DLQ Size > 0 Yes Application Replica Count 80% Yes Application Host CPU Usage > 80% Yes Application Heap Usage > 80% Yes Application Thread Count > 200 No Application Query Bus Usage > 80% Yes Application Command Bus Usage > 80% Yes Environment Used connections count > 8 No Environment Used connections percentage > 80% Yes Environment Free connections percentage ⇐ 2 No Environment Free connections percentage 8 No Axon Server cluster Used connections percentage > 80% Yes Axon Server cluster Free connections percentage ⇐ 2 No Axon Server cluster Free connections percentage 0 Yes Axon Server instance disk Free space in MB 100 Yes","title":"Monitoring","component":"axoniq-console-reference","version":"","name":"monitoring","url":"/axoniq-console-reference/features/monitoring/","titles":[{"text":"How it works","hash":"_how_it_works","id":1},{"text":"Conditions","hash":"_conditions","id":2},{"text":"Environment-wide conditions","hash":"_environment_wide_conditions","id":3},{"text":"Resource-specific conditions","hash":"_resource_specific_conditions","id":4},{"text":"Alerts","hash":"_alerts","id":5},{"text":"Integrations","hash":"integrations","id":6},{"text":"Slack","hash":"_slack","id":7},{"text":"Email","hash":"_email","id":8},{"text":"Available metrics","hash":"available_metrics","id":9}]},"263":{"id":263,"text":"AxonIQ Console is the tool we will use in this tutorial to show you how to monitor your distributed application built with Axon and identify any components that are not performing as expected or other bottlenecks and issues. We will use the free plan of AxonIQ Console in this tutorial, which is sufficient to connect a small application and experience its features and benefits firsthand. If you prefer to get a complete idea of what AxonIQ Console has to offer before creating your account, you can read about the different panels and dashboards in the \"Monitoring Axon Framework Applications\" section of the AxonIQ Console Getting Started Guide. If you prefer to explore and discover its features by directly connecting an application, keep reading: We will help you to either connect your own version of the \"Bike Rental\" application or use a docker-based \"Bike Rental\" demo application we have already prepared for you. The first step is to set up your free AxonIQ Console account. To do this, simply follow the steps described in the following sections of the AxonIQ Console Getting Started Guide: Register and create your free AxonIQ Console account Configure your account details and proceed to the next section in this guide when you are presented with a page that gives you the option to either connect your application or run the demo. AxonIQ Console provides detailed instructions con how to connect your own Java or Axon Framework based application, or alternatively, provides a docker-compose.yaml file that allows you to run a version of the bike-rental application that is already configured to connect to the AxonIQ Console environment you have just created. In the second dialog of the First time setup steps step, you can choose your preferred option. You can try to follow the detailed steps provided directly by AxonIQ Console UI to connect your application and skip this guide directly to Monitoring your Application with AxonIQ Console","title":"Introducing AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"axoniq-console","url":"/bikerental-console-demo/main/axoniq-console/","titles":[{"text":"Set up your free AxonIQ Console account.","hash":"_set_up_your_free_axoniq_console_account","id":1}]},"264":{"id":264,"text":"There is a good number of reasons to create a modular distributed applications. These type of applications can scale better, support more workload, react in a elastic manner (scaling up or down) to suddent peaks in the workload, and many more. All of those benefits come from relying on designs and concepts like Event-Driven communication, Location Transparency and loose coupling. On the other side, these kind of distributed applications usually make a little bit harder for the DevOps teams to get a comprehensive view of how the whole system is behaving, and sometimes makes more difficult the task to debug and identify bottlenecks or components that have a poor performance. The usual way of complex systems to allow monitoring is by providing some kind of telemetry that it is usually collected and presented in Graphana Dashboards for example. But that information still requires someone who can understand and read where the performance problems could be. While Axon Framework and Axon Server provides that telemetry, we also provide a better tool to collect those metrics and present the information in a more \"opinionated\" way that gives a comprehensive and more clear view of all the components of your application and analize their performance in an easier way. In this guide, we will use the AxonIQ Console as our tool to gather that telemetry and observe the performance of our system. We will also create some performance problems on-purpose on our sample bike-rental demos application in order to see how AxonIQ Console helps us in detecting those problems. You can read more about AxonIQ Console in the AxonIQConsole Getting Started Guide. This tutorial will guide you through the process to connect the bike rental application to AxonIQ Console and see the how to monitor the behaviour of your distributed system built using Axon Technologies. During this process, we will also use some components to simulate activity for our Bike Rental application. Furthermore, to make things more interesting, we will also use the Axon Fire-Starter to cause some problems on purpose on the application and show how AxonIQ Console can help you detect them. Don’t worry if you don’t want to adapt your application. We will also show you how to use a working demo application and go directly to running it and monitoring its performance. Let’s get started.","title":"Introduction","component":"bikerental-console-demo","version":"main","name":"blogPost-draft","url":"/bikerental-console-demo/main/blogPost-draft/","titles":[]},"265":{"id":265,"text":"In this guide we have walked you trhough the process to register and connect your Axon Framework-based application to AxonIQ Console, and then thanks to the capabilities of the AxonFramework Firestarter library, we were able to introduce some \"problems\" in our aplication and experiment how AxonIQ Console helps to identify pottential problems in our applications. You can experiment with the AxonFramework Firestarter by introducing delays or errors at various points in your modules and applications. See how the AxonIQ Console reacts and identifies the bottlenecks you have created in your system. Through these experiments, you will see how connecting your production applications to the AxonIQ Console and adding the AxonIQ Console dashboard as another useful element to your DevOps toolbelt can benefit you. A little grame proposal to have some fun while exploring AxonIQ Console features You can play a little game with your colleagues to experiment with the power of AxonIQ Console. You can ask your colleague to configure some problems in the demo application using AxonFramework Firestarter, and then you can try to identify where the problem is using AxonIQ Console. Then you can take turns. In the second round, you will configure some problems in the application and ask them if they can figure out what problem you introduced. Take notes and explore all the possibilities offered by the AxonIQ Console. Were the problems easy to find? What problems are easier to identify with AxonIQ Console? What are the most valuable tabs to start searching for problems? What are the most challenging problems to find? Is there any other helpful information you would love to see in AxonIQ Console? Please don’t be shy and don’t hesitate to share your experiences with us and the rest of the community at the AxonIQ Console category of our Discuss forums.","title":"Conclusion","component":"bikerental-console-demo","version":"main","name":"conclusion","url":"/bikerental-console-demo/main/conclusion/","titles":[]},"266":{"id":266,"text":"Once we have our event-driven distributed application in production, there may be some cases where the behavior or performance of our application is not what we expected. This unexpected performance could be because our application has a higher load than expected, because some component is acting as a bottleneck and should be scaled or because a message is stuck or causing problems somewhere in our system architecture. Before randomly jumping into the various software components trying to locate the source of the problem, it would be helpful to have a bird’s-eye view of our system and see where the potential issues might be. In this guide, we will see how you can connect your Axon Framework-based application to the AxonIQ Console and get this comprehensive view of your system behavior. We will use the bike-rental demo application during the guide, but you can use the instructions provided in the guide to connect your own Axon Framework-based application. If you don’t have an Axon Framerwork-based application, the guide will also show you how to run and monitor an application using an already working example application packaged as a set of docker images (all you will need to do is run a docker-compose command).","title":"Introduction","component":"bikerental-console-demo","version":"main","name":"index","url":"/bikerental-console-demo/main/","titles":[]},"267":{"id":267,"text":"Once that you have signed up and created your free account in AxonIQ Console, we can connect our application bike-rental application (or any other Axon Framework based application you may have) and see how it is monitored by AxonIQ Console. In the second dialog after setting up your AxonIQ Console account you were presented with two options to get started using AxonIQ Console, this is where this guide will follow two alternative paths, depending on whether you already have a working application built with Axon Framework (such as the bike-rental application built during Building A Bike Rental Application]) or if you prefer to simply use the demo AxonIQ Console has already prepared for you. AxonIQ Console provides detailed instructions con how to connect your own Java or Axon Framework based application, or alternatively, provides a docker-compose.yaml file that allows you to run a version of the bike-rental application already configured to connect to the AxonIQ Console environment you have just created. In the second dialog of the First time setup steps step you will be able to choose your preferred option. You can try to follow the detailed steps provided directly by AxonIQ Console UI to connect your application and skip this guide directly to xref:monitoring/index.adoc If you want to follow detailed instructions to prepare and connect your own Axon Framework based application, go to Prepare your Application for AxonIQ Console If you want to read the detailed instructions in this guide to run the docker-based application that AxonIQ Console already has available, click on Using Docker-Based Bike-Rental Demo","title":"Connect your Application to AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"index","url":"/bikerental-console-demo/main/connect-your-app/","titles":[]},"268":{"id":268,"text":"This guide offers several alternative paths for you to follow. Choose the one that works best for you. In all cases, the guide will begin by walking you through the process of creating your free account at AxonIQ Console, the online service we will use to connect our Axon Framework-based applications. After that, the guide will offer you several ways to prepare and connect an application to be monitored by AxonIQ Console: Using the bike-rental demo application you developed following the Building A Bike Rental Application tutorial (or any other AxonFramework-based application you already have ready to run). Using the Docker-based demo application available from the AxonIQ Console dashboard. Create some delays or cause errors in your application and see how AxonIQ Console monitors and detects performance issues in your application. For this step, we will use the AxonFramework Firestarter library, which allows us to easily configure and Change the behavior in different points of an Axon Framework-based application. If you are ready, let’s get to it.","title":"Structure Overview","component":"bikerental-console-demo","version":"main","name":"guide-structure","url":"/bikerental-console-demo/main/introduction/guide-structure/","titles":[]},"269":{"id":269,"text":"There are not too many prerequisites or knowledge you need to follow this guide, and we provide options for you to quickly have everything you need. These are the tools that we will use throughout this guide: The first steps of this guide will show you how to create your free AxonIQ Console account. The main tool we will use for this guide is AxonIQ Console, an online service that allows you to connect your application and provides a dashboard with a comprehensive view of your system behavior. It also allows you to drill down into more detailed information about each of your system’s modules/components. AxonIQ Console also allows you to configure alerts to notify you when certain performance thresholds are exceeded. This will be the application that we will be monitoring. During this guide, we will use the bike-rental demo application you built with the Building A Bike Rental Application, but you can also use your own Axon Framework-based application if you already have one. If you don’t have an application built using Axon Framework ready, we will also provide you with a working version of the bike-rental demo application that you can easily run with docker. To make things more interesting, we will deliberately cause performance problems in our running application. This will allow us see the real power of AxonIQ Console in detecting these problems. In order to intentionally change the expected behavior of the application and create these performance problems in our application in an easy way, we will add the Axon Framework Firestarter library to our application. If you plan to use the bike-rental-demo application that we provide via docker images, don’t worry, as this version already has this feature enabled.","title":"Components and Tools Used During This Guide.","component":"bikerental-console-demo","version":"main","name":"required-components-and-tools","url":"/bikerental-console-demo/main/introduction/required-components-and-tools/","titles":[{"text":"AxonIQ Console","hash":"_axoniq_console","id":1},{"text":"Axon Framework based application (optional).","hash":"_axon_framework_based_application_optional","id":2},{"text":"Axon Firestarter library (optional).","hash":"_axon_firestarter_library_optional","id":3}]},"270":{"id":270,"text":"The AxonFramework-Firestarter is a library that allows you to introduce some \"taints\" into your Axon Framework based application. This feature is helpful for exploratory scenarios where we want to create controlled chaos (or start fires) inside our applications to test how our system will react under stress or when problems arise. In this tutorial, we want to use AxonFramwork Firestarter to introduce delays or cause some message handlers to produce errors and see how AxonIQ Console detects and shows these situations. To add Axon Firestarter to your application, simply add the org.axonframework.firestarter:firestarter-spring-starter to your bike-rental application. If you are using the Docker-based bike-rental demo that comes with AxonIQ Console ready to run and connect to the dashboard, you don’t need to do anything because the bike-rental demo Docker images with the different modules have been created with Axon Firestarter. You can jump right to Detecting Issues in your Application to see it in action. The first thing we need to do is to declare the dependency management in the pom.xml of the root project: /pom.xml org.axonframework.firestarter firestarter-spring-starter 0.0.2 With this configuration, we can now add the dependency to any module in our project without specifying the version while keeping the versions in sync. So all you need to do is declare the dependency in your `payment' and `rental' modules: /payment/pom.xml org.axonframework.firestarter firestarter-spring-starter /rental/pom.xml org.axonframework.firestarter firestarter-spring-starter If you split your rental module into the various microservices defined in the /microservices folder, you must add the dependency mentioned above to all the /microservices/rental-* modules. Once you have added the dependency to your modules, update your Maven project and ensure AxonFramework Firestarter is listed among the libraries. Once you have added the AxonFramework Firestarter library to your project, you can start your modules. You will have a dashboard accessible under /fire-starter/ to \"start your little fires within the Axon Framework-based application.\" For example, start your rental module and point your browser to https://localhost:8080/fire-starter/, you will see the following page: If you are using the Docker-based bike rental demo application provided by the AxonIQ Console that is ready to run and connect to the Dashboard, you can access the Axon Firestarter page for each module at the following URLS: FireStarter Rental Command module: http://localhost:10100/fire-starter/ FireStarter Rental Payment module: http://localhost:10101/fire-starter/ FireStarter Rental Query module: http://localhost:10102/fire-starter/ FireStarter Rental UI module: http://localhost:10103/fire-starter/ FireStarter Payment Processor module: http://localhost:10106/fire-starter/ This page will show you all the points where you can configure different degrees of problems or change the application’s performance to introduce some delays. For example, if you click on the 'Event Handlers' button in the 'Events' section, you will see a panel that allows you to introduce fixed or random delays in the time that all the event handlers defined in this application take to process an event and configure them to produce an error in a certain percentage of the events that are processed. For each problem you can configure (fixed delays, random delays, or error rate), you have a checkbox to enable the 'problem' and a field to configure the time or percentage of requests that will cause that problem. Once you have configured your desired behavior, click the \"Save taints\" button and your application will start behaving the way you told Axon FireStarter to behave. Now that you have configured Axon Firestarter in your application, we can start introducing problems in our applications and see how the AxonIQ Console helps us detect these problems in our applications' behavior. We will guide you on how to do it in the Detecting Issues in your Application section.","title":"Introducing AxonFramework Firestarter","component":"bikerental-console-demo","version":"main","name":"add-axon-firestarter","url":"/bikerental-console-demo/main/monitoring/add-axon-firestarter/","titles":[{"text":"Adding Axon Firestarter to your application","hash":"_adding_axon_firestarter_to_your_application","id":1},{"text":"Accessing the Axon Firestarter console.","hash":"_accessing_the_axon_firestarter_console","id":2},{"text":"Conclusion","hash":"_conclusion","id":3}]},"271":{"id":271,"text":"Now we come to the exciting part of this guide, where we will see AxonIQ Console in action: We will be able to introduce problems in our application (or start some small fires) and use AxonIQ Console to detect these problems. The steps in this section are broken down into: First, we will look at overview of all the information AxonIQ Console displays about our application behavior. We will walk you through the AxonIQ Console dashboard to familiarize you with it. To see the real power of AxonIQ Console, we will introduce Axon FireStarter. A library that allows you to introduce some delays and errors at certain points of your Axon Framework-based application. With Axon Firestarter added, we can make our application misbehave and see how AxonIQ Console detects those problems. Proceed to the next section to continue.","title":"Monitoring your Application with AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"index","url":"/bikerental-console-demo/main/monitoring/","titles":[]},"272":{"id":272,"text":"In this step of the tutorial, we will intentionally create some delays and errors in the `bike-rental' demo application that we have connected to our AxonIQ Console dashboard. After configuring the application to present some misbehavior or poor performance, we will see more clearly how AxonIQ Console helps us monitor and detect these issues in our application. We will use the AxonFramework Firestarter library, which we added in the Introducing AxonFramework Firestarter step of this tutorial, and the set of features it provides to introduce the behavior problems in our application. This library is not intended to be used in production environments but for scenarios where we want to do some stress or chaos testing of our system. If you are using the Docker-based bike rental application downloaded during the AxonIQ Console sign-up process, the Axon FireStarter library is already included in all the modules of your application. We will guide you through some scenarios in which we can show how to introduce specific problems and how AxonIQ Console helps you detect them. Detecting a Slow Event Handler We will add more scenarios to this list. If you are interested in how AxonIQ Console helps detect a specific type of problem, let us know your suggestions of content to be added here in the discuss forum category dedicated to AxonIQ Console","title":"Detecting Issues in your Application","component":"bikerental-console-demo","version":"main","name":"issues-w-firestarter","url":"/bikerental-console-demo/main/monitoring/issues-w-firestarter/","titles":[]},"273":{"id":273,"text":"This example shows how the AxonIQ Console can help us identify one or more event handlers performing poorly on our system. The first thing we need is a slow event handler. In this case, we will use the AxonFramework Firestarter to manually configure some delays in the payment module’s event handlers. Access to the /fire-starter/ endpoint of your 'Payment' module. Remember the last slash in the URL. Otherwise, you may get an error saying the page does not exist. Accessing the Firestarter Config page of your Payment module If you use the bike-rental application you created following the Building A Bike Rental Application tutorial, you simply need to access http://localhost:8081/fire-starter/ in your URL. If you are using the Docker-based bike-rental demo application available from AxonIQ Console, open the http://localhost:10106/fire-starter/ URL in your browser. Click the 'Event Handlers' button under the 'Events' category. Configure a fixed delay of 200 ms for all the Event Handlers in the Payment module and click the 'Save taints' button. Soon after applying your configuration to have a fixed delay in the event handlers AxonIQ Console will detect this delay and display indicators in various places. Let’s see the different places where this abnormal performance is displayed. We can start with the Applications tab, where, by default, we may not see any abnormal indicator. If we drill down a bit and click on the Payment Processor application to access the module’s details view, we will see the list of the top five slowest handlers, which also shows the two high-latency event handlers. When we click on either of these two slow event handlers, we are taken to the 'Handler Insights' tab with the details view for this processor loaded. In the Processors tab, we can also see that the Payment Processor application has a high latency. If you upgrade to one of the paid tiers of the AxonIQ Console, you will enable alerts and monitoring, and the main Processor tab will display an alert near the module that displays slow handlers: If you are looking for bottlenecks or slow handlers, click on the 'Latency' column to order the different processors, starting with the one with the highest latency. Clicking on the 'Payment Processor' row will load that processor’s detailed view, giving you access to more information that might explain, or at least give you more context, why this high latency is produced. In this detail view, the 'Processor Statistics' graphs show when the latency started to increase, showing its evolution over the last period of time. You can also check the rest of the Processor Statistics graphs to add more context to the problem. The high latency may correspond to fewer nodes available at any given time (which means you need to scale out your application again by adding more nodes). You can also review the Processor Statistics graph with some of the Application Statistics graphs showing system CPU usage or bus capacity. These additional graphs may explain other reasons for high latency. In our case, the high latency is due to our explicit delay configuration in AxoFramework Firestarter, so the other graphs will not show any variation. If none of the other graphs add any context to the high latency, the scenario corresponds to a slow algorithm that needs to be fixed in the event handlers (or, in our case, the manually added delay in AxonFramework Firestarter needs to be removed). If you click the Handler Insights tab, you will see these two event handlers with high latency. If you are looking for slow handlers, you can sort them by the time it takes to process the events by clicking one of the column headers that show the execution time (min, median, ninetieth percentile, or max). When you click on one of the slow handlers, the details view for that handler displays different graphs showing its evolution and total time. You can use the different graphs to add more context and see if there is another graph that also explains why the high latency is being produced (such as a sudden increase in the message rate, a change in the number of online nodes, or a sudden change in the system CPU usage). Remember that you can always click on any graphs to view them in more detail. In this graph, you can see how the different statistic values increase at different times. The maximum latency value is captured immediately after the delay is configured in AxonFramework Firestarter, while the average, ninetieth percentile, and minimum values take longer to rise. If you upgrade your AxonIQ Console subscription to one of the paid plans you will have access to the notification and alerting features. This feature means that issues will be more visible in the form of alerts right from the home page. The alerts will also be displayed in any tab that displays information relevant to the module or component that is not behaving correctly. Figure 1. Alerts shown in the processor tab Figure 2. Alerts shown in the handler insights tab The Monitoring tab gives you a single view of any alerts or warnings detected on your system. image::ac-alerts-monitoring-tab.png[alt=\"Screenshot of the Monitoring tab of the AxonIQ Console dashboard showing some of the alerts and warnings detected on your system\"]. You can also configure custom parameters to trigger these notifications or alerts using the Conditions section, which allows you to configure the thresholds in various metrics used to activate these alerts. This configuration applies to all components in your system. Still, AxonIQ Console also allows you to fine-tune these conditions for specific components, such as a particular event handler in a specific module. This configuration can be done through the details view of the component you want to customize, but the Monitoring tab allows you to see a list of all these specific configurations that override the global conditions through the Overrides section of the Monitoring tab. In addition, you can configure notifications or integrate with other tools you may already be using for this purpose, such as Slack, PagerDuty, or email. This configuration can be done from the Integrations section of the Monitoring tab.","title":"Detecting a Slow Event Handler","component":"bikerental-console-demo","version":"main","name":"slow-event-handlers","url":"/bikerental-console-demo/main/monitoring/slow-event-handlers/","titles":[{"text":"Generate a slow event handler","hash":"_generate_a_slow_event_handler","id":1},{"text":"The applications tab","hash":"_the_applications_tab","id":2},{"text":"The processors tab","hash":"_the_processors_tab","id":3},{"text":"The handler insights tab","hash":"_the_handler_insights_tab","id":4},{"text":"Alerts in the start tab","hash":"_alerts_in_the_start_tab","id":5},{"text":"Alerts in the Monitoring tab","hash":"_alerts_in_the_monitoring_tab","id":6}]},"274":{"id":274,"text":"Once you have started your application and all the modules have connected to AxonIQ Console, you should see how they behave in the AxonIQ Console dashboard. The AxonIQ Console dashboard groups all the information collected from your system into several tabs to give you a comprehensive view of your system and also allow to drill down into more detailed information for specific components. Now that our application is connected let’s take a quick tour of the AxonIQ Console Dashboard. The Start tab displays all of the components from our project that have been configured and connected to AxonIQ Console. Depending on the version of the application you have configured to connect to AxonIQ Console, you may see a different number of connected applications. The screenshot above corresponds to the docker-based bike rental application, which has the Axon Framework-based application divided into five microservices (if you are running the version of the bike rental application that you developed following the Building A Bike Rental Application tutorial, you may see only two modules connected). The docker-based bike rental demo also has Axon Server configured to connect to AxonIQ Console, so you may see a different thing in the bottom half of the screen reserved for the Axon Server instances. Don’t worry about this difference, as we will focus on the monitoring capabilities of the Axon Framework application for now. If you are running the bike-rental demo application you developed following the Building A Bike Rental Application tutorial, your Start tab will most likely look like this: When you click on one of the modules, the panel displays additional information about the number of instances of that module connected, the handlers defined in that module, and the number of event processors the application is running. The 'Applications' tab summarizes the different modules and their status. The information is divided into two sections. In the upper half of the panel, there is a list of the different modules with specific information, such as the number of online instances, the Axon Framework version they are using or the CPU and memory usage of each of them. Below this table are several graphs showing the evolution over the last ten minutes of various indicators of the modules' performance and behavior. You can customize the list of graphs you want to see in this section by clicking on the arrow next to the message that says five out of eight graphs are currently selected. Doing that will display a drop-down list to select the graphs you want from all available graphs. If you click on one of the modules from the table shown in the 'Applications' tab, the tab’s contents will change to display more information specific to that module. For example, if you click on the 'Payment Processor' module, you will have access to more insight into the performance of that module and its components: This table shows the number of instances of the module running and connected to AxonIQ Console. In this case, we will have only one instance in the table. But if, at some point, we need to scale out this module by deploying new instances because we notice that the Payment processor is taking more time to process the payments, we will see all these clients listed with different node identifiers: The panel also lists the five slowest handlers in the application. For each handler, the table shows the component name, the handler method, and the time it takes the handler to process a message, measured in milliseconds, along with its median and ninetieth percentile. If you see poor performance in your application, one of these slowest handlers might be a good place to look. Clicking on any handler will take you to that specific handler detail view in the 'Handlers Insights' tab. We can also check the configuration of the application’s different messaging components. You can change the view by clicking on the three tabs of the Configuration panel: The Components table displays information about the different messaging components used by the module, along with their implementation, whether the component is connected to an Axon Server instance, and any Dispatch or Handler Interceptors attached to the bus or serializers used. This information can be useful, for example, to check if an interceptor is attached to a Command or QueryBus that might affect the time it takes to process certain types of messages or if the serializer used to send or receive the messages is the expected one. The Processors table displays information about the event processors used in the application, along with more detailed information such as processor type, batch size, error handlers, or any interceptors or other components configured or attached to the processor. Clicking on a specific processor in this table will take you to the 'Details View' of that particular processor within the Processors tab. Clicking on the 'Versions' label lists all used Axon Framework module libraries and their versions. This view helps see the Axon Framework version used by the application and check that all libraries are using the latest released version. You can also check the 'Show Unused Libraries' checkbox to include the list of libraries defined but not used by the module. The last section of the Application Details tab consists of several graphs that show the evolution of various metrics of the application’s behavior over time. You can select the graphs you want to see by clicking the arrow next to the label that indicates four of eight graphs are selected. This will display a drop-down box with all available graphs. By default, the graphs in the Application Statistics section show the evolution of the module’s behavior over the last ten minutes. However, you can configure a different time window using the drop-down selector at the top right of the graphs. If you select a different value for the time window, your graphs will update to show the evolution of your application’s behavior over that period. The free plan level of the AxonIQ Console only retains information from your connected applications for the last 10 minutes. This time range should be sufficient for evaluation purposes, but if you see the benefits of using AxonIQ Console to monitor your system, you may want to use one of the AxonIQ Console paid tiers with your production applications, which retain information for longer. Click on any of the graphs to enlarge it in the center of the screen. The Processors tab collects information about the event processors defined in your system. The tab displays a table with the different processors, the application or module where they are defined, the processor name, and information about the status and performance of each event processor. Event Processors are the components in an Axon Framework application that perform the tasks necessary to handle an event (for example, launching a transaction if required) and call the event handler that defines the business logic associated with receiving the event. You can learn more about Event Processors in Axon Framework Applications in the dedicated section of the Axon Framework Reference Guide. In the case of our application, we can see the three event processors that we have defined in our bike-rental application: If you click on any processor in the table, the AxonIQ Console will display a page with detailed information gathered from its behavior. For example, if we click on the `io.axoniq.demo.bikerental.payment' processor from the `Payment Processor' application, we will see more details on how this event processor is performing: Let’s go through the different sections. The details page first displays the processor capacity summary table: In addition to basic information about the processor, such as its name, mode, number of running instances, or details about the segments claimed by the processor, this table also shows whether any automation rules are configured for the processor (in the case of the screenshot, there are none). Finally, the summary table offers several buttons to modify the behavior of the processor, which can be helpful in case of poor performance: The button with the play icon allows you to start the Event Processor on all nodes. The Pause button allows you to pause the Event Processor on all nodes. . The merge button merges the two largest segments into one. The merge can only happen if there is more than one segment. The split button splits the smallest segment into two. This action can only be done if there are free threads and all segments are in use. To learn more about how an Axon Framework-based application processes the events and how the segments are split or merged, you can read the xref:axon-framework-reference:tuning:event-processing.adoc#_increasing_and_decreasing_segment_counts section of the Event Processing Tuning article in the Axon Framework Reference Guide. A fifth option is to reset the processor. Resetting the processor means calling any @ResetHandler methods on that processor and resetting the tokens to a desired position. After clicking the 'Reset Processor' link, the AxonIQ Console displays a dialog box asking you to specify the preferred position to which you want to set the processor. A field to set the desired date and time will appear if you select the 'Index at a certain date and time' option. In addition to the summary information table, another table displays specific information for each of the instances. Along with the processor information for each instance, such as status, stream percentage, or latency, a column allows you to pause or start the processor in a specific instance. The buttons in this column allow more granular operation of the processors than those shown in the Processor summary. Clicking the Segments tab in the processor details view displays a list of all the segments into which the event stream is divided. The segment table provides a button in the Actions column to move any segment to another instance if multiple instances are running the event processor. When you click the Event Handlers tab, the processor details view displays a table of all defined event handlers associated with the event processor. The last tab of the central area in the processor detail view allows you to configure some automation rules for the event processor. This panel allows configuring some rules to balance the segments automatically or to scale and balance the segments in certain cases. This feature is only available in the paid plans of AxonIQ Console. You can check the different plans of AxonIQ Console to learn about these premium features. Right below the main area, the processor details view displays three graphs showing statistics on how the event processor’s various performance metrics have evolved over time. By default, this section contains graphs of the percentage of segments in use, latency, and number of nodes online. Clicking the blue down arrow that indicates the number of graphs selected will display a drop-down selector that allows you to select or deselect the graphs in this section. Finally, you can configure the time window displayed by the graphs using the 'Time Window' drop-down list at the top right of the section. You can view each graph in more detail by clicking on it. The last section of the processor details view contains additional graphs with statistics on various application performance metrics that might be useful for checking the processors' performance. In this case, by default, you will see graphs that show the evolution over the last ten minutes of the application’s CPU usage, the system CPU usage, the command bus and queuing bus capacity, the number of live threads in the different applications, or the system load, among other graphs…​ As in the processor statistics section, you can select or deselect the graphs displayed in this section by clicking on the blue down arrow that indicates the number of chosen graphs. You can also configure the time window displayed by the graphs using the 'Time Window' drop-down list at the top right side of the section. The Aggregates tab lists all aggregates defined as part of the command model. When you click one of the aggregates, the tab displays the details view for that aggregate. Clicking on the 'Payment' aggregate row in the Summary table on the Aggregates tab displays the following details about the behavior of the processing requests associated with this aggregate. The first table in the aggregate details view of the 'Aggregates' tab displays any message handlers (command handlers in this case) defined in the application associated with the aggregate. As we can see, there are three commands in our `bike-rental' demo application that affect the `Payment' aggregate: The `PreparePaymentCommand', the `ConfirmPaymentCommand', and the `RejectPaymentCommand'. In our application, the handlers for the first two are working with reasonable throughput, while the handler for the last one is idle because the application does not receive any commands of this type. In an event-based distributed system, losing track of where messages are coming from and where they are going can be easy. The AxonIQ Console provides convenient ways to see how the various messages (commands, queries, and events) travel between the different components of our system. The Message Sources (and Message Destinations) tables in the Aggregate Details view of the Aggregates tab in the AxonIQ Console dashboard are useful tools for identifying where the commands that affect the aggregate are coming from. In our example, we can see the different message handlers or components that trigger any commands that affect the Payment aggregate. The table shows that although several points in the source code could trigger commands for the aggregate, only the receipt of the BikeRequestedEvent triggers the commands that affect the aggregate. Clicking on any of the rows in the table will take you to the Handler Insights view, which shows the handler’s details for that message. Similar to the Message sources., the message destinations allow you to see which messages are triggered by the aggregate and any components defined in our system that handle those messages. In our example, we can see that the aggregate triggers three different messages: PaymentConfirmedEvent, PaymentPreparedEvent, and PaymentRejectedEvent. We can also see all the handlers defined for each of these events. For example, the PaymentConfirmedEvent has two components that define a handler: the PaymentSaga and the PaymentStatusProjection. Clicking on any of the rows in the table will take you to the Handler Insights view, which shows the handler’s details for that message. Below the general details of the aggregate, a section displays graphs showing how various metrics have evolved over time relative to their behavior. In this case, by default, you will see graphs that show the evolution of the distribution of the time it takes to process a (command) request, affecting an aggregate, the message rate, or the time spent in the handler method, among other graphs. As with any other section of the AxonIQ Console dashboard that displays these graphs, you can select or deselect the graphs shown in this section by clicking on the blue down arrow that indicates the number of chosen graphs. You can also configure the time window displayed by the graphs using the 'Time Window' drop-down list in the upper right corner of the section. Finally, if you need to see any of the graphs in more detail, you can click on them to enlarge them in the center of the page. The Handler Insights tab provides a view of all the message handlers defined in our system. The table shown in this view is a complete view of all points in our application that receive and process messages of any type. The main table lists all our applications' message handler methods to process commands, events, or queries. The table displays information for locating each handler, such as the application, the component, and the message it handles. Below this information, the table also shows some metrics to see how the handler is performing. Our example shows that the RequestBikeCommand handler in the RentalCommand application has an alert. This alert is expected because the bike-rental demo application implements a handler that causes up to 5% of errors in this handler. This alert is one of the benefits of using the AxonIQ Console to monitor and detect problems in our system. It is just a taste of the AxonIQ Console’s benefits and power. In a later section of this tutorial, we will deliberately create more problems in our application and see how they are detected. On the right side of the main table showing all message handlers, there are several categories that allow you to filter the list and narrow down the information you want to see. For example, if we only want to focus on the requests handled by a specific application, such as the payment processor, we could click on 'Payment Processor' under the 'All Applications' category and then select 'RequestMessage' under 'All Message Types', and we will see our table updated: If you want to reset the filter to show all handlers again, select All Applications and All Message Types in the side menu. If you know the name of a particular message handler, you can use the 'Filter Handlers' input file at the bottom of the filter side menu to enter the name - or part of it - of the message type or component type. When you start typing, the main table will update its contents with only those message handlers whose component name or message name contains the search text you introduced. If you click on any of the rows in the 'Handlers Insights' tab, the page will display detailed information about that specific handler. The first section of the Handler Insight details view displays graphs showing how various handler behavior metrics have changed over time. If you want to see any of these graphs in more detail, you can click on it and it will expand and move to the center of the screen. The first graph shows an overview of the time the handler spends in the different steps of preprocessing a message. This graph includes the handler execution time, the time spent committing the message to the buses, and the overhead. The message rate graph shows the history of the number of messages received and processed per minute over the last period. It also shows the number of messages that caused an error during processing. The Total Time graph shows the trend of various statistical measures of the time it took to process a message in the handler. The graph shows the time it took to process the fastest message (the minimum time), the time it took to process the slowest message (the maximum time), the average of the time it took to process messages (the median), and the maximum time it took to process ninety percent of the fastest messages. The 'Handler Time' graph shows the evolution of various statistical measures of the time taken by the handler to process messages. The graph shows the time it took to process the fastest message (the minimum time), the time it took to process the slowest message (the maximum time), the average of the time it took to process messages (the median), and the maximum time it took to process ninety percent of the fastest messages. By clicking on the 'Message Sources' label, the Handler Insights detail view displays all components that send the messages processed by this handler. In an event-based distributed system, this information is useful for tracking messages and connecting the message handler to other components in our system that produce the information our component consumes. This helps connect the various components of our distributed architecture and sometimes provides the context we need to debug and understand potential problems. Similar to the Message sources., it is sometimes helpful to see which components will receive and handle events or messages sent by the handler we are examining. This is the information we see when we click on the 'Message destinations' label in the 'Handler Insights' details view. In the details view of the Handler Insights tab and the Aggregates tab, we have already seen that AxonIQ Console provides a way to know the source of the messages (events, commands, or queries) processed by a particular handler and to see the components that receive other messages that a particular handler sends. This feature provides an excellent way to see a component’s \"neighbors,\" that is, the handlers related because they send or receive messages associated with the current component. It also allows us to get a small view of how certain messages flow through this particular component. Apart from that, it is useful to have a more comprehensive view of the messages flowing in our system. The Message Flow tab provides exactly this view. By default, this diagram shows the different elements of our system and how they are connected: The applications are represented by large circles The components (aggregates, projections, or sagas) that are the source or destination of messages (events, commands, or queries), represented by smaller dots. The messages that flow from message sources to message destinations. These are represented by animated dotted arcs. The stroke of these lines is thicker or thinner depending on the amount of messages flowing: the thicker the line, the more messages are sent in that particular connection. Optionally, you can also select the diagram to include the buses from which some messages originate. The diagram is configurable, so you can customize it to better represent your system according to your preferences. The first thing you can do is zoom in or zoom out of the diagram by scrolling your mouse over it. You can also rearrange any elements on the diagram (applications or components), and the rest of the connected components will follow your new arrangement. In addition to manually arranging the elements on the diagram, you can also adjust some properties of how the diagram is drawn. On the right side of the diagram, you have several sections that change the \"physics\" of the elements in the diagram. You can spend some time playing around with the different options and seeing how they render different versions of the diagram, which will show how the different components of your application are connected and how messages flow through them.","title":"Overview your Application in AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"your-app-in-axoniq-console","url":"/bikerental-console-demo/main/monitoring/your-app-in-axoniq-console/","titles":[{"text":"Start tab","hash":"_start_tab","id":1},{"text":"Applications tab","hash":"_applications_tab","id":2},{"text":"Detailed application information.","hash":"_detailed_application_information","id":3},{"text":"Online clients","hash":"_online_clients","id":4},{"text":"Slowest handlers","hash":"_slowest_handlers","id":5},{"text":"Application configuration","hash":"_application_configuration","id":6},{"text":"Components","hash":"_components","id":7},{"text":"Processors","hash":"_processors","id":8},{"text":"Versions","hash":"_versions","id":9},{"text":"Application statistics","hash":"_application_statistics","id":10},{"text":"Select the graphs to display.","hash":"_select_the_graphs_to_display","id":11},{"text":"Configuring the time window for the graphs","hash":"_configuring_the_time_window_for_the_graphs","id":12},{"text":"Processors tab","hash":"_processors_tab","id":13},{"text":"Processor details","hash":"_processor_details","id":14},{"text":"Processor summary","hash":"_processor_summary","id":15},{"text":"Instances","hash":"_instances","id":16},{"text":"Segments","hash":"_segments","id":17},{"text":"Event handlers","hash":"_event_handlers","id":18},{"text":"Automation","hash":"_automation","id":19},{"text":"Processor statistics","hash":"_processor_statistics","id":20},{"text":"Application statistics","hash":"_application_statistics_2","id":21},{"text":"Aggregates tab","hash":"_aggregates_tab","id":22},{"text":"Aggregate details","hash":"_aggregate_details","id":23},{"text":"Aggregate handlers","hash":"_aggregate_handlers","id":24},{"text":"Message sources.","hash":"_message_sources","id":25},{"text":"Message destinations","hash":"_message_destinations","id":26},{"text":"Aggregate statistics","hash":"_aggregate_statistics","id":27},{"text":"Handler insights","hash":"_handler_insights","id":28},{"text":"Filtering handlers","hash":"_filtering_handlers","id":29},{"text":"Searching for a specific handler.","hash":"_searching_for_a_specific_handler","id":30},{"text":"Handler details","hash":"_handler_details","id":31},{"text":"Handler statistics","hash":"_handler_statistics","id":32},{"text":"Handler overview","hash":"_handler_overview","id":33},{"text":"Message rate","hash":"_message_rate","id":34},{"text":"Total time","hash":"_total_time","id":35},{"text":"Handler time","hash":"_handler_time","id":36},{"text":"Message sources","hash":"_message_sources_2","id":37},{"text":"Message destinations","hash":"_message_destinations_2","id":38},{"text":"Message flow","hash":"_message_flow","id":39},{"text":"Customize the message flow diagram.","hash":"_customize_the_message_flow_diagram","id":40}]},"275":{"id":275,"text":"After connecting our Axon Framework-based application to AxonIQ Console, and in order to see the benefits of AxonIQ Console while monitoring our system, we will need to send some requests to our application. We could simply start sending some requests manually to our the REST endpoints defined by our bike-rental application. But that will be soon a tedious task to repeat if we want to focus on monitoring our application. So, in this step, we are going to introduce some code to make our application active without the need of us having to manually send requests. To keep things easy and quick, we will do this in two steps: First we will define a new","title":"Add Activity Simulator to Your Application","component":"bikerental-console-demo","version":"main","name":"bike-rental-activity-simulator","url":"/bikerental-console-demo/main/connect-your-app/custom-app/bike-rental-activity-simulator/","titles":[]},"276":{"id":276,"text":"This section will prepare and connect our Axon Framework-based application to AxonIQ Console. We will follow the steps provided by the AxonIQ Console interface after signing up and setting up our free AxonIQ Console account. If you did not follow the Building A Bike Rental Application tutorial and you do not have an Axon Framework-based application ready to connect to AxonIQ Console, you can also use a docker-based bike-rental application that we have prepared for you to easily start and connect to AxonIQ Console. Just skip to Using Docker-Based Bike-Rental Demo section of this guide. During the process of creating your account, AxonIQ Console presented you with the following panel to choose whether to \"connect your application\" or \"start the demo\". The rest of this article corresponds to the instructions displayed when the \"Connect my application\" option is selected in this dialog. If you prefer to explore AxonIQ Console features using the demo application and you clicked on the 'Start Demo' button, you may want to refer to Using Docker-Based Bike-Rental Demo instead. After selecting the \"Connect my application\" option, the AxonIQ Console onboarding flow will ask you to name your \"Workspace\" and \"Environment\". Workspaces are the way that AxonIQ Console groups and separates different applications. A good name for the workspace is the name of the project or software system that groups all the applications/modules that will connect to that space in AxonIQ Console. In this case, we recommend that you use \"Bike Rental\" as the workspace’s name and click on the 'Continue' button. After creating the workspace, we must prepare our application to connect to AxonIQ Console. The process depends on whether our Axon Framework-based application is built using Spring Boot or plain Java. . In our case, we will use the Bike Rental application that we created during the Building A Bike Rental Application tutorial, built using Spring Boot, we should click the 'Spring Boot Starter' button. The following screen instructs us to add the io.axoniq.console:console-framework-client-spring-boot-starter library to your application. The Axon Framework will use this library to connect to AxonIQ Console and send the necessary telemetry data from our application to check its behavior. If you want to know what kind of data is collected and sent to AxonIQ Console by this library, you can check it in the Data sent to AxonIQ section of the AxonIQ Console Framework Client project repository in GitHub So, go to the root pom.xml file of your bike-rental project and add the following: /pom.xml 1.7.3 io.axoniq.console console-framework-client-spring-boot-starter ${console-framework-client.version} With this dependencyManagement, we will ensure that the version of the a console-framework-client-* library is the same in all the modules we connect. Next, add the library to the payment and rental modules. Go to their respective pom.xml files and add the following: /rental/pom.xml io.axoniq.console console-framework-client-spring-boot-starter /payment/pom.xml io.axoniq.console console-framework-client-spring-boot-starter If you are using the version of the bike-rental application that has split the rental module into multiple microservices/rental-* modules, you should add the console-framework-client-spring-boot-starter library to the pom.xml of each microservice. After adding the dependencies to your projects, update your Maven project and ensure that the console-framework-client-spring-boot-starter library is on the classpath of your modules. Once you have added the dependency, click the Next Step button. In this step, we will configure our rental and payment modules with the credentials to connect and send data to the workspace we created for our project. The dialog AxonIQ Console displays in this step allows you to give the module a name and configure the amount of data you want to send to AxonIQ Console from the dead-letter queues. Once you have provided this information, the panel below will update with the properties you need to configure in your applications' application.properties files. The axoniq.console.credentials token is specific to your workspace and should never be shared publicly. The token will be the same for all the applications/modules that connect to the same workspace (in this case, for both the rental and payment modules), but it will be different for other projects or workspaces. So, let’s add these properties to our rental' and `payment' modules. First, open the `application.properties file in your rental folder and add the following properties (copy and paste from the AxonIQ Console dialog above) /rental/src/main/java/resources/application.properties axoniq.console.application-name=Rental module axoniq.console.credentials= axoniq.console.dlq-mode=NONE Next, do the same with the application.properties file in the payment module: /payment/src/main/java/resources/application.properties axoniq.console.application-name=Payment module axoniq.console.credentials= axoniq.console.dlq-mode=NONE If you are using the version of the bike-rental application that has split the rental module into multiple microservices/rental-* modules, you will need to configure these properties in the src/main/resources/application.properties file for each microservice module. Click on the Next button to continue. We have everything configured in our Axon Framework-based application to connect to AxonIQ Console. AxonIQ Console will now display a panel indicating that it is waiting for our application to connect. Now, all you need to do is run your local application. Start both the payment and rental modules from your IDE as we did in the Running your application in your local environment with Docker Compose step of the tutorial. After launching the applications, you should see the connection in AxonIQ Console: Congratulations, you have connected your Axon Framework-based applications to AxonIQ Console. Click on the \"Go to my workspace\" button to access all the information provided by AxonIQ Console from your application. This will display the main AxonIQ Console dashboard for your application: The dashboard contains several tabs that group the information collected from the modules that are connected to AxonIQ Console. These tabs and the information they contain are briefly described in the AxonIQ Console Getting Started Guide You can explore a little bit the information provided in the different tabs, but since the application is idle, the information will not be much useful at this time. If you are using your own application it would be useful to have a script that invokes some of the endpoints of the application to keep it under certain workload. If you are using the bike-rental demo application you developed following the Building A Bike Rental Application tutorial, you can also check the Activity Simulator we have in the bike-rental GitHub repository (take a look at the Simulator and SimulatorConfigController classes and also the application-simulator.properties file) If you are using the docker-based bike-rental demo application provided by AxonIQ Console, you are lucky, as this version already has the activity simulator included.","title":"Prepare your Application for AxonIQ Console","component":"bikerental-console-demo","version":"main","name":"prepare-app-for-console","url":"/bikerental-console-demo/main/connect-your-app/custom-app/prepare-app-for-console/","titles":[{"text":"Create AxonIQ Console workspace and environment.","hash":"_create_axoniq_console_workspace_and_environment","id":1},{"text":"Add AxonIQ Console client library","hash":"_add_axoniq_console_client_library","id":2},{"text":"Configure AxonIQ Console credentials in your app","hash":"_configure_axoniq_console_credentials_in_your_app","id":3},{"text":"Connect your application to AxonIQ Console","hash":"_connect_your_application_to_axoniq_console","id":4},{"text":"You are ready to monitor your application with AxonIQ Console","hash":"_you_are_ready_to_monitor_your_application_with_axoniq_console","id":5}]},"277":{"id":277,"text":"AxonIQ Console provides a working Axon Framework-based application ready to run on your local machine and connect to your AxonIQ Console dashboard. If you already have your own Axon Framework-based application and have followed the steps described in the Prepare your Application for AxonIQ Console section of this tutorial, you can skip directly to the Monitoring your Application with AxonIQ Console section This demo application has a feature (thanks to the use of the AxonFramework-Firestarter library) that allows you to introduce some delays in specific components of your Axon-Framework application, or to configure the percentage of messages that will cause an error. This feature allows you to experiment by causing problems in your application and see how AxonIQ Console detects them. This exercise is an excellent way to see the real benefit of using AxonIQ Console. Running the Docker-based bike-rental demo on your local machine is easy. The bike-rental demo with all its modules is available through a docker-compose.yml descriptor, so you will only need the following elements: Docker Desktop and Docker compose installed on your local machine. A free AxonIQ Console account. If you don’t already have one, you can follow the instructions in the Setting up your free AxonIQ Console account section of this tutorial. During the sign-up process for your free AxonIQ Console account, you will see a dialog that allows you to choose whether you want to follow the instructions on how to connect your own application or start the demo. Suppose you already have an AxonIQ Console account and you don’t see the previous panel that is part of the sign-up process. In that case, you can access the instructions to download the Docker-based demo application by creating a new environment within a workspace. Then, in the 'Start' tab, below the \"Connect Axon Framework applications\" section, you will see the three options to connect your custom application or start the demo. When you click the \"Run Demo\" button, you will see another dialog that allows you to download the docker-compose descriptor file that will download and run the demo application locally. Click on the 'Download Compose file' button and save the docker-compose.yml file to a local folder on your machine. The docker-compose.yaml file configures multiple docker images with: The various microservices that compose the application: Payment Processor Service, Rental Command Service, Rental Payments Service, Rental Query Service and Rental UI. An Axon Server instance that the different microservices will use as the event store and message broker. These modules already have credentials configured to connect to your AxonIQ Console dashboard. The docker-compose.yaml file provided in this step is customized for your specific account and AxonIQ Console workspace. Please do not share this file with other colleagues; it will connect their applications to your workspace. If you want to share the power of AxonIQ Console with your colleagues, point them to follow this guide, and they will have their own version of the docker-compose file available when they sign up. When you download the docker-compose.yml file, AxonIQ Console displays a dialog box to indicate it is waiting for the application components to connect. All you need to do now is open a terminal, go to the folder where you downloaded the docker-compose.yml file and type the following command: ❯❯ docker compose up You will see Docker start downloading the various Docker images needed to run the demo application and immediately start the containers. Depending on your internet connection, this may take some time. ❯❯ docker compose up [+] Running 8/14 ⠏ service-rental-payment [⡀] 15.12MB / 79.56MB Pulling 268.9s ⠦ 1044f17e2323 Downloading [=========> ] 15.12MB/79.56MB 266.7s ✔ axon-server Pulled 1.6s ✔ service-payment Pulled 194.9s ✔ 7ae84cee97a8 Pull complete 113.5s ✔ 7ed31eaf5ef8 Pull complete 192.4s ✔ 9ee97334f60b Pull complete 192.4s ✔ 29e6b66d6884 Pull complete 192.8s ⠇ service-ui [⣤] 29.19MB / 55.7MB Pulling 268.9s ⠦ 2389b0240d5b Downloading [==========================> ] 29.19MB/55.7MB 266.7s ✔ service-command Pulled 218.0s ✔ 0397a9d5ba94 Pull complete 215.7s ⠇ service-query [⣷] 75.69MB / 79.56MB Pulling 268.9s ⠦ 70f9be2efb6e Downloading [===============================================> ] 75.69MB/79.56MB 266.7s After the download is complete and the containers are launched, you will see the demo application components connected to AxonIQ Console: Click on the \"Continue\" button. Congratulations, you have successfully connected your application to AxonIQ Console. Before showing you the AxonIQ Console dashboard and all the information about how your system behaves, you will see another dialog with some links that may be useful for learning more about \"AxonIQ Console Tools\". Click on the \"Go to my workspace\" to access your AxonIQ Console dashboard and see how AxonIQ Console monitors your application. In the next step we will look at how AxonIQ Console displays the information about your application’s behavior and performance.","title":"Using Docker-Based Bike-Rental Demo","component":"bikerental-console-demo","version":"main","name":"start-docker-based-demo","url":"/bikerental-console-demo/main/connect-your-app/docker-based-demo/start-docker-based-demo/","titles":[{"text":"Requisites.","hash":"_requisites","id":1},{"text":"Dowload the demo application.","hash":"_dowload_the_demo_application","id":2},{"text":"Running locally the demo application.","hash":"_running_locally_the_demo_application","id":3}]},"278":{"id":278,"text":"In this step we will configure the dependencies to use AxonFramework in our project. To enable the use of Axon Framework, we can configure the required Axon Framework dependencies in our project’s pom.xml file. Nevertheless, depending on the specific features we plan to use later, we may need to add additional dependencies for other libraries or tools later (for example, micrometer or reactor). The Bill of Materials (BOM) in Maven is a tool that specifies the list of components, libraries and versions proven to work well together, but without the need to import them until they are specifically referred to later in any of the modules. Axon provides an axon-bom artifact that defines the list of components, libraries, and specfic versions that have been tested and work well. So, we will start by adding the reference to the axon-bom in our root project’s pom.xml maven descriptor. We will start by defining a property to configure the axon.version: /pom.xml 4.9.4 org.axonframework axon-bom ${axon.version} pom import Now, we can declare the dependencies to use Axon Framework in any of the submodules of our project. Once the axon-bom is declared in the root project, we only need to specify the axon framework dependencies in the maven descriptor pom.xml file of the rental module. As we use SpringBoot, we have a convenient way of bootstrapping Axon Framework with the axon-spring-boot-starter. We will also add the axon-test dependency as we will be adding some tests to our project: /rental/pom.xml org.axonframework axon-spring-boot-starter org.axonframework axon-test test We are not specifying the version for any of the Axon Framework dependencies. The reason is that these dependencies are already defined with their specific versions in the axon-bom file that we declared in the root project. We will use the core-api module to define the messages used to communicate the different modules of our rental application. Some of those messages will require using some Java annotations provided by AxonFramework. Thus, we need to add some AxonFramework dependencies to the project. We only need to add the following dependency to the core-api maven descriptor file: /core-api/pom.xml org.axonframework axon-modelling Now, we are ready to start implementing the first functionality for our bike-rental application.","title":"Bootstraping AxonFramework","component":"bikerental-demo","version":"main","name":"bootstraping-axonframework","url":"/bikerental-demo/main/bootstraping-axonframework/","titles":[{"text":"Configuring Axon’s bill of materials (BOM)","hash":"_configuring_axons_bill_of_materials_bom","id":1},{"text":"Declaring Axon dependencies in the rental module","hash":"_declaring_axon_dependencies_in_the_rental_module","id":2},{"text":"Adding support to model messages with Axon in the core-api module.","hash":"_adding_support_to_model_messages_with_axon_in_the_core_api_module","id":3}]},"279":{"id":279,"text":"For our sample application, we will create a multi-module maven project containing only two modules: a core-api module containing the API definition and messages used within the application and a rental module containing the business logic for our bike rental application. We will design our rental module as a modular monolith, which means that we will keep a single project, but with the logic components decoupled so that it is easy to split the module into different pieces later. First, we need to create a new project and configure the AxonFramework dependencies that will help us focus on the business code. We will create a maven project with the following structure: Bike Rental demo application structure 📒 bike-rental (1) 📒 core-api (2) 📂 src 📂 main 📂 java 📦 io.axoniq.demo.bikerental.coreapi (3) 📄 pom.xml (4) 📒 rental (5) 📂 src 📂 main 📂 java 📦 io.axoniq.demo.bikerental.rental (6) 📄 pom.xml (7) 📄 pom.xml (8) 1 The bike-rental root project is the parent project that will contain all the modules from our application. This root project will define org.springframework.boot:spring-boot-starter-parent as its parent to configure SpringBoot support for all the modules. 2 The core-api project will contain the API and definition of the messages used to communicate the different modules. 3 The io.axoniq.demo.bikerental.coreapi is the package where we will place our classes with the definition of Commands, Events, and Queries exchanged between different modules. 4 The pom.xml maven descriptor contains the dependency declaration for the core-api project and links to bike-rental as its parent project. 5 The rental module will be our starting point to place the business logic of our application. 6 The io.axoniq.demo.bikerental.rental package is where we will add the code for our application. 7 The pom.xml maven descriptor will include the dependencies required for the rental module. It also declares bike-rental as its parent and inherits any dependency declaration from that project. 8 Finally, the pom.xml maven descriptor at the root bike-rental project keeps the common dependency definition inherited in all the submodules. It also keeps the list of that form part of the project. If you are already experienced with Maven and/or your IDE, you can just create a multi-maven project with the structure described here and move to the next step of this tutorial to configure Axon Framework in your project. If you prefer to follow step-by-step instructions to create the project, keep reading through the following sections in this step: We will use Maven as the build tool for this project. We aim to create a multi-module project that allows us to deploy each module independently later when -and if- our application reaches the point at which we need to split it and scale out. We will start by creating the root project containing the different modules or subprojects. This type corresponds to a maven project with the packaging property set to pom. You can create the project from your console terminal with the following maven command: mvn archetype:generate \\ -DarchetypeGroupId=org.codehaus.mojo.archetypes \\ -DarchetypeArtifactId=pom-root \\ -DarchetypeVersion=RELEASE \\ -DgroupId=io.axoniq.demo.bikerental \\ -DartifactId=bike-rental \\ -Dversion=0.0.1-SNAPSHOT \\ -DinteractiveMode=false Maven will create a bike-rental folder with a maven project descriptor file: pom.xml. You can import the project into your favorite IDE. Alternatively, you can use your preferred IDE to create the project, making sure to set the following project properties: archetypeGroupId org.codehaus.mojo.archetypes archetypeArtifactId pom-root archetypeVersion RELEASE groupId io.axoniq.demo.bikerental artifactId bike-rental version 0.0.1-SNAPSHOT To configure Java 21 for our project, add these properties to the pom.xml file: 21 21 21 Now that we have our root project, we need to configure it to use SpringBoot. We can configure the SpringBoot dependencies in our project in two ways: the first one is by adding them under the section of the root pom.xml file. Alternatively, we can make our root project depend on `org.springframework.boot:spring-boot-starter-parent', which already defines all the dependencies needed to use SpringBoot in our projects. We will use the second option. Open your pom.xml and add the following snippet right before the tag: org.springframework.boot spring-boot-starter-parent 3.3.0 We will start by creating a main module for our bike rental application. This module will contain the business logic. Our goal with AxonIQ technologies is to focus on a single application and avoid unnecessary complexity by dealing with multiple modules immediately. However, we aim to build our module in a way that allows for easy evolution into different modules. This design is what we call a modular monolith. Our main module will be the rental module. To create it, you can use your IDE to add a new module, or you can use the following maven command from the root bike-rental folder: mvn archetype:generate -DgroupId=io.axoniq.demo.bikerental -DartifactId=rental -Dpackage=io.axoniq.demo.bikerental.rental -DinteractiveMode=false After running the mvn command you will see a new rental directory with a rental/pom.xml file, which declares the project as a sub-module of the root project: rental/pom.xml io.axoniq.demo.bikerental bike-rental 0.0.1-SNAPSHOT rental At the same time, the execution of the mvn command also modified the maven project descriptor of the root project to include the new module: /pom.xml rental Your IDE should now show the new project as a submodule. If the IDE does not detect the new module, you may have to refresh the project structure and reload the Maven projects in your IDE. Although we are going to code our business logic in a single rental module, we also have already mentioned that we want to be able to split our project into different modules when we need to evolve into multiple modules (or microservices). So, we are going to have a module in which we will include the definitions of the messages and classes that are used to communicate the different modules. We will name this project as core-api. To create the core-api submodule, use your IDE to create a new Module (make sure you create it using the root project as the parent), or you can use the following maven command from the root project’s folder: mvn archetype:generate -DgroupId=io.axoniq.demo.bikerental -DartifactId=core-api -Dpackage=io.axoniq.demo.bikerental.coreapi -DinteractiveMode=false After executing the command, you should see a new core-api project with a pom.xml file declaring the root project as the parent: /core-api/pom.xml bike-rental io.axoniq.demo.bikerental 0.0.1-SNAPSHOT And the maven descriptor in the root project now should also include the core-api as a module: /pom.xml rental core-api Your IDE should recognize the two sub-projects as modules. If the IDE does not detect the new module, you may have to refresh the project structure and reload the Maven projects in your IDE. As the last step in creating the multi-module structure for our project, we will declare that the main rental module will use the core-api module. To do that, declare the following dependency in the maven descriptor file for the rental module: rental/pom.xml ${project.groupId} core-api ${project.version} After completing this last step your project should have the structure that we described in the Project Structure section at the begining of this step. Once that we have our project created, in the next step, we will learn how to bootstrap Axon Framework in our project.","title":"Create New Axon Framework Multi-Project","component":"bikerental-demo","version":"main","name":"create-axon-framework-project","url":"/bikerental-demo/main/create-axon-framework-project/","titles":[{"text":"Project structure","hash":"_project_structure","id":1},{"text":"Create the root project","hash":"_create_the_root_project","id":2},{"text":"Configuring SpringBoot","hash":"_configuring_springboot","id":3},{"text":"Create the project modules","hash":"_create_the_project_modules","id":4},{"text":"Creating the main rental module","hash":"_creating_the_main_rental_module","id":5},{"text":"Creating the core-api subproject","hash":"_creating_the_core_api_subproject","id":6},{"text":"Add dependencies for the main rental module","hash":"_add_dependencies_for_the_main_rental_module","id":7}]},"280":{"id":280,"text":"In this tutorial step, we will implement the Query Model, a component whose primary goal is to receive and handle any request for information about our system. These requests, which only expect some information in return and whose processing does not imply making any changes in our system, are known as Queries. In order to efficiently handle and process a query request, we will design our system to maintain a version (or a view) of the data that is updated and aligned with the format in which users can request information from the system. This component that aims to keep a copy of the data aligned with the structure of the expected query response is called the Projection. To keep the projection up to date with the changes made by other components (the command handlers) in the system, the Query Model component must receive the event messages that represent the notification of changes made by the command model and modify the projection accordingly. This way, our query model will be ready to handle any query request to return this updated information view. If we recall the main diagram of our application, it’s now time to focus on the bottom half of the diagram: implementing the components needed to handle and respond to queries. If, as we have just stated, our projection component will focus on handling queries to request information from our system, the first thing we need to consider when designing the query model is the exact request we will handle and how we will return the information. In this case, we will implement support in our application to return information about one or more bikes, including where the bike is, whether it is available or rented and who has rented it. So, we will model all the information expected from these queries in the BikeStatus class. We will define this class in the core-api: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatus.java public class BikeStatus { private String bikeId; private String bikeType; private String location; private String renter; private RentalStatus status; public BikeStatus() { } This class defines the fields with the information we need to present in the query response message. To model the status of the bike, we will define the following Java enum: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/RentalStatus.java package io.axoniq.demo.bikerental.coreapi.rental; public enum RentalStatus { AVAILABLE, REQUESTED, RENTED } Finally, after we have all the fields for the BikeStatus response message, it’s convenient to add methods to retrieve the information from the class. So, we can add the accessor methods: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatus.java public class BikeStatus { // Accessor methods public String getBikeId() { return bikeId; } public String getBikeType() { return bikeType; } public String getLocation() { return location; } public String getRenter() { return renter; } public RentalStatus getStatus() { return status; } public String description() { switch (status) { case RENTED: return String.format(\"Bike %s was rented by %s in %s\", bikeId, renter, location); case AVAILABLE: return String.format(\"Bike %s is available for rental in %s.\", bikeId, location); case REQUESTED: return String.format(\"Bike %s is requested by %s in %s\", bikeId, renter, location); default: return \"Status unknown\"; } } Now that we have modeled the information we want to expose in response to requests to check the status of a bike. We can now create the component to keep this information updated and ready to be returned when a query request is processed. We need to create a BikeStatusProjection class in the …​rental.query package of our rental module: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { private final BikeStatusRepository bikeStatusRepository; (1) public BikeStatusProjection(BikeStatusRepostory repository) { this.bikeStatusRepository = repository; } } 1 We will use a Spring repository to persist the BikeStatus model, which will be updated with the latest state based on the changes represented by the events received from the command model. We need to define the Spring JPA repository we will use in our projection: @Repository (1) public interface BikeStatusRepository extends JpaRepository { (2) } 1 The org.springframework.stereotype.Repository annotation instructs Spring to generate a Repository component from this interface. 2 The convention for Spring JPA repositories is to create an interface that extends from JpaRepository where T is the type of the persisted classes and ID is the type of the identifier field in T. In this case, T should be annotated with @Entity and the ID should be of the same type as the field annotated with @Id in T With Spring Data support, this is all we need to define to have a Repository implementation that supports the basic operations of storing, updating, altering, querying, and dropping BikeStatus instances in the DB. You can learn more about Spring Data Repositories in the section dedicated to \"Defining Repository Interfaces\" from the Spring Data JPA Reference Finally, to make the repository work, we must modify our BikeStatus class to add the persistence annotations. Open the BikeStatus class from the core-api module and introduce the following changes: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatus.java @Entity (1) public class BikeStatus { @Id (2) private String bikeId; private String bikeType; private String location; private String renter; private RentalStatus status; public BikeStatus() { } 1 The Entity annotation marks this class as a persistent entity. This is the T in the Spring’s JpaRepository 2 This annotation instruct the persistent layer to consider bikeId as the Id for the persistent record. The type of the field annotated with @Id (in this case String) is the ID in the Spring’s JpaRepository With these changes we are ready to define the methods in our BikeStatusProjection that should handle the events that notify changes made by the command model and update and persist the BikeStatus. To keep the list of our bikes in the query model up to date, we need to define a method that will be invoked whenever a new bike is registered in the system (the BikeRegisteredEvent represents that notification). We can do this by adding an @EventHandler method to our BikeStatusProjection: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { @EventHandler (1) public void on(BikeRegisteredEvent event) { (2) var bikeStatus = new BikeStatus(event.bikeId(), event.bikeType(), event.location()); (3) bikeStatusRepository.save(bikeStatus); (4) } } 1 The @EventHandler annotation instructs Axon Framework to register this component as a subscriber to BikeRegisteredEvent and call this method for each one. 2 By default, Axon Framework uses the first argument in the method definition to match the type of events received and passes the event as an argument to the method. 3 Since BikeRegisteredEvent implies that a new bike has been created in the system, we need to create a new instance of BikeStatus to represent the state of this new bike. 4 Finally, we will persist the BikeStatus using the bikeStatusRepository Our next task in defining our projection is to implement the support for handling queries and returning the current information we have. We need to add a @QueryHandler method for each query we want to support. Since we already have the bike statuses persisted in the way we need to return the information, we only need to query the database and return that. Before jumping into creating the methds to handle the queries, we need to consider how we are going to identify the different queries. Axon Framework allows different ways to identify a query message and link that query to the right method for handling it. In this tutorial we are going to start using the most simple way to identify a query: by assigning each query a name. We are going to use String constants to make sure we always refer to the same query name, both in the modules that send the query messages and in the components that are handling them. So, as the first step we will create a class to define and share those query names in different components. Define the following class in the core-api module: /core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/rental/BikeStatusNamedQueries.java package io.axoniq.demo.bikerental.coreapi.rental; public class BikeStatusNamedQueries { public static final String FIND_ALL = \"findAll\"; public static final String FIND_ONE = \"findOne\"; public static final String FIND_AVAILABLE = \"findAvailable\"; } Now that we have the names of the queries defined, let’s define the methods that will handle and respond them. Let’s start by implementing a method to return all the bikes (with their status) defined in our system. Add the following method to your BikeStatusProjection class: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { @QueryHandler(queryName = BikeStatusNamedQueries.FIND_ALL) (1) public Iterable findAll() { (2) return bikeStatusRepository.findAll(); (3) } } 1 The org.axonframework.queryhandling.QueryHandler annotation instructs Axon Framework to register this method as a target to invoke for certain types of queries. In this case, we identify the queries by name (although the type of the query message could also identify them, but we will see an example of that later), and we declare the specific name of the query to be handled by this method with the queryName attribute. 2 Since our query has no parameters (we want to retrieve the information for all the bikes in our system), our query handler method does not receive any parameters. It only needs to return the list of items we find in our DB. 3 As we have the information already prepared and aligned with the response format (thanks to the `EventHandler`s), we only need to retrieve the information from the repository and return it. In short, we have defined a query handler method that Axon Framework will call upon the reception of a query message to FIND_ALL the bikes in our system. And the method will simply retrieve the up-to-date information from the DB and return the BikeStatus for all the bikes. We may need to support different query requests for information about the bikes in our system. The same projection can be used to satisfy different queries. For example, if we want to support queries to return all the available bikes, filtering by the type, or the BikeStatus for a specific bike by its bikeId, we can add the following two methods to our BikeStatusProjection: rental/src/main/java/io/axoniq/demo/bikerental/rental/query/BikeStatusProjection.java @Component public class BikeStatusProjection { @QueryHandler(queryName = BikeStatusNamedQueries.FIND_AVAILABLE) (1) public Iterable findAvailable(String bikeType) { (2) return bikeStatusRepository.findAllByBikeTypeAndStatus(bikeType, RentalStatus.AVAILABLE); } @QueryHandler(queryName = BikeStatusNamedQueries.FIND_ONE) (3) public BikeStatus findOne(String bikeId) { (4) return bikeStatusRepository.findById(bikeId).orElse(null); (5) } } 1 We define a new QueryHandler method for the findAvailable query. 2 The query will filter by the type of the bike, so we need to add the bikeType argument to the method. 3 We need to add a specific method to our BikeStatusRepository that implements the query to the DB. We will do that right after this. Since we are using Spring Data, the name of the method should follow a specific pattern. (More on this in a few lines) 4 We define another QueryHandler method for the FIND_ONE query. 5 In this query, we only need to return one bike, and we need the bikeId as an argument to the method. In this case, we will return a single BikeStatus because we are returning a single element and not a collection. 6 The default findById method provided by the Spring Data JpaRepository returns an Optional when we look up an item based on its id. This is because the id we are looking for may not exist in our DB. So we add a fallback to return null in case there is no bike with the given bikeId in the DB. One last thing we need to add is a method to our Spring Data BikeStatusRepository to support the specific method to filter all records from the DB all the records by bikeType and status. Fortunately, thanks to Spring Data we only need to define a method in the BikeStatusRepository interface following a specific naming pattern, and Spring Data will generate the implementation with the corresponding SQL query to the DB. So, go to the BikeStatusRepository and add the following method: @Repository (1) public interface BikeStatusRepository extends JpaRepository { (2) List findAllByBikeTypeAndStatus(String bikeType, RentalStatus status); long countBikeStatusesByBikeType(String bikeType); } When we define a Spring Data JPA repository that extends JpaRepository, Spring Data generates for us the implementation of a basic set of methods to query the database. These generated methods cover the operations of creating, updating, querying and deleting registers from the database. Sometimes we need to define additional queries to filter elements according to different criteria. For these types of queries, Spring Data allows us to simply define new methods in our interface and, if we follow a certain naming convention, Spring will be able to infer the query that needs to be executed against the database from the name of the method and its arguments. This is sometimes called Derived Queries and you can learn how to add specific methods for different queries in the section dedicated to Query Creation from the Spring Data Reference guide Now, our BikeStatusProjection fully supports answering to queries to findAll bikes, findAvailable bikes of a certain type, and findOne specific bike given its bikeId. In the next section we will extend our RestController to add endpoints for these queries and route the queries to the system using Query messages. Now that we have full support in our projection to handle queries, let’s implement and expose the endpoint in our controller that will receive HTTP requests for the query and route the corresponding query message internally. To do this, we will add a couple of @GetMapping annotated methods in the RentalController we created in Implementing the HTTP REST controller. Those methods will use the QueryGateway that we already added to the RentalController to route the queries through Axon Framework: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController (1) @RequestMapping(\"/\") (2) public class RentalController { private final CommandGateway commandGateway; (3) private final QueryGateway queryGateway; (4) } 1 The RestController annotation by spring defines this as a component that will expose the REST endpoint URLs. 2 The @RequestMapping annotation establishes the root URL for all the endpoints exposed by this controller. 3 The CommandGateway is the Axon Framework component that we already used to route commands. 4 The QueryGateway is the Axon Framework component that we will use now to route the query messages. We already configured the query handler methods in the last section to use the queryName attribute and link the method to the query by query name. So, we will add these query names as constants to our RestController: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController @RequestMapping(\"/\") public class RestController { } To implement the method that exposes the endpoint for returning all the bikes and their status, add the following method to our RestController: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController @RequestMapping(\"/\") public class RestController { @GetMapping(\"/bikes\") (1) public CompletableFuture> findAll() { (2) return queryGateway.query( (3) BikeStatusNamedQueries.FIND_ALL, (4) null, (5) ResponseTypes.multipleInstancesOf(BikeStatus.class) (6) ); } } 1 The GetMapping Spring annotation specifies that this method will be invoked whenever a GET request to the URL /bikes is received by the application. 2 The method will return a list of BikeStatus responses. See the info block below for an explanation on returning the CompletableFuture or the List directly. 3 We will use the query mehtod on the queryGateway component provided by AxonFramework to route the query. This method receives three parameters: 4 The query. It could be an object or a String with the query name. In this case, as the queries are simple ones, we have choosen to use query names. 5 The query itself, with the parameters or criteria for filtering the results. In this case, the findAll query does not have any filter, so we specify null as the query. 6 The type of reponse we are expecting from this query. In this case, we expect one or more instances of BikeStatus. A performance consideration on returning CompletableFutures from your RestController method. The queryGateway returns a CompletableFuture which keeps a reference to the result of executing the query, and allows to get the results of type T when they are ready. This way, the call to the query method does not block and returns immediately after sending the query message to the query bus, even though the response message has not been calculated. This way, with Axon Framework, any code sending a query message does not need to wait until the query is fully executed and can do something else while the response is received. Only when we call the get() method on the CompletableFuture the executing thread will block until the response is ready. We could have implemented the method to return the result instead, by returning the result of callling the CompletableFuture::get method: public List findAll() { CompletableFuture> result = queryGateway.query(FIND_ALL_QUERY, null, ResponseTypes.multipleInstanceOf(BikeStatus.class)); return result.get(); (1) } 1 The get() call will block the thread until the result is received back. In this case, the thread calling the findAll method will be blocked until the response message is received, and thus, we are blocking one of the Tomcat’s worker threads. By returning the CompletableFuture> we are not blocking the Tomcat Worker Thread inside findAll. In a similar way, we can add another @GetMapping annotated method to expose the endpoint for receiving requests to get the BikeStatus for a specific bike given its bikeId: /rental/src/main/java/io/axoniq/demo/bikerental/rental/iu/RentalController.java @RestController @RequestMapping(\"/\") public class RestController { @GetMapping(\"/bikes/{bikeId}\") (1) public CompletableFuture findStatus(@PathVariable(\"bikeId\") String bikeId) { (2) return queryGateway.query(BikeStatusNamedQueries.FIND_ONE, bikeId, BikeStatus.class); (3) } } 1 The @GetMapping annotation configures the method to be invoked when a GET request to /bikes/{bikeId} is received, and defines the part of the URL that comes after /bikes/ to be assigned to the bikeId path variable. 2 The @PathVariable(\"bikeId\") annotation instruct Spring to provide to the method argument the value of the URL that matches the bikeId path variable. 3 We use the query method of the queryGateway to send the query message. This time, we specify the provide bikeId as the query criteria as the second argument, and the BikeStatus.class as the type of the response we are expecting from the query. Now we can run our application again as we described in Running your application in your local environment with Docker Compose and test that our queries work. When we invoked the endpoint to register new bikes after we implemented the command handler, the command handler triggered the corresponding BikeRegisteredEvent to notify all the components (like our projection) of the changes. Back then, we didn’t have our BikeStatusProjection implemented, which means we didn’t have the event handlers for those BikeRegisteredEvent. What happen to those changes? Have we lost those events? How are we going to keep our query model updated? Remember that Axon Server acts both as a Message Broker (optimized and configured for routing Events, Commands and Queries), but also as an Event Store. Which means not only that it keeps all those Events persisted, but also that its persistence is optimized for the storage and retrieval patterns needed in a Event-Sourcing architecture. When we start Axon Server (as configured in the docker-compose.yml file), Axon Server will start and all the previous events are still available. When our application connects and register the event handlers for the BikeRegisteredEvent, Axon Server will know that this is a new component that needs all the events from the start. Consequently, Axon Server will deliver to our BikeStatusProjection all the past events in the order that they happened. To test our findAll query we simply need to send a HTTP GET request to the following endpoint: http://localhost:8080/bikes To get the status of a specific bike, we need to send an HTTP GET request to the following URL: http://localhost:8080/bikes/{bikeId} We can invoke the endpoint from the command line using the curl command: % curl -X GET \"http://localhost:8080/bikes\" [ { \"bikeId\": \"8427681b-1ee6-4e0a-b5d8-c524b9ed553d\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"9f4572c0-c09d-4452-bd31-e0464143baf7\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"547a47fa-573b-4140-88af-0ea84862944b\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" } ] You can also invoke the findOne query: %% curl -X GET \"http://localhost:8080/bikes/8427681b-1ee6-4e0a-b5d8-c524b9ed553d\" { \"bikeId\": \"8427681b-1ee6-4e0a-b5d8-c524b9ed553d\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" } If you are using IntelliJ IDEA you can edit the requests.http file we created at Invoking the Create Bike EndPoint Using IntelliJ IDEA to add the following lines: /requests.http ### List all # Show available bikes GET {{rental}}/bikes Accept: application/json ### Bike status # Show bike status GET {{rental}}/bikes/8427681b-1ee6-4e0a-b5d8-c524b9ed553d Accept: application/json ### Now you can click on the green \"play\" icon that is shown right to the left of the requests to execute the request: GET http://localhost:8080/bikes HTTP/1.1 200 OK Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: application/json Content-Length: 497 [ { \"bikeId\": \"4ee11ca7-3a38-4c37-9584-f016e450998e\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"9f4572c0-c09d-4452-bd31-e0464143baf7\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"547a47fa-573b-4140-88af-0ea84862944b\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" }, { \"bikeId\": \"d29775ea-2cd6-4102-b887-552d4cdb84db\", \"bikeType\": \"city\", \"location\": \"Utrecht\", \"renter\": null, \"status\": \"AVAILABLE\" } ] Response file saved. > 2024-04-22T173839.200.json Response code: 200 (OK); Time: 34ms (34 ms); Content length: 497 bytes (497 B) With this, we have implemented an example of the main message handler component that we will have on an application that is designed to be able to scale out easily: We have a command model with the implementation of the Bike aggregate, that defines the @CommandHandler s and sends the events that notifies the changes made in the system as a result of processing the command. The command model also subscribes to those events using some @EventSourcingHandler. This way we can guarantee that the set of events produced by the command handler are the real source of truth for any changes in our system. We also have defined the query model which consists of a Projection of the data kept in a structure that helps replying to any request for information as quick as posible. This queries are processed by the @QueryHandlers defined in the Projection. To keep the data in the Projection up-to-date, we have defined a set of @EventHandler that will be invoked upon reception of the events sent by the @CommandHandler. This event handlers will update the projection’s DB accordinglu. Finally, we have a @RestController that exposes the endpoints for invoking the request to register a new bike, or the queries to retrieve information about all or one specific bike. This controller methods, will send the corresponding Command or Query messages through the CommandGateway or QueryGateway provided by Axon Framework. These are the basic components that we will use to implement any further feature in our system. Sometimes, some of those features, can be a little bit more complex and the business logic may require additional things to consider. We will explore some more advanced topics of building applications with Axon Framework in upcoming sections.","title":"Creating the Query Model","component":"bikerental-demo","version":"main","name":"create-bike-status-projection","url":"/bikerental-demo/main/create-bike-status-projection/","titles":[{"text":"Creating the BikeStatus response message","hash":"_creating_the_bikestatus_response_message","id":1},{"text":"Creating the BikeStatus projection","hash":"_creating_the_bikestatus_projection","id":2},{"text":"Creating the BikeStatus class and the Spring JpaRepository","hash":"_creating_the_bikestatus_class_and_the_spring_jparepository","id":3},{"text":"Define the BikeRegisteredEvent handler.","hash":"_define_the_bikeregisteredevent_handler","id":4},{"text":"Handling the queries from the projection.","hash":"_handling_the_queries_from_the_projection","id":5},{"text":"Using named queries.","hash":"_using_named_queries","id":6},{"text":"Implement a query to return all the bikes.","hash":"_implement_a_query_to_return_all_the_bikes","id":7},{"text":"Implementing support for other queries in our projection.","hash":"_implementing_support_for_other_queries_in_our_projection","id":8},{"text":"Creating the Endpoint to accept query request.","hash":"_creating_the_endpoint_to_accept_query_request","id":9},{"text":"Implementing endpoint for findAll query","hash":"_implementing_endpoint_for_findall_query","id":10},{"text":"Implementing endpoint for findOne query","hash":"_implementing_endpoint_for_findone_query","id":11},{"text":"Running and invoking the queries","hash":"_running_and_invoking_the_queries","id":12},{"text":"Invoking the findAll and findOne queries","hash":"_invoking_the_findall_and_findone_queries","id":13},{"text":"From the command line","hash":"_from_the_command_line","id":14},{"text":"Using IntelliJ IDEA","hash":"_using_intellij_idea","id":15},{"text":"Conclusion.","hash":"_conclusion","id":16}]},"281":{"id":281,"text":"In this step of the tutorial, we will implement the support for our first feature: create (or register) a new bike in our system. Before jumping over the keyboard to start writing code, let’s first introduce the big picture of the design of our system so that we are prepared to split and scale it out later. Although we will work on our rental module, we want to build it as a modular monolith. To achieve that goal, we need to keep a few design goals in mind: Logical modules based on component’s responsibility: We will group them according to their responsibility in our system. We are going to identify the following logical modules: UI/API: Components that receive requests directly from the user or external applications. We will implement our application’s interface to users or other applications using a REST API. Command Model: These are the components that receive all the requests that, as a result of processing them, imply a change in the state of our system. Requests like \"Register a new bike\", \"Rent a bike\" or \"Return a bike\" are a few examples of Commands Query Model (also known as Projections): Composed of components that will handle the requests for information (or queries). In order to reply as fast as possible, these components will keep the data from our system structured as close as possible to how the user expects the information in the response. For example, imagine that our application needs to support requests to get a complete list of all the bikes and their availability status. In that case, a component (a Projection) will keep the list of all the bikes with their state up to date and ready to be sent back when requested. Components loosely coupled: we will use messages (like Commands, Events or Queries) to communicate the different logical modules. Location transparency: we want to rely on abstractions that allow our components not to have to deal with the specific details of how to reach other components to deliver a message. For example, the UI (whose responsibility is to receive HTTP requests and forward the right message to the appropriate handler, either in the Command Model or in the Query Model) should not have to know which is the specific component that will handle and process the request. These design goals may seem complicated to achieve. Still, if we rely on the correct type of messages and thanks to AxonIQ tools, you will see it is much easier to achieve. In summary, our rental application will have the following high-level architecture diagram for handling requests to register a new bike in our system (and, generally, to handle all types of requests.) These could be separate modules, but for now, we are going to consider these just as logical components within the same project: We will define different packages in the same project (in our case, the rental module) When the application receives a request to create a bike, that implies that the state of our application will change because, after successfully processing it, we will have a new bike in our system (so, the list of available bikes -our application’s state- will have changed). So, we will model our request as a Command; in our case, we will call it RegisterBikeCommand. So, the RegisterBikeCommand will be routed to the Command Model, where we will implement a handler method to process it. That method must create the new Bike in our system and notify that \"a new bike has been registered\" to other components interested in this change. The type of this message, a notification that something has happened, corresponds to what we define as an Event. Thus, the command handler will trigger a BikeRegisteredEvent. One last but important thing to remember in our design is the order in which we will implement the code that creates the new bike in our system and the code that fires the event that notifies the change. In our application, we want to follow the design goals of Event Sourcing, and that implies that the changes in our command model will be done as a result of processing the same BikeRegisteredEvent just as any other component in our application will do. That means that, among other good reasons, the list of Events will become our system’s single source of truth. The steps for implementing the command handling for the RegisterBikeCommand will be: Receive and validate the command in the @CommandHandler. If valid, send a BikeRegisteredEvent from the @CommandHandler. Register and receive the BikeRegisteredEvent using an @EventSourcingHandler in our Command model. Create the bike and assign the details for the bike created in the @EventSourcingHandler of our command model. In the following sections, let’s see how to implement each of these steps in detail. As we aim to keep the modules loosely coupled so that we can easily split the modular monolith into different projects if we reach in the future the point in which the application has grown too complex that it needs to scale to multiple simpler modules, it’s a good idea to keep the definition of the messages that we are going to use to communicate those logical modules in the core-api module we created earlier. So, we will create a new CreateBikeCommand in the core-api module. Create a new package io.axoniq.demo.bikerental.coreapi.rental and, inside that package, create the following RegisterBikeCommand: core-api/src/main/java/io/axoniq/demo/bikerental/coreapi/retnal/RegisterBikeCommand.java package io.axoniq.demo.bikerental.coreapi.rental; import org.axonframework.modelling.command.TargetAggregateIdentifier; public record RegisterBikeCommand(@TargetAggregateIdentifier String bikeId, (1) String bikeType, String location) { } 1 The @TargetAggregateIdentifier indicates to AxonFramework to use the bikeId attribute as the unique identifier to load the Bike with id {bikeId} before handling the command. We have defined the command as a Java record that contains the minimum amount of information necessary to process the command. Using a Java record structure also brings the benefit of immutability to our command. You can also use a data class in Kotlin to define the commands. The next step to process the RegisterBikeCommand is to define the component responsible for processing that request. In our example, we are following the DDD design model, which relies on the concept of the Aggregate to model the state of our system. And, with the Axon Framework, we will use the Aggregate to \"designate\" (via annotations) the methods the framework should invoke upon receiving a specific message. Thus, we will start by creating the Aggregate (or Entity) that will represent the state of our application related to the feature of processing requests to register, rent or return a bike. In more complex systems, there are some techniques to design your command and query models based on a previous analysis of the interactions and features that the system will support. Event Storming and Event Modeling are valuable techniques to analyze your system and extract the different Commands, Events, Queries and Aggregates. We can start by creating a Bike class to model our Aggregate. rental/src/main/java/io/axoniq/demo/bikerental/rental/command/Bike.java @Aggregate (1) public class Bike { @AggregateIdentifier (2) private String bikeId; private boolean isAvailable; private String reservedBy; private boolean reservationConfirmed; public Bike() { (3) } } 1 We will mark the class with org.axonframework.spring.stereotype.Aggregate annotation. This way Axon Framework will handle the lifecycle of the instances of our Bikes based on the Commands and Events received by our command model component. 2 We will design the attribute that will hold the unique identifier of our bike instance using the org.axonframework.modeling.command.AggregateIdentifier annotation. 3 We also need a default Java constructor that Axon Framework needs to create the new instance of a bike before populating its fields with the state and invoking the method to handle the Command or Event received. To process a RegisterBikeCommand in our application, we must define a method in our Bike class that receives the command as an argument. To indicate that the method should be invoked upon receiving a command, we will add the @CommandHandler annotation provided by AxonFramework. In this case, as the RegisterBikeCommand is the request to create a new instance of a Bike, we must define the command handler using a constructor. @Aggregate public class Bike { @CommandHandler (1) public Bike(RegisterBikeCommand command) { (2) var seconds = Instant.now().getEpochSecond(); if (seconds % 5 ==0) { throw new IllegalStateException(\"Can't accept new bikes right now\"); } apply(new BikeRegisteredEvent(command.bikeId(), command.bikeType(), command.location())); (3) } } 1 The org.axonframework.commandhandling.CommandHandler annotation instructs Axon Framework to call this method upon receiving commands. 2 The type of the argument indicates to Axon Framework which type of commands should be linked to the invocation of this method. 3 The static method AggregateLifecycle.apply() is invoked to send the Event that notifies the change in the state of our system. In this case, to notify that the bike has been registered. In the command handler, we have not changed the internal properties of the Bike instance. As a general rule and as we discussed in the Command Handler design considerations, we will simply: Validate, if necessary, that the command we received is valid and can be processed. Send a message notifying that, as the command is valid, the bike was registered. We will leave the task of setting the properties of our newly registered Bike instance for a later step, when the command model reacts to the reception of the BikeRegisteredEvent. We want to design our system following the principles of Event Sourcing, which implies we will use the set of Events as the single source of truth for building or refreshing the state of any component in our system. That means that we will also use the BikeRegisteredEvent as the source to trigger the state change in our command model, or, more specifically, in this case, in our Bike aggregate. To be able to react to the event in our Bike aggregate, we need to add a method that receives the BikeRegisteredEvent event as an argument and annotate that method with @EventSourcingHandler: rental/src/main/java/io/axoniq/demo/bikerental/rental/command/Bike.java @Aggregate public class Bike { @EventSourcingHandler (1) protected void handle(BikeRegisteredEvent event) { (2) this.bikeId = event.bikeId(); this.isAvailable = true; } } 1 The EventSourcingHandler annotation indicates to Axon Framework to link this method to the reception of an event. 2 Axon Framework will use the type of the argument to link this method to the specific type of event. In the implementation of the method, we will finally set the bike properties (the state of our model) with the information provided by the event. The EventSourcingHandler will be called right after the event publication by the CommandHandler. But it also will be invoked in the future, for the same event, when the system receives another command for the same bikeId (identified because the command has the same @AggregateIdentifier) and Axon Framework needs to regenerate the current state of the Bike instance, by replaying all previous events with the same bikeId. In the EventSourcingHandler method, we should never validate or ignore the changes represented by the event received. The reception of the event and the invocation of the method imply that the command has already been processed previously. So we can’t ignore or reject those changes because they already happened With this step, we have completed the code to process a Command that represents the request to register a new bike in our system. In this section, we will implement the UI layer for our system. The UI layer represents the interface our system offers to the outside world to interact with our application. In our example, we will start with a REST service interface that offers some endpoints so that a third-party application can invoke our system. This REST interface is convenient for our example because we can show you how to accept requests from the user or another system and create and send the corresponding Command internally. For the controller, we are going to create a simple Spring @RestController, and we will configure a couple of components provided by AxonFramework: CommandGateway: is the abstraction mechanism provided by AxonFramework to send commands to the handler and removes from the controller any need to know all the specifics about the number and location of command handlers registered in our system or how to reach them. QueryGateway: is a similar abstraction to the CommandGateway provided by Axon Framework, but in this case, it is intended to deliver query requests and wait for the query response. Although we will only use the CommandGateway for now, we are also going to add the QueryGateway to our @RestController as we will need it later to implement the handling of requests to gather information from our system. If you prefer to implement your code more progressively, just add the CommandGateway as this is the only component we will use now. You can add the QueryGateway field and its initialization later when implementing the code to handle the first query. The abstraction these two components provide helps keep our @RestController decoupled from the different query and command handlers in our system. Axon Framework will inject the proper implementation to handle the routing and communication patterns required both for queries and commands. Thus, our controller does not need to keep track of any detail about any of the handlers. This property is known as Location Transparency and it’s one of the features that enable our application to scale out later easily because we can move the command handler implementation to a different module and deploy it in a different machine without the need to touch the code that sends the commands. We will place our controller in the io.axoniq.demo.bikerental.rental.ui package. Create a RentalController java class with the following contents: rental/src/main/java/io/axoniq/demo/bikerental/rental/ui/RentalController.java @RestController (1) @RequestMapping(\"/\") (2) public class RentalController { private final CommandGateway commandGateway; (3) private final QueryGateway queryGateway; (4) private final BikeRentalDataGenerator bikeRentalDataGenerator; public RentalController(CommandGateway commandGateway, QueryGateway queryGateway, BikeRentalDataGenerator bikeRentalDataGenerator) { (5) this.commandGateway = commandGateway; this.queryGateway = queryGateway; this.bikeRentalDataGenerator = bikeRentalDataGenerator; } } 1 The @RestController SpringBoot annotation indicates that this component will define the REST endpoints. 2 The @RequestMapping SpringBoot annotation indicates the root path for all the endpoints that this controller handles. 3 The CommandGateway that we will use to send the commands. 4 The QueryGateway that we will use later to send query requests and wait for the response. 5 We will define a constructor that receives both the CommandGateway and QueryGateway as an argument. Spring will provide the right implementation based on the components defined by Axon Framework. We must add a method in our controller to handle the HTTP Request to register a new bike. In our system, to create a new bike, we require the request to provide the type of the bike and the location where the bike is registered. For this endpoint, we will consider the following request format: POST /bikes?bikeType={bikeType}&location={city} When designing a REST endpoint that registers a new element in our system, it is usual to model the API to use a POST request, which contains the information of the entity to create in the body. In this first example, for the sake of simplicity, we will receive the bike details as parameters on the request. To implement the endpoint that handles these requests, add the following method to the RentalController: rental/src/main/java/io/axoniq/demo/bikerental/rental/ui/RentalController.java @PostMapping(\"/bikes\") (1) public CompletableFuture registerBike( @RequestParam(\"bikeType\") String bikeType, (2) @RequestParam(\"location\") String location) { (3) RegisterBikeCommand registerBikeCommand = new RegisterBikeCommand( (4) UUID.randomUUID().toString(), (5) bikeType, location); CompletableFuture commandResult = commandGateway.send(registerBikeCommand); (6) return commandResult; (7) } 1 The @PostMapping links the execution of this method to the reception of POST /bike requests. 2 The bikeType argument is extracted from the parameter with the same name on the request. 3 The location argument is filled with the value of the parameter with the same name from the request’s URL. 4 We must create the RegisterBikeCommand that represents the command we will send to the command handler in the command model. 5 The command requires a unique ID for the bike. As this request represents the creation of the new bike, we have chosen to create a unique ID on the controller. 6 We send the command through the CommandGateway abstraction provided by Axon Framework. 7 The command will be dispatched to the command handler. It will return a CompletableFuture with the result of executing the command. By default, Axon Framework returns the ID of the bike that has been created. If there is any error in delivering the command to a command handler (for example, because there is no command handler registered for `RegisterBikeCommand`s), the CompletableFuture will contain the error. In this section, we have implemented the code necessary to handle requests to register a new bike in our system. The following image represents the design of what we have implemented. Figure 1. Diagram with the flow of messages to register a new bike We can execute our application and see it in action. In our next section, we will go through the steps to run our AxonFramework application together using docker from your development environment.","title":"Implement Create New Bike Feature","component":"bikerental-demo","version":"main","name":"implement-create-bike","url":"/bikerental-demo/main/implement-create-bike/","titles":[{"text":"Design considerations","hash":"_design_considerations","id":1},{"text":"Implementing the process to register a new bike in the system","hash":"_implementing_the_process_to_register_a_new_bike_in_the_system","id":2},{"text":"Defining the command","hash":"_defining_the_command","id":3},{"text":"Implementing the command model","hash":"_implementing_the_command_model","id":4},{"text":"Creating the aggregate class (the Bike)","hash":"_creating_the_aggregate_class_the_bike","id":5},{"text":"Defining the command handler method.","hash":"_defining_the_command_handler_method","id":6},{"text":"Handling the BikeRegisteredEvent in the aggregate","hash":"_handling_the_bikeregisteredevent_in_the_aggregate","id":7},{"text":"Implementing the HTTP REST controller","hash":"_implementing_the_http_rest_controller","id":8},{"text":"Create the SpringBoot controller.","hash":"_create_the_springboot_controller","id":9},{"text":"Implement the endpoint to register a bike","hash":"_implement_the_endpoint_to_register_a_bike","id":10},{"text":"Conclusion","hash":"_conclusion","id":11}]},"282":{"id":282,"text":"Building a new application from scratch can be daunting, especially when learning something new. This tutorial will guide you through the various stages of development, starting with creating your first project and explaining the capabilities of Axon Framework and Axon Server. The result is a simple application you can deploy in \"production\". The tutorial then shows you how to evolve the application, make changes, and deploy it in different scenarios. This tutorial will guide you through the creation of a \"Bike Rental Application\" using Axon Framework and Axon Server. You can follow the steps in the tutorial to complete the project from scratch or check out our Bike Rental Demo repository in GitHub.","title":"Introduction","component":"bikerental-demo","version":"main","name":"index","url":"/bikerental-demo/main/","titles":[]},"283":{"id":283,"text":"Now that we have our first feature implemented, and our application up and running, we can try to invoke the endpoint to register a bike, and check the exchange of commands and events. To test our feature, we need to send the following HTTP request: POST http://localhost:8080/bikes?bikeType={type}&location={city} You can do this directly from the command line, any other HTTP REST client you are used to, or if you are using IntelliJ IDEA as your IDE, we will show you how to prepare a file to quickly execute the HTTP Endpoints we are going to use in this project. You can easily invoke the endpoint from the command line by typing the following curl command in your terminal. > curl -X POST \"http://localhost:8080/bikes?bikeType=city&location=Utrecht\" The command will print out the response of the endpoint call, which, in our case, will be the UUID assigned to the new bike. Although we are sending a POST HTTP request, in this case we don’t need to specify any content in the body request, as all the information is specified in the URL parameters. This way may not be the most recommended design for POST requests in REST services as the required information usually f from the request body and it is specified using either -d, -F or --json options in your curl command). Anyway, for simplicity’s sake, we have designed our first POST endpoint to have all the required information in the URL parameters. If you are using IntelliJ IDEA as your IDE, you can benefit from its HTTP Client plugin to define and invoke all the endpoints of your application. You only need to create a file with .http or .rest extension. Then, you can add the URL of the different endpoints you want to invoke in your system. The various requests should be separated by a line with three hashtag marks (###). Start by creating a text file called requests.http in your root project, and add the following content to it: /requests.http ### Register a new bike POST http://localhost:8080/bikes?bikeType=city&location=Utrecht ### Save the file, and you will see that IntelliJ IDEA now decorates the line containing the POST URL with a green \"play\" button. If you click on it while the 'rental' application is running, you will see how the request is being sent and executed. POST http://localhost:8080/bikes?bikeType=city&location=Utrecht HTTP/1.1 200 OK Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers Content-Type: text/plain;charset=UTF-8 Content-Length: 36 8427681b-1ee6-4e0a-b5d8-c524b9ed553d Response code: 200 (OK); Time: 591ms (591 ms); Content length: 36 bytes (36 B) After invoking the endpoint, we can check how our application processed the request and what messages were sent. To do this, we will use the Axon Server dashboard. First, open your browser and go to the following URL http://localhost:8024/ You will see the Axon Server dashboard, with the default instance and the Rental Monolith application connected. Click on the Commands button in the left panel. You will see all the command handlers registered by the application, which in this case is just one: our RegisterBikeCommand. The panel also shows that one RegisterBikeCommand was received and processed in the system by the Rental Monolith application, which corresponds to the command created by the RentalController and sent through the CommandGateway. When we implemented the command handler, we validated the command and sent a BikeRegisteredEvent to notify any other component in the system of the change. To see if this event was sent, click on the Search button on the left menu panel of the Axon Server Dashboard. This action will bring up a page allowing you to search for all events sent and stored in Axon Server. Click on the magnifier button on right side of the Query field without specifying anything in it (leave it empty). You will see in the table below the only event that was sent as a result of running the command handler: If you click on the eye icon in the of the Action column on the row of the event will bring up a popup panel showing all the event details. This means that our system received the request to register a new bike and handled it correctly by creating and sending the appropriate command, and as a result of handling the command, created, sent and stored the BikeRegisteredEvent. This last BikeRegisteredEvent will be reused for any component (such as any projection in the query model) that registers to receive this type of event. The command model will also use the' BikeRegisteredEvent' whenever the Bike entity needs to be rebuilt (or refreshed). Thanks to the information provided by Axon Server, it’s easy to check the commands, events (and queries) that have been sent and their contents. This is useful for checking the messages that our system exchanges to communicate the different modules. However, we may also want to have some automated tests in the form of unit tests so that we don’t have to do these manual checks every time. In the next section, we will learn how to write a test case with Axon to ensure the command handler processes the command correctly.","title":"Running the Register Bike Endpoint","component":"bikerental-demo","version":"main","name":"invoking-create-bike-endpoint","url":"/bikerental-demo/main/invoking-create-bike-endpoint/","titles":[{"text":"Invoking the endpoint","hash":"_invoking_the_endpoint","id":1},{"text":"From the command line","hash":"_from_the_command_line","id":2},{"text":"Using IntelliJ IDEA","hash":"_using_intellij_idea","id":3},{"text":"Following the execution of the register bike request in Axon Server","hash":"_following_the_execution_of_the_register_bike_request_in_axon_server","id":4},{"text":"Reviewing the commands","hash":"_reviewing_the_commands","id":5},{"text":"Reviewing the events","hash":"_reviewing_the_events","id":6},{"text":"Conclusion","hash":"_conclusion","id":7}]},"284":{"id":284,"text":"In this step, we will see how to run your application in your local environment with everything you need. If this were only a basic Spring Boot application we would simply run it from our IDE, but our application relies on external messaging infrastructure to route, store and deliver messages (commands, events and queries). In our case, we will use Axon Server which acts both as a message broker to route the messages and as an event store optimized for storing and retrieving events in an Event Sourcing-based system. To avoid having to install and start the Axon Server manually, we will use Axon Server Docker images and Spring Boot’s support for running Docker containers. In this section you will learn how to configure Spring Boot to run everything you need with a single click. We will use Docker Compose and Docker images to start the Axon Server with just one click (or shortcut key combination) from your IDE, so make sure you have Docker Engine installed on your system. Docker Compose is a tool that allows you to define all the Docker containers, networks, volumes and any other characteristics that we need as the infrastructure to run our application. Even though we are only going to run one Docker image (Axon Server), Docker Compose is convenient because allows us to start everything with one command. We will start by creating the Docker Compose configuration file. Create a compose.yaml file in the root project with the following contents: compose.yaml services: axonserver: (1) image: 'axoniq/axonserver:latest' (2) environment: (3) - 'AXONIQ_AXONSERVER_STANDALONE=TRUE' ports: (4) - '8024:8024' (5) - '8124:8124' (6) 1 We define the name of the service for axonserver. This will be the name used for the service when started by Docker Desktop. 2 The axoniq/axonserver:latest image refers to the latest Axon Server Docker image that has been published in Docker Hub. 3 We set the AXONIQ_AXONSERVER_STANDALONE environment property to TRUE so that Axon Server starts without the need to do the initial configuration. 4 We configure the ports that will be exported from the running docker container: 5 8024 is the default port to access the Axon Server console from your browser. 6 8124 is Axon Server’s gRPC port used by the applications. YAML files are sensitive to tabs and spaces. Make sure you use the correct indentation using tabs. Once we have this file we should be able to run the axon server image from the command line: bike-rental-quick-start % docker-compose up [+] Running 1/0 ✔ Container bike-rental-quick-start-axonserver-1 Created 0.0s Attaching to axonserver-1 ... Since we don’t want to start the server manually, we will configure Spring Boot’s support for Docker Compose so that the Docker containers are started automatically when running the application from our IDE. Stop the container by typing ^C on the console and move to the next section. Since v3.1, Spring Boot supports starting Docker Compose services before running an application. To enable that feature, we will need to add the following dependency to the maven descriptor pom.xml file in our root project: /pom.xml org.springframework.boot spring-boot-docker-compose runtime true Once we have added this dependency, we can run our application right from our IDE. Spring Boot will detect the compose.yaml file and will start the Docker containers described in that file. Run your application from your IDE. You should see in the logs that Spring Boot downloads the Axon Server Docker image and starts running Axon Server automatically for you before starting your application: . ____ _ __ _ _ /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\ ( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\ \\\\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.1) INFO --- [Rental Monolith] i.a.d.b.rental.RentalApplication : Starting RentalApplication using Java 21 with PID 69132 (/Users/dgomezg/projects/axon/code-samples/bike-rental-quick-start/rental/target/classes started by dgomezg in /Users/dgomezg/projects/axon/code-samples/bike-rental-quick-start) INFO --- [Rental Monolith] i.a.d.b.rental.RentalApplication : No active profile set, falling back to 1 default profile: \"default\" INFO --- [Rental Monolith] .s.b.d.c.l.DockerComposeLifecycleManager : Using Docker Compose file '/Users/dgomezg/projects/axon/code-samples/bike-rental-quick-start/compose.yaml' INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Created INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Starting INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Started INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Waiting INFO --- [Rental Monolith] o.s.boot.docker.compose.core.DockerCli : Container bike-rental-quick-start-axonserver-1 Healthy INFO --- [Rental Monolith] verDockerComposeConnectionDetailsFactory : Detected Axon Server container. To access the dashboard, visit http://127.0.0.1:8024 After the application starts, you can open your browser and go to http://localhost:8024 to access the Axon Server dashboard. If you click on the \"Overview\" button from the right panel, you will see the Axon Server instance and your Rental Monolith Application connected to it. In the next step we will implement a feature that retrieves a list of all the bikes in our system. In doing so, we will look at how to implement the Query Model with some projections.","title":"Running the Application Locally With Docker Compose","component":"bikerental-demo","version":"main","name":"run-app-with-docker-compose","url":"/bikerental-demo/main/run-app-with-docker-compose/","titles":[{"text":"Requisites","hash":"_requisites","id":1},{"text":"Configuring Docker Compose","hash":"_configuring_docker_compose","id":2},{"text":"Docker Compose descriptor","hash":"_docker_compose_descriptor","id":3},{"text":"Configuring Spring Boot support to run Docker Compose","hash":"_configuring_spring_boot_support_to_run_docker_compose","id":4},{"text":"Running the application","hash":"_running_the_application","id":5}]},"285":{"id":285,"text":"As our application grows, we won’t be able to manually test that everything works correctly after a new feature. It is convenient to have a way to test automatically that our application works as expected. In your applications, you probably already have some unit tests to check the business logic of your application. Axon Framework provides you with a Test Module that will help you write unit tests designed to test the processing and handling of commands, events and queries in your application. In this tutorial step, you will implement a unit test to check if our system processes the RegisterBikeCommand as expected. Before writing our command handler test, we need to add the component Axon Framework provides to support unit testing. We need to add the org.axonframework:axon-test dependency to the Maven file descriptor in our rental module to do this. Fortunately, we already added this dependency when we configured the Axon Framework dependencies. Check that your rental/pom.xml file contains the reference to the axon-test module: rental/pom.xml org.axonframework axon-spring-boot-starter org.axonframework axon-test test The components provided by Axon Framework for unit testing are only needed during the test execution phase during the maven build process. Thus, we specify the test for the axon-test dependency. With the axon-test component added to our project’s dependency list we can create our command handler test. To start writing our command handler test, create a new Java class with the name BikeTest in /src/test/java/io/axoniq/demo/bikerental/rental/command of your rental module. You can also use your IDE to create the unit test class. Open the Bike class and ask your IDE to generate the corresponding unit test. Depending on your IDE, the shortcut or menu may vary, but it’s a shortcut worth knowing for your IDE. /rental/src/test/java/io/axoniq/demo/bikerental/rental/command/BikeTest.java class BikeTest { } Axon Framework provides a component that allows you to create unit tests specifically focused on testing the behavior of handling a command by an aggregate. This component is called AggregateTestFixture. You can read more details about how an AggregateTestFixture works at the Command Model Testing So, we need to add and initialize the AggregateTestFixture for the Bike class (the component that handles the command we want to test): /rental/src/test/java/io/axoniq/demo/bikerental/rental/command/BikeTest.java class BikeTest { private AggregateTestFixture fixture; (1) @BeforeEach (2) void setUp() { fixture = new AggregateTestFixture<>(Bike.class); (3) } } 1 Define an AggregateTestFixture for the Bike aggregate. This is the \"Subject Under Test\" (or SUT) for our test. 2 The @BeforeEach marks this method to be called before any test is executed in our test class. Adding the code to create the AggregateTestFixture here will ensure that we have a fresh fixture for each test case, and thus we make our different tests independent. 3 This line creates a new AggregateTestFixture for our Bike class. Thanks to the help of the AggregateTestFixture we can now create a test with the following structure: Given: Set the initial state for our test. Since we are designing our system to follow Event-Sourcing patterns, we need to set the list of events that have already happened for the same aggregate (the bike) before receiving the command. When: Specify the command whose execution we want to test. In this case, we will test the processing of a RegisterBikeCommand. Expect: We can instruct the fixture on the expectations we have from our system after processing the command. In an Event-Sourcing system, we will specify these expectations in the form of what events should have been produced by the command handler as a result of processing the command. So, let’s define a method in our unit test to check that our system can successfully process the request to create a bike: class BikeTest { @Test void canRegisterBike() { fixture.givenNoPriorActivity() (1) .when(new RegisterBikeCommand(\"bikeId-1234\", \"city-bike\", \"Amsterdam\")) (2) .expectEvents(new BikeRegisteredEvent(\"bikeId-1234\", \"city-bike\", \"Amsterdam\")); (3) } } 1 In our case, when we receive the RegisterBikeCommand, we expect that no previous events were received in the system for the same bikeId. 2 We provide the RegisterBikeCommand we want to send to the command handler. 3 After successfully processing the RegisterBikeCommand, we expect the command handler to produce a new BikeRegisteredEvent with the details of the new bike. The AggregateTestFixture will prepare the Bike aggregate to execute the command (in this case, this step is empty, as we specified that there had been no previous activity), execute the command handler for the RegisterBikeCommand and assert that the command handler has emitted the BikeRegisteredEvent with these specific values. You can learn more about the different things you can check from the fixture using Matchers in the section dedicated to Validation-phase of the test fixture in the Axon Framework reference guide You can run the test manually from your IDE, and you should see that the test passes, meaning that the fixture has checked that the expectations are met after processing the RegisterBikeCommand. In addition to running the test manually, we now have a test that is automatically run by Maven every time we build the application. If you run mvn package from your command line, you will see the execution of the test: % mvn package [...] [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running io.axoniq.demo.bikerental.rental.command.BikeTest [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.120 s -- in io.axoniq.demo.bikerental.rental.command.BikeTest [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] [...] This automatic execution of the tests guarantees that if we break the expected behavior for this command handling while implementing a new feature in the future, we will know about it immediately. With that certainty, we can move on and implement the next feature for our system.","title":"Testing Command Handlers","component":"bikerental-demo","version":"main","name":"unit-testing-commands","url":"/bikerental-demo/main/unit-testing-commands/","titles":[{"text":"Configuring Axon Framework test support","hash":"_configuring_axon_framework_test_support","id":1},{"text":"Creating the command BikeTest","hash":"_creating_the_command_biketest","id":2},{"text":"Defining the AggregateTestFixture","hash":"_defining_the_aggregatetestfixture","id":3},{"text":"Testing the command handler","hash":"_testing_the_command_handler","id":4},{"text":"Executing the test","hash":"_executing_the_test","id":5}]},"286":{"id":286,"text":"React to events in a foreign bounded context in order to trigger a state transition in the current bounded context. One part of a business domain - a bounded context, needs to inform another bounded context about internal state changes that have occurred, in order for the latter to trigger its own internal state changes. Let’s envision two bounded contexts A and B; internal events in A should not be published externally (to B), and it’s not desirable to let A explicitly trigger a state change in B via a command (that decision resides with B). Let the foreign context (A in the aforementioned example) publish an external event that is consumed by the current context (B), and translate the external event into an internal event via a command. In a bike rental domain, there exists two bounded contexts - Inventory and Rental. As new bikes are registered with Inventory, Rental must be informed about their availability to allow them to be rented. The event model is shown in figure 1: Figure 1 - Reacting to foreign events via an automation The RegistrationUpdates read model is realized as a transformation from an internal event (BikeRegisteredEvent) in the Inventory context to an external event (called BikeCreatedEvent in the implementation below); implied in the read model is the use of an event broker to publish the external event. The Processor is a background component that consumes BikeCreatedEvent and translates it into a suitable UpdateAvailabilityCommand, yielding an internal AvailabilityUpdatedEvent in the Rental context. In Listing 1 the internal BikeRegisteredEvent is transformed to the external BikeCreatedEvent for publishing to the Rental context. @Component public class BikeEventPublisher { @Autowired private EventGateway eventGateway; @EventHandler public void on(BikeRegisteredEvent event) { eventGateway.publish(new BikeCreatedEvent(event.bikeId())); } } Listing 1 - Internal event to external event transformation Listing 2 demonstrates the translation from the BikeCreatedEvent to a matching UpdateAvailabilityCommand. @Component public class Processor { @Autowired private CommandGateway commandGateway; @EventHandler public void on(BikeCreatedEvent event) { commandGateway.send(new UpdateAvailabilityCommand(event.bikeId())); } } Listing 1 - Translating the external event to trigger an internal state change in Rental In this example, an EventGateway and a so-called integration context supported by Axon Server is used for context-to-context event publish and subscribe. Other event brokers such as Kafka are of course suitable as well.","title":"Import External State","component":"playbook","version":"","name":"import_external_state","url":"/playbook/import_external_state/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3}]},"287":{"id":287,"text":"Welcome to AxonIQ Playbook, a catalogue of patterns to support the AxonIQ community in modeling, implementing and operating event-sourced systems. Proper system design relies on a solid understanding of one’s business domain; AxonIQ Playbook embraces Event Modeling and its building blocks for this purpose, by documenting common problems and solutions related to system state changes and views, automations, integrations and more, along with code examples using Axon components.","title":"AxonIQ Playbook","component":"playbook","version":"","name":"index","url":"/playbook/","titles":[]},"288":{"id":288,"text":"Consider a bike rental domain, where a renter can acquire a bike for a ride. The business flow involves selection and manual confirmation of the ride before it commences. From the moment of selection, the bike should be made temporarily unavailable for other renters until it has been confirmed for the current ride and for the duration of it, or become available anew should the acquisition be rejected by the renter in question. Reserve a resource at the beginning of a business flow and claim it fully upon completion, or release the resource if the flow is interrupted. In the bike rental domain, the Rental bounded context is responsible for the bike acquisition flow (figure 1). Figure 1 - Business flow for bike acquisition by a renter Figure 2 is the failure path where the renter changes their mind and cancels the ride, thus releasing the bike for other renters to select. Figure 1 - Failure path for bike acquisition While each ride may be represented by an aggregate, reservations are managed by a single aggregate (listing 1). @Aggregate public class Rental { @AggregateMember private Map rentals = new HashMap<>(); // ... @CommandHandler public void handle(ReserveBikeCommand command) { if (!rentals.get(command.bikeId()).equals(RentalState.AVAILABLE)) { throw new IllegalStateException(\"Bike is not available\"); } apply(new BikeReservedEvent(command.bikeId())); } @CommandHandler public void handle(ReleaseBikeCommand comand) { apply(new BikeReleasedEvent(command.bikeId())); } @EventSourcingHandler public void on(BikeReservedEvent event) { rentals.put(event.bikeId(), RentalState.RESERVED); } @EventSourcingHandler public void on(BikeReleasedEvent event) { rentals.put(event.bikeId(), RentalState.AVAILABLE); } } Listing 1 - Reserving and releasing bikes for renters","title":"Reservation","component":"playbook","version":"","name":"reservation","url":"/playbook/reservation/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3}]},"289":{"id":289,"text":"Use a command to express an intent to change system state. In an event-sourced system, a change in system state is represented solely via an event. The requester of this change must be able to provide the required input data that is to be validated and processed by relevant business logic to yield an event, that is the state transition. Construct a command message that encapsulates the type of state change to perform and the required input data. Send the command to a target command handler where validation and processing of the command occurs. A successful outcome produces an event and (typically) no return value; command handling failures are represented by either exceptions to be handled by the sender, or corresponding events; in the latter case, alternate failure paths might have be modeled. In figure 1 a state change is modeled where a bike renter is \"reserving\" a bike as part of the business flow for acquiring a bike for a ride. Figure 1 - State change slice for bike reservation The possible outcomes of handling a ReserveBikeCommand are (see figure 2): The bike has been successfully reserved, a state change manifested by BikeReservedEvent. The bike could not be reserved due to another renter having reserved it previously, resulting in an exception being thrown to be handled by the sender of the command. The outcomes of a state change slice follow a Given / When / Then format (also called a specification) and include the happy path and potentially one or more failure paths. Figure 2 - Specification for bike reservation The yellow \"stickies\" in the specification signify \"current state\", which is managed by an aggregate in the implementation of the slice. At the start of this business flow, the renter is selecting a bike that has been registered as available in a prior, separate business flow. Figure 2 - Specification for bike reservation To implement the state change slice for bike reservation, see the sections below. Listing 1 illustrates how to construct and send the ReserveBikeCommand; here, an API endpoint receives a client request for bike selection and constructs the command accordingly. public record RegisterBikeCommand (@TargetAggregateIdentifier String bikeId) {} @RestController @RequestMapping(\"/inventory\") public class RentalController { @Autowired private CommandGateway commandGateway; @PostMapping(\"/reserveBike\") public CompletableFuture reserveBike(@RequestParam(\"bikeId\") String bikeId) { return commandGateway.send(new ReserveBikeCommand(bikeId)); } } Listing 1 - Sending a `RegisterBikeCommand` In listing 2, an aggregate is responsible for maintaining rental state for all bikes. The ReserveBikeCommand is processed according to existing invariants, one being that the bike to be reserved is actually available (and not already reserved or rented). If successful, the state transition occurs via the BikeReservedEvent and the aggregate state is updated. @Aggregate public class Rental { @AggregateMember private Map rentals = new HashMap<>(); @CommandHandler public void handle(ReserveBikeCommand command) { if (!rentals.get(command.bikeId()).equals(RentalState.AVAILABLE)) { throw new IllegalStateException(\"Bike is not available\"); } apply(new BikeReservedEvent(command.bikeId())); } @EventSourcingHandler public void on(BikeReservedEvent event) { rentals.put(event.bikeId(), RentalState.RESERVED); } } Listing 2 - Processing a `RegisterBikeCommand`","title":"State Transitions via Commands","component":"playbook","version":"","name":"state_transitions_via_commands","url":"/playbook/state_transitions_via_commands/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3},{"text":"Sending the command","hash":"_sending_the_command","id":4},{"text":"Processing the command and transitioning state","hash":"_processing_the_command_and_transitioning_state","id":5}]},"290":{"id":290,"text":"Observe system state changes via projected read models. State transitions via events represent the system’s source of truth, but this \"raw material\" doesn’t itself provide a direct view of the system’s current state, only its history; observing the result of a state change requires one to establish and update such views. In an event model, so-called read models represent the \"outputs\" of the system after state transitions have occurred. A common type of read model is the projection, whereby events are consumed to update a durable or transient data model, typically de-normalized to allow for swift information retrieval via specific queries. Figure 1 depicts a state view slice that is part of a business flow to register new bikes. Figure 1 - State view slice for bike registration This projection exposes its data to \"public\" clients, but projections may also be solely for \"internal\" use. The state view slice is implemented as a projection in the sections below. In listing 1, a component is set up to listen for the BikeRegisteredEvent to add a newly registered bike to a list. @Component public class BikeProjection { private final List bikes = new ArrayList<>(); @EventHandler public void on(BikeRegisteredEvent event) { bikes.add(new BikeStatus(event.bikeId())); } @QueryHandler public List handle(GetBikesQuery query) { return bikes.stream().toList(); } } Listing 1 - Handling a `BikeRegisteredEvent` The projection also contains a QueryHandler, which returns the bike list in response to a (typed) GetBikesQuery (see below). In listing 2, the GetBikesQuery is sent to the aforementioned QueryHandler in order to retrieve the bike list. public record GetBikesQuery() {} @RestController @RequestMapping(\"/inventory\") public class InventoryController { @Autowired private QueryGateway queryGateway; @GetMapping(\"/bikes\") public CompletableFuture> getBikes() { return queryGateway.query( new GetBikesQuery(), ResponseTypes.multipleInstancesOf(BikeStatus.class) ); } } Listing 2 - Sending a query to retrieve bike list","title":"State Views via Projections","component":"playbook","version":"","name":"state_views_via_projections","url":"/playbook/state_views_via_projections/","titles":[{"text":"Problem","hash":"_problem","id":1},{"text":"Solution","hash":"_solution","id":2},{"text":"Example","hash":"_example","id":3},{"text":"Updating the read model","hash":"_updating_the_read_model","id":4},{"text":"Querying the read model","hash":"_querying_the_read_model","id":5}]}},"components":{},"componentVersions":{"axon-framework-extensions/":{"displayVersion":"default","title":"Axon Framework Extensions","version":"","name":"axon-framework-extensions","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Framework Extensions","type":"reference","group":"extension"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-extensions/"},"as-faq/master":{"displayVersion":"master","title":"FAQ for Axon Server","version":"master","name":"as-faq","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Questions and Answers for Axon Server","type":"basics","group":"faq"},"sourcemap":false,"extensions":[{},{}]},"url":"/as-faq/as-faq/","navigation":[{"items":[{"content":"FAQ for Axon Server","url":"/as-faq/as-faq/","urlType":"internal"}],"root":true,"order":0}]},"axon-server-installation/master":{"displayVersion":"master","title":"Axon Server Installation Guides","version":"master","name":"axon-server-installation","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server Installation guides","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-installation/installing_as_docker-k8s/","navigation":[{"items":[{"content":"Installing Axon Server for Docker and Kubernetes","url":"/axon-server-installation/installing_as_docker-k8s/","urlType":"internal"}],"root":true,"order":0}]},"axon-server-upgrade/master":{"displayVersion":"master","title":"Axon Server Upgrade Guides","version":"master","name":"axon-server-upgrade","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server upgrade guides","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-upgrade/upgrading_as_2024/","navigation":[{"items":[{"content":"Upgrading to Axon Server 2024.0.0","url":"/axon-server-upgrade/upgrading_as_2024/","urlType":"internal"}],"root":true,"order":0}]},"axoniq-console-faq/master":{"displayVersion":"master","title":"FAQ for AxonIQ Console","version":"master","name":"axoniq-console-faq","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Questions and Answers for AxonIQ Console","type":"basics","group":"faq"},"sourcemap":false,"extensions":[{},{}]},"url":"/axoniq-console-faq/console_faq/","navigation":[{"items":[{"content":"FAQ for AxonIQ Console","url":"/axoniq-console-faq/console_faq/","urlType":"internal"}],"root":true,"order":0}]},"event-driven-architectures/":{"displayVersion":"default","title":"Event-Driven Architectures","version":"","name":"event-driven-architectures","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":null,"type":"basics","group":"concept"},"sourcemap":false,"extensions":[{},{}]},"url":"/event-driven-architectures/"},"home/master":{"displayVersion":"master","title":"Docs","version":"master","name":"home","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"type":"home"},"sourcemap":false,"extensions":[{},{}]},"url":"/home/","navigation":[{"items":[{"content":"Basics","url":"/home/basics/","urlType":"internal"},{"content":"Guides","url":"/home/guides/","urlType":"internal","items":[{"content":"Axon Framework","url":"/home/guides/axon-framework/","urlType":"internal"},{"content":"Axon Server","url":"/home/guides/axon-server/","urlType":"internal"}]},{"content":"Reference Guides","url":"/home/reference/","urlType":"internal","items":[{"content":"Axon Framework","url":"/axon-framework-reference/development/","urlType":"internal"},{"content":"Axon Server","url":"/axon-server-reference/v2024.1/","urlType":"internal"},{"content":"Axon Synapse","url":"/synapse-reference/v0.11/","urlType":"internal"},{"content":"AxonIQ Console","url":"/axoniq-console-reference/","urlType":"internal"}]}],"root":true,"order":0}]},"axon-framework-reference/development":{"displayVersion":"development","title":"Axon Framework","version":"development","name":"axon-framework-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The Axon Framework reference guide","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-reference/development/","navigation":[{"items":[{"content":"Introduction","url":"/axon-framework-reference/development/","urlType":"internal"},{"content":"Upgrading to Axon Framework 4.7","url":"/axon-framework-reference/development/upgrading-to-4-7/","urlType":"internal"},{"content":"Messaging Concepts","url":"/axon-framework-reference/development/messaging-concepts/","urlType":"internal","items":[{"content":"Anatomy of a Message","url":"/axon-framework-reference/development/messaging-concepts/anatomy-message/","urlType":"internal"},{"content":"Message Correlation","url":"/axon-framework-reference/development/messaging-concepts/message-correlation/","urlType":"internal"},{"content":"Message Intercepting","url":"/axon-framework-reference/development/messaging-concepts/message-intercepting/","urlType":"internal"},{"content":"Supported Parameters for Annotated Handlers","url":"/axon-framework-reference/development/messaging-concepts/supported-parameters-annotated-handlers/","urlType":"internal"},{"content":"Exception Handling","url":"/axon-framework-reference/development/messaging-concepts/exception-handling/","urlType":"internal"},{"content":"Unit of Work","url":"/axon-framework-reference/development/messaging-concepts/unit-of-work/","urlType":"internal"}]},{"content":"Commands","url":"/axon-framework-reference/development/axon-framework-commands/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/development/axon-framework-commands/command-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/development/axon-framework-commands/command-dispatchers/","urlType":"internal"},{"content":"Aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate/","urlType":"internal","items":[{"content":"Multi-Entity Aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/multi-entity-aggregates/","urlType":"internal"},{"content":"State Stored Aggregates","url":"/axon-framework-reference/development/axon-framework-commands/modeling/state-stored-aggregates/","urlType":"internal"},{"content":"Aggregate Creation from another Aggregate","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/","urlType":"internal"},{"content":"Aggregate Polymorphism","url":"/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-polymorphism/","urlType":"internal"},{"content":"Conflict Resolution","url":"/axon-framework-reference/development/axon-framework-commands/modeling/conflict-resolution/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/development/axon-framework-commands/infrastructure/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/development/axon-framework-commands/configuration/","urlType":"internal"}]},{"content":"Events","url":"/axon-framework-reference/development/events/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/development/events/event-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/development/events/event-dispatchers/","urlType":"internal"},{"content":"Event Processors","url":"/axon-framework-reference/development/events/event-processors/","urlType":"internal","items":[{"content":"Subscribing Event Processor","url":"/axon-framework-reference/development/events/event-processors/subscribing/","urlType":"internal"},{"content":"Streaming Event Processor","url":"/axon-framework-reference/development/events/event-processors/streaming/","urlType":"internal"},{"content":"Dead-Letter Queue","url":"/axon-framework-reference/development/events/event-processors/dead-letter-queue/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/development/events/infrastructure/","urlType":"internal"},{"content":"Event Versioning","url":"/axon-framework-reference/development/events/event-versioning/","urlType":"internal"}]},{"content":"Queries","url":"/axon-framework-reference/development/queries/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/development/queries/query-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/development/queries/query-dispatchers/","urlType":"internal"},{"content":"Implementations","url":"/axon-framework-reference/development/queries/implementations/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/development/queries/configuration/","urlType":"internal"}]},{"content":"Sagas","url":"/axon-framework-reference/development/sagas/","urlType":"internal","items":[{"content":"Implementation","url":"/axon-framework-reference/development/sagas/implementation/","urlType":"internal"},{"content":"Associations","url":"/axon-framework-reference/development/sagas/associations/","urlType":"internal"},{"content":"Infrastructure","url":"/axon-framework-reference/development/sagas/infrastructure/","urlType":"internal"}]},{"content":"Deadlines","url":"/axon-framework-reference/development/deadlines/","urlType":"internal","items":[{"content":"Deadline Managers","url":"/axon-framework-reference/development/deadlines/deadline-managers/","urlType":"internal"},{"content":"Event Schedulers","url":"/axon-framework-reference/development/deadlines/event-schedulers/","urlType":"internal"}]},{"content":"Testing","url":"/axon-framework-reference/development/testing/","urlType":"internal","items":[{"content":"Commands / Events","url":"/axon-framework-reference/development/testing/commands-events/","urlType":"internal"},{"content":"Sagas","url":"/axon-framework-reference/development/testing/sagas-1/","urlType":"internal"}]},{"content":"Serialization","url":"/axon-framework-reference/development/serialization/","urlType":"internal"},{"content":"Tuning","url":"/axon-framework-reference/development/tuning/","urlType":"internal","items":[{"content":"Event Snapshots","url":"/axon-framework-reference/development/tuning/event-snapshots/","urlType":"internal"},{"content":"Event Processing","url":"/axon-framework-reference/development/tuning/event-processing/","urlType":"internal"},{"content":"Command Processing","url":"/axon-framework-reference/development/tuning/command-processing/","urlType":"internal"},{"content":"Relational Databases","url":"/axon-framework-reference/development/tuning/rdbms-tuning/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-framework-reference/development/monitoring/","urlType":"internal","items":[{"content":"Distributed Tracing","url":"/axon-framework-reference/development/monitoring/tracing/","urlType":"internal"},{"content":"Metrics","url":"/axon-framework-reference/development/monitoring/metrics/","urlType":"internal"},{"content":"Health Indicators","url":"/axon-framework-reference/development/monitoring/health/","urlType":"internal"},{"content":"Event Processor Monitoring","url":"/axon-framework-reference/development/monitoring/processors/","urlType":"internal"},{"content":"Message Tracking","url":"/axon-framework-reference/development/monitoring/message-tracking/","urlType":"internal"}]},{"content":"Spring Boot Integration","url":"/axon-framework-reference/development/spring-boot-integration/","urlType":"internal"},{"content":"Modules","url":"/axon-framework-reference/development/modules/","urlType":"internal"},{"content":"Release Notes","url":"/axon-framework-reference/development/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-framework-reference/development/release-notes/major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-framework-reference/development/release-notes/minor-releases/","urlType":"internal"}]},{"content":"Known Issues and Workarounds","url":"/axon-framework-reference/development/known-issues-and-workarounds/","urlType":"internal"}],"root":true,"order":0}]},"axon-framework-reference/4.10":{"displayVersion":"4.10","title":"Axon Framework","version":"4.10","name":"axon-framework-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The Axon Framework reference guide","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-reference/4.10/","navigation":[{"items":[{"content":"Introduction","url":"/axon-framework-reference/4.10/","urlType":"internal"},{"content":"Upgrading to Axon Framework 4.7","url":"/axon-framework-reference/4.10/upgrading-to-4-7/","urlType":"internal"},{"content":"Messaging Concepts","url":"/axon-framework-reference/4.10/messaging-concepts/","urlType":"internal","items":[{"content":"Anatomy of a Message","url":"/axon-framework-reference/4.10/messaging-concepts/anatomy-message/","urlType":"internal"},{"content":"Message Correlation","url":"/axon-framework-reference/4.10/messaging-concepts/message-correlation/","urlType":"internal"},{"content":"Message Intercepting","url":"/axon-framework-reference/4.10/messaging-concepts/message-intercepting/","urlType":"internal"},{"content":"Supported Parameters for Annotated Handlers","url":"/axon-framework-reference/4.10/messaging-concepts/supported-parameters-annotated-handlers/","urlType":"internal"},{"content":"Exception Handling","url":"/axon-framework-reference/4.10/messaging-concepts/exception-handling/","urlType":"internal"},{"content":"Unit of Work","url":"/axon-framework-reference/4.10/messaging-concepts/unit-of-work/","urlType":"internal"}]},{"content":"Commands","url":"/axon-framework-reference/4.10/axon-framework-commands/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/4.10/axon-framework-commands/command-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/4.10/axon-framework-commands/command-dispatchers/","urlType":"internal"},{"content":"Aggregates","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate/","urlType":"internal","items":[{"content":"Multi-Entity Aggregates","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/multi-entity-aggregates/","urlType":"internal"},{"content":"State Stored Aggregates","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/state-stored-aggregates/","urlType":"internal"},{"content":"Aggregate Creation from another Aggregate","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/","urlType":"internal"},{"content":"Aggregate Polymorphism","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate-polymorphism/","urlType":"internal"},{"content":"Conflict Resolution","url":"/axon-framework-reference/4.10/axon-framework-commands/modeling/conflict-resolution/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/4.10/axon-framework-commands/infrastructure/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/4.10/axon-framework-commands/configuration/","urlType":"internal"}]},{"content":"Events","url":"/axon-framework-reference/4.10/events/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/4.10/events/event-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/4.10/events/event-dispatchers/","urlType":"internal"},{"content":"Event Processors","url":"/axon-framework-reference/4.10/events/event-processors/","urlType":"internal","items":[{"content":"Subscribing Event Processor","url":"/axon-framework-reference/4.10/events/event-processors/subscribing/","urlType":"internal"},{"content":"Streaming Event Processor","url":"/axon-framework-reference/4.10/events/event-processors/streaming/","urlType":"internal"},{"content":"Dead-Letter Queue","url":"/axon-framework-reference/4.10/events/event-processors/dead-letter-queue/","urlType":"internal"}]},{"content":"Infrastructure","url":"/axon-framework-reference/4.10/events/infrastructure/","urlType":"internal"},{"content":"Event Versioning","url":"/axon-framework-reference/4.10/events/event-versioning/","urlType":"internal"}]},{"content":"Queries","url":"/axon-framework-reference/4.10/queries/","urlType":"internal","items":[{"content":"Handling","url":"/axon-framework-reference/4.10/queries/query-handlers/","urlType":"internal"},{"content":"Dispatching","url":"/axon-framework-reference/4.10/queries/query-dispatchers/","urlType":"internal"},{"content":"Implementations","url":"/axon-framework-reference/4.10/queries/implementations/","urlType":"internal"},{"content":"Configuration","url":"/axon-framework-reference/4.10/queries/configuration/","urlType":"internal"}]},{"content":"Sagas","url":"/axon-framework-reference/4.10/sagas/","urlType":"internal","items":[{"content":"Implementation","url":"/axon-framework-reference/4.10/sagas/implementation/","urlType":"internal"},{"content":"Associations","url":"/axon-framework-reference/4.10/sagas/associations/","urlType":"internal"},{"content":"Infrastructure","url":"/axon-framework-reference/4.10/sagas/infrastructure/","urlType":"internal"}]},{"content":"Deadlines","url":"/axon-framework-reference/4.10/deadlines/","urlType":"internal","items":[{"content":"Deadline Managers","url":"/axon-framework-reference/4.10/deadlines/deadline-managers/","urlType":"internal"},{"content":"Event Schedulers","url":"/axon-framework-reference/4.10/deadlines/event-schedulers/","urlType":"internal"}]},{"content":"Testing","url":"/axon-framework-reference/4.10/testing/","urlType":"internal","items":[{"content":"Commands / Events","url":"/axon-framework-reference/4.10/testing/commands-events/","urlType":"internal"},{"content":"Sagas","url":"/axon-framework-reference/4.10/testing/sagas-1/","urlType":"internal"}]},{"content":"Serialization","url":"/axon-framework-reference/4.10/serialization/","urlType":"internal"},{"content":"Tuning","url":"/axon-framework-reference/4.10/tuning/","urlType":"internal","items":[{"content":"Event Snapshots","url":"/axon-framework-reference/4.10/tuning/event-snapshots/","urlType":"internal"},{"content":"Event Processing","url":"/axon-framework-reference/4.10/tuning/event-processing/","urlType":"internal"},{"content":"Command Processing","url":"/axon-framework-reference/4.10/tuning/command-processing/","urlType":"internal"},{"content":"Relational Databases","url":"/axon-framework-reference/4.10/tuning/rdbms-tuning/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-framework-reference/4.10/monitoring/","urlType":"internal","items":[{"content":"Distributed Tracing","url":"/axon-framework-reference/4.10/monitoring/tracing/","urlType":"internal"},{"content":"Metrics","url":"/axon-framework-reference/4.10/monitoring/metrics/","urlType":"internal"},{"content":"Health Indicators","url":"/axon-framework-reference/4.10/monitoring/health/","urlType":"internal"},{"content":"Event Processor Monitoring","url":"/axon-framework-reference/4.10/monitoring/processors/","urlType":"internal"},{"content":"Message Tracking","url":"/axon-framework-reference/4.10/monitoring/message-tracking/","urlType":"internal"}]},{"content":"Spring Boot Integration","url":"/axon-framework-reference/4.10/spring-boot-integration/","urlType":"internal"},{"content":"Modules","url":"/axon-framework-reference/4.10/modules/","urlType":"internal"},{"content":"Release Notes","url":"/axon-framework-reference/4.10/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-framework-reference/4.10/release-notes/major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-framework-reference/4.10/release-notes/minor-releases/","urlType":"internal"}]},{"content":"Known Issues and Workarounds","url":"/axon-framework-reference/4.10/known-issues-and-workarounds/","urlType":"internal"}],"root":true,"order":0}]},"axon-framework-reference/0":{"displayVersion":"older releases","title":"Legacy Axon Framework Reference Guides","version":"0","name":"axon-framework-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Legacy Axon Framework documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-framework-reference/0/","navigation":[{"content":"Axon Framework 4.x","items":[{"content":"Release 4.9"},{"content":"Release 4.8"},{"content":"Release 4.7"},{"content":"Release 4.6"},{"content":"Release 4.5"},{"content":"Release 4.4"},{"content":"Release 4.3"},{"content":"Release 4.2"},{"content":"Release 4.1"},{"content":"Release 4.0"}],"root":true,"order":0},{"content":"Axon Framework 3.x","items":[{"content":"Release 3.4"},{"content":"Release 3.3"},{"content":"Release 3.2"},{"content":"Release 3.1"},{"content":"Release 3.0"}],"root":true,"order":0.25},{"content":"Axon Framework 2.x","items":[{"content":"Release 2.4"},{"content":"Release 2.3"},{"content":"Release 2.2"},{"content":"Release 2.1"},{"content":"Release 2.0"}],"root":true,"order":0.5},{"content":"Axon Framework 1.x","items":[{"content":"Release 1.4"},{"content":"Release 1.3"},{"content":"Release 1.2"},{"content":"Release 1.1"},{"content":"Release 1.0"}],"root":true,"order":0.75}]},"axon-server-reference/development":{"displayVersion":"development","title":"Axon Server","version":"development","name":"axon-server-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/development/","navigation":[{"items":[{"content":"Introduction","url":"/axon-server-reference/development/","urlType":"internal"},{"content":"Installation","url":"/axon-server-reference/development/axon-server/installation/","urlType":"internal","items":[{"content":"Local installation","url":"/axon-server-reference/development/axon-server/installation/local-installation/","urlType":"internal"},{"content":"Docker / K8s","url":"/axon-server-reference/development/axon-server/installation/docker-k8s/","urlType":"internal"}]},{"content":"Administration","url":"/axon-server-reference/development/axon-server/administration/","urlType":"internal","items":[{"content":"Configuration","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/","urlType":"internal","items":[{"content":"System properties","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/configuration/","urlType":"internal"},{"content":"Command Line Interface","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/command-line-interface/","urlType":"internal"},{"content":"REST API","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/rest-api/","urlType":"internal"},{"content":"gRPC API","url":"/axon-server-reference/development/axon-server/administration/admin-configuration/grpc-api/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-server-reference/development/axon-server/administration/monitoring/","urlType":"internal","items":[{"content":"Actuator Endpoints","url":"/axon-server-reference/development/axon-server/administration/monitoring/actuator-endpoints/","urlType":"internal"},{"content":"Axon Server Metrics","url":"/axon-server-reference/development/axon-server/administration/monitoring/axon-server-metrics/","urlType":"internal"},{"content":"gRPC Metrics","url":"/axon-server-reference/development/axon-server/administration/monitoring/grpc-metrics/","urlType":"internal"},{"content":"Heartbeat Monitoring","url":"/axon-server-reference/development/axon-server/administration/monitoring/heartbeat-monitoring/","urlType":"internal"},{"content":"Diagnostics","url":"/axon-server-reference/development/axon-server/administration/monitoring/diagnostics/","urlType":"internal"}]},{"content":"Clusters","url":"/axon-server-reference/development/axon-server/administration/clustering/","urlType":"internal"},{"content":"Replication Groups","url":"/axon-server-reference/development/axon-server/administration/replication-groups/","urlType":"internal"},{"content":"Multi-Context","url":"/axon-server-reference/development/axon-server/administration/multi-context/","urlType":"internal"},{"content":"Tiered Storage","url":"/axon-server-reference/development/axon-server/administration/tiered-storage/","urlType":"internal"},{"content":"Event Transformation","url":"/axon-server-reference/development/axon-server/administration/event-transformation/","urlType":"internal"},{"content":"Tagging","url":"/axon-server-reference/development/axon-server/administration/tagging/","urlType":"internal"},{"content":"Backup and Messaging-Only Nodes","url":"/axon-server-reference/development/axon-server/administration/backup-and-messaging-only-nodes/","urlType":"internal"},{"content":"Backups","url":"/axon-server-reference/development/axon-server/administration/backups/","urlType":"internal"},{"content":"Recovery","url":"/axon-server-reference/development/axon-server/administration/recovery/","urlType":"internal"},{"content":"Axon Server Plugins","url":"/axon-server-reference/development/axon-server/administration/plugins/","urlType":"internal"},{"content":"Logging","url":"/axon-server-reference/development/axon-server/administration/logging/","urlType":"internal","items":[{"content":"Logging Format","url":"/axon-server-reference/development/axon-server/administration/logging/logging-format/","urlType":"internal"}]},{"content":"Error Codes","url":"/axon-server-reference/development/axon-server/administration/error-codes/","urlType":"internal"}]},{"content":"Security","url":"/axon-server-reference/development/axon-server/security/","urlType":"internal","items":[{"content":"SSL","url":"/axon-server-reference/development/axon-server/security/ssl/","urlType":"internal"},{"content":"Access Control for Axon Server","url":"/axon-server-reference/development/axon-server/security/access-control-ee/","urlType":"internal"},{"content":"Security for Axon Framework Client Applications","url":"/axon-server-reference/development/axon-server/security/access-control-clients/","urlType":"internal"},{"content":"Access Control and the CLI","url":"/axon-server-reference/development/axon-server/security/access-control-cli/","urlType":"internal"},{"content":"Access Control on the REST and gRPC APIs","url":"/axon-server-reference/development/axon-server/security/access-control-api/","urlType":"internal"},{"content":"Axon Server EE - LDAP Extension","url":"/axon-server-reference/development/axon-server/security/access-control-ldap/","urlType":"internal"},{"content":"Axon Server EE - OAuth Extension","url":"/axon-server-reference/development/axon-server/security/access-control-oauth2/","urlType":"internal"}]},{"content":"Performance","url":"/axon-server-reference/development/axon-server/performance/","urlType":"internal","items":[{"content":"Event Segments","url":"/axon-server-reference/development/axon-server/performance/tuning-event-processing/","urlType":"internal"},{"content":"Flow Control","url":"/axon-server-reference/development/axon-server/performance/flow-control/","urlType":"internal"}]},{"content":"Migration","url":"/axon-server-reference/development/axon-server/migration/","urlType":"internal","items":[{"content":"Non-Axon Server to Axon Server","url":"/axon-server-reference/development/axon-server/migration/non-axon-server-to-axon-server/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Release Notes","url":"/axon-server-reference/development/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-server-reference/development/rn-as-major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-server-reference/development/rn-as-minor-releases/","urlType":"internal"}]}],"root":true,"order":0.5}]},"axon-server-reference/v2024.2":{"displayVersion":"v2024.2","title":"Axon Server","version":"v2024.2","name":"axon-server-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/v2024.2/","navigation":[{"items":[{"content":"Introduction","url":"/axon-server-reference/v2024.2/","urlType":"internal"},{"content":"Installation","url":"/axon-server-reference/v2024.2/axon-server/installation/","urlType":"internal","items":[{"content":"Local installation","url":"/axon-server-reference/v2024.2/axon-server/installation/local-installation/","urlType":"internal"},{"content":"Docker / K8s","url":"/axon-server-reference/v2024.2/axon-server/installation/docker-k8s/","urlType":"internal"}]},{"content":"Administration","url":"/axon-server-reference/v2024.2/axon-server/administration/","urlType":"internal","items":[{"content":"Configuration","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/","urlType":"internal","items":[{"content":"System properties","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/configuration/","urlType":"internal"},{"content":"Command Line Interface","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/command-line-interface/","urlType":"internal"},{"content":"REST API","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/rest-api/","urlType":"internal"},{"content":"gRPC API","url":"/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/grpc-api/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/","urlType":"internal","items":[{"content":"Actuator Endpoints","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/actuator-endpoints/","urlType":"internal"},{"content":"Axon Server Metrics","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/axon-server-metrics/","urlType":"internal"},{"content":"gRPC Metrics","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/grpc-metrics/","urlType":"internal"},{"content":"Heartbeat Monitoring","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/heartbeat-monitoring/","urlType":"internal"},{"content":"Diagnostics","url":"/axon-server-reference/v2024.2/axon-server/administration/monitoring/diagnostics/","urlType":"internal"}]},{"content":"Clusters","url":"/axon-server-reference/v2024.2/axon-server/administration/clustering/","urlType":"internal"},{"content":"Replication Groups","url":"/axon-server-reference/v2024.2/axon-server/administration/replication-groups/","urlType":"internal"},{"content":"Multi-Context","url":"/axon-server-reference/v2024.2/axon-server/administration/multi-context/","urlType":"internal"},{"content":"Tiered Storage","url":"/axon-server-reference/v2024.2/axon-server/administration/tiered-storage/","urlType":"internal"},{"content":"Event Transformation","url":"/axon-server-reference/v2024.2/axon-server/administration/event-transformation/","urlType":"internal"},{"content":"Tagging","url":"/axon-server-reference/v2024.2/axon-server/administration/tagging/","urlType":"internal"},{"content":"Backup and Messaging-Only Nodes","url":"/axon-server-reference/v2024.2/axon-server/administration/backup-and-messaging-only-nodes/","urlType":"internal"},{"content":"Backups","url":"/axon-server-reference/v2024.2/axon-server/administration/backups/","urlType":"internal"},{"content":"Recovery","url":"/axon-server-reference/v2024.2/axon-server/administration/recovery/","urlType":"internal"},{"content":"Axon Server Plugins","url":"/axon-server-reference/v2024.2/axon-server/administration/plugins/","urlType":"internal"},{"content":"Logging","url":"/axon-server-reference/v2024.2/axon-server/administration/logging/","urlType":"internal","items":[{"content":"Logging Format","url":"/axon-server-reference/v2024.2/axon-server/administration/logging/logging-format/","urlType":"internal"}]},{"content":"Error Codes","url":"/axon-server-reference/v2024.2/axon-server/administration/error-codes/","urlType":"internal"}]},{"content":"Security","url":"/axon-server-reference/v2024.2/axon-server/security/","urlType":"internal","items":[{"content":"SSL","url":"/axon-server-reference/v2024.2/axon-server/security/ssl/","urlType":"internal"},{"content":"Access Control for Axon Server","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-ee/","urlType":"internal"},{"content":"Security for Axon Framework Client Applications","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-clients/","urlType":"internal"},{"content":"Access Control and the CLI","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-cli/","urlType":"internal"},{"content":"Access Control on the REST and gRPC APIs","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-api/","urlType":"internal"},{"content":"Axon Server EE - LDAP Extension","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-ldap/","urlType":"internal"},{"content":"Axon Server EE - OAuth Extension","url":"/axon-server-reference/v2024.2/axon-server/security/access-control-oauth2/","urlType":"internal"}]},{"content":"Performance","url":"/axon-server-reference/v2024.2/axon-server/performance/","urlType":"internal","items":[{"content":"Event Segments","url":"/axon-server-reference/v2024.2/axon-server/performance/tuning-event-processing/","urlType":"internal"},{"content":"Flow Control","url":"/axon-server-reference/v2024.2/axon-server/performance/flow-control/","urlType":"internal"}]},{"content":"Migration","url":"/axon-server-reference/v2024.2/axon-server/migration/","urlType":"internal","items":[{"content":"Non-Axon Server to Axon Server","url":"/axon-server-reference/v2024.2/axon-server/migration/non-axon-server-to-axon-server/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Release Notes","url":"/axon-server-reference/v2024.2/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-server-reference/v2024.2/rn-as-major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-server-reference/v2024.2/rn-as-minor-releases/","urlType":"internal"}]}],"root":true,"order":0.5}]},"axon-server-reference/v2024.1":{"displayVersion":"v2024.1","title":"Axon Server","version":"v2024.1","name":"axon-server-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Server reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/v2024.1/","navigation":[{"items":[{"content":"Introduction","url":"/axon-server-reference/v2024.1/","urlType":"internal"},{"content":"Installation","url":"/axon-server-reference/v2024.1/axon-server/installation/","urlType":"internal","items":[{"content":"Local installation","url":"/axon-server-reference/v2024.1/axon-server/installation/local-installation/","urlType":"internal"},{"content":"Docker / K8s","url":"/axon-server-reference/v2024.1/axon-server/installation/docker-k8s/","urlType":"internal"}]},{"content":"Administration","url":"/axon-server-reference/v2024.1/axon-server/administration/","urlType":"internal","items":[{"content":"Configuration","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/","urlType":"internal","items":[{"content":"System properties","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/configuration/","urlType":"internal"},{"content":"Command Line Interface","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/command-line-interface/","urlType":"internal"},{"content":"REST API","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/rest-api/","urlType":"internal"},{"content":"gRPC API","url":"/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/grpc-api/","urlType":"internal"}]},{"content":"Monitoring","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/","urlType":"internal","items":[{"content":"Actuator Endpoints","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/actuator-endpoints/","urlType":"internal"},{"content":"Axon Server Metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/axon-server-metrics/","urlType":"internal"},{"content":"gRPC Metrics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/grpc-metrics/","urlType":"internal"},{"content":"Heartbeat Monitoring","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/heartbeat-monitoring/","urlType":"internal"},{"content":"Diagnostics","url":"/axon-server-reference/v2024.1/axon-server/administration/monitoring/diagnostics/","urlType":"internal"}]},{"content":"Multi-Context","url":"/axon-server-reference/v2024.1/axon-server/administration/multi-context/","urlType":"internal"},{"content":"Tiered Storage","url":"/axon-server-reference/v2024.1/axon-server/administration/tiered-storage/","urlType":"internal"},{"content":"Event Transformation","url":"/axon-server-reference/v2024.1/axon-server/administration/event-transformation/","urlType":"internal"},{"content":"Tagging","url":"/axon-server-reference/v2024.1/axon-server/administration/tagging/","urlType":"internal"},{"content":"Backups","url":"/axon-server-reference/v2024.1/axon-server/administration/backups/","urlType":"internal"},{"content":"Recovery","url":"/axon-server-reference/v2024.1/axon-server/administration/recovery/","urlType":"internal"},{"content":"Axon Server Plugins","url":"/axon-server-reference/v2024.1/axon-server/administration/plugins/","urlType":"internal"},{"content":"Logging","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/","urlType":"internal","items":[{"content":"Logging Format","url":"/axon-server-reference/v2024.1/axon-server/administration/logging/logging-format/","urlType":"internal"}]},{"content":"Error Codes","url":"/axon-server-reference/v2024.1/axon-server/administration/error-codes/","urlType":"internal"}]},{"content":"Clustering","url":"/axon-server-reference/v2024.1/axon-server/clustering/","urlType":"internal","items":[{"content":"Cluster Basics","url":"/axon-server-reference/v2024.1/axon-server/clustering/cluster-basics/","urlType":"internal"},{"content":"Node Roles","url":"/axon-server-reference/v2024.1/axon-server/clustering/node-roles/","urlType":"internal"},{"content":"Replication Groups","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-groups/","urlType":"internal"},{"content":"Replication Logs","url":"/axon-server-reference/v2024.1/axon-server/clustering/replication-logs/","urlType":"internal"}]},{"content":"Security","url":"/axon-server-reference/v2024.1/axon-server/security/","urlType":"internal","items":[{"content":"SSL","url":"/axon-server-reference/v2024.1/axon-server/security/ssl/","urlType":"internal"},{"content":"Access Control for Axon Server","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ee/","urlType":"internal"},{"content":"Security for Axon Framework Client Applications","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-clients/","urlType":"internal"},{"content":"Access Control and the CLI","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-cli/","urlType":"internal"},{"content":"Access Control on the REST and gRPC APIs","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-api/","urlType":"internal"},{"content":"Axon Server EE - LDAP Extension","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-ldap/","urlType":"internal"},{"content":"Axon Server EE - OAuth Extension","url":"/axon-server-reference/v2024.1/axon-server/security/access-control-oauth2/","urlType":"internal"}]},{"content":"Performance","url":"/axon-server-reference/v2024.1/axon-server/performance/","urlType":"internal","items":[{"content":"Event Segments","url":"/axon-server-reference/v2024.1/axon-server/performance/tuning-event-processing/","urlType":"internal"},{"content":"Flow Control","url":"/axon-server-reference/v2024.1/axon-server/performance/flow-control/","urlType":"internal"}]},{"content":"Migration","url":"/axon-server-reference/v2024.1/axon-server/migration/","urlType":"internal","items":[{"content":"Non-Axon Server to Axon Server","url":"/axon-server-reference/v2024.1/axon-server/migration/non-axon-server-to-axon-server/","urlType":"internal"}]},{"content":"Architecture","url":"/axon-server-reference/v2024.1/axon-server/architecture/","urlType":"internal","items":[{"content":"Control Database","url":"/axon-server-reference/v2024.1/axon-server/architecture/control-database/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Release Notes","url":"/axon-server-reference/v2024.1/release-notes/","urlType":"internal","items":[{"content":"Major Releases","url":"/axon-server-reference/v2024.1/rn-as-major-releases/","urlType":"internal"},{"content":"Minor Releases","url":"/axon-server-reference/v2024.1/rn-as-minor-releases/","urlType":"internal"}]}],"root":true,"order":0.5}]},"axon-server-reference/0":{"displayVersion":"older releases","title":"Axon Server","version":"0","name":"axon-server-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Legacy Axon Server documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-reference/0/","navigation":[{"content":"Axon Server 4.x","items":[{"content":"Release 4.7"},{"content":"Release 4.6"},{"content":"Release 4.5"},{"content":"Release 4.4"},{"content":"Release 4.3"},{"content":"Release 4.2"},{"content":"Release 4.1"},{"content":"Release 4.0"}],"root":true,"order":0}]},"reference-guide/master":{"displayVersion":"master","title":"Reference Guide","version":"master","name":"reference-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"type":"home"},"sourcemap":false,"extensions":[{},{}]},"url":"/reference-guide/"},"dead-letter-queue-guide/development":{"displayVersion":"development","title":"Dead-Letter Queues","version":"development","name":"dead-letter-queue-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Dead-Letter queues to ensure your system stays operational during failures","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/dead-letter-queue-guide/development/","navigation":[{"items":[{"content":"Dead Letter Queues","url":"/dead-letter-queue-guide/development/","urlType":"internal","items":[{"content":"Implementing dead letter queue","url":"/dead-letter-queue-guide/development/implementing/","urlType":"internal"},{"content":"Retrying failed sequences","url":"/dead-letter-queue-guide/development/retrying/","urlType":"internal"},{"content":"Advanced use cases","url":"/dead-letter-queue-guide/development/advanced/","urlType":"internal"}]}],"root":true,"order":0}]},"dead-letter-queue-guide/4.10":{"displayVersion":"4.10","title":"Dead-Letter Queues","version":"4.10","name":"dead-letter-queue-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Dead-Letter queues to ensure your system stays operational during failures","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/dead-letter-queue-guide/4.10/","navigation":[{"items":[{"content":"Dead Letter Queues","url":"/dead-letter-queue-guide/4.10/","urlType":"internal","items":[{"content":"Implementing dead letter queue","url":"/dead-letter-queue-guide/4.10/implementing/","urlType":"internal"},{"content":"Retrying failed sequences","url":"/dead-letter-queue-guide/4.10/retrying/","urlType":"internal"},{"content":"Advanced use cases","url":"/dead-letter-queue-guide/4.10/advanced/","urlType":"internal"}]}],"root":true,"order":0}]},"deadlines-guide/development":{"displayVersion":"development","title":"Deadlines guide","version":"development","name":"deadlines-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Deadlines to implement time-based constraints","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/deadlines-guide/development/","navigation":[{"items":[{"content":"Select a manager","url":"/deadlines-guide/development/deciding/","urlType":"internal"},{"content":"Add a handler","url":"/deadlines-guide/development/implementing/","urlType":"internal"},{"content":"Test the handler","url":"/deadlines-guide/development/testing/","urlType":"internal"},{"content":"Advanced use cases","url":"/deadlines-guide/development/advanced/","urlType":"internal"}],"root":true,"order":0}]},"deadlines-guide/4.10":{"displayVersion":"4.10","title":"Deadlines guide","version":"4.10","name":"deadlines-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to use Deadlines to implement time-based constraints","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/deadlines-guide/4.10/","navigation":[{"items":[{"content":"Select a manager","url":"/deadlines-guide/4.10/deciding/","urlType":"internal"},{"content":"Add a handler","url":"/deadlines-guide/4.10/implementing/","urlType":"internal"},{"content":"Test the handler","url":"/deadlines-guide/4.10/testing/","urlType":"internal"},{"content":"Advanced use cases","url":"/deadlines-guide/4.10/advanced/","urlType":"internal"}],"root":true,"order":0}]},"identifier-generation-guide/development":{"displayVersion":"development","title":"Changing Identifier generation","version":"development","name":"identifier-generation-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to change the generated identifiers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/identifier-generation-guide/development/","navigation":[{"items":[{"content":"Identifier Generation","url":"/identifier-generation-guide/development/","urlType":"internal"}],"root":true,"order":0}]},"identifier-generation-guide/4.10":{"displayVersion":"4.10","title":"Changing Identifier generation","version":"4.10","name":"identifier-generation-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to change the generated identifiers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/identifier-generation-guide/4.10/","navigation":[{"items":[{"content":"Identifier Generation","url":"/identifier-generation-guide/4.10/","urlType":"internal"}],"root":true,"order":0}]},"message-handler-customization-guide/development":{"displayVersion":"development","title":"Customizing Message Handlers","version":"development","name":"message-handler-customization-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to customize message handlers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/message-handler-customization-guide/development/","navigation":[{"items":[{"content":"Parameter Resolvers","url":"/message-handler-customization-guide/development/parameter-resolvers/","urlType":"internal"},{"content":"Handler Enhancers","url":"/message-handler-customization-guide/development/handler-enhancers/","urlType":"internal"}],"root":true,"order":0}]},"message-handler-customization-guide/4.10":{"displayVersion":"4.10","title":"Customizing Message Handlers","version":"4.10","name":"message-handler-customization-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How to customize message handlers","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/message-handler-customization-guide/4.10/","navigation":[{"items":[{"content":"Parameter Resolvers","url":"/message-handler-customization-guide/4.10/parameter-resolvers/","urlType":"internal"},{"content":"Handler Enhancers","url":"/message-handler-customization-guide/4.10/handler-enhancers/","urlType":"internal"}],"root":true,"order":0}]},"meta-annotations-guide/development":{"displayVersion":"development","title":"Meta Annotations","version":"development","name":"meta-annotations-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How you can create meta-annotations to extend the framework functionality","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/meta-annotations-guide/development/","navigation":[{"items":[{"content":"Meta Annotations","url":"/meta-annotations-guide/development/","urlType":"internal"}],"root":true,"order":0}]},"meta-annotations-guide/4.10":{"displayVersion":"4.10","title":"Meta Annotations","version":"4.10","name":"meta-annotations-guide","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"How you can create meta-annotations to extend the framework functionality","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/meta-annotations-guide/4.10/","navigation":[{"items":[{"content":"Meta Annotations","url":"/meta-annotations-guide/4.10/","urlType":"internal"}],"root":true,"order":0}]},"amqp-extension-reference/development":{"displayVersion":"development","title":"Spring AMQP Reference","version":"development","name":"amqp-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding AMQP support for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/amqp-extension-reference/development/","navigation":[{"items":[{"content":"Forwarding events to an AMQP exchange","url":"/amqp-extension-reference/development/forwarding/","urlType":"internal"},{"content":"Reading events from an AMQP Queue","url":"/amqp-extension-reference/development/reading/","urlType":"internal"},{"content":"Release notes","url":"/amqp-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"amqp-extension-reference/4.10":{"displayVersion":"4.10","title":"Spring AMQP Reference","version":"4.10","name":"amqp-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding AMQP support for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/amqp-extension-reference/4.10/","navigation":[{"items":[{"content":"Forwarding events to an AMQP exchange","url":"/amqp-extension-reference/4.10/forwarding/","urlType":"internal"},{"content":"Reading events from an AMQP Queue","url":"/amqp-extension-reference/4.10/reading/","urlType":"internal"},{"content":"Release notes","url":"/amqp-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"jgroups-extension-reference/development":{"displayVersion":"development","title":"JGroups Extension Reference","version":"development","name":"jgroups-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding JGroups integration for command routing","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/jgroups-extension-reference/development/","navigation":[{"items":[{"content":"Configuration in SpringBoot","url":"/jgroups-extension-reference/development/springboot-config/","urlType":"internal"},{"content":"Release notes","url":"/jgroups-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"jgroups-extension-reference/4.10":{"displayVersion":"4.10","title":"JGroups Extension Reference","version":"4.10","name":"jgroups-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding JGroups integration for command routing","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/jgroups-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuration in SpringBoot","url":"/jgroups-extension-reference/4.10/springboot-config/","urlType":"internal"},{"content":"Release notes","url":"/jgroups-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"jobrunr-pro-extension-reference/4.10":{"displayVersion":"4.10","title":"JobRunr Pro Extension Reference","version":"4.10","name":"jobrunr-pro-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding JobRunr Pro integration for deadline management","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/jobrunr-pro-extension-reference/4.10/","navigation":[{"items":[{"content":"Release Notes","url":"/jobrunr-pro-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kafka-extension-reference/development":{"displayVersion":"development","title":"Kafka Extension Reference","version":"development","name":"kafka-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding Kafka integration for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kafka-extension-reference/development/","navigation":[{"items":[{"content":"Publishing Events to Kafka","url":"/kafka-extension-reference/development/publishing/","urlType":"internal"},{"content":"Consuming Events From Kafka","url":"/kafka-extension-reference/development/consuming/","urlType":"internal"},{"content":"Customizing Event Message Format","url":"/kafka-extension-reference/development/message-format/","urlType":"internal"},{"content":"Configuration in SpringBoot","url":"/kafka-extension-reference/development/springboot-configuration/","urlType":"internal"},{"content":"Release notes","url":"/kafka-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kafka-extension-reference/4.10":{"displayVersion":"4.10","title":"Kafka Extension Reference","version":"4.10","name":"kafka-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding Kafka integration for event streaming","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kafka-extension-reference/4.10/","navigation":[{"items":[{"content":"Publishing Events to Kafka","url":"/kafka-extension-reference/4.10/publishing/","urlType":"internal"},{"content":"Consuming Events From Kafka","url":"/kafka-extension-reference/4.10/consuming/","urlType":"internal"},{"content":"Customizing Event Message Format","url":"/kafka-extension-reference/4.10/message-format/","urlType":"internal"},{"content":"Configuration in SpringBoot","url":"/kafka-extension-reference/4.10/springboot-configuration/","urlType":"internal"},{"content":"Release notes","url":"/kafka-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kotlin-extension-reference/development":{"displayVersion":"development","title":"Kotlin Extension Reference","version":"development","name":"kotlin-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension enhancing the development experience when using Kotlin","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kotlin-extension-reference/development/","navigation":[{"items":[{"content":"Commands","url":"/kotlin-extension-reference/development/commands/","urlType":"internal"},{"content":"Events","url":"/kotlin-extension-reference/development/events/","urlType":"internal"},{"content":"Queries","url":"/kotlin-extension-reference/development/queries/","urlType":"internal"},{"content":"Release notes","url":"/kotlin-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"kotlin-extension-reference/4.10":{"displayVersion":"4.10","title":"Kotlin Extension Reference","version":"4.10","name":"kotlin-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension enhancing the development experience when using Kotlin","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/kotlin-extension-reference/4.10/","navigation":[{"items":[{"content":"Commands","url":"/kotlin-extension-reference/4.10/commands/","urlType":"internal"},{"content":"Events","url":"/kotlin-extension-reference/4.10/events/","urlType":"internal"},{"content":"Queries","url":"/kotlin-extension-reference/4.10/queries/","urlType":"internal"},{"content":"Release notes","url":"/kotlin-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"mongodb-extension-reference/4.10":{"displayVersion":"4.10","title":"MongoDB Extension Reference","version":"4.10","name":"mongodb-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding MongoDB integration for all Axon Framework components requiring storage","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/mongodb-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuration of the Event Store with Spring","url":"/mongodb-extension-reference/4.10/spring-config/","urlType":"internal"},{"content":"Configuration in SpringBoot","url":"/mongodb-extension-reference/4.10/springboot-config/","urlType":"internal"},{"content":"Configuration of the MongoDB Dead-Letter Queue with Spring","url":"/mongodb-extension-reference/4.10/dlq-spring-config/","urlType":"internal"},{"content":"Release notes","url":"/mongodb-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"multitenancy-extension-reference/development":{"displayVersion":"development","title":"Multitenancy Extension Reference","version":"development","name":"multitenancy-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding building blocks to simplify multitenancy, particularly straightforward in combination with Axon Server","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/multitenancy-extension-reference/development/","navigation":[{"items":[{"content":"Configuration","url":"/multitenancy-extension-reference/development/configuration/","urlType":"internal"},{"content":"Supported Multi-Tenant Components","url":"/multitenancy-extension-reference/development/multi-tenant-components/","urlType":"internal"},{"content":"Disable Extension","url":"/multitenancy-extension-reference/development/disable/","urlType":"internal"},{"content":"Release notes","url":"/multitenancy-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"multitenancy-extension-reference/4.10":{"displayVersion":"4.10","title":"Multitenancy Extension Reference","version":"4.10","name":"multitenancy-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding building blocks to simplify multitenancy, particularly straightforward in combination with Axon Server","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/multitenancy-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuration","url":"/multitenancy-extension-reference/4.10/configuration/","urlType":"internal"},{"content":"Supported Multi-Tenant Components","url":"/multitenancy-extension-reference/4.10/multi-tenant-components/","urlType":"internal"},{"content":"Disable Extension","url":"/multitenancy-extension-reference/4.10/disable/","urlType":"internal"},{"content":"Release notes","url":"/multitenancy-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"reactor-extension-reference/4.10":{"displayVersion":"4.10","title":"Reactor Extension Reference","version":"4.10","name":"reactor-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension providing Axon Framework-specific infrastructure components using the Project Reactor API","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/reactor-extension-reference/4.10/","navigation":[{"items":[{"content":"Reactor Gateways","url":"/reactor-extension-reference/4.10/reactor-gateways/","urlType":"internal"},{"content":"Release notes","url":"/reactor-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"spring-aot-extension-reference/development":{"displayVersion":"development","title":"Spring AOT Extension Guide","version":"development","name":"spring-aot-extension-reference","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension providing native compilation for Axon and Spring-based applications","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/spring-aot-extension-reference/development/","navigation":[{"items":[{"content":"Compiling to Native","url":"/spring-aot-extension-reference/development/compile-to-native/","urlType":"internal"},{"content":"Performance Tips","url":"/spring-aot-extension-reference/development/performance/","urlType":"internal"},{"content":"Release notes","url":"/spring-aot-extension-reference/development/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"spring-aot-extension-reference/4.10":{"displayVersion":"4.10","title":"Spring AOT Extension Guide","version":"4.10","name":"spring-aot-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension providing native compilation for Axon and Spring-based applications","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/spring-aot-extension-reference/4.10/","navigation":[{"items":[{"content":"Compiling to Native","url":"/spring-aot-extension-reference/4.10/compile-to-native/","urlType":"internal"},{"content":"Performance Tips","url":"/spring-aot-extension-reference/4.10/performance/","urlType":"internal"},{"content":"Release notes","url":"/spring-aot-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"spring-cloud-extension-reference/4.10":{"displayVersion":"4.10","title":"Spring Cloud Extension Guide","version":"4.10","name":"spring-cloud-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding Spring Cloud integration for command routing","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/spring-cloud-extension-reference/4.10/","navigation":[{"items":[{"content":"Discovering Command Routes","url":"/spring-cloud-extension-reference/4.10/command-routes/","urlType":"internal"},{"content":"Sending Commands between Nodes","url":"/spring-cloud-extension-reference/4.10/internode-commands/","urlType":"internal"},{"content":"Configuring This Extension","url":"/spring-cloud-extension-reference/4.10/config/","urlType":"internal"},{"content":"Release notes","url":"/spring-cloud-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"tracing-extension-reference/4.10":{"displayVersion":"4.10","title":"Tracing Extension Guide","version":"4.10","name":"tracing-extension-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Extension adding OpenTracing integration to Axon's infrastructure components, superseded by integrated Open Telemetry support","type":"extension-reference","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/tracing-extension-reference/4.10/","navigation":[{"items":[{"content":"Configuring the Extension","url":"/tracing-extension-reference/4.10/config/","urlType":"internal"},{"content":"Release notes","url":"/tracing-extension-reference/4.10/release-notes/","urlType":"internal"}],"root":true,"order":0}]},"axon-server-query-language-guide/master":{"displayVersion":"master","title":"Axon Server Query Language Guide","version":"master","name":"axon-server-query-language-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Guide that covers the axon server query language.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-query-language-guide/","navigation":[{"items":[{"content":"Principles","url":"/axon-server-query-language-guide/","urlType":"internal","items":[{"content":"Filters","url":"/axon-server-query-language-guide/filters/","urlType":"internal"},{"content":"Projections","url":"/axon-server-query-language-guide/projections/","urlType":"internal"},{"content":"Other Functions","url":"/axon-server-query-language-guide/other-functions/","urlType":"internal"},{"content":"Pipelines","url":"/axon-server-query-language-guide/pipelines/","urlType":"internal"},{"content":"Time Constraints","url":"/axon-server-query-language-guide/time-constraints/","urlType":"internal"}]}],"root":true,"order":0}]},"axon-server-query-language-guide/axonserver-ee-2024.2.x":{"displayVersion":"axonserver-ee-2024.2.x","title":"Axon Server Query Language Guide","version":"axonserver-ee-2024.2.x","name":"axon-server-query-language-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Guide that covers the axon server query language.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/","navigation":[{"items":[{"content":"Principles","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/","urlType":"internal","items":[{"content":"Filters","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/filters/","urlType":"internal"},{"content":"Projections","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/projections/","urlType":"internal"},{"content":"Other Functions","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/other-functions/","urlType":"internal"},{"content":"Pipelines","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/pipelines/","urlType":"internal"},{"content":"Time Constraints","url":"/axon-server-query-language-guide/axonserver-ee-2024.2.x/time-constraints/","urlType":"internal"}]}],"root":true,"order":0}]},"axon-server-query-language-guide/axonserver-ee-2024.1.x":{"displayVersion":"axonserver-ee-2024.1.x","title":"Axon Server Query Language Guide","version":"axonserver-ee-2024.1.x","name":"axon-server-query-language-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Guide that covers the axon server query language.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/","navigation":[{"items":[{"content":"Principles","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/","urlType":"internal","items":[{"content":"Filters","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/filters/","urlType":"internal"},{"content":"Projections","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/projections/","urlType":"internal"},{"content":"Other Functions","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/other-functions/","urlType":"internal"},{"content":"Pipelines","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/pipelines/","urlType":"internal"},{"content":"Time Constraints","url":"/axon-server-query-language-guide/axonserver-ee-2024.1.x/time-constraints/","urlType":"internal"}]}],"root":true,"order":0}]},"as-marketplace-installation-guide/main":{"displayVersion":"main","title":"Axon Server Google Marketplace Installation Guide","version":"main","name":"as-marketplace-installation-guide","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"A tutorial to help you installing Axon Server Google via Marketplace.","type":"guide","group":"axon-server"},"sourcemap":false,"extensions":[{},{}]},"url":"/as-marketplace-installation-guide/main/","navigation":[{"items":[{"content":"Axon Server Google Marketplace Installation Guide","url":"/as-marketplace-installation-guide/main/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.11":{"displayVersion":"v0.11","title":"Axon Synapse Quick Start","version":"v0.11","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.11/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.11/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.11/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.11/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.10":{"displayVersion":"v0.10","title":"Axon Synapse Quick Start","version":"v0.10","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.10/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.10/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.10/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.10/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.9":{"displayVersion":"v0.9","title":"Axon Synapse Quick Start","version":"v0.9","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.9/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.9/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.9/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.9/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.8":{"displayVersion":"v0.8","title":"Axon Synapse Quick Start","version":"v0.8","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.8/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.8/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.8/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.8/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.7":{"displayVersion":"v0.7","title":"Axon Synapse Quick Start","version":"v0.7","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.7/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.7/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.7/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.7/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-quick-start/v0.6":{"displayVersion":"v0.6","title":"Axon Synapse Quick Start","version":"v0.6","name":"synapse-quick-start","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"The quick start guide for using Axon Synapse as HTTP bridge to Axon Server","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-quick-start/v0.6/","navigation":[{"items":[{"content":"Installation","url":"/synapse-quick-start/v0.6/installation/","urlType":"internal"},{"content":"Send Messages with Postman","url":"/synapse-quick-start/v0.6/postman-send/","urlType":"internal"},{"content":"Receive Messages with Postman","url":"/synapse-quick-start/v0.6/postman-receive/","urlType":"internal"}],"root":true,"order":0}]},"synapse-reference/v0.11":{"displayVersion":"v0.11","title":"Axon Synapse","version":"v0.11","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.11/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.11/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.11/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.11/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.11/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.11/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.11/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.11/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.11/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.11/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.11/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.11/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.11/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.11/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.11/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.11/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.11/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.11/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.11/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.11/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.11/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.11/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.11/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.10":{"displayVersion":"v0.10","title":"Axon Synapse","version":"v0.10","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.10/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.10/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.10/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.10/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.10/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.10/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.10/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.10/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.10/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.10/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.10/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.10/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.10/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.10/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.10/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.10/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.10/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.10/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.10/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.10/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.10/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.10/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.10/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.9":{"displayVersion":"v0.9","title":"Axon Synapse","version":"v0.9","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.9/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.9/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.9/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.9/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.9/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.9/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.9/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.9/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.9/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.9/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.9/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.9/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.9/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.9/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.9/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.9/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.9/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.9/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.9/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.9/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.9/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.9/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.9/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.8":{"displayVersion":"v0.8","title":"Axon Synapse","version":"v0.8","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.8/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.8/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.8/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.8/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.8/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.8/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.8/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.8/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.8/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.8/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.8/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.8/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.8/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.8/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.8/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.8/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.8/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.8/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.8/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.8/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.8/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.8/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.8/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.7":{"displayVersion":"v0.7","title":"Axon Synapse","version":"v0.7","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.7/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.7/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.7/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.7/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.7/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.7/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.7/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.7/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.7/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.7/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.7/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.7/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.7/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.7/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.7/multi-context/","urlType":"internal"},{"content":"Storage","url":"/synapse-reference/v0.7/storage/","urlType":"internal"},{"content":"High Availability","url":"/synapse-reference/v0.7/ha/","urlType":"internal","items":[{"content":"HA Configuration","url":"/synapse-reference/v0.7/ha/ha-config/","urlType":"internal"}]},{"content":"Release Notes","url":"/synapse-reference/v0.7/release-notes/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.7/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.7/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.7/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.7/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"synapse-reference/v0.6":{"displayVersion":"v0.6","title":"Axon Synapse","version":"v0.6","name":"synapse-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Axon Synapse reference documentation","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/synapse-reference/v0.6/","navigation":[{"items":[{"content":"High-Level Overview","url":"/synapse-reference/v0.6/overview/","urlType":"internal"},{"content":"Installation","url":"/synapse-reference/v0.6/installation/","urlType":"internal"},{"content":"Configuration","url":"/synapse-reference/v0.6/configuration/","urlType":"internal"},{"content":"Access Control","url":"/synapse-reference/v0.6/access-control/","urlType":"internal"},{"content":"Sending Messages","url":"/synapse-reference/v0.6/sending-messages/","urlType":"internal","items":[{"content":"Sending Commands","url":"/synapse-reference/v0.6/sending-commands/","urlType":"internal"},{"content":"Sending Queries","url":"/synapse-reference/v0.6/sending-queries/","urlType":"internal"},{"content":"Sending Events","url":"/synapse-reference/v0.6/sending-events/","urlType":"internal"}]},{"content":"Receiving Messages","url":"/synapse-reference/v0.6/receiving-messages/","urlType":"internal","items":[{"content":"Receiving Commands","url":"/synapse-reference/v0.6/receiving-commands/","urlType":"internal"},{"content":"Receiving Queries","url":"/synapse-reference/v0.6/receiving-queries/","urlType":"internal"},{"content":"Receiving Events","url":"/synapse-reference/v0.6/receiving-events/","urlType":"internal"}]},{"content":"Aggregates","url":"/synapse-reference/v0.6/aggregates/","urlType":"internal"},{"content":"Multi-Context","url":"/synapse-reference/v0.6/multi-context/","urlType":"internal"},{"content":"Open API Documentation","url":"/synapse-reference/v0.6/openapi/","urlType":"internal","items":[{"content":"Axon Synapse API","url":"/synapse-reference/v0.6/openapi/synapse/","urlType":"internal"},{"content":"Client Message API","url":"/synapse-reference/v0.6/openapi/client-message/","urlType":"internal"},{"content":"Client Raw API","url":"/synapse-reference/v0.6/openapi/client-raw/","urlType":"internal"}]}],"root":true,"order":0}]},"axoniq-console-getting-started/main":{"displayVersion":"main","title":"AxonIQ Console Getting Started","version":"main","name":"axoniq-console-getting-started","prerelease":true,"asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"A tutorial to help you getting started with AxonIQ Console.","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/axoniq-console-getting-started/main/","navigation":[{"items":[{"content":"Connect and setup AxonIQ Console","items":[{"content":"Accessing the console","url":"/axoniq-console-getting-started/main/ac-gs-setup/access/","urlType":"internal"},{"content":"First Time Setup","url":"/axoniq-console-getting-started/main/ac-gs-setup/setting-up-your-account/","urlType":"internal"},{"content":"Success! Access your AxonIQ Console dashboard","url":"/axoniq-console-getting-started/main/ac-gs-setup/success/","urlType":"internal"},{"content":"We Value Your Feedback!","url":"/axoniq-console-getting-started/main/ac-gs-setup/feedback/","urlType":"internal"}]}],"root":true,"order":0},{"items":[{"content":"Monitor Axon Framework Applications","items":[{"content":"The AxonIQ Console Dashboard","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/dashboard/","urlType":"internal","items":[{"content":"The Applications Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/overview-tab/","urlType":"internal"},{"content":"The Processors Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/processors-tab/","urlType":"internal"},{"content":"The Aggregates Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/aggregates-tab/","urlType":"internal"},{"content":"The Handler Insights Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/handler-insights-tab/","urlType":"internal"},{"content":"The Monitoring Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/monitoring-tab/","urlType":"internal"},{"content":"The \"Message Flow\" Tab","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/message-flow-tab/","urlType":"internal"}]},{"content":"Conclusion","url":"/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/conclusion/","urlType":"internal"}]}],"root":true,"order":0.3333},{"items":[{"content":"Installing a new instance of Axon Server","url":"/axoniq-console-getting-started/main/ac-gs-deploy-axonserver/installing-instance-as/","urlType":"internal"},{"content":"Managing AxonIQ Console Itself As The Super User","items":[{"content":"The \"Settings\" Tab","url":"/axoniq-console-getting-started/main/ac-as-superuser/settings-tab/","urlType":"internal","items":[{"content":"Applications","url":"/axoniq-console-getting-started/main/ac-as-superuser/applications/","urlType":"internal"},{"content":"Access Tokens","url":"/axoniq-console-getting-started/main/ac-as-superuser/access-tokens/","urlType":"internal"}]},{"content":"Conclusion","url":"/axoniq-console-getting-started/main/ac-as-superuser/conclusion/","urlType":"internal"}]}],"root":true,"order":0.6667}]},"axoniq-console-reference/":{"displayVersion":"default","title":"AxonIQ Console","version":"","name":"axoniq-console-reference","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"This documentation helps users understand various parts of the AxonIQ Console in more depth to best utilize this powerful platform.","type":"reference","group":"product"},"sourcemap":false,"extensions":[{},{}]},"url":"/axoniq-console-reference/","navigation":[{"items":[{"content":"Features","url":"/axoniq-console-reference/features/","urlType":"internal","items":[{"content":"Framework Metrics","url":"/axoniq-console-reference/features/metrics/","urlType":"internal"},{"content":"Monitoring","url":"/axoniq-console-reference/features/monitoring/","urlType":"internal"},{"content":"Processor Management","url":"/axoniq-console-reference/features/management/","urlType":"internal"},{"content":"Dead-Letter Queues","url":"/axoniq-console-reference/features/dlq/","urlType":"internal"}]},{"content":"Workspaces and Environments","url":"/axoniq-console-reference/environments/","urlType":"internal","items":[{"content":"AxonIQ Console Roles","url":"/axoniq-console-reference/environments/roles/","urlType":"internal"}]},{"content":"Subscriptions","url":"/axoniq-console-reference/subscriptions/","urlType":"internal"}],"root":true,"order":0}]},"bikerental-console-demo/main":{"displayVersion":"main","title":"Monitoring your AxonFramework Application with AxonIQ Console","version":"main","name":"bikerental-console-demo","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Monitor your Axon application with AxonIQ Console, helping you to detect wich parts of your system have a poor performance and get some hints on what can be improved.","type":"guide","group":"axon-framework"},"sourcemap":false,"extensions":[{},{}]},"url":"/bikerental-console-demo/main/","navigation":[{"items":[{"content":"Introduction","url":"/bikerental-console-demo/main/","urlType":"internal","items":[{"content":"Components and Tools Used During this Guide.","url":"/bikerental-console-demo/main/introduction/required-components-and-tools/","urlType":"internal"},{"content":"Structure Overview","url":"/bikerental-console-demo/main/introduction/guide-structure/","urlType":"internal"}]},{"content":"Setting up AxonIQ Console","url":"/bikerental-console-demo/main/axoniq-console/","urlType":"internal"},{"content":"Connect your Application","url":"/bikerental-console-demo/main/connect-your-app/","urlType":"internal","items":[{"content":"Prepare your App for AxonIQ Console","url":"/bikerental-console-demo/main/connect-your-app/custom-app/prepare-app-for-console/","urlType":"internal"},{"content":"Run Docker-Based Demo","url":"/bikerental-console-demo/main/connect-your-app/docker-based-demo/start-docker-based-demo/","urlType":"internal"}]},{"content":"Monitoring your Application with AxonIQ Console","url":"/bikerental-console-demo/main/monitoring/","urlType":"internal","items":[{"content":"Overview your Application in AxonIQ Console","url":"/bikerental-console-demo/main/monitoring/your-app-in-axoniq-console/","urlType":"internal"},{"content":"Add Axon Firestarter","url":"/bikerental-console-demo/main/monitoring/add-axon-firestarter/","urlType":"internal"},{"content":"Creating and Detecting Issues in your Application","url":"/bikerental-console-demo/main/monitoring/issues-w-firestarter/","urlType":"internal","items":[{"content":"Detecting a Slow Event Handler","url":"/bikerental-console-demo/main/monitoring/slow-event-handlers/","urlType":"internal"}]}]},{"content":"Conclusion","url":"/bikerental-console-demo/main/conclusion/","urlType":"internal"}],"root":true,"order":0}]},"bikerental-demo/main":{"displayVersion":"main","title":"Building An Axon Framework Application From Scratch","version":"main","name":"bikerental-demo","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"Getting started with designing, building, and deploying Axon Technology based applications.","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/bikerental-demo/main/","navigation":[{"items":[{"content":"Introduction","url":"/bikerental-demo/main/","urlType":"internal"},{"content":"Create New Project","url":"/bikerental-demo/main/create-axon-framework-project/","urlType":"internal"},{"content":"Bootstrap AxonFramework","url":"/bikerental-demo/main/bootstraping-axonframework/","urlType":"internal"},{"content":"Create New Bike Feature","url":"/bikerental-demo/main/implement-create-bike/","urlType":"internal"},{"content":"Running Your Application Locally With Docker Compose","url":"/bikerental-demo/main/run-app-with-docker-compose/","urlType":"internal"},{"content":"Invoking the Register Bike Endpoint","url":"/bikerental-demo/main/invoking-create-bike-endpoint/","urlType":"internal"},{"content":"Add Unit Tests For Command Handlers","url":"/bikerental-demo/main/unit-testing-commands/","urlType":"internal"},{"content":"Creating the Query Model","url":"/bikerental-demo/main/create-bike-status-projection/","urlType":"internal"}],"root":true,"order":0}]},"playbook/":{"displayVersion":"default","title":"AxonIQ Playbook","version":"","name":"playbook","asciidoc":{"attributes":{"env":"site","env-site":"","site-gen":"antora","site-gen-antora":"","attribute-missing":"warn","data-uri":null,"icons":"font","sectanchors":"","source-highlighter":"highlight.js","site-title":"Docs","site-url":"https://docs.axoniq.io","experimental":true,"page-pagination":true,"kroki-server-url":"http://localhost:8000","kroki-fetch-diagram":true,"component_description":"AxonIQ Playbook - Modeling and implementing event-sourced systems with Axon","type":"tutorial","group":"beginner"},"sourcemap":false,"extensions":[{},{}]},"url":"/playbook/","navigation":[{"items":[{"content":"State Transitions via Commands","url":"/playbook/state_transitions_via_commands/","urlType":"internal"},{"content":"Read Model Projections","url":"/playbook/state_views_via_projections/","urlType":"internal"},{"content":"Import External State","url":"/playbook/import_external_state/","urlType":"internal"},{"content":"Reservation","url":"/playbook/reservation/","urlType":"internal"},{"content":"-"},{"content":"Sign up for updates","url":"https://share.hsforms.com/1369fk3LQR7WDkMI3afhr5w40luy","urlType":"external"},{"content":"Set a call with Marc Klefter","url":"http://meetings.hubspot.com/marc-klefter","urlType":"external"}],"root":true,"order":0}]}}}}) \ No newline at end of file diff --git a/site-manifest.json b/site-manifest.json index 3c970ed2..6ad4c917 100644 --- a/site-manifest.json +++ b/site-manifest.json @@ -1,6 +1,6 @@ { "$id": "https://schemas.antora.org/site-manifest/1-0-0/draft-01", - "generated": "2024-12-20T14:32:09.204Z", + "generated": "2024-12-20T14:40:10.193Z", "url": "https://docs.axoniq.io", "components": { "amqp-extension-reference": { diff --git a/sitemap-amqp-extension-reference.xml b/sitemap-amqp-extension-reference.xml index 7a3a0b93..3aff9c45 100644 --- a/sitemap-amqp-extension-reference.xml +++ b/sitemap-amqp-extension-reference.xml @@ -2,34 +2,34 @@ https://docs.axoniq.io/amqp-extension-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/development/forwarding/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/development/reading/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/4.10/forwarding/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/4.10/reading/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/amqp-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-as-faq.xml b/sitemap-as-faq.xml index f86d5669..680a0fe3 100644 --- a/sitemap-as-faq.xml +++ b/sitemap-as-faq.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/as-faq/as-faq/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-as-marketplace-installation-guide.xml b/sitemap-as-marketplace-installation-guide.xml index 1f6b89c6..0ba7ca29 100644 --- a/sitemap-as-marketplace-installation-guide.xml +++ b/sitemap-as-marketplace-installation-guide.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/as-marketplace-installation-guide/main/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axon-framework-extensions.xml b/sitemap-axon-framework-extensions.xml index ac8785b0..a4925f6f 100644 --- a/sitemap-axon-framework-extensions.xml +++ b/sitemap-axon-framework-extensions.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/axon-framework-extensions/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axon-framework-reference.xml b/sitemap-axon-framework-reference.xml index 22ec2098..7d1c18e5 100644 --- a/sitemap-axon-framework-reference.xml +++ b/sitemap-axon-framework-reference.xml @@ -2,502 +2,502 @@ https://docs.axoniq.io/axon-framework-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/command-dispatchers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/command-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/infrastructure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/modeling/aggregate-polymorphism/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/modeling/aggregate/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/modeling/conflict-resolution/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/modeling/multi-entity-aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/axon-framework-commands/modeling/state-stored-aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/deadlines/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/deadlines/deadline-managers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/deadlines/event-schedulers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-dispatchers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-processors/dead-letter-queue/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-processors/streaming/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-processors/subscribing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/event-versioning/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/events/infrastructure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/known-issues-and-workarounds/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/anatomy-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/exception-handling/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/message-correlation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/message-intercepting/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/supported-parameters-annotated-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/messaging-concepts/unit-of-work/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/modules/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/monitoring/health/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/monitoring/message-tracking/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/monitoring/metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/monitoring/processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/monitoring/tracing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/queries/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/queries/implementations/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/queries/query-dispatchers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/queries/query-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/release-notes/major-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/release-notes/minor-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/sagas/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/sagas/associations/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/sagas/implementation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/sagas/infrastructure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/serialization/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/spring-boot-integration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/testing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/testing/commands-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/testing/sagas-1/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/tuning/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/tuning/command-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/tuning/event-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/tuning/event-snapshots/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/tuning/rdbms-tuning/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/development/upgrading-to-4-7/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/command-dispatchers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/command-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/infrastructure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate-creation-from-another-aggregate/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate-polymorphism/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/modeling/aggregate/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/modeling/conflict-resolution/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/modeling/multi-entity-aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/axon-framework-commands/modeling/state-stored-aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/deadlines/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/deadlines/deadline-managers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/deadlines/event-schedulers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-dispatchers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-processors/dead-letter-queue/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-processors/streaming/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-processors/subscribing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/event-versioning/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/events/infrastructure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/known-issues-and-workarounds/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/anatomy-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/exception-handling/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/message-correlation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/message-intercepting/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/supported-parameters-annotated-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/messaging-concepts/unit-of-work/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/modules/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/monitoring/health/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/monitoring/message-tracking/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/monitoring/metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/monitoring/processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/monitoring/tracing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/queries/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/queries/implementations/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/queries/query-dispatchers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/queries/query-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/release-notes/major-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/release-notes/minor-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/sagas/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/sagas/associations/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/sagas/implementation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/sagas/infrastructure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/serialization/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/spring-boot-integration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/testing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/testing/commands-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/testing/sagas-1/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/tuning/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/tuning/command-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/tuning/event-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/tuning/event-snapshots/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/tuning/rdbms-tuning/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/4.10/upgrading-to-4-7/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-framework-reference/0/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axon-server-installation.xml b/sitemap-axon-server-installation.xml index 9979c269..aa89a325 100644 --- a/sitemap-axon-server-installation.xml +++ b/sitemap-axon-server-installation.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/axon-server-installation/installing_as_docker-k8s/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axon-server-query-language-guide.xml b/sitemap-axon-server-query-language-guide.xml index b15dca73..616a9fde 100644 --- a/sitemap-axon-server-query-language-guide.xml +++ b/sitemap-axon-server-query-language-guide.xml @@ -2,74 +2,74 @@ https://docs.axoniq.io/axon-server-query-language-guide/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/filters/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/other-functions/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/pipelines/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/projections/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/time-constraints/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.2.x/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.2.x/filters/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.2.x/other-functions/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.2.x/pipelines/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.2.x/projections/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.2.x/time-constraints/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.1.x/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.1.x/filters/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.1.x/other-functions/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.1.x/pipelines/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.1.x/projections/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-query-language-guide/axonserver-ee-2024.1.x/time-constraints/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axon-server-reference.xml b/sitemap-axon-server-reference.xml index 780eb5b6..1c9c9153 100644 --- a/sitemap-axon-server-reference.xml +++ b/sitemap-axon-server-reference.xml @@ -2,670 +2,670 @@ https://docs.axoniq.io/axon-server-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/admin-configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/admin-configuration/cluster-template/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/admin-configuration/command-line-interface/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/admin-configuration/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/admin-configuration/grpc-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/admin-configuration/rest-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/backup-and-messaging-only-nodes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/backups/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/clustering/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/error-codes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/event-processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/event-transformation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/logging/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/logging/logging-format/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/monitoring/actuator-endpoints/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/monitoring/axon-server-metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/monitoring/diagnostics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/monitoring/grpc-metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/monitoring/heartbeat-monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/plugins/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/recovery/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/replication-groups/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/tagging/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/administration/tiered-storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/installation/docker-k8s/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/installation/local-installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/migration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/migration/non-axon-server-to-axon-server/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/migration/standard-to-enterprise-edition/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/performance/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/performance/flow-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/performance/tuning-event-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-cli/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-clients/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-ee/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-ldap/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-matrix/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-oauth2/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control-se/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/axon-server/security/ssl/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/grpc-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/rest-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/rn-as-major-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/development/rn-as-minor-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/cluster-template/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/command-line-interface/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/grpc-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/admin-configuration/rest-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/backup-and-messaging-only-nodes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/backups/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/clustering/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/error-codes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/event-processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/event-transformation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/logging/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/logging/logging-format/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/monitoring/actuator-endpoints/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/monitoring/axon-server-metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/monitoring/diagnostics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/monitoring/grpc-metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/monitoring/heartbeat-monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/plugins/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/recovery/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/replication-groups/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/tagging/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/administration/tiered-storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/installation/docker-k8s/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/installation/local-installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/migration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/migration/non-axon-server-to-axon-server/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/migration/standard-to-enterprise-edition/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/performance/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/performance/flow-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/performance/tuning-event-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-cli/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-clients/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-ee/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-ldap/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-matrix/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-oauth2/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control-se/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/axon-server/security/ssl/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/grpc-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/rest-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/rn-as-major-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.2/rn-as-minor-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/cluster-template/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/command-line-interface/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/grpc-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/admin-configuration/rest-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/backups/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/error-codes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/event-processors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/event-transformation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/logging/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/logging/logging-format/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/monitoring/actuator-endpoints/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/monitoring/axon-server-metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/monitoring/diagnostics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/monitoring/grpc-metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/monitoring/heartbeat-monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/plugins/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/recovery/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/tagging/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/administration/tiered-storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/architecture/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/architecture/control-database/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/clustering/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/clustering/cluster-basics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/clustering/node-roles/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/clustering/replication-groups/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/clustering/replication-logs/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/installation/docker-k8s/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/installation/local-installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/migration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/migration/non-axon-server-to-axon-server/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/migration/standard-to-enterprise-edition/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/performance/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/performance/flow-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/performance/tuning-event-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-cli/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-clients/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-ee/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-ldap/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-matrix/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-oauth2/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control-se/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/axon-server/security/ssl/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/grpc-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/rest-api/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/rn-as-major-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/v2024.1/rn-as-minor-releases/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axon-server-reference/0/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axon-server-upgrade.xml b/sitemap-axon-server-upgrade.xml index b3a36c5e..e3b34819 100644 --- a/sitemap-axon-server-upgrade.xml +++ b/sitemap-axon-server-upgrade.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/axon-server-upgrade/upgrading_as_2024/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axoniq-console-faq.xml b/sitemap-axoniq-console-faq.xml index d5380705..c673a429 100644 --- a/sitemap-axoniq-console-faq.xml +++ b/sitemap-axoniq-console-faq.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/axoniq-console-faq/console_faq/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axoniq-console-getting-started.xml b/sitemap-axoniq-console-getting-started.xml index a7b1752d..0a55cd07 100644 --- a/sitemap-axoniq-console-getting-started.xml +++ b/sitemap-axoniq-console-getting-started.xml @@ -2,82 +2,82 @@ https://docs.axoniq.io/axoniq-console-getting-started/main/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-as-superuser/access-tokens/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-as-superuser/applications/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-as-superuser/conclusion/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-as-superuser/settings-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-deploy-axonserver/installing-instance-as/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-setup/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-setup/access/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-setup/environments/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-setup/feedback/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-setup/setting-up-your-account/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-gs-setup/success/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/aggregates-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/conclusion/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/dashboard/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/handler-insights-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/message-flow-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/monitoring-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/overview-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-getting-started/main/ac-monitor-axon-framework-applications/processors-tab/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-axoniq-console-reference.xml b/sitemap-axoniq-console-reference.xml index fc59fd7f..fac7c588 100644 --- a/sitemap-axoniq-console-reference.xml +++ b/sitemap-axoniq-console-reference.xml @@ -2,66 +2,66 @@ https://docs.axoniq.io/axoniq-console-reference/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/authentication/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/connectors/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/connectors/axon-framework/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/connectors/axon-server/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/data-processing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/environments/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/environments/roles/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/axon-server/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/dlq/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/flow/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/management/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/metrics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/features/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/axoniq-console-reference/subscriptions/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-bikerental-console-demo.xml b/sitemap-bikerental-console-demo.xml index 563285b2..59dce8de 100644 --- a/sitemap-bikerental-console-demo.xml +++ b/sitemap-bikerental-console-demo.xml @@ -2,62 +2,62 @@ https://docs.axoniq.io/bikerental-console-demo/main/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/axoniq-console/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/blogPost-draft/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/conclusion/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/connect-your-app/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/connect-your-app/custom-app/bike-rental-activity-simulator/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/connect-your-app/custom-app/prepare-app-for-console/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/connect-your-app/docker-based-demo/start-docker-based-demo/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/introduction/guide-structure/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/introduction/required-components-and-tools/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/monitoring/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/monitoring/add-axon-firestarter/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/monitoring/issues-w-firestarter/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/monitoring/slow-event-handlers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-console-demo/main/monitoring/your-app-in-axoniq-console/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-bikerental-demo.xml b/sitemap-bikerental-demo.xml index 59f2198b..0e4d22b3 100644 --- a/sitemap-bikerental-demo.xml +++ b/sitemap-bikerental-demo.xml @@ -2,34 +2,34 @@ https://docs.axoniq.io/bikerental-demo/main/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/bootstraping-axonframework/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/create-axon-framework-project/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/create-bike-status-projection/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/implement-create-bike/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/invoking-create-bike-endpoint/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/run-app-with-docker-compose/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/bikerental-demo/main/unit-testing-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-dead-letter-queue-guide.xml b/sitemap-dead-letter-queue-guide.xml index 6c289196..0937c9f7 100644 --- a/sitemap-dead-letter-queue-guide.xml +++ b/sitemap-dead-letter-queue-guide.xml @@ -2,34 +2,34 @@ https://docs.axoniq.io/dead-letter-queue-guide/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/development/advanced/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/development/implementing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/development/retrying/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/4.10/advanced/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/4.10/implementing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/dead-letter-queue-guide/4.10/retrying/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-deadlines-guide.xml b/sitemap-deadlines-guide.xml index 22da74eb..fb60ef6f 100644 --- a/sitemap-deadlines-guide.xml +++ b/sitemap-deadlines-guide.xml @@ -2,42 +2,42 @@ https://docs.axoniq.io/deadlines-guide/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/development/advanced/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/development/deciding/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/development/implementing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/development/testing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/4.10/advanced/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/4.10/deciding/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/4.10/implementing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/deadlines-guide/4.10/testing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-event-driven-architectures.xml b/sitemap-event-driven-architectures.xml index 58cb4407..11b7502d 100644 --- a/sitemap-event-driven-architectures.xml +++ b/sitemap-event-driven-architectures.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/event-driven-architectures/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-home.xml b/sitemap-home.xml index fa6631e8..b139753c 100644 --- a/sitemap-home.xml +++ b/sitemap-home.xml @@ -2,26 +2,26 @@ https://docs.axoniq.io/home/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/home/basics/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/home/guides/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/home/guides/axon-framework/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/home/guides/axon-server/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/home/reference/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-identifier-generation-guide.xml b/sitemap-identifier-generation-guide.xml index 9a8a9cb2..5795732d 100644 --- a/sitemap-identifier-generation-guide.xml +++ b/sitemap-identifier-generation-guide.xml @@ -2,10 +2,10 @@ https://docs.axoniq.io/identifier-generation-guide/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/identifier-generation-guide/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-jgroups-extension-reference.xml b/sitemap-jgroups-extension-reference.xml index 3629f6b3..37512994 100644 --- a/sitemap-jgroups-extension-reference.xml +++ b/sitemap-jgroups-extension-reference.xml @@ -2,26 +2,26 @@ https://docs.axoniq.io/jgroups-extension-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/jgroups-extension-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/jgroups-extension-reference/development/springboot-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/jgroups-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/jgroups-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/jgroups-extension-reference/4.10/springboot-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-jobrunr-pro-extension-reference.xml b/sitemap-jobrunr-pro-extension-reference.xml index d9aa553c..d6271141 100644 --- a/sitemap-jobrunr-pro-extension-reference.xml +++ b/sitemap-jobrunr-pro-extension-reference.xml @@ -2,10 +2,10 @@ https://docs.axoniq.io/jobrunr-pro-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/jobrunr-pro-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-kafka-extension-reference.xml b/sitemap-kafka-extension-reference.xml index 607da590..2fdf8ce9 100644 --- a/sitemap-kafka-extension-reference.xml +++ b/sitemap-kafka-extension-reference.xml @@ -2,50 +2,50 @@ https://docs.axoniq.io/kafka-extension-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/development/consuming/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/development/message-format/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/development/publishing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/development/springboot-configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/4.10/consuming/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/4.10/message-format/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/4.10/publishing/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kafka-extension-reference/4.10/springboot-configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-kotlin-extension-reference.xml b/sitemap-kotlin-extension-reference.xml index d45264dc..9e0a90fa 100644 --- a/sitemap-kotlin-extension-reference.xml +++ b/sitemap-kotlin-extension-reference.xml @@ -2,42 +2,42 @@ https://docs.axoniq.io/kotlin-extension-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/development/commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/development/events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/development/queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/4.10/commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/4.10/events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/4.10/queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/kotlin-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-message-handler-customization-guide.xml b/sitemap-message-handler-customization-guide.xml index 74260dec..8b9f231d 100644 --- a/sitemap-message-handler-customization-guide.xml +++ b/sitemap-message-handler-customization-guide.xml @@ -2,26 +2,26 @@ https://docs.axoniq.io/message-handler-customization-guide/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/message-handler-customization-guide/development/handler-enhancers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/message-handler-customization-guide/development/parameter-resolvers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/message-handler-customization-guide/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/message-handler-customization-guide/4.10/handler-enhancers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/message-handler-customization-guide/4.10/parameter-resolvers/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-meta-annotations-guide.xml b/sitemap-meta-annotations-guide.xml index 5cc7d2e3..3471bca1 100644 --- a/sitemap-meta-annotations-guide.xml +++ b/sitemap-meta-annotations-guide.xml @@ -2,10 +2,10 @@ https://docs.axoniq.io/meta-annotations-guide/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/meta-annotations-guide/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-mongodb-extension-reference.xml b/sitemap-mongodb-extension-reference.xml index c43b7763..a285119e 100644 --- a/sitemap-mongodb-extension-reference.xml +++ b/sitemap-mongodb-extension-reference.xml @@ -2,22 +2,22 @@ https://docs.axoniq.io/mongodb-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/mongodb-extension-reference/4.10/dlq-spring-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/mongodb-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/mongodb-extension-reference/4.10/spring-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/mongodb-extension-reference/4.10/springboot-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-multitenancy-extension-reference.xml b/sitemap-multitenancy-extension-reference.xml index 565bf77b..f03aa82e 100644 --- a/sitemap-multitenancy-extension-reference.xml +++ b/sitemap-multitenancy-extension-reference.xml @@ -2,42 +2,42 @@ https://docs.axoniq.io/multitenancy-extension-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/development/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/development/disable/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/development/multi-tenant-components/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/4.10/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/4.10/disable/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/4.10/multi-tenant-components/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/multitenancy-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-playbook.xml b/sitemap-playbook.xml index 6fe73c4d..57436b6a 100644 --- a/sitemap-playbook.xml +++ b/sitemap-playbook.xml @@ -2,22 +2,22 @@ https://docs.axoniq.io/playbook/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/playbook/import_external_state/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/playbook/reservation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/playbook/state_transitions_via_commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/playbook/state_views_via_projections/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-reactor-extension-reference.xml b/sitemap-reactor-extension-reference.xml index 6855f57b..6034b7ac 100644 --- a/sitemap-reactor-extension-reference.xml +++ b/sitemap-reactor-extension-reference.xml @@ -2,14 +2,14 @@ https://docs.axoniq.io/reactor-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/reactor-extension-reference/4.10/reactor-gateways/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/reactor-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-reference-guide.xml b/sitemap-reference-guide.xml index a1589794..5dd60088 100644 --- a/sitemap-reference-guide.xml +++ b/sitemap-reference-guide.xml @@ -2,6 +2,6 @@ https://docs.axoniq.io/reference-guide/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-spring-aot-extension-reference.xml b/sitemap-spring-aot-extension-reference.xml index 660d38c3..82b6491d 100644 --- a/sitemap-spring-aot-extension-reference.xml +++ b/sitemap-spring-aot-extension-reference.xml @@ -2,34 +2,34 @@ https://docs.axoniq.io/spring-aot-extension-reference/development/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/development/compile-to-native/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/development/performance/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/development/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/4.10/compile-to-native/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/4.10/performance/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-aot-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-spring-cloud-extension-reference.xml b/sitemap-spring-cloud-extension-reference.xml index 61dfdad4..107e0ec9 100644 --- a/sitemap-spring-cloud-extension-reference.xml +++ b/sitemap-spring-cloud-extension-reference.xml @@ -2,22 +2,22 @@ https://docs.axoniq.io/spring-cloud-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-cloud-extension-reference/4.10/command-routes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-cloud-extension-reference/4.10/config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-cloud-extension-reference/4.10/internode-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/spring-cloud-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-synapse-quick-start.xml b/sitemap-synapse-quick-start.xml index 53b803c7..daf9487a 100644 --- a/sitemap-synapse-quick-start.xml +++ b/sitemap-synapse-quick-start.xml @@ -2,98 +2,98 @@ https://docs.axoniq.io/synapse-quick-start/v0.11/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.11/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.11/postman-receive/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.11/postman-send/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.10/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.10/postman-receive/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.10/postman-send/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.9/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.9/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.9/postman-receive/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.9/postman-send/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.8/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.8/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.8/postman-receive/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.8/postman-send/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.7/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.7/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.7/postman-receive/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.7/postman-send/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.6/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.6/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.6/postman-receive/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-quick-start/v0.6/postman-send/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-synapse-reference.xml b/sitemap-synapse-reference.xml index a4a850e5..09db9fde 100644 --- a/sitemap-synapse-reference.xml +++ b/sitemap-synapse-reference.xml @@ -2,538 +2,538 @@ https://docs.axoniq.io/synapse-reference/v0.11/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/ha/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/ha/ha-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/openapi/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/openapi/client-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/openapi/client-raw/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/openapi/synapse/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/overview/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/receiving-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/receiving-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/receiving-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/receiving-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/sending-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/sending-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/sending-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/sending-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.11/storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/ha/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/ha/ha-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/openapi/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/openapi/client-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/openapi/client-raw/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/openapi/synapse/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/overview/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/receiving-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/receiving-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/receiving-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/receiving-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/sending-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/sending-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/sending-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/sending-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.10/storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/ha/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/ha/ha-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/openapi/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/openapi/client-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/openapi/client-raw/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/openapi/synapse/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/overview/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/receiving-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/receiving-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/receiving-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/receiving-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/sending-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/sending-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/sending-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/sending-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.9/storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/ha/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/ha/ha-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/openapi/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/openapi/client-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/openapi/client-raw/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/openapi/synapse/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/overview/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/receiving-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/receiving-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/receiving-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/receiving-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/sending-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/sending-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/sending-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/sending-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.8/storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/ha/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/ha/ha-config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/openapi/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/openapi/client-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/openapi/client-raw/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/openapi/synapse/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/overview/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/receiving-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/receiving-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/receiving-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/receiving-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/sending-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/sending-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/sending-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/sending-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.7/storage/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/access-control/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/aggregates/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/configuration/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/installation/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/multi-context/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/openapi/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/openapi/client-message/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/openapi/client-raw/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/openapi/synapse/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/overview/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/receiving-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/receiving-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/receiving-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/receiving-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/sending-commands/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/sending-events/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/sending-messages/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/synapse-reference/v0.6/sending-queries/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z diff --git a/sitemap-tracing-extension-reference.xml b/sitemap-tracing-extension-reference.xml index fdda7127..4d20faa2 100644 --- a/sitemap-tracing-extension-reference.xml +++ b/sitemap-tracing-extension-reference.xml @@ -2,14 +2,14 @@ https://docs.axoniq.io/tracing-extension-reference/4.10/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/tracing-extension-reference/4.10/config/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z https://docs.axoniq.io/tracing-extension-reference/4.10/release-notes/ -2024-12-20T14:32:06.318Z +2024-12-20T14:40:07.386Z